Scroll to navigation

INIT_MODULE(2) Linux Modul Támogatás INIT_MODULE(2)

NÉV

init_module - inicializál egy betölthető modul területet.

ÁTTEKINTÉS

#include <linux/module.h>

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

LEÍRÁS

init_module betölti a relokált modul image-et a kernel területére, és futtatja a modul init függvényét.

A modul image egy modul struktúrával kezdődik és rendszerint a kód és adat részekkel folytatódik. A modul struktúra a következő:

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

Minden pointer mező, kivéve a next és refs mezőket, a modul területén belülre kell hogy mutassanak, és a kernel területének megfelelően inicializálódnak, pl. áthelyeződnek a modul többi részével együtt.

Ezt a rendszerhívást csak a superuser használhatja.

VISSZATÉRÉSI ÉRTÉK

Siker esetén zéró. Hiba esetén az érték -1, és az errno értéke megfelelően lesz beállítva.

HIBÁK

EPERM
A felhasználó nem a superuser.
ENOENT
Nincs ilyen nevű modul.
EINVAL
Néhány image mutató helytelen, image->name nem felel meg az eredeti modul nevének, néhány image->deps hivatkozás nem felel meg a betöltött modulnak, vagy hasonló inkonzisztencia történt.
EBUSY
A modul inicializáló rutinja sikertelen volt.
EFAULT
name vagy image kívül esik a program által elérhető cimtartományon.

LÁSD MÉG

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

MAGYAR FORDÍTÁS

Böszörményi Zoltán <zboszor@mail.externet.hu>
1996. december 26 Linux 2.1.17