INIT_MODULE(2) | Wsparcie dla modułów | INIT_MODULE(2) |
init_module - inicjalizacja wpisu ładowalnego modułu
#include <linux/module.h> int init_module(const char *name, struct module *image);
Uwaga! To tłumaczenie może być nieaktualne!
init_module ładuje do przestrzeni jądra przesunięty obraz modułu i wykonuje funkcję init tego modułu.
Obraz modułu rozpoczyna się od struktury modułu, po której następują, odpowiednio, kod i dane. Struktura modułu jest zdefiniowana następująco:
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 };
Wszystkie pola wskazujące, oprócz next i refs, powinny wskazywać na adresy w ciele modułu i zostać zainicjalizowane odpowiednio dla przestrzeni adresowej jądra, tzn. przesunięte wraz z resztą modułu.
Ta funkcja jest dostępna jedynie dla superużytkownika.
W przypadku sukcesu zwracane jest zero. W przypadku błędu, -1 i odpowiednio ustawiane jest errno.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
26 grudnia 1996 | Linux 2.1.17 |