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-02-04 23:30+0900\n"
10 "PO-Revision-Date: 2015-01-31 00:03+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
85 "I<Note>: No declaration of this function is provided in glibc headers; see "
88 "I<注意>: この関数の宣言は glibc のヘッダーでは提供されていない。「注意」を参"
92 #: build/C/man2/create_module.2:22 build/C/man2/delete_module.2:35
93 #: build/C/man2/get_kernel_syms.2:19 build/C/man2/init_module.2:45
94 #: build/C/man2/query_module.2:23
100 #: build/C/man2/create_module.2:25 build/C/man2/query_module.2:26
101 msgid "I<Note>: This system call is present only in kernels before Linux 2.6."
103 "I<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけで"
107 #: build/C/man2/create_module.2:30
109 "B<create_module>() attempts to create a loadable module entry and reserve "
110 "the kernel memory that will be needed to hold the module. This system call "
111 "requires privilege."
113 "B<create_module>() は、ローダーブルモジュールのエントリーを作成し、そのモ"
114 "ジュールの保持に必要な カーネルメモリーを予約しようとする。 このシステムコー"
118 #: build/C/man2/create_module.2:30 build/C/man2/delete_module.2:124
119 #: build/C/man2/get_kernel_syms.2:48 build/C/man2/init_module.2:154
120 #: build/C/man2/query_module.2:129
126 #: build/C/man2/create_module.2:35
128 "On success, returns the kernel address at which the module will reside. On "
129 "error, -1 is returned and I<errno> is set appropriately."
131 "成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場"
132 "合 -1 を返し、 I<errno> を適切に設定する。"
135 #: build/C/man2/create_module.2:35 build/C/man2/delete_module.2:129
136 #: build/C/man2/get_kernel_syms.2:54 build/C/man2/init_module.2:159
137 #: build/C/man2/query_module.2:134
143 #: build/C/man2/create_module.2:36 build/C/man2/init_module.2:198
149 #: build/C/man2/create_module.2:39
150 msgid "A module by that name already exists."
151 msgstr "その名前のモジュールがすでに存在する。"
154 #: build/C/man2/create_module.2:39 build/C/man2/delete_module.2:143
155 #: build/C/man2/init_module.2:166 build/C/man2/query_module.2:135
161 #: build/C/man2/create_module.2:43
162 msgid "I<name> is outside the program's accessible address space."
163 msgstr "I<name> がプログラムがアクセスできるアドレス空間の外部にある。"
166 #: build/C/man2/create_module.2:43 build/C/man2/init_module.2:201
167 #: build/C/man2/init_module.2:236 build/C/man2/query_module.2:143
173 #: build/C/man2/create_module.2:46
174 msgid "The requested size is too small even for the module header information."
175 msgstr "要求したサイズが小さすぎて、モジュールのヘッダー情報すら格納できない。"
178 #: build/C/man2/create_module.2:46 build/C/man2/init_module.2:181
184 #: build/C/man2/create_module.2:50
186 "The kernel could not allocate a contiguous block of memory large enough for "
189 "モジュールを格納するのに必要な大きさの連続したメモリーブロックを カーネルが確"
193 #: build/C/man2/create_module.2:50 build/C/man2/get_kernel_syms.2:56
194 #: build/C/man2/query_module.2:163
200 #: build/C/man2/create_module.2:55
202 "B<create_module>() is not supported in this version of the kernel (e.g., "
203 "the kernel is version 2.6 or later)."
205 "B<create_module>() がこのバージョンのカーネルではサポートされていない (例え"
206 "ば、カーネルのバージョンが 2.6 以降)。"
209 #: build/C/man2/create_module.2:55 build/C/man2/delete_module.2:150
210 #: build/C/man2/init_module.2:184
216 #: build/C/man2/create_module.2:61
218 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
221 "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。"
224 #: build/C/man2/create_module.2:61 build/C/man2/get_kernel_syms.2:60
225 #: build/C/man2/init_module.2:256 build/C/man2/query_module.2:168
230 #. Removed in Linux 2.5.48
232 #: build/C/man2/create_module.2:65 build/C/man2/get_kernel_syms.2:64
233 #: build/C/man2/query_module.2:172
235 "This system call is present on Linux only up until kernel 2.4; it was "
236 "removed in Linux 2.6."
238 "このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux "
242 #: build/C/man2/create_module.2:65 build/C/man2/delete_module.2:172
243 #: build/C/man2/get_kernel_syms.2:64 build/C/man2/init_module.2:259
244 #: build/C/man2/query_module.2:172
246 msgid "CONFORMING TO"
250 #: build/C/man2/create_module.2:68
251 msgid "B<create_module>() is Linux-specific."
252 msgstr "B<create_module>() は Linux 固有である。"
255 #: build/C/man2/create_module.2:68 build/C/man2/delete_module.2:175
256 #: build/C/man2/init_module.2:264 build/C/man2/query_module.2:175
262 #: build/C/man2/create_module.2:78
264 "The B<create_module>() system call is not supported by glibc. No "
265 "declaration is provided in glibc headers, but, through a quirk of history, "
266 "glibc does export an ABI for this system call. Therefore, in order to "
267 "employ this system call, it is sufficient to manually declare the interface "
268 "in your code; alternatively, you can invoke the system call using "
271 "B<create_module>() システムコールは glibc ではサポートされていない。 glibc "
272 "ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
273 "テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
274 "用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
275 "B<syscall>(2) を使ってシステムコールを起動できる。"
278 #: build/C/man2/create_module.2:78 build/C/man2/delete_module.2:209
279 #: build/C/man2/get_kernel_syms.2:80 build/C/man2/init_module.2:353
280 #: build/C/man2/query_module.2:193
286 #: build/C/man2/create_module.2:82
287 msgid "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
288 msgstr "B<delete_module>(2), B<init_module>(2), B<query_module>(2)"
291 #: build/C/man2/create_module.2:82 build/C/man2/delete_module.2:216
292 #: build/C/man2/get_kernel_syms.2:85 build/C/man2/init_module.2:359
293 #: build/C/man2/query_module.2:200
299 #: build/C/man2/create_module.2:90 build/C/man2/delete_module.2:224
300 #: build/C/man2/get_kernel_syms.2:93 build/C/man2/init_module.2:367
301 #: build/C/man2/query_module.2:208
304 #| "This page is part of release 3.78 of the Linux I<man-pages> project. A "
305 #| "description of the project, information about reporting bugs, and the "
306 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
309 "This page is part of release 3.79 of the Linux I<man-pages> project. A "
310 "description of the project, information about reporting bugs, and the latest "
311 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
314 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
315 "である。プロジェクトの説明とバグ報告に関する情報は\n"
316 "http://www.kernel.org/doc/man-pages/ に書かれている。"
319 #: build/C/man2/delete_module.2:25
321 msgid "DELETE_MODULE"
322 msgstr "DELETE_MODULE"
325 #: build/C/man2/delete_module.2:28
326 msgid "delete_module - unload a kernel module"
327 msgstr "delete_module - カーネルモジュールをアンロードする"
330 #: build/C/man2/delete_module.2:31
332 msgid "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
333 msgstr "B<int delete_module(const char *>I<name>B<, int >I<flags>B<);>\n"
336 #: build/C/man2/delete_module.2:49
338 "The B<delete_module>() system call attempts to remove the unused loadable "
339 "module entry identified by I<name>. If the module has an I<exit> function, "
340 "then that function is executed before unloading the module. The I<flags> "
341 "argument is used to modify the behavior of the system call, as described "
342 "below. This system call requires privilege."
344 "B<delete_module>() システムコールは、 I<name> で特定される未使用のロード可能"
345 "なモジュールのエントリーを削除しようとする。 モジュールに I<exit> 関数がある"
346 "場合、 モジュールをアンロードする前にこの関数が実行される。 I<flags> 引き数"
347 "は、以下で説明するようにシステムコールの動作を変更するのに使用される。 このシ"
351 #: build/C/man2/delete_module.2:51
352 msgid "Module removal is attempted according to the following rules:"
353 msgstr "モジュールの削除は以下のルールにしたがって行われる。"
356 #: build/C/man2/delete_module.2:51
362 #: build/C/man2/delete_module.2:55
364 "If there are other loaded modules that depend on (i.e., refer to symbols "
365 "defined in) this module, then the call fails."
367 "このモジュールに依存している (このモジュールで定義されているシンボルを参照し"
368 "ている) モジュールがロードされている場合、 この呼び出しは失敗する。"
371 #: build/C/man2/delete_module.2:55
377 #: build/C/man2/delete_module.2:59
379 "Otherwise, if the reference count for the module (i.e., the number of "
380 "processes currently using the module) is zero, then the module is "
381 "immediately unloaded."
383 "それ以外の場合で、 モジュールの参照カウント (このモジュールを現在使用している"
384 "プロセス数) が 0 であれば、 モジュールは直ちにアンロードされる。"
387 #: build/C/man2/delete_module.2:59
392 #. O_TRUNC == KMOD_REMOVE_FORCE in kmod library
393 #. O_NONBLOCK == KMOD_REMOVE_NOWAIT in kmod library
395 #: build/C/man2/delete_module.2:70
397 "If a module has a nonzero reference count, then the behavior depends on the "
398 "bits set in I<flags>. In normal usage (see NOTES), the B<O_NONBLOCK> flag "
399 "is always specified, and the B<O_TRUNC> flag may additionally be specified."
401 "モジュールの参照カウントが 0 でない場合、 その動作は I<flags> にセットされた"
402 "ビットによって決まる。 通常の使用時は (「注意」参照)、 B<O_NONBLOCK> は常に指"
403 "定され、 B<O_TRUNC> フラグが追加で指定されることがある。"
406 #: build/C/man2/delete_module.2:74
407 msgid "The various combinations for I<flags> have the following effect:"
408 msgstr "I<flags> の組み合わせが持つ効果は以下のとおりである。"
411 #: build/C/man2/delete_module.2:75
413 msgid "B<flags == O_NONBLOCK>"
414 msgstr "B<flags == O_NONBLOCK>"
417 #: build/C/man2/delete_module.2:78
418 msgid "The call returns immediately, with an error."
419 msgstr "エラーの場合、 呼び出しは直ちに返る。"
422 #: build/C/man2/delete_module.2:78
424 msgid "B<flags == (O_NONBLOCK | O_TRUNC)>"
425 msgstr "B<flags == (O_NONBLOCK | O_TRUNC)>"
428 #: build/C/man2/delete_module.2:82
430 "The module is unloaded immediately, regardless of whether it has a nonzero "
433 "参照カウントが 0 以外かどうかに関わらず、 直ちにモジュールをアンロードする。"
436 #: build/C/man2/delete_module.2:82
438 msgid "B<(flags & O_NONBLOCK) == 0>"
439 msgstr "B<(flags & O_NONBLOCK) == 0>"
442 #: build/C/man2/delete_module.2:89
443 msgid "If I<flags> does not specify B<O_NONBLOCK>, the following steps occur:"
445 "I<flags> に B<O_NONBLOCK> が指定されなかった場合、 以下のステップで処理が行わ"
449 #: build/C/man2/delete_module.2:90 build/C/man2/delete_module.2:92
450 #: build/C/man2/delete_module.2:97
456 #: build/C/man2/delete_module.2:92
457 msgid "The module is marked so that no new references are permitted."
458 msgstr "新しい参照を許可しないように、 指定されたモジュールにマークを付ける。"
461 #: build/C/man2/delete_module.2:97
463 "If the module's reference count is nonzero, the caller is placed in an "
464 "uninterruptible sleep state (B<TASK_UNINTERRUPTIBLE>) until the reference "
465 "count is zero, at which point the call unblocks."
467 "モジュールの参照カウントが 0 でない場合、 参照カウントが 0 になるまで、 呼び"
468 "出し元は割り込み不可のスリープ状態 (B<TASK_UNINTERRUPTIBLE>) に置かれる。 参"
469 "照カウントが 0 になった時点で、 呼び出し元の停止が解除される。"
472 #: build/C/man2/delete_module.2:99
473 msgid "The module is unloaded in the usual way."
474 msgstr "モジュールは通常通りの方法でアンロードされる。"
477 #: build/C/man2/delete_module.2:113
479 "The B<O_TRUNC> flag has one further effect on the rules described above. By "
480 "default, if a module has an I<init> function but no I<exit> function, then "
481 "an attempt to remove the module will fail. However, if B<O_TRUNC> was "
482 "specified, this requirement is bypassed."
484 "B<O_TRUNC> フラグには上記のルールに加えてもう一つの効果がある。 デフォルトで"
485 "は、 モジュールに I<init> 関数があるが I<exit> 関数がない場合、 そのモジュー"
486 "ルを削除しようとすると失敗する。 しかし、 B<O_TRUNC> が指定された場合、 この"
490 #: build/C/man2/delete_module.2:124
492 "Using the B<O_TRUNC> flag is dangerous! If the kernel was not built with "
493 "B<CONFIG_MODULE_FORCE_UNLOAD>, this flag is silently ignored. (Normally, "
494 "B<CONFIG_MODULE_FORCE_UNLOAD> is enabled.) Using this flag taints the "
495 "kernel (TAINT_FORCED_RMMOD)."
497 "B<O_TRUNC> フラグの使用は危険である! カーネルが "
498 "B<CONFIG_MODULE_FORCE_UNLOAD> で作成されていない場合、 このフラグは黙って無視"
499 "される (通常は B<CONFIG_MODULE_FORCE_UNLOAD> は有効になっている)。 このフラグ"
500 "を使うとカーネルにゴミが残ることになる (TAINT_FORCED_RMMOD)。"
503 #: build/C/man2/delete_module.2:129 build/C/man2/query_module.2:134
505 "On success, zero is returned. On error, -1 is returned and I<errno> is set "
508 "成功の場合 0 が返される。エラーの場合 -1 が返され、 I<errno> に適切な値が設定"
512 #: build/C/man2/delete_module.2:130 build/C/man2/init_module.2:163
518 #: build/C/man2/delete_module.2:143
520 "The module is not \"live\" (i.e., it is still being initialized or is "
521 "already marked for removal); or, the module has an I<init> function but has "
522 "no I<exit> function, and B<O_TRUNC> was not specified in I<flags>."
524 "モジュールは\"live\" ではない (モジュールがまだ初期化中か、 すでに削除のマー"
525 "クが付けられている)。 モジュールに I<init> 関数があるが I<exit> 関数がなく、 "
526 "I<flags> に B<O_TRUNC> が指定されていなかった。"
529 #: build/C/man2/delete_module.2:147
531 "I<name> refers to a location outside the process's accessible address space."
532 msgstr "I<name> がプロセスがアクセスできるアドレス空間外の場所を参照している。"
535 #: build/C/man2/delete_module.2:147 build/C/man2/query_module.2:153
541 #: build/C/man2/delete_module.2:150
542 msgid "No module by that name exists."
543 msgstr "その名前のモジュールが存在しない。"
546 #: build/C/man2/delete_module.2:161
548 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
549 "capability), or module unloading is disabled (see I</proc/sys/kernel/"
550 "modules_disabled> in B<proc>(5))."
552 "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。 また"
553 "は、 モジュールのアンロードが無効になっている (B<proc>(5) の I</proc/sys/"
554 "kernel/modules_disabled> を参照)。"
557 #: build/C/man2/delete_module.2:161
559 msgid "B<EWOULDBLOCK>"
560 msgstr "B<EWOULDBLOCK>"
563 #: build/C/man2/delete_module.2:172
565 "Other modules depend on this module; or, B<O_NONBLOCK> was specified in "
566 "I<flags>, but the reference count of this module is nonzero and B<O_TRUNC> "
567 "was not specified in I<flags>."
569 "他のモジュールがこのモジュールに依存している。または、 I<flags> に "
570 "B<O_NONBLOCK> が指定されたが、 このモジュールの参照カウントが 0 以外で "
571 "I<flags> に B<O_TRUNC> が指定されていなかった。"
574 #: build/C/man2/delete_module.2:175
575 msgid "B<delete_module>() is Linux-specific."
576 msgstr "B<delete_module>() は Linux 固有である。"
579 #: build/C/man2/delete_module.2:185
581 "The B<delete_module>() system call is not supported by glibc. No "
582 "declaration is provided in glibc headers, but, through a quirk of history, "
583 "glibc does export an ABI for this system call. Therefore, in order to "
584 "employ this system call, it is sufficient to manually declare the interface "
585 "in your code; alternatively, you can invoke the system call using "
588 "B<delete_module>() システムコールは glibc ではサポートされていない。 glibc "
589 "ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
590 "テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
591 "用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
592 "B<syscall>(2) を使ってシステムコールを起動できる。"
595 #: build/C/man2/delete_module.2:195
597 "The uninterruptible sleep that may occur if B<O_NONBLOCK> is omitted from "
598 "I<flags> is considered undesirable, because the sleeping process is left in "
599 "an unkillable state. As at Linux 3.7, specifying B<O_NONBLOCK> is optional, "
600 "but in future kernels it is likely to become mandatory."
602 "I<flags> に B<O_NONBLOCK> が指定されていない場合に起こる可能性がある割り込み"
603 "不可のスリープは望ましくないと考えられている。 なぜなら、 スリープしているプ"
604 "ロセスは kill できない状態 (unkillable state) のままになるからである。 Linux "
605 "3.7 時点では、 B<O_NONBLOCK> の指定は省略可能だが、 将来のカーネルでは必須に"
609 #: build/C/man2/delete_module.2:195 build/C/man2/init_module.2:288
611 msgid "Linux 2.4 and earlier"
612 msgstr "Linux 2.4 以前"
615 #: build/C/man2/delete_module.2:197
616 msgid "In Linux 2.4 and earlier, the system call took only one argument:"
617 msgstr "Linux 2.4 以前では、 このシステムコールの引き数は 1 つだけであった。"
620 #: build/C/man2/delete_module.2:199
621 msgid "B< int delete_module(const char *>I<name>B<);>"
622 msgstr "B< int delete_module(const char *>I<name>B<);>"
625 #: build/C/man2/delete_module.2:203
626 msgid "If I<name> is NULL, all unused modules marked auto-clean are removed."
628 "I<name> が NULL の場合、 auto-clean のマークがついたすべての未使用のモジュー"
632 #: build/C/man2/delete_module.2:209
634 "Some further details of differences in the behavior of B<delete_module>() "
635 "in Linux 2.4 and earlier are I<not> currently explained in this manual page."
637 "Linux 2.4 以前の B<delete_module>() の動作のより詳細な違いは、 現在のところこ"
638 "のマニュアルページでは説明I<しない>。"
641 #: build/C/man2/delete_module.2:216
643 "B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), "
644 "B<modprobe>(8), B<rmmod>(8)"
646 "B<create_module>(2), B<init_module>(2), B<query_module>(2), B<lsmod>(8), "
647 "B<modprobe>(8), B<rmmod>(8)"
650 #: build/C/man2/get_kernel_syms.2:10
652 msgid "GET_KERNEL_SYMS"
653 msgstr "GET_KERNEL_SYMS"
656 #: build/C/man2/get_kernel_syms.2:10
662 #: build/C/man2/get_kernel_syms.2:13
663 msgid "get_kernel_syms - retrieve exported kernel and module symbols"
664 msgstr "get_kernel_syms - 公開されているカーネルやモジュールのシンボルの取得"
667 #: build/C/man2/get_kernel_syms.2:18
669 msgid "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
670 msgstr "B<int get_kernel_syms(struct kernel_sym *>I<table>B<);>\n"
673 #: build/C/man2/get_kernel_syms.2:22
674 msgid "B<Note>: This system call is present only in kernels before Linux 2.6."
676 "B<注意>: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけで"
680 #: build/C/man2/get_kernel_syms.2:29
682 "If I<table> is NULL, B<get_kernel_syms>() returns the number of symbols "
683 "available for query. Otherwise, it fills in a table of structures:"
685 "B<get_kernel_syms>() は、 I<table> が NULL の場合、 問い合わせできるシンボル"
686 "の数を返す。 NULL 以外の場合、以下の構造体の列 (table) に値を入れて返す。"
689 #: build/C/man2/get_kernel_syms.2:36
692 "struct kernel_sym {\n"
693 " unsigned long value;\n"
697 "struct kernel_sym {\n"
698 " unsigned long value;\n"
703 #: build/C/man2/get_kernel_syms.2:44
705 "The symbols are interspersed with magic symbols of the form B<#>I<module-"
706 "name> with the kernel having an empty name. The value associated with a "
707 "symbol of this form is the address at which the module is loaded."
709 "シンボルの中には、 B<#>I<module-name> という形式の、カーネルが空の名前を持っ"
710 "ているマジックシンボル (magic symbol) が散在している。この形式のシンボルに対"
711 "応する値は モジュールがロードされたアドレスとなる。"
714 #: build/C/man2/get_kernel_syms.2:48
716 "The symbols exported from each module follow their magic module tag and the "
717 "modules are returned in the reverse of the order in which they were loaded."
719 "個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ の"
720 "後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。"
723 #: build/C/man2/get_kernel_syms.2:54
725 "On success, returns the number of symbols copied to I<table>. On error, -1 "
726 "is returned and I<errno> is set appropriately."
728 "成功すると、 I<table> にコピーされたシンボル数を返す。 エラーの場合、-1 を返"
729 "し、 I<errno> を適切に設定する。"
732 #: build/C/man2/get_kernel_syms.2:56
733 msgid "There is only one possible error return:"
734 msgstr "返る可能性があるエラーは一つだけである。"
737 #: build/C/man2/get_kernel_syms.2:60
738 msgid "B<get_kernel_syms>() is not supported in this version of the kernel."
740 "B<get_kernel_syms>() がこのバージョンのカーネルではサポートされていない。"
743 #: build/C/man2/get_kernel_syms.2:67
744 msgid "B<get_kernel_syms>() is Linux-specific."
745 msgstr "B<get_kernel_syms>() は Linux 固有である。"
748 #: build/C/man2/get_kernel_syms.2:67
754 #: build/C/man2/get_kernel_syms.2:72
756 "There is no way to indicate the size of the buffer allocated for I<table>. "
757 "If symbols have been added to the kernel since the program queried for the "
758 "symbol table size, memory will be corrupted."
760 "I<table> 用に確保したバッファーの大きさを伝える方法がない。 プログラムがシン"
761 "ボルテーブルの大きさを問い合わせた後に、カーネルに シンボルが追加されると、メ"
765 #: build/C/man2/get_kernel_syms.2:74
766 msgid "The length of exported symbol names is limited to 59 characters."
767 msgstr "公開されるシンボル名の長さが 59 文字に制限されている。"
770 #: build/C/man2/get_kernel_syms.2:80
772 "Because of these limitations, this system call is deprecated in favor of "
773 "B<query_module>(2) (which is itself nowadays deprecated in favor of other "
774 "interfaces described on its manual page)."
776 "これらの制限があるので、このシステムコールを使うよりは B<query_module>(2) を"
777 "使うのが望ましい (現在では B<query_module>(2) 自身もそのマニュアルページに書"
778 "かれているように 他のインターフェースを使うのが望ましいとされている)。"
781 #: build/C/man2/get_kernel_syms.2:85
783 "B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
786 "B<create_module>(2), B<delete_module>(2), B<init_module>(2), "
790 #: build/C/man2/init_module.2:27
796 #: build/C/man2/init_module.2:30
797 msgid "init_module, finit_module - load a kernel module"
798 msgstr "init_module, finit_module - カーネルモジュールをロードする"
801 #: build/C/man2/init_module.2:34
804 "B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
805 "B< const char *>I<param_values>B<);>\n"
807 "B<int init_module(void *>I<module_image>B<, unsigned long >I<len>B<,>\n"
808 "B< const char *>I<param_values>B<);>\n"
811 #: build/C/man2/init_module.2:37
814 "B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
815 "B< int >I<flags>B<);>\n"
817 "B<int finit_module(int >I<fd>B<, const char *>I<param_values>B<,>\n"
818 "B< int >I<flags>B<);>\n"
821 #: build/C/man2/init_module.2:45
823 "I<Note>: glibc provides no header file declaration of B<init_module>() and "
824 "no wrapper function for B<finit_module>(); see NOTES."
826 "I<注意>: glibc では、 ヘッダーファイルでの B<init_module>() の宣言はなく、 "
827 "B<finit_module>() のラッパー関数も提供されていない。 「注意」の節を参照。"
830 #: build/C/man2/init_module.2:54
832 "B<init_module>() loads an ELF image into kernel space, performs any "
833 "necessary symbol relocations, initializes module parameters to values "
834 "provided by the caller, and then runs the module's I<init> function. This "
835 "system call requires privilege."
837 "B<init_module>() は ELF イメージをカーネル空間にロードし、 必要なシンボルの配"
838 "置変更を行い、 モジュールパラメーターを呼び出し元から指定された値に初期化"
839 "し、 最後にそのモジュールの I<init> 関数を実行する。 このシステムコールには特"
843 #: build/C/man2/init_module.2:62
845 "The I<module_image> argument points to a buffer containing the binary image "
846 "to be loaded; I<len> specifies the size of that buffer. The module image "
847 "should be a valid ELF image, built for the running kernel."
849 "I<module_image> 引き数はロードするバイナリーイメージが入ったバッファーを指"
850 "し、 I<len> はバッファーのサイズを指定する。 モジュールイメージは、 実行中の"
851 "カーネル用に作成された有効な ELF イメージである必要がある。"
854 #: build/C/man2/init_module.2:73
856 "The I<param_values> argument is a string containing space-delimited "
857 "specifications of the values for module parameters (defined inside the "
858 "module using B<module_param>() and B<module_param_array>()). The kernel "
859 "parses this string and initializes the specified parameters. Each of the "
860 "parameter specifications has the form:"
862 "I<param_values> 引き数はモジュールパラメーター値を指定するスペース区切りの文"
863 "字列である (モジュールパラメーターは B<module_param>() や "
864 "B<module_param_array>() を使ってモジュール内で定義される)。 カーネルはこの文"
865 "字列を解釈し、指定されたパラメーターを初期化する。 各パラメーター指定は以下の"
869 #: build/C/man2/init_module.2:78
870 msgid "I<name>[B<=>I<value>[B<,>I<value>...]]"
871 msgstr "I<name>[B<=>I<value>[B<,>I<value>...]]"
874 #: build/C/man2/init_module.2:93
876 "The parameter I<name> is one of those defined within the module using "
877 "I<module_param>() (see the Linux kernel source file I<include/linux/"
878 "moduleparam.h>). The parameter I<value> is optional in the case of I<bool> "
879 "and I<invbool> parameters. Values for array parameters are specified as a "
880 "comma-separated list."
882 "パラメーター I<name> はモジュール内で I<module_param>() を使って定義されてい"
883 "るパラメーターのいずれか一つである (Linux カーネルのソースファイル I<include/"
884 "linux/moduleparam.h> を参照)。 パラメーター I<value> は I<bool> か "
885 "I<invbool> パラメーターの場合は省略可能である。 配列パラメーターの値はカンマ"
889 #: build/C/man2/init_module.2:93
891 msgid "finit_module()"
892 msgstr "finit_module()"
894 #. commit 34e1169d996ab148490c01b65b4ee371cf8ffba2
895 #. https://lwn.net/Articles/519010/
897 #: build/C/man2/init_module.2:111
899 "The B<finit_module>() system call is like B<init_module>(), but reads the "
900 "module to be loaded from the file descriptor I<fd>. It is useful when the "
901 "authenticity of a kernel module can be determined from its location in the "
902 "filesystem; in cases where that is possible, the overhead of using "
903 "cryptographically signed modules to determine the authenticity of a module "
904 "can be avoided. The I<param_values> argument is as for B<init_module>()."
906 "B<finit_module>() システムコールは B<init_module>() と同様だが、 ファイルディ"
907 "スクリプター I<fd> からモジュールをロードする。 カーネルモジュールの信頼性を"
908 "ファイルシステムにおける場所から判定できる場合、この方法は有効である。 この方"
909 "法が利用できる場合、 モジュールの信頼性を判定するのに暗号で署名されたモジュー"
910 "ルを使用することによるオーバーヘッドを避ける事ができる。 I<param_values> 引き"
911 "数は B<init_module>() と同じである。"
913 #. commit 2f3238aebedb243804f58d62d57244edec4149b2
915 #: build/C/man2/init_module.2:119
917 "The I<flags> argument modifies the operation of B<finit_module>(). It is a "
918 "bit mask value created by ORing together zero or more of the following flags:"
920 "I<flags> 引き数で B<finit_module>() の動作を変更できる。 I<flags> は以下のフ"
921 "ラグの 0 個以上の論理和をとって作成したビットマスクである。"
924 #: build/C/man2/init_module.2:119
926 msgid "B<MODULE_INIT_IGNORE_MODVERSIONS>"
927 msgstr "B<MODULE_INIT_IGNORE_MODVERSIONS>"
930 #: build/C/man2/init_module.2:122
931 msgid "Ignore symbol version hashes."
932 msgstr "シンボルのバージョンハッシュを無視する。"
935 #: build/C/man2/init_module.2:122
937 msgid "B<MODULE_INIT_IGNORE_VERMAGIC>"
938 msgstr "B<MODULE_INIT_IGNORE_VERMAGIC>"
941 #: build/C/man2/init_module.2:125
942 msgid "Ignore kernel version magic."
943 msgstr "カーネルのバージョン magic を無視する。"
945 #. http://www.tldp.org/HOWTO/Module-HOWTO/basekerncompat.html
946 #. is dated, but informative
948 #: build/C/man2/init_module.2:143
950 "There are some safety checks built into a module to ensure that it matches "
951 "the kernel against which it is loaded. These checks are recorded when the "
952 "module is built and verified when the module is loaded. First, the module "
953 "records a \"vermagic\" string containing the kernel version number and "
954 "prominent features (such as the CPU type). Second, if the module was built "
955 "with the B<CONFIG_MODVERSIONS> configuration option enabled, a version hash "
956 "is recorded for each symbol the module uses. This hash is based on the "
957 "types of the arguments and return value for the function named by the "
958 "symbol. In this case, the kernel version number within the \"vermagic\" "
959 "string is ignored, as the symbol version hashes are assumed to be "
960 "sufficiently reliable."
962 "そのモジュールがロードされるカーネルに合致することを保証するためのモジュール"
963 "に組み込みの安全チェックがある。 これらのチェックは、 モジュールの作成時に記"
964 "録され、 モジュールのロード時に検査される。 最初に、 モジュールはカーネルの"
965 "バージョン番号と主要な機能 (CPU 種別など) が入った \"vermagic\" 文字列を記録"
966 "する。 次に、 モジュールが B<CONFIG_MODVERSIONS> 設定オプションを有効にして作"
967 "成されている場合、 バージョンハッシュがモジュールが使用するシンボルごとに記録"
968 "される。 このハッシュはシンボルに対応する関数の引き数と返り値の型を基づいて計"
969 "算される。 この場合、 シンボルのバージョンハッシュは十分に信頼できると考えら"
970 "れているため、 \"vermagic\" 文字列内のカーネルのバージョン番号は無視される。"
973 #: build/C/man2/init_module.2:154
975 "Using the B<MODULE_INIT_IGNORE_VERMAGIC> flag indicates that the \"vermagic"
976 "\" string is to be ignored, and the B<MODULE_INIT_IGNORE_MODVERSIONS> flag "
977 "indicates that the symbol version hashes are to be ignored. If the kernel "
978 "is built to permit forced loading (i.e., configured with "
979 "B<CONFIG_MODULE_FORCE_LOAD>), then loading will continue, otherwise it will "
980 "fail with B<ENOEXEC> as expected for malformed modules."
982 "B<MODULE_INIT_IGNORE_VERMAGIC> フラグは \"vermagic\" 文字列を無視することを意"
983 "味し、 B<MODULE_INIT_IGNORE_MODVERSIONS> フラグはシンボルのバージョンハッシュ"
984 "を無視することを意味する。 カーネルが強制ロードを許可するように作成されている"
985 "場合 (B<CONFIG_MODULE_FORCE_LOAD> が有効になっている場合)、 モジュールのロー"
986 "ドは継続され、 そうでない場合は不正なモジュールに対して返るのと同じ "
990 #: build/C/man2/init_module.2:159
992 "On success, these system calls return 0. On error, -1 is returned and "
993 "I<errno> is set appropriately."
995 "成功の場合、これらのシステムコールは 0 を返す。エラーの場合 -1 が返され、 "
996 "I<errno> に適切な値が設定される。"
999 #: build/C/man2/init_module.2:160
1001 msgid "B<EBADMSG> (since Linux 3.7)"
1002 msgstr "B<EBADMSG> (Linux 3.7 以降)"
1005 #: build/C/man2/init_module.2:163
1006 msgid "Module signature is misformatted."
1007 msgstr "モジュールの署名が正しい形式ではない。"
1010 #: build/C/man2/init_module.2:166
1011 msgid "Timeout while trying to resolve a symbol reference by this module."
1012 msgstr "このモジュールがシンボル参照を解決する際にタイムアウトが起こった。"
1015 #: build/C/man2/init_module.2:170
1017 "An address argument referred to a location that is outside the process's "
1018 "accessible address space."
1020 "アドレス引き数が、プロセスがアクセスできるアドレス空間外の場所を参照してい"
1024 #: build/C/man2/init_module.2:170
1026 msgid "B<ENOKEY> (since Linux 3.7)"
1027 msgstr "B<ENOKEY> (Linux 3.7 以降)"
1029 #. commit 48ba2462ace6072741fd8d0058207d630ce93bf1
1030 #. commit 1d0059f3a468825b5fc5405c636a2f6e02707ffa
1031 #. commit 106a4ee258d14818467829bf0e12aeae14c16cd7
1033 #: build/C/man2/init_module.2:181
1035 "Module signature is invalid or the kernel does not have a key for this "
1036 "module. This error is returned only if the kernel was configured with "
1037 "B<CONFIG_MODULE_SIG_FORCE>; if the kernel was not configured with this "
1038 "option, then an invalid or unsigned module simply taints the kernel."
1040 "モジュールの署名が無効であるか、 カーネルがこのモジュール用の鍵を持っていな"
1041 "い。 このエラーが返されるのは、 カーネルが B<CONFIG_MODULE_SIG_FORCE> で作成"
1042 "されている場合のみである。 カーネルでこのオプションが有効になっていない場"
1043 "合、 無効なモジュールや署名されていないモジュールはカーネルのゴミになる。"
1046 #: build/C/man2/init_module.2:184
1047 msgid "Out of memory."
1051 #: build/C/man2/init_module.2:195
1053 "The caller was not privileged (did not have the B<CAP_SYS_MODULE> "
1054 "capability), or module loading is disabled (see I</proc/sys/kernel/"
1055 "modules_disabled> in B<proc>(5))."
1057 "呼び出し元が特権 (B<CAP_SYS_MODULE> ケーパビリティ) を持っていなかった。もし"
1058 "くはモジュールのロードが無効になっている (B<proc>(5) の I</proc/sys/kernel/"
1059 "modules_disabled> を参照)。"
1062 #: build/C/man2/init_module.2:198
1063 msgid "The following errors may additionally occur for B<init_module>():"
1064 msgstr "B<init_module>() では以下のエラーも発生する場合がある。"
1067 #: build/C/man2/init_module.2:201
1068 msgid "A module with this name is already loaded."
1069 msgstr "その名前のモジュールがすでにロードされている。"
1072 #. .BR EINVAL " (Linux 2.4 and earlier)"
1075 #. slot is filled in incorrectly,
1077 #. does not correspond to the original module name, some
1079 #. entry does not correspond to a loaded module,
1080 #. or some other similar inconsistency.
1082 #: build/C/man2/init_module.2:217
1084 "I<param_values> is invalid, or some part of the ELF image in I<module_image> "
1085 "contains inconsistencies."
1087 "I<param_values> が無効、 または I<module_image> の ELF イメージの一部分に矛盾"
1091 #: build/C/man2/init_module.2:217 build/C/man2/init_module.2:240
1097 #: build/C/man2/init_module.2:223
1099 "The binary image supplied in I<module_image> is not an ELF image, or is an "
1100 "ELF image that is invalid or for a different architecture."
1102 "I<module_image> で指定されたバイナリーイメージが ELF イメージではない、 もし"
1103 "くは無効な ELF イメージや別のアーキテクチャー用の ELF イメージである。"
1106 #: build/C/man2/init_module.2:226
1107 msgid "The following errors may additionally occur for B<finit_module>():"
1108 msgstr "B<finit_module>() では以下のエラーも発生する場合がある。"
1111 #: build/C/man2/init_module.2:226
1117 #: build/C/man2/init_module.2:231
1118 msgid "The file referred to by I<fd> is not opened for reading."
1119 msgstr "I<fd> が参照するファイルが読み出し用にオープンされていない。"
1122 #: build/C/man2/init_module.2:231
1128 #: build/C/man2/init_module.2:236
1129 msgid "The file referred to by I<fd> is too large."
1130 msgstr "I<fd> が参照するファイルが大きすぎる。"
1133 #: build/C/man2/init_module.2:240
1134 msgid "I<flags> is invalid."
1135 msgstr "I<flags> が無効である。"
1138 #: build/C/man2/init_module.2:244
1139 msgid "I<fd> does not refer to an open file."
1140 msgstr "I<fd> がオープンされたファイルを参照していない。"
1143 #: build/C/man2/init_module.2:256
1145 "In addition to the above errors, if the module's I<init> function is "
1146 "executed and returns an error, then B<init_module>() or B<finit_module>() "
1147 "fails and I<errno> is set to the value returned by the I<init> function."
1149 "上記のエラーに加え、 モジュールの I<init> 関数が実行されてエラーが発生した場"
1150 "合には、 B<init_module>() や B<finit_module>() は失敗し、 I<errno> に "
1151 "I<init> 関数が返した値が設定される。"
1154 #: build/C/man2/init_module.2:259
1155 msgid "B<finit_module>() is available since Linux 3.8."
1156 msgstr "B<finit_module>() は Linux 3.8 以降で利用可能である。"
1159 #: build/C/man2/init_module.2:264
1160 msgid "B<init_module>() and B<finit_module>() are Linux-specific."
1161 msgstr "B<init_module>() と B<finit_module>() は Linux 固有である。"
1164 #: build/C/man2/init_module.2:274
1166 "The B<init_module>() system call is not supported by glibc. No declaration "
1167 "is provided in glibc headers, but, through a quirk of history, glibc does "
1168 "export an ABI for this system call. Therefore, in order to employ this "
1169 "system call, it is sufficient to manually declare the interface in your "
1170 "code; alternatively, you can invoke the system call using B<syscall>(2)."
1172 "B<init_module>() システムコールは glibc ではサポートされていない。 glibc ヘッ"
1173 "ダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステム"
1174 "コールに対する ABI を公開していない。 したがって、このシステムコールを利用す"
1175 "るには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
1176 "B<syscall>(2) を使ってシステムコールを起動できる。"
1179 #: build/C/man2/init_module.2:279
1181 "Glibc does not provide a wrapper for B<finit_module>(); call it using "
1184 "glibc は B<finit_module>() に対するラッパー関数を提供していない。 "
1185 "B<syscall>(2) を使って呼び出すこと。"
1188 #: build/C/man2/init_module.2:284
1190 "Information about currently loaded modules can be found in I</proc/modules> "
1191 "and in the file trees under the per-module subdirectories under I</sys/"
1194 "現在ロードされているモジュールに関する情報は I</proc/modules> および I</sys/"
1195 "module> 以下のモジュール単位のサブディレクトリ内のファイルツリーで参照でき"
1199 #: build/C/man2/init_module.2:288
1201 "See the Linux kernel source file I<include/linux/module.h> for some useful "
1202 "background information."
1204 "Linux カーネルのソースファイル I<include/linux/module.h> には背景に関する有用"
1208 #: build/C/man2/init_module.2:293
1210 "In Linux 2.4 and earlier, the B<init_module>() system call was rather "
1213 "Linux 2.4 以前では B<init_module>() システムコールはかなり違ったものであっ"
1217 #: build/C/man2/init_module.2:295
1218 msgid "B<#include E<lt>linux/module.hE<gt>>"
1219 msgstr "B<#include E<lt>linux/module.hE<gt>>"
1222 #: build/C/man2/init_module.2:297
1224 "B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
1226 "B< int init_module(const char *>I<name>B<, struct module *>I<image>B<);>"
1229 #: build/C/man2/init_module.2:305
1231 "(User-space applications can detect which version of B<init_module>() is "
1232 "available by calling B<query_module>(); the latter call fails with the error "
1233 "B<ENOSYS> on Linux 2.6 and later.)"
1235 "(ユーザー空間アプリケーションは B<query_module>() を呼び出してどのバージョン"
1236 "の B<init_module>() が利用可能かを検出できる。 B<query_module>() の呼び出し"
1237 "は Linux 2.6 以降ではエラー B<ENOSYS> で失敗する。)"
1240 #: build/C/man2/init_module.2:316
1242 "The older version of the system call loads the relocated module image "
1243 "pointed to by I<image> into kernel space and runs the module's I<init> "
1244 "function. The caller is responsible for providing the relocated image "
1245 "(since Linux 2.6, the B<init_module>() system call does the relocation)."
1247 "古いバージョンのシステムコールは、 I<image> が指す再配置されたモジュールイ"
1248 "メージをカーネル空間にロードし、 モジュールの I<init> 関数を実行する。 呼び出"
1249 "し元には再配置されたイメージを提供する責任がある (Linux 2.6 以降では "
1250 "B<init_module>() システムコールが再配置自体を行う)。"
1253 #: build/C/man2/init_module.2:320
1255 "The module image begins with a module structure and is followed by code and "
1256 "data as appropriate. Since Linux 2.2, the module structure is defined as "
1259 "モジュールイメージは先頭部分に module 構造体があり、その後ろに 適切なコードと"
1260 "データが続く。 Linux 2.2 以降では module 構造体は以下のように定義されている。"
1263 #: build/C/man2/init_module.2:343
1267 " unsigned long size_of_struct;\n"
1268 " struct module *next;\n"
1269 " const char *name;\n"
1270 " unsigned long size;\n"
1272 " unsigned long flags;\n"
1273 " unsigned int nsyms;\n"
1274 " unsigned int ndeps;\n"
1275 " struct module_symbol *syms;\n"
1276 " struct module_ref *deps;\n"
1277 " struct module_ref *refs;\n"
1278 " int (*init)(void);\n"
1279 " void (*cleanup)(void);\n"
1280 " const struct exception_table_entry *ex_table_start;\n"
1281 " const struct exception_table_entry *ex_table_end;\n"
1282 "#ifdef __alpha__\n"
1283 " unsigned long gp;\n"
1288 " unsigned long size_of_struct;\n"
1289 " struct module *next;\n"
1290 " const char *name;\n"
1291 " unsigned long size;\n"
1293 " unsigned long flags;\n"
1294 " unsigned int nsyms;\n"
1295 " unsigned int ndeps;\n"
1296 " struct module_symbol *syms;\n"
1297 " struct module_ref *deps;\n"
1298 " struct module_ref *refs;\n"
1299 " int (*init)(void);\n"
1300 " void (*cleanup)(void);\n"
1301 " const struct exception_table_entry *ex_table_start;\n"
1302 " const struct exception_table_entry *ex_table_end;\n"
1303 "#ifdef __alpha__\n"
1304 " unsigned long gp;\n"
1309 #: build/C/man2/init_module.2:353
1311 "All of the pointer fields, with the exception of I<next> and I<refs>, are "
1312 "expected to point within the module body and be initialized as appropriate "
1313 "for kernel space, that is, relocated with the rest of the module."
1315 "I<next> と I<refs> 以外の全てのポインター要素はモジュール本体内部を指し、 "
1316 "カーネル空間での適切な値で初期化される (つまり、モジュールの残りの 部分で再配"
1320 #: build/C/man2/init_module.2:359
1322 "B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), "
1325 "B<create_module>(2), B<delete_module>(2), B<query_module>(2), B<lsmod>(8), "
1329 #: build/C/man2/query_module.2:10
1331 msgid "QUERY_MODULE"
1332 msgstr "QUERY_MODULE"
1335 #: build/C/man2/query_module.2:13
1336 msgid "query_module - query the kernel for various bits pertaining to modules"
1337 msgstr "query_module - モジュールに関連する各種の情報をカーネルに問い合わせる"
1340 #: build/C/man2/query_module.2:19
1343 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void *>I<buf>B<,>\n"
1344 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
1346 "B<int query_module(const char *>I<name>B<, int >I<which>B<, void *>I<buf>B<,>\n"
1347 "B< size_t >I<bufsize>B<, size_t *>I<ret>B<);>\n"
1350 #: build/C/man2/query_module.2:43
1352 "B<query_module>() requests information from the kernel about loadable "
1353 "modules. The returned information is placed in the buffer pointed to by "
1354 "I<buf>. The caller must specify the size of I<buf> in I<bufsize>. The "
1355 "precise nature and format of the returned information depend on the "
1356 "operation specified by I<which>. Some operations require I<name> to "
1357 "identify a currently loaded module, some allow I<name> to be NULL, "
1358 "indicating the kernel proper."
1360 "B<query_module>() は、ローダーブルモジュールに関する情報をカーネルに問い合わ"
1361 "せる。 情報は I<buf> が指し示すバッファーに格納されて返される。 呼び出し元は "
1362 "I<buf> のサイズを I<bufsize> に指定しなければならない。 得られる情報の正確な"
1363 "意味とフォーマットは、 I<which> でどの操作を指定するかによって異なる。 現在"
1364 "ロードされているモジュールを特定するために I<name> を必要とする操作があれ"
1365 "ば、 カーネル固有であることを示す NULL を指定できる操作もある。"
1368 #: build/C/man2/query_module.2:46
1369 msgid "The following values can be specified for I<which>:"
1370 msgstr "I<which> には以下の値を指定できる:"
1373 #: build/C/man2/query_module.2:46
1379 #: build/C/man2/query_module.2:51
1381 "Returns success, if the kernel supports B<query_module>(). Used to probe "
1382 "for availability of the system call."
1384 "カーネルが B<query_module>() をサポートしている場合、成功を返す。 このシステ"
1385 "ムコールが利用可能かを調べるために使われる。"
1388 #: build/C/man2/query_module.2:51
1390 msgid "B<QM_MODULES>"
1391 msgstr "B<QM_MODULES>"
1393 #. ret is set on ENOSPC
1395 #: build/C/man2/query_module.2:59
1397 "Returns the names of all loaded modules. The returned buffer consists of a "
1398 "sequence of null-terminated strings; I<ret> is set to the number of modules."
1400 "ロードされている全てのモジュールの名前を返す。 バッファーには、ヌル終端された"
1401 "文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数が設定される。"
1404 #: build/C/man2/query_module.2:59
1409 #. ret is set on ENOSPC
1411 #: build/C/man2/query_module.2:66
1413 "Returns the names of all modules used by the indicated module. The returned "
1414 "buffer consists of a sequence of null-terminated strings; I<ret> is set to "
1415 "the number of modules."
1417 "指定されたモジュールが使用している全モジュールの名前を返す。 バッファーには、"
1418 "ヌル終端された文字列が順に入る。 返されるバッファー I<ret> にはモジュールの数"
1422 #: build/C/man2/query_module.2:66
1427 #. ret is set on ENOSPC
1429 #: build/C/man2/query_module.2:75
1431 "Returns the names of all modules using the indicated module. This is the "
1432 "inverse of B<QM_DEPS>. The returned buffer consists of a sequence of null-"
1433 "terminated strings; I<ret> is set to the number of modules."
1435 "指定されたモジュールを使用している全モジュールの名前を返す。 これは "
1436 "B<QM_DEPS> と逆の機能である。 バッファーには、ヌル終端された文字列が順に入"
1437 "る。 返されるバッファー I<ret> にはモジュールの数が設定される。"
1440 #: build/C/man2/query_module.2:75
1442 msgid "B<QM_SYMBOLS>"
1443 msgstr "B<QM_SYMBOLS>"
1445 #. ret is set on ENOSPC
1447 #: build/C/man2/query_module.2:81
1449 "Returns the symbols and values exported by the kernel or the indicated "
1450 "module. The returned buffer is an array of structures of the following form"
1452 "カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返"
1453 "す。 バッファーのデータは、 以下の構造体の配列にヌル終端された文字列が続く形"
1457 #: build/C/man2/query_module.2:88
1460 "struct module_symbol {\n"
1461 " unsigned long value;\n"
1462 " unsigned long name;\n"
1465 "struct module_symbol {\n"
1466 " unsigned long value;\n"
1467 " unsigned long name;\n"
1471 #: build/C/man2/query_module.2:98
1473 "followed by null-terminated strings. The value of I<name> is the character "
1474 "offset of the string relative to the start of I<buf>; I<ret> is set to the "
1475 "number of symbols."
1477 "I<name> の値は、 I<buf> の先頭からの文字列までのオフセット文字数である。 "
1478 "I<ret> にはシンボルの数が設定される。"
1481 #: build/C/man2/query_module.2:98
1487 #: build/C/man2/query_module.2:102
1489 "Returns miscellaneous information about the indicated module. The output "
1492 "指定されたモジュールに関する様々な情報を返す。 出力バッファーのフォーマットは"
1496 #: build/C/man2/query_module.2:110
1499 "struct module_info {\n"
1500 " unsigned long address;\n"
1501 " unsigned long size;\n"
1502 " unsigned long flags;\n"
1505 "struct module_info {\n"
1506 " unsigned long address;\n"
1507 " unsigned long size;\n"
1508 " unsigned long flags;\n"
1512 #: build/C/man2/query_module.2:129
1514 "where I<address> is the kernel address at which the module resides, I<size> "
1515 "is the size of the module in bytes, and I<flags> is a mask of "
1516 "B<MOD_RUNNING>, B<MOD_AUTOCLEAN>, and so on, that indicates the current "
1517 "status of the module (see the Linux kernel source file I<include/linux/"
1518 "module.h>). I<ret> is set to the size of the I<module_info> structure."
1520 "I<address> はそのモジュールが配置されているカーネル空間上のアドレス、 "
1521 "I<size> はそのモジュールのバイト単位のサイズ、 I<flags> は B<MOD_RUNNING>, "
1522 "B<MOD_AUTOCLEAN> 等のマスクであり、そのモジュールの現在の状態を示す (Linux "
1523 "カーネルのソースファイル I<include/linux/module.h> を参照)。 I<ret> には "
1524 "I<module_info> 構造体のサイズが設定される。"
1527 #: build/C/man2/query_module.2:143
1529 "At least one of I<name>, I<buf>, or I<ret> was outside the program's "
1530 "accessible address space."
1532 "I<name>, I<buf>, I<ret> の少なくとも一つが、プログラムがアクセスできる アドレ"
1535 #. Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
1537 #: build/C/man2/query_module.2:153
1539 "Invalid I<which>; or I<name> is NULL (indicating \"the kernel\"), but this "
1540 "is not permitted with the specified value of I<which>."
1542 "I<which> が不正である。あるいは I<name> が NULL だが (NULL は \"カーネル\" を"
1543 "示す)、 I<which> で指定された値との組み合わせは許可されていない。"
1546 #: build/C/man2/query_module.2:158
1547 msgid "No module by that I<name> exists."
1548 msgstr "I<name> という名前のモジュールが存在しない。"
1551 #: build/C/man2/query_module.2:158
1557 #: build/C/man2/query_module.2:163
1559 "The buffer size provided was too small. I<ret> is set to the minimum size "
1562 "与えられたバッファーの大きさが小さすぎる。 I<ret> には最小限必要なバッファー"
1566 #: build/C/man2/query_module.2:168
1568 "B<query_module>() is not supported in this version of the kernel (e.g., the "
1569 "kernel is version 2.6 or later)."
1571 "B<query_module>() はこのバージョンのカーネルではサポートされていない (例え"
1572 "ば、カーネルのバージョンが 2.6 以降)。"
1575 #: build/C/man2/query_module.2:175
1576 msgid "B<query_module>() is Linux-specific."
1577 msgstr "B<query_module>() は Linux 固有である。"
1580 #: build/C/man2/query_module.2:183
1582 "Some of the information that was formerly available via B<query_module>() "
1583 "can be obtained from I</proc/modules>, I</proc/kallsyms>, and the files "
1584 "under the directory I</sys/module>."
1586 "以前 B<query_module>() で得られた情報のいくつかは、 I</proc/modules>, I</"
1587 "proc/kallsyms> および I</sys/module> ディレクトリ内のファイルから取得できる。"
1590 #: build/C/man2/query_module.2:193
1592 "The B<query_module>() system call is not supported by glibc. No "
1593 "declaration is provided in glibc headers, but, through a quirk of history, "
1594 "glibc does export an ABI for this system call. Therefore, in order to "
1595 "employ this system call, it is sufficient to manually declare the interface "
1596 "in your code; alternatively, you can invoke the system call using "
1599 "B<query_module>() システムコールは glibc ではサポートされていない。 glibc "
1600 "ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシス"
1601 "テムコールに対する ABI を公開していない。 したがって、このシステムコールを利"
1602 "用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 "
1603 "B<syscall>(2) を使ってシステムコールを起動できる。"
1606 #: build/C/man2/query_module.2:200
1608 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
1609 "B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"
1611 "B<create_module>(2), B<delete_module>(2), B<get_kernel_syms>(2), "
1612 "B<init_module>(2), B<lsmod>(8), B<modinfo>(8)"