NAZWA ¶
init_module - inicjalizacja wpisu ładowalnego modułu
SKŁADNIA¶
#include <linux/module.h>
int init_module(const char *name, struct module *image);
OPIS¶
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.
RETURN VALUE¶
W przypadku sukcesu zwracane jest zero. W przypadku błędu, -1 i
odpowiednio ustawiane jest
errno.
BŁĘDY¶
- EPERM
- Użytkownik nie jest superużytkownikiem.
- ENOENT
- Nie istnieje moduł o tej nazwie.
- EINVAL
- Któryś z wpisów image jest
wypęłniony nieprawidłowo, image->name
różni się od oryginalnej nazwy modułu,
któryś z wpisów image->deps nie odpowiada
żadnemu załadowanemu modułowi lub inna podobna
niespójność.
- EBUSY
- Procedura inicjalizacji modułu zakończyła się
niepowodzeniem.
- EFAULT
- name lub image znajduje się poza
dostępną przestrzenią adresową.
ZOBACZ TAKŻE¶
create_module(2),
delete_module(2),
query_module(2).
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:
- man --locale=C 2 init_module
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.