create_module - Créer une entrée de module chargeable
#include <linux/module.h>
[[obsolète]] caddr_t create_module(const char *name, size_t size);
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.
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.
- 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).
Cet appel système n'est présent que jusqu'à
Linux 2.4 ; il a été supprimé dans
Linux 2.6.
create_module() est spécifique à Linux.
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).
delete_module(2),
init_module(2),
query_module(2)
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]