OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / linux_module / po / ja.po
index 7ccddc6..5a93cc1 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-04-23 07:52+0900\n"
-"PO-Revision-Date: 2012-03-23 04:48+0900\n"
+"POT-Creation-Date: 2015-02-04 23:30+0900\n"
+"PO-Revision-Date: 2015-01-31 00:03+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -16,186 +16,204 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
-#: build/C/man2/create_module.2:8
+#: build/C/man2/create_module.2:10
 #, no-wrap
 msgid "CREATE_MODULE"
 msgstr "CREATE_MODULE"
 
 #. type: TH
-#: build/C/man2/create_module.2:8 build/C/man2/get_kernel_syms.2:8
-#: build/C/man2/query_module.2:8
+#: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
+#: build/C/man2/init_module.2:27 build/C/man2/query_module.2:10
 #, no-wrap
-msgid "2007-06-03"
-msgstr "2007-06-03"
+msgid "2014-05-10"
+msgstr "2014-05-10"
 
 #. type: TH
-#: build/C/man2/create_module.2:8 build/C/man2/delete_module.2:8
-#: build/C/man2/get_kernel_syms.2:8 build/C/man2/init_module.2:8
-#: build/C/man2/query_module.2:8
+#: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
+#: build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27
+#: build/C/man2/query_module.2:10
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
 
 #. type: TH
-#: build/C/man2/create_module.2:8 build/C/man2/delete_module.2:8
-#: build/C/man2/get_kernel_syms.2:8 build/C/man2/init_module.2:8
-#: build/C/man2/query_module.2:8
+#: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
+#: build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27
+#: build/C/man2/query_module.2:10
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
 
 #. type: SH
-#: build/C/man2/create_module.2:9 build/C/man2/delete_module.2:9
-#: build/C/man2/get_kernel_syms.2:9 build/C/man2/init_module.2:9
-#: build/C/man2/query_module.2:9
+#: build/C/man2/create_module.2:11 build/C/man2/delete_module.2:26
+#: build/C/man2/get_kernel_syms.2:11 build/C/man2/init_module.2:28
+#: build/C/man2/query_module.2:11
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:11
+#: build/C/man2/create_module.2:13
 msgid "create_module - create a loadable module entry"
-msgstr "create_module - ã\83­ã\83¼ã\83\80ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®ã\82¨ã\83³ã\83\88ã\83ªを作成する"
+msgstr "create_module - ã\83­ã\83¼ã\83\80ã\83¼ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼を作成する"
 
 #. type: SH
-#: build/C/man2/create_module.2:11 build/C/man2/delete_module.2:11
-#: build/C/man2/get_kernel_syms.2:11 build/C/man2/init_module.2:11
-#: build/C/man2/query_module.2:11
+#: build/C/man2/create_module.2:13 build/C/man2/delete_module.2:28
+#: build/C/man2/get_kernel_syms.2:13 build/C/man2/init_module.2:30
+#: build/C/man2/query_module.2:13
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:14 build/C/man2/delete_module.2:14
-#: build/C/man2/get_kernel_syms.2:14 build/C/man2/init_module.2:14
-#: build/C/man2/query_module.2:14
+#: build/C/man2/create_module.2:16 build/C/man2/get_kernel_syms.2:16
+#: build/C/man2/query_module.2:16
 #, no-wrap
 msgid "B<#include E<lt>linux/module.hE<gt>>\n"
 msgstr "B<#include E<lt>linux/module.hE<gt>>\n"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:16
+#: build/C/man2/create_module.2:18
 #, no-wrap
 msgid "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
 msgstr "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
 
+#. type: Plain text
+#: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:35
+#: build/C/man2/query_module.2:23
+msgid ""
+"I<Note>: No declaration of this function is provided in glibc headers; see "
+"NOTES."
+msgstr ""
+"I<注意>: この関数の宣言は glibc のヘッダーでは提供されていない。「注意」を参"
+"照。"
+
 #. type: SH
-#: build/C/man2/create_module.2:17 build/C/man2/delete_module.2:17
-#: build/C/man2/get_kernel_syms.2:17 build/C/man2/init_module.2:17
-#: build/C/man2/query_module.2:18
+#: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:35
+#: build/C/man2/get_kernel_syms.2:19 build/C/man2/init_module.2:45
+#: build/C/man2/query_module.2:23
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:22
+#: build/C/man2/create_module.2:25 build/C/man2/query_module.2:26
+msgid "I<Note>: This system call is present only in kernels before Linux 2.6."
+msgstr ""
+"I<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけで"
+"ある。"
+
+#. type: Plain text
+#: build/C/man2/create_module.2:30
 msgid ""
 "B<create_module>()  attempts to create a loadable module entry and reserve "
 "the kernel memory that will be needed to hold the module.  This system call "
 "requires privilege."
 msgstr ""
-"B<create_module>()  ã\81¯ã\80\81ã\83­ã\83¼ã\83\80ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\82\92ä½\9cæ\88\90ã\81\97ã\80\81ã\81\9dã\81®ã\83¢ã\82¸ã\83¥ã\83¼"
-"ã\83«ã\81®ä¿\9dæ\8c\81ã\81«å¿\85è¦\81ã\81ª ã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\82\92äº\88ç´\84ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82\92使ã\81\86"
-"には特権が必要である。"
+"B<create_module>()  ã\81¯ã\80\81ã\83­ã\83¼ã\83\80ã\83¼ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92ä½\9cæ\88\90ã\81\97ã\80\81ã\81\9dã\81®ã\83¢"
+"ã\82¸ã\83¥ã\83¼ã\83«ã\81®ä¿\9dæ\8c\81ã\81«å¿\85è¦\81ã\81ª ã\82«ã\83¼ã\83\8dã\83«ã\83¡ã\83¢ã\83ªã\83¼ã\82\92äº\88ç´\84ã\81\97ã\82\88ã\81\86ã\81¨ã\81\99ã\82\8bã\80\82 ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼"
+"ã\83«ã\82\92使ã\81\86ã\81«ã\81¯ç\89¹æ¨©ã\81\8cå¿\85è¦\81ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: SH
-#: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:25
-#: build/C/man2/get_kernel_syms.2:43 build/C/man2/init_module.2:62
-#: build/C/man2/query_module.2:121
+#: build/C/man2/create_module.2:30 build/C/man2/delete_module.2:124
+#: build/C/man2/get_kernel_syms.2:48 build/C/man2/init_module.2:154
+#: build/C/man2/query_module.2:129
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:27
+#: build/C/man2/create_module.2:35
 msgid ""
 "On success, returns the kernel address at which the module will reside.  On "
-"error -1 is returned and I<errno> is set appropriately."
+"error, -1 is returned and I<errno> is set appropriately."
 msgstr ""
 "成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場"
 "合 -1 を返し、 I<errno> を適切に設定する。"
 
 #. type: SH
-#: build/C/man2/create_module.2:27 build/C/man2/delete_module.2:30
-#: build/C/man2/get_kernel_syms.2:49 build/C/man2/init_module.2:67
-#: build/C/man2/query_module.2:126
+#: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:129
+#: build/C/man2/get_kernel_syms.2:54 build/C/man2/init_module.2:159
+#: build/C/man2/query_module.2:134
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
 
 #. type: TP
-#: build/C/man2/create_module.2:28
+#: build/C/man2/create_module.2:36 build/C/man2/init_module.2:198
 #, no-wrap
 msgid "B<EEXIST>"
 msgstr "B<EEXIST>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:31
+#: build/C/man2/create_module.2:39
 msgid "A module by that name already exists."
 msgstr "その名前のモジュールがすでに存在する。"
 
 #. type: TP
-#: build/C/man2/create_module.2:31 build/C/man2/delete_module.2:34
-#: build/C/man2/init_module.2:71 build/C/man2/query_module.2:127
+#: build/C/man2/create_module.2:39 build/C/man2/delete_module.2:143
+#: build/C/man2/init_module.2:166 build/C/man2/query_module.2:135
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr "B<EFAULT>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:38
+#: build/C/man2/create_module.2:43
 msgid "I<name> is outside the program's accessible address space."
 msgstr "I<name> がプログラムがアクセスできるアドレス空間の外部にある。"
 
 #. type: TP
-#: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:38
-#: build/C/man2/init_module.2:77 build/C/man2/query_module.2:135
+#: build/C/man2/create_module.2:43 build/C/man2/init_module.2:201
+#: build/C/man2/init_module.2:236 build/C/man2/query_module.2:143
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:38
+#: build/C/man2/create_module.2:46
 msgid "The requested size is too small even for the module header information."
-msgstr "要求したサイズが小さすぎて、モジュールのヘッダ情報すら格納できない。"
+msgstr "要求したサイズが小さすぎて、モジュールのヘッダ情報すら格納できない。"
 
 #. type: TP
-#: build/C/man2/create_module.2:38
+#: build/C/man2/create_module.2:46 build/C/man2/init_module.2:181
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:42
+#: build/C/man2/create_module.2:50
 msgid ""
 "The kernel could not allocate a contiguous block of memory large enough for "
 "the module."
 msgstr ""
-"ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å¿\85è¦\81ã\81ªå¤§ã\81\8dã\81\95ã\81®é\80£ç¶\9aã\81\97ã\81\9fã\83¡ã\83¢ã\83ªã\83\96ã\83­ã\83\83ã\82¯ã\82\92 ã\82«ã\83¼ã\83\8dã\83«ã\81\8c確ä¿\9d"
-"できなかった。"
+"ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\82\92æ ¼ç´\8dã\81\99ã\82\8bã\81®ã\81«å¿\85è¦\81ã\81ªå¤§ã\81\8dã\81\95ã\81®é\80£ç¶\9aã\81\97ã\81\9fã\83¡ã\83¢ã\83ªã\83¼ã\83\96ã\83­ã\83\83ã\82¯ã\82\92 ã\82«ã\83¼ã\83\8dã\83«ã\81\8c確"
+"できなかった。"
 
 #. type: TP
-#: build/C/man2/create_module.2:42 build/C/man2/get_kernel_syms.2:51
-#: build/C/man2/query_module.2:155
+#: build/C/man2/create_module.2:50 build/C/man2/get_kernel_syms.2:56
+#: build/C/man2/query_module.2:163
 #, no-wrap
 msgid "B<ENOSYS>"
 msgstr "B<ENOSYS>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:46
-msgid "B<create_module>()  is not supported in this version of the kernel."
+#: build/C/man2/create_module.2:55
+msgid ""
+"B<create_module>()  is not supported in this version of the kernel (e.g., "
+"the kernel is version 2.6 or later)."
 msgstr ""
-"B<create_module>()  がこのバージョンのカーネルではサポートされていない。"
+"B<create_module>() がこのバージョンのカーネルではサポートされていない (例え"
+"ば、カーネルのバージョンが 2.6 以降)。"
 
 #. type: TP
-#: build/C/man2/create_module.2:46 build/C/man2/delete_module.2:45
-#: build/C/man2/init_module.2:90
+#: build/C/man2/create_module.2:55 build/C/man2/delete_module.2:150
+#: build/C/man2/init_module.2:184
 #, no-wrap
 msgid "B<EPERM>"
 msgstr "B<EPERM>"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:52 build/C/man2/delete_module.2:51
-#: build/C/man2/init_module.2:96
+#: build/C/man2/create_module.2:61
 msgid ""
 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
 "capability)."
@@ -203,112 +221,286 @@ msgstr ""
 "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。"
 
 #. type: SH
-#: build/C/man2/create_module.2:52 build/C/man2/get_kernel_syms.2:55
+#: build/C/man2/create_module.2:61 build/C/man2/get_kernel_syms.2:60
+#: build/C/man2/init_module.2:256 build/C/man2/query_module.2:168
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
 
 #.  Removed in Linux 2.5.48
 #. type: Plain text
-#: build/C/man2/create_module.2:56 build/C/man2/get_kernel_syms.2:59
+#: build/C/man2/create_module.2:65 build/C/man2/get_kernel_syms.2:64
+#: build/C/man2/query_module.2:172
 msgid ""
-"This system call is only present on Linux up until kernel 2.4; it was "
+"This system call is present on Linux only up until kernel 2.4; it was "
 "removed in Linux 2.6."
 msgstr ""
 "このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux "
 "2.6 では削除された。"
 
 #. type: SH
-#: build/C/man2/create_module.2:56 build/C/man2/delete_module.2:51
-#: build/C/man2/get_kernel_syms.2:59 build/C/man2/init_module.2:96
-#: build/C/man2/query_module.2:159
+#: build/C/man2/create_module.2:65 build/C/man2/delete_module.2:172
+#: build/C/man2/get_kernel_syms.2:64 build/C/man2/init_module.2:259
+#: build/C/man2/query_module.2:172
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:59
+#: build/C/man2/create_module.2:68
 msgid "B<create_module>()  is Linux-specific."
 msgstr "B<create_module>()  は Linux 固有である。"
 
 #. type: SH
-#: build/C/man2/create_module.2:59 build/C/man2/delete_module.2:54
-#: build/C/man2/get_kernel_syms.2:75 build/C/man2/init_module.2:99
-#: build/C/man2/query_module.2:173
+#: build/C/man2/create_module.2:68 build/C/man2/delete_module.2:175
+#: build/C/man2/init_module.2:264 build/C/man2/query_module.2:175
+#, no-wrap
+msgid "NOTES"
+msgstr "注意"
+
+#. type: Plain text
+#: build/C/man2/create_module.2:78
+msgid ""
+"The B<create_module>()  system call is not supported by glibc.  No "
+"declaration is provided in glibc headers, but, through a quirk of history, "
+"glibc does export an ABI for this system call.  Therefore, in order to "
+"employ this system call, it is sufficient to manually declare the interface "
+"in your code; alternatively, you can invoke the system call using "
+"B<syscall>(2)."
+msgstr ""
+"B<create_module>() システムコールは glibc ではサポートされていない。 glibc "
+"ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
+"テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
+"用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
+"B<syscall>(2) を使ってシステムコールを起動できる。"
+
+#. type: SH
+#: build/C/man2/create_module.2:78 build/C/man2/delete_module.2:209
+#: build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:353
+#: build/C/man2/query_module.2:193
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:63
+#: build/C/man2/create_module.2:82
 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
 msgstr "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
 
 #. type: SH
-#: build/C/man2/create_module.2:63 build/C/man2/delete_module.2:58
-#: build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:103
-#: build/C/man2/query_module.2:178
+#: build/C/man2/create_module.2:82 build/C/man2/delete_module.2:216
+#: build/C/man2/get_kernel_syms.2:85 build/C/man2/init_module.2:359
+#: build/C/man2/query_module.2:200
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
 
 #. type: Plain text
-#: build/C/man2/create_module.2:70 build/C/man2/delete_module.2:65
-#: build/C/man2/get_kernel_syms.2:87 build/C/man2/init_module.2:110
-#: build/C/man2/query_module.2:185
+#: build/C/man2/create_module.2:90 build/C/man2/delete_module.2:224
+#: build/C/man2/get_kernel_syms.2:93 build/C/man2/init_module.2:367
+#: build/C/man2/query_module.2:208
 #, fuzzy
 #| msgid ""
-#| "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
-#| "description of the project, and information about reporting bugs, can be "
-#| "found at http://www.kernel.org/doc/man-pages/."
+#| "This page is part of release 3.78 of the Linux I<man-pages> project.  A "
+#| "description of the project, information about reporting bugs, and the "
+#| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
+#| "man-pages/."
 msgid ""
-"This page is part of release 3.38 of the Linux I<man-pages> project.  A "
-"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"This page is part of release 3.79 of the Linux I<man-pages> project.  A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
 msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部であ"
-"る。\n"
-"プロジェクトの説明とバグ報告に関する情報は\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
+"である。プロジェクトの説明とバグ報告に関する情報は\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
 #. type: TH
-#: build/C/man2/delete_module.2:8
+#: build/C/man2/delete_module.2:25
 #, no-wrap
 msgid "DELETE_MODULE"
 msgstr "DELETE_MODULE"
 
-#. type: TH
-#: build/C/man2/delete_module.2:8 build/C/man2/init_module.2:8
+#. type: Plain text
+#: build/C/man2/delete_module.2:28
+msgid "delete_module - unload a kernel module"
+msgstr "delete_module - カーネルモジュールをアンロードする"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:31
 #, no-wrap
-msgid "2006-02-09"
-msgstr "2006-02-09"
+msgid "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
+msgstr "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:11
-msgid "delete_module - delete a loadable module entry"
-msgstr "delete_module - ローダブルモジュールのエントリを削除する"
+#: build/C/man2/delete_module.2:49
+msgid ""
+"The B<delete_module>()  system call attempts to remove the unused loadable "
+"module entry identified by I<name>.  If the module has an I<exit> function, "
+"then that function is executed before unloading the module.  The I<flags> "
+"argument is used to modify the behavior of the system call, as described "
+"below.  This system call requires privilege."
+msgstr ""
+"B<delete_module>() システムコールは、 I<name> で特定される未使用のロード可能"
+"なモジュールのエントリーを削除しようとする。 モジュールに I<exit> 関数がある"
+"場合、 モジュールをアンロードする前にこの関数が実行される。 I<flags> 引き数"
+"は、以下で説明するようにシステムコールの動作を変更するのに使用される。 このシ"
+"ステムコールには特権が必要である。"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:16
+#: build/C/man2/delete_module.2:51
+msgid "Module removal is attempted according to the following rules:"
+msgstr "モジュールの削除は以下のルールにしたがって行われる。"
+
+#. type: IP
+#: build/C/man2/delete_module.2:51
 #, no-wrap
-msgid "B<int delete_module(const char *>I<name>B<);>\n"
-msgstr "B<int delete_module(const char *>I<name>B<);>\n"
+msgid "1."
+msgstr "1."
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:25
+#: build/C/man2/delete_module.2:55
 msgid ""
-"B<delete_module>()  attempts to remove an unused loadable module entry.  If "
-"I<name> is NULL, all unused modules marked auto-clean will be removed.  This "
-"system call requires privilege."
+"If there are other loaded modules that depend on (i.e., refer to symbols "
+"defined in) this module, then the call fails."
+msgstr ""
+"このモジュールに依存している (このモジュールで定義されているシンボルを参照し"
+"ている) モジュールがロードされている場合、 この呼び出しは失敗する。"
+
+#. type: IP
+#: build/C/man2/delete_module.2:55
+#, no-wrap
+msgid "2."
+msgstr "2."
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:59
+msgid ""
+"Otherwise, if the reference count for the module (i.e., the number of "
+"processes currently using the module)  is zero, then the module is "
+"immediately unloaded."
+msgstr ""
+"それ以外の場合で、 モジュールの参照カウント (このモジュールを現在使用している"
+"プロセス数) が 0 であれば、 モジュールは直ちにアンロードされる。"
+
+#. type: IP
+#: build/C/man2/delete_module.2:59
+#, no-wrap
+msgid "3."
+msgstr "3."
+
+#.     O_TRUNC == KMOD_REMOVE_FORCE in kmod library
+#.     O_NONBLOCK == KMOD_REMOVE_NOWAIT in kmod library
+#. type: Plain text
+#: build/C/man2/delete_module.2:70
+msgid ""
+"If a module has a nonzero reference count, then the behavior depends on the "
+"bits set in I<flags>.  In normal usage (see NOTES), the B<O_NONBLOCK> flag "
+"is always specified, and the B<O_TRUNC> flag may additionally be specified."
+msgstr ""
+"モジュールの参照カウントが 0 でない場合、 その動作は I<flags> にセットされた"
+"ビットによって決まる。 通常の使用時は (「注意」参照)、 B<O_NONBLOCK> は常に指"
+"定され、 B<O_TRUNC> フラグが追加で指定されることがある。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:74
+msgid "The various combinations for I<flags> have the following effect:"
+msgstr "I<flags> の組み合わせが持つ効果は以下のとおりである。"
+
+#. type: TP
+#: build/C/man2/delete_module.2:75
+#, no-wrap
+msgid "B<flags == O_NONBLOCK>"
+msgstr "B<flags == O_NONBLOCK>"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:78
+msgid "The call returns immediately, with an error."
+msgstr "エラーの場合、 呼び出しは直ちに返る。"
+
+#. type: TP
+#: build/C/man2/delete_module.2:78
+#, no-wrap
+msgid "B<flags == (O_NONBLOCK | O_TRUNC)>"
+msgstr "B<flags == (O_NONBLOCK | O_TRUNC)>"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:82
+msgid ""
+"The module is unloaded immediately, regardless of whether it has a nonzero "
+"reference count."
+msgstr ""
+"参照カウントが 0 以外かどうかに関わらず、 直ちにモジュールをアンロードする。"
+
+#. type: TP
+#: build/C/man2/delete_module.2:82
+#, no-wrap
+msgid "B<(flags & O_NONBLOCK) == 0>"
+msgstr "B<(flags & O_NONBLOCK) == 0>"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:89
+msgid "If I<flags> does not specify B<O_NONBLOCK>, the following steps occur:"
+msgstr ""
+"I<flags> に B<O_NONBLOCK> が指定されなかった場合、 以下のステップで処理が行わ"
+"れる。"
+
+#. type: IP
+#: build/C/man2/delete_module.2:90 build/C/man2/delete_module.2:92
+#: build/C/man2/delete_module.2:97
+#, no-wrap
+msgid "*"
+msgstr "*"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:92
+msgid "The module is marked so that no new references are permitted."
+msgstr "新しい参照を許可しないように、 指定されたモジュールにマークを付ける。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:97
+msgid ""
+"If the module's reference count is nonzero, the caller is placed in an "
+"uninterruptible sleep state (B<TASK_UNINTERRUPTIBLE>)  until the reference "
+"count is zero, at which point the call unblocks."
+msgstr ""
+"モジュールの参照カウントが 0 でない場合、 参照カウントが 0 になるまで、 呼び"
+"出し元は割り込み不可のスリープ状態 (B<TASK_UNINTERRUPTIBLE>) に置かれる。 参"
+"照カウントが 0 になった時点で、 呼び出し元の停止が解除される。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:99
+msgid "The module is unloaded in the usual way."
+msgstr "モジュールは通常通りの方法でアンロードされる。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:113
+msgid ""
+"The B<O_TRUNC> flag has one further effect on the rules described above.  By "
+"default, if a module has an I<init> function but no I<exit> function, then "
+"an attempt to remove the module will fail.  However, if B<O_TRUNC> was "
+"specified, this requirement is bypassed."
 msgstr ""
-"B<delete_module>()  は、未使用のローダブルモジュールのエントリを削除しようと"
-"ã\81\99ã\82\8bã\80\82 I<name> ã\81\8c NULL ã\81®å ´å\90\88ã\80\81æ\9cªä½¿ç\94¨ã\81®ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®ã\81\86ã\81¡ã\80\8cè\87ªå\8b\95å\89\8aé\99¤ (auto-"
-"clean)」 マークがついたものを全て削除する。 このシステムコールを使うには特権"
-"が必要である。"
+"B<O_TRUNC> フラグには上記のルールに加えてもう一つの効果がある。 デフォルトで"
+"ã\81¯ã\80\81 ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81« I<init> é\96¢æ\95°ã\81\8cã\81\82ã\82\8bã\81\8c I<exit> é\96¢æ\95°ã\81\8cã\81ªã\81\84å ´å\90\88ã\80\81 ã\81\9dã\81®ã\83¢ã\82¸ã\83¥ã\83¼"
+"ルを削除しようとすると失敗する。 しかし、 B<O_TRUNC> が指定された場合、 この"
+"要件はスキップされる。"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:30 build/C/man2/init_module.2:67
-#: build/C/man2/query_module.2:126
+#: build/C/man2/delete_module.2:124
+msgid ""
+"Using the B<O_TRUNC> flag is dangerous! If the kernel was not built with "
+"B<CONFIG_MODULE_FORCE_UNLOAD>, this flag is silently ignored.  (Normally, "
+"B<CONFIG_MODULE_FORCE_UNLOAD> is enabled.)  Using this flag taints the "
+"kernel (TAINT_FORCED_RMMOD)."
+msgstr ""
+"B<O_TRUNC> フラグの使用は危険である! カーネルが "
+"B<CONFIG_MODULE_FORCE_UNLOAD> で作成されていない場合、 このフラグは黙って無視"
+"される (通常は B<CONFIG_MODULE_FORCE_UNLOAD> は有効になっている)。 このフラグ"
+"を使うとカーネルにゴミが残ることになる (TAINT_FORCED_RMMOD)。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:129 build/C/man2/query_module.2:134
 msgid ""
 "On success, zero is returned.  On error, -1 is returned and I<errno> is set "
 "appropriately."
@@ -317,71 +509,184 @@ msgstr ""
 "される。"
 
 #. type: TP
-#: build/C/man2/delete_module.2:31 build/C/man2/init_module.2:68
+#: build/C/man2/delete_module.2:130 build/C/man2/init_module.2:163
 #, no-wrap
 msgid "B<EBUSY>"
 msgstr "B<EBUSY>"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:34
-msgid "The module is in use."
-msgstr "そのモジュールは使用中である。"
+#: build/C/man2/delete_module.2:143
+msgid ""
+"The module is not \"live\" (i.e., it is still being initialized or is "
+"already marked for removal); or, the module has an I<init> function but has "
+"no I<exit> function, and B<O_TRUNC> was not specified in I<flags>."
+msgstr ""
+"モジュールは\"live\" ではない (モジュールがまだ初期化中か、 すでに削除のマー"
+"クが付けられている)。 モジュールに I<init> 関数があるが I<exit> 関数がなく、 "
+"I<flags> に B<O_TRUNC> が指定されていなかった。"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:42
-msgid "I<name> was an empty string."
-msgstr "I<name> が空文字列である。"
+#: build/C/man2/delete_module.2:147
+msgid ""
+"I<name> refers to a location outside the process's accessible address space."
+msgstr "I<name> がプロセスがアクセスできるアドレス空間外の場所を参照している。"
 
 #. type: TP
-#: build/C/man2/delete_module.2:42 build/C/man2/init_module.2:87
-#: build/C/man2/query_module.2:145
+#: build/C/man2/delete_module.2:147 build/C/man2/query_module.2:153
 #, no-wrap
 msgid "B<ENOENT>"
 msgstr "B<ENOENT>"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:45 build/C/man2/init_module.2:90
+#: build/C/man2/delete_module.2:150
 msgid "No module by that name exists."
 msgstr "その名前のモジュールが存在しない。"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:54
+#: build/C/man2/delete_module.2:161
+msgid ""
+"The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
+"capability), or module unloading is disabled (see I</proc/sys/kernel/"
+"modules_disabled> in B<proc>(5))."
+msgstr ""
+"呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。 また"
+"は、 モジュールのアンロードが無効になっている (B<proc>(5) の I</proc/sys/"
+"kernel/modules_disabled> を参照)。"
+
+#. type: TP
+#: build/C/man2/delete_module.2:161
+#, no-wrap
+msgid "B<EWOULDBLOCK>"
+msgstr "B<EWOULDBLOCK>"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:172
+msgid ""
+"Other modules depend on this module; or, B<O_NONBLOCK> was specified in "
+"I<flags>, but the reference count of this module is nonzero and B<O_TRUNC> "
+"was not specified in I<flags>."
+msgstr ""
+"他のモジュールがこのモジュールに依存している。または、 I<flags> に "
+"B<O_NONBLOCK> が指定されたが、 このモジュールの参照カウントが 0 以外で "
+"I<flags> に B<O_TRUNC> が指定されていなかった。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:175
 msgid "B<delete_module>()  is Linux-specific."
 msgstr "B<delete_module>()  は Linux 固有である。"
 
 #. type: Plain text
-#: build/C/man2/delete_module.2:58
-msgid "B<create_module>(2), B<init_module>(2), B<query_module>(2)"
-msgstr "B<create_module>(2), B<init_module>(2), B<query_module>(2)"
+#: build/C/man2/delete_module.2:185
+msgid ""
+"The B<delete_module>()  system call is not supported by glibc.  No "
+"declaration is provided in glibc headers, but, through a quirk of history, "
+"glibc does export an ABI for this system call.  Therefore, in order to "
+"employ this system call, it is sufficient to manually declare the interface "
+"in your code; alternatively, you can invoke the system call using "
+"B<syscall>(2)."
+msgstr ""
+"B<delete_module>() システムコールは glibc ではサポートされていない。 glibc "
+"ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
+"テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
+"用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
+"B<syscall>(2) を使ってシステムコールを起動できる。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:195
+msgid ""
+"The uninterruptible sleep that may occur if B<O_NONBLOCK> is omitted from "
+"I<flags> is considered undesirable, because the sleeping process is left in "
+"an unkillable state.  As at Linux 3.7, specifying B<O_NONBLOCK> is optional, "
+"but in future kernels it is likely to become mandatory."
+msgstr ""
+"I<flags> に B<O_NONBLOCK> が指定されていない場合に起こる可能性がある割り込み"
+"不可のスリープは望ましくないと考えられている。 なぜなら、 スリープしているプ"
+"ロセスは kill できない状態 (unkillable state) のままになるからである。 Linux "
+"3.7 時点では、 B<O_NONBLOCK> の指定は省略可能だが、 将来のカーネルでは必須に"
+"なるだろう。"
+
+#. type: SS
+#: build/C/man2/delete_module.2:195 build/C/man2/init_module.2:288
+#, no-wrap
+msgid "Linux 2.4 and earlier"
+msgstr "Linux 2.4 以前"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:197
+msgid "In Linux 2.4 and earlier, the system call took only one argument:"
+msgstr "Linux 2.4 以前では、 このシステムコールの引き数は 1 つだけであった。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:199
+msgid "B< int delete_module(const char *>I<name>B<);>"
+msgstr "B< int delete_module(const char *>I<name>B<);>"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:203
+msgid "If I<name> is NULL, all unused modules marked auto-clean are removed."
+msgstr ""
+"I<name> が NULL の場合、 auto-clean のマークがついたすべての未使用のモジュー"
+"ルが削除される。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:209
+msgid ""
+"Some further details of differences in the behavior of B<delete_module>()  "
+"in Linux 2.4 and earlier are I<not> currently explained in this manual page."
+msgstr ""
+"Linux 2.4 以前の B<delete_module>() の動作のより詳細な違いは、 現在のところこ"
+"のマニュアルページでは説明I<しない>。"
+
+#. type: Plain text
+#: build/C/man2/delete_module.2:216
+msgid ""
+"B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), "
+"B<modprobe>(8), B<rmmod>(8)"
+msgstr ""
+"B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), "
+"B<modprobe>(8), B<rmmod>(8)"
 
 #. type: TH
-#: build/C/man2/get_kernel_syms.2:8
+#: build/C/man2/get_kernel_syms.2:10
 #, no-wrap
 msgid "GET_KERNEL_SYMS"
 msgstr "GET_KERNEL_SYMS"
 
+#. type: TH
+#: build/C/man2/get_kernel_syms.2:10
+#, no-wrap
+msgid "2012-10-18"
+msgstr "2012-10-18"
+
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:11
+#: build/C/man2/get_kernel_syms.2:13
 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
 msgstr "get_kernel_syms - 公開されているカーネルやモジュールのシンボルの取得"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:16
+#: build/C/man2/get_kernel_syms.2:18
 #, no-wrap
 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
 msgstr "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:24
+#: build/C/man2/get_kernel_syms.2:22
+msgid "B<Note>: This system call is present only in kernels before Linux 2.6."
+msgstr ""
+"B<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけで"
+"ある。"
+
+#. type: Plain text
+#: build/C/man2/get_kernel_syms.2:29
 msgid ""
 "If I<table> is NULL, B<get_kernel_syms>()  returns the number of symbols "
-"available for query.  Otherwise it fills in a table of structures:"
+"available for query.  Otherwise, it fills in a table of structures:"
 msgstr ""
 "B<get_kernel_syms>()  は、 I<table> が NULL の場合、 問い合わせできるシンボル"
 "の数を返す。 NULL 以外の場合、以下の構造体の列 (table) に値を入れて返す。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:31
+#: build/C/man2/get_kernel_syms.2:36
 #, no-wrap
 msgid ""
 "struct kernel_sym {\n"
@@ -395,7 +700,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:39
+#: build/C/man2/get_kernel_syms.2:44
 msgid ""
 "The symbols are interspersed with magic symbols of the form B<#>I<module-"
 "name> with the kernel having an empty name.  The value associated with a "
@@ -406,7 +711,7 @@ msgstr ""
 "応する値は モジュールがロードされたアドレスとなる。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:43
+#: build/C/man2/get_kernel_syms.2:48
 msgid ""
 "The symbols exported from each module follow their magic module tag and the "
 "modules are returned in the reverse of the order in which they were loaded."
@@ -415,7 +720,7 @@ msgstr ""
 "後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:49
+#: build/C/man2/get_kernel_syms.2:54
 msgid ""
 "On success, returns the number of symbols copied to I<table>.  On error, -1 "
 "is returned and I<errno> is set appropriately."
@@ -424,45 +729,45 @@ msgstr ""
 "し、 I<errno> を適切に設定する。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:51
+#: build/C/man2/get_kernel_syms.2:56
 msgid "There is only one possible error return:"
 msgstr "返る可能性があるエラーは一つだけである。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:55
+#: build/C/man2/get_kernel_syms.2:60
 msgid "B<get_kernel_syms>()  is not supported in this version of the kernel."
 msgstr ""
 "B<get_kernel_syms>()  がこのバージョンのカーネルではサポートされていない。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:62
+#: build/C/man2/get_kernel_syms.2:67
 msgid "B<get_kernel_syms>()  is Linux-specific."
 msgstr "B<get_kernel_syms>()  は Linux 固有である。"
 
 #. type: SH
-#: build/C/man2/get_kernel_syms.2:62
+#: build/C/man2/get_kernel_syms.2:67
 #, no-wrap
 msgid "BUGS"
 msgstr "バグ"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:67
+#: build/C/man2/get_kernel_syms.2:72
 msgid ""
 "There is no way to indicate the size of the buffer allocated for I<table>.  "
 "If symbols have been added to the kernel since the program queried for the "
 "symbol table size, memory will be corrupted."
 msgstr ""
-"I<table> ç\94¨ã\81«ç¢ºä¿\9dã\81\97ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\81®å¤§ã\81\8dã\81\95ã\82\92ä¼\9dã\81\88ã\82\8bæ\96¹æ³\95ã\81\8cã\81ªã\81\84ã\80\82 ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81\8cã\82·ã\83³ã\83\9c"
-"ã\83«ã\83\86ã\83¼ã\83\96ã\83«ã\81®å¤§ã\81\8dã\81\95ã\82\92å\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\81\9få¾\8cã\81«ã\80\81ã\82«ã\83¼ã\83\8dã\83«ã\81« ã\82·ã\83³ã\83\9cã\83«ã\81\8c追å\8a ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81ã\83¡ã\83¢"
-"ã\83ªの内容が破壊されることになる。"
+"I<table> ç\94¨ã\81«ç¢ºä¿\9dã\81\97ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å¤§ã\81\8dã\81\95ã\82\92ä¼\9dã\81\88ã\82\8bæ\96¹æ³\95ã\81\8cã\81ªã\81\84ã\80\82 ã\83\97ã\83­ã\82°ã\83©ã\83 ã\81\8cã\82·ã\83³"
+"ã\83\9cã\83«ã\83\86ã\83¼ã\83\96ã\83«ã\81®å¤§ã\81\8dã\81\95ã\82\92å\95\8fã\81\84å\90\88ã\82\8fã\81\9bã\81\9få¾\8cã\81«ã\80\81ã\82«ã\83¼ã\83\8dã\83«ã\81« ã\82·ã\83³ã\83\9cã\83«ã\81\8c追å\8a ã\81\95ã\82\8cã\82\8bã\81¨ã\80\81ã\83¡"
+"ã\83¢ã\83ªã\83¼の内容が破壊されることになる。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:69
+#: build/C/man2/get_kernel_syms.2:74
 msgid "The length of exported symbol names is limited to 59 characters."
 msgstr "公開されるシンボル名の長さが 59 文字に制限されている。"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:75
+#: build/C/man2/get_kernel_syms.2:80
 msgid ""
 "Because of these limitations, this system call is deprecated in favor of "
 "B<query_module>(2)  (which is itself nowadays deprecated in favor of other "
@@ -470,54 +775,492 @@ msgid ""
 msgstr ""
 "これらの制限があるので、このシステムコールを使うよりは B<query_module>(2)  を"
 "使うのが望ましい (現在では B<query_module>(2)  自身もそのマニュアルページに書"
-"かれているように 他のインタフェースを使うのが望ましいとされている)。"
+"ã\81\8bã\82\8cã\81¦ã\81\84ã\82\8bã\82\88ã\81\86ã\81« ä»\96ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92使ã\81\86ã\81®ã\81\8cæ\9c\9bã\81¾ã\81\97ã\81\84ã\81¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8b\80\82"
 
 #. type: Plain text
-#: build/C/man2/get_kernel_syms.2:80
+#: build/C/man2/get_kernel_syms.2:85
 msgid ""
-"B<create_module>(2), B<delete_module>(2), B<init_module>(2), B<query_module>"
-"(2)"
+"B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
+"B<query_module>(2)"
 msgstr ""
-"B<create_module>(2), B<delete_module>(2), B<init_module>(2), B<query_module>"
-"(2)"
+"B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
+"B<query_module>(2)"
 
 #. type: TH
-#: build/C/man2/init_module.2:8
+#: build/C/man2/init_module.2:27
 #, no-wrap
 msgid "INIT_MODULE"
 msgstr "INIT_MODULE"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:11
-msgid "init_module - initialize a loadable module entry"
-msgstr "init_module - ローダブルモジュールのエントリを初期化する"
+#: build/C/man2/init_module.2:30
+msgid "init_module, finit_module - load a kernel module"
+msgstr "init_module, finit_module - カーネルモジュールをロードする"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:16
+#: build/C/man2/init_module.2:34
 #, no-wrap
-msgid "B<int init_module(const char *>I<name>B<, struct module *>I<image>B<);>\n"
-msgstr "B<int init_module(const char *>I<name>B<, struct module *>I<image>B<);>\n"
+msgid ""
+"B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
+"B<                const char *>I<param_values>B<);>\n"
+msgstr ""
+"B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
+"B<                const char *>I<param_values>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:23
+#: build/C/man2/init_module.2:37
+#, no-wrap
 msgid ""
-"B<init_module>()  loads the relocated module image into kernel space and "
-"runs the module's I<init> function."
+"B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
+"B<                 int >I<flags>B<);>\n"
 msgstr ""
-"B<init_module>()  は再配置されたモジュールイメージをカーネル空間にロードし、 "
-"そのモジュールの I<init> 関数を実行する。"
+"B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
+"B<                 int >I<flags>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:27
+#: build/C/man2/init_module.2:45
+msgid ""
+"I<Note>: glibc provides no header file declaration of B<init_module>()  and "
+"no wrapper function for B<finit_module>(); see NOTES."
+msgstr ""
+"I<注意>: glibc では、 ヘッダーファイルでの B<init_module>() の宣言はなく、 "
+"B<finit_module>() のラッパー関数も提供されていない。 「注意」の節を参照。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:54
+msgid ""
+"B<init_module>()  loads an ELF image into kernel space, performs any "
+"necessary symbol relocations, initializes module parameters to values "
+"provided by the caller, and then runs the module's I<init> function.  This "
+"system call requires privilege."
+msgstr ""
+"B<init_module>() は ELF イメージをカーネル空間にロードし、 必要なシンボルの配"
+"置変更を行い、 モジュールパラメーターを呼び出し元から指定された値に初期化"
+"し、 最後にそのモジュールの I<init> 関数を実行する。 このシステムコールには特"
+"権が必要である。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:62
+msgid ""
+"The I<module_image> argument points to a buffer containing the binary image "
+"to be loaded; I<len> specifies the size of that buffer.  The module image "
+"should be a valid ELF image, built for the running kernel."
+msgstr ""
+"I<module_image> 引き数はロードするバイナリーイメージが入ったバッファーを指"
+"し、 I<len> はバッファーのサイズを指定する。 モジュールイメージは、 実行中の"
+"カーネル用に作成された有効な ELF イメージである必要がある。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:73
+msgid ""
+"The I<param_values> argument is a string containing space-delimited "
+"specifications of the values for module parameters (defined inside the "
+"module using B<module_param>()  and B<module_param_array>()).  The kernel "
+"parses this string and initializes the specified parameters.  Each of the "
+"parameter specifications has the form:"
+msgstr ""
+"I<param_values> 引き数はモジュールパラメーター値を指定するスペース区切りの文"
+"字列である (モジュールパラメーターは B<module_param>() や "
+"B<module_param_array>() を使ってモジュール内で定義される)。 カーネルはこの文"
+"字列を解釈し、指定されたパラメーターを初期化する。 各パラメーター指定は以下の"
+"形式である。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:78
+msgid "I<name>[B<=>I<value>[B<,>I<value>...]]"
+msgstr "I<name>[B<=>I<value>[B<,>I<value>...]]"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:93
+msgid ""
+"The parameter I<name> is one of those defined within the module using "
+"I<module_param>()  (see the Linux kernel source file I<include/linux/"
+"moduleparam.h>).  The parameter I<value> is optional in the case of I<bool> "
+"and I<invbool> parameters.  Values for array parameters are specified as a "
+"comma-separated list."
+msgstr ""
+"パラメーター I<name> はモジュール内で I<module_param>() を使って定義されてい"
+"るパラメーターのいずれか一つである (Linux カーネルのソースファイル I<include/"
+"linux/moduleparam.h> を参照)。 パラメーター I<value> は I<bool> か "
+"I<invbool> パラメーターの場合は省略可能である。 配列パラメーターの値はカンマ"
+"区切りのリストで指定される。"
+
+#. type: SS
+#: build/C/man2/init_module.2:93
+#, no-wrap
+msgid "finit_module()"
+msgstr "finit_module()"
+
+#.  commit 34e1169d996ab148490c01b65b4ee371cf8ffba2
+#.  https://lwn.net/Articles/519010/
+#. type: Plain text
+#: build/C/man2/init_module.2:111
+msgid ""
+"The B<finit_module>()  system call is like B<init_module>(), but reads the "
+"module to be loaded from the file descriptor I<fd>.  It is useful when the "
+"authenticity of a kernel module can be determined from its location in the "
+"filesystem; in cases where that is possible, the overhead of using "
+"cryptographically signed modules to determine the authenticity of a module "
+"can be avoided.  The I<param_values> argument is as for B<init_module>()."
+msgstr ""
+"B<finit_module>() システムコールは B<init_module>() と同様だが、 ファイルディ"
+"スクリプター I<fd> からモジュールをロードする。 カーネルモジュールの信頼性を"
+"ファイルシステムにおける場所から判定できる場合、この方法は有効である。 この方"
+"法が利用できる場合、 モジュールの信頼性を判定するのに暗号で署名されたモジュー"
+"ルを使用することによるオーバーヘッドを避ける事ができる。 I<param_values> 引き"
+"数は B<init_module>() と同じである。"
+
+#.  commit 2f3238aebedb243804f58d62d57244edec4149b2
+#. type: Plain text
+#: build/C/man2/init_module.2:119
+msgid ""
+"The I<flags> argument modifies the operation of B<finit_module>().  It is a "
+"bit mask value created by ORing together zero or more of the following flags:"
+msgstr ""
+"I<flags> 引き数で B<finit_module>() の動作を変更できる。 I<flags> は以下のフ"
+"ラグの 0 個以上の論理和をとって作成したビットマスクである。"
+
+#. type: TP
+#: build/C/man2/init_module.2:119
+#, no-wrap
+msgid "B<MODULE_INIT_IGNORE_MODVERSIONS>"
+msgstr "B<MODULE_INIT_IGNORE_MODVERSIONS>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:122
+msgid "Ignore symbol version hashes."
+msgstr "シンボルのバージョンハッシュを無視する。"
+
+#. type: TP
+#: build/C/man2/init_module.2:122
+#, no-wrap
+msgid "B<MODULE_INIT_IGNORE_VERMAGIC>"
+msgstr "B<MODULE_INIT_IGNORE_VERMAGIC>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:125
+msgid "Ignore kernel version magic."
+msgstr "カーネルのバージョン magic を無視する。"
+
+#.  http://www.tldp.org/HOWTO/Module-HOWTO/basekerncompat.html
+#.  is dated, but informative
+#. type: Plain text
+#: build/C/man2/init_module.2:143
+msgid ""
+"There are some safety checks built into a module to ensure that it matches "
+"the kernel against which it is loaded.  These checks are recorded when the "
+"module is built and verified when the module is loaded.  First, the module "
+"records a \"vermagic\" string containing the kernel version number and "
+"prominent features (such as the CPU type).  Second, if the module was built "
+"with the B<CONFIG_MODVERSIONS> configuration option enabled, a version hash "
+"is recorded for each symbol the module uses.  This hash is based on the "
+"types of the arguments and return value for the function named by the "
+"symbol.  In this case, the kernel version number within the \"vermagic\" "
+"string is ignored, as the symbol version hashes are assumed to be "
+"sufficiently reliable."
+msgstr ""
+"そのモジュールがロードされるカーネルに合致することを保証するためのモジュール"
+"に組み込みの安全チェックがある。 これらのチェックは、 モジュールの作成時に記"
+"録され、 モジュールのロード時に検査される。 最初に、 モジュールはカーネルの"
+"バージョン番号と主要な機能 (CPU 種別など) が入った \"vermagic\" 文字列を記録"
+"する。 次に、 モジュールが B<CONFIG_MODVERSIONS> 設定オプションを有効にして作"
+"成されている場合、 バージョンハッシュがモジュールが使用するシンボルごとに記録"
+"される。 このハッシュはシンボルに対応する関数の引き数と返り値の型を基づいて計"
+"算される。 この場合、 シンボルのバージョンハッシュは十分に信頼できると考えら"
+"れているため、  \"vermagic\" 文字列内のカーネルのバージョン番号は無視される。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:154
+msgid ""
+"Using the B<MODULE_INIT_IGNORE_VERMAGIC> flag indicates that the \"vermagic"
+"\" string is to be ignored, and the B<MODULE_INIT_IGNORE_MODVERSIONS> flag "
+"indicates that the symbol version hashes are to be ignored.  If the kernel "
+"is built to permit forced loading (i.e., configured with "
+"B<CONFIG_MODULE_FORCE_LOAD>), then loading will continue, otherwise it will "
+"fail with B<ENOEXEC> as expected for malformed modules."
+msgstr ""
+"B<MODULE_INIT_IGNORE_VERMAGIC> フラグは \"vermagic\" 文字列を無視することを意"
+"味し、 B<MODULE_INIT_IGNORE_MODVERSIONS> フラグはシンボルのバージョンハッシュ"
+"を無視することを意味する。 カーネルが強制ロードを許可するように作成されている"
+"場合 (B<CONFIG_MODULE_FORCE_LOAD> が有効になっている場合)、 モジュールのロー"
+"ドは継続され、 そうでない場合は不正なモジュールに対して返るのと同じ "
+"B<ENOEXEC> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:159
+msgid ""
+"On success, these system calls return 0.  On error, -1 is returned and "
+"I<errno> is set appropriately."
+msgstr ""
+"成功の場合、これらのシステムコールは 0 を返す。エラーの場合 -1 が返され、 "
+"I<errno> に適切な値が設定される。"
+
+#. type: TP
+#: build/C/man2/init_module.2:160
+#, no-wrap
+msgid "B<EBADMSG> (since Linux 3.7)"
+msgstr "B<EBADMSG> (Linux 3.7 以降)"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:163
+msgid "Module signature is misformatted."
+msgstr "モジュールの署名が正しい形式ではない。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:166
+msgid "Timeout while trying to resolve a symbol reference by this module."
+msgstr "このモジュールがシンボル参照を解決する際にタイムアウトが起こった。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:170
+msgid ""
+"An address argument referred to a location that is outside the process's "
+"accessible address space."
+msgstr ""
+"アドレス引き数が、プロセスがアクセスできるアドレス空間外の場所を参照してい"
+"た。"
+
+#. type: TP
+#: build/C/man2/init_module.2:170
+#, no-wrap
+msgid "B<ENOKEY> (since Linux 3.7)"
+msgstr "B<ENOKEY> (Linux 3.7 以降)"
+
+#.  commit 48ba2462ace6072741fd8d0058207d630ce93bf1
+#.  commit 1d0059f3a468825b5fc5405c636a2f6e02707ffa
+#.  commit 106a4ee258d14818467829bf0e12aeae14c16cd7
+#. type: Plain text
+#: build/C/man2/init_module.2:181
+msgid ""
+"Module signature is invalid or the kernel does not have a key for this "
+"module.  This error is returned only if the kernel was configured with "
+"B<CONFIG_MODULE_SIG_FORCE>; if the kernel was not configured with this "
+"option, then an invalid or unsigned module simply taints the kernel."
+msgstr ""
+"モジュールの署名が無効であるか、 カーネルがこのモジュール用の鍵を持っていな"
+"い。 このエラーが返されるのは、 カーネルが B<CONFIG_MODULE_SIG_FORCE> で作成"
+"されている場合のみである。 カーネルでこのオプションが有効になっていない場"
+"合、 無効なモジュールや署名されていないモジュールはカーネルのゴミになる。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:184
+msgid "Out of memory."
+msgstr "メモリ不足。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:195
+msgid ""
+"The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
+"capability), or module loading is disabled (see I</proc/sys/kernel/"
+"modules_disabled> in B<proc>(5))."
+msgstr ""
+"呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。もし"
+"くはモジュールのロードが無効になっている (B<proc>(5) の I</proc/sys/kernel/"
+"modules_disabled> を参照)。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:198
+msgid "The following errors may additionally occur for B<init_module>():"
+msgstr "B<init_module>() では以下のエラーも発生する場合がある。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:201
+msgid "A module with this name is already loaded."
+msgstr "その名前のモジュールがすでにロードされている。"
+
+#.  .TP
+#.  .BR EINVAL " (Linux 2.4 and earlier)"
+#.  Some
+#.  .I image
+#.  slot is filled in incorrectly,
+#.  .I image\->name
+#.  does not correspond to the original module name, some
+#.  .I image\->deps
+#.  entry does not correspond to a loaded module,
+#.  or some other similar inconsistency.
+#. type: Plain text
+#: build/C/man2/init_module.2:217
+msgid ""
+"I<param_values> is invalid, or some part of the ELF image in I<module_image> "
+"contains inconsistencies."
+msgstr ""
+"I<param_values> が無効、 または I<module_image> の ELF イメージの一部分に矛盾"
+"がある。"
+
+#. type: TP
+#: build/C/man2/init_module.2:217 build/C/man2/init_module.2:240
+#, no-wrap
+msgid "B<ENOEXEC>"
+msgstr "B<ENOEXEC>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:223
+msgid ""
+"The binary image supplied in I<module_image> is not an ELF image, or is an "
+"ELF image that is invalid or for a different architecture."
+msgstr ""
+"I<module_image> で指定されたバイナリーイメージが ELF イメージではない、 もし"
+"くは無効な ELF イメージや別のアーキテクチャー用の ELF イメージである。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:226
+msgid "The following errors may additionally occur for B<finit_module>():"
+msgstr "B<finit_module>() では以下のエラーも発生する場合がある。"
+
+#. type: TP
+#: build/C/man2/init_module.2:226
+#, no-wrap
+msgid "B<EBADF>"
+msgstr "B<EBADF>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:231
+msgid "The file referred to by I<fd> is not opened for reading."
+msgstr "I<fd> が参照するファイルが読み出し用にオープンされていない。"
+
+#. type: TP
+#: build/C/man2/init_module.2:231
+#, no-wrap
+msgid "B<EFBIG>"
+msgstr "B<EFBIG>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:236
+msgid "The file referred to by I<fd> is too large."
+msgstr "I<fd> が参照するファイルが大きすぎる。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:240
+msgid "I<flags> is invalid."
+msgstr "I<flags> が無効である。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:244
+msgid "I<fd> does not refer to an open file."
+msgstr "I<fd> がオープンされたファイルを参照していない。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:256
+msgid ""
+"In addition to the above errors, if the module's I<init> function is "
+"executed and returns an error, then B<init_module>()  or B<finit_module>()  "
+"fails and I<errno> is set to the value returned by the I<init> function."
+msgstr ""
+"上記のエラーに加え、 モジュールの I<init> 関数が実行されてエラーが発生した場"
+"合には、 B<init_module>() や B<finit_module>() は失敗し、 I<errno> に "
+"I<init> 関数が返した値が設定される。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:259
+msgid "B<finit_module>()  is available since Linux 3.8."
+msgstr "B<finit_module>() は Linux 3.8 以降で利用可能である。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:264
+msgid "B<init_module>()  and B<finit_module>()  are Linux-specific."
+msgstr "B<init_module>() と B<finit_module>() は Linux 固有である。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:274
+msgid ""
+"The B<init_module>()  system call is not supported by glibc.  No declaration "
+"is provided in glibc headers, but, through a quirk of history, glibc does "
+"export an ABI for this system call.  Therefore, in order to employ this "
+"system call, it is sufficient to manually declare the interface in your "
+"code; alternatively, you can invoke the system call using B<syscall>(2)."
+msgstr ""
+"B<init_module>() システムコールは glibc ではサポートされていない。 glibc ヘッ"
+"ダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステム"
+"コールに対する ABI を公開していない。 したがって、このシステムコールを利用す"
+"るには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
+"B<syscall>(2) を使ってシステムコールを起動できる。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:279
+msgid ""
+"Glibc does not provide a wrapper for B<finit_module>(); call it using "
+"B<syscall>(2)."
+msgstr ""
+"glibc は B<finit_module>() に対するラッパー関数を提供していない。 "
+"B<syscall>(2) を使って呼び出すこと。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:284
+msgid ""
+"Information about currently loaded modules can be found in I</proc/modules> "
+"and in the file trees under the per-module subdirectories under I</sys/"
+"module>."
+msgstr ""
+"現在ロードされているモジュールに関する情報は I</proc/modules> および I</sys/"
+"module> 以下のモジュール単位のサブディレクトリ内のファイルツリーで参照でき"
+"る。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:288
+msgid ""
+"See the Linux kernel source file I<include/linux/module.h> for some useful "
+"background information."
+msgstr ""
+"Linux カーネルのソースファイル I<include/linux/module.h> には背景に関する有用"
+"な情報がある。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:293
+msgid ""
+"In Linux 2.4 and earlier, the B<init_module>()  system call was rather "
+"different:"
+msgstr ""
+"Linux 2.4 以前では B<init_module>() システムコールはかなり違ったものであっ"
+"た。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:295
+msgid "B<#include E<lt>linux/module.hE<gt>>"
+msgstr "B<#include E<lt>linux/module.hE<gt>>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:297
+msgid ""
+"B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
+msgstr ""
+"B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:305
+msgid ""
+"(User-space applications can detect which version of B<init_module>()  is "
+"available by calling B<query_module>(); the latter call fails with the error "
+"B<ENOSYS> on Linux 2.6 and later.)"
+msgstr ""
+"(ユーザー空間アプリケーションは B<query_module>() を呼び出してどのバージョン"
+"の B<init_module>() が利用可能かを検出できる。 B<query_module>() の呼び出し"
+"は Linux 2.6 以降ではエラー B<ENOSYS> で失敗する。)"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:316
+msgid ""
+"The older version of the system call loads the relocated module image "
+"pointed to by I<image> into kernel space and runs the module's I<init> "
+"function.  The caller is responsible for providing the relocated image "
+"(since Linux 2.6, the B<init_module>()  system call does the relocation)."
+msgstr ""
+"古いバージョンのシステムコールは、 I<image> が指す再配置されたモジュールイ"
+"メージをカーネル空間にロードし、 モジュールの I<init> 関数を実行する。 呼び出"
+"し元には再配置されたイメージを提供する責任がある (Linux 2.6 以降では "
+"B<init_module>() システムコールが再配置自体を行う)。"
+
+#. type: Plain text
+#: build/C/man2/init_module.2:320
 msgid ""
 "The module image begins with a module structure and is followed by code and "
-"data as appropriate.  The module structure is defined as follows:"
+"data as appropriate.  Since Linux 2.2, the module structure is defined as "
+"follows:"
 msgstr ""
 "モジュールイメージは先頭部分に module 構造体があり、その後ろに 適切なコードと"
-"データが続く。 この module 構造体は以下のように定義されている:"
+"データが続く。 Linux 2.2 以降では module 構造体は以下のように定義されている。"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:50
+#: build/C/man2/init_module.2:343
 #, no-wrap
 msgid ""
 "struct module {\n"
@@ -563,67 +1306,38 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:60
+#: build/C/man2/init_module.2:353
 msgid ""
 "All of the pointer fields, with the exception of I<next> and I<refs>, are "
 "expected to point within the module body and be initialized as appropriate "
 "for kernel space, that is, relocated with the rest of the module."
 msgstr ""
-"I<next> と I<refs> 以外の全てのポインタ要素はモジュール本体内部を指し、 カー"
-"ネル空間での適切な値で初期化される (つまり、モジュールの残りの 部分で再配置さ"
-"れる) ことが期待される。"
-
-#. type: Plain text
-#: build/C/man2/init_module.2:62
-msgid "This system call requires privilege."
-msgstr "このシステムコールを使うには特権が必要である。"
-
-#. type: Plain text
-#: build/C/man2/init_module.2:71
-msgid "The module's initialization routine failed."
-msgstr "モジュールの初期化ルーチンが失敗した。"
-
-#. type: Plain text
-#: build/C/man2/init_module.2:77
-msgid "I<name> or I<image> is outside the program's accessible address space."
-msgstr ""
-"I<name> や I<image> がプログラムがアクセスできるアドレス空間の外部にある。"
+"I<next> と I<refs> 以外の全てのポインター要素はモジュール本体内部を指し、 "
+"カーネル空間での適切な値で初期化される (つまり、モジュールの残りの 部分で再配"
+"置される) ことが期待される。"
 
 #. type: Plain text
-#: build/C/man2/init_module.2:87
+#: build/C/man2/init_module.2:359
 msgid ""
-"Some I<image> slot is filled in incorrectly, I<image-E<gt>name> does not "
-"correspond to the original module name, some I<image-E<gt>deps> entry does "
-"not correspond to a loaded module, or some other similar inconsistency."
+"B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), "
+"B<modprobe>(8)"
 msgstr ""
-"一部の I<image> スロットにおかしな値が入っている。または I<image-E<gt>name> "
-"が元のモジュール名と一致していない。または、一部の I<image-E<gt>deps> エント"
-"リがロードされたモジュールに対応していない。 または、他に同様の矛盾が起こって"
-"いる。"
-
-#. type: Plain text
-#: build/C/man2/init_module.2:99
-msgid "B<init_module>()  is Linux-specific."
-msgstr "B<init_module>()  は Linux 固有である。"
-
-#. type: Plain text
-#: build/C/man2/init_module.2:103
-msgid "B<create_module>(2), B<delete_module>(2), B<query_module>(2)"
-msgstr "B<create_module>(2), B<delete_module>(2), B<query_module>(2)"
+"B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), "
+"B<modprobe>(8)"
 
 #. type: TH
-#: build/C/man2/query_module.2:8
+#: build/C/man2/query_module.2:10
 #, no-wrap
 msgid "QUERY_MODULE"
 msgstr "QUERY_MODULE"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:11
+#: build/C/man2/query_module.2:13
 msgid "query_module - query the kernel for various bits pertaining to modules"
 msgstr "query_module - モジュールに関連する各種の情報をカーネルに問い合わせる"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:17
+#: build/C/man2/query_module.2:19
 #, no-wrap
 msgid ""
 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void *>I<buf>B<,>\n"
@@ -633,7 +1347,7 @@ msgstr ""
 "B<                 size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:35
+#: build/C/man2/query_module.2:43
 msgid ""
 "B<query_module>()  requests information from the kernel about loadable "
 "modules.  The returned information is placed in the buffer pointed to by "
@@ -643,26 +1357,26 @@ msgid ""
 "identify a currently loaded module, some allow I<name> to be NULL, "
 "indicating the kernel proper."
 msgstr ""
-"B<query_module>()  ã\81¯ã\80\81ã\83­ã\83¼ã\83\80ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92ã\82«ã\83¼ã\83\8dã\83«ã\81«å\95\8fã\81\84å\90\88ã\82\8fã\81\9b"
-"ã\82\8bã\80\82 æ\83\85å ±ã\81¯ I<buf> ã\81\8cæ\8c\87ã\81\97示ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡に格納されて返される。 呼び出し元は "
+"B<query_module>()  ã\81¯ã\80\81ã\83­ã\83¼ã\83\80ã\83¼ã\83\96ã\83«ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81«é\96¢ã\81\99ã\82\8bæ\83\85å ±ã\82\92ã\82«ã\83¼ã\83\8dã\83«ã\81«å\95\8fã\81\84å\90\88ã\82\8f"
+"ã\81\9bã\82\8bã\80\82 æ\83\85å ±ã\81¯ I<buf> ã\81\8cæ\8c\87ã\81\97示ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼に格納されて返される。 呼び出し元は "
 "I<buf> のサイズを I<bufsize> に指定しなければならない。 得られる情報の正確な"
 "意味とフォーマットは、 I<which> でどの操作を指定するかによって異なる。 現在"
 "ロードされているモジュールを特定するために I<name> を必要とする操作があれ"
 "ば、 カーネル固有であることを示す NULL を指定できる操作もある。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:38
+#: build/C/man2/query_module.2:46
 msgid "The following values can be specified for I<which>:"
 msgstr "I<which> には以下の値を指定できる:"
 
 #. type: TP
-#: build/C/man2/query_module.2:38
+#: build/C/man2/query_module.2:46
 #, no-wrap
 msgid "B<0>"
 msgstr "B<0>"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:43
+#: build/C/man2/query_module.2:51
 msgid ""
 "Returns success, if the kernel supports B<query_module>().  Used to probe "
 "for availability of the system call."
@@ -671,76 +1385,76 @@ msgstr ""
 "ムコールが利用可能かを調べるために使われる。"
 
 #. type: TP
-#: build/C/man2/query_module.2:43
+#: build/C/man2/query_module.2:51
 #, no-wrap
 msgid "B<QM_MODULES>"
 msgstr "B<QM_MODULES>"
 
 #.  ret is set on ENOSPC
 #. type: Plain text
-#: build/C/man2/query_module.2:51
+#: build/C/man2/query_module.2:59
 msgid ""
 "Returns the names of all loaded modules.  The returned buffer consists of a "
 "sequence of null-terminated strings; I<ret> is set to the number of modules."
 msgstr ""
-"ã\83­ã\83¼ã\83\89ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå\85¨ã\81¦ã\81®ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®å\90\8då\89\8dã\82\92è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\81«ã\81¯ã\80\81NULL 終端された"
-"文字列が順に入る。 返されるバッファ I<ret> にはモジュールの数が設定される。"
+"ã\83­ã\83¼ã\83\89ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå\85¨ã\81¦ã\81®ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®å\90\8då\89\8dã\82\92è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«ã\81¯ã\80\81ã\83\8cã\83«終端された"
+"文字列が順に入る。 返されるバッファ I<ret> にはモジュールの数が設定される。"
 
 #. type: TP
-#: build/C/man2/query_module.2:51
+#: build/C/man2/query_module.2:59
 #, no-wrap
 msgid "B<QM_DEPS>"
 msgstr "B<QM_DEPS>"
 
 #.  ret is set on ENOSPC
 #. type: Plain text
-#: build/C/man2/query_module.2:58
+#: build/C/man2/query_module.2:66
 msgid ""
 "Returns the names of all modules used by the indicated module.  The returned "
 "buffer consists of a sequence of null-terminated strings; I<ret> is set to "
 "the number of modules."
 msgstr ""
-"指定されたモジュールが使用している全モジュールの名前を返す。 バッファには、"
-"NULL 終端された文字列が順に入る。 返されるバッファ I<ret> にはモジュールの数"
+"æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81\8c使ç\94¨ã\81\97ã\81¦ã\81\84ã\82\8bå\85¨ã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81®å\90\8då\89\8dã\82\92è¿\94ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«ã\81¯ã\80\81"
+"ヌル終端された文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数"
 "が設定される。"
 
 #. type: TP
-#: build/C/man2/query_module.2:58
+#: build/C/man2/query_module.2:66
 #, no-wrap
 msgid "B<QM_REFS>"
 msgstr "B<QM_REFS>"
 
 #.  ret is set on ENOSPC
 #. type: Plain text
-#: build/C/man2/query_module.2:67
+#: build/C/man2/query_module.2:75
 msgid ""
 "Returns the names of all modules using the indicated module.  This is the "
 "inverse of B<QM_DEPS>.  The returned buffer consists of a sequence of null-"
 "terminated strings; I<ret> is set to the number of modules."
 msgstr ""
 "指定されたモジュールを使用している全モジュールの名前を返す。 これは "
-"B<QM_DEPS> ã\81¨é\80\86ã\81®æ©\9fè\83½ã\81§ã\81\82ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\81«ã\81¯ã\80\81NULL 終端された文字列が順に入"
-"る。 返されるバッファ I<ret> にはモジュールの数が設定される。"
+"B<QM_DEPS> ã\81¨é\80\86ã\81®æ©\9fè\83½ã\81§ã\81\82ã\82\8bã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«ã\81¯ã\80\81ã\83\8cã\83«終端された文字列が順に入"
+"る。 返されるバッファ I<ret> にはモジュールの数が設定される。"
 
 #. type: TP
-#: build/C/man2/query_module.2:67
+#: build/C/man2/query_module.2:75
 #, no-wrap
 msgid "B<QM_SYMBOLS>"
 msgstr "B<QM_SYMBOLS>"
 
 #.  ret is set on ENOSPC
 #. type: Plain text
-#: build/C/man2/query_module.2:73
+#: build/C/man2/query_module.2:81
 msgid ""
 "Returns the symbols and values exported by the kernel or the indicated "
 "module.  The returned buffer is an array of structures of the following form"
 msgstr ""
 "カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返"
-"ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\81®ã\83\87ã\83¼ã\82¿ã\81¯ã\80\81 ä»¥ä¸\8bã\81®æ§\8bé\80 ä½\93ã\81®é\85\8då\88\97ã\81« NULL 終端された文字列が続く形"
+"ã\81\99ã\80\82 ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\83\87ã\83¼ã\82¿ã\81¯ã\80\81 ä»¥ä¸\8bã\81®æ§\8bé\80 ä½\93ã\81®é\85\8då\88\97ã\81«ã\83\8cã\83«終端された文字列が続く形"
 "となる。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:80
+#: build/C/man2/query_module.2:88
 #, no-wrap
 msgid ""
 "struct module_symbol {\n"
@@ -754,7 +1468,7 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:90
+#: build/C/man2/query_module.2:98
 msgid ""
 "followed by null-terminated strings.  The value of I<name> is the character "
 "offset of the string relative to the start of I<buf>; I<ret> is set to the "
@@ -764,22 +1478,22 @@ msgstr ""
 "I<ret> にはシンボルの数が設定される。"
 
 #. type: TP
-#: build/C/man2/query_module.2:90
+#: build/C/man2/query_module.2:98
 #, no-wrap
 msgid "B<QM_INFO>"
 msgstr "B<QM_INFO>"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:94
+#: build/C/man2/query_module.2:102
 msgid ""
 "Returns miscellaneous information about the indicated module.  The output "
 "buffer format is:"
 msgstr ""
-"æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81«é\96¢ã\81\99ã\82\8bæ§\98ã\80\85ã\81ªæ\83\85å ±ã\82\92è¿\94ã\81\99ã\80\82 å\87ºå\8a\9bã\83\90ã\83\83ã\83\95ã\82¡ã\81®ã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81¯ä»¥"
-"下の形式となる:"
+"æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83¢ã\82¸ã\83¥ã\83¼ã\83«ã\81«é\96¢ã\81\99ã\82\8bæ§\98ã\80\85ã\81ªæ\83\85å ±ã\82\92è¿\94ã\81\99ã\80\82 å\87ºå\8a\9bã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®ã\83\95ã\82©ã\83¼ã\83\9eã\83\83ã\83\88ã\81¯"
+"以ä¸\8bã\81®å½¢å¼\8fã\81¨ã\81ªã\82\8b:"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:102
+#: build/C/man2/query_module.2:110
 #, no-wrap
 msgid ""
 "struct module_info {\n"
@@ -795,22 +1509,22 @@ msgstr ""
 "};\n"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:121
+#: build/C/man2/query_module.2:129
 msgid ""
 "where I<address> is the kernel address at which the module resides, I<size> "
 "is the size of the module in bytes, and I<flags> is a mask of "
-"B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, etc. that indicates the current status of "
-"the module (see the kernel source file I<include/linux/module.h>).  I<ret> "
-"is set to the size of the I<module_info> structure."
+"B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, and so on, that indicates the current "
+"status of the module (see the Linux kernel source file I<include/linux/"
+"module.h>).  I<ret> is set to the size of the I<module_info> structure."
 msgstr ""
 "I<address> はそのモジュールが配置されているカーネル空間上のアドレス、 "
 "I<size> はそのモジュールのバイト単位のサイズ、 I<flags> は B<MOD_RUNNING>, "
-"B<MOD_AUTOCLEAN> 等のマスクであり、そのモジュールの現在の状態を示す (カーネル"
-"のソースファイル I<include/linux/module.h> を参照)。 I<ret> には "
+"B<MOD_AUTOCLEAN> 等のマスクであり、そのモジュールの現在の状態を示す (Linux "
+"ã\82«ã\83¼ã\83\8dã\83«ã\81®ã\82½ã\83¼ã\82¹ã\83\95ã\82¡ã\82¤ã\83« I<include/linux/module.h> ã\82\92å\8f\82ç\85§)ã\80\82 I<ret> ã\81«ã\81¯ "
 "I<module_info> 構造体のサイズが設定される。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:135
+#: build/C/man2/query_module.2:143
 msgid ""
 "At least one of I<name>, I<buf>, or I<ret> was outside the program's "
 "accessible address space."
@@ -820,7 +1534,7 @@ msgstr ""
 
 #.  Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
 #. type: Plain text
-#: build/C/man2/query_module.2:145
+#: build/C/man2/query_module.2:153
 msgid ""
 "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
 "is not permitted with the specified value of I<which>."
@@ -829,60 +1543,70 @@ msgstr ""
 "示す)、 I<which> で指定された値との組み合わせは許可されていない。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:150
+#: build/C/man2/query_module.2:158
 msgid "No module by that I<name> exists."
 msgstr "I<name> という名前のモジュールが存在しない。"
 
 #. type: TP
-#: build/C/man2/query_module.2:150
+#: build/C/man2/query_module.2:158
 #, no-wrap
 msgid "B<ENOSPC>"
 msgstr "B<ENOSPC>"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:155
+#: build/C/man2/query_module.2:163
 msgid ""
 "The buffer size provided was too small.  I<ret> is set to the minimum size "
 "needed."
 msgstr ""
-"ä¸\8eã\81\88ã\82\89ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\81®å¤§ã\81\8dã\81\95ã\81\8cå°\8fã\81\95ã\81\99ã\81\8eã\82\8bã\80\82 I<ret> ã\81«ã\81¯æ\9c\80å°\8fé\99\90å¿\85è¦\81ã\81ªã\83\90ã\83\83ã\83\95ã\82¡ã\81®ã\82µ"
-"イズが設定される。"
+"ä¸\8eã\81\88ã\82\89ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å¤§ã\81\8dã\81\95ã\81\8cå°\8fã\81\95ã\81\99ã\81\8eã\82\8bã\80\82 I<ret> ã\81«ã\81¯æ\9c\80å°\8fé\99\90å¿\85è¦\81ã\81ªã\83\90ã\83\83ã\83\95ã\82¡ã\83¼"
+"ã\81®ã\82µã\82¤ã\82ºã\81\8c設å®\9aã\81\95ã\82\8cã\82\8bã\80\82"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:159
-msgid "B<query_module>()  is not supported in this version of the kernel."
+#: build/C/man2/query_module.2:168
+msgid ""
+"B<query_module>()  is not supported in this version of the kernel (e.g., the "
+"kernel is version 2.6 or later)."
 msgstr ""
-"B<query_module>()  はこのバージョンのカーネルではサポートされていない。"
+"B<query_module>() はこのバージョンのカーネルではサポートされていない (例え"
+"ば、カーネルのバージョンが 2.6 以降)。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:162
+#: build/C/man2/query_module.2:175
 msgid "B<query_module>()  is Linux-specific."
 msgstr "B<query_module>()  は Linux 固有である。"
 
-#. type: SH
-#: build/C/man2/query_module.2:162
-#, no-wrap
-msgid "NOTES"
-msgstr "注意"
+#. type: Plain text
+#: build/C/man2/query_module.2:183
+msgid ""
+"Some of the information that was formerly available via B<query_module>()  "
+"can be obtained from I</proc/modules>, I</proc/kallsyms>, and the files "
+"under the directory I</sys/module>."
+msgstr ""
+"以前 B<query_module>() で得られた情報のいくつかは、 I</proc/modules>, I</"
+"proc/kallsyms> および I</sys/module> ディレクトリ内のファイルから取得できる。"
 
-#.  Removed in Linux 2.5.48
 #. type: Plain text
-#: build/C/man2/query_module.2:173
+#: build/C/man2/query_module.2:193
 msgid ""
-"This system call is only present on Linux up until kernel 2.4; it was "
-"removed in Linux 2.6.  Some of the information that was available via "
-"B<query_module>()  can be obtained from I</proc/modules>, I</proc/kallsyms>, "
-"and I</sys/modules>."
+"The B<query_module>()  system call is not supported by glibc.  No "
+"declaration is provided in glibc headers, but, through a quirk of history, "
+"glibc does export an ABI for this system call.  Therefore, in order to "
+"employ this system call, it is sufficient to manually declare the interface "
+"in your code; alternatively, you can invoke the system call using "
+"B<syscall>(2)."
 msgstr ""
-"このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux "
-"2.6 では削除された。 B<query_module>()  で得られた情報のいくつかは、 I</proc/"
-"modules>, I</proc/kallsyms>, I</sys/modules> から取得できる。"
+"B<query_module>() システムコールは glibc ではサポートされていない。 glibc "
+"ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
+"テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
+"用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
+"B<syscall>(2) を使ってシステムコールを起動できる。"
 
 #. type: Plain text
-#: build/C/man2/query_module.2:178
+#: build/C/man2/query_module.2:200
 msgid ""
 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
-"B<init_module>(2)"
+"B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"
 msgstr ""
 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
-"B<init_module>(2)"
+"B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"