NOM

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

SYNOPSIS

#include <linux/module.h>
[[obsolète]] caddr_t create_module(const char *name, size_t size);

DESCRIPTION

Remarque : cet appel système n'est présent qu'avant Linux 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 pour indiquer l'erreur.

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 Linux 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 que jusqu'à Linux 2.4 ; il a été supprimé dans Linux 2.6.

STANDARDS

create_module() est spécifique à Linux.

NOTES

Cet appel système obsolète 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, les versions de la glibc antérieures à la glibc 2.23 fournissaient une interface binaire pour cet appel système. Ainsi, il suffisait 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)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]> et David Prévot <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]

Recommended readings

Pages related to create_module you should read also: