table of contents
other languages
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 |