init_module   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (2)
Updated: 9 février 2006
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
init_module - Initialiser une entrée de module chargeable  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <linux/module.h>

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



DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
init_module() charge l'image du module relogé dans l'espace noyau et lance la fonction init du module.

L'image du module commence avec une structure module suivie par du code et des données appropriés. La structure module est définie comme suit :

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
};

On s'attend à ce que tous les champs pointeurs, à l'exception de next et refs, pointent vers l'intérieur du corps du module et qu'ils puissent être initialisés de manière appropriée pour l'espace noyau, c'est-à-dire relogés avec le reste du module.

Cet appel système nécessite des privilèges.  




VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
S'il réussit, il renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EBUSY
La routine d'initialisation du module a échoué.
EFAULT
name ou image est en dehors de l'espace d'adressage accessible du programme.
EINVAL
Un emplacement image n'est pas rempli de manière correcte, image->name ne correspond plus au nom original du module, une entrée image->deps ne correspond plus au module chargé ou autre incohérence simliaire.
ENOENT
Il n'existe aucun module de ce nom.
EPERM
L'appelant n'est pas privilégié (n'a pas la capacité CAP_SYS_MODULE).
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
init_module() est spécifique à Linux.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
create_module(2), delete_module(2), query_module(2)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 21 juillet 2006 et révisée le 8 janvier 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 init_module ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EBUSYERREURS
EFAULTERREURS
EINVALERREURS
ENOENTERREURS
EPERMERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:49:07, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional