.\" Translated 2006-07-29, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\"
.TH INIT_MODULE 2 2006-02-09 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-init_module \- ¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¤Î¥¨¥ó¥È¥ê¤ò½é´ü²½¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+init_module \- ローダブルモジュールのエントリを初期化する
+.SH 書式
.nf
.B #include <linux/module.h>
.sp
.BI "int init_module(const char *" name ", struct module *" image );
.fi
-.SH ÀâÌÀ
+.SH 説明
.BR init_module ()
-¤ÏºÆÇÛÃÖ¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¥¤¥á¡¼¥¸¤ò¥«¡¼¥Í¥ë¶õ´Ö¤Ë¥í¡¼¥É¤·¡¢
-¤½¤Î¥â¥¸¥å¡¼¥ë¤Î
+は再配置されたモジュールイメージをカーネル空間にロードし、
+そのモジュールの
.I init
-´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¡£
+関数を実行する。
.PP
-¥â¥¸¥å¡¼¥ë¥¤¥á¡¼¥¸¤ÏÀèƬÉôʬ¤Ë module ¹½Â¤ÂΤ¬¤¢¤ê¡¢¤½¤Î¸å¤í¤Ë
-ŬÀڤʥ³¡¼¥É¤È¥Ç¡¼¥¿¤¬Â³¤¯¡£
-¤³¤Î module ¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
+モジュールイメージは先頭部分に module 構造体があり、その後ろに
+適切なコードとデータが続く。
+この module 構造体は以下のように定義されている:
.PP
.in +4n
.nf
.in
.PP
.I next
-¤È
+と
.I refs
-°Ê³°¤ÎÁ´¤Æ¤Î¥Ý¥¤¥ó¥¿Í×ÁǤϥ⥸¥å¡¼¥ëËÜÂÎÆâÉô¤ò»Ø¤·¡¢
-¥«¡¼¥Í¥ë¶õ´Ö¤Ç¤ÎŬÀÚ¤ÊÃͤǽé´ü²½¤µ¤ì¤ë (¤Ä¤Þ¤ê¡¢¥â¥¸¥å¡¼¥ë¤Î»Ä¤ê¤Î
-Éôʬ¤ÇºÆÇÛÃÖ¤µ¤ì¤ë) ¤³¤È¤¬´üÂÔ¤µ¤ì¤ë¡£
+以外の全てのポインタ要素はモジュール本体内部を指し、
+カーネル空間での適切な値で初期化される (つまり、モジュールの残りの
+部分で再配置される) ことが期待される。
.PP
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤¦¤Ë¤ÏÆø¢¤¬É¬ÍפǤ¢¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·¡¢
+このシステムコールを使うには特権が必要である。
+.SH 返り値
+成功すると 0 を返す。エラーの場合 \-1 を返し、
.I errno
-¤òŬÀÚ¤ËÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
+を適切に設定する。
+.SH ã\82¨ã\83©ã\83¼
.TP
.B EBUSY
-¥â¥¸¥å¡¼¥ë¤Î½é´ü²½¥ë¡¼¥Á¥ó¤¬¼ºÇÔ¤·¤¿¡£
+モジュールの初期化ルーチンが失敗した。
.TP
.B EFAULT
.I name
-¤ä
+や
.I image
-¤¬¥×¥í¥°¥é¥à¤¬¥¢¥¯¥»¥¹¤Ç¤¤ë¥¢¥É¥ì¥¹¶õ´Ö¤Î³°Éô¤Ë¤¢¤ë¡£
+がプログラムがアクセスできるアドレス空間の外部にある。
.TP
.B EINVAL
-°ìÉô¤Î
+一部の
.I image
-¥¹¥í¥Ã¥È¤Ë¤ª¤«¤·¤ÊÃͤ¬Æþ¤Ã¤Æ¤¤¤ë¡£¤Þ¤¿¤Ï
+スロットにおかしな値が入っている。または
.I image\->name
-¤¬¸µ¤Î¥â¥¸¥å¡¼¥ë̾¤È°ìÃפ·¤Æ¤¤¤Ê¤¤¡£¤Þ¤¿¤Ï¡¢°ìÉô¤Î
+が元のモジュール名と一致していない。または、一部の
.I image\->deps
-¥¨¥ó¥È¥ê¤¬¥í¡¼¥É¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¡£
-¤Þ¤¿¤Ï¡¢Â¾¤ËƱÍͤÎÌ·½â¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¡£
+エントリがロードされたモジュールに対応していない。
+または、他に同様の矛盾が起こっている。
.TP
.B ENOENT
-¤½¤Î̾Á°¤Î¥â¥¸¥å¡¼¥ë¤¬Â¸ºß¤·¤Ê¤¤¡£
+その名前のモジュールが存在しない。
.TP
.B EPERM
-¸Æ¤Ó½Ð¤·¸µ¤¬Æø¢
+呼び出し元が特権
.RB ( CAP_SYS_MODULE
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£) ¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
-.SH ½àµò
+ケーパビリティ) を持っていなかった。
+.SH 準拠
.BR init_module ()
-¤Ï Linux ¸ÇͤǤ¢¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+は Linux 固有である。
+.SH 関連項目
.BR create_module (2),
.BR delete_module (2),
.BR query_module (2)