# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2015-01-23 22:24+0900\n" "PO-Revision-Date: 2015-01-24 20:50+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man2/create_module.2:10 #, no-wrap msgid "CREATE_MODULE" msgstr "CREATE_MODULE" #. type: TH #: 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 "2014-05-10" msgstr "2014-05-10" #. type: TH #: 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: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: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:13 msgid "create_module - create a loadable module entry" msgstr "create_module - ローダーブルモジュールのエントリーを作成する" #. type: SH #: 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:16 build/C/man2/get_kernel_syms.2:16 #: build/C/man2/query_module.2:16 #, no-wrap msgid "B<#include Elinux/module.hE>\n" msgstr "B<#include Elinux/module.hE>\n" #. type: Plain text #: build/C/man2/create_module.2:18 #, no-wrap msgid "BIB<, size_t >IB<);>\n" msgstr "BIB<, size_t >IB<);>\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: No declaration of this function is provided in glibc headers; see NOTES." msgstr "I<注意>: この関数の宣言は glibc のヘッダーでは提供されていない。「注意」を参照。" #. type: SH #: 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:25 build/C/man2/query_module.2:26 msgid "I: 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() 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() は、ローダーブルモジュールのエントリーを作成し、そのモジュールの保持に必要な カーネルメモリーを予約しようとする。 このシステムコールを使うには特権が必要である。" #. type: SH #: 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:35 msgid "On success, returns the kernel address at which the module will reside. On error, -1 is returned and I is set appropriately." msgstr "成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場合 -1 を返し、 I を適切に設定する。" #. type: SH #: 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:36 build/C/man2/init_module.2:198 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:39 msgid "A module by that name already exists." msgstr "その名前のモジュールがすでに存在する。" #. type: TP #: 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" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:43 msgid "I is outside the program's accessible address space." msgstr "I がプログラムがアクセスできるアドレス空間の外部にある。" #. type: TP #: 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" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:46 msgid "The requested size is too small even for the module header information." msgstr "要求したサイズが小さすぎて、モジュールのヘッダー情報すら格納できない。" #. type: TP #: build/C/man2/create_module.2:46 build/C/man2/init_module.2:181 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:50 msgid "The kernel could not allocate a contiguous block of memory large enough for the module." msgstr "モジュールを格納するのに必要な大きさの連続したメモリーブロックを カーネルが確保できなかった。" #. type: TP #: 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" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:55 msgid "B() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later)." msgstr "B() がこのバージョンのカーネルではサポートされていない (例えば、カーネルのバージョンが 2.6 以降)。" #. type: TP #: 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" msgstr "B" #. type: Plain text #: build/C/man2/create_module.2:61 msgid "The caller was not privileged (did not have the B capability)." msgstr "呼び出し元が特権 (B ケーパビリティ) を持っていなかった。" #. type: SH #: 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:65 build/C/man2/get_kernel_syms.2:64 #: build/C/man2/query_module.2:172 msgid "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: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:68 msgid "B() is Linux-specific." msgstr "B() は Linux 固有である。" #. type: SH #: 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() 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(2)." msgstr "B() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 B(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:82 msgid "B(2), B(2), B(2)" msgstr "B(2), B(2), B(2)" #. type: SH #: 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: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 msgid "This page is part of release 3.78 of the Linux I 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 プロジェクトのリリース 3.78 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man2/delete_module.2:25 #, no-wrap msgid "DELETE_MODULE" msgstr "DELETE_MODULE" #. 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 "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: Plain text #: build/C/man2/delete_module.2:49 msgid "The B() system call attempts to remove the unused loadable module entry identified by I. If the module has an I function, then that function is executed before unloading the module. The I argument is used to modify the behavior of the system call, as described below. This system call requires privilege." msgstr "" #. type: Plain text #: 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 "1." msgstr "1." #. type: Plain text #: build/C/man2/delete_module.2:55 msgid "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 "" #. 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. In normal usage (see NOTES), the B flag is always specified, and the B flag may additionally be specified." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:74 msgid "The various combinations for I have the following effect:" msgstr "" #. type: TP #: build/C/man2/delete_module.2:75 #, no-wrap msgid "B" msgstr "B" #. 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" msgstr "B" #. 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 "" #. 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 does not specify B, the following steps occur:" msgstr "" #. 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) until the reference count is zero, at which point the call unblocks." msgstr "" #. 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 flag has one further effect on the rules described above. By default, if a module has an I function but no I function, then an attempt to remove the module will fail. However, if B was specified, this requirement is bypassed." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:124 msgid "Using the B flag is dangerous! If the kernel was not built with B, this flag is silently ignored. (Normally, B is enabled.) Using this flag taints the kernel (TAINT_FORCED_RMMOD)." msgstr "" #. 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 is set appropriately." msgstr "成功の場合 0 が返される。エラーの場合 -1 が返され、 I に適切な値が設定される。" #. type: TP #: build/C/man2/delete_module.2:130 build/C/man2/init_module.2:163 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: 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 function but has no I function, and B was not specified in I." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:147 msgid "I refers to a location outside the process's accessible address space." msgstr "I がプロセスがアクセスできるアドレス空間外の場所を参照している。" #. type: TP #: build/C/man2/delete_module.2:147 build/C/man2/query_module.2:153 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/delete_module.2:150 msgid "No module by that name exists." msgstr "その名前のモジュールが存在しない。" #. type: Plain text #: build/C/man2/delete_module.2:161 msgid "The caller was not privileged (did not have the B capability), or module unloading is disabled (see I in B(5))." msgstr "呼び出し元が特権 (B ケーパビリティ) を持っていなかった。もしくはモジュールのアンロードが無効になっている (B(5) の I を参照)。" #. type: TP #: build/C/man2/delete_module.2:161 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/delete_module.2:172 msgid "Other modules depend on this module; or, B was specified in I, but the reference count of this module is nonzero and B was not specified in I." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:175 msgid "B() is Linux-specific." msgstr "B() は Linux 固有である。" #. type: Plain text #: build/C/man2/delete_module.2:185 msgid "The B() 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(2)." msgstr "B() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 B(2) を使ってシステムコールを起動できる。" #. type: Plain text #: build/C/man2/delete_module.2:195 msgid "The uninterruptible sleep that may occur if B is omitted from I is considered undesirable, because the sleeping process is left in an unkillable state. As at Linux 3.7, specifying B is optional, but in future kernels it is likely to become mandatory." msgstr "" #. 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 "" #. 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 "" #. type: Plain text #: build/C/man2/delete_module.2:199 msgid "B< int delete_module(const char *>IB<);>" msgstr "B< int delete_module(const char *>IB<);>" #. type: Plain text #: build/C/man2/delete_module.2:203 msgid "If I is NULL, all unused modules marked auto-clean are removed." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:209 msgid "Some further details of differences in the behavior of B() in Linux 2.4 and earlier are I currently explained in this manual page." msgstr "" #. type: Plain text #: build/C/man2/delete_module.2:216 msgid "B(2), B(2), B(2), B(8), B(8), B(8)" msgstr "B(2), B(2), B(2), B(8), B(8), B(8)" #. type: TH #: 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: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:18 #, no-wrap msgid "BIB<);>\n" msgstr "BI
B<);>\n" #. type: Plain text #: build/C/man2/get_kernel_syms.2:22 msgid "B: 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
is NULL, B() returns the number of symbols available for query. Otherwise, it fills in a table of structures:" msgstr "B() は、 I
が NULL の場合、 問い合わせできるシンボルの数を返す。 NULL 以外の場合、以下の構造体の列 (table) に値を入れて返す。" #. type: Plain text #: build/C/man2/get_kernel_syms.2:36 #, no-wrap msgid "" "struct kernel_sym {\n" " unsigned long value;\n" " char name[60];\n" "};\n" msgstr "" "struct kernel_sym {\n" " unsigned long value;\n" " char name[60];\n" "};\n" #. type: Plain text #: build/C/man2/get_kernel_syms.2:44 msgid "The symbols are interspersed with magic symbols of the form B<#>I 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." msgstr "シンボルの中には、 B<#>I という形式の、カーネルが空の名前を持っているマジックシンボル (magic symbol) が散在している。この形式のシンボルに対応する値は モジュールがロードされたアドレスとなる。" #. type: Plain text #: 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." msgstr "個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ の後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。" #. type: Plain text #: build/C/man2/get_kernel_syms.2:54 msgid "On success, returns the number of symbols copied to I
. On error, -1 is returned and I is set appropriately." msgstr "成功すると、 I
にコピーされたシンボル数を返す。 エラーの場合、-1 を返し、 I を適切に設定する。" #. type: Plain text #: 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:60 msgid "B() is not supported in this version of the kernel." msgstr "B() がこのバージョンのカーネルではサポートされていない。" #. type: Plain text #: build/C/man2/get_kernel_syms.2:67 msgid "B() is Linux-specific." msgstr "B() は Linux 固有である。" #. type: SH #: build/C/man2/get_kernel_syms.2:67 #, no-wrap msgid "BUGS" msgstr "バグ" #. type: Plain text #: build/C/man2/get_kernel_syms.2:72 msgid "There is no way to indicate the size of the buffer allocated for I
. If symbols have been added to the kernel since the program queried for the symbol table size, memory will be corrupted." msgstr "I
用に確保したバッファーの大きさを伝える方法がない。 プログラムがシンボルテーブルの大きさを問い合わせた後に、カーネルに シンボルが追加されると、メモリーの内容が破壊されることになる。" #. type: Plain text #: 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:80 msgid "Because of these limitations, this system call is deprecated in favor of B(2) (which is itself nowadays deprecated in favor of other interfaces described on its manual page)." msgstr "これらの制限があるので、このシステムコールを使うよりは B(2) を使うのが望ましい (現在では B(2) 自身もそのマニュアルページに書かれているように 他のインターフェースを使うのが望ましいとされている)。" #. type: Plain text #: build/C/man2/get_kernel_syms.2:85 msgid "B(2), B(2), B(2), B(2)" msgstr "B(2), B(2), B(2), B(2)" #. type: TH #: build/C/man2/init_module.2:27 #, no-wrap msgid "INIT_MODULE" msgstr "INIT_MODULE" #. type: Plain text #: 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:34 #, no-wrap msgid "" "BIB<, unsigned long >IB<,>\n" "B< const char *>IB<);>\n" msgstr "" "BIB<, unsigned long >IB<,>\n" "B< const char *>IB<);>\n" #. type: Plain text #: build/C/man2/init_module.2:37 #, no-wrap msgid "" "BIB<, const char *>IB<,>\n" "B< int >IB<);>\n" msgstr "" "BIB<, const char *>IB<,>\n" "B< int >IB<);>\n" #. type: Plain text #: build/C/man2/init_module.2:45 msgid "I: glibc provides no header file declaration of B() and no wrapper function for B(); see NOTES." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:54 msgid "B() 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 function. This system call requires privilege." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:62 msgid "The I argument points to a buffer containing the binary image to be loaded; I specifies the size of that buffer. The module image should be a valid ELF image, built for the running kernel." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:73 msgid "The I argument is a string containing space-delimited specifications of the values for module parameters (defined inside the module using B() and B()). The kernel parses this string and initializes the specified parameters. Each of the parameter specifications has the form:" msgstr "" #. type: Plain text #: build/C/man2/init_module.2:78 msgid "I[B<=>I[B<,>I...]]" msgstr "" #. type: Plain text #: build/C/man2/init_module.2:93 msgid "The parameter I is one of those defined within the module using I() (see the Linux kernel source file I). The parameter I is optional in the case of I and I parameters. Values for array parameters are specified as a comma-separated list." msgstr "" #. type: SS #: build/C/man2/init_module.2:93 #, no-wrap msgid "finit_module()" msgstr "" #. commit 34e1169d996ab148490c01b65b4ee371cf8ffba2 #. https://lwn.net/Articles/519010/ #. type: Plain text #: build/C/man2/init_module.2:111 msgid "The B() system call is like B(), but reads the module to be loaded from the file descriptor I. 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 argument is as for B()." msgstr "" #. commit 2f3238aebedb243804f58d62d57244edec4149b2 #. type: Plain text #: build/C/man2/init_module.2:119 msgid "The I argument modifies the operation of B(). It is a bit mask value created by ORing together zero or more of the following flags:" msgstr "" #. type: TP #: build/C/man2/init_module.2:119 #, no-wrap msgid "B" msgstr "" #. 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" msgstr "" #. type: Plain text #: build/C/man2/init_module.2:125 msgid "Ignore kernel version magic." msgstr "" #. 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 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 "" #. type: Plain text #: build/C/man2/init_module.2:154 msgid "Using the B flag indicates that the \"vermagic\" string is to be ignored, and the B 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), then loading will continue, otherwise it will fail with B as expected for malformed modules." msgstr "" #. 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 is set appropriately." msgstr "成功の場合、これらのシステムコールは 0 を返す。エラーの場合 -1 が返され、 I に適切な値が設定される。" #. type: TP #: build/C/man2/init_module.2:160 #, no-wrap msgid "B (since Linux 3.7)" msgstr "B (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 (since Linux 3.7)" msgstr "B (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; if the kernel was not configured with this option, then an invalid or unsigned module simply taints the kernel." msgstr "" #. 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 capability), or module loading is disabled (see I in B(5))." msgstr "呼び出し元が特権 (B ケーパビリティ) を持っていなかった。もしくはモジュールのロードが無効になっている (B(5) の I を参照)。" #. type: Plain text #: build/C/man2/init_module.2:198 msgid "The following errors may additionally occur for B():" msgstr "" #. 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 is invalid, or some part of the ELF image in I contains inconsistencies." msgstr "" #. type: TP #: build/C/man2/init_module.2:217 build/C/man2/init_module.2:240 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/init_module.2:223 msgid "The binary image supplied in I is not an ELF image, or is an ELF image that is invalid or for a different architecture." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:226 msgid "The following errors may additionally occur for B():" msgstr "" #. type: TP #: build/C/man2/init_module.2:226 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/init_module.2:231 msgid "The file referred to by I is not opened for reading." msgstr "" #. type: TP #: build/C/man2/init_module.2:231 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/init_module.2:236 msgid "The file referred to by I is too large." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:240 msgid "I is invalid." msgstr "I が無効である。" #. type: Plain text #: build/C/man2/init_module.2:244 msgid "I does not refer to an open file." msgstr "I がオープンされたファイルを参照していない。" #. type: Plain text #: build/C/man2/init_module.2:256 msgid "In addition to the above errors, if the module's I function is executed and returns an error, then B() or B() fails and I is set to the value returned by the I function." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:259 msgid "B() is available since Linux 3.8." msgstr "B() は Linux 3.8 以降で利用可能である。" #. type: Plain text #: build/C/man2/init_module.2:264 msgid "B() and B() are Linux-specific." msgstr "B() と B() は Linux 固有である。" #. type: Plain text #: build/C/man2/init_module.2:274 msgid "The B() 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(2)." msgstr "B() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 B(2) を使ってシステムコールを起動できる。" #. type: Plain text #: build/C/man2/init_module.2:279 msgid "Glibc does not provide a wrapper for B(); call it using B(2)." msgstr "glibc は B() に対するラッパー関数を提供していない。 B(2) を使って呼び出すこと。" #. type: Plain text #: build/C/man2/init_module.2:284 msgid "Information about currently loaded modules can be found in I and in the file trees under the per-module subdirectories under I." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:288 msgid "See the Linux kernel source file I for some useful background information." msgstr "" #. type: Plain text #: build/C/man2/init_module.2:293 msgid "In Linux 2.4 and earlier, the B() system call was rather different:" msgstr "" #. type: Plain text #: build/C/man2/init_module.2:295 msgid "B<#include Elinux/module.hE>" msgstr "B<#include Elinux/module.hE>" #. type: Plain text #: build/C/man2/init_module.2:297 msgid "B< int init_module(const char *>IB<, struct module *>IB<);>" msgstr "B< int init_module(const char *>IB<, struct module *>IB<);>" #. type: Plain text #: build/C/man2/init_module.2:305 msgid "(User-space applications can detect which version of B() is available by calling B(); the latter call fails with the error B on Linux 2.6 and later.)" msgstr "" #. 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 into kernel space and runs the module's I function. The caller is responsible for providing the relocated image (since Linux 2.6, the B() system call does the relocation)." msgstr "" #. 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. Since Linux 2.2, the module structure is defined as follows:" msgstr "モジュールイメージは先頭部分に module 構造体があり、その後ろに 適切なコードとデータが続く。 Linux 2.2 以降では module 構造体は以下のように定義されている。" #. type: Plain text #: build/C/man2/init_module.2:343 #, no-wrap msgid "" "struct module {\n" " unsigned long size_of_struct;\n" " struct module *next;\n" " const char *name;\n" " unsigned long size;\n" " long usecount;\n" " unsigned long flags;\n" " unsigned int nsyms;\n" " unsigned int ndeps;\n" " struct module_symbol *syms;\n" " struct module_ref *deps;\n" " struct module_ref *refs;\n" " int (*init)(void);\n" " void (*cleanup)(void);\n" " const struct exception_table_entry *ex_table_start;\n" " const struct exception_table_entry *ex_table_end;\n" "#ifdef __alpha__\n" " unsigned long gp;\n" "#endif\n" "};\n" msgstr "" "struct module {\n" " unsigned long size_of_struct;\n" " struct module *next;\n" " const char *name;\n" " unsigned long size;\n" " long usecount;\n" " unsigned long flags;\n" " unsigned int nsyms;\n" " unsigned int ndeps;\n" " struct module_symbol *syms;\n" " struct module_ref *deps;\n" " struct module_ref *refs;\n" " int (*init)(void);\n" " void (*cleanup)(void);\n" " const struct exception_table_entry *ex_table_start;\n" " const struct exception_table_entry *ex_table_end;\n" "#ifdef __alpha__\n" " unsigned long gp;\n" "#endif\n" "};\n" #. type: Plain text #: build/C/man2/init_module.2:353 msgid "All of the pointer fields, with the exception of I and I, 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 と I 以外の全てのポインター要素はモジュール本体内部を指し、 カーネル空間での適切な値で初期化される (つまり、モジュールの残りの 部分で再配置される) ことが期待される。" #. type: Plain text #: build/C/man2/init_module.2:359 msgid "B(2), B(2), B(2), B(8), B(8)" msgstr "B(2), B(2), B(2), B(8), B(8)" #. type: TH #: build/C/man2/query_module.2:10 #, no-wrap msgid "QUERY_MODULE" msgstr "QUERY_MODULE" #. type: Plain text #: 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:19 #, no-wrap msgid "" "BIB<, int >IB<, void *>IB<,>\n" "B< size_t >IB<, size_t *>IB<);>\n" msgstr "" "BIB<, int >IB<, void *>IB<,>\n" "B< size_t >IB<, size_t *>IB<);>\n" #. type: Plain text #: build/C/man2/query_module.2:43 msgid "B() requests information from the kernel about loadable modules. The returned information is placed in the buffer pointed to by I. The caller must specify the size of I in I. The precise nature and format of the returned information depend on the operation specified by I. Some operations require I to identify a currently loaded module, some allow I to be NULL, indicating the kernel proper." msgstr "B() は、ローダーブルモジュールに関する情報をカーネルに問い合わせる。 情報は I が指し示すバッファーに格納されて返される。 呼び出し元は I のサイズを I に指定しなければならない。 得られる情報の正確な意味とフォーマットは、 I でどの操作を指定するかによって異なる。 現在ロードされているモジュールを特定するために I を必要とする操作があれば、 カーネル固有であることを示す NULL を指定できる操作もある。" #. type: Plain text #: build/C/man2/query_module.2:46 msgid "The following values can be specified for I:" msgstr "I には以下の値を指定できる:" #. type: TP #: build/C/man2/query_module.2:46 #, no-wrap msgid "B<0>" msgstr "B<0>" #. type: Plain text #: build/C/man2/query_module.2:51 msgid "Returns success, if the kernel supports B(). Used to probe for availability of the system call." msgstr "カーネルが B() をサポートしている場合、成功を返す。 このシステムコールが利用可能かを調べるために使われる。" #. type: TP #: build/C/man2/query_module.2:51 #, no-wrap msgid "B" msgstr "B" #. ret is set on ENOSPC #. type: Plain text #: 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 is set to the number of modules." msgstr "ロードされている全てのモジュールの名前を返す。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I にはモジュールの数が設定される。" #. type: TP #: build/C/man2/query_module.2:59 #, no-wrap msgid "B" msgstr "B" #. ret is set on ENOSPC #. type: Plain text #: 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 is set to the number of modules." msgstr "指定されたモジュールが使用している全モジュールの名前を返す。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I にはモジュールの数が設定される。" #. type: TP #: build/C/man2/query_module.2:66 #, no-wrap msgid "B" msgstr "B" #. ret is set on ENOSPC #. type: Plain text #: build/C/man2/query_module.2:75 msgid "Returns the names of all modules using the indicated module. This is the inverse of B. The returned buffer consists of a sequence of null-terminated strings; I is set to the number of modules." msgstr "指定されたモジュールを使用している全モジュールの名前を返す。 これは B と逆の機能である。 バッファーには、ヌル終端された文字列が順に入る。 返されるバッファー I にはモジュールの数が設定される。" #. type: TP #: build/C/man2/query_module.2:75 #, no-wrap msgid "B" msgstr "B" #. ret is set on ENOSPC #. type: Plain text #: 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 "カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返す。 バッファーのデータは、 以下の構造体の配列にヌル終端された文字列が続く形となる。" #. type: Plain text #: build/C/man2/query_module.2:88 #, no-wrap msgid "" "struct module_symbol {\n" " unsigned long value;\n" " unsigned long name;\n" "};\n" msgstr "" "struct module_symbol {\n" " unsigned long value;\n" " unsigned long name;\n" "};\n" #. type: Plain text #: build/C/man2/query_module.2:98 msgid "followed by null-terminated strings. The value of I is the character offset of the string relative to the start of I; I is set to the number of symbols." msgstr "I の値は、 I の先頭からの文字列までのオフセット文字数である。 I にはシンボルの数が設定される。" #. type: TP #: build/C/man2/query_module.2:98 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/query_module.2:102 msgid "Returns miscellaneous information about the indicated module. The output buffer format is:" msgstr "指定されたモジュールに関する様々な情報を返す。 出力バッファーのフォーマットは以下の形式となる:" #. type: Plain text #: build/C/man2/query_module.2:110 #, no-wrap msgid "" "struct module_info {\n" " unsigned long address;\n" " unsigned long size;\n" " unsigned long flags;\n" "};\n" msgstr "" "struct module_info {\n" " unsigned long address;\n" " unsigned long size;\n" " unsigned long flags;\n" "};\n" #. type: Plain text #: build/C/man2/query_module.2:129 msgid "where I
is the kernel address at which the module resides, I is the size of the module in bytes, and I is a mask of B, B, and so on, that indicates the current status of the module (see the Linux kernel source file I). I is set to the size of the I structure." msgstr "I
はそのモジュールが配置されているカーネル空間上のアドレス、 I はそのモジュールのバイト単位のサイズ、 I は B, B 等のマスクであり、そのモジュールの現在の状態を示す (Linux カーネルのソースファイル I を参照)。 I には I 構造体のサイズが設定される。" #. type: Plain text #: build/C/man2/query_module.2:143 msgid "At least one of I, I, or I was outside the program's accessible address space." msgstr "I, I, I の少なくとも一つが、プログラムがアクセスできる アドレス空間の外部であった。" #. Not permitted with QM_DEPS, QM_REFS, or QM_INFO. #. type: Plain text #: build/C/man2/query_module.2:153 msgid "Invalid I; or I is NULL (indicating \"the kernel\"), but this is not permitted with the specified value of I." msgstr "I が不正である。あるいは I が NULL だが (NULL は \"カーネル\" を示す)、 I で指定された値との組み合わせは許可されていない。" #. type: Plain text #: build/C/man2/query_module.2:158 msgid "No module by that I exists." msgstr "I という名前のモジュールが存在しない。" #. type: TP #: build/C/man2/query_module.2:158 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man2/query_module.2:163 msgid "The buffer size provided was too small. I is set to the minimum size needed." msgstr "与えられたバッファーの大きさが小さすぎる。 I には最小限必要なバッファーのサイズが設定される。" #. type: Plain text #: build/C/man2/query_module.2:168 msgid "B() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later)." msgstr "B() はこのバージョンのカーネルではサポートされていない (例えば、カーネルのバージョンが 2.6 以降)。" #. type: Plain text #: build/C/man2/query_module.2:175 msgid "B() is Linux-specific." msgstr "B() は Linux 固有である。" #. type: Plain text #: build/C/man2/query_module.2:183 msgid "Some of the information that was formerly available via B() can be obtained from I, I, and the files under the directory I." msgstr "以前 B() で得られた情報のいくつかは、 I, I および I ディレクトリ内のファイルから取得できる。" #. type: Plain text #: build/C/man2/query_module.2:193 msgid "The B() 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(2)." msgstr "B() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、 歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開していない。 したがって、このシステムコールを利用するには、自分のコードの中で手動でインターフェースを宣言すればよい。 B(2) を使ってシステムコールを起動できる。" #. type: Plain text #: build/C/man2/query_module.2:200 msgid "B(2), B(2), B(2), B(2), B(8), B(8)" msgstr "B(2), B(2), B(2), B(2), B(8), B(8)"