Seth Woolley's Man Viewer

init_module(2) - init_module, init_module - initialize a loadable module entry - man 2 init_module

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

INIT_MODULE(2)               Linux Module Support               INIT_MODULE(2)

       init_module - initialize a loadable module entry

       #include <linux/module.h>

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

       init_module loads the relocated module image into kernel space and runs
       the module's init function.

       The module image begins with a module structure and is followed by code
       and data as appropriate.  The module structure is defined as follows:

              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;

       All  of  the  pointer  fields, with the exception of next and refs, are
       expected to point within the module body and be initialized  as  appro-
       priate for kernel space, i.e. relocated with the rest of the module.

       This system call is only open(2,3,n) to the superuser.

       On  success,  zero  is returned.  On error(8,n), -1 is returned and errno is
       set(7,n,1 builtins) appropriately.

       EPERM  The user is not the superuser.

       ENOENT No module by that name exists.

       EINVAL Some image slot filled in(1,8) incorrectly, image->name does not cor-
              respond to the original module name, some image->deps entry does
              not correspond to a loaded module, or some other similar  incon-

       EBUSY  The module's initialization routine failed.

       EFAULT name or image is outside the program's accessible address space.

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

Linux 2.1.17                      26 Dec 1996                   INIT_MODULE(2)

References for this manual (incoming links)