1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:24+0900\n"
10 "PO-Revision-Date: 2015-01-24 20:50+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man2/create_module.2:10
22 msgstr "CREATE_MODULE"
25 #: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
26 #: build/C/man2/init_module.2:27 build/C/man2/query_module.2:10
32 #: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
33 #: build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27
34 #: build/C/man2/query_module.2:10
40 #: build/C/man2/create_module.2:10 build/C/man2/delete_module.2:25
41 #: build/C/man2/get_kernel_syms.2:10 build/C/man2/init_module.2:27
42 #: build/C/man2/query_module.2:10
44 msgid "Linux Programmer's Manual"
45 msgstr "Linux Programmer's Manual"
48 #: build/C/man2/create_module.2:11 build/C/man2/delete_module.2:26
49 #: build/C/man2/get_kernel_syms.2:11 build/C/man2/init_module.2:28
50 #: build/C/man2/query_module.2:11
56 #: build/C/man2/create_module.2:13
57 msgid "create_module - create a loadable module entry"
58 msgstr "create_module - ローダブルモジュールのエントリを作成する"
61 #: build/C/man2/create_module.2:13 build/C/man2/delete_module.2:28
62 #: build/C/man2/get_kernel_syms.2:13 build/C/man2/init_module.2:30
63 #: build/C/man2/query_module.2:13
69 #: build/C/man2/create_module.2:16 build/C/man2/get_kernel_syms.2:16
70 #: build/C/man2/query_module.2:16
72 msgid "B<#include E<lt>linux/module.hE<gt>>\n"
73 msgstr "B<#include E<lt>linux/module.hE<gt>>\n"
76 #: build/C/man2/create_module.2:18
78 msgid "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
79 msgstr "B<caddr_t create_module(const char *>I<name>B<, size_t >I<size>B<);>\n"
82 #: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:35
83 #: build/C/man2/query_module.2:23
84 msgid "I<Note>: No declaration of this function is provided in glibc headers; see NOTES."
85 msgstr "I<注意>: この関数の宣言は glibc のヘッダーでは提供されていない。「注意」を参照。"
88 #: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:35
89 #: build/C/man2/get_kernel_syms.2:19 build/C/man2/init_module.2:45
90 #: build/C/man2/query_module.2:23
96 #: build/C/man2/create_module.2:25 build/C/man2/query_module.2:26
97 msgid "I<Note>: This system call is present only in kernels before Linux 2.6."
98 msgstr "I<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけである。"
101 #: build/C/man2/create_module.2:30
102 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."
103 msgstr "B<create_module>() は、ローダブルモジュールのエントリを作成し、そのモジュールの保持に必要な カーネルメモリを予約しようとする。 このシステムコールを使うには特権が必要である。"
106 #: build/C/man2/create_module.2:30 build/C/man2/delete_module.2:124
107 #: build/C/man2/get_kernel_syms.2:48 build/C/man2/init_module.2:154
108 #: build/C/man2/query_module.2:129
114 #: build/C/man2/create_module.2:35
115 msgid "On success, returns the kernel address at which the module will reside. On error, -1 is returned and I<errno> is set appropriately."
116 msgstr "成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場合 -1 を返し、 I<errno> を適切に設定する。"
119 #: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:129
120 #: build/C/man2/get_kernel_syms.2:54 build/C/man2/init_module.2:159
121 #: build/C/man2/query_module.2:134
127 #: build/C/man2/create_module.2:36 build/C/man2/init_module.2:198
133 #: build/C/man2/create_module.2:39
134 msgid "A module by that name already exists."
135 msgstr "その名前のモジュールがすでに存在する。"
138 #: build/C/man2/create_module.2:39 build/C/man2/delete_module.2:143
139 #: build/C/man2/init_module.2:166 build/C/man2/query_module.2:135
145 #: build/C/man2/create_module.2:43
146 msgid "I<name> is outside the program's accessible address space."
147 msgstr "I<name> がプログラムがアクセスできるアドレス空間の外部にある。"
150 #: build/C/man2/create_module.2:43 build/C/man2/init_module.2:201
151 #: build/C/man2/init_module.2:236 build/C/man2/query_module.2:143
157 #: build/C/man2/create_module.2:46
158 msgid "The requested size is too small even for the module header information."
159 msgstr "要求したサイズが小さすぎて、モジュールのヘッダ情報すら格納できない。"
162 #: build/C/man2/create_module.2:46 build/C/man2/init_module.2:181
168 #: build/C/man2/create_module.2:50
169 msgid "The kernel could not allocate a contiguous block of memory large enough for the module."
170 msgstr "モジュールを格納するのに必要な大きさの連続したメモリブロックを カーネルが確保できなかった。"
173 #: build/C/man2/create_module.2:50 build/C/man2/get_kernel_syms.2:56
174 #: build/C/man2/query_module.2:163
180 #: build/C/man2/create_module.2:55
181 msgid "B<create_module>() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later)."
182 msgstr "B<create_module>() がこのバージョンのカーネルではサポートされていない (例えば、カーネルのバージョンが 2.6 以降)。"
185 #: build/C/man2/create_module.2:55 build/C/man2/delete_module.2:150
186 #: build/C/man2/init_module.2:184
192 #: build/C/man2/create_module.2:61
193 msgid "The caller was not privileged (did not have the B<CAP_SYS_MODULE> capability)."
194 msgstr "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。"
197 #: build/C/man2/create_module.2:61 build/C/man2/get_kernel_syms.2:60
198 #: build/C/man2/init_module.2:256 build/C/man2/query_module.2:168
203 #. Removed in Linux 2.5.48
205 #: build/C/man2/create_module.2:65 build/C/man2/get_kernel_syms.2:64
206 #: build/C/man2/query_module.2:172
207 msgid "This system call is present on Linux only up until kernel 2.4; it was removed in Linux 2.6."
208 msgstr "このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。"
211 #: build/C/man2/create_module.2:65 build/C/man2/delete_module.2:172
212 #: build/C/man2/get_kernel_syms.2:64 build/C/man2/init_module.2:259
213 #: build/C/man2/query_module.2:172
215 msgid "CONFORMING TO"
219 #: build/C/man2/create_module.2:68
220 msgid "B<create_module>() is Linux-specific."
221 msgstr "B<create_module>() は Linux 固有である。"
224 #: build/C/man2/create_module.2:68 build/C/man2/delete_module.2:175
225 #: build/C/man2/init_module.2:264 build/C/man2/query_module.2:175
231 #: build/C/man2/create_module.2:78
232 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)."
233 msgstr "B<create_module>() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインタフェースを宣言すればよい。 B<syscall>(2) を使ってシステムコールを起動できる。"
236 #: build/C/man2/create_module.2:78 build/C/man2/delete_module.2:209
237 #: build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:353
238 #: build/C/man2/query_module.2:193
244 #: build/C/man2/create_module.2:82
245 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
246 msgstr "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
249 #: build/C/man2/create_module.2:82 build/C/man2/delete_module.2:216
250 #: build/C/man2/get_kernel_syms.2:85 build/C/man2/init_module.2:359
251 #: build/C/man2/query_module.2:200
257 #: build/C/man2/create_module.2:90 build/C/man2/delete_module.2:224
258 #: build/C/man2/get_kernel_syms.2:93 build/C/man2/init_module.2:367
259 #: build/C/man2/query_module.2:208
260 msgid "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/."
262 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
263 "である。プロジェクトの説明とバグ報告に関する情報は\n"
264 "http://www.kernel.org/doc/man-pages/ に書かれている。"
267 #: build/C/man2/delete_module.2:25
269 msgid "DELETE_MODULE"
270 msgstr "DELETE_MODULE"
273 #: build/C/man2/delete_module.2:28
274 msgid "delete_module - unload a kernel module"
275 msgstr "delete_module - カーネルモジュールをアンロードする"
278 #: build/C/man2/delete_module.2:31
280 msgid "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
281 msgstr "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
284 #: build/C/man2/delete_module.2:49
285 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."
289 #: build/C/man2/delete_module.2:51
290 msgid "Module removal is attempted according to the following rules:"
294 #: build/C/man2/delete_module.2:51
300 #: build/C/man2/delete_module.2:55
301 msgid "If there are other loaded modules that depend on (i.e., refer to symbols defined in) this module, then the call fails."
305 #: build/C/man2/delete_module.2:55
311 #: build/C/man2/delete_module.2:59
312 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."
316 #: build/C/man2/delete_module.2:59
321 #. O_TRUNC == KMOD_REMOVE_FORCE in kmod library
322 #. O_NONBLOCK == KMOD_REMOVE_NOWAIT in kmod library
324 #: build/C/man2/delete_module.2:70
325 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."
329 #: build/C/man2/delete_module.2:74
330 msgid "The various combinations for I<flags> have the following effect:"
334 #: build/C/man2/delete_module.2:75
336 msgid "B<flags == O_NONBLOCK>"
337 msgstr "B<flags == O_NONBLOCK>"
340 #: build/C/man2/delete_module.2:78
341 msgid "The call returns immediately, with an error."
345 #: build/C/man2/delete_module.2:78
347 msgid "B<flags == (O_NONBLOCK | O_TRUNC)>"
348 msgstr "B<flags == (O_NONBLOCK | O_TRUNC)>"
351 #: build/C/man2/delete_module.2:82
352 msgid "The module is unloaded immediately, regardless of whether it has a nonzero reference count."
356 #: build/C/man2/delete_module.2:82
358 msgid "B<(flags & O_NONBLOCK) == 0>"
359 msgstr "B<(flags & O_NONBLOCK) == 0>"
362 #: build/C/man2/delete_module.2:89
363 msgid "If I<flags> does not specify B<O_NONBLOCK>, the following steps occur:"
367 #: build/C/man2/delete_module.2:90 build/C/man2/delete_module.2:92
368 #: build/C/man2/delete_module.2:97
374 #: build/C/man2/delete_module.2:92
375 msgid "The module is marked so that no new references are permitted."
379 #: build/C/man2/delete_module.2:97
380 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."
384 #: build/C/man2/delete_module.2:99
385 msgid "The module is unloaded in the usual way."
389 #: build/C/man2/delete_module.2:113
390 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."
394 #: build/C/man2/delete_module.2:124
395 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)."
399 #: build/C/man2/delete_module.2:129 build/C/man2/query_module.2:134
400 msgid "On success, zero is returned. On error, -1 is returned and I<errno> is set appropriately."
401 msgstr "成功の場合 0 が返される。エラーの場合 -1 が返され、 I<errno> に適切な値が設定される。"
404 #: build/C/man2/delete_module.2:130 build/C/man2/init_module.2:163
410 #: build/C/man2/delete_module.2:143
411 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>."
415 #: build/C/man2/delete_module.2:147
416 msgid "I<name> refers to a location outside the process's accessible address space."
417 msgstr "I<name> がプロセスがアクセスできるアドレス空間外の場所を参照している。"
420 #: build/C/man2/delete_module.2:147 build/C/man2/query_module.2:153
426 #: build/C/man2/delete_module.2:150
427 msgid "No module by that name exists."
428 msgstr "その名前のモジュールが存在しない。"
431 #: build/C/man2/delete_module.2:161
432 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))."
433 msgstr "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。もしくはモジュールのアンロードが無効になっている (B<proc>(5) の I</proc/sys/kernel/modules_disabled> を参照)。"
436 #: build/C/man2/delete_module.2:161
438 msgid "B<EWOULDBLOCK>"
439 msgstr "B<EWOULDBLOCK>"
442 #: build/C/man2/delete_module.2:172
443 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>."
447 #: build/C/man2/delete_module.2:175
448 msgid "B<delete_module>() is Linux-specific."
449 msgstr "B<delete_module>() は Linux 固有である。"
452 #: build/C/man2/delete_module.2:185
453 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)."
454 msgstr "B<delete_module>() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインタフェースを宣言すればよい。 B<syscall>(2) を使ってシステムコールを起動できる。"
457 #: build/C/man2/delete_module.2:195
458 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."
462 #: build/C/man2/delete_module.2:195 build/C/man2/init_module.2:288
464 msgid "Linux 2.4 and earlier"
468 #: build/C/man2/delete_module.2:197
469 msgid "In Linux 2.4 and earlier, the system call took only one argument:"
473 #: build/C/man2/delete_module.2:199
474 msgid "B< int delete_module(const char *>I<name>B<);>"
475 msgstr "B< int delete_module(const char *>I<name>B<);>"
478 #: build/C/man2/delete_module.2:203
479 msgid "If I<name> is NULL, all unused modules marked auto-clean are removed."
483 #: build/C/man2/delete_module.2:209
484 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."
488 #: build/C/man2/delete_module.2:216
489 msgid "B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), B<modprobe>(8), B<rmmod>(8)"
490 msgstr "B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), B<modprobe>(8), B<rmmod>(8)"
493 #: build/C/man2/get_kernel_syms.2:10
495 msgid "GET_KERNEL_SYMS"
496 msgstr "GET_KERNEL_SYMS"
499 #: build/C/man2/get_kernel_syms.2:10
505 #: build/C/man2/get_kernel_syms.2:13
506 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
507 msgstr "get_kernel_syms - 公開されているカーネルやモジュールのシンボルの取得"
510 #: build/C/man2/get_kernel_syms.2:18
512 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
513 msgstr "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
516 #: build/C/man2/get_kernel_syms.2:22
517 msgid "B<Note>: This system call is present only in kernels before Linux 2.6."
518 msgstr "B<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけである。"
521 #: build/C/man2/get_kernel_syms.2:29
522 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:"
523 msgstr "B<get_kernel_syms>() は、 I<table> が NULL の場合、 問い合わせできるシンボルの数を返す。 NULL 以外の場合、以下の構造体の列 (table) に値を入れて返す。"
526 #: build/C/man2/get_kernel_syms.2:36
529 "struct kernel_sym {\n"
530 " unsigned long value;\n"
534 "struct kernel_sym {\n"
535 " unsigned long value;\n"
540 #: build/C/man2/get_kernel_syms.2:44
541 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 symbol of this form is the address at which the module is loaded."
542 msgstr "シンボルの中には、 B<#>I<module-name> という形式の、カーネルが空の名前を持っているマジックシンボル (magic symbol) が散在している。この形式のシンボルに対応する値は モジュールがロードされたアドレスとなる。"
545 #: build/C/man2/get_kernel_syms.2:48
546 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."
547 msgstr "個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ の後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。"
550 #: build/C/man2/get_kernel_syms.2:54
551 msgid "On success, returns the number of symbols copied to I<table>. On error, -1 is returned and I<errno> is set appropriately."
552 msgstr "成功すると、 I<table> にコピーされたシンボル数を返す。 エラーの場合、-1 を返し、 I<errno> を適切に設定する。"
555 #: build/C/man2/get_kernel_syms.2:56
556 msgid "There is only one possible error return:"
557 msgstr "返る可能性があるエラーは一つだけである。"
560 #: build/C/man2/get_kernel_syms.2:60
561 msgid "B<get_kernel_syms>() is not supported in this version of the kernel."
562 msgstr "B<get_kernel_syms>() がこのバージョンのカーネルではサポートされていない。"
565 #: build/C/man2/get_kernel_syms.2:67
566 msgid "B<get_kernel_syms>() is Linux-specific."
567 msgstr "B<get_kernel_syms>() は Linux 固有である。"
570 #: build/C/man2/get_kernel_syms.2:67
576 #: build/C/man2/get_kernel_syms.2:72
577 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."
578 msgstr "I<table> 用に確保したバッファーの大きさを伝える方法がない。 プログラムがシンボルテーブルの大きさを問い合わせた後に、カーネルに シンボルが追加されると、メモリの内容が破壊されることになる。"
581 #: build/C/man2/get_kernel_syms.2:74
582 msgid "The length of exported symbol names is limited to 59 characters."
583 msgstr "公開されるシンボル名の長さが 59 文字に制限されている。"
586 #: build/C/man2/get_kernel_syms.2:80
587 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 interfaces described on its manual page)."
588 msgstr "これらの制限があるので、このシステムコールを使うよりは B<query_module>(2) を使うのが望ましい (現在では B<query_module>(2) 自身もそのマニュアルページに書かれているように 他のインタフェースを使うのが望ましいとされている)。"
591 #: build/C/man2/get_kernel_syms.2:85
592 msgid "B<create_module>(2), B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
593 msgstr "B<create_module>(2), B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
596 #: build/C/man2/init_module.2:27
602 #: build/C/man2/init_module.2:30
603 msgid "init_module, finit_module - load a kernel module"
604 msgstr "init_module, finit_module - カーネルモジュールをロードする"
607 #: build/C/man2/init_module.2:34
610 "B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
611 "B< const char *>I<param_values>B<);>\n"
613 "B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
614 "B< const char *>I<param_values>B<);>\n"
617 #: build/C/man2/init_module.2:37
620 "B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
621 "B< int >I<flags>B<);>\n"
623 "B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
624 "B< int >I<flags>B<);>\n"
627 #: build/C/man2/init_module.2:45
628 msgid "I<Note>: glibc provides no header file declaration of B<init_module>() and no wrapper function for B<finit_module>(); see NOTES."
632 #: build/C/man2/init_module.2:54
633 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."
637 #: build/C/man2/init_module.2:62
638 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."
642 #: build/C/man2/init_module.2:73
643 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:"
647 #: build/C/man2/init_module.2:78
648 msgid "I<name>[B<=>I<value>[B<,>I<value>...]]"
652 #: build/C/man2/init_module.2:93
653 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."
657 #: build/C/man2/init_module.2:93
659 msgid "finit_module()"
662 #. commit 34e1169d996ab148490c01b65b4ee371cf8ffba2
663 #. https://lwn.net/Articles/519010/
665 #: build/C/man2/init_module.2:111
666 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>()."
669 #. commit 2f3238aebedb243804f58d62d57244edec4149b2
671 #: build/C/man2/init_module.2:119
672 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:"
676 #: build/C/man2/init_module.2:119
678 msgid "B<MODULE_INIT_IGNORE_MODVERSIONS>"
682 #: build/C/man2/init_module.2:122
683 msgid "Ignore symbol version hashes."
687 #: build/C/man2/init_module.2:122
689 msgid "B<MODULE_INIT_IGNORE_VERMAGIC>"
693 #: build/C/man2/init_module.2:125
694 msgid "Ignore kernel version magic."
697 #. http://www.tldp.org/HOWTO/Module-HOWTO/basekerncompat.html
698 #. is dated, but informative
700 #: build/C/man2/init_module.2:143
701 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."
705 #: build/C/man2/init_module.2:154
706 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."
710 #: build/C/man2/init_module.2:159
711 msgid "On success, these system calls return 0. On error, -1 is returned and I<errno> is set appropriately."
712 msgstr "成功の場合、これらのシステムコールは 0 を返す。エラーの場合 -1 が返され、 I<errno> に適切な値が設定される。"
715 #: build/C/man2/init_module.2:160
717 msgid "B<EBADMSG> (since Linux 3.7)"
718 msgstr "B<EBADMSG> (Linux 3.7 以降)"
721 #: build/C/man2/init_module.2:163
722 msgid "Module signature is misformatted."
726 #: build/C/man2/init_module.2:166
727 msgid "Timeout while trying to resolve a symbol reference by this module."
731 #: build/C/man2/init_module.2:170
732 msgid "An address argument referred to a location that is outside the process's accessible address space."
733 msgstr "アドレス引き数が、プロセスがアクセスできるアドレス空間外の場所を参照していた。"
736 #: build/C/man2/init_module.2:170
738 msgid "B<ENOKEY> (since Linux 3.7)"
739 msgstr "B<ENOKEY> (Linux 3.7 以降)"
741 #. commit 48ba2462ace6072741fd8d0058207d630ce93bf1
742 #. commit 1d0059f3a468825b5fc5405c636a2f6e02707ffa
743 #. commit 106a4ee258d14818467829bf0e12aeae14c16cd7
745 #: build/C/man2/init_module.2:181
746 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."
750 #: build/C/man2/init_module.2:184
751 msgid "Out of memory."
755 #: build/C/man2/init_module.2:195
756 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))."
757 msgstr "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。もしくはモジュールのロードが無効になっている (B<proc>(5) の I</proc/sys/kernel/modules_disabled> を参照)。"
760 #: build/C/man2/init_module.2:198
761 msgid "The following errors may additionally occur for B<init_module>():"
765 #: build/C/man2/init_module.2:201
766 msgid "A module with this name is already loaded."
767 msgstr "その名前のモジュールがすでにロードされている。"
770 #. .BR EINVAL " (Linux 2.4 and earlier)"
773 #. slot is filled in incorrectly,
775 #. does not correspond to the original module name, some
777 #. entry does not correspond to a loaded module,
778 #. or some other similar inconsistency.
780 #: build/C/man2/init_module.2:217
781 msgid "I<param_values> is invalid, or some part of the ELF image in I<module_image> contains inconsistencies."
785 #: build/C/man2/init_module.2:217 build/C/man2/init_module.2:240
791 #: build/C/man2/init_module.2:223
792 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."
796 #: build/C/man2/init_module.2:226
797 msgid "The following errors may additionally occur for B<finit_module>():"
801 #: build/C/man2/init_module.2:226
807 #: build/C/man2/init_module.2:231
808 msgid "The file referred to by I<fd> is not opened for reading."
812 #: build/C/man2/init_module.2:231
818 #: build/C/man2/init_module.2:236
819 msgid "The file referred to by I<fd> is too large."
823 #: build/C/man2/init_module.2:240
824 msgid "I<flags> is invalid."
825 msgstr "I<flags> が無効である。"
828 #: build/C/man2/init_module.2:244
829 msgid "I<fd> does not refer to an open file."
830 msgstr "I<fd> がオープンされたファイルを参照していない。"
833 #: build/C/man2/init_module.2:256
834 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."
838 #: build/C/man2/init_module.2:259
839 msgid "B<finit_module>() is available since Linux 3.8."
840 msgstr "B<finit_module>() は Linux 3.8 以降で利用可能である。"
843 #: build/C/man2/init_module.2:264
844 msgid "B<init_module>() and B<finit_module>() are Linux-specific."
845 msgstr "B<init_module>() と B<finit_module>() は Linux 固有である。"
848 #: build/C/man2/init_module.2:274
849 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)."
850 msgstr "B<init_module>() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインタフェースを宣言すればよい。 B<syscall>(2) を使ってシステムコールを起動できる。"
853 #: build/C/man2/init_module.2:279
854 msgid "Glibc does not provide a wrapper for B<finit_module>(); call it using B<syscall>(2)."
855 msgstr "glibc は B<finit_module>() に対するラッパー関数を提供していない。 B<syscall>(2) を使って呼び出すこと。"
858 #: build/C/man2/init_module.2:284
859 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>."
863 #: build/C/man2/init_module.2:288
864 msgid "See the Linux kernel source file I<include/linux/module.h> for some useful background information."
868 #: build/C/man2/init_module.2:293
869 msgid "In Linux 2.4 and earlier, the B<init_module>() system call was rather different:"
873 #: build/C/man2/init_module.2:295
874 msgid "B<#include E<lt>linux/module.hE<gt>>"
875 msgstr "B<#include E<lt>linux/module.hE<gt>>"
878 #: build/C/man2/init_module.2:297
879 msgid "B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
880 msgstr "B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
883 #: build/C/man2/init_module.2:305
884 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.)"
888 #: build/C/man2/init_module.2:316
889 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)."
893 #: build/C/man2/init_module.2:320
894 msgid "The module image begins with a module structure and is followed by code and data as appropriate. Since Linux 2.2, the module structure is defined as follows:"
895 msgstr "モジュールイメージは先頭部分に module 構造体があり、その後ろに 適切なコードとデータが続く。 Linux 2.2 以降では module 構造体は以下のように定義されている。"
898 #: build/C/man2/init_module.2:343
902 " unsigned long size_of_struct;\n"
903 " struct module *next;\n"
904 " const char *name;\n"
905 " unsigned long size;\n"
907 " unsigned long flags;\n"
908 " unsigned int nsyms;\n"
909 " unsigned int ndeps;\n"
910 " struct module_symbol *syms;\n"
911 " struct module_ref *deps;\n"
912 " struct module_ref *refs;\n"
913 " int (*init)(void);\n"
914 " void (*cleanup)(void);\n"
915 " const struct exception_table_entry *ex_table_start;\n"
916 " const struct exception_table_entry *ex_table_end;\n"
918 " unsigned long gp;\n"
923 " unsigned long size_of_struct;\n"
924 " struct module *next;\n"
925 " const char *name;\n"
926 " unsigned long size;\n"
928 " unsigned long flags;\n"
929 " unsigned int nsyms;\n"
930 " unsigned int ndeps;\n"
931 " struct module_symbol *syms;\n"
932 " struct module_ref *deps;\n"
933 " struct module_ref *refs;\n"
934 " int (*init)(void);\n"
935 " void (*cleanup)(void);\n"
936 " const struct exception_table_entry *ex_table_start;\n"
937 " const struct exception_table_entry *ex_table_end;\n"
939 " unsigned long gp;\n"
944 #: build/C/man2/init_module.2:353
945 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."
946 msgstr "I<next> と I<refs> 以外の全てのポインター要素はモジュール本体内部を指し、 カーネル空間での適切な値で初期化される (つまり、モジュールの残りの 部分で再配置される) ことが期待される。"
949 #: build/C/man2/init_module.2:359
950 msgid "B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), B<modprobe>(8)"
951 msgstr "B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), B<modprobe>(8)"
954 #: build/C/man2/query_module.2:10
957 msgstr "QUERY_MODULE"
960 #: build/C/man2/query_module.2:13
961 msgid "query_module - query the kernel for various bits pertaining to modules"
962 msgstr "query_module - モジュールに関連する各種の情報をカーネルに問い合わせる"
965 #: build/C/man2/query_module.2:19
968 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void *>I<buf>B<,>\n"
969 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
971 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void *>I<buf>B<,>\n"
972 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
975 #: build/C/man2/query_module.2:43
976 msgid "B<query_module>() requests information from the kernel about loadable modules. The returned information is placed in the buffer pointed to by I<buf>. The caller must specify the size of I<buf> in I<bufsize>. The precise nature and format of the returned information depend on the operation specified by I<which>. Some operations require I<name> to identify a currently loaded module, some allow I<name> to be NULL, indicating the kernel proper."
977 msgstr "B<query_module>() は、ローダブルモジュールに関する情報をカーネルに問い合わせる。 情報は I<buf> が指し示すバッファーに格納されて返される。 呼び出し元は I<buf> のサイズを I<bufsize> に指定しなければならない。 得られる情報の正確な意味とフォーマットは、 I<which> でどの操作を指定するかによって異なる。 現在ロードされているモジュールを特定するために I<name> を必要とする操作があれば、 カーネル固有であることを示す NULL を指定できる操作もある。"
980 #: build/C/man2/query_module.2:46
981 msgid "The following values can be specified for I<which>:"
982 msgstr "I<which> には以下の値を指定できる:"
985 #: build/C/man2/query_module.2:46
991 #: build/C/man2/query_module.2:51
992 msgid "Returns success, if the kernel supports B<query_module>(). Used to probe for availability of the system call."
993 msgstr "カーネルが B<query_module>() をサポートしている場合、成功を返す。 このシステムコールが利用可能かを調べるために使われる。"
996 #: build/C/man2/query_module.2:51
998 msgid "B<QM_MODULES>"
999 msgstr "B<QM_MODULES>"
1001 #. ret is set on ENOSPC
1003 #: build/C/man2/query_module.2:59
1004 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."
1005 msgstr "ロードされている全てのモジュールの名前を返す。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数が設定される。"
1008 #: build/C/man2/query_module.2:59
1013 #. ret is set on ENOSPC
1015 #: build/C/man2/query_module.2:66
1016 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."
1017 msgstr "指定されたモジュールが使用している全モジュールの名前を返す。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数が設定される。"
1020 #: build/C/man2/query_module.2:66
1025 #. ret is set on ENOSPC
1027 #: build/C/man2/query_module.2:75
1028 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."
1029 msgstr "指定されたモジュールを使用している全モジュールの名前を返す。 これは B<QM_DEPS> と逆の機能である。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数が設定される。"
1032 #: build/C/man2/query_module.2:75
1034 msgid "B<QM_SYMBOLS>"
1035 msgstr "B<QM_SYMBOLS>"
1037 #. ret is set on ENOSPC
1039 #: build/C/man2/query_module.2:81
1040 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"
1041 msgstr "カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返す。 バッファーのデータは、 以下の構造体の配列にヌル終端された文字列が続く形となる。"
1044 #: build/C/man2/query_module.2:88
1047 "struct module_symbol {\n"
1048 " unsigned long value;\n"
1049 " unsigned long name;\n"
1052 "struct module_symbol {\n"
1053 " unsigned long value;\n"
1054 " unsigned long name;\n"
1058 #: build/C/man2/query_module.2:98
1059 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 number of symbols."
1060 msgstr "I<name> の値は、 I<buf> の先頭からの文字列までのオフセット文字数である。 I<ret> にはシンボルの数が設定される。"
1063 #: build/C/man2/query_module.2:98
1069 #: build/C/man2/query_module.2:102
1070 msgid "Returns miscellaneous information about the indicated module. The output buffer format is:"
1071 msgstr "指定されたモジュールに関する様々な情報を返す。 出力バッファーのフォーマットは以下の形式となる:"
1074 #: build/C/man2/query_module.2:110
1077 "struct module_info {\n"
1078 " unsigned long address;\n"
1079 " unsigned long size;\n"
1080 " unsigned long flags;\n"
1083 "struct module_info {\n"
1084 " unsigned long address;\n"
1085 " unsigned long size;\n"
1086 " unsigned long flags;\n"
1090 #: build/C/man2/query_module.2:129
1091 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>, 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."
1092 msgstr "I<address> はそのモジュールが配置されているカーネル空間上のアドレス、 I<size> はそのモジュールのバイト単位のサイズ、 I<flags> は B<MOD_RUNNING>, B<MOD_AUTOCLEAN> 等のマスクであり、そのモジュールの現在の状態を示す (Linux カーネルのソースファイル I<include/linux/module.h> を参照)。 I<ret> には I<module_info> 構造体のサイズが設定される。"
1095 #: build/C/man2/query_module.2:143
1096 msgid "At least one of I<name>, I<buf>, or I<ret> was outside the program's accessible address space."
1097 msgstr "I<name>, I<buf>, I<ret> の少なくとも一つが、プログラムがアクセスできる アドレス空間の外部であった。"
1099 #. Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
1101 #: build/C/man2/query_module.2:153
1102 msgid "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this is not permitted with the specified value of I<which>."
1103 msgstr "I<which> が不正である。あるいは I<name> が NULL だが (NULL は \"カーネル\" を示す)、 I<which> で指定された値との組み合わせは許可されていない。"
1106 #: build/C/man2/query_module.2:158
1107 msgid "No module by that I<name> exists."
1108 msgstr "I<name> という名前のモジュールが存在しない。"
1111 #: build/C/man2/query_module.2:158
1117 #: build/C/man2/query_module.2:163
1118 msgid "The buffer size provided was too small. I<ret> is set to the minimum size needed."
1119 msgstr "与えられたバッファーの大きさが小さすぎる。 I<ret> には最小限必要なバッファーのサイズが設定される。"
1122 #: build/C/man2/query_module.2:168
1123 msgid "B<query_module>() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later)."
1124 msgstr "B<query_module>() はこのバージョンのカーネルではサポートされていない (例えば、カーネルのバージョンが 2.6 以降)。"
1127 #: build/C/man2/query_module.2:175
1128 msgid "B<query_module>() is Linux-specific."
1129 msgstr "B<query_module>() は Linux 固有である。"
1132 #: build/C/man2/query_module.2:183
1133 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>."
1134 msgstr "以前 B<query_module>() で得られた情報のいくつかは、 I</proc/modules>, I</proc/kallsyms> および I</sys/module> ディレクトリ内のファイルから取得できる。"
1137 #: build/C/man2/query_module.2:193
1138 msgid "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)."
1139 msgstr "B<query_module>() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインタフェースを宣言すればよい。 B<syscall>(2) を使ってシステムコールを起動できる。"
1142 #: build/C/man2/query_module.2:200
1143 msgid "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"
1144 msgstr "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"