Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

init_module(2) [suse man page]

INIT_MODULE(2)						     Linux Programmer's Manual						    INIT_MODULE(2)

NAME
init_module - initialize a loadable module entry SYNOPSIS
#include <linux/module.h> int init_module(const char *name, struct module *image); DESCRIPTION
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 fol- lows: 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 }; 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, that is, relocated with the rest of the module. This system call requires privilege. RETURN VALUE
On success, zero is returned. On error, -1 is returned and errno is set appropriately. ERRORS
EBUSY The module's initialization routine failed. EFAULT name or image is outside the program's accessible address space. EINVAL Some image slot is filled in incorrectly, image->name does not correspond to the original module name, some image->deps entry does not correspond to a loaded module, or some other similar inconsistency. ENOENT No module by that name exists. EPERM The caller was not privileged (did not have the CAP_SYS_MODULE capability). CONFORMING TO
init_module() is Linux-specific. SEE ALSO
create_module(2), delete_module(2), query_module(2) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2006-02-09 INIT_MODULE(2)

Check Out this Related Man Page

INIT_MODULE(2)						       Linux Module Support						    INIT_MODULE(2)

NAME
init_module - initialize a loadable module entry SYNOPSIS
#include <linux/module.h> int init_module(const char *name, struct module *image); DESCRIPTION
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 fol- lows: 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 }; 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 to the superuser. RETURN VALUE
On success, zero is returned. On error, -1 is returned and errno is set appropriately. ERRORS
EPERM The user is not the superuser. ENOENT No module by that name exists. EINVAL Some image slot filled in incorrectly, image->name does not correspond to the original module name, some image->deps entry does not correspond to a loaded module, or some other similar inconsistency. EBUSY The module's initialization routine failed. EFAULT name or image is outside the program's accessible address space. SEE ALSO
create_module(2), delete_module(2), query_module(2). Linux 2.1.17 26 Dec 1996 INIT_MODULE(2)
Man Page