INIT_MODULE(2)     Manuel du programmeur Linux     INIT_MODULE(2)


NOM
       init_module - Initialiser un module chargeable.

SYNOPSIS
       #include <linux/module.h>

       int init_module(const char *nom, struct module *image);

DESCRIPTION
       init_module  charge  l'image  du  module  dans l'espace du
       noyau, et lance la fonction init du module.

       L'image du module  commence  par  une  structure,  et  est
       suivie  par le code, et les données nécessaires. La struc­
       ture de module est définie ainsi :

              struct module
              {
                unsigned long size_of_struct;
                struct module *next;
                const char *name;
                unsigned long size;
                long usecount;
                unsigned long flags;
                unsigned int nsyms;
                unsigned int ndeps;
                struct module_symbol *syms;
                struct module_ref *deps;
                struct module_ref *refs;
                int (*init)(void);
                void (*cleanup)(void);
                const struct exception_table_entry *ex_table_start;
                const struct exception_table_entry *ex_table_end;
              #ifdef __alpha__
                unsigned long gp;
              #endif
              };

       Tous les membres de type pointeur, à l'exception  de  next
       et  refs, doivent pointer dans le corps du module, et être
       initialisés correctement par rapport à l'espace du  noyau.
       Ceci  signifie qu'ils doivent être translatés correctement
       avec le reste du module.

       Seul le Super-Utilisateur peut invoquer cet appel-système.

VALEUR RENVOYÉE
       init_module  renvoie  0  s'il  réussit, ou -1 s'il échoue,
       auquel cas errno contient le code d'erreur.

ERREURS
       EPERM  L'appelant n'est pas le Super-Utilisateur.

       ENOENT Il n'y a pas de module de ce nom.



Linux                    21 Juillet 1997                        1





INIT_MODULE(2)     Manuel du programmeur Linux     INIT_MODULE(2)


       EINVAL Certains  champs  de   l'image   sont   incorrects,
              image->name  ne  correspond  pas au nom original du
              module, des éléments de image->deps  ne  correspon­
              dent   pas   à   un   module  chargé,  ou  d'autres
              incohérences du même ordre.

       EBUSY  La routine d'initialisation du module a échoué.

       EFAULT name ou image pointe en dehors de l'espace d'adres­
              sage accessible.

VOIR AUSSI
       create_module(2), delete_module(2), query_module(2).


TRADUCTION
       Christophe Blaess, 1997.








































Linux                    21 Juillet 1997                        2