.\" Copyright (C) 1996 Free Software Foundation, Inc.
.\" This file is distributed according to the GNU General Public License.
.\" See the file COPYING in the top level source directory for details.
.\" $ Id: init_module.2 1.1 Fri, 05 Jan 2001 12:45:19 +1100 kaos $
.\"
.\" $Id: init_module.2,v 1.2 2001/11/13 13:43:01 ankry Exp $
.\"
.TH INIT_MODULE 2 "26 grudnia 1996" "Linux 2.1.17" "Wsparcie dla modułów"
.SH NAZWA	
init_module \- inicjalizacja wpisu ładowalnego modułu
.SH SKŁADNIA
.nf
.B #include <linux/module.h>
.sp
.BI "int init_module(const char *" name ", struct module *" image );
.fi
.SH OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.PP
.B init_module
ładuje do przestrzeni jądra przesunięty obraz modułu i wykonuje funkcję
\fIinit\fP tego modułu.
.PP
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:
.PP
.RS
.nf
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
};
.fi
.RE
.PP
Wszystkie pola wskazujące, oprócz \fInext\fP i \fIrefs\fP, 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.
.PP
Ta funkcja jest dostępna jedynie dla superużytkownika.
.SH "RETURN VALUE"
W przypadku sukcesu zwracane jest zero. W przypadku błędu, \-1 i odpowiednio
ustawiane jest \fIerrno\fP.
.SH BŁĘDY
.TP
.B EPERM
Użytkownik nie jest superużytkownikiem.
.TP
.B ENOENT
Nie istnieje moduł o tej nazwie.
.TP
.B EINVAL
Któryś z wpisów \fIimage\fP jest wypęłniony nieprawidłowo, \fIimage->name\fP
różni się od oryginalnej nazwy modułu, któryś z wpisów \fIimage->deps\fP nie
odpowiada żadnemu załadowanemu modułowi lub inna podobna niespójność.
.TP
.B EBUSY
Procedura inicjalizacji modułu zakończyła się niepowodzeniem.
.TP
.B EFAULT
\fIname\fP lub \fIimage\fP
znajduje się poza dostępną przestrzenią adresową.
.SH "ZOBACZ TAKŻE"
.BR create_module "(2), " delete_module "(2), " query_module "(2)."
.SH "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. 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:
.IP
man \-\-locale=C 2 init_module
.PP
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
