\fBldd\fP [OPTION]... FILE...
.SH 説明
\fBldd\fP はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞれで必要とされる共有ライブラリを表示する。
-.SS Security
+.SS セキュリティ
.\" Mainline glibc's ldd allows this possibility (the line
.\" try_trace "$file"
.\" in glibc 2.15, for example), but many distro versions of
.\" ldd seem to remove that code path from the script.
-In the usual case, \fBldd\fP invokes the standard dynamic linker (see
-\fBld.so\fP(8)) with the \fBLD_TRACE_LOADED_OBJECTS\fP environment variable set
-to 1, which causes the linker to display the library dependencies. Be
-aware, however, that in some circumstances, some versions of \fBldd\fP may
-attempt to obtain the dependency information by directly executing the
-program. Thus, you should \fInever\fP employ \fBldd\fP on an untrusted
-executable, since this may result in the execution of arbitrary code. A
-safer alternative when dealing with untrusted executables is:
+通常の場合、 \fBldd\fP は標準の動的リンカ (\fBld.so\fP(8) 参照) を \fBLD_TRACE_LOADED_OBJECTS\fP 環境変数に
+1 をセットして起動する。 \fBLD_TRACE_LOADED_OBJECTS\fP に 1
+をセットすると、リンカはライブラリの依存関係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実行するバージョンの \fBldd\fP
+が存在する。したがって、信頼できない実行ファイルに対しては「決して」 \fBldd\fP
+を使っては「ならない」。任意のコードを実行することにつながるからである。信頼できない実行ファイルを扱う、より安全な別の方法としては次のようにするとよい。
$ objdump \-p /path/to/program | grep NEEDED
.SH オプション
\fIcpu\fP か \fInode\fP のいずれかが NULL であれば、
その引き数に対応する情報の書き込みは行われない。
-The third argument to this system call is nowadays unused, and should be
-specified as NULL unless portability to Linux 2.6.23 or earlier is required
-(see NOTES).
+このシステムコールの 3 番目の引き数は現在は使われておらず、 Linux 2.6.23 以前への移植性が必要な場合以外は NULL を渡すべきである
+(「注意」を参照)。
\fIcpu\fP に格納された情報が最新だと保証できるのは、システムコールが呼ばれ
た時点だけである。\fBsched_setaffinity\fP(2) を使って CPU affinity が固定
\fIfd\fP が、 \fBconnect\fP(2) を使って通信相手のアドレスが設定されていないデータグラムソケットを 参照している。
.TP
\fBEDQUOT\fP
-The user's quota of disk blocks on the file system containing the file
-referred to by \fIfd\fP has been exhausted.
+\fIfd\fP が参照するファイルを含むファイルシステムのディスクブロックのユーザクォータの上限に達している。
.TP
\fBEFAULT\fP
\fIbuf\fP がアクセス可能なアドレス空間の外にある。
.sp
\fBchar *canonicalize_file_name(const char *\fP\fIpath\fP\fB);\fP
.SH 説明
-The \fBcanonicalize_file_name\fP() function returns a null\-terminated string
-containing the canonicalized absolute pathname corresponding to \fIpath\fP. In
-the returned string, symbolic links are resolved, as are \fI.\fP and \fI..\fP
-pathname components. Consecutive slash (\fI/\fP) characters are replaced by a
-single slash.
+\fBcanonicalize_file_name\fP() 関数は \fIpath\fP に対応する正規化された絶対パス名を示す NULL
+終端された文字列を返す。返された文字列では、シンボリックリンクや、パス名に含まれる \fI.\fP や \fI..\fP は展開される。連続するスラッシュ
+(\fI/\fP) 文字はスラッシュ一つに置換される。
-The returned string is dynamically allocated by \fBcanonicalize_file_name\fP()
-and the caller should deallocate it with \fBfree\fP(3) when it is no longer
-required.
+返される文字列は \fBcanonicalize_file_name\fP() により動的に割り当てられる。呼び出し側は、必要なくなった際にはこの文字列を
+\fBfree\fP(3) で解放すべきである。
\fIcanonicalize_file_name(path)\fP は以下と等価である。
.SH 準拠
この関数は GNU による拡張である。
.SH 返り値
-On success, \fBcanonicalize_file_name\fP() returns a null\-terminated string.
-On error (e.g., a pathname component is unreadable or does not exist),
-\fBcanonicalize_file_name\fP() returns NULL and sets \fIerrno\fP to indicate the
-error.
+成功すると、 \fBcanonicalize_file_name\fP() は NULL 終端された文字列を返す。エラーの場合
+(例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場合など)、 \fBcanonicalize_file_name\fP() は NULL
+を返し、 \fIerrno\fP にエラー内容を示す値を設定する。
.SH エラー
\fBrealpath\fP(3) 参照。
.SH 関連項目
--- /dev/null
+.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
+.\" and Copyright (C) 2007, 2012 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" References consulted:
+.\" Linux libc source code
+.\" Lewine's "POSIX Programmer's Guide" (O'Reilly & Associates, 1991)
+.\" 386BSD man pages
+.\" Modified Sat Jul 24 19:30:29 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified Fri Feb 14 21:47:50 1997 by Andries Brouwer (aeb@cwi.nl)
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH GETENV 3 2012\-08\-14 GNU "Linux Programmer's Manual"
+.SH 名前
+getenv, secure_getenv \- 環境変数を得る
+.SH 書式
+.nf
+\fB#include <stdlib.h>\fP
+.sp
+\fBchar *getenv(const char *\fP\fIname\fP\fB);\fP
+
+\fBchar *secure_getenv(const char *\fP\fIname\fP\fB);\fP
+.fi
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
+.in
+.sp
+\fBsecure_getenv\fP(): _GNU_SOURCE
+.SH 説明
+関数 \fBgetenv\fP() は、環境リストから名前が \fIname\fP の環境変数を検索し、対応する \fIvalue\fP 文字列へのポインタを返す。
+
+The GNU\-specific \fBsecure_getenv\fP() function is just like \fBgetenv\fP()
+except that it returns NULL in cases where "secure execution" is required.
+Secure execution is required if one of the following conditions was true
+when the program run by the calling process was loaded:
+.IP * 3
+the process's effective user ID did not match its real user ID or the
+process's effective group ID did not match its real group ID (typically this
+is the result of executing a set\-user\-ID or set\-group\-ID program);
+.IP *
+the effective capability bit was set on the executable file; or
+.IP *
+the process has a nonempty permitted capability set.
+.PP
+Secure execution may also required if triggered by some Linux security
+modules.
+
+The \fBsecure_getenv\fP() function is intended for use in general\-purpose
+libraries to avoid vulnerabilities that could occur if set\-user\-ID or
+set\-group\-ID programs accidentally trusted the environment.
+.SH 返り値
+関数 \fBgetenv\fP() は、環境における値 value へのポインタを返す。 \fIname\fP にマッチする環境変数が存在しないときには NULL
+を返す。
+.SH バージョン
+\fBsecure_getenv\fP() は glibc 2.17 で初めて登場した。
+.SH 準拠
+\fBgetenv\fP(): SVr4, POSIX.1\-2001, 4.3BSD, C89, C99.
+
+\fBsecure_getenv\fP() は GNU による拡張である。
+.SH 注意
+環境リストの文字列は \fIname=value\fP という形式をしている。
+
+通常の実装では、 \fBgetenv\fP() は環境リスト内の文字列へのポインタを返す。 呼び出し元はこの文字列を変更しないように注意しなければならない。
+この文字列を変更すると、そのプロセスの環境を変化させることになるからである。
+
+\fBgetenv\fP() の実装はリエントラント (再入可能) であることを要求されていない。 \fBgetenv\fP()
+の返り値により参照される文字列は静的に割り当てられてもよく、 文字列の内容は後続の \fBgetenv\fP(), \fBputenv\fP(3),
+\fBsetenv\fP(3), \fBunsetenv\fP(3) の呼び出しにより変更されることがある。
+
+The "secure execution" mode of \fBsecure_getenv\fP() is controlled by the
+\fBAT_SECURE\fP flag contained in the auxiliary vector passed from the kernel
+to user space.
+.SH 関連項目
+\fBclearenv\fP(3), \fBgetauxval\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3),
+\fBcapabilities\fP(7), \fBenviron\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
\fBmemcmp\fP() 関数は、\fIs1\fP の最初の \fIn\fP バイトが \fIs2\fP の最初の \fIn\fP バイトよりも
小さいか、同じか、あるいは大きいかによってそれぞれ、負の整数、0、 正の整数を返す。
-For a nonzero return value, the sign is determined by the sign of the
-difference between the first pair of bytes (interpreted as \fIunsigned char\fP)
-that differ in \fIs1\fP and \fIs2\fP.
+0 でない値の場合、 \fIs1\fP と \fIs2\fP で値が異なった最初のバイトの値の差で符号は決定される (バイトは \fIunsigned char\fP
+で解釈される)。
.SH 準拠
SVr4, 4.3BSD, C89, C99, POSIX.1\-2001.
.SH 関連項目
\fIpointer\fP 引き数は必要なく、 \fBscanf\fP() が返す代入が成功した数にこの指定は含まれない。
.TP
\(bu
-An optional \(aqm\(aq character. This is used with string conversions
-(\fI%s\fP, \fI%c\fP, \fI%[\fP), and relieves the caller of the need to allocate a
-corresponding buffer to hold the input: instead, \fBscanf\fP() allocates a
-buffer of sufficient size, and assigns the address of this buffer to the
-corresponding \fIpointer\fP argument, which should be a pointer to a \fIchar *\fP
-variable (this variable does not need to be initialized before the call).
-The caller should subsequently \fBfree\fP(3) this buffer when it is no longer
-required.
+文字 \(aqm\(aq (省略可能)。これは文字列変換 (\fI%s\fP, \fI%c\fP, \fI%[\fP) とともに使用され、これを使うと
+呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わりに \fBscanf\fP()
+が必要な大きさのバッファを確保し、このバッファのアドレスを 対応する \fIpointer\fP 引き数に代入する。 \fIpointer\fP 引き数は
+\fIchar *\fP 型の変数へのポインタでなければならない (変数自体は呼び出し前に初期化されている必要はない)。
+呼び出し元は、不要になった時点で、このバッファを \fBfree\fP(3) すべきである。
.TP
\(bu
\fI「最大フィールド幅」\fP を指定する 10進数 (省略可能)。 この最大値に達するか、一致しない文字が見つかるか、のどちらかに
これらの関数の Linux 版は \fIGNU\fP \fIlibio\fP ライブラリーを元にしている。 より簡潔な説明には \fIGNU\fP \fIlibc
(glibc\-1.08)\fP の \fIinfo\fP 文書に目を通すこと。
.SH 注意
-The GNU C library supported the dynamic allocation conversion specifier (as
-a nonstandard extension) via the \fBa\fP character. This feature seems to be
-present at least as far back as glibc 2.0.
+GNU C ライブラリ (glibc) では、 \fBa\fP 文字による動的割り当て変換指定子 (dynamic allocation conversion
+specifier) を (非標準の拡張として) サポートしている。この機能は少なくとも glibc 2.0 以降で存在しているようである。
.PP
この修飾子は \fIgcc \-std=c99\fP や \fIgcc \-D_ISOC99_SOURCE\fP でコンパイルしたプログラムでは
(\fB_GNU_SOURCE\fP も同時に指定していない場合) 利用できない。この場合、 \fBa\fP は (上述の通り)
.PP
\fBq\fP の使用方法は 4.4BSD と同じではない。 4.4BSD では \fBq\fP は \fBL\fP と同等に浮動小数の変換に使用される。
.SH 例
-To use the dynamic allocation conversion specifier, specify \fBm\fP as a length
-modifier (thus \fB%ms\fP or \fB%m[\fP\fIrange\fP\fB]\fP). The caller must \fBfree\fP(3)
-the returned string, as in the following example:
+動的割り当て変換指定子を使用するには、長さ修飾子として \fBm\fP を指定する (つまり、全体としては \fB%ms\fP や
+\fB%m[\fP\fIrange\fP\fB]\fP となる)。以下の例にあるように、呼び出し側は返された文字列を \fBfree\fP(3) しなければならない。
.in +4n
.nf
\fBchar *strncat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
.fi
.SH 説明
-The \fBstrcat\fP() function appends the \fIsrc\fP string to the \fIdest\fP string,
-overwriting the terminating null byte (\(aq\e0\(aq) at the end of \fIdest\fP,
-and then adds a terminating null byte. The strings may not overlap, and the
-\fIdest\fP string must have enough space for the result. If \fIdest\fP is not
-large enough, program behavior is unpredictable; \fIbuffer overruns are a
-favorite avenue for attacking secure programs\fP.
+\fBstrcat\fP() 関数は、\fIdest\fP 文字列の後に \fIsrc\fP 文字列を付け加える。 その際に、\fIdest\fP の最後にある終端の
+NULL バイト (\(aq\e0\(aq) は上書きされ、新たに生成された文字列の末尾に終端の NULL バイトが付与される。 二つの文字列
+\fIsrc\fP と \fIdest\fP は重なってはならない。 また、文字列 \fIdest\fP は、連結後の結果を格納するのに 十分な大きさでなければならない。
+\fIdest\fP
+が十分な大きさでない場合、プログラムがどのような動作をするか分からない。バッファオーバーランはセキュアなプログラムを攻撃する際に好んで使われる方法である。
.PP
\fBstrncat\fP() も同様だが、以下の点が異なる。
.IP * 3
.SH 準拠
SVr4, 4.3BSD, C89, C99.
.SH 注意
-Some systems (the BSDs, Solaris, and others) provide the following function:
+いくつかのシステム (BSD、Solaris など) では以下の関数が提供されている。
size_t strlcat(char *dest, const char *src, size_t size);
\fBchar *strncpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP
.fi
.SH 説明
-The \fBstrcpy\fP() function copies the string pointed to by \fIsrc\fP, including
-the terminating null byte (\(aq\e0\(aq), to the buffer pointed to by
-\fIdest\fP. The strings may not overlap, and the destination string \fIdest\fP
-must be large enough to receive the copy. \fIBeware of buffer overruns!\fP
-(See BUGS.)
+\fBstrcpy\fP() 関数は \fIsrc\fP が指す文字列を末尾のヌルバイト (\(aq\e0\(aq) も含めて \fIdest\fP
+が指すバッファにコピーする。 二つの文字列は重なってはならない。受け側の文字列 \fIdest\fP は コピーを受け取るのに十分な大きさでなければならない。
+\fIバッファオーバーランに気を付けること!\fP (「バグ」の節を参照)
.PP
\fBstrncpy\fP() 関数も同様だが、 \fIsrc\fP のうち最大でも \fIn\fP バイトしかコピーされない点が異なる。 \fB警告\fP: \fIsrc\fP
の最初の \fIn\fP バイトの中にヌルバイトがない場合、 \fIdest\fP に格納される文字列はヌルで終端されないことになる。
.PP
-If the length of \fIsrc\fP is less than \fIn\fP, \fBstrncpy\fP() writes additional
-null bytes to \fIdest\fP to ensure that a total of \fIn\fP bytes are written.
+\fIsrc\fP の長さが \fIn\fP よりも短い場合、 \fBstrncpy\fP() は \fIdest\fP に追加のヌルバイトを書き込み、全部で \fIn\fP
+バイトが書き込まれるようにする。
.PP
\fBstrncpy\fP() の簡単な実装は以下のような感じであろう:
.in +4n
prevent information leaks if the buffer is to be written to media or
transmitted to another process via an interprocess communication technique).
-If there is no terminating null byte in the first \fIn\fP bytes of \fIsrc\fP,
-\fBstrncpy\fP() produces an unterminated string in \fIdest\fP. You can force
-termination using something like the following:
+\fIsrc\fP の最初の \fIn\fP バイトに終端のヌルバイトがない場合、 \fBstrncpy\fP()
+は \fIdest\fP に終端されていない文字列を生成する。以下のようにして
+強制的に終端することができる。
.in +4n
.nf
(Of course, the above technique ignores the fact that information contained
in \fIsrc\fP is lost in the copying to \fIdest\fP.)
-Some systems (the BSDs, Solaris, and others) provide the following function:
+いくつかのシステム (BSD、Solaris など) では以下の関数が提供されている。
size_t strlcpy(char *dest, const char *src, size_t size);
\fBLLONG_MAX\fP, \fBLLONG_MIN\fP) が返る可能性があるので、 プログラムは関数を呼び出す前に \fIerrno\fP を 0
に設定し、呼び出し後に \fIerrno\fP が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。
-According to POSIX.1\-2001, in locales other than the "C" and "POSIX", these
-functions may accept other, implementation\-defined numeric strings.
+POSIX.1\-2001 では、 "C" と "POSIX"
+以外のロケールでは、これらの関数は、他の実装時に定義される数字を示す文字列を受け付けるとされている。
.LP
BSD には、
.sp
real UID of the process. Since Linux 2.6.36, this file is readable by all
users on the system.
.TP
-\fI/proc/[pid]/map_files/\fP (since kernel 3.3)
+\fI/proc/[pid]/map_files/\fP (kernel 3.3 以降)
.\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e
This subdirectory contains entries corresponding to memory\-mapped files (see
\fBmmap\fP(2)). Entries are named by memory region start and end address pair
permissions. See \fBmmap\fP(2) for some further information about memory
mappings.
-The format of the file is:
+ファイルのフォーマットは以下のとおり:
.in -7n
.nf
\fI[stack]\fP
The initial process's (also known as the main thread's) stack.
.TP
-\fI[stack:<tid>]\fP (since Linux 3.4)
+\fI[stack:<tid>]\fP (Linux 3.4 以降)
.\" commit b76437579d1344b612cf1851ae610c636cec7db0
A thread's stack (where the \fI<tid>\fP is a thread ID). It
corresponds to the \fI/proc/[pid]/task/[tid]/\fP path.
(単位は秒)。 デフォルトの値は、4, 2, 30 である。 つまり、空き領域が 2% 以下になるとログ記録を一時停止し、 空き領域が 4%
以上となったときに再開する。 空き領域についての情報は 30 秒間有効である点に注意すること。
.TP
-\fI/proc/sys/kernel/cap_last_cap\fP (since Linux 3.2)
-See \fBcapabilities\fP(7).
+\fI/proc/sys/kernel/cap_last_cap\fP (Linux 3.2 以降)
+\fBcapabilities\fP(7) 参照。
.TP
\fI/proc/sys/kernel/cap\-bound\fP (Linux 2.2 to 2.6.24 以降)
\fI/proc/sys/kernel/cap\-bound\fP このファイルにはカーネルの \fIcapability bounding set\fP (符号付き
\fI/proc/sys/kernel/msgmax\fP
このファイルは、System V メッセージキューに書き込まれる 1 つのメッセージの 最大バイト数を、システム全体で制限する。
.TP
-\fI/proc/sys/kernel/msgmni\fP (since Linux 2.4)
+\fI/proc/sys/kernel/msgmni\fP (Linux 2.4 以降)
This file defines the system\-wide limit on the number of message queue
identifiers.
.TP
\fI/proc/sys/kernel/rtsig\-nr\fP
(2.6.7 までのカーネルにのみ存在する) このファイルは現在キューに入っている POSIX real\-time signal の数を表す。
.TP
-\fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (since Linux 3.9)
-See \fBsched_rr_get_interval\fP(2).
+\fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (Linux 3.9 以降)
+\fBsched_rr_get_interval\fP(2) 参照。
.TP
\fI/proc/sys/kernel/sem\fP (Linux 2.4 以降)
このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。 これらのフィールドは次の順番に並んでいる:
\fIinclude/scsi/sg.h\fP を編集して \fBSG_BIG_BUFF\fP の値を変えれば変更できる。
ただし、この値を変更する理由はないだろう。
.TP
-\fI/proc/sys/kernel/shm_rmid_forced\fP (since Linux 3.1)
+\fI/proc/sys/kernel/shm_rmid_forced\fP (Linux 3.1 以降)
.\" commit b34a6b1da371ed8af1221459a18c67970f7e3d53
.\" See also Documentation/sysctl/kernel.txt
If this file is set to 1, all System V shared memory segments will be marked
を取得または設定できる。 現在は 1GB までの共有メモリセグメントが カーネルでサポートされている。 この値のデフォルトは \fBSHMMAX\fP
である。
.TP
-\fI/proc/sys/kernel/shmmni\fP (since Linux 2.4)
+\fI/proc/sys/kernel/shmmni\fP (Linux 2.4 以降)
このファイルは、システム全体で作成可能な System V 共有メモリセグメント数を指定する。
.TP
\fI/proc/sys/kernel/sysrq\fP
.SH 関連項目
\fBcapabilities\fP(7), \fBip\fP(7)
.PP
-RFC\ 826 for a description of ARP. RFC\ 2461 for a description of IPv6
-neighbor discovery and the base algorithms used. Linux 2.2+ IPv4 ARP uses
-the IPv6 algorithms when applicable.
+RFC \ 826: ARP の説明。 RFC\ 2461: IPv6 neighbor discovery の説明と利用されている基礎アルゴリズム。
+Linux 2.2 以降では IPv4 ARP は可能な場合は IPv6 アルゴリズムを使っている。
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
である。プロジェクトの説明とバグ報告に関する情報は
.SH 書式
\fBman\fP [\fIsection\fP] \fItitle\fP
.SH 説明
-This page describes the conventions that should be employed when writing man
-pages for the Linux \fIman\-pages\fP project, which documents the user\-space API
-provided by the Linux kernel and the GNU C library. The project thus
-provides most of the pages in Section 2, as well as many of the pages that
-appear in Sections 3, 4, 5, and 7 of the man pages on a Linux system. The
-conventions described on this page may also be useful for authors writing
-man pages for other projects.
+このページでは、 Linux \fIman\-pages\fP プロジェクトのマニュアルページを書く際に 従うべき決まり事について説明する。 Linux
+\fIman\-pages\fP プロジェクトは Linux カーネルおよび GNU C ライブラリが提供するユーザ空間 API
+のドキュメント作成を行っている。Linux システムのマニュアルページのセクション 2 のページのほとんどと、セクション 3, 4, 5, 7
+の多くのページが、このプロジェクトにより提供されている。このページで説明されている決まり事は、他のプロジェクトの
+マニュアルページを書く作者にも役立つことだろう。
.SS マニュアルページのセクション
.PP
マニュアルのセクションは、習慣的に以下のような定義が用いられている:
以下のリストでは、上記のセクションのそれぞれの内容について 詳しく説明する。
.TP 14
\fB名前 (NAME)\fP
-The name of this manual page. See \fBman\fP(7) for important details of the
-line(s) that should follow the \fB.SH NAME\fP command. All words in this line
-(including the word immediately following the "\e\-") should be in lowercase,
-except where English or technical terminological convention dictates
-otherwise.
+マニュアルページの名前。 \fB.SH NAME\fP コマンドの後に続ける行の重要な情報については \fBman\fP(7) を参照。この行のすべての単語は
+("\e\-" の直後の単語も含め) 小文字にすべきである。但し、英語や技術用語の慣例として別の記載をする場合はこの限りではない。
.TP
\fB書式 (SYNOPSIS)\fP
コマンドや関数のインターフェースを簡潔に記述する。 コマンドに対しては、コマンドや引き数 (オプション) の文法を書く。
関連するマニュアルページを、コンマ区切りのリストで、 セクション番号順に、セクション内ではアルファベット順で記載する。 可能なら関連する他の文書も書く。
慣習では、このセクションは最後に置く。 リストの末尾にピリオドを置かないこと。
.IP
-Where the SEE ALSO list contains many long manual page names, to improve the
-visual result of the output, it may be useful to employ the \fI.ad l\fP (don't
-right justify) and \fI.nh\fP (don't hyphenate) directives. Hyphenation of
-individual page names can be prevented by preceding words with the string
-"\e%".
+関連項目のリストに長いマニュアルページ名が多く含まれる場合には、出力を見やすくするために \fI.ad l\fP (右揃えをしない) や \fI.nh\fP
+(ハイフンによる折り返しをしない) を活用するとよい。個々のページ名のハイフンによる折り返しは、単語の前に "\e%" を付けることで防ぐことができる。
.SS フォントの慣習
.PP
関数に対しては、引き数には常にイタリック体を用いる。 「たとえ書式 (SYNOPSIS) セクションであっても、このルールに従う」
(相互参照にセクション番号を含めておくと、 \fBman2html\fP といったツールがページ間のハイパーリンクを適切に生成できる。)
.SS "綴り (spelling)"
リリース 2.59 からだが、 \fIman\-pages\fP はアメリカ英語の綴りの慣習に従っている。 新しいページやパッチは全てこの慣習に従って下さい。
-.SS Capitalization
-In subsection ("SS") headings capitalize the first word in heading, but
-otherwise use lower case, except where English usage (e.g., proper nouns) or
-programming language requirements (e.g., identifier names) dictate
-otherwise.
+.SS 大文字表記
+サブセクション ("SS") 見出しでは、最初の単語だけ先頭文字を大文字にし、残りの単語は小文字にすること。但し、英語の用法 (例えば、固有名詞)
+やプログラミング言語の要件 (例えば、識別子の名前) などで別の表記をする場合はこの限りではない。
.SS サンプルプログラムとシェルのセッション
マニュアルページには、システムコールやライブラリ関数の使い方を示す サンプルプログラムを含めることができる。 その際には、以下の点に留意すべきである。
.TP 3
これらの記述子は、親プロセスの対応する記述子と同じオープンメッセージキュー 記述を参照している。親プロセスと子プロセスの対応する記述子は、フラグ
(\fImq_flags\fP) を共有する。なぜなら、フラグはオープンメッセージキュー記述に 関連付けられているからである。
-Each message has an associated \fIpriority\fP, and messages are always
-delivered to the receiving process highest priority first. Message
-priorities range from 0 (low) to \fIsysconf(_SC_MQ_PRIO_MAX)\ \-\ 1\fP (high).
-On Linux, \fIsysconf(_SC_MQ_PRIO_MAX)\fP returns 32768, but POSIX.1\-2001
-requires only that an implementation support at least priorities in the
-range 0 to 31; some implementations provide only this range.
+各メッセージにはそれぞれ \fI優先度 (priority)\fP があり、メッセージの受信プロセスへの配送は常に 優先度の高いメッセージから順に行われる。
+メッセージの優先度は 0 (低優先) から \fIsysconf(_SC_MQ_PRIO_MAX)\ \-\ 1\fP (高優先) の値を持つ。 Linux
+では、 \fIsysconf(_SC_MQ_PRIO_MAX)\fP は 32768 を返すが、 POSIX.1\-2001 で要求されているのは最低限 0
+から 31 までの優先度を実装することだけであり、実装によってはこの範囲の優先度しかサポートされていない。
.PP
この節の残りでは、POSIX メッセージキューの Linux の実装の詳細 について説明する。
.SS ライブラリインタフェースとシステムコール
それ以降にプロセスが作成した全ての netlink ソケットにも一意な \fInl_pid\fP を割り当てる。
.\" commit d629b836d151d43332492651dd841d32e57ebe3b
-\fInl_groups\fP is a bit mask with every bit representing a netlink group
-number. Each netlink family has a set of 32 multicast groups. When
-\fBbind\fP(2) is called on the socket, the \fInl_groups\fP field in the
-\fIsockaddr_nl\fP should be set to a bit mask of the groups which it wishes to
-listen to. The default value for this field is zero which means that no
-multicasts will be received. A socket may multicast messages to any of the
-multicast groups by setting \fInl_groups\fP to a bit mask of the groups it
-wishes to send to when it calls \fBsendmsg\fP(2) or does a \fBconnect\fP(2).
-Only processes with an effective UID of 0 or the \fBCAP_NET_ADMIN\fP capability
-may send or listen to a netlink multicast group. Since Linux 2.6.13,
-messages can't be broadcast to multiple groups. Any replies to a message
-received for a multicast group should be sent back to the sending PID and
-the multicast group. Some Linux kernel subsystems may additionally allow
-other users to send and/or receive messages. As at Linux 3.0, the
-\fBNETLINK_KOBJECT_UEVENT\fP, \fBNETLINK_GENERIC\fP, \fBNETLINK_ROUTE\fP, and
-\fBNETLINK_SELINUX\fP groups allow other users to receive messages. No groups
-allow other users to send messages.
+\fInl_groups\fP はビットマスクで、すべてのビットが netlink グループ番号を表す。
+それぞれの netlink ファミリーは 32 のマルチキャストグループのセットを持つ。
+それぞれの netlink ファミリーは 32 のマルチキャストグループの セットを持つ。
+\fBbind\fP(2) がソケットに対して呼ばれると、 \fIsockaddr_nl\fP の \fInl_groups\fP
+フィールドには listen したいグループのビットマスクがセットされる。
+デフォルトの値は 0 で、マルチキャストを一切受信しない。
+\fBsendmsg\fP(2) や \fBconnect\fP(2) によって、あるソケットからメッセージを
+マルチキャストしたいときは、 \fInl_groups\fP に送信したいグループのビットマスク
+をセットすればよい。
+netlink マルチキャストグループに送信したり、これを listen したりできるのは、
+実効ユーザー ID が 0 のプロセスか、 \fBCAP_NET_ADMIN\fP 権限を持つプロセスのみである。
+Linux 2.6.13 以降では、メッセージを複数のグループへのブロードキャストすることはできない。
+マルチキャストグループ向けメッセージを受信した場合、これ対する応答は
+送り主の PID とマルチキャストグループとに送り返すべきである。
+さらに、Linux のカーネルサブシステムによっては、
+他のユーザもメッセージの送受信ができる場合がある。
+Linux 3.0 の時点では、
+\fBNETLINK_KOBJECT_UEVENT\fP, \fBNETLINK_GENERIC\fP, \fBNETLINK_ROUTE\fP,
+\fBNETLINK_SELINUX\fP グループでは他のユーザがメッセージを受信することができる。
+他のユーザがメッセージを送信できるグループは存在しない。
.SH バージョン
netlink へのソケットインターフェースは Linux 2.2 の新機能である。
\fBcmsg\fP(3), \fBnetlink\fP(3), \fBcapabilities\fP(7), \fBrtnetlink\fP(7)
.UR ftp://ftp.inr.ac.ru\:/ip\-routing\:/iproute2*
-information about
-libnetlink
+libnetlink に関する情報
.UE
.UR http://people.suug.ch\:/~tgr\:/libnl/
-information about libnl
+libnl に関する情報
.UE
RFC 3549 "Linux Netlink as an IP Services Protocol"
.fi
.\" FIXME ifi_type
-\fIifi_flags\fP contains the device flags, see \fBnetdevice\fP(7); \fIifi_index\fP is
-the unique interface index (since Linux 3.7, it is possible to feed a
-nonzero value with the \fBRTM_NEWLINK\fP message, thus creating a link with the
-given \fIifindex\fP); \fIifi_change\fP is reserved for future use and should be
-always set to 0xFFFFFFFF.
+\fIifi_flags\fP はデバイスのフラグである。 \fBnetdevice\fP(7) を参照。 \fIifi_index\fP
+は他と重ならないインターフェースの index である (Linux 3.7 以降では、 \fBRTMGRP_LINK\fP メッセージで 0
+以外の値を指定することができ、そのため指定した \fIifindex\fP でリンクを作成できる)。 \fIifi_change\fP
+は将来の利用のために予約されており、常に 0xFFFFFFFF にセットすべきである。
.na
.TS
tab(:);
.TE
.ad
.sp
-The value type for \fBIFLA_STATS\fP is \fIstruct rtnl_link_stats\fP (\fIstruct
-net_device_stats\fP in Linux 2.4 and earlier).
+\fBIFLA_STATS\fP の値の型は \fIstruct rtnl_link_stats\fP (Linux 2.4 以前では \fIstruct
+net_device_stats\fP) である。
.TP
\fBRTM_NEWADDR\fP, \fBRTM_DELADDR\fP, \fBRTM_GETADDR\fP
インターフェースの IP アドレスの情報を追加・削除・取得する。 Linux 2.2 では、一つのインターフェースに複数の IP アドレスを