bionic (2) init_module.2.gz

Provided by: manpages-es-extra_0.8a-19_all bug

NOMBRE

       init_module - inicializa una entrada de módulo cargable

SINOPSIS

       #include <linux/module.h>

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

DESCRIPCIÓN

       init_module  carga  la  imagen del módulo relocalizado en el espacio del núcleo y ejecuta la función init
       del módulo.

       La imagen del módulo comienza con una estructura de módulo seguida por  código  y  datos  apropiados.  La
       estructura de módulo se define así:

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

       Se  espera  que  todos  los punteros, a excepción de next y refs, apunten dentro del cuerpo del módulo, y
       estén inicializados adecuadamente al espacio del núcleo, p.ej. relocalizados con el resto del módulo.

       Esta llamada de sistema sólo esta abierta al superusuario.

VALOR DEVUELTO

       Si hay éxito, se devuelve cero. Si hay algún error, se devuelve -1 y errno es actualizado.

ERRORES

       EPERM  El usuario no es el superusuario.

       ENOENT No existe ningún módulo con ese nombre.

       EINVAL Alguna entrada de image se llenó incorrectamente, image->name no  se  corresponde  con  el  nombre
              original  del  módulo,  alguna  entrada  de image->deps no se corresponde con un módulo cargado, o
              alguna otra inconsistencia similar.

       EBUSY  La rutina de inicialización del módulo falló.

       EFAULT name o image está fuera del espacio de direcciones accesible al programa.

VÉASE TAMBIÉN

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