Provided by: manpages-pl-dev_0.5-1_all
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).
INFORMACJE O TŁUMACZENIU
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/.