CREATE_MODULE(2)

NOM
create_module - Créer une entrée de module chargeable

SYNOPSIS
#include <linux/module.h>

caddr_t create_module(const char *name, size_t size);
Remarque : cette fonction n'est pas déclarée par les en-têtes de la glibc ; consultez le section NOTES.

DESCRIPTION
Remarque : cet appel système n'est présent dans Linux qu'avant le noyau 2.6. create_module() essaye de créer une entrée de module chargeable et réserve la mémoire noyau qui est nécessaire pour maintenir le module. Cet appel système nécessite des privilèges.

VALEUR RENVOYÉE
S'il réussit, il renvoie l'adresse noyau où le module résidera. S'il échoue, il renvoie -1 et remplit errno en conséquence.

ERREURS

EEXIST
    Un module du même nom existe déjà.

EFAULT
    name est en dehors de l'espace d'adressage du programme.

EINVAL
    La taille demandée est trop petite, même pour les informations de l'en-tête du module.

ENOMEM
    Le noyau ne peut pas allouer un bloc contigu de mémoire suffisamment grand pour le module.

ENOSYS
    create_module() n'est pas pris en charge par cette version du noyau (par exemple un noyau en version 2.6 ou au-delà).

EPERM
    L'appelant n'est pas privilégié (n'a pas la capacité CAP_SYS_MODULE).

VERSIONS
Cet appel système n'est présent dans Linux que jusqu'au noyau 2.4 ; il a été supprimé dans Linux 2.6.

CONFORMITÉ
create_module() est spécifique à Linux.

NOTES
L'appel système create_module() n'est pas pris en charge par la glibc. Il n'est pas déclaré dans les en-têtes de la glibc, mais par un caprice de l'histoire, la glibc fournit une interface binaire pour cet appel système. Ainsi, il suffit de déclarer manuellement l'interface dans votre code pour utiliser cet appel système. Sinon, vous pouvez l'invoquer en utilisant syscall(2).

VOIR AUSSI
delete_module(2), init_module(2), query_module(2)

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Alain Portal <http://manpagesfr.free.fr/> (2006-2008).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».