INIT_MODULE   (2) manpage
INIT_MODULE
2
26 Dec 1996
Linux 2.1.17
Linux Module Support
  • 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 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;
      #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 appropriate 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)."
Current Users: 47 © 1999-2006 Linux.com.hk PenguinSoft
All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.