Scroll to navigation

init_module(9) Kernel Functions init_module(9)

NOM

init_module, cleanup_module - routines de chargement et de déchargement de module

SYNOPSIS

#include <linux/module.h>
#include <linux/modversions.h>

int init_module(void);
void cleanup_module(void);

DESCRIPTION

Ces fonctions ne font pas partie du noyau mais sont des points d'entrée dans les modules chargeables. Ce sont les seuls symboles que doit exporter un module.

Quand un module est chargé dans le noyau, la fonction init_module(9) du fichier objet en question est appelée pour initialiser le module. Elle doit en particulier initialiser les données locales au module et utiliser les fonctions comme register_chrdev(9) pour s'enregistrer auprès du noyau. Elle doit retourner zéro (0) en l'absence de problème. Si quelque chose ne fonctionne pas comme prévu ou si le module décide qu'il ne peut être chargé, cette fonction doit retourner un code d'erreur ( -ENODEV) et le kernel décharge le module.

Une fois chargée, la fonction cleanup_module(9) du module est utilisée par le noyau pour détruire le module. Le module doit libérer toutes les ressources qu'il utilise.

VALEUR DE RETOUR

La fonction init_module(9) renvoie 0 en l'absence de problème ou un code d'erreur négatif si le module ne peut être initialisé.

DISPONIBILITÉ

Linux 1.0+

VOIR AUSSI

MOD_INC_USE_COUNT(9), insmod(1)

Se reporter également au source des pilotes modulaires dans le noyau.

AUTEUR

Stephen Williams <steve@icarus.com>

BOGUES

Il revient entièrement au module de se détacher proprement et de libérer toutes les ressources utilisées (mémoire, désenregistrement, ...). Si un module est mal codé à ce niveau, le système peut devenir instable.

$Date:$ Linux DDI