OSDN Git Service

LDP: Address fuzzy changes (unistd)
authorAkihiro Motoki <amotoki@gmail.com>
Thu, 8 Apr 2021 12:49:39 +0000 (21:49 +0900)
committerAkihiro Motoki <amotoki@gmail.com>
Fri, 9 Apr 2021 09:32:16 +0000 (18:32 +0900)
59 files changed:
manual/LDP_man-pages/draft/man2/access.2
manual/LDP_man-pages/draft/man2/alarm.2
manual/LDP_man-pages/draft/man2/brk.2
manual/LDP_man-pages/draft/man2/chdir.2
manual/LDP_man-pages/draft/man2/chmod.2
manual/LDP_man-pages/draft/man2/chown.2
manual/LDP_man-pages/draft/man2/chroot.2
manual/LDP_man-pages/draft/man2/dup.2
manual/LDP_man-pages/draft/man2/execve.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/execveat.2
manual/LDP_man-pages/draft/man2/fcntl.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/flock.2
manual/LDP_man-pages/draft/man2/fork.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/fsync.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/getdomainname.2
manual/LDP_man-pages/draft/man2/gethostname.2
manual/LDP_man-pages/draft/man2/getpagesize.2
manual/LDP_man-pages/draft/man2/gettid.2
manual/LDP_man-pages/draft/man2/mincore.2
manual/LDP_man-pages/draft/man2/mkdir.2
manual/LDP_man-pages/draft/man2/pread.2
manual/LDP_man-pages/draft/man2/swapon.2
manual/LDP_man-pages/draft/man2/syscall.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/syscalls.2
manual/LDP_man-pages/draft/man2/sysctl.2
manual/LDP_man-pages/draft/man2/sysinfo.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/truncate.2
manual/LDP_man-pages/draft/man2/umask.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/uname.2
manual/LDP_man-pages/draft/man2/uselib.2
manual/LDP_man-pages/draft/man2/vfork.2
manual/LDP_man-pages/draft/man2/vhangup.2
manual/LDP_man-pages/draft/man3/confstr.3
manual/LDP_man-pages/draft/man3/crypt.3
manual/LDP_man-pages/draft/man3/daemon.3
manual/LDP_man-pages/draft/man3/des_crypt.3
manual/LDP_man-pages/draft/man3/encrypt.3
manual/LDP_man-pages/draft/man3/exec.3 [new file with mode: 0644]
manual/LDP_man-pages/draft/man3/fexecve.3
manual/LDP_man-pages/draft/man3/fpathconf.3 [new file with mode: 0644]
manual/LDP_man-pages/draft/man3/get_nprocs_conf.3
manual/LDP_man-pages/draft/man3/getcwd.3
manual/LDP_man-pages/draft/man3/getdtablesize.3
manual/LDP_man-pages/draft/man3/gethostid.3
manual/LDP_man-pages/draft/man3/getlogin.3
manual/LDP_man-pages/draft/man3/getopt.3
manual/LDP_man-pages/draft/man3/getusershell.3
manual/LDP_man-pages/draft/man3/lockf.3
manual/LDP_man-pages/draft/man3/sleep.3
manual/LDP_man-pages/draft/man3/swab.3
manual/LDP_man-pages/draft/man3/sysconf.3
manual/LDP_man-pages/draft/man3/tcgetpgrp.3
manual/LDP_man-pages/draft/man3/ualarm.3
manual/LDP_man-pages/draft/man3/usleep.3
manual/LDP_man-pages/draft/man5/shells.5
manual/LDP_man-pages/draft/man7/environ.7
manual/LDP_man-pages/po4a/unistd/po/ja.po
manual/LDP_man-pages/stats/unistd
manual/LDP_man-pages/untrans.html

index 236e901..dc8d842 100644 (file)
@@ -70,7 +70,7 @@ access, faccessat, faccessat2 \- ユーザーのファイルへのアクセス
 \fB#include <fcntl.h>           \fP/* AT_* 定数の定義 */
 \fB#include <unistd.h>\fP
 .PP
-\fBint faccessat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB, int \fP\fIflags\fP\fB);\fP
+ \fBint faccessat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB, int \fP\fIflags\fP\fB);\fP
                 /* But see C library/kernel differences, below */
 
 \fBint faccessat2(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB, int \fP\fIflags\fP\fB);\fP
@@ -120,8 +120,7 @@ read files which users shouldn't be able to read.
 呼び出し元プロセスが特権プロセス (つまり、プロセスの実 UID が 0) の場合、 通常のファイルに対する \fBX_OK\fP
 のチェックは、そのファイルの所有者、グループ、他人のいずれかの 実行許可が有効になっていれば成功する。
 .SS faccessat()
-\fBfaccessat\fP()  operates in exactly the same way as \fBaccess\fP(), except for
-the differences described here.
+\fBfaccessat\fP() は \fBaccess\fP() と全く同様に動作するが、以下で説明する点が異なる。
 .PP
 \fIpathname\fP で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター \fIdirfd\fP
 が参照するディレクトリに対する相対パスと解釈される (\fBaccess\fP()
@@ -208,7 +207,7 @@ I/O エラーが発生した。
 \fBfaccessat\fP()  はバージョン 2.6.16 で Linux に追加された。 ライブラリによるサポートは glibc バージョン 2.4
 で追加された。
 .PP
-\fBfaccessat2\fP()  was added to Linux in version 5.8.
+\fBfaccessat2\fP() は Linux 5.8 で追加された。
 .SH 準拠
 \fBaccess\fP(): SVr4, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008.
 .PP
@@ -222,9 +221,9 @@ I/O エラーが発生した。
 (ここで説明した例の場合には、より安全な方法としては、 そのプロセスの実効ユーザー ID を実ユーザー ID に一時的に切り替えてから
 \fBopen\fP(2) を呼び出す方法がある。)
 .PP
-\fBaccess\fP()  always dereferences symbolic links.  If you need to check the
-permissions on a symbolic link, use \fBfaccessat\fP()  with the flag
-\fBAT_SYMLINK_NOFOLLOW\fP.
+\fBaccess\fP() は常にシンボリックリンクの展開を行う。
+シンボリックリンクのアクセス許可を確認する必要がある場合は、
+\fBAT_SYMLINK_NOFOLLOW\fP フラグ付きで \fBfaccessat\fP() を使うこと。
 .PP
 \fImode\fP で指定されたアクセス種別のいずれか一つでも拒否されると、 たとえ \fImode\fP で指定された他のアクセス種別が許可されたとしても、
 これらのシステムコールはエラーを返す。
@@ -234,10 +233,9 @@ POSIX.1\-2001 では、 呼び出し元プロセスが適切な特権を持っ
 たとえファイルの実行許可ビットが全くセットされていなくても \fBX_OK\fP のチェックとして成功を返す実装が認められている。 Linux
 はこのようにはなっていない。
 .PP
-A file is accessible only if the permissions on each of the directories in
-the path prefix of \fIpathname\fP grant search (i.e., execute) access.  If any
-directory is inaccessible, then the \fBaccess\fP()  call fails, regardless of
-the permissions on the file itself.
+\fIpathname\fP のプレフィックスを構成するディレクトリの全てに対して 検索アクセス (すなわち、実行アクセス) が許可された場合にのみ、
+ファイルはアクセス可能となる。 いずれかのディレクトリがアクセス不可の場合、 ファイル自身のアクセス許可に関わらず、 \fBaccess\fP()
+は失敗する。
 .PP
 アクセスビットのみがチェックされ、ファイルの種類や内容はチェックされない。 従って、ディレクトリが書き込み可能となった場合は、ディレクトリに
 ファイルを作成することが可能なことを意味するのであり、ディレクトリに ファイルとして書き込むことができるわけではない。 同様に DOS
@@ -250,11 +248,10 @@ the permissions on the file itself.
 以降ではサーバー側でチェックが実行される。) 同様の問題は FUSE マウントでも起こり得る。
 .SS "C ライブラリとカーネルの違い"
 .\"
-The raw \fBfaccessat\fP()  system call takes only the first three arguments.
-The \fBAT_EACCESS\fP and \fBAT_SYMLINK_NOFOLLOW\fP flags are actually implemented
-within the glibc wrapper function for \fBfaccessat\fP().  If either of these
-flags is specified, then the wrapper function employs \fBfstatat\fP(2)  to
-determine access permissions, but see BUGS.
+生の \fBfaccessat\fP() システムコールは、最初の 3 つの引き数だけを取る。フラグ \fBAT_EACCESS\fP と
+\fBAT_SYMLINK_NOFOLLOW\fP は実際には \fBfaccessat\fP() の glibc
+のラッパー関数内で実装されている。これらのフラグのいずれかが指定された場合、ラッパー関数は \fBfstatat\fP(2)
+を使ってアクセス許可の判定を行う。ただし「バグ」を参照のこと。
 .SS "glibc での注意"
 \fBfaccessat\fP() が利用できない古いカーネルでは、(フラグ \fBAT_EACCESS\fP と \fBAT_SYMLINK_NOFOLLOW\fP
 が指定されていない場合) glibc ラッパー関数は \fBaccess\fP() を使用するモードにフォールバックする。 \fIpathname\fP
@@ -276,9 +273,9 @@ system call where it is provided by the underlying kernel.
 が一緒に指定された場合には \fBaccess\fP()  は 0 を返す。 (バージョン 2.6.3 以前の) 初期の 2.6 系のカーネルも 2.4
 系のカーネルと同様の動作をする。
 .PP
-In kernels before 2.6.20, these calls ignored the effect of the \fBMS_NOEXEC\fP
-flag if it was used to \fBmount\fP(2)  the underlying filesystem.  Since kernel
-2.6.20, the \fBMS_NOEXEC\fP flag is honored.
+2.6.20 より前のカーネルでは、 これらのシステムコールはファイルが存在するファイルシステムを \fBmount\fP(2) する際に指定された
+\fBMS_NOEXEC\fP フラグの効果を無視していた。 カーネル 2.6.20 以降では、 \fBMS_NOEXEC\fP
+フラグは考慮されるようになっている。
 .SH 関連項目
 \fBchmod\fP(2), \fBchown\fP(2), \fBopen\fP(2), \fBsetgid\fP(2), \fBsetuid\fP(2),
 \fBstat\fP(2), \fBeuidaccess\fP(3), \fBcredentials\fP(7), \fBpath_resolution\fP(7),
index 8c027f2..8e16a73 100644 (file)
@@ -39,7 +39,7 @@
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH ALARM 2 2017\-05\-03 Linux "Linux Programmer's Manual"
+.TH ALARM 2 " 2017\-05\-03" Linux "Linux Programmer's Manual"
 .SH 名前
 alarm \- シグナル配送のためのアラームクロックを設定する
 .SH 書式
@@ -57,7 +57,7 @@ alarm \- シグナル配送のためのアラームクロックを設定する
 .SH 返り値
 \fBalarm\fP()  は以前に予定されていたアラームの配送までの残り時間を返す。以前に アラームが予定されていなければゼロを返す。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
+ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
 .SH 注意
 \fBalarm\fP()  と \fBsetitimer\fP(2)  は同じタイマーを共有している; 片方を呼び出すことはもう一方の 使用に影響を与える。
 .PP
@@ -69,7 +69,7 @@ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
 .PP
 スケジューリング(scheduling)の遅延により、プロセスの実行に不定量の 遅延が起きる可能性がある。
 .SH 関連項目
-\fBgettimeofday\fP(2), \fBpause\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2),
+ \fBgettimeofday\fP(2), \fBpause\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2),
 \fBsigaction\fP(2), \fBsignal\fP(2), \fBtimer_create\fP(2), \fBtimerfd_create\fP(2),
 \fBsleep\fP(3), \fBtime\fP(7)
 .SH この文書について
index 8f3d7e2..a30f5d7 100644 (file)
@@ -43,7 +43,7 @@
 .\" Updated & Modified Tue Jan  2 09:09:47 JST 2007 by Yuichi SATO, LDP v2.43
 .\" Updated 2008-08-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
 .\"
-.TH BRK 2 2016\-03\-15 Linux "Linux Programmer's Manual"
+.TH BRK 2 " 2016\-03\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 brk, sbrk \- データセグメントのサイズの変更する
 .SH 書式
@@ -62,16 +62,16 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .PD 0
 .TP  4
-Since glibc 2.19:
+glibc 2.19 以降:
 .nf
 .\"    (_XOPEN_SOURCE\ >=\ 500 ||
 .\"        _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
-_DEFAULT_SOURCE ||
+ _DEFAULT_SOURCE ||
     (_XOPEN_SOURCE\ >=\ 500) &&
     ! (_POSIX_C_SOURCE\ >=\ 200112L)
 .fi
 .TP  4
-From glibc 2.12 to 2.19:
+glibc 2.12 から 2.19 まで:
 .nf
 .\"    (_XOPEN_SOURCE\ >=\ 500 ||
 .\"        _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
index 113e557..2e6babe 100644 (file)
@@ -64,8 +64,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 _XOPEN_SOURCE\ >=\ 500
-    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
-    || /* Glibc up to and including 2.19: */ _BSD_SOURCE
+    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .RE
 .ad
 .PD
index 52b3d3b..2b8b459 100644 (file)
@@ -107,14 +107,13 @@ The \fBchmod\fP()  and \fBfchmod\fP()  system calls change a files mode bits.
 set\-group\-ID, and sticky bits.)  These system calls differ only in how the
 file is specified:
 .IP * 2
-\fBchmod\fP()  changes the mode of the file specified whose pathname is given
-in \fIpathname\fP, which is dereferenced if it is a symbolic link.
+\fBchmod\fP()  は、 \fIpathname\fP で指定されたパス名を持つファイルのモードを変更する。 \fIpathname\fP
+がシンボリックリンクの場合は、リンクの展開が行われる。
 .IP *
-\fBfchmod\fP()  changes the mode of the file referred to by the open file
-descriptor \fIfd\fP.
+\fBfchmod\fP()  は、オープンされたファイルディスクリプター \fIfd\fP により参照されるファイルのモードを変更する。
 .PP
-The new file mode is specified in \fImode\fP, which is a bit mask created by
-ORing together zero or more of the following:
+新しいファイルモードは \fImode\fP で指定される。 \fImode\fP は、以下に示す値の 0 個以上の OR (論理和) をとって作成される
+ビットマスクである。
 .TP  18
 \fBS_ISUID\fP  (04000)
 set\-user\-ID (\fBexecve\fP(2)  時にプロセスの実効ユーザー ID にセットされる)
@@ -162,12 +161,11 @@ set\-group\-ID (以下の場合に (\fBexecve\fP(2)  実行時にプロセスの
 プロセスの実効グループ ID または補助的なグループ ID にマッチしない場合、 \fBS_ISGID\fP
 ビットはオフにされるが、これによってエラーが返されることはない。
 .PP
-As a security measure, depending on the filesystem, the set\-user\-ID and
-set\-group\-ID execution bits may be turned off if a file is written.  (On
-Linux, this occurs if the writing process does not have the \fBCAP_FSETID\fP
-capability.)  On some filesystems, only the superuser can set the sticky
-bit, which may have a special meaning.  For the sticky bit, and for
-set\-user\-ID and set\-group\-ID bits on directories, see \fBinode\fP(7).
+安全のための処置として、 ファイルシステムによっては、ファイルの書き込みを行う時に set\-user\-ID とset\-group\-ID
+ビットと実行ビットが オフにされることがある。 (Linux では、書き込みプロセスが \fBCAP_FSETID\fP
+ケーパビリティを持っていない場合に、これが起こる。)  ファイルシステムの中には、スーパーユーザーだけが
+特別の意味を持つスティッキービットを設定できるものがある。 スティッキービットとディレクトリに対する set\-user\-ID
+(set\-group\-ID) ビットについては、 \fBinode\fP(7)  を見よ。
 .PP
 .\"
 .\"
index 2975ae7..4f1e224 100644 (file)
@@ -78,9 +78,9 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .ad l
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-/* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+/* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
     || _XOPEN_SOURCE\ >=\ 500
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .RE
 .PP
 \fBfchownat\fP():
@@ -237,14 +237,11 @@ POSIX.1\-2008.
 \fBfchownat\fP(): POSIX.1\-2008.
 .SH 注意
 .SS 新しいファイルの所有権
-When a new file is created (by, for example, \fBopen\fP(2)  or \fBmkdir\fP(2)),
-its owner is made the same as the filesystem user ID of the creating
-process.  The group of the file depends on a range of factors, including the
-type of filesystem, the options used to mount the filesystem, and whether or
-not the set\-group\-ID mode bit is enabled on the parent directory.  If the
-filesystem supports the \fB\-o\ grpid\fP (or, synonymously \fB\-o\ bsdgroups\fP)
-and \fB\-o\ nogrpid\fP (or, synonymously \fB\-o\ sysvgroups\fP)  \fBmount\fP(8)
-options, then the rules are as follows:
+(\fBopen\fP(2)  や \fBmkdir\fP(2)  などにより) 新しいファイルが作成されるとき、
+その所有者は呼び出したプロセスのファイルシステムユーザー ID と 同じに設定される。 そのファイルのグループはいくつかの要因により決定される。
+その要因としては、 ファイルシステムの種類、そのファイルシステムのマウント時に 使用されたオプション、親ディレクトリで set\-group\-ID
+モードビットが 有効になっているどうか、がある。 ファイルシステムが \fBmount\fP(8)  オプションの \fB\-o\ grpid\fP (\fB\-o\ bsdgroups\fP も同義語) と \fB\-o\ nogrpid\fP (\fB\-o sysvgroups\fP も同義語)
+に対応している場合、ルールは以下の通りとなる。
 .IP * 2
 ファイルシステムが \fB\-o\ grpid\fP 付きでマウントされている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。
 .IP *
index 0d44bbf..89e4af1 100644 (file)
@@ -67,8 +67,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 glibc 2.2.2 以降:
 .nf
 _XOPEN_SOURCE && ! (_POSIX_C_SOURCE\ >=\ 200112L)
-    || /* Since glibc 2.20: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* glibc 2.20 以降: */ _DEFAULT_SOURCE
+    || /* Glibc 2.19 以前: */ _BSD_SOURCE
 .fi
 .TP  4
 glibc 2.2.2 より前: なし
@@ -79,8 +79,8 @@ glibc 2.2.2 より前: なし
 \fBchroot\fP()  は、呼び出し元プロセスのルートディレクトリを \fIpath\fP で指定されたディレクトリに変更する。 このディレクトリ以下が
 \fI/\fP から始まるパス名として使われる。 このルートディレクトリは呼び出し元のプロセスの全ての子プロセスに受け継がれる。
 .PP
-Only a privileged process (Linux: one with the \fBCAP_SYS_CHROOT\fP capability
-in its user namespace) may call \fBchroot\fP().
+特権プロセス (Linux では、そのプロセスのユーザー名前空間で \fBCAP_SYS_CHROOT\fP ケーパビリティを持つプロセス) のみが
+\fBchroot\fP()  を呼び出すことができる。
 .PP
 This call changes an ingredient in the pathname resolution process and does
 nothing else.  In particular, it is not intended to be used for any kind of
index e547880..e315c80 100644 (file)
@@ -67,24 +67,23 @@ dup, dup2, dup3 \- ファイルディスクリプターを複製する
 \fBint dup3(int \fP\fIoldfd\fP\fB, int \fP\fInewfd\fP\fB, int \fP\fIflags\fP\fB);\fP
 .fi
 .SH 説明
-The \fBdup\fP()  system call creates a copy of the file descriptor \fIoldfd\fP,
-using the lowest\-numbered unused file descriptor for the new descriptor.
+\fBdup\fP() システムコールは、 ファイルディスクリプター \fIoldfd\fP のコピーを作成し、 最も小さい番号の未使用のファイルディスクリプターを
+新しいディスクリプターとして使用する。
 .PP
-After a successful return, the old and new file descriptors may be used
-interchangeably.  They refer to the same open file description (see
-\fBopen\fP(2))  and thus share file offset and file status flags; for example,
-if the file offset is modified by using \fBlseek\fP(2)  on one of the file
-descriptors, the offset is also changed for the other.
+成功が返された場合には、 古いファイルディスクリプターと新しいファイルディスクリプターは 互いに可換なものとして使うことができる。
+2つのファイルディスクリプターは同じファイル記述 (description)  (\fBopen\fP(2)  参照)
+を参照しており、したがってファイルオフセットやファイル状態フラグが 共有される。例えば、一方のファイルディスクリプターに対して \fBlseek\fP(2)
+を使ってファイルオフセットを変更した場合、もう一方のファイルディスクリプターの オフセットも変化する。
 .PP
 .\"
-The two file descriptors do not share file descriptor flags (the
-close\-on\-exec flag).  The close\-on\-exec flag (\fBFD_CLOEXEC\fP; see
-\fBfcntl\fP(2))  for the duplicate descriptor is off.
+2つのファイルディスクリプターはファイルディスクリプターフラグ (close\-on\-exec flag)  を共有しない。複製されたディスクリプターの
+close\-on\-exec flag (\fBfcntl\fP(2)  参照) は off となる。
 .SS dup2()
-The \fBdup2\fP()  system call performs the same task as \fBdup\fP(), but instead
-of using the lowest\-numbered unused file descriptor, it uses the file
-descriptor number specified in \fInewfd\fP.  If the file descriptor \fInewfd\fP
-was previously open, it is silently closed before being reused.
+\fBdup2\fP() システムコールは \fBdup\fP() と同じ処理を実行するが、
+番号が最も小さい未使用のファイルディスクリプターを使用する代わりに、
+\fInewfd\fP で指定されたファイルディスクリプター番号を使用する。
+ファイルディスクリプター \fInewfd\fP が以前にオープンされていた場合には、
+黙ってそのファイルディスクリプターをクローズしてから再利用する。
 .PP
 ファイルディスクリプター \fInewfd\fP をクローズして再利用する処理は
 \fIアトミック(不可分)に\fP実行される。これは重要な点である。 なぜなら、
@@ -115,8 +114,7 @@ was previously open, it is silently closed before being reused.
 .\"    result of dup3(fd, fd, O_CLOEXEC)?
 \fIoldfd\fP が \fInewfd\fP と同じ場合、 \fBdup3\fP()  は \fBEINVAL\fP エラーで失敗する。
 .SH 返り値
-On success, these system calls return the new file descriptor.  On error, \-1
-is returned, and \fIerrno\fP is set appropriately.
+成功すると、これらのシステムコールは新しいファイルディスクリプターを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP を適切に設定する。
 .SH エラー
 .TP 
 \fBEBADF\fP
@@ -166,27 +164,27 @@ reached (see the discussion of \fBRLIMIT_NOFILE\fP in \fBgetrlimit\fP(2)).
 .PP
 .in +4n
 .EX
-/* Obtain a duplicate of \(aqnewfd\(aq that can subsequently
-   be used to check for close() errors; an EBADF error
-   means that \(aqnewfd\(aq was not open. */
+/* あとで close() エラーをチェックするのに使用できる
+   ように \(aqnewfd\(aq の複製を取得する。 EBADF エラーは
+   \(aqnewfd\(aq がオープンされていないことを意味する。 */
 
 tmpfd = dup(newfd);
 if (tmpfd == \-1 && errno != EBADF) {
-    /* Handle unexpected dup() error */
+    /* 予期しない dup() のエラーを処理する */
 }
 
-/* Atomically duplicate \(aqoldfd\(aq on \(aqnewfd\(aq */
+/* アトミックに \(aqoldfd\(aq を \(aqnewfd\(aq に複製する */
 
 if (dup2(oldfd, newfd) == \-1) {
-    /* Handle dup2() error */
+    /* dup2() のエラーを処理する */
 }
 
-/* Now check for close() errors on the file originally
-   referred to by \(aqnewfd\(aq */
+/* ここでもともと \(aqnewfd\(aq で参照されていたファイルの
+   close() エラーをチェックする */
 
 if (tmpfd != \-1) {
     if (close(tmpfd) == \-1) {
-        /* Handle errors from close */
+        /* close からのエラーを処理する */
     }
 }
 .EE
diff --git a/manual/LDP_man-pages/draft/man2/execve.2 b/manual/LDP_man-pages/draft/man2/execve.2
new file mode 100644 (file)
index 0000000..c35e63e
--- /dev/null
@@ -0,0 +1,586 @@
+.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
+.\" and Copyright (c) 2006 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
+.\"
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified 1993-07-21 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1994-08-21 by Michael Chastain <mec@shell.portal.com>:
+.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 1999-11-12 by Urs Thuermann <urs@isnogud.escape.de>
+.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\" 2006-09-04 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added list of process attributes that are not preserved on exec().
+.\" 2007-09-14 Ollie Wild <aaw@google.com>, mtk
+.\"     Add text describing limits on command-line arguments + environment
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1996 TABATA Tomohira
+.\"         all rights reserved.
+.\" Translated 1996-07-04, TABATA Tomohira <loba@k2.t.u-tokyo.ac.jp>
+.\" Updated 1997-12-14, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2001-08-17, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2005-02-05, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-11-19, Akihiro MOTOKI
+.\" Updated 2006-08-13, Akihiro MOTOKI, LDP v2.39
+.\" Updated 2007-01-09, Akihiro MOTOKI, LDP v2.43
+.\" Updated 2007-06-03, Akihiro MOTOKI, LDP v2.51
+.\" Updated 2007-10-12, Akihiro MOTOKI, LDP v2.66
+.\" Updated 2008-04-04, Akihiro MOTOKI, LDP v2.79
+.\" Updated 2008-11-05, Akihiro MOTOKI, LDP v3.12
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-22, Akihiro MOTOKI, LDP v3.50
+.\" Updated 2013-07-22, Akihiro MOTOKI, LDP v3.52
+.\"
+.TH EXECVE 2 " 2020\-08\-13" Linux "Linux Programmer's Manual"
+.SH 名前
+execve \- プログラムを実行する
+.SH 書式
+\fB#include <unistd.h>\fP
+.PP
+ \fBint execve(const char *\fP\fIpathname\fP\fB, char *const \fP\fIargv\fP\fB[],\fP
+.br
+\fB char *const \fP\fIenvp\fP\fB[]);\fP
+.SH 説明
+\fBexecve\fP()  executes the program referred to by \fIpathname\fP.  This causes
+the program that is currently being run by the calling process to be
+replaced with a new program, with newly initialized stack, heap, and
+(initialized and uninitialized) data segments.
+.PP
+\fIpathname\fP は、バイナリ実行形式か、 以下の形式の行で始まるスクリプトでなければならない。
+.PP
+.in +4n
+.EX
+\fB#!\fP\fIinterpreter \fP[optional\-arg]
+.EE
+.in
+.PP
+後者の詳細は、後ろの「インタープリタースクリプト」の節を参照のこと。
+.PP
+\fIargv\fP is an array of pointers to strings passed to the new program as its
+command\-line arguments.  By convention, the first of these strings (i.e.,
+\fIargv[0]\fP)  should contain the filename associated with the file being
+executed.  The \fIargv\fP array must be terminated by a NULL pointer.  (Thus,
+in the new program, \fIargv[argc]\fP will be NULL.)
+.PP
+\fIenvp\fP is an array of pointers to strings, conventionally of the form
+\fBkey=value\fP, which are passed as the environment of the new program.  The
+\fIenvp\fP array must be terminated by a NULL pointer.
+.PP
+The argument vector and environment can be accessed by the new program's
+main function, when it is defined as:
+.PP
+.in +4n
+.EX
+int main(int argc, char *argv[], char *envp[])
+.EE
+.in
+.PP
+Note, however, that the use of a third argument to the main function is not
+specified in POSIX.1; according to POSIX.1, the environment should be
+accessed via the external variable \fBenviron\fP(7).
+.PP
+\fBexecve\fP()  does not return on success, and the text, initialized data,
+uninitialized data (bss), and stack of the calling process are overwritten
+according to the contents of the newly loaded program.
+.PP
+元のプログラムが ptrace されている場合、 \fBexecve\fP()  が成功した後に そのプログラムに \fBSIGTRAP\fP シグナルが送られる。
+.PP
+\fIpathname\fP で参照されるプログラムファイルに set\-user\-ID ビットが設定されている場合、呼び出したプロセスの実効
+(effective) ユーザー ID は プログラムファイルの所有者 (owner) に変更される。 同様に、プログラムファイルに
+set\-group\-ID ビットが設定されていた場合、 呼び出したプロセスの有効グループ ID は プログラムファイルのグループに変更される。
+.PP
+The aforementioned transformations of the effective IDs are \fInot\fP performed
+(i.e., the set\-user\-ID and set\-group\-ID bits are ignored)  if any of the
+following is true:
+.IP * 3
+the \fIno_new_privs\fP attribute is set for the calling thread (see
+\fBprctl\fP(2));
+.IP *
+the underlying filesystem is mounted \fInosuid\fP (the \fBMS_NOSUID\fP flag for
+\fBmount\fP(2)); or
+.IP *
+the calling process is being ptraced.
+.PP
+The capabilities of the program file (see \fBcapabilities\fP(7))  are also
+ignored if any of the above are true.
+.PP
+プロセスの実効ユーザー ID は保存 (saved) set\-user\-ID にコピーされる。 同様に、実効グループ ID は保存
+set\-group\-ID にコピーされる。 このコピーは、set\-user\-ID / set\-group\-ID モードビットにより発生する 実効 ID
+の変更後に行われる。
+.PP
+The process's real UID and real GID, as well its supplementary group IDs,
+are unchanged by a call to \fBexecve\fP().
+.PP
+実行ファイルが動的リンクされた a.out 実行形式で、共有ライブラリの スタブを含むものだった場合、実行の開始時に Linux の
+ダイナミックリンカー \fBld.so\fP(8)  が呼び出され、必要な共有オブジェクトをメモリーに読み込んでリンクを行う。
+.PP
+.\"
+実行ファイルがダイナミックリンクされた ELF 実行形式だった場合、
+PT_INTERP セグメントに指定されたインタープリターが必要な 共有オブジェクト
+(shared library) を読み込むのに使用される。
+通常、インタープリターは glibc をリンクしたバイナリでは
+\fI/lib/ld\-linux.so.2\fP である。 (\fBld\-linux.so\fP(8) を参照)
+.SS "Effect on process attributes"
+以下に示す以外のすべてのプロセス属性は \fBexecve\fP()  の前後で保持される。
+.IP * 3
+捕捉されたシグナルの処理方法 (disposition) は デフォルト動作にリセットされる (\fBsignal\fP(7))。
+.IP *
+代替シグナルスタックはどれも保持されない (\fBsigaltstack\fP(2))。
+.IP *
+メモリーマッピングは保持されない (\fBmmap\fP(2))。
+.IP *
+付加された (attached) System\ V 共有メモリーセグメントは分離される (\fBshmat\fP(2))。
+.IP *
+POSIX 共有メモリー領域はマッピングを解除される (\fBshm_open\fP(3))。
+.IP *
+オープンされた POSIX メッセージキューディスクリプターはクローズされる (\fBmq_overview\fP(7))。
+.IP *
+オープンされた POSIX 名前付きセマフォはいずれもクローズされる (\fBsem_overview\fP(7))。
+.IP *
+POSIX タイマーは保持されない (\fBtimer_create\fP(2))。
+.IP *
+オープンされたディレクトリストリームはいずれもクローズされる (\fBopendir\fP(3))。
+.IP *
+メモリーロックは保持されない (\fBmlock\fP(2), \fBmlockall\fP(2))。
+.IP *
+終了 (exit) ハンドラーは保持されない (\fBatexit\fP(3), \fBon_exit\fP(3))。
+.IP *
+浮動小数点関連の環境はデフォルトにリセットされる (\fBfenv\fP(3)  参照)。
+.PP
+上記のリストのプロセス属性はいずれも POSIX.1 で規定されている。 以下に示す Linux 固有のプロセス属性も \fBexecve\fP()
+の前後で保持されない。
+.IP * 3
+The process's "dumpable" attribute is set to the value 1, unless a
+set\-user\-ID program, a set\-group\-ID program, or a program with capabilities
+is being executed, in which case the dumpable flag may instead be reset to
+the value in \fI/proc/sys/fs/suid_dumpable\fP, in the circumstances described
+under \fBPR_SET_DUMPABLE\fP in \fBprctl\fP(2).  Note that changes to the
+"dumpable" attribute may cause ownership of files in the process's
+\fI/proc/[pid]\fP directory to change to \fIroot:root\fP, as described in
+\fBproc\fP(5).
+.IP *
+\fBprctl\fP(2)  の \fBPR_SET_KEEPCAPS\fP フラグはクリアされる。
+.IP *
+(Linux 2.4.36 以降 / 2.6.23 以降)  set\-user\-ID や set\-group\-ID されたプログラムが実行された場合、
+\fBprctl\fP(2) の \fBPR_SET_PDEATHSIG\fP フラグで設定された parent death シグナルはクリアされる。
+.IP *
+プロセス名は新しい実行ファイルの名前にリセットされる。 プロセス名は \fBprctl\fP(2)  の \fBPR_SET_NAME\fP で設定でき、
+\fIps\ \-o comm\fP で表示できる。
+.IP *
+\fBSECBIT_KEEP_CAPS\fP の \fIsecurebits\fP フラグはクリアされる。 \fBcapabilities\fP(7) 参照。
+.IP *
+終了シグナル (termination signal) は \fBSIGCHLD\fP にリセットされる (\fBclone\fP(2)  参照)。
+.IP *
+The file descriptor table is unshared, undoing the effect of the
+\fBCLONE_FILES\fP flag of \fBclone\fP(2).
+.PP
+以下の点についても注意すること:
+.IP * 3
+呼び出し元スレッド以外の全てのスレッドは \fBexecve\fP()  中に破棄される。 mutex、条件変数、その他の pthread
+オブジェクトは保持されない。
+.IP *
+\fIsetlocale(LC_ALL, "C")\fP 相当の処理がプログラム開始時に実行される。
+.IP *
+POSIX.1 は、動作が無視かデフォルトに設定されている全てのシグナル の処理方法は変更せずそのままにする、と規定している。
+但し、POSIX.1\-2001 には一つ例外があり、 \fBSIGCHLD\fP が無視になっている場合、
+その処理方法を変更せずにそのままにするか、デフォルト動作にリセットするかは 実装依存となっている。 Linux では前者 (変更しない) となっている。
+.IP *
+完了していない非同期 I/O 操作はキャンセルされる (\fBaio_read\fP(3), \fBaio_write\fP(3))。
+.IP *
+\fBexecve\fP(2)  時のケーパビリティの扱いについては、 \fBcapabilities\fP(7)  を参照。
+.IP *
+.\" On Linux it appears that these file descriptors are
+.\" always open after an execve(), and it looks like
+.\" Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
+デフォルトでは、ファイルディスクリプターは \fBexecve\fP()  を行った後でもオープンされたままである。 close\-on\-exec
+の印が付いているファイルディスクリプターはクローズされる。 \fBfcntl\fP(2)  の \fBFD_CLOEXEC\fP の説明を参照。
+(ファイルディスクリプターがクローズされると、このプロセスが ファイルディスクリプターに対応するファイルに対して獲得していた
+レコードのロックが全て解放されることになる。)  POSIX.1 では、 ファイルディスクリプター 0, 1, 2 が \fBexecve\fP()
+成功後にどこかでクローズされ、かつ 実行されるファイルに set\-user_ID か set\-group_ID のモードビットが
+セットされていてプロセスが特権を獲得した場合、 システムは何らかのファイルをオープンする際に これらの番号のディスクリプターのどれかを使うことがある、
+とされている。 原則として、移植性が必要なプログラムでは、 特権の有無に関わらず、 \fBexecve\fP()  の前後でこれら
+3つのファイルディスクリプターがクローズされたままで あることを前提にすることはできない。
+.SS インタープリタースクリプト
+インタープリタースクリプトとは、実行許可が有効になっていて、 最初の行が以下の形になっているテキストファイルのことである。
+.PP
+.in +4n
+.EX
+\fB#!\fP\fIinterpreter \fP[optional\-arg]
+.EE
+.in
+.PP
+The \fIinterpreter\fP must be a valid pathname for an executable file.
+.PP
+\fBexecve\fP()  の \fIpathname\fP 引き数がインタープリタースクリプトを指定している場合、 \fIinterpreter\fP
+は以下の引き数で起動される。
+.PP
+.in +4n
+.EX
+\fIinterpreter\fP [optional\-arg] \fIpathname\fP arg...
+.EE
+.in
+.PP
+.\" See the P - preserve-argv[0] option.
+.\" Documentation/admin-guide/binfmt-misc.rst
+.\" https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html
+where \fIpathname\fP is the absolute pathname of the file specified as the
+first argument of \fBexecve\fP(), and \fIarg...\fP is the series of words pointed
+to by the \fIargv\fP argument of \fBexecve\fP(), starting at \fIargv[1]\fP.  Note
+that there is no way to get the \fIargv[0]\fP that was passed to the
+\fBexecve\fP()  call.
+.PP
+移植性を持たすには、 \fIoptional\-arg\fP は空か 1ワードだけにすべきである (つまり、ホワイトスペースを含めるべきではない)。
+下記の「注意」の節を参照。
+.PP
+.\" commit bf2a9a39639b8b51377905397a5005f444e9a892
+Since Linux 2.6.28, the kernel permits the interpreter of a script to itself
+be a script.  This permission is recursive, up to a limit of four
+recursions, so that the interpreter may be a script which is interpreted by
+a script, and so on.
+.SS 引き数と環境変数の合計サイズの上限
+ほとんどの UNIX の実装は、新しいプログラムに渡すことができる コマンドライン引き数 (\fIargv\fP)  と環境変数 (\fIenvp\fP)
+の文字列群の合計サイズに何らかの上限を設けている。 POSIX.1 は、 \fBARG_MAX\fP 定数を使ってこの上限を決める実装を認めている
+(\fBARG_MAX\fP は \fI<limits.h>\fP で定義されるか、実行時に \fIsysconf(_SC_ARG_MAX)\fP
+の呼び出しで入手できるかのいずれかである)。
+.PP
+カーネル 2.6.23 より前の Linux では、環境変数と引き数の文字列群を 格納するのに使用されるメモリーは 32 ページに制限されていた (32
+ページというのはカーネル定数 \fBMAX_ARG_PAGES\fP で定義される)。したがって、 ページサイズが 4\ kB のアーキテクチャーでは、
+最大サイズは 128\ kB ということになる。
+.PP
+.\" For some background on the changes to ARG_MAX in kernels 2.6.23 and
+.\" 2.6.25, see:
+.\"     http://sourceware.org/bugzilla/show_bug.cgi?id=5786
+.\"     http://bugzilla.kernel.org/show_bug.cgi?id=10095
+.\"     http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
+.\"     checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
+.\" Ollie: That doesn't include the lists of pointers, though,
+.\" so the actual usage is a bit higher (1 pointer per argument).
+On kernel 2.6.23 and later, most architectures support a size limit derived
+from the soft \fBRLIMIT_STACK\fP resource limit (see \fBgetrlimit\fP(2))  that is
+in force at the time of the \fBexecve\fP()  call.  (Architectures with no
+memory management unit are excepted: they maintain the limit that was in
+effect before kernel 2.6.23.)  This change allows programs to have a much
+larger argument and/or environment list.  For these architectures, the total
+size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4\-limit
+ensures that the new program always has some stack space.)  Additionally,
+the total size is limited to 3/4 of the value of the kernel constant
+\fB_STK_LIM\fP (8 Mibibytes).  Since Linux 2.6.25, the kernel also places a
+floor of 32 pages on this size limit, so that, even when \fBRLIMIT_STACK\fP is
+set very low, applications are guaranteed to have at least as much argument
+and environment space as was provided by Linux 2.6.23 and earlier.  (This
+guarantee was not provided in Linux 2.6.23 and 2.6.24.)  Additionally, the
+limit per string is 32 pages (the kernel constant \fBMAX_ARG_STRLEN\fP), and
+the maximum number of strings is 0x7FFFFFFF.
+.SH 返り値
+成功すると \fBexecve\fP()  は返らない。エラーの場合は \-1 を返し、 \fIerrno\fP を適切に設定する。
+.SH エラー
+.TP 
+\fBE2BIG\fP
+環境変数 (\fIenvp\fP)  と引き数リスト (\fIargv\fP)  の合計バイト数が大き過ぎる。
+.TP 
+\fBEACCES\fP
+\fIpathname\fP やスクリプトインタープリター名の構成要素に検索許可 (search permission)  が与えられていない
+(\fBpath_resolution\fP(7)  も参照すること)。
+.TP 
+\fBEACCES\fP
+ファイルもしくはスクリプトのインタープリターが通常ファイル (regular file)  でない。
+.TP 
+\fBEACCES\fP
+ファイルやスクリプトや ELF インタープリターに 実行許可 (execute permission) が与えられていない。
+.TP 
+\fBEACCES\fP
+ファイルシステムが \fInoexec\fP でマウントされている。
+.TP 
+\fBEAGAIN\fP (Linux 3.1 以降)
+.\" commit 72fa59970f8698023045ab0713d66f3f4f96945c
+\fBset*uid\fP() のいずれかの呼び出しでプロセスの実 UID が変更されたとすると、呼び出し元の \fBRLIMIT_NPROC\fP リソース上限
+(\fBsetrlimit\fP(2) 参照) を超えてしまう、 現在もまだ超えている。 このエラーの詳細な説明については「注意」の節を参照。
+.TP 
+\fBEFAULT\fP
+\fIpathname\fP または配列 \fIargv\fP か \fIenvp\fP のポインターの一つがアクセス可能なアドレス空間の外を指している。
+.TP 
+\fBEINVAL\fP
+ELF 実行形式で複数の PT_INTERP セグメントが存在する。 (すなわち複数のインタープリターを指定した。)
+.TP 
+\fBEIO\fP
+I/O エラーが発生した。
+.TP 
+\fBEISDIR\fP
+ELF インタープリターがディレクトリだった。
+.TP 
+\fBELIBBAD\fP
+ELF インタープリターが理解できるフォーマットでなかった。
+.TP 
+\fBELOOP\fP
+\fIpathname\fP やスクリプトや ELF のインタープリターを解決する際に遭遇した シンボリックリンクが多過ぎる。
+.TP 
+\fBELOOP\fP
+.\" commit d740269867021faf4ce38a449353d2b986c34a67
+The maximum recursion limit was reached during recursive script
+interpretation (see "Interpreter scripts", above).  Before Linux 3.8, the
+error produced for this case was \fBENOEXEC\fP.
+.TP 
+\fBEMFILE\fP
+The per\-process limit on the number of open file descriptors has been
+reached.
+.TP 
+\fBENAMETOOLONG\fP
+\fIpathname\fP が長過ぎる。
+.TP 
+\fBENFILE\fP
+オープンされたファイルの総数がシステム全体の上限に達していた。
+.TP 
+\fBENOENT\fP
+The file \fIpathname\fP or a script or ELF interpreter does not exist.
+.TP 
+\fBENOEXEC\fP
+実行ファイルが理解できない形式であるか、違うアーキテクチャーのものか、 その他のフォーマットエラーにより実行ができなかった。
+.TP 
+\fBENOMEM\fP
+カーネルに十分なメモリーがない。
+.TP 
+\fBENOTDIR\fP
+\fIpathname\fP やスクリプトや ELF のインタープリターの構成要素がディレクトリでない。
+.TP 
+\fBEPERM\fP
+ファイルシステムが \fInosuid\fP でマウントされ、ユーザーがスーパーユーザーでなく、 ファイルに set\-user\-ID あるいは
+set\-group\-ID ビットが設定されている。
+.TP 
+\fBEPERM\fP
+プロセスがトレースされ、ユーザーがスーパーユーザーでなく、 ファイルに set\-user\-ID あるいは set\-group\-ID
+ビットが設定されている。
+.TP 
+\fBEPERM\fP
+A "capability\-dumb" applications would not obtain the full set of permitted
+capabilities granted by the executable file.  See \fBcapabilities\fP(7).
+.TP 
+\fBETXTBSY\fP
+指定された実行ファイルを書き込み用にオープンしているプロセスがある。
+.SH 準拠
+.\" SVr4 documents additional error
+.\" conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
+.\" document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
+.\" EISDIR or ELIBBAD error conditions.
+POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  POSIX does not document the #!
+behavior, but it exists (with some variations) on other UNIX systems.
+.SH 注意
+One sometimes sees \fBexecve\fP()  (and the related functions described in
+\fBexec\fP(3))  described as "executing a \fInew\fP process" (or similar).  This
+is a highly misleading description: there is no new process; many attributes
+of the calling process remain unchanged (in particular, its PID).  All that
+\fBexecve\fP()  does is arrange for an existing process (the calling process)
+to execute a new program.
+.PP
+set\-user\-id プロセスと set\-group\-ID プロセスは \fBptrace\fP(2)  できない。
+.PP
+ファイルシステムを \fInosuid\fP でマウントした場合に set\-user\-ID/set\-group\-ID の実行ファイルを
+どの様に扱うかは、Linux カーネルのバージョンによって異なる: あるバージョンでは、すでに必要な権限を持っている場合を除いて、 その実行を拒否する
+(そして \fBEPERM\fP を返す)。別のあるバージョンでは set\-user\-ID/set\-group\-ID ビットのみを無視し \fBexec\fP()
+は成功する。
+.PP
+.\" e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
+.\" HP-UX 11 is like Linux -- mtk, Apr 2007
+.\" Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
+.\" Bug rejected (because fix would constitute an ABI change).
+.\"
+On Linux, \fIargv\fP and \fIenvp\fP can be specified as NULL.  In both cases, this
+has the same effect as specifying the argument as a pointer to a list
+containing a single null pointer.  \fBDo not take advantage of this
+nonstandard and nonportable misfeature!\fP On many other UNIX systems,
+specifying \fIargv\fP as NULL will result in an error (\fBEFAULT\fP).  \fISome\fP
+other UNIX systems treat the \fIenvp==NULL\fP case the same as Linux.
+.PP
+POSIX.1 は、 \fBsysconf\fP(3)  が返す値はプロセスの生存中は変化しないべきだとしている。 しかしながら、Linux 2.6.23
+以降では、リソース上限 \fBRLIMIT_STACK\fP が変化した場合、 コマンドライン引き数と環境変数を保持するための空間に対する上限が
+変化したことを反映して、 \fB_SC_ARG_MAX\fP が返す値も変化する。
+.PP
+.\" commit 19d860a140beac48a1377f179e693abe86a9dac9
+.\"
+\fBexecve\fP() が失敗するほとんどの場合、 制御は元の実行可能イメージに戻り、 \fBexecve\fP()
+の呼び出し元がエラーを処理することができる。 しかしながら、 (リソース枯渇が原因となった場合など、まれに)
+呼び出し元に制御が戻る時点を過ぎてからエラーが発生する場合がある。 元の実行可能イメージはすでに破棄されているが、
+新しいイメージが完全には構築されていないという状況である。 このような場合、カーネルはそのプロセスをシグナル \fBSIGSEGV\fP (Linux
+3.17 までは \fBSIGKILL\fP) で停止 (kill) する。
+.SS インタープリタースクリプト
+.\" commit 6eb3c3d0a52dca337e327ae8868ca1f44a712e02
+The kernel imposes a maximum length on the text that follows the "#!"
+characters at the start of a script; characters beyond the limit are
+ignored.  Before Linux 5.1, the limit is 127 characters.  Since Linux 5.1,
+the limit is 255 characters.
+.PP
+.\" e.g., Solaris 8
+.\" e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
+インタープリタースクリプトの \fIoptional\-arg\fP 引き数の解釈方法は実装により異なる。 Linux では、インタープリター名
+\fIinterpreter\fP に続く文字列全体がインタープリターに 1個の引き数として渡される。 しかし、動作が異なるシステムもある。
+あるシステムでは、 \fIoptional\-arg\fP のうち最初のホワイトスペースまでが 引き数として渡される。 また、別のシステムでは
+インタープリタースクリプトは複数の引き数を持つことができ、 \fIoptional\-arg\fP 内のホワイトスペースが引き数の区切りとなる。
+.PP
+.\"
+.\" .SH BUGS
+.\" Some Linux versions have failed to check permissions on ELF
+.\" interpreters.  This is a security hole, because it allows users to
+.\" open any file, such as a rewinding tape device, for reading.  Some
+.\" Linux versions have also had other security holes in
+.\" .BR execve ()
+.\" that could be exploited for denial of service by a suitably crafted
+.\" ELF binary. There are no known problems with 2.0.34 or 2.2.15.
+Linux (like most other modern UNIX systems)  ignores the set\-user\-ID and
+set\-group\-ID bits on scripts.
+.SS "execve() と EAGAIN"
+\fBexecve\fP() を呼び出した際に (Linux 3.1 以降で) 起こり得る \fBEAGAIN\fP エラーの詳細な説明を以下で行う。
+.PP
+.\" commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
+\fI直前の\fP \fBsetuid\fP(2), \fBsetreuid\fP(2), \fBsetresuid\fP(2) の呼び出しで、 そのプロセスの実ユーザー ID
+が変更され、 その変更によりそのプロセスが \fBRLIMIT_NPROC\fP リソース上限を超過してしまった場合 (すなわち、新しい実ユーザー ID
+に属するプロセス数が \fBRLIMIT_NPROC\fP リソース上限を超過した場合) に、 \fBEAGAIN\fP エラーが発生する。 Linux 2.6.0
+以上 3.0 以下では、これにより \fBset*uid\fP() の呼び出しが失敗していた。 (Linux 2.6 より前では、このリソース上限はユーザー
+ID を変更したプロセスには適用されていなかった。)
+.PP
+Linux 3.1 以降では、上で説明したシナリオでは \fBset*uid\fP() の呼び出しは失敗しない。 なぜなら、
+返されたステータスの確認を行わず「呼び出し元が特権を持っている場合には」呼び出しは必ず成功するとみなしているバグがあるアプリケーションでは、セキュリティホールにつながることが非常によくあるからだ。
+その代わり、 \fBset*uid\fP() の呼び出しによる実 UID の変更は成功するが、 カーネルは \fBPF_NPROC_EXCEEDED\fP
+という名前の内部フラグをセットする。 このフラグは \fBRLIMIT_NPROC\fP リソース上限が超過したことを示す。
+\fBPF_NPROC_EXCEEDED\fP フラグがセットされていて、その後で \fBexecve\fP() が呼ばれた際にリソース上限がまだ超過していれば、
+その \fBexecve\fP() の呼び出しは \fBEAGAIN\fP エラーで失敗する。 このカーネルのロジックにより、
+特権デーモンでよく行われる処理フロー、 すなわち \fBfork\fP(2)  + \fBset*uid\fP()  + \fBexecve\fP()
+に対して、前と変わらず \fBRLIMIT_NPROC\fP リソース上限を適用できることが保証される。
+.PP
+(\fBset*uid\fP() と \fBexecve\fP() の呼び出しの間に、この実 UID に属する他のプロセスが終了して) 次に \fBexecve\fP()
+が呼び出された際にこのリソース上限が超過してなければ、 \fBexecve\fP() の呼び出しは成功し、カーネルは \fBPF_NPROC_EXCEEDED\fP
+プロセスフラグをクリアする。 同じプロセスによって \fBfork\fP(2) の呼び出しが後で行われた場合にも、このフラグはクリアされる。
+.SS 歴史
+.\"
+.\" .SH BUGS
+.\" Some Linux versions have failed to check permissions on ELF
+.\" interpreters.  This is a security hole, because it allows users to
+.\" open any file, such as a rewinding tape device, for reading.  Some
+.\" Linux versions have also had other security holes in
+.\" .BR execve ()
+.\" that could be exploited for denial of service by a suitably crafted
+.\" ELF binary. There are no known problems with 2.0.34 or 2.2.15.
+UNIX\ V6 では \fBexec\fP()  コールの引き数リストは 0 で終端され、 \fImain\fP の引き数リストは \-1 で終端されていた。
+そのため、 \fImain\fP の引き数リストは、その後の \fBexec\fP()  コールには直接使用できなかった。 UNIX\ V7 以降では、ともに
+NULL で終端される。
+.SH 例
+このプログラムは、以下の二つ目のプログラムから実行するためのものである。 コマンドライン引き数を 1行に 1個ずつ表示するだけのプログラムである。
+.PP
+.in +4n
+.EX
+/* myecho.c */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main(int argc, char *argv[])
+{
+    for (int j = 0; j < argc; j++)
+        printf("argv[%d]: %s\en", j, argv[j]);
+
+    exit(EXIT_SUCCESS);
+}
+.EE
+.in
+.PP
+以下のプログラムは、コマンドライン引き数で指定した名前のプログラムを 実行するのに使う。
+.PP
+.in +4n
+.EX
+/* execve.c */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int argc, char *argv[])
+{
+    char *newargv[] = { NULL, "hello", "world", NULL };
+    char *newenviron[] = { NULL };
+
+    if (argc != 2) {
+        fprintf(stderr, "Usage: %s <file\-to\-exec>\en", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    newargv[0] = argv[1];
+
+    execve(argv[1], newargv, newenviron);
+    perror("execve");   /* execve() returns only on error */
+    exit(EXIT_FAILURE);
+}
+.EE
+.in
+.PP
+二つ目のプログラムを使って一つ目のプログラムを実行するには 以下のようにする。
+.PP
+.in +4n
+.EX
+$\fB cc myecho.c \-o myecho\fP
+$\fB cc execve.c \-o execve\fP
+$\fB ./execve ./myecho\fP
+argv[0]: ./myecho
+argv[1]: hello
+argv[2]: world
+.EE
+.in
+.PP
+さらに、これらのプログラムを使って、スクリプトインタープリターの例を示す。 このために、「インタープリター」として先ほど作成したプログラム
+\fImyecho\fP を使うスクリプトを作成する。
+.PP
+.in +4n
+.EX
+$\fB cat > script\fP
+\fB#!./myecho script\-arg\fP
+\fB\(haD\fP
+$\fB chmod +x script\fP
+.EE
+.in
+.PP
+作成しておいたプログラムを使ってスクリプトを実行する。
+.PP
+.in +4n
+.EX
+$\fB ./execve ./script\fP
+argv[0]: ./myecho
+argv[1]: script\-arg
+argv[2]: ./script
+argv[3]: hello
+argv[4]: world
+.EE
+.in
+.SH 関連項目
+\fBchmod\fP(2), \fBexecveat\fP(2), \fBfork\fP(2), \fBget_robust_list\fP(2),
+\fBptrace\fP(2), \fBexec\fP(3), \fBfexecve\fP(3), \fBgetopt\fP(3), \fBsystem\fP(3),
+\fBcapabilities\fP(7), \fBcredentials\fP(7), \fBenviron\fP(7), \fBpath_resolution\fP(7),
+\fBld.so\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index f5adaee..23c35a0 100644 (file)
@@ -102,9 +102,8 @@ execveat \- ディレクトリファイルディスクリプターからの相
 \fIdirfd\fP と \fIpathname\fP の両方を使って指定された場合である。 このとき \fIP\fP は \fIpathname\fP
 に指定された値である。
 .PP
-For the same reasons described in \fBfexecve\fP(3), the natural idiom when
-using \fBexecveat\fP()  is to set the close\-on\-exec flag on \fIdirfd\fP.  (But see
-BUGS.)
+\fBfexecve\fP(3) で説明されているのと同じ理由で、 \fBexecveat\fP() を使う際の理にかなった方法は \fIdirfd\fP に
+close\-on\-exec フラグをセットすることである (ただし「バグ」を参照のこと)。
 .SH バグ
 上記で説明したエラー \fBENOENT\fP は、 以下の形式の呼び出しに渡すファイルディスクリプターで close\-on\-exec
 フラグをセットできないことを意味している。
diff --git a/manual/LDP_man-pages/draft/man2/fcntl.2 b/manual/LDP_man-pages/draft/man2/fcntl.2
new file mode 100644 (file)
index 0000000..505cfb1
--- /dev/null
@@ -0,0 +1,1095 @@
+.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
+.\" and Copyright (C) 1993 Michael Haardt, Ian Jackson;
+.\" and Copyright (C) 1998 Jamie Lokier;
+.\" and Copyright (C) 2002-2010, 2014 Michael Kerrisk;
+.\" and Copyright (C) 2014 Jeff Layton
+.\" and Copyright (C) 2014 David Herrmann
+.\" and Copyright (C) 2017 Jens Axboe
+.\"
+.\" %%%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
+.\"
+.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1995-09-26 by Andries Brouwer <aeb@cwi.nl>
+.\" and again on 960413 and 980804 and 981223.
+.\" Modified 1998-12-11 by Jamie Lokier <jamie@imbolc.ucc.ie>
+.\" Applied correction by Christian Ehrhardt - aeb, 990712
+.\" Modified 2002-04-23 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"    Added note on F_SETFL and O_DIRECT
+.\"    Complete rewrite + expansion of material on file locking
+.\"    Incorporated description of F_NOTIFY, drawing on
+.\"            Stephen Rothwell's notes in Documentation/dnotify.txt.
+.\"    Added description of F_SETLEASE and F_GETLEASE
+.\" Corrected and polished, aeb, 020527.
+.\" Modified 2004-03-03 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Modified description of file leases: fixed some errors of detail
+.\"     Replaced the term "lease contestant" by "lease breaker"
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\" Modified 2004-12-08, added O_NOATIME after note from Martin Pool
+.\" 2004-12-10, mtk, noted F_GETOWN bug after suggestion from aeb.
+.\" 2005-04-08 Jamie Lokier <jamie@shareable.org>, mtk
+.\"    Described behavior of F_SETOWN/F_SETSIG in
+.\"    multithreaded processes, and generally cleaned
+.\"    up the discussion of F_SETOWN.
+.\" 2005-05-20, Johannes Nicolai <johannes.nicolai@hpi.uni-potsdam.de>,
+.\"    mtk: Noted F_SETOWN bug for socket file descriptor in Linux 2.4
+.\"    and earlier.  Added text on permissions required to send signal.
+.\" 2009-09-30, Michael Kerrisk
+.\"     Note obsolete F_SETOWN behavior with threads.
+.\"     Document F_SETOWN_EX and F_GETOWN_EX
+.\" 2010-06-17, Michael Kerrisk
+.\"    Document F_SETPIPE_SZ and F_GETPIPE_SZ.
+.\" 2014-07-08, David Herrmann <dh.herrmann@gmail.com>
+.\"     Document F_ADD_SEALS and F_GET_SEALS
+.\" 2017-06-26, Jens Axboe <axboe@kernel.dk>
+.\"     Document F_{GET,SET}_RW_HINT and F_{GET,SET}_FILE_RW_HINT
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1996 Takeshi Ueno
+.\" and Copyright (c) 2005, 2006, 2008 Akihiro MOTOKI
+.\" Translated 1996-07-03, Takeshi Ueno <tueno@vio.co.jp>
+.\" Modified 1998-09-10, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 1999-08-14, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified 2001-04-03, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2005-03-15, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated & Modified 2005-04-22, Akihiro MOTOKI
+.\" Updated & Modified 2005-10-14, Akihiro MOTOKI
+.\" Updated & Modified 2005-11-19, Akihiro MOTOKI, LDP v2.14
+.\" Updated 2006-04-16, Akihiro MOTOKI, LDP v2.29
+.\" Updated 2008-02-11, Akihiro MOTOKI, LDP v2.77
+.\" Updated 2008-09-19, Akihiro MOTOKI, LDP v3.09
+.\" Updated 2010-04-23, Akihiro MOTOKI, LDP v3.24
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH FCNTL 2 2020\-12\-21 Linux "Linux Programmer's Manual"
+.SH 名前
+fcntl \- ファイルディスクリプターの操作を行う
+.SH 書式
+.nf
+\fB#include <unistd.h>\fP
+\fB#include <fcntl.h>\fP
+.PP
+\fBint fcntl(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, ... /* \fP\fIarg\fP\fB */ );\fP
+.fi
+.SH 説明
+\fBfcntl\fP()  は、オープンされたファイルディスクリプター \fIfd\fP に関して下記の操作を行う。操作は \fIcmd\fP によって決まる:
+.PP
+\fBfcntl\fP() はオプションとして第三引き数をとることができる。 第三引き数が必要
+かどうかは \fIcmd\fP により決まる。必要な引き数の型は \fIcmd\fP 名の後ろの括弧内で
+指定されている (ほとんどの場合、必要な型は \fIint\fP であり、この引き数を表すの
+に \fIarg\fP という名前を使っている)。引き数が必要ない場合には \fIvoid\fP が指定さ
+れている。
+.PP
+下記のいくつかの操作は特定のバージョンの Linux カーネルでのみサポートされている。
+ホストカーネルが特定の操作をサポートしているかを確認する推奨の方法は、 \fBfcntl\fP() を所望の \fIcmd\fP 値で呼び出し、 \fBEINVAL\fP
+で失敗するかを検査することである。 \fBEINVAL\fP が返った場合、カーネルがこの値を認識していないことを示す。
+.SS ファイルディスクリプターの複製
+.TP 
+\fBF_DUPFD\fP (\fIint\fP)
+Duplicate the file descriptor \fIfd\fP using the lowest\-numbered available file
+descriptor greater than or equal to \fIarg\fP.  This is different from
+\fBdup2\fP(2), which uses exactly the file descriptor specified.
+.IP
+成功すると、新しいファイルディスクリプターが返される。
+.IP
+詳細は \fBdup\fP(2)  を参照のこと。
+.TP 
+\fBF_DUPFD_CLOEXEC\fP (\fIint\fP; Linux 2.6.24 以降)
+\fBF_DUPFD\fP と同様だが、それに加えて複製されたファイルディスクリプターに対して close\-on\-exec フラグをセットする。
+このフラグを指定することで、プログラムは \fBFD_CLOEXEC\fP フラグをセットするために \fBfcntl\fP()  の \fBF_SETFD\fP
+操作を追加で行う必要がなくなる。 このフラグがなぜ有用かについては、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP の説明を参照のこと。
+.SS ファイルディスクリプターフラグ
+The following commands manipulate the flags associated with a file
+descriptor.  Currently, only one such flag is defined: \fBFD_CLOEXEC\fP, the
+close\-on\-exec flag.  If the \fBFD_CLOEXEC\fP bit is set, the file descriptor
+will automatically be closed during a successful \fBexecve\fP(2).  (If the
+\fBexecve\fP(2)  fails, the file descriptor is left open.)  If the
+\fBFD_CLOEXEC\fP bit is not set, the file descriptor will remain open across an
+\fBexecve\fP(2).
+.TP 
+\fBF_GETFD\fP (\fIvoid\fP)
+Return (as the function result) the file descriptor flags; \fIarg\fP is
+ignored.
+.TP 
+\fBF_SETFD\fP (\fIint\fP)
+ファイルディスクリプターフラグに \fIarg\fP で指定した値を設定する。
+.PP
+マルチスレッドプログラムでは、 \fBfcntl\fP() の \fBF_SETFD\fP を使って close\-on\-exec フラグを設定するのと同時に、
+別のスレッドで \fBexecve\fP(2) と \fBfork\fP(2) を実行することは、競合条件次第では、
+そのファイルディスクリプターが子プロセスで実行されるプログラムに意図せず見えてしまうという危険性がある。 詳細とこの問題への対処法については
+\fBopen\fP(2) の \fBO_CLOEXEC\fP フラグの議論を参照のこと。
+.SS ファイル状態フラグ
+.\" or
+.\" .BR creat (2),
+オープンファイル記述 (open file description) には、 ファイル記述毎に設定される状態フラグがいくつかある。これらのフラグは
+\fBopen\fP(2)  によって初期化され、 \fBfcntl\fP(2)  により変更することもできる。これらは、 (\fBdup\fP(2),
+\fBfcntl\fP(F_DUPFD), \fBfork\fP(2)  などで) 複製されたファイルディスクリプター同士は 同じオープンファイル記述を参照する。
+そのため、 同じファイル状態フラグが共有される。
+.PP
+ファイル状態フラグとその意味は \fBopen\fP(2)  で説明されている。
+.TP 
+\fBF_GETFL\fP (\fIvoid\fP)
+Return (as the function result)  the file access mode and the file status
+flags; \fIarg\fP is ignored.
+.TP 
+\fBF_SETFL\fP (\fIint\fP)
+ファイル状態フラグに \fIarg\fP で指定された値を設定する。 \fIarg\fP のうち、ファイルのアクセスモード (\fBO_RDONLY\fP,
+\fBO_WRONLY\fP, \fBO_RDWR\fP)  とファイル作成フラグ (すなわち \fBO_CREAT\fP, \fBO_EXCL\fP,
+\fBO_NOCTTY\fP, \fBO_TRUNC\fP)  に関するビットは無視される。 Linux では、このコマンドで変更できるのは
+\fBO_APPEND\fP, \fBO_ASYNC\fP, \fBO_DIRECT\fP, \fBO_NOATIME\fP, \fBO_NONBLOCK\fP
+フラグだけである。フラグ \fBO_DSYNC\fP, \fBO_SYNC\fP を変更することはできない。下記の「バグ」を参照。
+.SS アドバイザリーレコードロック
+Linux は昔からある (「プロセスに関連付けられる」) UNIX のレコードロックを実装している。 このレコードロックは POSIX
+で標準化されている。 Linux 固有のより良い動作を行うロックについては、下記のオープンファイル記述ロックの議論を参照のこと。
+.PP
+\fBF_SETLK\fP, \fBF_SETLKW\fP, \fBF_GETLK\fP は、レコードロックの獲得/解放/テストのために使用する
+(レコードロックは、バイト範囲ロック、ファイルセグメントロック、ファイル領域ロックとも呼ばれる)。 三番目の引き数 \fIlock\fP
+は、以下に示すフィールドを含む構造体へのポインターである (フィールドの順序は関係なく、構造体に他のフィールドがあってもよい)。
+.PP
+.in +4n
+.EX
+struct flock {
+    ...
+    short l_type;    /* Type of lock: F_RDLCK,
+                        F_WRLCK, F_UNLCK */
+    short l_whence;  /* How to interpret l_start:
+                        SEEK_SET, SEEK_CUR, SEEK_END */
+    off_t l_start;   /* Starting offset for lock */
+    off_t l_len;     /* Number of bytes to lock */
+    pid_t l_pid;     /* PID of process blocking our lock
+                        (set by F_GETLK and F_OFD_GETLK) */
+    ...
+};
+.EE
+.in
+.PP
+この構造体の \fIl_whence\fP, \fIl_start\fP, \fIl_len\fP フィールドで、ロックを行いたいバイト範囲を指定する。
+ファイルの末尾より後ろのバイトをロックすることはできるが、 ファイルの先頭より前のバイトをロックすることはできない。
+.PP
+\fIl_start\fP はロックを行う領域の開始オフセットである。 その意味は \fIl_whence\fP により異なる: \fIl_whence\fP が
+\fBSEEK_SET\fP の場合はファイルの先頭からのオフセット、 \fIl_whence\fP が \fBSEEK_CUR\fP
+の場合は現在のファイルオフセットからのオフセット、 \fIl_whence\fP が \fBSEEK_END\fP
+の場合はファイルの末尾からのオフセットと解釈される。 後ろの2つの場合には、 ファイルの先頭より前にならない範囲で、 \fIl_start\fP
+に負の値を指定することができる。
+.PP
+\fIl_len\fP はロックしたいバイト数を示す。 \fIl_len\fP が正の場合、ロックされるバイト範囲は \fIl_start\fP 以上
+\fIl_start\fP+\fIl_len\fP\-1 以下となる。 \fIl_len\fP に 0 を指定した場合は特別な意味を持つ: \fIl_whence\fP and
+\fIl_start\fP で指定される位置からファイルの末尾までの全てのバイトをロックする
+(ファイルがどんなに大きくなったとしてもファイルの末尾までロックする)。
+.PP
+POSIX.1\-2001 では、負の値の \fIl_len\fP をサポートする実装を認めている (必須ではない)。 \fIl_len\fP
+が負の場合、ロックされるバイト範囲は \fIl_start\fP+\fIl_len\fP 以上 \fIl_start\fP\-1 以下となる。 この動作はカーネル
+2.4.21 以降および 2.5.49 以降の Linux で サポートされている。
+.PP
+\fIl_type\fP フィールドは、ファイルに対して読み出しロック (\fBF_RDLCK\fP)  と書き込みロック (\fBF_WRLCK\fP)  のどちらを
+設定するかを指定する。 ファイルのある領域に対して、読み出しロック (共有ロック) を保持できる プロセス数に制限はないが、書き込みロック
+(排他ロック) を保持できる のは一つのプロセスだけである。排他ロックを設定すると、(共有ロックか 排他ロックにかかわらず)
+他のロックは何も設定できない。 一つのプロセスは、ファイルのある領域に対して一種類のロックしか保持できない。
+新規のロックがロックが設定されている領域に対して適用されると、既存のロック は新規のロックの種別に変換される
+(新規のロックで指定されたバイト範囲が既存ロックの範囲と一致する場合以外では、 変換の過程で既存のロックの分割、縮小、結合が行われることがある)。
+.TP 
+\fBF_SETLK\fP (\fIstruct flock *\fP)
+(\fIl_type\fP が \fBF_RDLCK\fP か \fBF_WRLCK\fP の場合は) ロックの獲得を、 (\fBF_UNLCK\fP の場合は)
+ロックの解放を、 \fIflock\fP 構造体のフィールド \fIl_whence\fP, \fIl_start\fP, \fIl_len\fP
+で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 \-1 を返し、 \fIerrno\fP に
+\fBEACCES\fP か \fBEAGAIN\fP を設定する。 (この場合に返されるエラーは実装により異なる。 そのため、 POSIX
+では移植性が必要なアプリケーションでは、 これらの両方のエラーをチェックすることが必要としている。)
+.TP 
+\fBF_SETLKW\fP (\fIstruct flock *\fP)
+\fBF_SETLK\fP と同様だが、こちらではそのファイルに対して衝突するロックが 適用されていた場合に、そのロックが解放されるのを待つ点が異なる。
+待っている間にシグナルを受けた場合は、システムコールは中断され、 (シグナルハンドラーが戻った直後に) 返り値 \-1 を返す (また \fIerrno\fP
+に \fBEINTR\fP が設定される; \fBsignal\fP(7)  参照)。
+.TP 
+\fBF_GETLK\fP (\fIstruct flock *\fP)
+このコールの呼び出し時には、 \fIlock\fP にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、
+\fBfcntl\fP()  は実際にはロックを行わず、 構造体 \fIlock\fP の \fIl_type\fP フィールドに \fBF_UNLCK\fP を返し、
+他のフィールドは変更しない。
+.IP
+違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 \fBfcntl\fP() は、
+原因となったロックの一つについての詳細を、 \fIlock\fP のフィールド \fIl_type\fP, \fIl_whence\fP, \fIl_start\fP,
+\fIl_len\fP で返す。 衝突するロックが昔からある (プロセスに関連付けられる) レコードロックの場合、 \fIl_pid\fP
+フィールドにロックを保持しているプロセスの PID が設定される。 衝突するロックがオープンファイル記述ロックの場合、 \fIl_pid\fP に \-1
+が設定される。 呼び出し元がその内容を参照した時点では、 返された情報はすでに古いものとなっている可能性がある点に注意すること。
+.PP
+読み出しロックを適用するには、 \fIfd\fP は読み出し用にオープンされていなければならない。 書き込みロックを適用するには、 \fIfd\fP
+は書き込み用にオープンされていなければならない。 読み書き両方のロックを適用するには、読み書き両用で ファイルをオープンしなければならない。
+.PP
+\fBF_SETLKW\fP でロックを適用する際、 カーネルは\fIデッドロック\fPの検出を行う。 2 つ以上のプロセスが、
+他のプロセスが保持するロックにより互いにブロックされるようなロック要求を行っているかを検査する。 例えば、 プロセス A があるファイルのバイト 100
+に対して書き込みロックを保持していて、 プロセス B がバイト 200 に対して書き込みロックを保持しているとする。 各プロセスが
+\fBF_SETLKW\fP を使って他のプロセスによるすでにロックされているバイトをロックしようとすると、 デッドロック検出がない場合、
+両方のプロセスが無限に停止することになる。 カーネルはこのようなデッドロックを検出すると、 停止していたロック要求の一つをエラー \fBEDEADLK\fP
+ですぐに失敗させる。 このエラーを受け取ったアプリケーションは、 必要なロックを再度獲得しようとする前に、
+他のアプリケーションが実行できるように自分が保持するロックのいくつかを解放する必要がある。 3
+つ以上のプロセスが関連する循環するデッドロックも検出される。 ただし、 カーネルのデッドロック検出アルゴリズムには制限がある点に注意すること。
+「バグ」を参照。
+.PP
+ろコードロックは \fBF_UNLCK\fP で明示的に削除されるだけでなく、 そのプロセスが終了した際には自動的に解放される。
+.PP
+レコードのロックは \fBfork\fP(2)  で作成された子プロセスには継承されないが、 \fBexecve\fP(2)  の前後では保存される。
+.PP
+\fBstdio\fP(3)  ではバッファーリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに
+\fBread\fP(2)  や \fBwrite\fP(2)  を使用すること。
+.PP
+上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異なる点である)。 そのため、
+残念ながら以下のようなことが起こる。
+.IP * 3
+.\" (Additional file descriptors referring to the same file
+.\" may have been obtained by calls to
+.\" .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
+プロセスがロックが適用されているファイルを参照しているファイルディスクリプターの「いずれか」をクローズした場合、
+そのファイルに対するそのプロセスのすべてのロックが解放される。 この動作はまずい。 あるプロセスが \fI/etc/passwd\fP や
+\fI/etc/mtab\fP といったファイルにロックを適用しているときに、 あるライブラリ関数が何かの理由で同じファイルを open, read,
+close すると、そのファイルへのロックが失われることになる。
+.IP *
+1 つのプロセス内のスレッドはロックを共有する。 言い換えると、 マルチスレッドのプログラムで、 レコードロックを使って、 複数のスレッドが同時に 1
+つのファイルの同じ領域にアクセスしないようにすることはできないということだ。
+.PP
+オープンファイル記述ロックを使うとこれらの問題が解決できる。
+.SS "オープンファイル記述ロック (非 POSIX)"
+.\" FIXME . Review progress into POSIX
+.\" http://austingroupbugs.net/view.php?id=768
+Open file description locks are advisory byte\-range locks whose operation is
+in most respects identical to the traditional record locks described above.
+This lock type is Linux\-specific, and available since Linux 3.15.  (There is
+a proposal with the Austin Group to include this lock type in the next
+revision of POSIX.1.)  For an explanation of open file descriptions, see
+\fBopen\fP(2).
+.PP
+2 つのロック種別の主な違いは、 昔からあるレコードロックはプロセスに関連付けられるのに対して、
+オープンファイル記述ロックはロックが獲得されるオープンファイル記述に関連付けられる点である。 この動作は \fBflock\fP(2)
+で獲得されるロックによく似ている。 結果として (昔からあるアドバイザリーレコードロックと違い)、 オープンファイル記述ロックは \fBfork\fP(2)
+(や \fBCLONE_FILES\fP 付きの \fBclone\fP(2)) の前後で継承され、 ファイルのクローズ時に解放されるのではなく、
+オープンファイル記述の最後のクローズ時にのみ自動的に解放される。
+.PP
+Conflicting lock combinations (i.e., a read lock and a write lock or two
+write locks)  where one lock is an open file description lock and the other
+is a traditional record lock conflict even when they are acquired by the
+same process on the same file descriptor.
+.PP
+同じオープンファイル記述経由 (同じファイルディスクリプター経由や \fBfork\fP(2), \fBdup\fP(2), \fBfcntl\fP()
+\fBF_DUPFD\fP などで作成されたファイルディスクリプターの複製経由) で適用されたオープンファイル記述ロックは常に互換性がある。 つまり、
+すでにロックされている領域に対して新しいロックが適用された場合、 既存のロックは新しいロック種別に変換される。 (上記で説明した通り、
+このような変換の結果、 既存のロックの分割、 縮小、 結合が行われることがある。)
+.PP
+一方、 異なるオープンファイル記述経由で獲得されると、 オープンファイル記述ロックは互いに競合する。 したがって、
+マルチスレッドプログラムのスレッドは、 各スレッドがそれぞれ自分で \fBopen\fP(2) を実行し、
+得られたファイルディスクリプター経由でロックを適用することで、
+オープンファイル記述ロックを使って一つのファイル領域えのアクセスを同期させることができる。
+.PP
+昔からあるレコードロックの場合と同様、 \fBfcntl\fP() の第 3 引き数 \fIlock\fP は \fIflock\fP 構造体へのポインターである。
+昔からあるレコードロックと違い、 下記で説明するコマンドを使う際には、 この構造体のフィールド \fIl_pid\fP に 0 を設定しなければならない。
+.PP
+オープンファイル記述ロックで使用できるコマンドは、 昔からあるロックのコマンドと同じである。
+.TP 
+\fBF_OFD_SETLK\fP (\fIstruct flock *\fP)
+(\fIl_type\fP が \fBF_RDLCK\fP か \fBF_WRLCK\fP の場合は) オープンファイル記述のロックの獲得を、 (\fBF_UNLCK\fP
+の場合は) オープンファイル記述のロックの解放を、 \fIflock\fP 構造体のフィールド \fIl_whence\fP, \fIl_start\fP,
+\fIl_len\fP で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 \-1 を返し、
+\fIerrno\fP に \fBEAGAIN\fP を設定する。
+.TP 
+\fBF_OFD_SETLKW\fP (\fIstruct flock *\fP)
+\fBF_OFD_SETLK\fP と同様だが、こちらではそのファイルに対して衝突するロックが
+適用されていた場合に、そのロックが解放されるのを待つ点が異なる。 待っている間にシグナルを受けた場合は、システムコールは中断され、
+(シグナルハンドラーが戻った直後に) 返り値 \-1 を返す (また \fIerrno\fP に \fBEINTR\fP が設定される; \fBsignal\fP(7)
+参照)。
+.TP 
+\fBF_OFD_GETLK\fP (\fIstruct flock *\fP)
+このコールの呼び出し時には、 \fIlock\fP にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、
+\fBfcntl\fP()  は実際にはロックを行わず、 構造体 \fIlock\fP の \fIl_type\fP フィールドで \fBF_UNLCK\fP を返し、
+他のフィールドは変更しない。 違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、
+原因となったロックの一つについての詳細が \fIlock\fP で返される。 詳細は上記の \fBF_GETLK\fP を参照。
+.PP
+.\" commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
+.\"
+現在の実装では、 オープンファイル記述ロクではデッドロックの検出は行われない。 (これがプロセスと関連付けられるレコードロックとは異なる点である。
+プロセスと関連付けられるレコードロックではカーネルはデッドロックの検出を行う。)
+.SS "強制ロック (mandatory locking)"
+\fIWarning\fP: the Linux implementation of mandatory locking is unreliable.
+See BUGS below.  Because of these bugs, and the fact that the feature is
+believed to be little used, since Linux 4.5, mandatory locking has been made
+an optional feature, governed by a configuration option
+(\fBCONFIG_MANDATORY_FILE_LOCKING\fP).  This is an initial step toward removing
+this feature completely.
+.PP
+デフォルトでは、 昔からある (プロセスに関連付けられる) レコードロックも、 オープンファイル記述のろコードロックも、 アドバイザリーロックである。
+アドバイザリーロックに強制力はなく、協調して動作するプロセス間でのみ有効である。
+.PP
+両方のタイプのロックも強制ロックにすることもできる。 強制ロックは全てのプロセスに対して効果がある。
+あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して (\fBread\fP(2)  や \fBwrite\fP(2)  により)
+互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で \fBO_NONBLOCK\fP
+フラグが有効になっているかにより決まる。 \fBO_NONBLOCK\fP フラグが有効になっていないときは、ロックが削除されるか、
+ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 (block) される。 \fBO_NONBLOCK\fP
+フラグが有効になっているときは、システムコールはエラー \fBEAGAIN\fP で失敗する。
+.PP
+強制ロックを使用するためには、ロック対象のファイルが含まれるファイルシステム
+と、ロック対象のファイル自身の両方について、強制ロックが有効になっていなけれ ばならない。ファイルシステムについて強制ロックを有効にするには、
+\fBmount\fP(8)  に "\-o mand" オプションを渡すか、 \fBmount\fP(2)  に \fBMS_MANDLOCK\fP
+フラグを指定する。ファイルについて強制ロックを有効にするには、 そのファイルのグループ実行許可 (group execute permission)
+を無効とし、 かつ set\-group\-ID 許可ビットを有効にする (\fBchmod\fP(1)  と \fBchmod\fP(2)  を参照)。
+.PP
+.\"
+強制ロックは POSIX では規定されていない。 他のいくつかのシステムでも強制ロックはサポートされているが、
+強制ロックをどのようにして有効にするかの詳細はシステムより異なる。
+.SS "Lost locks"
+When an advisory lock is obtained on a networked filesystem such as NFS it
+is possible that the lock might get lost.  This may happen due to
+administrative action on the server, or due to a network partition (i.e.,
+loss of network connectivity with the server)  which lasts long enough for
+the server to assume that the client is no longer functioning.
+.PP
+.\" commit ef1820f9be27b6ad158f433ab38002ab8131db4d
+When the filesystem determines that a lock has been lost, future \fBread\fP(2)
+or \fBwrite\fP(2)  requests may fail with the error \fBEIO\fP.  This error will
+persist until the lock is removed or the file descriptor is closed.  Since
+Linux 3.12, this happens at least for NFSv4 (including all minor versions).
+.PP
+.\"
+Some versions of UNIX send a signal (\fBSIGLOST\fP)  in this circumstance.
+Linux does not define this signal, and does not provide any asynchronous
+notification of lost locks.
+.SS シグナルの管理
+\fBF_GETOWN\fP, \fBF_SETOWN\fP, \fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_GETSIG\fP,
+\fBF_SETSIG\fP は、I/O が利用可能になったことを示すシグナルを管理するために使用される。
+.TP 
+\fBF_GETOWN\fP (\fIvoid\fP)
+ファイルディスクリプター \fIfd\fP のイベントに対するシグナル \fBSIGIO\fP および \fBSIGURG\fP を受けているプロセスのプロセス ID
+かプロセスグループ ID を (関数の結果として) 返す。 プロセス ID は正の値として返される。 プロセスグループ ID は負の値として返される
+(下記のバグの章を参照)。 \fIarg\fP は無視される。
+.TP 
+\fBF_SETOWN\fP (\fIint\fP)
+Set the process ID or process group ID that will receive \fBSIGIO\fP and
+\fBSIGURG\fP signals for events on the file descriptor \fIfd\fP.  The target
+process or process group ID is specified in \fIarg\fP.  A process ID is
+specified as a positive value; a process group ID is specified as a negative
+value.  Most commonly, the calling process specifies itself as the owner
+(that is, \fIarg\fP is specified as \fBgetpid\fP(2)).
+.IP
+As well as setting the file descriptor owner, one must also enable
+generation of signals on the file descriptor.  This is done by using the
+\fBfcntl\fP()  \fBF_SETFL\fP command to set the \fBO_ASYNC\fP file status flag on the
+file descriptor.  Subsequently, a \fBSIGIO\fP signal is sent whenever input or
+output becomes possible on the file descriptor.  The \fBfcntl\fP()  \fBF_SETSIG\fP
+command can be used to obtain delivery of a signal other than \fBSIGIO\fP.
+.IP
+Sending a signal to the owner process (group) specified by \fBF_SETOWN\fP is
+subject to the same permissions checks as are described for \fBkill\fP(2),
+where the sending process is the one that employs \fBF_SETOWN\fP (but see BUGS
+below).  If this permission check fails, then the signal is silently
+discarded.  \fINote\fP: The \fBF_SETOWN\fP operation records the caller's
+credentials at the time of the \fBfcntl\fP()  call, and it is these saved
+credentials that are used for the permission checks.
+.IP
+.\" The following appears to be rubbish.  It doesn't seem to
+.\" be true according to the kernel source, and I can write
+.\" a program that gets a terminal-generated SIGIO even though
+.\" it is not the foreground process group of the terminal.
+.\" -- MTK, 8 Apr 05
+.\"
+.\" If the file descriptor
+.\" .I fd
+.\" refers to a terminal device, then SIGIO
+.\" signals are sent to the foreground process group of the terminal.
+ファイルディスクリプターがソケットを参照している場合は、 \fBF_SETOWN\fP を使用して、ソケットに帯域外 (out\-of\-band)
+データが届いた時に \fBSIGURG\fP シグナルを配送する相手を選択することもできる (\fBSIGURG\fP が送られた場合には \fBselect\fP(2)
+がソケットが「特別な状態」にあると報告することだろう)。
+.IP
+バージョン 2.6.11 以前の 2.6.x カーネルでは、以下に示す動作であった。
+.RS
+.IP
+.\" The relevant place in the (2.6) kernel source is the
+.\" 'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
+.\" send_sigurg()/send_sigurg_to_task() bypasses
+.\" kill_fasync()/send_sigio()/send_sigio_to_task()
+.\" to directly call send_group_sig_info()
+.\"    -- MTK, Apr 2005 (kernel 2.6.11)
+スレッドグループをサポートしているスレッドライブラリ (例えば NPTL) を 使って動作しているマルチスレッドプロセスで \fBF_SETSIG\fP に
+0 以外の値を指定した場合、 \fBF_SETOWN\fP に正の値を渡すと、その意味が違ってくる: プロセス全体を示すプロセスID
+ではなく、プロセス内の特定の スレッドを示すスレッドID と解釈される。 したがって、 \fBF_SETSIG\fP
+を使う場合には、きちんと結果を受け取るには、 \fBF_SETOWN\fP に渡す値を \fBgetpid\fP(2)  ではなく \fBgettid\fP(2)
+の返り値にする必要があるだろう。 (現状の Linux スレッド実装では、メインスレッドのスレッドID は そのスレッドのプロセスID
+と同じである。つまり、 シグナルスレッドのプログラムではこの場合 \fBgettid\fP(2)  と \fBgetpid\fP(2)
+は全く同じように使うことができる。)  ただし、注意すべき点として、この段落で述べたことは、 ソケットの帯域外データが届いたときに生成される
+\fBSIGURG\fP シグナルにはあてはまらない。 このシグナルは常にプロセスかプロセスグループに送られ、 送信先は \fBF_SETOWN\fP
+に渡された値にしたがって決められる。
+.RE
+.IP
+上記の動作は、Linux 2.6.12 で図らずも削除され、 元に戻されない予定である。 Linux 2.6.32 以降で、特定のスレッド宛にシグナル
+\fBSIGIO\fP と \fBSIGURG\fP を送るには \fBF_SETOWN_EX\fP を使うこと。
+.TP 
+\fBF_GETOWN_EX\fP (\fIstruct f_owner_ex *\fP) (Linux 2.6.32 以降)
+直前の \fBF_SETOWN_EX\fP 操作で定義された現在のファイルディスクリプターの所有者設定 を返す。情報は \fIarg\fP
+が指す構造体に格納されて返される。構造体は以下の通りである。
+.IP
+.in +4n
+.EX
+struct f_owner_ex {
+    int   type;
+    pid_t pid;
+};
+.EE
+.in
+.IP
+\fItype\fP フィールドは、 \fBF_OWNER_TID ,\fP \fBF_OWNER_PID ,\fP \fBF_OWNER_PGRP\fP
+のいずれか一つの値となる。 \fIpid\fP フィールドは、スレッド ID、プロセス ID、プロセスグループ ID を 表す正の整数である。詳細は
+\fBF_SETOWN_EX\fP を参照。
+.TP 
+\fBF_SETOWN_EX\fP (\fIstruct f_owner_ex *\fP) (Linux 2.6.32 以降)
+この操作は \fBF_SETOWN\fP と同様の処理を行う。 この操作を使うと、I/O が利用可能になったことを示すシグナルを、
+特定のスレッド、プロセス、プロセスグループに送ることができる ようになる。 呼び出し元は、 \fIarg\fP 経由でシグナルの配送先を指定する。
+\fIarg\fP は \fIf_owner_ex\fP 構造体へのポインターである。 \fItype\fP フィールドは以下のいずれかの値を取り、 この値により
+\fIpid\fP がどのように解釈されるかが規定される。
+.RS
+.TP 
+\fBF_OWNER_TID\fP
+スレッド ID が \fIpid\fP で指定された値のスレッドにそのシグナルを送る (スレッド ID は \fBclone\fP(2)  や
+\fBgettid\fP(2)  の呼び出しで返される値である)。
+.TP 
+\fBF_OWNER_PID\fP
+ID が \fIpid\fP で指定された値のプロセスにそのシグナルを送る。
+.TP 
+\fBF_OWNER_PGRP\fP
+ID が \fIpid\fP で指定された値のプロセスグループにそのシグナルを送る。 (\fBF_SETOWN\fP と異なり、プロセスグループ ID
+には正の値を指定する点に注意すること。)
+.RE
+.TP 
+\fBF_GETSIG\fP (\fIvoid\fP)
+入力や出力が可能になった場合に送るシグナルを (関数の結果として) 返す。 値ゼロは \fBSIGIO\fP を送ることを意味する。 (\fBSIGIO\fP
+を含む) 他の値はいずれも、 \fBSIGIO\fP の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラーを \fBSA_SIGINFO\fP
+フラグ付きで設定すれば、ハンドラーで追加の情報を得ることができる。 \fIarg\fP は無視される。
+.TP 
+\fBF_SETSIG\fP (\fIint\fP)
+.\"
+.\" The following was true only up until 2.6.11:
+.\"
+.\" Additionally, passing a nonzero value to
+.\" .B F_SETSIG
+.\" changes the signal recipient from a whole process to a specific thread
+.\" within a process.
+.\" See the description of
+.\" .B F_SETOWN
+.\" for more details.
+入力や出力が可能になった場合に送るシグナルを \fIarg\fP に指定された値に設定する。 値ゼロは \fBSIGIO\fP を送ることを意味する。
+(\fBSIGIO\fP を含む) 他の値はいずれも、 \fBSIGIO\fP の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラーを
+\fBSA_SIGINFO\fP フラグ付きで設定すれば、 ハンドラーで追加の情報を得ることができる。
+.IP
+\fBF_SETSIG\fP にゼロ以外の値を設定し、シグナルハンドラーに \fBSA_SIGINFO\fP フラグを設定すると、 (\fBsigaction\fP(2)
+を参照) I/O イベントに関する追加の情報が \fIsiginfo_t\fP 構造体でシグナルハンドラーへ渡される。 \fIsi_code\fP
+フィールドが示すシグナルの原因が \fBSI_SIGIO\fP である場合、 \fIsi_fd\fP
+フィールドにはイベントに対応するファイルディスクリプターが入っている。 それ以外の場合は、どのファイルディスクリプターが利用可能かを示す情報は
+ないので、どのファイルディスクリプターで I/O が可能かを判断するためには 通常の機構 (\fBselect\fP(2), \fBpoll\fP(2),
+\fBO_NONBLOCK\fP を設定した \fBread\fP(2)  など) を使用しなければならない。
+.IP
+Note that the file descriptor provided in \fIsi_fd\fP is the one that was
+specified during the \fBF_SETSIG\fP operation.  This can lead to an unusual
+corner case.  If the file descriptor is duplicated (\fBdup\fP(2)  or similar),
+and the original file descriptor is closed, then I/O events will continue to
+be generated, but the \fIsi_fd\fP field will contain the number of the now
+closed file descriptor.
+.IP
+リアルタイムシグナル (値が \fBSIGRTMIN\fP 以上) を選択している場合は、 同じシグナル番号を持つ複数の I/O
+イベントがキューに入ることがある (キューに入れるかどうかは利用可能なメモリーに依存している)。 上記と同様、 \fBSA_SIGINFO\fP
+が設定されている場合、シグナルハンドラーのための追加の情報が得られる。
+.IP
+.\" See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
+以下の点に注意すること。 Linux では一つのプロセスに対してキューに入れられるリアルタイム シグナルの数に上限が設けられており
+(\fBgetrlimit\fP(2)  と \fBsignal\fP(7)  を参照)、この上限に達するとカーネルは \fBSIGIO\fP シグナルを配送する。この
+\fBSIGIO\fP シグナルは、指定されたスレッドではなくプロセス全体に送られる。
+.PP
+これらの機構を使用することで、ほとんどの場合で \fBselect\fP(2)  や \fBpoll\fP(2)  を使用せずに完全な非同期 I/O
+を実装することができる。
+.PP
+\fBO_ASYNC\fP の使用方法は BSD と Linux に特有である。 POSIX.1 で規定されている \fBF_GETOWN\fP と
+\fBF_SETOWN\fP の使用方法は、ソケットに対する \fBSIGURG\fP シグナルとの組み合わせだけである (POSIX は \fBSIGIO\fP
+シグナルは規定していない)。 \fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_GETSIG\fP, \fBF_SETSIG\fP は
+Linux 固有である。POSIX には、同様のことを行うために、非同期 I/O と \fIaio_sigevent\fP 構造体がある。Linux
+では、GNU C ライブラリ (Glibc) の一部として これらも利用可能である。
+.SS "リース (leases)"
+(Linix 2.4 以降で利用可能)  \fBF_SETLEASE\fP は、 \fIfd\fP
+が参照するオープンファイル記述に対して新しいリースを設定するのに使用される。 \fBF_GETLEASE\fP は、 \fIfd\fP
+が参照するオープンファイル記述に対して設定されている 現在のリースを取得するのに使用される。 ファイルのリースにより、 あるプロセス ("lease
+breaker") がそのファイルディスクリプターが参照 しているファイルに対して \fBopen\fP(2)  や \fBtruncate\fP(2)
+を行おうとした際に、リースを保持しているプロセス ("lease holder") へ (シグナルの配送による) 通知が行われるという機構が提供される。
+.TP 
+\fBF_SETLEASE\fP (\fIint\fP)
+\fIarg\fP の内容に基いてファイルのリースの設定、削除を行う。整数 \fIarg\fP には以下の値が指定できる:
+.RS
+.TP 
+\fBF_RDLCK\fP
+.\" The following became true in kernel 2.6.10:
+.\" See the man-pages-2.09 Changelog for further info.
+読み出しリースを取得する。これにより、 そのファイルが書き込み用にオープンされたり、ファイルが切り詰められた場合に、
+呼び出し元のプロセスに通知が行われるようになる。 読み出しリースを設定できるのは、読み出し専用でオープンされている
+ファイルディスクリプターに対してのみである。
+.TP 
+\fBF_WRLCK\fP
+書き込みリースを取得する。これにより、 (読み出し用か書き込み用にかかわらず) そのファイルがオープンされたり、
+ファイルが切り詰められた場合に、呼び出し元のプロセスに通知が行われるようになる。
+書き込みリースは、そのファイルに対するオープンされたファイルディスクリプターが 他にない場合にのみ設定できる。
+.TP 
+\fBF_UNLCK\fP
+そのファイルからリースを削除する。
+.RE
+.PP
+リースはオープンファイル記述に対して関連付けられる (\fBopen\fP(2)  参照)。 つまり、 (\fBfork\fP(2)  や \fBdup\fP(2)
+などにより作成された) ファイルディスクリプターの複製は同じリースを参照し、 複製も含めたどのファイルディスクリプターを使ってもこのリースを変更したり
+解放したりできる。 また、これらのファイルディスクリプターのいずれかに対して \fBF_UNLCK\fP
+操作が明示的に実行された場合や、すべてのファイルディスクリプターが 閉じられた場合にも、リースは解放される。
+.PP
+リースの取得は通常のファイル (regular file) に対してのみ可能である。 非特権プロセスがリースを取得できるのは、UID (所有者)
+がプロセスの ファイルシステム UID と一致するファイルに対してだけである。 \fBCAP_LEASE\fP
+ケーパビリティを持つプロセスは任意のファイルに対してリースを取得できる。
+.TP 
+\fBF_GETLEASE\fP (\fIvoid\fP)
+ファイルディスクリプター \fIfd\fP に対して設定されているリースの種別を取得する。 \fBF_RDLCK\fP, \fBF_WRLCK\fP,
+\fBF_UNLCK\fP のいずれかが返される。 \fBF_RDLCK\fP, \fBF_WRLCK\fP
+はそれぞれ、読み出しリース、書き込みリースが設定されていることを示し、 \fBF_UNLCK\fP はリースが何も設定されていないことを示す。 \fIarg\fP
+は無視される。
+.PP
+あるプロセス ("lease breaker") が \fBF_SETLEASE\fP で設定されたリースと矛
+盾するような \fBopen\fP(2) や \fBtruncate\fP(2) を実行した場合、 そのシステム
+コールはカーネルによって停止され、 カーネルは lease holder にシグナル
+(デフォルトでは \fBSIGIO\fP) を送って通知を行う。 lease holder はこのシグ
+ナルを受信したときにはきちんと対応すべきである。 具体的には、別のプロセ
+スがそのファイルにアクセスするための準備として 必要な後片付け (例えば、
+キャッシュされたバッファーのフラッシュ) を すべて行ってから、そのファイル
+のリースの削除または格下げを行う。リースを削除をするには、 \fIarg\fP に
+\fBF_UNLCK\fP を指定して \fBF_SETLEASE\fP を実行する。lease holder がファイル
+に書き込みリースを保持していて、 lease breaker が読み出し用にそのファイ
+ルをオープンしている場合、 lease holder が保持しているリースを読み出し
+リースに格下げすれば 十分である。これをするには、 \fIarg\fP に \fBF_RDLCK\fP
+を指定して \fBF_SETLEASE\fP を実行する。
+.PP
+If the lease holder fails to downgrade or remove the lease within the number
+of seconds specified in \fI/proc/sys/fs/lease\-break\-time\fP, then the kernel
+forcibly removes or downgrades the lease holder's lease.
+.PP
+いったん lease break が開始されると、 lease holder が自発的にそのリース
+の格下げか削除を行うか、lease break timer の満了後にカーネルが強制的に
+リースの格下げか削除を行うまで、 \fBF_GETLEASE\fP は対象となるリースの型を
+返す (リースの型は \fBF_RDLCK\fP か \fBF_UNLCK\fP のどちらであり、lease
+breaker と互換性のある型となる)。
+.PP
+一度リースの削除か格下げが自発的もしくは強制的に行われると、 lease breaker がまだシステムコールを再開していない場合には、 カーネルが
+lease breaker のシステムコールの続行を許可する。
+.PP
+lease breaker が実行した \fBopen\fP(2)  や \fBtruncate\fP(2)  が停止中にシグナルハンドラーにより中断された場合、
+そのシステムコールは \fBEINTR\fP エラーで失敗するが、上で述べた他の処理は そのまま行われる。 \fBopen\fP(2)  や
+\fBtruncate\fP(2)  が停止中に lease breaker がシグナルにより kill された場合、 上で述べた他の処理はそのまま行われる。
+lease breaker が \fBopen\fP(2)  を呼ぶ際に \fBO_NONBLOCK\fP フラグを指定した場合、そのシステムコールは
+\fBEWOULDBLOCK\fP エラーで直ちに失敗するが、上で述べた他の処理はそのまま行われる。
+.PP
+lease holder への通知に使われるデフォルトのシグナルは \fBSIGIO\fP だが、 \fBfcntl\fP()  の \fBF_SETSIG\fP
+コマンドで変更することができる。 \fBF_SETSIG\fP コマンドが実行され (\fBSIGIO\fP を指定された場合も含む)、 \fBSA_SIGINFO\fP
+フラグ付きでシグナルハンドラーが設定されている場合には、 ハンドラーの第二引き数として \fIsiginfo_t\fP 構造体が渡され、この引き数の
+\fIsi_fd\fP フィールドには別のプロセスがアクセスしたリース設定済みファイルのファイルディスクリプターが入っている
+(この機能は複数のファイルに対してリースを設定する場合に有用である)。
+.SS "ファイルやディレクトリの変更の通知 (dnotify)"
+.TP 
+\fBF_NOTIFY\fP (\fIint\fP)
+(Linux 2.4 以降)  \fIfd\fP で参照されるディレクトリか、その中にあるファイルに変更があった場合に 通知を行う。どのイベントを通知するかは
+\fIarg\fP で指定する。 \fIarg\fP はビットマスクで、以下のビットの 0個以上の論理和をとったものを指定する。
+.PP
+.RS
+.PD 0
+.TP 
+\fBDN_ACCESS\fP
+ファイルへのアクセスがあった (\fBread\fP(2), \fBpread\fP(2), \fBreadv\fP(2) や同様のシステムコール)
+.TP 
+\fBDN_MODIFY\fP
+ファイルの内容が変更された (\fBwrite\fP(2), \fBpwrite\fP(2), \fBwritev\fP(2), \fBtruncate\fP(2),
+\fBftruncate\fP(2) や同様のシステムコール)
+.TP 
+\fBDN_CREATE\fP
+ファイルが作成された (\fBopen\fP(2), \fBcreat\fP(2), \fBmknod\fP(2), \fBmkdir\fP(2), "
+"\fBlink\fP(2), \fBsymlink\fP(2), このディレクトリへの \fBrename\fP(2))
+.TP 
+\fBDN_DELETE\fP
+ファイルが削除 (unlink) された (\fBunlink\fP(2), 別のディレクトリへの \fBrename\fP(2), \fBrmdir\fP(2))
+.TP 
+\fBDN_RENAME\fP
+ディレクトリ内でのファイル名の変更があった (\fBrename\fP(2))
+.TP 
+\fBDN_ATTRIB\fP
+ファイル属性が変更された (\fBchown\fP(2), \fBchmod\fP(2), \fButime\fP(2), \fButimensat\fP(2)
+や同様のシステムコール)
+.PD
+.RE
+.IP
+(上記の定義を利用するには、\fIどの\fP ヘッダーファイルをインクルードするより前に、
+\fB_GNU_SOURCE\fP 機能検査マクロを定義しなければならない。)
+.IP
+ディレクトリの変更通知は通常「一回限り (one\-shot)」であり、 アプリケーション側でその後さらに通知を受信したい場合は
+再登録しなければならない。 \fIarg\fP に \fBDN_MULTISHOT\fP が含まれていた場合には、
+変更通知は明示的に解除されるまで有効状態が継続する。
+.IP
+.\" The following does seem a poor API-design choice...
+\fBF_NOTIFY\fP 要求は積算されていく。つまり、 \fIarg\fP で指定されたイベントがすでにモニタされている イベント集合に加算される形になる。
+すべてのイベントの通知を無効にするには、 \fIarg\fP に 0 を指定して \fBF_NOTIFY\fP を呼び出す必要がある。
+.IP
+通知はシグナルの配送で行われる。 デフォルトのシグナルは \fBSIGIO\fP だが、 \fBfcntl\fP()  の \fBF_SETSIG\fP
+コマンドで変更することができる。 (\fBSIGIO\fP はキューイングされない標準のシグナルの一つである点に注意。
+リアルタイムシグナルを使うように変更すると、 複数の通知がそのプロセス宛のキューに入ることがあることを意味する。) 後者の場合には、
+(\fBSA_SIGINFO\fP フラグ付きでシグナルハンドラーが設定されている場合には)  ハンドラーの第二引き数として \fIsiginfo_t\fP
+構造体が渡され、この構造体の \fIsi_fd\fP フィールドには通知の行われたファイルディスクリプターが入っている
+(この機能は複数のディレクトリに対して通知を設定する場合に有用である)。
+.IP
+特に \fBDN_MULTISHOT\fP を使う場合は、通知にはリアルタイムシグナルを使うべきである。
+それは、リアルタイムシグナルを使うことで、複数の通知をキューに入れる ことができるからである。
+.IP
+\fB注意:\fP 新しくアプリケーションを書く際には、(カーネル 2.6.13 以降で利用可能となった)  \fIinotify\fP
+インターフェースを使用すべきである。 \fIinotify\fP はファイルシステムイベントの通知を取得するための ずっと優れたインターフェースである。
+\fBinotify\fP(7)  を参照。
+.SS パイプの容量の変更
+.TP 
+\fBF_SETPIPE_SZ\fP (\fIint\fP; Linux 2.6.35 以降)
+\fIfd\fP が参照するパイプの容量を少なくとも \fIarg\fP バイトに変更する。
+非特権プロセスは、パイプの容量として、
+システムのページサイズと \fI/proc/sys/fs/pipe\-max\-size\fP で定義される
+上限値 (\fBproc\fP(5) 参照) の間の任意の値を設定できる。
+パイプの容量をページサイズよりも小さな値に設定しようとした場合は、
+暗黙のうちにページサイズに切り上げられる。
+非特権プロセスがパイプの容量を \fI/proc/sys/fs/pipe\-max\-size\fP で定義
+された上限より大きな値に設定しようとした場合は、エラー \fBEPERM\fP が
+発生する。特権プロセス (\fBCAP_SYS_RESOURCE\fP ケーパビリティを持つ
+プロセス) はこの上限を上書きできる。
+.IP
+When allocating the buffer for the pipe, the kernel may use a capacity
+larger than \fIarg\fP, if that is convenient for the implementation.  (In the
+current implementation, the allocation is the next higher power\-of\-two
+page\-size multiple of the requested size.)  The actual capacity (in bytes)
+that is set is returned as the function result.
+.IP
+パイプの容量を現在データを格納するのに使用されているバッファーのサイズよりも小さくしようとした場合は、エラー \fBEBUSY\fP が発生する。
+.IP
+Note that because of the way the pages of the pipe buffer are employed when
+data is written to the pipe, the number of bytes that can be written may be
+less than the nominal size, depending on the size of the writes.
+.TP 
+\fBF_GETPIPE_SZ\fP (\fIvoid\fP; Linux 2.6.35 以降)
+.\"
+\fIfd\fP が参照するパイプの容量を (関数の結果として) 返す。
+.SS "File Sealing"
+file seal は指定されたファイルで許可される操作の集合を制限する。 ファイルに設定される seal 毎に対応する操作の集合が規定されており、
+それ以降のそのファイルに対する対応する操作は \fBEPERM\fP で失敗する。 このようなファイルは sealed (seal が適用されている)
+と呼ばれる。 デフォルトの seal の集合は、適用されるファイルやファイルシステムに依存する。 file seal の概要、 その目的、
+サンプルコードについては \fBmemfd_create\fP(2) を参照。
+.PP
+Currently, file seals can be applied only to a file descriptor returned by
+\fBmemfd_create\fP(2)  (if the \fBMFD_ALLOW_SEALING\fP was employed).  On other
+filesystems, all \fBfcntl\fP()  operations that operate on seals will return
+\fBEINVAL\fP.
+.PP
+seal は inode の属性である。 したがって、 同じ inode を参照するすべてのオープンされたファイルディスクリプターは、 同じ seal
+の集合を共有する。 さらに、 seal は削除することはできず、 追加のみ可能である。
+.TP 
+\fBF_ADD_SEALS\fP (\fIint\fP; Linux 3.17 以降)
+ビットマスク引き数 \fIarg\fP で指定された seal を、 ファイルディスクリプター \fIfd\fP が参照する inode の seal
+の集合に追加する。 一度追加した seal を削除することはできない。 この呼び出しが成功すると、 seal はただちにカーネルにより適用される。
+現在の seal の集合に \fBF_SEAL_SEAL\fP (下記参照) が含まれている場合、 この呼び出しは \fBEPERM\fP で拒否される。
+すでに設定されている seal を追加した場合、 \fBF_SEAL_SEAL\fP がまだ設定されていない場合は no\-op (何もしない) となる。
+seal を設定するには、 ファイルディスクリプター \fIfd\fP が書き込み可能でなければならない。
+.TP 
+\fBF_GET_SEALS\fP (\fIvoid\fP; Linux 3.17 以降)
+(関数の結果として) \fIfd\fP が参照する inode の seal の現在の集合を返す。 seal が何も設定されていない場合、 0 が返される。
+ファイルが sealing をサポートしていない場合、 \-1 が返され、 \fIerrno\fP に \fBEINVAL\fP が設定される。
+.PP
+以下の seal が利用できる。
+.TP 
+\fBF_SEAL_SEAL\fP
+この seal が設定されると、  これ以降の \fBF_ADD_SEALS\fP を指定した \fBfcntl\fP() の呼び出しはすべて \fBEPERM\fP
+エラーで失敗する。 したがって、 この seal を設定すると seal の集合自身の変更を防止できる。 ファイルの最初の seal の集合に
+\fBF_SEAL_SEAL\fP が含まれていた場合、 結果的に seal の集合が定数になりロックされることになる。
+.TP 
+\fBF_SEAL_SHRINK\fP
+この seal が設定されると、 設定されたファイルのサイズを小さくできなくなる。 この seal は \fBopen\fP(2) の \fBO_TRUNC\fP
+フラグに影響する。 \fBtruncate\fP(2) と \fBftruncate\fP(2) についても同様である。
+対象のファイルのサイズを小さくしようとした場合、 これらの呼び出しは \fBEPERM\fP で失敗する。
+ファイルサイズを増やすことはこの場合でも可能である。
+.TP 
+\fBF_SEAL_GROW\fP
+この seal が設定されると、 設定されたファイルのサイズを増やせなくなる。 この seal はファイルの末尾を超えての \fBwrite\fP(2) や
+\fBtruncate\fP(2), \fBftruncate\fP(2), \fBfallocate\fP(2) に影響する。
+対象のファイルのサイズを大きくしようとした場合、 これらの呼び出しは \fBEPERM\fP で失敗する。 ファイルサイズが変わらない場合、
+小さくなる場合は、 これらの呼び出しはそのまま動作する。
+.TP 
+\fBF_SEAL_WRITE\fP
+.\" One or more other seals are typically used with F_SEAL_WRITE
+.\" because, given a file with the F_SEAL_WRITE seal set, then,
+.\" while it would no longer be possible to (say) write zeros into
+.\" the last 100 bytes of a file, it would still be possible
+.\" to (say) shrink the file by 100 bytes using ftruncate(), and
+.\" then increase the file size by 100 bytes, which would have
+.\" the effect of replacing the last hundred bytes by zeros.
+.\"
+この seal が設定されていると、 ファイルの内容を変更できない。 ファイルのサイズを縮小したり伸張したりすることは可能で許可されている。
+したがって、 この seal は通常は他の seal のいずれかと組み合わせて使用される。 この seal は \fBwrite\fP(2) と
+\fBfallocate\fP(2) (\fBFALLOC_FL_PUNCH_HOLE\fP フラグとの組み合わせの場合のみ) に影響する。 この seal
+が設定されると、 これらの呼び出しは \fBEPERM\fP で失敗する。 また、 \fBmmap\fP(2)
+による新しい書き込み可能な共有メモリーマッピングの作成も \fBEPERM\fP で失敗する。
+.IP
+\fBF_SEAL_WRITE\fP seal を設定するのに \fBF_ADD_SEALS\fP 操作を使った場合、書き込み可能な共有マッピングが存在すると
+\fBEBUSY\fP で失敗する。 このようなマッピングは、 この seal を追加する前にアンマップしなければならない。 また、
+ファイルに対して処理待ちの非同期 I/O 操作 (\fBio_submit\fP(2) がある場合、 処理されていない書き込みは破棄される。
+.TP 
+\fBF_SEAL_FUTURE_WRITE\fP (Linux 5.1 以降)
+The effect of this seal is similar to \fBF_SEAL_WRITE\fP, but the contents of
+the file can still be modified via shared writable mappings that were
+created prior to the seal being set.  Any attempt to create a new writable
+mapping on the file via \fBmmap\fP(2)  will fail with \fBEPERM\fP.  Likewise, an
+attempt to write to the file via \fBwrite\fP(2)  will fail with \fBEPERM\fP.
+.IP
+.\"
+Using this seal, one process can create a memory buffer that it can continue
+to modify while sharing that buffer on a "read\-only" basis with other
+processes.
+.SS "File read/write hints"
+Write lifetime hints can be used to inform the kernel about the relative
+expected lifetime of writes on a given inode or via a particular open file
+description.  (See \fBopen\fP(2)  for an explanation of open file
+descriptions.)  In this context, the term "write lifetime" means the
+expected time the data will live on media, before being overwritten or
+erased.
+.PP
+An application may use the different hint values specified below to separate
+writes into different write classes, so that multiple users or applications
+running on a single storage back\-end can aggregate their I/O patterns in a
+consistent manner.  However, there are no functional semantics implied by
+these flags, and different I/O classes can use the write lifetime hints in
+arbitrary ways, so long as the hints are used consistently.
+.PP
+The following operations can be applied to the file descriptor, \fIfd\fP:
+.TP 
+\fBF_GET_RW_HINT\fP (\fIuint64_t *\fP; Linux 4.13 以降)
+Returns the value of the read/write hint associated with the underlying
+inode referred to by \fIfd\fP.
+.TP 
+\fBF_SET_RW_HINT\fP (\fIuint64_t *\fP; Linux 4.13 以降)
+Sets the read/write hint value associated with the underlying inode referred
+to by \fIfd\fP.  This hint persists until either it is explicitly modified or
+the underlying filesystem is unmounted.
+.TP 
+\fBF_GET_FILE_RW_HINT\fP (\fIuint64_t *\fP; Linux 4.13 以降)
+Returns the value of the read/write hint associated with the open file
+description referred to by \fIfd\fP.
+.TP 
+\fBF_SET_FILE_RW_HINT\fP (\fIuint64_t *\fP; Linux 4.13 以降)
+Sets the read/write hint value associated with the open file description
+referred to by \fIfd\fP.
+.PP
+If an open file description has not been assigned a read/write hint, then it
+shall use the value assigned to the inode, if any.
+.PP
+The following read/write hints are valid since Linux 4.13:
+.TP 
+\fBRWH_WRITE_LIFE_NOT_SET\fP
+No specific hint has been set.  This is the default value.
+.TP 
+\fBRWH_WRITE_LIFE_NONE\fP
+No specific write lifetime is associated with this file or inode.
+.TP 
+\fBRWH_WRITE_LIFE_SHORT\fP
+Data written to this inode or via this open file description is expected to
+have a short lifetime.
+.TP 
+\fBRWH_WRITE_LIFE_MEDIUM\fP
+Data written to this inode or via this open file description is expected to
+have a lifetime longer than data written with \fBRWH_WRITE_LIFE_SHORT\fP.
+.TP 
+\fBRWH_WRITE_LIFE_LONG\fP
+Data written to this inode or via this open file description is expected to
+have a lifetime longer than data written with \fBRWH_WRITE_LIFE_MEDIUM\fP.
+.TP 
+\fBRWH_WRITE_LIFE_EXTREME\fP
+Data written to this inode or via this open file description is expected to
+have a lifetime longer than data written with \fBRWH_WRITE_LIFE_LONG\fP.
+.PP
+All the write\-specific hints are relative to each other, and no individual
+absolute meaning should be attributed to them.
+.SH 返り値
+成功した場合の返り値は操作の種類により違う:
+.TP 
+\fBF_DUPFD\fP
+新規のファイルディスクリプター。
+.TP 
+\fBF_GETFD\fP
+ファイルディスクリプターフラグの値
+.TP 
+\fBF_GETFL\fP
+ファイル状態フラグの値
+.TP 
+\fBF_GETLEASE\fP
+ファイルディスクリプターに対して保持されているリースの種別を返す。
+.TP 
+\fBF_GETOWN\fP
+ファイルディスクリプターの所有者。
+.TP 
+\fBF_GETSIG\fP
+読み込みや書き出しが可能になった時に送られるシグナルの値、もしくは 伝統的な \fBSIGIO\fP 動作の場合にはゼロを返す。
+.TP 
+\fBF_GETPIPE_SZ\fP, \fBF_SETPIPE_SZ\fP
+パイプの容量。
+.TP 
+\fBF_GET_SEALS\fP
+\fIfd\fP が参照する inode に設定されている seal を示すビットマスク。
+.TP 
+他の全てのコマンド
+0 を返す。
+.PP
+エラーの時は \-1 が返され、 \fIerrno\fP に適切な値が設定される。
+.SH エラー
+.TP 
+\fBEACCES\fP か \fBEAGAIN\fP
+他のプロセスが保持しているロックによって操作が禁止されている。
+.TP 
+\fBEAGAIN\fP
+そのファイルは他のプロセスによってメモリーマップされているため、 操作が禁止されている。
+.TP 
+\fBEBADF\fP
+\fIfd\fP がオープンされたファイルディスクリプターではない。
+.TP 
+\fBEBADF\fP
+\fIcmd\fP が \fBF_SETLK\fP または \fBF_SETLKW\fP だったが、対象のファイルディスクリプターのオープンモードが
+必要となるロックの型にマッチしていない。
+.TP 
+\fBEBUSY\fP
+\fIcmd\fP が \fBF_SETPIPE_SZ\fP で、 \fIarg\fP で指定されたパイプの新しい容量がパイプが、
+現在パイプにあるデータを格納するのに使用されているバッファー容量よりも小さい。
+.TP 
+\fBEBUSY\fP
+\fIcmd\fP が \fBF_ADD_SEALS\fP で、 \fIarg\fP に \fBF_SEAL_WRITE\fP が含まれており、 \fIfd\fP
+が参照するファイルに対する書き込み可能な共有マッピングが存在する。
+.TP 
+\fBEDEADLK\fP
+指定された \fBF_SETLKW\fP コマンドを実行した場合にはデッドロックになることが検出された。
+.TP 
+\fBEFAULT\fP
+\fIlock\fP が利用可能なアドレス空間の外部にある。
+.TP 
+\fBEINTR\fP
+\fIcmd\fP が \fBF_SETLKW\fP か \fBF_OFD_SETLKW\fP で、 操作がシグナルにより割り込まれた。 \fBsignal\fP(7)
+参照。
+.TP 
+\fBEINTR\fP
+\fIcmd\fP が \fBF_GETLK\fP, \fBF_SETLK\fP, \fBF_OFD_GETLK\fP, \fBF_OFD_SETLK\fP で、
+操作がシグナルにより割り込まれた (\fBsignal\fP(7)  参照)。 \fBF_GETLK\fP と \fBF_SETLK\fP
+の場合、ロックを確認したり取得したりする前にシグナルによって割り込まれた。 これはたいていリモートのファイルをロックする場合 (例えば NFS
+上でロックする場合) に起こる。 しかしローカルでも起こる場合がある。
+.TP 
+\fBEINVAL\fP
+カーネルが認識しない値が \fIcmd\fP で指定された。
+.TP 
+\fBEINVAL\fP
+\fIcmd\fP が \fBF_ADD_SEALS\fP で、 \fIarg\fP に認識できない seal を示すビットが含まれている。
+.TP 
+\fBEINVAL\fP
+\fIcmd\fP が \fBF_ADD_SEALS\fP か \fBF_GET_SEALS\fP で、 \fIfd\fP が参照している inode
+が格納されているファイルシステムが sealing をサポートしていない。
+.TP 
+\fBEINVAL\fP
+\fIcmd\fP が \fBF_DUPFD\fP で、 \fIarg\fP が負か、もしくは許される最大値よりも大きい (\fBgetrlimit\fP(2) の
+\fBRLIMIT_NOFILE\fP の議論を参照)。
+.TP 
+\fBEINVAL\fP
+\fIcmd\fP が \fBF_SETSIG\fP で、 \fIarg\fP が許可されたシグナル番号ではない。
+.TP 
+\fBEINVAL\fP
+\fIcmd\fP が \fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, \fBF_OFD_GETLK\fP のいずれかで、 \fIl_pid\fP に
+0 が指定されなかった。
+.TP 
+\fBEMFILE\fP
+\fIcmd\fP が \fBF_DUPFD\fPで、オープンされているファイルディスクリプターの数がプロセス単位の上限に達していた。
+.TP 
+\fBENOLCK\fP
+オープンされているロックの数が多過ぎて、ロックテーブルがいっぱいである。 または remote locking protocol (例えば NFS
+上のロック) が失敗した。
+.TP 
+\fBENOTDIR\fP
+\fBF_NOTIFY\fP が \fIcmd\fP に指定されたが、 \fIfd\fP がディレクトリを参照していない。
+.TP 
+\fBEPERM\fP
+\fIcmd\fP is \fBF_SETPIPE_SZ\fP and the soft or hard user pipe limit has been
+reached; see \fBpipe\fP(7).
+.TP 
+\fBEPERM\fP
+追加専用属性が設定されたファイルの \fBO_APPEND\fP フラグをクリアしようと試みた。
+.TP 
+\fBEPERM\fP
+\fIcmd\fP が \fBF_ADD_SEALS\fP だが、 \fIfd\fP が書き込み用にオープンされていないか、 ファイルの現在の seal の集合にすでに
+\fBF_SEAL_SEAL\fP が含まれている。
+.SH 準拠
+SVr4, 4.3BSD, POSIX.1\-2001.  POSIX.1\-2001 で規定されている操作は、
+\fBF_DUPFD\fP, \fBF_GETFD\fP, \fBF_SETFD\fP, \fBF_GETFL\fP, \fBF_SETFL\fP,
+\fBF_GETLK\fP, \fBF_SETLK\fP, \fBF_SETLKW\fP だけである。
+.PP
+.\" .BR _BSD_SOURCE ,
+.\" or
+\fBF_GETOWN\fP と \fBF_SETOWN\fP は POSIX.1\-2001 で規定されている。 (これら定義するには、
+\fB_XOPEN_SOURCE\fP を 500 以上の値で定義するか、 \fB_POSIX_C_SOURCE\fP を 200809L 以上の値で定義するか、
+のいずれが必要である。)
+.PP
+\fBF_DUPFD_CLOEXEC\fP は POSIX.1\-2008 で規定されている。
+(これら定義するには、
+\fB_POSIX_C_SOURCE\fP を 200809L 以上の値で定義するか、
+\fB_XOPEN_SOURCE\fP を 700 以上の値で定義すること。)
+.PP
+.\" .PP
+.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
+\fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_SETPIPE_SZ\fP, \fBF_GETPIPE_SZ\fP,
+\fBF_GETSIG\fP,
+\fBF_SETSIG\fP, \fBF_NOTIFY\fP, \fBF_GETLEASE\fP, \fBF_SETLEASE\fP は Linux 固有である
+(これらの定義を有効にするには \fB_GNU_SOURCE\fP マクロを定義すること)。
+.PP
+\fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, \fBF_OFD_GETLK\fP は Linux 固有だが (これらの定義を得るには
+\fB_GNU_SOURCE\fP を定義しなければならない)、 POSIX.1 の次のバージョンに含めようという活動が進められている。
+.PP
+.\" FIXME . Once glibc adds support, add a note about FTM requirements
+\fBF_ADD_SEALS\fP と \fBF_GET_SEALS\fP は Linux 固有である。
+.SH 注意
+.\"
+エラーの際の返り値が \fBdup2\fP(2)  と \fBF_DUPFD\fP では異なっている。
+.SS ファイルロック
+.\"
+元々の Linux の \fBfcntl\fP() システムコールは (\fIflock\fP 構造体で) 大きな
+ファイルオフセットを扱えるように設計されていなかった。
+その結果、Linux 2.4 で \fBfcntl64\fP() システムコールが追加された。
+この新しいシステムコールは、ファイルのロックに \fIflock64\fP という別の
+構造体を利用し、これに対応するコマンドとして \fBF_GETLK64\fP,
+\fBF_SETLK64\fP, \fBF_SETLKW64\fP を使用する。
+しかし、 glibc を使うアプリケーションではこれらの詳細を無視することが
+できる。 glibc の \fBfcntl\fP のラッパー関数は新しいシステムコールが
+利用できる場合はそれを利用するようになっているからである。
+.SS レコードロック
+カーネル 2.0 以降では、 \fBflock\fP(2)  と \fBfcntl\fP()  が設定するロック種別の間に相互作用はない。
+.PP
+.\" e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
+.\" documents it in fcntl(5).  mtk, May 2007
+.\" Also, FreeBSD documents it (Apr 2014).
+Several systems have more fields in \fIstruct flock\fP such as, for example,
+\fIl_sysid\fP (to identify the machine where the lock is held).  Clearly,
+\fIl_pid\fP alone is not going to be very useful if the process holding the
+lock may live on a different machine; on Linux, while present on some
+architectures (such as MIPS32), this field is not used.
+.PP
+元々の Linux の \fBfcntl\fP() システムコールは (\fIflock\fP 構造体で) 大きな
+ファイルオフセットを扱えるように設計されていなかった。
+その結果、Linux 2.4 で \fBfcntl64\fP() システムコールが追加された。
+この新しいシステムコールは、ファイルのロックに \fIflock64\fP という別の
+構造体を利用し、これに対応するコマンドとして \fBF_GETLK64\fP,
+\fBF_SETLK64\fP, \fBF_SETLKW64\fP を使用する。
+しかし、 glibc を使うアプリケーションではこれらの詳細を無視することが
+できる。 glibc の \fBfcntl\fP のラッパー関数は新しいシステムコールが
+利用できる場合はそれを利用するようになっているからである。
+.SS "レコードロックと NFS"
+.\"
+.\" Neil Brown: With NFSv3 the failure mode is the reverse.  If
+.\"     the server loses contact with a client then any lock stays in place
+.\"     indefinitely ("why can't I read my mail"... I remember it well).
+.\"
+.\"
+.\" Jeff Layton:
+.\"     Note that this is not a firm timeout. The server runs a job
+.\"     periodically to clean out expired stateful objects, and it's likely
+.\"     that there is some time (maybe even up to another whole lease period)
+.\"     between when the timeout expires and the job actually runs. If the
+.\"     client gets a RENEW in there within that window, its lease will be
+.\"     renewed and its state preserved.
+.\"
+Linux 3.12 より前では、 NFSv4 クライアントが一定時間サーバーと通信がなかった場合 (90 秒間通信がない場合と定義されている)、
+クライアントが気付かずにロックを失い再獲得する場合がある。 (通信がなくなったみなす時間は NFSv4 leastime と呼ばれる。 Linux
+NFS サーバーでは、 この値は \fI/proc/fs/nfsd/nfsv4leasetime\fP を見て決定される。 このファイルの値の単位は秒であり、
+このファイルのデフォルト値は 90 である。) この状況では潜在的にデータ破壊が起こる危険性がある。
+通信がなかった間に他のプロセスがロックを獲得しファイル入出力を行う場合があるからである。
+.PP
+.\" commit ef1820f9be27b6ad158f433ab38002ab8131db4d
+.\" commit f6de7a39c181dfb8a2c534661a53c73afb3081cd
+Linux 3.12 以降、 NFSv4 クライアントがサーバーと通信がなかった場合、
+ロックを持っていると「思っている」プロセスがそのファイルに入出力を行うと失敗する。
+そのプロセスがそのファイルをいったんクローズし再オープンするまでは入出力は失敗する。 カーネルパラメーター
+\fInfs.recover_lost_locks\fP を 1 に設定すると、 Linux 3.12 より前の動作にすることができる。 この場合、
+サーバーとの通信が再確立された場合、 クライアントがは失われたロックを回復しようとする。 データ破壊が起こる危険性があるため、
+このパラメーターはデフォルトでは 0 (無効) になっている。
+.SH バグ
+.SS F_SETFL
+.\" FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
+.\" via fcntl(2), but currently Linux does not permit this
+.\" See http://bugzilla.kernel.org/show_bug.cgi?id=5994
+\fBF_SETFL\fP を使って、 フラグ \fBO_DSYNC\fP と \fBO_SYNC\fP
+の状態を変更することはできない。これらのフラグの状態を変更しようとした場合には、黙って無視される。
+.SS F_GETOWN
+.\" glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
+.\" mtk, Dec 04: some limited testing on alpha and ia64 seems to
+.\" indicate that ANY negative PGID value will cause F_GETOWN
+.\" to misinterpret the return as an error. Some other architectures
+.\" seem to have the same range check as i386.
+いくつかのアーキテクチャー (特に i386) における Linux システムコールの慣習
+のため以下の制限が存在する。
+\fBF_GETOWN\fP が返す (負の) プロセスグループID が \-1 から \-4095 の範囲に入った場合、
+glibc はこの返り値をシステムコールでエラーが起こったと間違って解釈してしまう。
+つまり、 \fBfcntl\fP() の返り値は \-1 となり、 \fIerrno\fP には (正の) プロセスグループID
+が設定されることになる。Linux 固有の \fBF_GETOWN_EX\fP ではこの問題を回避できる。
+glibc バージョン 2.11 以降では、glibc では \fBF_GETOWN_EX\fP を使って
+\fBF_GETOWN\fP を実装することで、カーネルの \fBF_GETOWN\fP の問題を見えないようにしている。
+.SS F_SETOWN
+.\"
+Linux 2.4 以前では、非特権プロセスが \fBF_SETOWN\fP を使って、ソケットのファイルディスクリプターの所有者に 呼び出し元以外のプロセス
+(やプロセスグループ) を指定すると 発生するバグがある。この場合、 呼び出し元が所有者として指定したプロセス (やプロセスグループ) に
+シグナルを送る許可を持っていたとしても、 \fBfcntl\fP()  が \-1 を返し \fIerrno\fP に \fBEPERM\fP を設定することがある。
+このエラーが返ったにもかかわらず、ファイルディスクリプターの所有者 は設定され、シグナルはその所有者に送られる。
+.SS デッドロックの検出
+.\"
+\fBF_SETLKW\fP 要求を処理する際にカーネルが使用するデッドロック検出アルゴリズムは、 false negative になる場合
+(デッドロックを検出できず、 デッドロックになったプロセスは無限に停止する) も false positive になる場合 (デッドロックがない場合でも
+\fBEDEADLK\fP エラーとなる) もある。 例えば、 カーネルは依存関係の検索を行うロックの深さを 10 ステップに限定しているが、
+このためこれよりも長い循環するデッドロックは検出されない。 また、 \fBclone\fP(2) の \fBCLONE_FILES\fP フラグを使って作成された
+2 つ以上のプロセスが (カーネルにとって) 衝突するように見えるロックを適用した場合、 カーネルはデッドロックを誤って検出する。
+.SS "強制ロック (mandatory locking)"
+.\" http://marc.info/?l=linux-kernel&m=119013491707153&w=2
+.\"
+.\" Reconfirmed by Jeff Layton
+.\"     From: Jeff Layton <jlayton <at> redhat.com>
+.\"     Subject: Re: Status of fcntl() mandatory locking
+.\"     Newsgroups: gmane.linux.file-systems
+.\"     Date: 2014-04-28 10:07:57 GMT
+.\"     http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
+Linux の強制ロックの実装は、 競合条件下で強制ロックが不完全になるような場合がある。 ロックと重なって実行された \fBwrite\fP(2)
+の呼び出しは強制ロックが獲得された後にもデータを変更することができる。 ロックと重なって実行された \fBread\fP(2)
+の呼び出しは強制ロックが獲得された後になって行われたデータの変更を 検出することができる。 同様の競合条件が強制ロックと \fBmmap\fP(2)
+の間にも存在する。それゆえ、強制ロックに頼るのはお薦めできない。
+.SH 関連項目
+ \fBdup2\fP(2), \fBflock\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBlockf\fP(3),
+\fBcapabilities\fP(7), \fBfeature_test_macros\fP(7), \fBlslocks\fP(8)
+.PP
+Linux カーネルソースの \fIDocumentation/filesystems/\fP ディレクトリ内の \fIlocks.txt\fP,
+\fImandatory\-locking.txt\fP, \fIdnotify.txt\fP (以前のカーネルでは、これらのファイルは
+\fIDocumentation/\fP ディレクトリ直下にあり、 \fImandatory\-locking.txt\fP は \fImandatory.txt\fP
+という名前であった)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 1c78dde..9023a3a 100644 (file)
@@ -75,19 +75,16 @@ flock \- オープンされたファイルに対するアドバイザリロッ
 .PP
 一つのファイルに共有ロックと排他ロックを同時に設定することはできない。
 .PP
-Locks created by \fBflock\fP()  are associated with an open file description
-(see \fBopen\fP(2)).  This means that duplicate file descriptors (created by,
-for example, \fBfork\fP(2)  or \fBdup\fP(2))  refer to the same lock, and this
-lock may be modified or released using any of these file descriptors.
-Furthermore, the lock is released either by an explicit \fBLOCK_UN\fP operation
-on any of these duplicate file descriptors, or when all such file
-descriptors have been closed.
+\fBflock\fP() によって作られるロックは、 オープンファイル記述 (open file description) (\fBopen\fP(2) 参照)
+と関連付けられる。 したがって、ファイルディスクリプターの複製 (\fBfork\fP(2)  や \fBdup\fP(2)  などにより作成される)
+は同じロックを参照し、 これらのファイルディスクリプターのどれを使っても このロックを変更したり解放したりできる。 また、ロックの解放は、
+上記の複数のファイルディスクリプターのいずれかに対して 明示的に \fBLOCK_UN\fP 操作を指示した場合か、これらのファイルディスクリプターがすべて
+閉じられた場合に行われる。
 .PP
-If a process uses \fBopen\fP(2)  (or similar) to obtain more than one file
-descriptor for the same file, these file descriptors are treated
-independently by \fBflock\fP().  An attempt to lock the file using one of these
-file descriptors may be denied by a lock that the calling process has
-already placed via another file descriptor.
+あるプロセスが \fBopen\fP(2)  (もしくは同様の方法) を使って同じファイルに対して 複数のファイルディスクリプターを取得した場合、
+\fBflock\fP()  はこれら複数のファイルディスクリプターを各々独立のものとして扱う。
+これらのファイルディスクリプターの一つを使ってファイルをロックしようと
+した際、そのロック要求は、呼び出し元のプロセスがそのファイルの別のファイルディスクリプター経由ですでに設定しているロックによって拒否される場合がある。
 .PP
 一つのプロセスは、一つのファイルに対して (共有ロックと排他ロックのうち)  いずれか一種類のロックしか設定できない。 既にロックされたファイルに対して
 \fBflock\fP()  を呼び出すと、既存のロックを新しいロックモードに変更することになる。
@@ -136,7 +133,7 @@ BSD などいくつかのシステムでは、 \fBflock\fP() と \fBfcntl\fP(2)
 既存のロックがまず削除され、それから新しい ロックが設定される。この 2つのステップの間に、他のプロセスからの処理待ちの
 ロック要求が認められるかもしれず、結果として変換は停止 (block) したり、 (\fBLOCK_NB\fP が指定された場合には) 失敗したりする。
 (これは元々の BSD の動作であり、多くの他の実装でも起こる。)
-.SS "NFS details"
+.SS "NFS での詳細"
 In Linux kernels up to 2.6.11, \fBflock\fP()  does not lock files over NFS
 (i.e., the scope of locks was limited to the local system).  Instead, one
 could use \fBfcntl\fP(2)  byte\-range locking, which does work over NFS, given a
@@ -153,7 +150,7 @@ Since Linux 2.6.37, the kernel supports a compatibility mode that allows
 \fBflock\fP()  locks (and also \fBfcntl\fP(2)  byte region locks) to be treated as
 local; see the discussion of the \fIlocal_lock\fP option in \fBnfs\fP(5).
 .SH 関連項目
-\fBflock\fP(1), \fBclose\fP(2), \fBdup\fP(2), \fBexecve\fP(2), \fBfcntl\fP(2), \fBfork\fP(2),
+ \fBflock\fP(1), \fBclose\fP(2), \fBdup\fP(2), \fBexecve\fP(2), \fBfcntl\fP(2), \fBfork\fP(2),
 \fBopen\fP(2), \fBlockf\fP(3), \fBlslocks\fP(8)
 .PP
 Linux カーネルソース内の \fIDocumentation/filesystems/locks.txt\fP (以前のカーネルでは
diff --git a/manual/LDP_man-pages/draft/man2/fork.2 b/manual/LDP_man-pages/draft/man2/fork.2
new file mode 100644 (file)
index 0000000..e07249d
--- /dev/null
@@ -0,0 +1,218 @@
+.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
+.\" A few fragments remain from an earlier (1992) page by
+.\" Drew Eckhardt (drew@cs.colorado.edu),
+.\"
+.\" %%%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
+.\"
+.\" Modified by Michael Haardt (michael@moria.de)
+.\" Modified Sat Jul 24 13:22:07 1993 by Rik Faith (faith@cs.unc.edu)
+.\" Modified 21 Aug 1994 by Michael Chastain (mec@shell.portal.com):
+.\"   Referenced 'clone(2)'.
+.\" Modified 1995-06-10, 1996-04-18, 1999-11-01, 2000-12-24
+.\"   by Andries Brouwer (aeb@cwi.nl)
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\" 2006-09-04, Michael Kerrisk
+.\"     Greatly expanded, to describe all attributes that differ
+.\"    parent and child.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1996 TABATA Tomohira
+.\"         all rights reserved.
+.\" Translated Thu Jun 27 20:35:06 JST 1996
+.\"         by TABATA Tomohira <loba@k2.t.u-tokyo.ac.jp>
+.\" Modified Sun Dec 14 00:43:22 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified Tue Jul 10 05:36:22 JST 2001
+.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>, LDP v1.38
+.\" Updated & Modified Wed Dec 29 12:33:12 JST 2004
+.\"         by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.01
+.\" Updated & Modified Wed Jan  3 04:11:03 JST 2007 by Yuichi SATO, LDP v2.43
+.\" Updated 2008-08-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH FORK 2 2020\-06\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+fork \- 子プロセスを生成する
+.SH 書式
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <unistd.h>\fP
+.PP
+\fBpid_t fork(void);\fP
+.SH 説明
+\fBfork\fP()
+は呼び出し元プロセスを複製して新しいプロセスを生成する。新しいプロセスは「子」プロセスと呼ばれ、呼び出し元プロセスは「親」プロセスと呼ばれる。
+.PP
+The child process and the parent process run in separate memory spaces.  At
+the time of \fBfork\fP()  both memory spaces have the same content.  Memory
+writes, file mappings (\fBmmap\fP(2)), and unmappings (\fBmunmap\fP(2))  performed
+by one of the processes do not affect the other.
+.PP
+The child process is an exact duplicate of the parent process except for the
+following points:
+.IP * 3
+The child has its own unique process ID, and this PID does not match the ID
+of any existing process group (\fBsetpgid\fP(2))  or session.
+.IP *
+子プロセスの親プロセス ID は、親プロセスのプロセス ID と同じである。
+.IP *
+子プロセスは親プロセスのメモリーロック (\fBmlock\fP(2), \fBmlockall\fP(2))  を引き継がない。
+.IP *
+プロセスの資源利用量 (\fBgetrusage\fP(2))  と CPU タイムカウンター (\fBtimes\fP(2))  が、子プロセスでは 0
+にリセットされる。
+.IP *
+子プロセスの処理待ちのシグナルの集合 (\fBsigpending\fP(2))  は、初期状態では空になる。
+.IP *
+子プロセスは親プロセスからセマフォ調整 (\fBsemop\fP(2))  を引き継がない。
+.IP *
+子プロセスは親プロセスからプロセスに関連付けられたレコードロックを引き継がない (\fBfcntl\fP(2))。 (一方、子プロセスは親プロセスから
+\fBfcntl\fP(2) オープンファイル記述ロックと \fBflock\fP(2) ロックを引き継ぐ。)
+.IP *
+子プロセスは親プロセスからタイマー (\fBsetitimer\fP(2), \fBalarm\fP(2), \fBtimer_create\fP(2))
+を引き継がない。
+.IP *
+子プロセスは親プロセスから主だった非同期 I/O 操作を引き継がない (\fBaio_read\fP(3), \fBaio_write\fP(3)  参照)。
+また、親プロセスから非同期 I/O コンテキストを引き継がない (\fBio_setup\fP(2)  参照)。
+.PP
+上記のリストにあるプロセス属性は、POSIX.1 で全て指定されている。 親プロセスと子プロセスは、以下の Linux 固有のプロセス属性も異なる:
+.IP * 3
+子プロセスは親プロセスからディレクトリ変更通知 (dnotify)  (\fBfcntl\fP(2)  における \fBF_NOTIFY\fP の説明を参照)
+を引き継がない。
+.IP *
+\fBprctl\fP(2)  の \fBPR_SET_PDEATHSIG\fP の設定がリセットされ、子プロセスは親プロセスが終了したときに
+シグナルを受信しない。
+.IP *
+timer slack value のデフォルト値には、親プロセスの現在の timer slack value が設定される。 \fBprctl\fP(2)
+の \fBPR_SET_TIMERSLACK\fP の説明を参照。
+.IP *
+\fBmadvise\fP(2)  の \fBMADV_DONTFORK\fP フラグでマークされたメモリーマッピングは、 \fBfork\fP()
+によって引き継がれない。
+.IP *
+Memory in address ranges that have been marked with the \fBmadvise\fP(2)
+\fBMADV_WIPEONFORK\fP flag is zeroed in the child after a \fBfork\fP().  (The
+\fBMADV_WIPEONFORK\fP setting remains in place for those address ranges in the
+child.)
+.IP *
+子プロセスの終了シグナルは常に \fBSIGCHLD\fP である (\fBclone\fP(2)  を参照)。
+.IP *
+\fBioperm\fP(2) で設定されるポートアクセス許可ビットは、子プロセスには継承されない。子プロセスでは、 \fBioperm\fP(2)
+を使って必要なビットをセットしなければならない。
+.PP
+以下の点についても注意すること:
+.IP * 3
+子プロセスはシングルスレッドで生成される。つまり、 \fBfork\fP()  を呼び出したスレッドとなる。
+親プロセスの仮想アドレス空間全体が子プロセスに複製される。 これにはミューテックス (mutex) の状態・条件変数・ pthread
+オブジェクトが含まれる。 これが引き起こす問題を扱うには、 \fBpthread_atfork\fP(3)  を使うと良いだろう。
+.IP *
+After a \fBfork\fP()  in a multithreaded program, the child can safely call
+only async\-signal\-safe functions (see \fBsignal\-safety\fP(7))  until such time
+as it calls \fBexecve\fP(2).
+.IP *
+子プロセスは親プロセスが持つ オープンファイルディスクリプターの集合のコピーを引き継ぐ。 子プロセスの各ファイルディスクリプターは、
+親プロセスのファイルディスクリプターに対応する 同じオープンファイル記述 (file description) を参照する (\fBopen\fP(2)
+を参照)。 これは 2 つのファイルディスクリプターが、ファイル状態フラグ・ ファイルオフセット、シグナル駆動 (signal\-driven) I/O
+属性 (\fBfcntl\fP(2)  における \fBF_SETOWN\fP, \fBF_SETSIG\fP の説明を参照) を共有することを意味する。
+.IP *
+子プロセスは親プロセスが持つオープンメッセージキューディスクリプター (\fBmq_overview\fP(7)  を参照) の集合のコピーを引き継ぐ。
+子プロセスの各ファイルディスクリプターは、 親プロセスのファイルディスクリプターに対応する同じオープンメッセージキューディスクリプターを参照する。
+これは 2 つのファイルディスクリプターが同じフラグ (\fImq_flags\fP)  を共有することを意味する。
+.IP *
+子プロセスは、親プロセスのオープン済みのディレクトリストリームの集合 (\fBopendir\fP(3)  参照) のコピーを継承する。 POSIX.1
+では、親プロセスと子プロセス間の対応するディレクトリストリーム はディレクトリストリームの位置 (positioning)
+を共有してもよいとされている。 Linux/glibc ではディレクトリストリームの位置の共有は行われていない。
+.SH 返り値
+成功した場合、親プロセスには子プロセスの PID が返され、 子プロセスには 0 が返される。 失敗した場合、親プロセスに \-1
+が返され、子プロセスは生成されず、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEAGAIN\fP
+.\" NOTE! The following should match the description in pthread_create(3)
+A system\-imposed limit on the number of threads was encountered.  There are
+a number of limits that may trigger this error:
+.RS
+.IP * 3
+the \fBRLIMIT_NPROC\fP soft resource limit (set via \fBsetrlimit\fP(2)), which
+limits the number of processes and threads for a real user ID, was reached;
+.IP *
+the kernel's system\-wide limit on the number of processes and threads,
+\fI/proc/sys/kernel/threads\-max\fP, was reached (see \fBproc\fP(5));
+.IP *
+the maximum number of PIDs, \fI/proc/sys/kernel/pid_max\fP, was reached (see
+\fBproc\fP(5)); or
+.IP *
+the PID limit (\fIpids.max\fP)  imposed by the cgroup "process number" (PIDs)
+controller was reached.
+.RE
+.TP 
+\fBEAGAIN\fP
+呼び出し元は、スケジューリングポリシー \fBSCHED_DEADLINE\fP で動作しており、かつ reset\-on\-fork
+フラグがセットされていない。 \fBsched\fP(7) 参照。
+.TP 
+\fBENOMEM\fP
+メモリーが足りないために、 \fBfork\fP()  は必要なカーネル構造体を割り当てることができなかった。
+.TP 
+\fBENOMEM\fP
+An attempt was made to create a child process in a PID namespace whose
+"init" process has terminated.  See \fBpid_namespaces\fP(7).
+.TP 
+\fBENOSYS\fP
+.\" e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
+\fBfork\fP() はこのプラットフォームではサポートされていない
+(例えば、メモリー管理ユニット (MMU) がないハードウェア)。
+.TP 
+\fBERESTARTNOINTR\fP (Linux 2.6.17 以降)
+.\" commit 4a2c7a7837da1b91468e50426066d988050e4d56
+System call was interrupted by a signal and will be restarted.  (This can be
+seen only during a trace.)
+.SH 準拠
+ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
+.SH 注意
+Linux では、 \fBfork\fP()  を 書き込み時コピー (copy\-on\-write) ページを用いて実装している。 したがって、fork
+を行うことの唯一のデメリットは、 親プロセスのページテーブルを複製と 子プロセス自身のタスク構造の作成のための時間とメモリーが必要なことである。
+.SS "C ライブラリとカーネルの違い"
+.\" nptl/sysdeps/unix/sysv/linux/fork.c
+.\" and does some magic to ensure that getpid(2) returns the right value.
+glibc 2.3.3 以降では、 NPTL スレッド実装の一部として提供されている
+glibc の\fBfork\fP() ラッパー関数は、 カーネルの \fBfork\fP() システムコール
+を起動するのではなく、\fBclone\fP(2) を起動する。
+\fBclone\fP(2) に渡すフラグとして、伝統的な \fBfork\fP() システムコールと
+同じ効果が得られるようなフラグが指定される (\fBfork\fP() の呼び出しは、
+\fIflags\fP に \fBSIGCHLD\fP だけを指定して \fBclone\fP(2) を呼び出すのと等価である)。
+glibc のラッパー関数は \fBpthread_atfork\fP(3) を使って設定されている
+任意の fork ハンドラーを起動する。
+.SH 例
+\fBpipe\fP(2)  および \fBwait\fP(2)  を参照。
+.SH 関連項目
+ \fBclone\fP(2), \fBexecve\fP(2), \fBexit\fP(2), \fBsetrlimit\fP(2), \fBunshare\fP(2),
+\fBvfork\fP(2), \fBwait\fP(2), \fBdaemon\fP(3), \fBpthread_atfork\fP(3),
+\fBcapabilities\fP(7), \fBcredentials\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/fsync.2 b/manual/LDP_man-pages/draft/man2/fsync.2
new file mode 100644 (file)
index 0000000..58b5692
--- /dev/null
@@ -0,0 +1,149 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) and
+.\" and Copyright 2006 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
+.\"
+.\" Modified 21 Aug 1994 by Michael Chastain <mec@shell.portal.com>:
+.\"   Removed note about old libc (pre-4.5.26) translating to 'sync'.
+.\" Modified 15 Apr 1995 by Michael Chastain <mec@shell.portal.com>:
+.\"   Added `see also' section.
+.\" Modified 13 Apr 1996 by Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
+.\"   Added remarks about fdatasync.
+.\" Modified 31 Jan 1997 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 18 Apr 2001 by Andi Kleen
+.\"   Fix description to describe what it really does; add a few caveats.
+.\" 2006-04-28, mtk, substantial rewrite of various parts.
+.\" 2012-02-27 Various changes by Christoph Hellwig <hch@lst.de>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2001-05-19, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2006-07-30, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2007-10-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.65
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH FSYNC 2 2020\-06\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+fsync \- メモリー上にあるファイルの内容をストレージデバイス上のものと同期させる
+.SH 書式
+\fB#include <unistd.h>\fP
+.PP
+\fBint fsync(int \fP\fIfd\fP\fB);\fP
+.PP
+\fBint fdatasync(int \fP\fIfd\fP\fB);\fP
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+\fBfsync\fP():
+    2.16 以降:
+        No feature test macros need be defined
+    glibc 2.15 以前:
+        _BSD_SOURCE || _XOPEN_SOURCE
+            || /* since glibc 2.8: */ _POSIX_C_SOURCE\ >=\ 200112L
+.br
+ \fBfdatasync\fP():
+    _POSIX_C_SOURCE\ >=\ 199309L || _XOPEN_SOURCE\ >=\ 500
+.SH 説明
+\fBfsync\fP()  transfers ("flushes") all modified in\-core data of (i.e.,
+modified buffer cache pages for) the file referred to by the file descriptor
+\fIfd\fP to the disk device (or other permanent storage device) so that all
+changed information can be retrieved even if the system crashes or is
+rebooted.  This includes writing through or flushing a disk cache if
+present.  The call blocks until the device reports that the transfer has
+completed.
+.PP
+As well as flushing the file data, \fBfsync\fP()  also flushes the metadata
+information associated with the file (see \fBinode\fP(7)).
+.PP
+\fBfsync\fP()  の呼び出しは、ファイルが存在しているディレクトリのエントリーがディスクへ 書き込まれたことを保証するわけではない。
+保証するためには明示的にそのディレクトリのファイルディスクリプターに対しても \fBfsync\fP()  する必要がある。
+.PP
+\fBfdatasync\fP()  は \fBfsync\fP()  と同様であるが、メタデータの扱いが異なる。 \fBfdatasync\fP()
+は、それ以降のデータ読み込みを正しく扱うためにそのメタデータが必要に ならない限り、変更されたメタデータをフラッシュしない。 例えば、 st_atime
+や st_mtime (それぞれ最終アクセス時刻、最終修正時刻; \fBinode\fP(7) 参照) の変更はフラッシュを必要としない。
+なぜならこれらはそれ以降のデータ読み込みを正しく扱うために 必要ではないからである。 一方、ファイルサイズ (\fBftruncate\fP(2)  では
+\fIst_size\fP)  の変更はメタデータのフラッシュが必要である。
+.PP
+\fBfdatasync\fP()  の狙いは、全てのメタデータをディスクと同期する必要のない アプリケーションに対して、ディスクアクセスを減らすことである。
+.SH 返り値
+成功した場合、これらのシステムコールはゼロを返す。 エラーの場合、\-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEBADF\fP
+\fIfd\fP が有効なオープンされたディスクリプターでない。
+.TP 
+\fBEIO\fP
+.\" commit 088737f44bbf6378745f5b57b035e57ee3dc4750
+An error occurred during synchronization.  This error may relate to data
+written to some other file descriptor on the same file.  Since Linux 4.13,
+errors from write\-back will be reported to all file descriptors that might
+have written the data which triggered the error.  Some filesystems (e.g.,
+NFS) keep close track of which data came through which file descriptor, and
+give more precise reporting.  Other filesystems (e.g., most local
+filesystems) will report errors to all file descriptors that were open on
+the file when the error was recorded.
+.TP 
+\fBENOSPC\fP
+Disk space was exhausted while synchronizing.
+.TP 
+\fBEROFS\fP, \fBEINVAL\fP
+\fIfd\fP が同期操作をサポートしてない特殊なファイル (パイプ、FIFO、ソケットなど) を参照している。
+.TP 
+\fBENOSPC\fP, \fBEDQUOT\fP
+\fIfd\fP is bound to a file on NFS or another filesystem which does not
+allocate space at the time of a \fBwrite\fP(2)  system call, and some previous
+write failed due to insufficient storage space.
+.SH 準拠
+ POSIX.1\-2001, POSIX.1\-2008, 4.3BSD.
+.PP
+.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
+.\" -1: unavailable, 0: ask using sysconf().
+.\" glibc defines them to 1.
+\fBfdatasync\fP()  が利用可能な POSIX システムでは、 \fB_POSIX_SYNCHRONIZED_IO\fP が
+\fI<unistd.h>\fP で 0 より大きな値に定義される (\fBsysconf\fP(3)  参照)。
+.SH 注意
+(Linux はそうではないが) いくつかの UNIX システムでは
+\fIfd\fP が\fI書き込み可能な\fPファイルディスクリプターでなければならない。
+.PP
+Linux 2.2 以前では、 \fBfdatasync\fP()  は \fBfsync\fP()  と等価であり、性能面でのメリットはない。
+.PP
+古いカーネルやあまり使われていないファイルシステムの \fBfsync\fP()
+の実装では、ディスクキャッシュをフラッシュする方法が分からない場合がある。そのような場合には、安全に操作が行われることを保証するため、\fBhdparm\fP(8)
+や \fBsdparm\fP(8) を使ってディスクキャッシュを無効にする必要がある。
+.SH 関連項目
+ \fBsync\fP(1), \fBbdflush\fP(2), \fBopen\fP(2), \fBposix_fadvise\fP(2), \fBpwritev\fP(2),
+\fBsync\fP(2), \fBsync_file_range\fP(2), \fBfflush\fP(3), \fBfileno\fP(3), \fBhdparm\fP(8),
+\fBmount\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index d1bae32..e7dffea 100644 (file)
@@ -39,7 +39,7 @@
 .\" Updated & Modified 2004-12-29, Yuichi SATO <ysato444@yahoo.co.jp>
 .\" Updated 2008-12-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.15
 .\"
-.TH GETDOMAINNAME 2 2019\-10\-10 Linux "Linux Programmer's Manual"
+.TH GETDOMAINNAME 2 " 2019\-10\-10" Linux "Linux Programmer's Manual"
 .SH 名前
 getdomainname, setdomainname \- NIS ドメイン名の取得・設定をする
 .SH 書式
@@ -57,11 +57,11 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBgetdomainname\fP(), \fBsetdomainname\fP():
 .nf
 .\"            commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .ad
@@ -105,7 +105,7 @@ Linux 1.0 以降では、ドメイン名の長さの上限は 終端のヌルバ
 その代わり、glibc で \fBgetdomainname\fP()  がライブラリ関数として実装されており、この関数は \fBuname\fP(2)
 の呼び出しで返された \fIdomainname\fP フィールドのコピーを返す。
 .SH 関連項目
-\fBgethostname\fP(2), \fBsethostname\fP(2), \fBuname\fP(2), \fButs_namespaces\fP(7)
+ \fBgethostname\fP(2), \fBsethostname\fP(2), \fBuname\fP(2), \fButs_namespaces\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index a0a4747..24696c9 100644 (file)
@@ -44,7 +44,7 @@
 .\" Updated & Modified 2006-01-31, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2008-12-26, Akihiro MOTOKI, LDP v3.15
 .\"
-.TH GETHOSTNAME 2 2019\-10\-10 Linux "Linux Programmer's Manual"
+.TH GETHOSTNAME 2 " 2019\-10\-10" Linux "Linux Programmer's Manual"
 .SH 名前
 gethostname, sethostname \- ホスト名の取得・設定をする
 .SH 書式
@@ -70,11 +70,11 @@ glibc 2.12 以降: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 \fBsethostname\fP():
 .nf
 .\"            commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .PD
@@ -87,12 +87,9 @@ process's UTS namespace.
 \fBsethostname\fP()  は、ホスト名を、文字配列 \fIname\fP で指定された値に設定する。 引き数 \fIlen\fP には、 \fIname\fP
 のバイト数を指定する (そのため、 \fIname\fP では文字列終端のヌルバイトは必要ない)。
 .PP
-\fBgethostname\fP()  returns the null\-terminated hostname in the character
-array \fIname\fP, which has a length of \fIlen\fP bytes.  If the null\-terminated
-hostname is too large to fit, then the name is truncated, and no error is
-returned (but see NOTES below).  POSIX.1 says that if such truncation
-occurs, then it is unspecified whether the returned buffer includes a
-terminating null byte.
+\fBgethostname\fP()  は、NULL 終端されたホスト名を、 \fIlen\fP バイトの長さの文字配列 \fIname\fP
+に格納して返す。ヌル終端されたホスト名が格納先のバッファーよりも長い場合は、 ホスト名は切り詰められ、エラーは返されない (下記の「注意」の節を参照)。
+POSIX.1 では、結果の切り詰めが発生した場合に、 返されたバッファーに終端のヌルバイトが含まれているかどうかは 規定されていない。
 .SH 返り値
 成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
@@ -114,14 +111,12 @@ For \fBsethostname\fP(), the caller did not have the \fBCAP_SYS_ADMIN\fP
 capability in the user namespace associated with its UTS namespace (see
 \fBnamespaces\fP(7)).
 .SH 準拠
-SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1\-2001 and
-POSIX.1\-2008 specify \fBgethostname\fP()  but not \fBsethostname\fP().
+SVr4, 4.4BSD (これらのインターフェースは 4.2BSD で初めて登場した)。 POSIX.1\-2001 と POSIX.1\-2008 では
+\fBgethostname\fP()  については規定しているが、 \fBsethostname\fP()  は規定していない。
 .SH 注意
-SUSv2 guarantees that "Host names are limited to 255 bytes".  POSIX.1
-guarantees that "Host names (not including the terminating null byte) are
-limited to \fBHOST_NAME_MAX\fP bytes".  On Linux, \fBHOST_NAME_MAX\fP is defined
-with the value 64, which has been the limit since Linux 1.0 (earlier kernels
-imposed a limit of 8 bytes).
+SUSv2 では「ホスト名が 255 バイトに制限される」ことを保証している。 POSIX.1 では「ホスト名 (終端のヌルバイトは含まない) が
+\fBHOST_NAME_MAX\fP バイトに制限される」ことを保証している。 Linux では、 \fBHOST_NAME_MAX\fP は 64
+に定義されており、 Linux 1.0 以降ではこれが上限となってきた (もっと古いカーネルでは 8 バイトの上限が適用されていた)。
 .SS "C ライブラリとカーネルの違い"
 GNU C ライブラリは、 \fBgethostname\fP()  システムコールを利用していない。その代わり、 \fBgethostname\fP()
 をライブラリ関数として実装しており、 この関数は \fBuname\fP(2)  を呼び出し、 \fBuname\fP(2)  が返した \fInodename\fP
@@ -133,7 +128,7 @@ GNU C ライブラリは、 \fBgethostname\fP()  システムコールを利用
 バージョン 2.2 より前の glibc では、 \fInodename\fP の長さが \fIlen\fP 以上の場合の扱いが異なる; \fIlen\fP
 以上の場合には、 \fIname\fP には何もコピーせず、関数は \-1 を返し、 \fIerrno\fP に \fBENAMETOOLONG\fP を設定する。
 .SH 関連項目
-\fBhostname\fP(1), \fBgetdomainname\fP(2), \fBsetdomainname\fP(2), \fBuname\fP(2),
+ \fBhostname\fP(1), \fBgetdomainname\fP(2), \fBsetdomainname\fP(2), \fBuname\fP(2),
 \fButs_namespaces\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
index bc5e9e4..e959809 100644 (file)
@@ -52,19 +52,19 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .PD 0
 .TP  4
-Since glibc 2.19:
+glibc 2.19 以降:
 .nf
-_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE\ >=\ 200112L)
+ _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE\ >=\ 200112L)
 .fi
 .TP  4
-From glibc 2.12 to 2.19:
+glibc 2.12 から 2.19 まで:
 .nf
-_BSD_SOURCE || ! (_POSIX_C_SOURCE\ >=\ 200112L)
+ _BSD_SOURCE || ! (_POSIX_C_SOURCE\ >=\ 200112L)
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
index 3b26bc9..01d2165 100644 (file)
@@ -40,7 +40,7 @@
 gettid \- スレッドID を取得する
 .SH 書式
 .nf
-\fB#define _GNU_SOURCE\fP
+ \fB#define _GNU_SOURCE\fP
 \fB#include <unistd.h>\fP
 \fB#include <sys/types.h>\fP
 .PP
@@ -52,7 +52,7 @@ gettid \- スレッドID を取得する
 それぞれのスレッドは一意な TID を持つ。 さらなる詳細は、 \fBclone\fP(2)  の \fBCLONE_THREAD\fP
 についての議論を参照すること。
 .SH 返り値
-On success, returns the thread ID of the calling thread.
+成功の場合、呼び出し元のスレッドのスレッドID を返す。
 .SH エラー
 このコールは常に成功する。
 .SH バージョン
index 27e0357..8f62f70 100644 (file)
@@ -63,9 +63,9 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RE
 .PP
 \fBmincore\fP():
-    Since glibc 2.19:
+    glibc 2.19 以降:
         _DEFAULT_SOURCE
-    Glibc 2.19 and earlier:
+    Glibc 2.19 以前:
         _BSD_SOURCE || _SVID_SOURCE
 .SH 説明
 \fBmincore\fP()  は、呼び出し元プロセスの仮想メモリーのページがコア (RAM) 内に存在し、 ページ参照時にディスクアクセス
@@ -108,8 +108,7 @@ Linux 2.3.99pre1 と glibc 2.2 から利用可能である。
 .\" The
 .\" .BR mincore ()
 .\" function first appeared in 4.4BSD.
-\fBmincore\fP()  is not specified in POSIX.1, and it is not available on all
-UNIX implementations.
+\fBmincore\fP()  は POSIX.1 に記述されておらず、 全ての UNIX 実装で利用可能であるわけではない。
 .SH バグ
 .\" Linux (up to now, 2.6.5),
 .\" .B mincore
@@ -129,7 +128,7 @@ UNIX implementations.
 カーネル 2.6.21 より前は、 \fBmincore\fP()  は、 \fBMAP_PRIVATE\fP マッピングや非線形マッピング
 (\fBremap_file_pages\fP(2)  を使って作成される) について正しい情報を返さなかった。
 .SH 関連項目
-\fBfincore\fP(1), \fBmadvise\fP(2), \fBmlock\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2),
+ \fBfincore\fP(1), \fBmadvise\fP(2), \fBmlock\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2),
 \fBposix_madvise\fP(3)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
index a3c7ffc..4e91aff 100644 (file)
@@ -174,7 +174,7 @@ NFS を実現しているプロトコルには多くの不備が存在し、 そ
 \fIpathname\fP が相対パスの場合、 glibc は \fIdirfd\fP 引き数に対応する \fI/proc/self/fd\fP
 のシンボリックリンクに基づいてパス名を構成する。
 .SH 関連項目
-\fBmkdir\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBmknod\fP(2), \fBmount\fP(2),
+ \fBmkdir\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBmknod\fP(2), \fBmount\fP(2),
 \fBrmdir\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), \fBacl\fP(5),
 \fBpath_resolution\fP(7)
 .SH この文書について
index c7398d0..2cb5542 100644 (file)
@@ -79,8 +79,7 @@ written.
 Note that it is not an error for a successful call to transfer fewer bytes
 than requested (see \fBread\fP(2)  and \fBwrite\fP(2)).
 .PP
-On error, \-1 is returned and \fIerrno\fP is set to indicate the cause of the
-error.
+エラーの時は \-1 が返され、 \fIerrno\fP にエラーの原因を示す値が設定される。
 .SH エラー
 \fBpread\fP()  では、 \fBread\fP(2)  および \fBlseek\fP(2)  で規定された全てのエラーが発生する可能性があり、
 \fIerrno\fP にはエラーを示す値が設定される。 \fBpwrite\fP()  では、 \fBwrite\fP(2)  および \fBlseek\fP(2)
index d764c91..8317eda 100644 (file)
@@ -77,7 +77,7 @@ swapon, swapoff \- ファイル/デバイスへのスワップを開始/停止
 .PP
 .in +4n
 .EX
-\fI(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK\fP
+ \fI(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK\fP
 .EE
 .in
 .PP
@@ -111,17 +111,17 @@ Linux 1.3.6 において、カーネルは通常はこれらの規則に従っ
 ファイル \fIpath\fP は存在するが、通常のファイルもブロックデバイスも参照していない。
 .TP 
 \fBEINVAL\fP
-(\fBswapon\fP())  The indicated path does not contain a valid swap signature or
-resides on an in\-memory filesystem such as \fBtmpfs\fP(5).
+(\fBswapon\fP()) 指定されたパスが有効なスワップの署名 (signature) を含んでいないか、\fBtmpfs\fP(5)
+のようなインメモリーファイルシステム上にある。
 .TP 
 \fBEINVAL\fP (Linux 3.4 以降)
-(\fBswapon\fP())  An invalid flag value was specified in \fIswapflags\fP.
+(\fBswapon\fP()) \fIswapflags\fP に無効なフラグ値が指定された。
 .TP 
 \fBEINVAL\fP
 (\fBswapoff\fP()) \fIpath\fP が現在スワップ領域ではない。
 .TP 
 \fBENFILE\fP
-The system\-wide limit on the total number of open files has been reached.
+オープンされたファイルの総数がシステム全体の上限に達していた。
 .TP 
 \fBENOENT\fP
 ファイル \fIpath\fP が存在しない。
diff --git a/manual/LDP_man-pages/draft/man2/syscall.2 b/manual/LDP_man-pages/draft/man2/syscall.2
new file mode 100644 (file)
index 0000000..6bf4312
--- /dev/null
@@ -0,0 +1,309 @@
+.\" Copyright (c) 1980, 1991, 1993
+.\"    The Regents of the University of California.  All rights reserved.
+.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
+.\"
+.\"     @(#)syscall.2  8.1 (Berkeley) 6/16/93
+.\"
+.\"
+.\" 2002-03-20  Christoph Hellwig <hch@infradead.org>
+.\"    - adopted for Linux
+.\" 2015-01-17, Kees Cook <keescook@chromium.org>
+.\"    Added mips and arm64.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 2002 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated Tue Aug  6 03:43:25 JST 2002
+.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-24, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SYSCALL 2 2020\-06\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+syscall \- 間接システムコール
+.SH 書式
+.nf
+\fB#include <unistd.h>\fP
+\fB#include <sys/syscall.h>   \fP/* SYS_xxx の定義用 */
+.PP
+\fBlong syscall(long \fP\fInumber\fP\fB, ...);\fP
+.fi
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+ \fBsyscall\fP():
+.PD 0
+.ad l
+.RS 4
+.TP  4
+glibc 2.19 以降:
+ _DEFAULT_SOURCE
+.TP 
+glibc 2.19 より前:
+ _BSD_SOURCE || _SVID_SOURCE
+.RE
+.ad
+.PD
+.SH 説明
+\fBsyscall\fP() は、システムコールを起動する小さなライブラリ関数で、 \fInumber\fP
+で指定されたアセンブリ言語インターフェースのシステムコールを、指定された引き数をつけて実行する。 \fBsyscall\fP() が役に立つのは、例えば C
+ライブラリにラッパー関数が存在しないシステムコールを呼び出したい場合である。
+.PP
+\fBsyscall\fP() は、システムコールを行う前に CPU
+レジスターを保存し、システムコールから返った際にレジスターを復元し、システムコールが返したエラーを \fBerrno\fP(3) に格納する。
+.PP
+システムコールのシンボル定数は、ヘッダーファイル \fI<sys/syscall.h>\fP に書かれている。
+.SH 返り値
+返り値は呼び出されたシステムコールによって定義される。 一般に、返り値 0 は成功を表す。 \-1 はエラーを表し、エラー番号は \fIerrno\fP
+に入れられる。
+.SH 注意
+\fBsyscall\fP()  は 4BSD で最初に登場した。
+.SS アーキテクチャー固有の要件
+各アーキテクチャーの ABI には、 システムコールの引き数のカーネルへの渡し方に関する独自の要件がある。
+(ほとんどのシステムコールのように) glibc ラッパー関数があるシステムコールでは、 glibc
+が詳細を処理し、アーキテクチャーに応じた方法で引き数が適切なレジスターにコピーされる。 しかし、 システムコールを呼び出すのに \fBsyscall\fP()
+を使う場合には、 呼び出し側でアーキテクチャー依存の詳細を処理しなければならない場合がある。 これはいくつかの 32
+ビットアーキテクチャーでは非常によくあることだ。
+.PP
+For example, on the ARM architecture Embedded ABI (EABI), a 64\-bit value
+(e.g., \fIlong long\fP)  must be aligned to an even register pair.  Thus, using
+\fBsyscall\fP()  instead of the wrapper provided by glibc, the \fBreadahead\fP(2)
+system call would be invoked as follows on the ARM architecture with the
+EABI in little endian mode:
+.PP
+.in +4n
+.EX
+ syscall(SYS_readahead, fd, 0,
+        (unsigned int) (offset & 0xFFFFFFFF),
+        (unsigned int) (offset >> 32),
+        count);
+.EE
+.in
+.PP
+Since the offset argument is 64 bits, and the first argument (\fIfd\fP)  is
+passed in \fIr0\fP, the caller must manually split and align the 64\-bit value
+so that it is passed in the \fIr2\fP/\fIr3\fP register pair.  That means inserting
+a dummy value into \fIr1\fP (the second argument of 0).  Care also must be
+taken so that the split follows endian conventions (according to the C ABI
+for the platform).
+.PP
+.\" Mike Frysinger: this issue ends up forcing MIPS
+.\" O32 to take 7 arguments to syscall()
+Similar issues can occur on MIPS with the O32 ABI, on PowerPC and parisc
+with the 32\-bit ABI, and on Xtensa.
+.PP
+.\" See arch/parisc/kernel/sys_parisc.c.
+Note that while the parisc C ABI also uses aligned register pairs, it uses a
+shim layer to hide the issue from user space.
+.PP
+次のシステムコールに影響がある: \fBfadvise64_64\fP(2), \fBftruncate64\fP(2), \fBposix_fadvise\fP(2),
+\fBpread64\fP(2), \fBpwrite64\fP(2), \fBreadahead\fP(2), \fBsync_file_range\fP(2),
+\fBtruncate64\fP(2)
+.PP
+.\" You need to look up the syscalls directly in the kernel source to see if
+.\" they should be in this list.  For example, look at fs/read_write.c and
+.\" the function signatures that do:
+.\" ..., unsigned long, pos_l, unsigned long, pos_h, ...
+.\" If they use off_t, then they most likely do not belong in this list.
+This does not affect syscalls that manually split and assemble 64\-bit values
+such as \fB_llseek\fP(2), \fBpreadv\fP(2), \fBpreadv2\fP(2), \fBpwritev\fP(2), and
+\fBpwritev2\fP(2).  Welcome to the wonderful world of historical baggage.
+.SS アーキテクチャー毎の呼び出し規約
+各アーキテクチャーには、それぞれ独自のシステムコール起動方法とカーネルへの引き数の渡し方がある。 各種のアーキテクチャーの詳細を以下の 2
+つの表にまとめる。
+.PP
+The first table lists the instruction used to transition to kernel mode
+(which might not be the fastest or best way to transition to the kernel, so
+you might have to refer to \fBvdso\fP(7)), the register used to indicate the
+system call number, the register(s) used to return the system call result,
+and the register used to signal an error.
+.if  t \{\
+.ft CW
+\}
+.TS
+l2     l2      l2      l2      l1      l2      l.
+ Arch/ABI      Instruction     System  Ret     Ret     Error   備考
+               call #  val     val2
+_
+alpha  callsys v0      v0      a4      a3      1, 6
+arc    trap0   r8      r0      \-      \-
+arm/OABI       swi NR  \-      r0      \-      \-       2
+arm/EABI       swi 0x0 r7      r0      r1      \-
+arm64  svc #0  w8      x0      x1      \-
+blackfin       excpt 0x0       P0      R0      \-      \-
+i386   int $0x80       eax     eax     edx     \-
+ia64   break 0x100000  r15     r8      r9      r10     1, 6
+m68k   trap #0 d0      d0      \-      \-
+microblaze     brki r14,8       r12    r3      \-      \-
+mips   syscall v0      v0      v1      a3      1, 6
+nios2  trap    r2      r2      \-      r7
+parisc ble 0x100(%sr2, %r0)    r20     r28     \-      \-
+powerpc        sc      r0      r3      \-      r0       1
+powerpc64      sc      r0      r3      \-      cr0.SO   1
+ riscv  ecall   a7     a0      a1      \-
+s390   svc 0   r1      r2      r3      \-       3
+s390x  svc 0   r1      r2      r3      \-       3
+superh trap #0x17      r3      r0      r1      \-      4, 6
+sparc/32       t 0x10  g1      o0      o1      psr/csr 1, 6
+sparc/64       t 0x6d  g1      o0      o1      psr/csr 1, 6
+tile   swint1   R10     R00    \-       R01     1
+x86\-64        syscall rax     rax     rdx     \-       5
+ x32   syscall rax     rax     rdx     \-       5
+xtensa syscall a2      a2      \-      \-
+.TE
+.PP
+Notes:
+.IP [1] 4
+On a few architectures, a register is used as a boolean (0 indicating no
+error, and \-1 indicating an error) to signal that the system call failed.
+The actual error value is still contained in the return register.  On sparc,
+the carry bit (\fIcsr\fP)  in the processor status register (\fIpsr\fP)  is used
+instead of a full register.  On powerpc64, the summary overflow bit (\fISO\fP)
+in field 0 of the condition register (\fIcr0\fP)  is used.
+.IP [2]
+\fINR\fP is the system call number.
+.IP [3]
+s390 と s390x では、 \fINR\fP (システムコール番号) が 256 未満の場合 \fIsvc\ NR\fP で NR が直接渡される場合がある。
+.IP [4]
+On SuperH, the trap number controls the maximum number of arguments passed.
+A \fItrap\ #0x10\fP can be used with only 0\-argument system calls, a \fItrap\ #0x11\fP can be used with 0\- or 1\-argument system calls, and so on up to
+\fItrap #0x17\fP for 7\-argument system calls.
+.IP [5]
+The x32 ABI shares syscall table with x86\-64 ABI, but there are some
+nuances:
+.RS
+.IP \(bu 3
+In order to indicate that a system call is called under the x32 ABI, an
+additional bit, \fB__X32_SYSCALL_BIT\fP, is bitwise\-ORed with the system call
+number.  The ABI used by a process affects some process behaviors, including
+signal handling or system call restarting.
+.IP \(bu
+Since x32 has different sizes for \fIlong\fP and pointer types, layouts of some
+(but not all; \fIstruct timeval\fP or \fIstruct rlimit\fP are 64\-bit, for example)
+structures are different.  In order to handle this, additional system calls
+are added to the system call table, starting from number 512 (without the
+\fB__X32_SYSCALL_BIT\fP).  For example, \fB__NR_readv\fP is defined as 19 for the
+x86\-64 ABI and as \fI__X32_SYSCALL_BIT\fP | \fB515\fP for the x32 ABI.  Most of
+these additional system calls are actually identical to the system calls
+used for providing i386 compat.  There are some notable exceptions, however,
+such as \fBpreadv2\fP(2), which uses \fIstruct iovec\fP entities with 4\-byte
+pointers and sizes ("compat_iovec" in kernel terms), but passes an 8\-byte
+\fIpos\fP argument in a single register and not two, as is done in every other
+ABI.
+.RE
+.IP [6]
+Some architectures (namely, Alpha, IA\-64, MIPS, SuperH, sparc/32, and
+sparc/64)  use an additional register ("Retval2" in the above table)  to
+pass back a second return value from the \fBpipe\fP(2)  system call; Alpha uses
+this technique in the architecture\-specific \fBgetxpid\fP(2), \fBgetxuid\fP(2),
+and \fBgetxgid\fP(2)  system calls as well.  Other architectures do not use the
+second return value register in the system call interface, even if it is
+defined in the System V ABI.
+.if  t \{\
+.in
+.ft P
+\}
+.PP
+2 つ目の表は、システムコールの引き数を渡すのに使用されるレジスターの一覧である。
+.if  t \{\
+.ft CW
+\}
+.TS
+l      l2      l2      l2      l2      l2      l2      l2      l.
+ Arch/ABI      arg1    arg2    arg3    arg4    arg5    arg6    arg7    備考
+_
+alpha  a0      a1      a2      a3      a4      a5      \-
+arc    r0      r1      r2      r3      r4      r5      \-
+arm/OABI       r0      r1      r2      r3      r4      r5      r6
+arm/EABI       r0      r1      r2      r3      r4      r5      r6
+arm64  x0      x1      x2      x3      x4      x5      \-
+blackfin       R0      R1      R2      R3      R4      R5      \-
+i386   ebx     ecx     edx     esi     edi     ebp     \-
+ia64   out0    out1    out2    out3    out4    out5    \-
+m68k   d1      d2      d3      d4      d5      a0      \-
+microblaze     r5      r6      r7      r8      r9      r10     \-
+mips/o32       a0      a1      a2      a3      \-      \-      \-       1
+mips/n32,64    a0      a1      a2      a3      a4      a5      \-
+nios2  r4      r5      r6      r7      r8      r9      \-
+parisc r26     r25     r24     r23     r22     r21     \-
+powerpc        r3      r4      r5      r6      r7      r8      r9
+powerpc64      r3      r4      r5      r6      r7      r8      \-
+ riscv a0      a1      a2      a3      a4      a5      \-
+s390   r2      r3      r4      r5      r6      r7      \-
+s390x  r2      r3      r4      r5      r6      r7      \-
+superh r4      r5      r6      r7      r0      r1      r2
+sparc/32       o0      o1      o2      o3      o4      o5      \-
+sparc/64       o0      o1      o2      o3      o4      o5      \-
+tile    R00     R01     R02     R03     R04     R05    \-
+x86\-64        rdi     rsi     rdx     r10     r8      r9      \-
+ x32   rdi     rsi     rdx     r10     r8      r9      \-
+xtensa  a6     a3      a4      a5      a8      a9      \-
+.TE
+.PP
+Notes:
+.IP [1] 4
+mips/o32 のシステムコールの規約では、 ユーザースタックに引き数を 5 個から 8 個渡す。
+.if  t \{\
+.in
+.ft P
+\}
+.PP
+これらの表にはすべての呼び出し規約が記載されているわけではない点に注意すること \(em
+アーキテクチャーによっては、ここに記載されていない他のレジスターが見境なく上書きされる場合もある。
+.SH 例
+.EX
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <sys/syscall.h>
+#include <sys/types.h>
+#include <signal.h>
+
+int
+main(int argc, char *argv[])
+{
+    pid_t tid;
+
+     tid = syscall(SYS_gettid);
+    syscall(SYS_tgkill, getpid(), tid, SIGHUP);
+}
+.EE
+.SH 関連項目
+\fB_syscall\fP(2), \fBintro\fP(2), \fBsyscalls\fP(2), \fBerrno\fP(3), \fBvdso\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 6f89669..107c5bb 100644 (file)
@@ -53,12 +53,9 @@ Linux のシステムコール。
 .SH 説明
 システムコールは、アプリケーションと Linux カーネルとの間の 基本的なインターフェースである。
 .SS システムコールとライブラリのラッパー関数
-System calls are generally not invoked directly, but rather via wrapper
-functions in glibc (or perhaps some other library).  For details of direct
-invocation of a system call, see \fBintro\fP(2).  Often, but not always, the
-name of the wrapper function is the same as the name of the system call that
-it invokes.  For example, glibc contains a function \fBchdir\fP()  which
-invokes the underlying "chdir" system call.
+システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ)  経由で起動される。 システムコールの直接起動については、詳細は
+\fBintro\fP(2)  を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。
+例えば、glibc には \fBchdir\fP()  という関数があり、この関数は "chdir" システムコールを起動する。
 .PP
 Often the glibc wrapper function is quite thin, doing little work other than
 copying arguments to the right registers before invoking the system call,
@@ -124,8 +121,7 @@ backport された。 この場合、システムコールが登場したバー
 .\" Looking at scripts/checksyscalls.sh in the kernel source is
 .\" instructive about x86 specifics.
 .\"
-The list of system calls that are available as at kernel 5.10 (or in a few
-cases only on older kernels) is as follows:
+カーネル 5.10 で利用可能なシステムコールのリストを以下に示す (それ以前のカーネルでだけ利用可能なものも少数だが含まれる):
 .ad l
 .TS
 l2 le l
@@ -145,15 +141,15 @@ l l l.
 \fBalarm\fP(2) 1.0
 \fBalloc_hugepages\fP(2)       2.5.36  2.5.44 で削除
 .\" 4adeefe161a74369e44cc8e663f240ece0470dc3
-\fBarc_gettls\fP(2)    3.9     ARC only
-\fBarc_settls\fP(2)    3.9     ARC only
+ \fBarc_gettls\fP(2)    3.9    ARC のみ
+ \fBarc_settls\fP(2)    3.9    ARC のみ
 .\" 91e040a79df73d371f70792f30380d4e44805250
-\fBarc_usr_cmpxchg\fP(2)       4.9     ARC only
+ \fBarc_usr_cmpxchg\fP(2)      4.9     ARC のみ
 .\" x86: 79170fda313ed5be2394f87aa2a00d597f8ed4a1
-\fBarch_prctl\fP(2)    2.6     x86_64, x86 since 4.12
+ \fBarch_prctl\fP(2)   2.6     x86_64, x86 since 4.12
 .\" 9674cdc74d63f346870943ef966a034f8c71ee57
-\fBatomic_barrier\fP(2)        2.6.34  m68k only
-\fBatomic_cmpxchg_32\fP(2)     2.6.34  m68k only
+ \fBatomic_barrier\fP(2)        2.6.34 m68k のみ
+\fBatomic_cmpxchg_32\fP(2)      2.6.34 m68k のみ
 \fBbdflush\fP(2)       1.2     T{
 2.6 以降で非推奨
 .br
@@ -162,7 +158,7 @@ T}
 \fBbind\fP(2)  2.0     \fBsocketcall\fP(2) の「注意」の節を参照
 \fBbpf\fP(2)   3.18
 \fBbrk\fP(2)   1.0
-\fBbreakpoint\fP(2)    2.2     T{
+ \fBbreakpoint\fP(2)   2.2     T{
 ARM OABI only, defined with
 .br
 \fB__ARM_NR\fP prefix
@@ -184,11 +180,11 @@ T}
 \fBclock_gettime\fP(2) 2.6
 \fBclock_nanosleep\fP(2)       2.6
 \fBclock_settime\fP(2) 2.6
-\fBclone2\fP(2)        2.4     IA\-64 only
+ \fBclone2\fP(2)       2.4     IA\-64 のみ
 \fBclone\fP(2) 1.0
-\fBclone3\fP(2)        5.3
+ \fBclone3\fP(2)        5.3
 \fBclose\fP(2) 1.0
-\fBclose_range\fP(2)   5.9
+ \fBclose_range\fP(2)  5.9
 .\" .\" dcef1f634657dabe7905af3ccda12cf7f0b6fcc1
 .\" .\" cc20d42986d5807cbe4f5c7c8e3dab2e59ea0db3
 .\" .\" db695c0509d6ec9046ee5e4c520a19fa17d9fce2
@@ -204,7 +200,7 @@ T}
 .\" 867e359b97c970a60626d5d76bbe2a8fadbf38fb
 .\" bb9d812643d8a121df7d614a2b9c60193a92deb0
 \fBconnect\fP(2)       2.0     \fBsocketcall\fP(2) の「注意」の節を参照
-\fBcopy_file_range\fP(2)       4.5
+ \fBcopy_file_range\fP(2)       4.5
 \fBcreat\fP(2) 1.0
 \fBcreate_module\fP(2) 1.0     2.6 で削除
 \fBdelete_module\fP(2) 1.0
@@ -220,17 +216,17 @@ T}
 \fBepoll_wait\fP(2)    2.6
 \fBeventfd\fP(2)       2.6.22
 \fBeventfd2\fP(2)      2.6.27
-\fBexecv\fP(2) 2.0     T{
-SPARC/SPARC64 only, for
+ \fBexecv\fP(2)        2.0     T{
+SPARC/SPARC64 のみ、
 .br
-compatibility with SunOS
+SunOS との互換性のため
 T}
 \fBexecve\fP(2)        1.0
 \fBexecveat\fP(2)      3.19
 \fBexit\fP(2)  1.0
 \fBexit_group\fP(2)    2.6
 \fBfaccessat\fP(2)     2.6.16
-\fBfaccessat2\fP(2)    5.8
+ \fBfaccessat2\fP(2)    5.8
 \fBfadvise64\fP(2)     2.6
 .\" Implements \fBposix_fadvise\fP(2)
 \fBfadvise64_64\fP(2)  2.6
@@ -255,11 +251,11 @@ T}
 \fBfork\fP(2)  1.0
 \fBfree_hugepages\fP(2)        2.5.36  2.5.44 で削除
 \fBfremovexattr\fP(2)  2.6; 2.4.18
-\fBfsconfig\fP(2)      5.2
+ \fBfsconfig\fP(2)      5.2
 \fBfsetxattr\fP(2)     2.6; 2.4.18
-\fBfsmount\fP(2)       5.2
-\fBfsopen\fP(2)        5.2
-\fBfspick\fP(2)        5.2
+ \fBfsmount\fP(2)       5.2
+ \fBfsopen\fP(2)        5.2
+ \fBfspick\fP(2)        5.2
 \fBfstat\fP(2) 1.0
 \fBfstat64\fP(2)       2.4
 \fBfstatat64\fP(2)     2.6.16
@@ -275,7 +271,7 @@ T}
 \fBget_robust_list\fP(2)       2.6.17
 \fBget_thread_area\fP(2)       2.6
 .\" 8fcd6c45f5a65621ec809b7866a3623e9a01d4ed
-\fBget_tls\fP(2)       4.15    T{
+ \fBget_tls\fP(2)      4.15    T{
 ARM OABI only, has
 .br
 \fB__ARM_NR\fP prefix
@@ -285,7 +281,7 @@ T}
 \fBgetdents\fP(2)      2.0
 \fBgetdents64\fP(2)    2.4
 .\" parisc: 863722e856e64dae0e252b6bb546737c6c5626ce
-\fBgetdomainname\fP(2) 2.2     T{
+ \fBgetdomainname\fP(2)        2.2     T{
 SPARC, SPARC64; available
 .br
 as \fBosf_getdomainname\fP(2)
@@ -293,12 +289,12 @@ as \fBosf_getdomainname\fP(2)
 on Alpha since Linux 2.0
 T}
 .\" ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
-\fBgetdtablesize\fP(2) 2.0     T{
-SPARC (removed in 2.6.26),
+ \fBgetdtablesize\fP(2)        2.0     T{
+SPARC (2.6.26 で削除),
 .br
 available on Alpha as
 .br
-\fBosf_getdtablesize\fP(2)
+ \fBosf_getdtablesize\fP(2)
 T}
 \fBgetegid\fP(2)       1.0
 \fBgetegid32\fP(2)     2.4
@@ -309,7 +305,7 @@ T}
 \fBgetgroups\fP(2)     1.0
 \fBgetgroups32\fP(2)   2.4
 .\" SPARC removal: ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
-\fBgethostname\fP(2)   2.0     T{
+ \fBgethostname\fP(2)  2.0     T{
 Alpha, was available on
 .br
 SPARC up to Linux 2.6.26
@@ -336,11 +332,11 @@ T}
 \fBgettimeofday\fP(2)  1.0
 \fBgetuid\fP(2)        1.0
 \fBgetuid32\fP(2)      2.4
-\fBgetunwind\fP(2)     2.4.8   IA\-64 only; deprecated
+ \fBgetunwind\fP(2)     2.4.8  IA\-64 only; deprecated
 \fBgetxattr\fP(2)      2.6; 2.4.18
-\fBgetxgid\fP(2)       2.0     Alpha only; see NOTES
-\fBgetxpid\fP(2)       2.0     Alpha only; see NOTES
-\fBgetxuid\fP(2)       2.0     Alpha only; see NOTES
+ \fBgetxgid\fP(2)      2.0     Alpha のみ; 「注意」を参照
+ \fBgetxpid\fP(2)      2.0     Alpha のみ; 「注意」を参照
+ \fBgetxuid\fP(2)      2.0     Alpha のみ; 「注意」を参照
 \fBinit_module\fP(2)   1.0
 \fBinotify_add_watch\fP(2)     2.6.13
 \fBinotify_init\fP(2)  2.6.13
@@ -349,12 +345,12 @@ T}
 \fBio_cancel\fP(2)     2.6
 \fBio_destroy\fP(2)    2.6
 \fBio_getevents\fP(2)  2.6
-\fBio_pgetevents\fP(2) 4.18
+ \fBio_pgetevents\fP(2)        4.18
 \fBio_setup\fP(2)      2.6
 \fBio_submit\fP(2)     2.6
-\fBio_uring_enter\fP(2)        5.1
-\fBio_uring_register\fP(2)     5.1
-\fBio_uring_setup\fP(2)        5.1
+ \fBio_uring_enter\fP(2)       5.1
+ \fBio_uring_register\fP(2)    5.1
+ \fBio_uring_setup\fP(2)       5.1
 \fBioctl\fP(2) 1.0
 \fBioperm\fP(2)        1.0
 \fBiopl\fP(2)  1.0
@@ -363,7 +359,7 @@ T}
 \fBipc\fP(2)   1.0
 .\" Implements System V IPC calls
 \fBkcmp\fP(2)  3.5
-\fBkern_features\fP(2) 3.7     SPARC64 only
+\fBkern_features\fP(2) 3.7     SPARC64 のみ
 .\" FIXME . document kern_features():
 .\" commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb
 \fBkexec_file_load\fP(2)       3.17
@@ -392,10 +388,10 @@ T}
 \fBlstat64\fP(2)       2.4
 \fBmadvise\fP(2)       2.4
 \fBmbind\fP(2) 2.6.6
-\fBmemory_ordering\fP(2)       2.2     SPARC64 only
+ \fBmemory_ordering\fP(2)      2.2     SPARC64 のみ
 .\" 26025bbfbba33a9425be1b89eccb4664ea4c17b6
 .\" bb6fb6dfcc17cddac11ac295861f7608194447a7
-\fBmembarrier\fP(2)    3.17
+ \fBmembarrier\fP(2)   3.17
 \fBmemfd_create\fP(2)  3.17
 \fBmigrate_pages\fP(2) 2.6.16
 \fBmincore\fP(2)       2.4
@@ -404,13 +400,13 @@ T}
 \fBmknod\fP(2) 1.0
 \fBmknodat\fP(2)       2.6.16
 \fBmlock\fP(2) 2.0
-\fBmlock2\fP(2)        4.4
+ \fBmlock2\fP(2)        4.4
 \fBmlockall\fP(2)      2.0
 \fBmmap\fP(2)  1.0
 \fBmmap2\fP(2) 2.4
 \fBmodify_ldt\fP(2)    1.0
 \fBmount\fP(2) 1.0
-\fBmove_mount\fP(2)    5.2
+ \fBmove_mount\fP(2)    5.2
 \fBmove_pages\fP(2)    2.6.18
 \fBmprotect\fP(2)      1.0
 \fBmq_getsetattr\fP(2) 2.6.6
@@ -434,11 +430,11 @@ T}
 \fBname_to_handle_at\fP(2)     2.6.39
 \fBnanosleep\fP(2)     2.0
 .\" 5590ff0d5528b60153c0b4e7b771472b5a95e297
-\fBnewfstatat\fP(2)    2.6.16  See \fBstat\fP(2)
+ \fBnewfstatat\fP(2)   2.6.16   See \fBstat\fP(2)
 \fBnfsservctl\fP(2)    2.2     3.1 で削除
 \fBnice\fP(2)  1.0
-\fBold_adjtimex\fP(2)  2.0     Alpha only; see NOTES
-\fBold_getrlimit\fP(2) 2.4     T{
+ \fBold_adjtimex\fP(2) 2.0     Alpha のみ; 「注意」を参照
+ \fBold_getrlimit\fP(2)        2.4     T{
 Old variant of \fBgetrlimit\fP(2)
 .br
 that used a different value
@@ -449,7 +445,7 @@ T}
 \fBoldlstat\fP(2)      1.0
 \fBoldolduname\fP(2)   1.0
 \fBoldstat\fP(2)       1.0
-\fBoldumount\fP(2)     2.4.116 T{
+ \fBoldumount\fP(2)     2.4.116        T{
 Name of the old \fBumount\fP(2)
 .br
 syscall on Alpha
@@ -457,11 +453,11 @@ T}
 \fBolduname\fP(2)      1.0
 \fBopen\fP(2)  1.0
 \fBopen_by_handle_at\fP(2)     2.6.39
-\fBopen_tree\fP(2)     5.2
+ \fBopen_tree\fP(2)     5.2
 \fBopenat\fP(2)        2.6.16
-\fBopenat2\fP(2)       5.6
+ \fBopenat2\fP(2)       5.6
 .\" 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a
-\fBor1k_atomic\fP(2)   3.1     OpenRISC 1000 only
+ \fBor1k_atomic\fP(2)   3.1    OpenRISC 1000 のみ
 \fBpause\fP(2) 1.0
 \fBpciconfig_iobase\fP(2)      2.2.15; 2.4     x86 にはない
 .\" Alpha, PowerPC, ARM; not x86
@@ -475,18 +471,18 @@ T}
 2.6.32 で名称変更
 T}
 \fBpersonality\fP(2)   1.2
-\fBperfctr\fP(2)       2.2     SPARC only; removed in 2.6.34
+\fBperfctr\fP(2)       2.2     SPARC のみ; 2.6.34 で削除
 .\"    commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
-\fBperfmonctl\fP(2)    2.4     IA\-64 only
-\fBpidfd_getfd\fP(2)   5.6
-\fBpidfd_send_signal\fP(2)     5.1
-\fBpidfd_open\fP(2)    5.3
+\fBperfmonctl\fP(2)    2.4     IA\-64 のみ
+ \fBpidfd_getfd\fP(2)   5.6
+ \fBpidfd_send_signal\fP(2)    5.1
+ \fBpidfd_open\fP(2)    5.3
 \fBpipe\fP(2)  1.0
 \fBpipe2\fP(2) 2.6.27
 \fBpivot_root\fP(2)    2.4
-\fBpkey_alloc\fP(2)    4.8
-\fBpkey_free\fP(2)     4.8
-\fBpkey_mprotect\fP(2) 4.8
+ \fBpkey_alloc\fP(2)    4.8
+ \fBpkey_free\fP(2)     4.8
+ \fBpkey_mprotect\fP(2)         4.8
 \fBpoll\fP(2)  2.0.36; 2.2
 \fBppoll\fP(2) 2.6.16
 \fBprctl\fP(2) 2.2
@@ -496,9 +492,9 @@ T}
 2.6 で "pread64" に名称変更
 T}
 \fBpreadv\fP(2)        2.6.30
-\fBpreadv2\fP(2)       4.6
+ \fBpreadv2\fP(2)       4.6
 \fBprlimit64\fP(2)     2.6.36
-\fBprocess_madvise\fP(2)       5.10
+ \fBprocess_madvise\fP(2)      5.10
 \fBprocess_vm_readv\fP(2)      3.2
 \fBprocess_vm_writev\fP(2)     3.2
 \fBpselect6\fP(2)      2.6.16
@@ -510,7 +506,7 @@ T}
 2.6 で "pwrite64" に名称変更
 T}
 \fBpwritev\fP(2)       2.6.30
-\fBpwritev2\fP(2)      4.6
+ \fBpwritev2\fP(2)      4.6
 \fBquery_module\fP(2)  2.2     2.6 で削除
 \fBquotactl\fP(2)      1.0
 \fBread\fP(2)  1.0
@@ -533,9 +529,9 @@ T}
 \fBrequest_key\fP(2)   2.6.10
 \fBrestart_syscall\fP(2)       2.6
 .\" 921ebd8f2c081b3cf6c3b29ef4103eef3ff26054
-\fBriscv_flush_icache\fP(2)    4.15    RISC\-V only
+ \fBriscv_flush_icache\fP(2)   4.15    RISC\-V のみ
 \fBrmdir\fP(2) 1.0
-\fBrseq\fP(2)  4.18
+ \fBrseq\fP(2) 4.18
 \fBrt_sigaction\fP(2)  2.2
 \fBrt_sigpending\fP(2) 2.2
 \fBrt_sigprocmask\fP(2)        2.2
@@ -544,13 +540,13 @@ T}
 \fBrt_sigsuspend\fP(2) 2.2
 \fBrt_sigtimedwait\fP(2)       2.2
 \fBrt_tgsigqueueinfo\fP(2)     2.6.31
-\fBrtas\fP(2)  2.6.2   PowerPC/PowerPC64 only
+ \fBrtas\fP(2) 2.6.2   PowerPC/PowerPC64 のみ
 \fBs390_runtime_instr\fP(2)    3.7     s390 のみ
 \fBs390_pci_mmio_read\fP(2)    3.19    s390 のみ
 \fBs390_pci_mmio_write\fP(2)   3.19    s390 のみ
-\fBs390_sthyi\fP(2)    4.15    s390 のみ
-\fBs390_guarded_storage\fP(2)  4.12    s390 のみ
-\fBsched_get_affinity\fP(2)    2.6     T{
+ \fBs390_sthyi\fP(2)   4.15    s390 のみ
+ \fBs390_guarded_storage\fP(2) 4.12    s390 のみ
+ \fBsched_get_affinity\fP(2)   2.6     T{
 Name of \fBsched_getaffinity\fP(2)
 .br
 on SPARC and SPARC64
@@ -562,7 +558,7 @@ T}
 \fBsched_getparam\fP(2)        2.0
 \fBsched_getscheduler\fP(2)    2.0
 \fBsched_rr_get_interval\fP(2) 2.0
-\fBsched_set_affinity\fP(2)    2.6     T{
+ \fBsched_set_affinity\fP(2)   2.6     T{
 Name of \fBsched_setaffinity\fP(2)
 .br
 on SPARC and SPARC64
@@ -588,7 +584,7 @@ T}
 \fBset_robust_list\fP(2)       2.6.17
 \fBset_thread_area\fP(2)       2.6
 \fBset_tid_address\fP(2)       2.6
-\fBset_tls\fP(2)       2.6.11  T{
+ \fBset_tls\fP(2)      2.6.11  T{
 ARM OABI/EABI only (constant
 .br
 has \fB__ARM_NR\fP prefix)
@@ -612,12 +608,12 @@ T}
 \fBsetgroups\fP(2)     1.0
 \fBsetgroups32\fP(2)   2.4
 .\" arch/alpha/include/asm/core_lca.h
-\fBsethae\fP(2)        2.0     Alpha only; see NOTES
+ \fBsethae\fP(2)       2.0     Alpha のみ; 「注意」を参照
 \fBsethostname\fP(2)   1.0
 \fBsetitimer\fP(2)     1.0
 \fBsetns\fP(2) 3.0
 \fBsetpgid\fP(2)       1.0
-\fBsetpgrp\fP(2)       2.0     T{
+ \fBsetpgrp\fP(2)      2.0     T{
 Alternative name for
 .br
 \fBsetpgid\fP(2) on Alpha
@@ -659,21 +655,21 @@ T}
 .\" Implements BSD socket calls
 \fBsocketpair\fP(2)    2.0     \fBsocketcall\fP(2) の「注意」の節を参照
 .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6
-\fBspill\fP(2) 2.6.13  Xtensa only
+ \fBspill\fP(2)        2.6.13  Xtensa のみ
 \fBsplice\fP(2)        2.6.17
-\fBspu_create\fP(2)    2.6.16  PowerPC/PowerPC64 only
-\fBspu_run\fP(2)       2.6.16  PowerPC/PowerPC64 only
+\fBspu_create\fP(2)    2.6.16  PowerPC/PowerPC64 のみ
+\fBspu_run\fP(2)       2.6.16  PowerPC/PowerPC64 のみ
 \fBssetmask\fP(2)      1.0
 \fBstat\fP(2)  1.0
 \fBstat64\fP(2)        2.4
 \fBstatfs\fP(2)        1.0
 \fBstatfs64\fP(2)      2.6
-\fBstatx\fP(2) 4.11
+ \fBstatx\fP(2)         4.11
 \fBstime\fP(2) 1.0
-\fBsubpage_prot\fP(2)  2.6.25  PowerPC/PowerPC64 only
-\fBswapcontext\fP(2)   2.6.3   PowerPC/PowerPC64 only
+\fBsubpage_prot\fP(2)  2.6.25  PowerPC/PowerPC64 のみ
+ \fBswapcontext\fP(2)   2.6.3  PowerPC/PowerPC64 のみ
 .\" 529d235a0e190ded1d21ccc80a73e625ebcad09b
-\fBswitch_endian\fP(2) 4.1     PowerPC64 only
+ \fBswitch_endian\fP(2)         4.1    PowerPC64 のみ
 \fBswapoff\fP(2)       1.0
 \fBswapon\fP(2)        1.0
 \fBsymlink\fP(2)       1.0
@@ -685,8 +681,8 @@ T}
 .\" First appeared on ARM, as arm_sync_file_range(), but later renamed
 .\" \fBsys_debug_setcontext\fP(2)      ???     PowerPC if CONFIG_PPC32
 \fBsyncfs\fP(2)        2.6.39
-\fBsys_debug_setcontext\fP(2)  2.6.11  PowerPC のみ
-\fBsyscall\fP(2)       1.0     T{
+ \fBsys_debug_setcontext\fP(2) 2.6.11  PowerPC のみ
+ \fBsyscall\fP(2)      1.0     T{
 Still available on ARM OABI
 .br
 and MIPS O32 ABI
@@ -695,7 +691,7 @@ T}
 \fBsysinfo\fP(2)       1.0
 \fBsyslog\fP(2)        1.0
 .\" glibc interface is \fBklogctl\fP(3)
-\fBsysmips\fP(2)       2.6.0   MIPS only
+ \fBsysmips\fP(2)       2.6.0  MIPS のみ
 \fBtee\fP(2)   2.6.17
 \fBtgkill\fP(2)        2.6
 \fBtime\fP(2)  1.0
@@ -729,13 +725,13 @@ T}
 \fBunshare\fP(2)       2.6.16
 \fBuselib\fP(2)        1.0
 \fBustat\fP(2) 1.0
-\fBuserfaultfd\fP(2)   4.3
-\fBusr26\fP(2) 2.4.8.1 ARM OABI only
-\fBusr32\fP(2) 2.4.8.1 ARM OABI only
+ \fBuserfaultfd\fP(2)   4.3
+ \fBusr26\fP(2)         2.4.8.1        ARM OABI のみ
+ \fBusr32\fP(2)         2.4.8.1        ARM OABI のみ
 \fButime\fP(2) 1.0
 \fButimensat\fP(2)     2.6.22
 \fButimes\fP(2)        2.2
-\fButrap_install\fP(2) 2.2     SPARC64 only
+\fButrap_install\fP(2) 2.2     SPARC64 のみ
 .\" FIXME . document utrap_install()
 .\" There's a man page for Solaris 5.11
 \fBvfork\fP(2) 2.2
@@ -743,7 +739,7 @@ T}
 \fBvm86old\fP(2)       1.0     T{
 Was "vm86"; renamed in
 .br
-2.0.28/2.2
+ 2.0.28/2.2
 T}
 \fBvm86\fP(2)  2.0.28; 2.2
 \fBvmsplice\fP(2)      2.6.17
@@ -753,7 +749,7 @@ T}
 \fBwrite\fP(2) 1.0
 \fBwritev\fP(2)        2.0
 .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6
-\fBxtensa\fP(2)        2.6.13  Xtensa only
+ \fBxtensa\fP(2)       2.6.13  Xtensa のみ
 .TE
 .ad
 .PP
@@ -805,9 +801,9 @@ AVR32 (port removed in Linux 4.12)
 .RS
 .PD 0
 .IP * 2
-\fBpread\fP(2)
+ \fBpread\fP(2)
 .IP *
-\fBpwrite\fP(2)
+ \fBpwrite\fP(2)
 .PD
 .RE
 .TP 
@@ -851,14 +847,11 @@ Tile (port removed in Linux 4.17)
 .PD
 .RE
 .SH 注意
-Roughly speaking, the code belonging to the system call with number __NR_xxx
-defined in \fI/usr/include/asm/unistd.h\fP can be found in the Linux kernel
-source in the routine \fIsys_xxx\fP().  There are many exceptions, however,
-mostly because older system calls were superseded by newer ones, and this
-has been treated somewhat unsystematically.  On platforms with proprietary
-operating\-system emulation, such as sparc, sparc64, and alpha, there are
-many additional system calls; mips64 also contains a full set of 32\-bit
-system calls.
+たいていは、 \fI/usr/include/asm/unistd.h\fP で定義されている番号 __NR_xxx のシステムコールのコードは、 Linux
+カーネルソースの \fIsys_xxx\fP() というルーチンに書かれている。 しかしこれには多くの例外がある。古いシステムコールは新版に置き換えられて
+きたが、この置き換えはあまり体系立てて行われて来なかったからである。 sparc, sparc64, alpha
+といったプロプリエタリなオペレーティングシステムのエミュレーション機能があるプラットフォームでは、多くの追加システムコールがある。 mips64
+には、32 ビットシステムコールのフルセットも含まれている。
 .PP
 Over time, changes to the interfaces of some system calls have been
 necessary.  One reason for such changes was the need to increase the size of
@@ -880,9 +873,8 @@ calls that exist in multiple versions are the following:
 (カーネル 2.4 で導入; スロットは \fI__NR_stat64\fP)。 3つのうち最後のものが最新である。 \fBlstat\fP(2)  と
 \fBfstat\fP(2)  についても同様である。
 .IP *
-Similarly, the defines \fI__NR_oldolduname\fP, \fI__NR_olduname\fP, and
-\fI__NR_uname\fP refer to the routines \fIsys_olduname\fP(), \fIsys_uname\fP(), and
-\fIsys_newuname\fP().
+また、 \fI__NR_oldolduname\fP, \fI__NR_olduname\fP, \fI__NR_uname\fP という定義は、それぞれ
+\fIsys_olduname\fP(), \fIsys_uname\fP(), \fIsys_newuname\fP()  というルーチンを参照している。
 .IP *
 Linux 2.0 では、 \fBvm86\fP(2)  の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ
 \fIsys_vm86old\fP(), \fIsys_vm86\fP()  という名前である。
@@ -898,15 +890,12 @@ Linux 2.4 で、ユーザー ID とグループ ID のサイズが 16 ビット
 \fBgetgroups32\fP(2), \fBsetresuid32\fP(2)  など)。 これらのシステムコールが、末尾の "32" が付かない同名の
 古いバージョンに代わって使われるようになった。
 .IP *
-Linux 2.4 added support for applications on 32\-bit architectures to access
-large files (i.e., files for which the sizes and file offsets can't be
-represented in 32 bits.)  To support this change, replacements were required
-for system calls that deal with file offsets and sizes.  Thus the following
-system calls were added: \fBfcntl64\fP(2), \fBgetdents64\fP(2), \fBstat64\fP(2),
-\fBstatfs64\fP(2), \fBtruncate64\fP(2), and their analogs that work with file
-descriptors or symbolic links.  These system calls supersede the older
-system calls which, except in the case of the "stat" calls, have the same
-name without the "64" suffix.
+Linux 2.4 では、32 ビットアーキテクチャー上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや
+ファイルオフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセットとサイズを扱う
+システムコールの置き換えが必要となった。その結果、 \fBfcntl64\fP(2), \fBgetdents64\fP(2), \fBstat64\fP(2),
+\fBstatfs64\fP(2), \fBtruncate64\fP(2) と、ファイルディスクリプターやシンボリックリンクで同じ機能を持つ
+システムコールが追加された。 これらのシステムコールが、末尾の "64" が付かない同名の 古いバージョンに代わって使われるようになった。
+但し、"stat" 系のシステムコールはその限りではない。
 .IP
 On newer platforms that only have 64\-bit file access and 32\-bit UIDs/GIDs
 (e.g., alpha, ia64, s390x, x86\-64), there is just a single version of the
@@ -949,7 +938,7 @@ argument block) instead.  These days passing five arguments is not a problem
 any more, and there is a \fI__NR__newselect\fP that corresponds directly to
 \fIsys_select\fP()  and similarly \fI__NR_mmap2\fP.  s390x is the only 64\-bit
 architecture that has \fIold_mmap\fP().
-.SS "Architecture\-specific details: Alpha"
+.SS "アーキテクチャー固有の詳細: Alpha"
 .IP * 3
 \fBgetxgid\fP(2)  returns a pair of GID and effective GID via registers \fBr0\fP
 and \fBr20\fP; it is provided instead of \fBgetgid\fP(2) and \fBgetegid\fP(2).
index f7292fe..20fa930 100644 (file)
@@ -45,7 +45,7 @@
 sysctl \- システムパラメーターを読み書きする
 .SH 書式
 .nf
-\fB#include <unistd.h>\fP
+ \fB#include <unistd.h>\fP
 \fB#include <linux/sysctl.h>\fP
 .PP
 \fBint _sysctl(struct __sysctl_args *\fP\fIargs\fP\fB);\fP
@@ -89,10 +89,9 @@ struct __sysctl_args {
 This system call first appeared in Linux 1.3.57.  It was removed in Linux
 5.5; glibc support was removed in version 2.32.
 .SH 準拠
-This call is Linux\-specific, and should not be used in programs intended to
-be portable.  It originated in 4.4BSD.  Only Linux has the \fI/proc/sys\fP
-mirror, and the object naming schemes differ between Linux and 4.4BSD, but
-the declaration of the \fBsysctl\fP()  function is the same in both.
+このコールは Linux 特有であり、移植を意図したプログラムで使用しては いけない。これは 4.4BSD に由来している。Linux は
+\fI/proc/sys\fP に写し(mirror)をもっており、項目の名前の付け方が Linux と 4.4BSD では 異っている。しかし
+\fBsysctl\fP()  関数の宣言は両方で同じである。
 .SH 注意
 Use of this system call was long discouraged: since Linux 2.6.24, uses of
 this system call result in warnings in the kernel log, and in Linux 5.5, the
@@ -130,7 +129,7 @@ main(void)
     size_t osnamelth;
     int name[] = { CTL_KERN, KERN_OSTYPE };
 
-    memset(&args, 0, sizeof(args));
+     memset(&args, 0, sizeof(args));
     args.name = name;
     args.nlen = sizeof(name)/sizeof(name[0]);
     args.oldval = osname;
diff --git a/manual/LDP_man-pages/draft/man2/sysinfo.2 b/manual/LDP_man-pages/draft/man2/sysinfo.2
new file mode 100644 (file)
index 0000000..66c758b
--- /dev/null
@@ -0,0 +1,123 @@
+.\" Copyright (C) 2016, Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Based on an earlier version of the page where a few pieces were
+.\" copyright (C) 1993 by Dan Miner (dminer@nyx.cs.du.edu) and subsequently
+.\" others (see old changelog below).
+.\" The structure definitions are taken more or less straight from the kernel
+.\" source files.
+.\"
+.\" %%%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
+.\"
+.\"
+.\" Modified Sat Jul 24 12:35:12 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified Tue Oct 22 22:29:51 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified Mon Aug 25 16:06:11 1997 by Nicolás Lichtmaier <nick@debian.org>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Tue Mar  4 00:04:15 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified Mon Sep 23 21:56:40 JST 2000
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH SYSINFO 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+sysinfo \- システム情報を返す
+.SH 書式
+\fB#include <sys/sysinfo.h>\fP
+.PP
+\fBint sysinfo(struct sysinfo *\fP\fIinfo\fP\fB);\fP
+.SH 説明
+\fBsysinfo\fP()  returns certain statistics on memory and swap usage, as well
+as the load average.
+.PP
+Linux 2.3.16 までは \fBsysinfo\fP()  は以下の構造体に情報を入れて返した。
+.PP
+.in +4n
+.EX
+ struct sysinfo {
+    long uptime;             /* Seconds since boot */
+    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */
+    unsigned long totalram;  /* Total usable main memory size */
+    unsigned long freeram;   /* Available memory size */
+    unsigned long sharedram; /* Amount of shared memory */
+    unsigned long bufferram; /* Memory used by buffers */
+    unsigned long totalswap; /* Total swap space size */
+    unsigned long freeswap;  /* Swap space still available */
+    unsigned short procs;    /* Number of current processes */
+    char _f[22];             /* Pads structure to 64 bytes */
+};
+.EE
+.in
+.PP
+In the above structure, the sizes of the memory and swap fields are given in
+bytes.
+.PP
+Linux 2.3.23 (i386)、Linux 2.3.48 (全てのアーキテクチャー) 以降では、構造体は
+.PP
+.in +4n
+.EX
+ struct sysinfo {
+    long uptime;             /* Seconds since boot */
+    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */
+    unsigned long totalram;  /* Total usable main memory size */
+    unsigned long freeram;   /* Available memory size */
+    unsigned long sharedram; /* Amount of shared memory */
+    unsigned long bufferram; /* Memory used by buffers */
+    unsigned long totalswap; /* Total swap space size */
+    unsigned long freeswap;  /* Swap space still available */
+    unsigned short procs;    /* Number of current processes */
+    unsigned long totalhigh; /* Total high memory size */
+    unsigned long freehigh;  /* Available high memory size */
+    unsigned int mem_unit;   /* Memory unit size in bytes */
+    char _f[20\-2*sizeof(long)\-sizeof(int)];
+                             /* Padding to 64 bytes */
+};
+.EE
+.in
+.PP
+In the above structure, sizes of the memory and swap fields are given as
+multiples of \fImem_unit\fP bytes.
+.SH 返り値
+成功すると、 \fBsysinfo\fP()  は 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+\fIinfo\fP が有効なアドレスではない。
+.SH バージョン
+\fBsysinfo\fP() は Linux 0.98.pl6 で初めて登場した。
+.SH 準拠
+この関数は Linux 特有であり、移植を意図したプログラムでは 使用すべきでない。
+.SH 注意
+All of the information provided by this system call is also available via
+\fI/proc/meminfo\fP and \fI/proc/loadavg\fP.
+.SH 関連項目
+\fBproc\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index c853bde..e66cbfe 100644 (file)
@@ -58,7 +58,7 @@
 .\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH TRUNCATE 2 2019\-03\-06 Linux "Linux Programmer's Manual"
+.TH TRUNCATE 2 " 2019\-03\-06" Linux "Linux Programmer's Manual"
 .SH 名前
 truncate, ftruncate \- 指定した長さにファイルを切り詰める
 .SH 書式
@@ -79,16 +79,16 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 _XOPEN_SOURCE\ >=\ 500
-    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .RE
 .PP
 \fBftruncate\fP():
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 _XOPEN_SOURCE\ >=\ 500
-    || /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\ >=\ 200112L
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* glibc 2.3.5 以降: */ _POSIX_C_SOURCE\ >=\ 200112L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .RE
 .ad b
 .SH 説明
@@ -100,10 +100,8 @@ _XOPEN_SOURCE\ >=\ 500
 .PP
 ファイルオフセットは変更されない。
 .PP
-If the size changed, then the st_ctime and st_mtime fields (respectively,
-time of last status change and time of last modification; see \fBinode\fP(7))
-for the file are updated, and the set\-user\-ID and set\-group\-ID mode bits may
-be cleared.
+大きさが変更されると、ファイルの st_ctime と st_mtime フィールド (それぞれ最終状態変更時刻、最終修正時刻; \fBinode\fP(7)
+参照) が更新される。 また、set\-user\-ID と set\-group\-ID のモードビットがクリアされるかもしれない。
 .PP
 \fBftruncate\fP()  の場合、ファイルは書き込み用に開いていなければならない。 \fBtruncate\fP()
 の場合、ファイルは書き込み可能でなければならない。
@@ -159,7 +157,7 @@ inode の更新時に I/O エラーが発生した。
 ファイルが読み込み専用 (read only) のファイルシステム上にある。
 .TP 
 \fBETXTBSY\fP
-The file is an executable file that is being executed.
+ファイルが実行中の実行ファイルである。
 .PP
 \fBftruncate\fP()  にも同様のエラーが適用される。 但し、 \fIpath\fP に関するエラーの場合は、ファイルディスクリプター \fIfd\fP
 に関するエラーとなる。
@@ -173,7 +171,7 @@ The file is an executable file that is being executed.
 \fBEINVAL\fP
 \fIfd\fP does not reference a regular file or a POSIX shared memory object.
 .TP 
-\fBEINVAL\fP or \fBEBADF\fP
+\fBEINVAL\fP または \fBEBADF\fP
 The file descriptor \fIfd\fP is not open for writing.  POSIX permits, and
 portable applications should handle, either error for this case.  (Linux
 produces \fBEINVAL\fP.)
@@ -189,8 +187,7 @@ produces \fBEINVAL\fP.)
 .\" error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
 .\" .BR ftruncate ()
 .\" an additional EAGAIN error condition.
-POSIX.1\-2001, POSIX.1\-2008, 4.4BSD, SVr4 (these calls first appeared in
-4.2BSD).
+POSIX.1\-2001, POSIX.1\-2008, 4.4BSD, SVr4 (これらのコールは 4.2BSD で初めて登場した)。
 .SH 注意
 \fBftruncate\fP()  can also be used to set the size of a POSIX shared memory
 object; see \fBshm_open\fP(3).
@@ -222,7 +219,7 @@ glibc 2.12 のヘッダーファイルにはバグがあり、 \fBftruncate\fP()
 \fB_POSIX_C_SOURCE\fP の最小値が 200112L ではなく 200809L となっていた。 このバグは、これ以降のバージョンの
 glibc では修正されている。
 .SH 関連項目
-\fBtruncate\fP(1), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7)
+ \fBtruncate\fP(1), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/umask.2 b/manual/LDP_man-pages/draft/man2/umask.2
new file mode 100644 (file)
index 0000000..788929e
--- /dev/null
@@ -0,0 +1,124 @@
+.\" Copyright (c) 2006, 2008, Michael Kerrisk <mtk.manpages@gmail.com>
+.\" (A few fragments remain from an earlier (1992) version written in
+.\" 1992 by Drew Eckhardt <drew@cs.colorado.edu>.)
+.\"
+.\" %%%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
+.\"
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified Sat Jul 24 12:51:53 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified Tue Oct 22 22:39:04 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified Thu May  1 06:05:54 UTC 1997 by Nicolás Lichtmaier
+.\"  <nick@debian.com> with Lars Wirzenius <liw@iki.fi> suggestion
+.\" 2006-05-13, mtk, substantial rewrite of description of 'mask'
+.\" 2008-01-09, mtk, a few rewrites and additions.
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 SUTO, Mitsuaki
+.\"         all rights reserved.
+.\" Translated 1997-06-26, SUTO Mitsuaki <suto@av.crl.sony.co.jp>
+.\" Modified 1999-03-21, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2005-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2006-07-21, Akihiro MOTOKI, LDP v2.36
+.\" Updated 2008-02-10, Akihiro MOTOKI, LDP v2.77
+.\"
+.TH UMASK 2 " 2020\-08\-13" Linux "Linux Programmer's Manual"
+.SH 名前
+umask \- ファイルモード作成マスクを設定する
+.SH 書式
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <sys/stat.h>\fP
+.PP
+\fBmode_t umask(mode_t \fP\fImask\fP\fB);\fP
+.SH 説明
+\fBumask\fP()  は、呼び出し元プロセスのファイルモード作成マスク (umask) を \fImask\fP & 0777 に設定し (\fIumask\fP
+のファイル許可に対応するビットのみを使用する)、 変更前のマスク値を返す。
+.PP
+.\" e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
+.\" but NOT the System V IPC *get() calls
+umask は、 \fBopen\fP(2), \fBmkdir\fP(2)  やファイル作成を行うその他のシステムコールで、
+新しく作成されるファイルやディレクトリの許可 (permission) を 修正するために使用される。 具体的には umask に設定されている許可が
+\fBopen\fP(2)  や \fBmkdir\fP(2)  の \fImode\fP 引き数から取り消される。
+.PP
+Alternatively, if the parent directory has a default ACL (see \fBacl\fP(5)),
+the umask is ignored, the default ACL is inherited, the permission bits are
+set based on the inherited ACL, and permission bits absent in the \fImode\fP
+argument are turned off.  For example, the following default ACL is
+equivalent to a umask of 022:
+.PP
+    u::rwx,g::r\-x,o::r\-x
+.PP
+Combining the effect of this default ACL with a \fImode\fP argument of 0666
+(rw\-rw\-rw\-), the resulting file permissions would be 0644 (rw\-r\-\-r\-\-).
+.PP
+\fImask\fP に指定するのに使用すべき定数については \fBinode\fP(7) で説明されている。
+.PP
+プロセスの umask のよくあるデフォルト値は \fIS_IWGRP\ |\ S_IWOTH\fP (8進で 022) である。
+新しいファイルを作成する際に \fBopen\fP(2)  の \fImode\fP 引き数に
+.PP
+.in +4n
+.EX
+ S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
+.EE
+.in
+.PP
+を指定するというよくあるケースでは、作成されたファイルは
+.PP
+.in +4n
+.EX
+ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
+.EE
+.in
+.PP
+(because 0666 & \(ti022 = 0644; i.e., rw\-r\-\-r\-\-).
+.SH 返り値
+このシステムコールは必ず成功し、以前の umask 値を返す。
+.SH 準拠
+ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
+.SH 注意
+\fBfork\fP(2)  で作成された子プロセスは、親プロセスの umask を継承する。 \fBexecve\fP(2)  によって umask
+は変更されない。
+.PP
+It is impossible to use \fBumask\fP()  to fetch a process's umask without at
+the same time changing it.  A second call to \fBumask\fP()  would then be
+needed to restore the umask.  The nonatomicity of these two steps provides
+the potential for races in multithreaded programs.
+.PP
+Since Linux 4.7, the umask of any process can be viewed via the \fIUmask\fP
+field of \fI/proc/[pid]/status\fP.  Inspecting this field in
+\fI/proc/self/status\fP allows a process to retrieve its umask without at the
+same time changing it.
+.PP
+umask の設定は、そのプロセスが生成する POSIX IPC オブジェクト (\fBmq_open\fP(3), \fBsem_open\fP(3),
+\fBshm_open\fP(3))  や FIFO (\fBmkfifo\fP(3))、 UNIX ドメインソケット (\fBunix\fP(7))
+に設定される許可にも影響を与える。 一方、umask は、そのプロセスが (\fBmsgget\fP(2), \fBsemget\fP(2),
+\fBshmget\fP(2)  を使って) 生成する System\ V IPC オブジェクトに設定される許可には 影響を与えない。
+.SH 関連項目
+\fBchmod\fP(2), \fBmkdir\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBacl\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 234b296..f0e97e5 100644 (file)
@@ -38,7 +38,7 @@
 .\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
 .\" Updated 2007-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.64
 .\"
-.TH UNAME 2 2019\-10\-10 Linux "Linux Programmer's Manual"
+.TH UNAME 2 " 2019\-10\-10" Linux "Linux Programmer's Manual"
 .SH 名前
 uname \- 現在稼働中のカーネルについての名前と情報を得る
 .SH 書式
@@ -52,15 +52,15 @@ uname \- 現在稼働中のカーネルについての名前と情報を得る
 .in +4n
 .EX
 struct utsname {
-    char sysname[];    /* Operating system name (e.g., "Linux") */
-    char nodename[];   /* Name within "some implementation\-defined
-                          network" */
-    char release[];    /* Operating system release
-                          (e.g., "2.6.28") */
-    char version[];    /* Operating system version */
-    char machine[];    /* Hardware identifier */
+    char sysname[];    /* OS の名前 (例: "Linux") */
+    char nodename[];   /* 「実装時に定義された、何らかの
+                          ネットワーク」におけるマシン名 */
+    char release[];    /* オペレーションシステムのリリース番号
+                          (例: "2.6.28") */
+    char version[];    /* オペレーティングシステムのバージョン */
+    char machine[];    /* ハードウェア識別子 */
 #ifdef _GNU_SOURCE
-    char domainname[]; /* NIS or YP domain name */
+    char domainname[]; /* NIS や YP のドメイン名 */
 #endif
 };
 .EE
@@ -75,7 +75,7 @@ struct utsname {
 \fBEFAULT\fP
 \fIbuf\fP が有効でない。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, SVr4.  There is no \fBuname\fP()  call in 4.3BSD.
+POSIX.1\-2001, POSIX.1\-2008, SVr4. 4.3BSD には \fBuname\fP()  コールがない。
 .PP
 \fIdomainname\fP メンバー (NIS または YP ドメイン名) は GNU の拡張である。
 .SH 注意
@@ -109,7 +109,7 @@ utsname の情報は、 \fI/proc/sys/kernel/\fP{\fIostype\fP, \fIhostname\fP, \f
 \fBuname\fP()  ラッパー関数は、これらの詳細をアプリケーションから隠蔽し、
 カーネルが提供しているシステムコールのうち最新のバージョンを起動する。
 .SH 関連項目
-\fBuname\fP(1), \fBgetdomainname\fP(2), \fBgethostname\fP(2), \fButs_namespaces\fP(7)
+ \fBuname\fP(1), \fBgetdomainname\fP(2), \fBgethostname\fP(2), \fButs_namespaces\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 7a0a82e..18c08e4 100644 (file)
@@ -65,7 +65,7 @@ see NOTES.
 が存在するディレクトリかその上位のいずれかに対する検索許可がない (\fBpath_resolution\fP(7)  も参照)。
 .TP 
 \fBENFILE\fP
-The system\-wide limit on the total number of open files has been reached.
+オープンされたファイルの総数がシステム全体の上限に達していた。
 .TP 
 \fBENOEXEC\fP
 \fIlibrary\fP で指定されたファイルが、実行可能ファイルと認識されるファイル種別ではない。 例えば、正しいマジックナンバーが付いていない。
index b3298ac..541550b 100644 (file)
@@ -62,13 +62,13 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 glibc 2.12 以降:
 .nf
 (_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L)
-    || /* Since glibc 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"     || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
@@ -191,14 +191,13 @@ child process.
 .SS 歴史
 .\" In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
 .\" present, but definitely on its way out'.
-The \fBvfork\fP()  system call appeared in 3.0BSD.  In 4.4BSD it was made
-synonymous to \fBfork\fP(2)  but NetBSD introduced it again; see
+\fBvfork\fP()  システムコールは 3.0BSD に現われた。 4.4BSD において \fBfork\fP(2)  の同義語となったが、NetBSD
+では再び導入された。
 .UR http://www.netbsd.org\:/Documentation\:/kernel\:/vfork.html
-.UE .
-In
-Linux, it has been equivalent to \fBfork\fP(2)  until 2.2.0\-pre6 or so.  Since
-2.2.0\-pre9 (on i386, somewhat later on other architectures) it is an
-independent system call.  Support was added in glibc 2.0.112.
+.UE
+を参照。
+Linux では 2.2.0\-pre6 あたりまでは \fBfork\fP(2)  と等価であった。(i386 では) 2.2.0\-pre9 から
+(他のアーキテクチャーでは 少し遅れて) 独立したシステムコールとなった。 glibc でのサポートは glibc\-2.0.112 で追加された。
 .SH バグ
 .\"
 .\" As far as I can tell, the following is not true in 2.6.19:
@@ -211,8 +210,7 @@ independent system call.  Support was added in glibc 2.0.112.
 の途中の子プロセスに \fBSIGTTOU\fP や \fBSIGTTIN\fP シグナルを送信してはならない; さらに出力や \fIioctl\fP
 は許されるが、入力を試みた場合には結果はファイル終端 (EOF) になる。」 と書かれている。
 .SH 関連項目
-\fBclone\fP(2), \fBexecve\fP(2), \fB_exit\fP(2), \fBfork\fP(2), \fBunshare\fP(2),
-\fBwait\fP(2)
+\fBclone\fP(2), \fBexecve\fP(2), \fBfork\fP(2), \fBunshare\fP(2), \fBwait\fP(2)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 61d274a..a22089c 100644 (file)
@@ -38,7 +38,7 @@
 .\" Updated & Modified Tue Feb 15 03:38:03 JST 2005
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\"
-.TH VHANGUP 2 2016\-03\-15 Linux "Linux Programmer's Manual"
+.TH VHANGUP 2 " 2016\-03\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 vhangup \- 現在の端末を仮想的に (virtualy) ハングアップ (hangup) させる
 .SH 書式
@@ -51,14 +51,14 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RE
 .PP
 .ad l
-\fBvhangup\fP():
+ \fBvhangup\fP():
 .nf
 .\"            commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .ad b
@@ -75,7 +75,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .SH 準拠
 このコールは Linux 特有であり、移植を意図したプログラムで 使用してはいけない。
 .SH 関連項目
-\fBinit\fP(1), \fBcapabilities\fP(7)
+ \fBinit\fP(1), \fBcapabilities\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index f33b498..8b1df85 100644 (file)
@@ -63,12 +63,10 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 引き数 \fIname\fP は、問い合わせ内容を表すシステム変数である。 以下の変数がサポートされている。
 .TP 
 \fB_CS_GNU_LIBC_VERSION\fP (GNU C library 限定; glibc 2.3.2 以降)
-A string which identifies the GNU C library version on this system (e.g.,
-"glibc 2.3.4").
+そのシステムの GNU C ライブラリのバージョンを示す文字列 (例えば "glibc 2.3.4")。
 .TP 
 \fB_CS_GNU_LIBPTHREAD_VERSION\fP (GNU C library 限定; glibc 2.3.2 以降)
-A string which identifies the POSIX implementation supplied by this C
-library (e.g., "NPTL 2.3.4" or "linuxthreads\-0.10").
+その C ライブラリが提供している POSIX 実装を示す文字列 (例えば "NPTL 2.3.4" や "linuxthreads\-0.10")。
 .TP 
 \fB_CS_PATH\fP
 すべての POSIX.2 標準ユーティリティが見つかるような \fBPATH\fP の値。
index 88747c4..b612c6a 100644 (file)
@@ -56,7 +56,7 @@ crypt, crypt_r \- パスワードとデータの暗号化
 .PP
 \fBchar *crypt(const char *\fP\fIkey\fP\fB, const char *\fP\fIsalt\fP\fB);\fP
 
-\fB#define _GNU_SOURCE\fP         /* See feature_test_macros(7) */
+ \fB#define _GNU_SOURCE\fP         /* feature_test_macros(7) 参照 */
 \fB#include <crypt.h>\fP
 .PP
 \fBchar *crypt_r(const char *\fP\fIkey\fP\fB, const char *\fP\fIsalt\fP\fB,\fP
@@ -77,7 +77,7 @@ Encryption Standard アルゴリズムを元にしている。
 0 の文字列)  を繰り返し暗号化するのに用いられる。 返り値は暗号化されたパスワードへのポインターで、13 の印字可能な ASCII 文字
 からなる(最初の 2 文字は salt そのもの)。 返り値は、関数呼出しのたびに上書きされる静的なデータへのポインターである。
 .PP
-Warning: the key space consists of
+警告: 鍵空間は
 .if  t 2\s-2\u56\s0\d
 .if  n 2**56
 = 7.2e16 の可能な値から成る。 この鍵空間の全探索は強力な並列計算機を使えば可能である。また \fBcrack\fP(1)
@@ -153,8 +153,8 @@ T{
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
-\fBcrypt\fP(): POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  \fBcrypt_r\fP()  is a
-GNU extension.
+\fBcrypt\fP(): POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  \fBcrypt_r\fP()  は GNU
+拡張である。
 .SH 注意
 .SS "Availability in glibc"
 The \fBcrypt\fP(), \fBencrypt\fP(3), and \fBsetkey\fP(3)  functions are part of the
@@ -168,8 +168,7 @@ if \fB_XOPEN_CRYPT\fP is not available and include \fI<crypt.h>\fP for the
 function prototypes; otherwise \fIlibxcrypt\fP is an ABI\-compatible drop\-in
 replacement.
 .SS "Features in glibc"
-The glibc version of this function supports additional encryption
-algorithms.
+この関数の glibc 版は追加の暗号化アルゴリズムに対応している。
 .PP
 If \fIsalt\fP is a character string starting with the characters "$\fIid\fP$"
 followed by a string optionally terminated by "$", then the result has the
@@ -179,9 +178,8 @@ form:
 $\fIid\fP$\fIsalt\fP$\fIencrypted\fP
 .RE
 .PP
-\fIid\fP identifies the encryption method used instead of DES and this then
-determines how the rest of the password string is interpreted.  The
-following values of \fIid\fP are supported:
+DES を使う代わりに、 \fIid\fP で使用する暗号化手法を識別し、これがパスワード文字列の残りの部分を解釈する 方法を決定する。 \fIid\fP
+の値として、以下の値に対応している:
 .RS
 .TS
 l l.
index 7fed897..c262eb8 100644 (file)
@@ -61,19 +61,18 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBdaemon\fP():
 .nf
 .\"             commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .SH 説明
 \fBdaemon\fP()  は、制御端末から分離させてシステムデーモンとして動作させたい プログラムのための関数である。
 .PP
-If \fInochdir\fP is zero, \fBdaemon\fP()  changes the process's current working
-directory to the root directory ("/"); otherwise, the current working
-directory is left unchanged.
+\fInochdir\fP が 0 の場合、 \fBdaemon\fP()  はプロセスの現在の作業ディレクトリ (current working
+directory)  をルートディレクトリ ("/") に変更する。 それ以外の場合、現在の作業ディレクトリは変更されない。
 .PP
 \fInoclose\fP が 0 の場合、 \fBdaemon\fP()  は標準入力・標準出力・標準エラーを \fI/dev/null\fP にリダイレクトする。
 それ以外の場合、これらのファイルディスクリプターは変更されない。
@@ -95,8 +94,7 @@ T{
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
-Not in POSIX.1.  A similar function appears on the BSDs.  The \fBdaemon\fP()
-function first appeared in 4.4BSD.
+POSIX.1 にはない。 同様の関数が BSD には見られる。 \fBdaemon\fP()  関数は 4.4BSD で始めて登場した。
 .SH 注意
 The glibc implementation can also return \-1 when \fI/dev/null\fP exists but is
 not a character device with the expected major and minor numbers.  In this
index c2dc75c..249d3f9 100644 (file)
@@ -78,7 +78,7 @@ Code Book) モードで暗号化する。 このモードでは (個々の) デ
 結果の状態 \fIstat\fP を与えたとき、マクロ \fBDES_FAILED(\fP\fIstat\fP\fB)\fP が false になるのは、最初の 2
 つだけである。
 .SH バージョン
-These functions were added to glibc in version 2.1.
+これらの関数は glibc のバージョン 2.1 で追加された。
 .PP
 Because they employ the DES block cipher, which is no longer considered
 secure, \fBecb_crypt\fP(), \fBecb_crypt\fP(), \fBcrypt_r\fP(), and \fBdes_setparity\fP()
index a5730f5..aae9f1d 100644 (file)
@@ -51,12 +51,12 @@ encrypt, setkey, encrypt_r, setkey_r \- 64 ビットのメッセージを暗号
 .PP
 \fBvoid encrypt(char \fP\fIblock\fP\fB[64], int \fP\fIedflag\fP\fB);\fP
 
-\fB#define _XOPEN_SOURCE\fP       /* See feature_test_macros(7) */
+\fB#define _XOPEN_SOURCE\fP       /* feature_test_macros(7) 参照 */
 \fB#include <stdlib.h>\fP
 .PP
 \fBvoid setkey(const char *\fP\fIkey\fP\fB);\fP
 
-\fB#define _GNU_SOURCE\fP         /* See feature_test_macros(7) */
+ \fB#define _GNU_SOURCE\fP         /* feature_test_macros(7) 参照 */
 \fB#include <crypt.h>\fP
 .PP
 \fBvoid setkey_r(const char *\fP\fIkey\fP\fB, struct crypt_data *\fP\fIdata\fP\fB);\fP
@@ -125,10 +125,10 @@ T}        Thread safety   MT\-Safe
 .SH 準拠
 \fBencrypt\fP(), \fBsetkey\fP(): POSIX.1\-2001, POSIX.1\-2008, SUS, SVr4.
 .PP
-The functions \fBencrypt_r\fP()  and \fBsetkey_r\fP()  are GNU extensions.
+関数 \fBencrypt_r\fP() と \fBsetkey_r\fP() は GNU による拡張である。
 .SH 注意
 .SS "Availability in glibc"
-See \fBcrypt\fP(3).
+\fBcrypt\fP(3) を参照。
 .SS "Features in glibc"
 glibc 2.2 では、これらの関数は DES アルゴリズムを使う。
 .SH 例
@@ -139,7 +139,7 @@ glibc 2.2 では、これらの関数は DES アルゴリズムを使う。
 #include <unistd.h>
 #include <crypt.h>
 
-int
+ int
 main(void)
 {
     char key[64];
diff --git a/manual/LDP_man-pages/draft/man3/exec.3 b/manual/LDP_man-pages/draft/man3/exec.3
new file mode 100644 (file)
index 0000000..eb4c854
--- /dev/null
@@ -0,0 +1,205 @@
+.\" Copyright (c) 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
+.\"
+.\"     @(#)exec.3     6.4 (Berkeley) 4/19/91
+.\"
+.\" Converted for Linux, Mon Nov 29 11:12:48 1993, faith@cs.unc.edu
+.\" Updated more for Linux, Tue Jul 15 11:54:18 1997, pacman@cqc.com
+.\" Modified, 24 Jun 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added note on casting NULL
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1998 Masato Taruishi
+.\"         all rights reserved.
+.\" Translated 1998-05-27, Masato Taruishi
+.\" Modified 1998-08-08, Fujiwara Teruyoshi <fujiwara@linux.or.jp>
+.\" Modified 2000-10-06, Kentaro Shirakata <argrath@ub32.org>
+.\" Modified 2005-02-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2010-10-27, Akihiro Motoki <amotoki@dd.iij4u.or.jp>, LDP v3.29
+.\"
+.TH EXEC 3 2019\-08\-02 GNU "Linux Programmer's Manual"
+.SH 名前
+execl, execlp, execle, execv, execvp, execvpe \- ファイルを実行する
+.SH 書式
+.nf
+\fB#include <unistd.h>\fP
+.PP
+\fBextern char **environ;\fP
+.PP
+\fBint execl(const char *\fP\fIpathname\fP\fB, const char *\fP\fIarg\fP\fB, ...\fP
+\fB/* (char  *) NULL */);\fP
+\fBint execlp(const char *\fP\fIfile\fP\fB, const char *\fP\fIarg\fP\fB, ...\fP
+\fB/* (char  *) NULL */);\fP
+\fBint execle(const char *\fP\fIpathname\fP\fB, const char *\fP\fIarg\fP\fB, ...\fP
+\fB                /*, (char *) NULL, char *const \fP\fIenvp\fP\fB[] */);\fP
+\fBint execv(const char *\fP\fIpathname\fP\fB, char *const \fP\fIargv\fP\fB[]);\fP
+\fBint execvp(const char *\fP\fIfile\fP\fB, char *const \fP\fIargv\fP\fB[]);\fP
+\fBint execvpe(const char *\fP\fIfile\fP\fB, char *const \fP\fIargv\fP\fB[],\fP
+\fB                char *const \fP\fIenvp\fP\fB[]);\fP
+.fi
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+\fBexecvpe\fP(): _GNU_SOURCE
+.SH 説明
+The \fBexec\fP()  family of functions replaces the current process image with a
+new process image.  The functions described in this manual page are layered
+on top of \fBexecve\fP(2).  (See the manual page for \fBexecve\fP(2)  for further
+details about the replacement of the current process image.)
+.PP
+これらの関数の最初の引き数は、実行されるファイルの名前である。
+.PP
+.\"
+The functions can be grouped based on the letters following the "exec"
+prefix.
+.SS "l \- execl(), execlp(), execle()"
+\fIconst char\ *arg\fP とそれに続く省略部分は \fIarg0\fP, \fIarg1\fP, \&..., \fIargn\fP とみなされる。
+これらには、実行されるプログラムで利用可能な引き数のリストを指定する (引き数のリストは ヌルで終端された文字列へのポインターから構成される)。
+慣習として、最初の引き数は、実行されるファイル名 へのポインターにする。引き数のリストは必ず NULL
+で終わらなければならず、これらの関数は可変長引き数関数なので、 このポインターは \fI(char\ *) NULL\fP とキャストしなければならない。
+.PP
+.\"
+By contrast with the 'l' functions, the 'v' functions (below) specify the
+command\-line arguments of the executed program as a vector.
+.SS " v \- execv(), execvp(), execvpe()"
+The \fIchar\ *const argv[]\fP argument is an array of pointers to
+null\-terminated strings that represent the argument list available to the
+new program.  The first argument, by convention, should point to the
+filename associated with the file being executed.  The array of pointers
+\fImust\fP be terminated by a null pointer.
+.SS " e \- execle(), execvpe()"
+The environment of the caller is specified via the argument \fIenvp\fP.  The
+\fIenvp\fP argument is an array of pointers to null\-terminated strings and
+\fImust\fP be terminated by a null pointer.
+.PP
+All other \fBexec\fP()  functions (which do not include 'e' in the suffix)
+take the environment for the new process image from the external variable
+\fIenviron\fP in the calling process.
+.SS "p \- execlp(), execvp(), execvpe()"
+These functions duplicate the actions of the shell in searching for an
+executable file if the specified filename does not contain a slash (/)
+character.  The file is sought in the colon\-separated list of directory
+pathnames specified in the \fBPATH\fP environment variable.  If this variable
+isn't defined, the path list defaults to a list that includes the
+directories returned by \fIconfstr(_CS_PATH)\fP (which typically returns the
+value "/bin:/usr/bin")  and possibly also the current working directory; see
+NOTES for further details.
+.PP
+指定されたファイル名がスラッシュを含む場合、 \fBPATH\fP は無視され、指定されたパス名のファイルが実行される。
+.PP
+さらに、いくつかのエラーは特別に処理される。
+.PP
+ファイルが実行ファイルでない場合 (このとき呼び出そうとした \fBexecve\fP(2)  はエラー \fBEACCES\fP
+で失敗する)、これらの関数は残りの検索パスの検索を続ける。 他にファイルが見つからなくなった場合 \fIerrno\fP に \fBEACCES\fP
+を設定し復帰する。
+.PP
+ファイルのヘッダーが実行形式として認識できない場合 (このとき呼び出そうとした \fBexecve\fP(2)  はエラー \fBENOEXEC\fP
+で失敗する)、これらの関数はそのファイルを最初の引き数としたシェル (\fI/bin/sh\fP)  を実行する
+(これにも失敗した場合、これ以上の検索は行われない)。
+.PP
+All other \fBexec\fP()  functions (which do not include 'p' in the suffix)
+take as their first argument a (relative or absolute) pathname that
+identifies the program to be executed.
+.SH 返り値
+\fBexec\fP()  群の関数が復帰するのは、エラーが発生した場合のみである。 返り値は \-1 で、 \fIerrno\fP にエラーの内容がセットされる。
+.SH エラー
+これら全ての関数は失敗する場合がある。その場合、 \fBexecve\fP(2)  に対して規定されたエラーが \fIerrno\fP に設定される。
+.SH バージョン
+\fBexecvpe\fP()  関数は glibc 2.11 で初めて登場した。
+.SH 属性
+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
+.TS
+allbox;
+lbw29 lb lb
+l l l.
+インターフェース       属性  値
+T{
+\fBexecl\fP(),
+\fBexecle\fP(),
+\fBexecv\fP()
+T}     Thread safety   MT\-Safe
+T{
+\fBexeclp\fP(),
+\fBexecvp\fP(),
+\fBexecvpe\fP()
+T}     Thread safety   MT\-Safe env
+.TE
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008.
+.PP
+\fBexecvpe\fP()  関数は GNU による拡張である。
+.SH 注意
+.\" glibc commit 1eb8930608705702d5746e5491bab4e4429fcb83
+The default search path (used when the environment does not contain the
+variable \fBPATH\fP)  shows some variation across systems.  It generally
+includes \fI/bin\fP and \fI/usr/bin\fP (in that order) and may also include the
+current working directory.  On some other systems, the current working is
+included after \fI/bin\fP and \fI/usr/bin\fP, as an anti\-Trojan\-horse measure.
+The glibc implementation long followed the traditional default where the
+current working directory is included at the start of the search path.
+However, some code refactoring during the development of glibc 2.24 caused
+the current working directory to be dropped altogether from the default
+search path.  This accidental behavior change is considered mildly
+beneficial, and won't be reverted.
+.PP
+ファイルを実行しようとしている間にエラーが発生した時の \fBexeclp\fP()  と \fBexecvp\fP()
+のふるまいについて歴史的な慣習はあるが、伝統的に文書として記載されておらず、 POSIX 標準でも規定されていない。BSD (またおそらく他のシステム)
+では、 \fBETXTBSY\fP が発生した場合、自動的に中断 (sleep) し再試行を行う。 Linux
+はそれをハードエラーとして取り扱い即座に復帰する。
+.PP
+伝統的に、関数 \fBexeclp\fP()  と \fBexecvp\fP()  は、上で説明したエラーと、これら 2 つの関数自身が返す \fBENOMEM\fP と
+\fBE2BIG\fP 以外の全てのエラーを無視していたが、 今では、上で説明した以外のエラーが発生した場合でも、 返ってくるよう変更された。
+.SH バグ
+.\" https://sourceware.org/bugzilla/show_bug.cgi?id=19534
+.\"
+Before glibc 2.24, \fBexecl\fP()  and \fBexecle\fP()  employed \fBrealloc\fP(3)
+internally and were consequently not async\-signal\-safe, in violation of the
+requirements of POSIX.1.  This was fixed in glibc 2.24.
+.SS アーキテクチャー固有の詳細
+On sparc and sparc64, \fBexecv\fP()  is provided as a system call by the kernel
+(with the prototype shown above)  for compatibility with SunOS.  This
+function is \fInot\fP employed by the \fBexecv\fP()  wrapper function on those
+architectures.
+.SH 関連項目
+ \fBsh\fP(1), \fBexecve\fP(2), \fBexecveat\fP(2), \fBfork\fP(2), \fBptrace\fP(2),
+\fBfexecve\fP(3), \fBsystem\fP(3), \fBenviron\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index fa32e1e..851d557 100644 (file)
@@ -32,7 +32,7 @@
 .\" Translated 2006-07-31, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2009-02-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.18
 .\"
-.TH FEXECVE 3 2019\-10\-10 Linux "Linux Programmer's Manual"
+.TH FEXECVE 3 " 2019\-10\-10" Linux "Linux Programmer's Manual"
 .SH 名前
 fexecve \- ファイルディスクリプターで指定されたプログラムを実行する
 .SH 書式
@@ -91,7 +91,7 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBfexecve\fP()
+ \fBfexecve\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .sp 1
diff --git a/manual/LDP_man-pages/draft/man3/fpathconf.3 b/manual/LDP_man-pages/draft/man3/fpathconf.3
new file mode 100644 (file)
index 0000000..706aab3
--- /dev/null
@@ -0,0 +1,187 @@
+.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+.\" and Copyright (C) 2017 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
+.\"
+.\" Modified Wed Jul 28 11:12:26 1993 by Rik Faith (faith@cs.unc.edu)
+.\"
+.\" FIXME Probably all of the following should be documented:
+.\"     _PC_SYNC_IO,
+.\"     _PC_ASYNC_IO,
+.\"     _PC_PRIO_IO,
+.\"     _PC_SOCK_MAXBUF,
+.\"     _PC_FILESIZEBITS,
+.\"     _PC_REC_INCR_XFER_SIZE,
+.\"     _PC_REC_MAX_XFER_SIZE,
+.\"     _PC_REC_MIN_XFER_SIZE,
+.\"     _PC_REC_XFER_ALIGN,
+.\"     _PC_ALLOC_SIZE_MIN,
+.\"     _PC_SYMLINK_MAX,
+.\"     _PC_2_SYMLINKS
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
+.\" Translated Fri Mar 20 1998 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\"
+.TH FPATHCONF 3 " 2017\-07\-13" GNU "Linux Programmer's Manual"
+.SH 名前
+fpathconf, pathconf \- ファイルの設定値を取得する
+.SH 書式
+.nf
+\fB#include <unistd.h>\fP
+.PP
+ \fBlong fpathconf(int \fP\fIfd\fP\fB, int \fP\fIname\fP\fB);\fP
+\fBlong pathconf(const char *\fP\fIpath\fP\fB, int \fP\fIname\fP\fB);\fP
+.fi
+.SH 説明
+\fBfpathconf\fP()  はオープンされているファイルディスクリプター \fIfd\fP に対して設定されているオプション \fIname\fP
+の値を取得する。
+.PP
+\fBpathconf\fP()  はファイル名 \fIpath\fP に対して設定されているオプション \fIname\fP の値を取得する。
+.PP
+対応するマクロのうち \fI<unistd.h>\fP で定義されているものは最小値である。アプリケーションによってはこれらの
+値を変更してより有利な動作を行おうとするものがある。この場合でも \fBfpathconf\fP()  または \fBpathconf\fP()
+は呼び出すことができる。この場合はより大きな値が返ることになろう。
+.PP
+\fIname\fP を以下の定数のどれかにすると、対応する設定オプションが返される。
+.TP 
+\fB_PC_LINK_MAX\fP
+ファイルへのリンクの最大数。 \fIfd\fP または \fIpath\fP がディレクトリの場合は、この値はディレクトリ全体に適用される。対応する マクロは
+\fB_POSIX_LINK_MAX\fP である。
+.TP 
+\fB_PC_MAX_CANON\fP
+フォーマット付き入力行の最大長。このとき \fIfd\fP または \fIpath\fP は端末を参照していなければならない。 対応するマクロは
+\fB_POSIX_MAX_CANON\fP である。
+.TP 
+\fB_PC_MAX_INPUT\fP
+入力行の最大長。このとき \fIfd\fP または \fIpath\fP は端末を参照していなければならない。 対応するマクロは
+\fB_POSIX_MAX_INPUT\fP である。
+.TP 
+\fB_PC_NAME_MAX\fP
+ディレクトリ \fIpath\fP または \fIfd\fP 内に、そのプロセスが作成することができるファイル名の最大長。 対応するマクロは
+\fB_POSIX_NAME_MAX\fP である。
+.TP 
+\fB_PC_PATH_MAX\fP
+\fIpath\fP または \fIfd\fP がカレントディレクトリの場合、相対パス名の最大長。 対応するマクロは \fB_POSIX_PATH_MAX\fP である。
+.TP 
+\fB_PC_PIPE_BUF\fP
+The maximum number of bytes that can be written atomically to a pipe of
+FIFO.  For \fBfpathconf\fP(), \fIfd\fP should refer to a pipe or FIFO.  For
+\fBfpathconf\fP(), \fIpath\fP should refer to a FIFO or a directory; in the latter
+case, the returned value corresponds to FIFOs created in that directory.
+The corresponding macro is \fB_POSIX_PIPE_BUF\fP.
+.TP 
+\fB_PC_CHOWN_RESTRICTED\fP
+This returns a positive value if the use of \fBchown\fP(2)  and \fBfchown\fP(2)
+for changing a file's user ID is restricted to a process with appropriate
+privileges, and changing a file's group ID to a value other than the
+process's effective group ID or one of its supplementary group IDs is
+restricted to a process with appropriate privileges.  According to POSIX.1,
+this variable shall always be defined with a value other than \-1.  The
+corresponding macro is \fB_POSIX_CHOWN_RESTRICTED\fP.
+.IP
+If \fIfd\fP or \fIpath\fP refers to a directory, then the return value applies to
+all files in that directory.
+.TP 
+\fB_PC_NO_TRUNC\fP
+アクセス中のファイル名が \fB_POSIX_NAME_MAX\fP よりも長く、エラーとなる場合には 0 以外の値を返す。 対応するマクロは
+\fB_POSIX_NAME_MAX\fP である。
+.TP 
+\fB_PC_VDISABLE\fP
+特殊文字 (special character) の処理が許されていない場合は 0 以外の値を 返す。このとき \fIfd\fP または \fIpath\fP
+は端末を参照していなければならない。
+.SH 返り値
+The return value of these functions is one of the following:
+.IP * 3
+On error, \-1 is returned and \fIerrno\fP is set to indicate the cause of the
+error (for example, \fBEINVAL\fP, indicating that \fIname\fP is invalid).
+.IP *
+If \fIname\fP corresponds to a maximum or minimum limit, and that limit is
+indeterminate, \-1 is returned and \fIerrno\fP is not changed.  (To distinguish
+an indeterminate limit from an error, set \fIerrno\fP to zero before the call,
+and then check whether \fIerrno\fP is nonzero when \-1 is returned.)
+.IP *
+If \fIname\fP corresponds to an option, a positive value is returned if the
+option is supported, and \-1 is returned if the option is not supported.
+.IP *
+Otherwise, the current value of the option or limit is returned.  This value
+will not be more restrictive than the corresponding value that was described
+to the application in \fI<unistd.h>\fP or \fI<limits.h>\fP when
+the application was compiled.
+.SH エラー
+.TP 
+\fBEACCES\fP
+(\fBpathconf\fP())  Search permission is denied for one of the directories in
+the path prefix of \fIpath\fP.
+.TP 
+\fBEBADF\fP
+(\fBfpathconf\fP()) \fIfd\fP が適切なファイルディスクリプターでない。
+.TP 
+\fBEINVAL\fP
+\fIname\fP が無効である。
+.TP 
+\fBEINVAL\fP
+The implementation does not support an association of \fIname\fP with the
+specified file.
+.TP 
+\fBELOOP\fP
+(\fBpathconf\fP()) \fIpath\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。
+.TP 
+\fBENAMETOOLONG\fP
+(\fBpathconf\fP()) \fIpath\fP が長過ぎる。
+.TP 
+\fBENOENT\fP
+(\fBpathconf\fP())  A component of \fIpath\fP does not exist, or \fIpath\fP is an
+empty string.
+.TP 
+\fBENOTDIR\fP
+(\fBpathconf\fP()) \fIpath\fP のディレクトリ部分が実際にはディレクトリでない。
+.SH 属性
+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
+.TS
+allbox;
+lbw23 lb lb
+l l l.
+インターフェース       属性  値
+T{
+ \fBfpathconf\fP(),
+\fBpathconf\fP()
+T}     Thread safety   MT\-Safe
+.TE
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008.
+.SH 注意
+\fIname\fP に \fB_PC_NAME_MAX\fP を入れて返された値よりも長いファイル名を持つファイルが、与えられたディ
+レクトリに存在するかもしれない。
+.PP
+いくつかの返り値はとても大きくなることがある。これらを使って メモリーの割り当てを行うのは適当ではない。
+.SH 関連項目
+\fBgetconf\fP(1), \fBopen\fP(2), \fBstatfs\fP(2), \fBconfstr\fP(3), \fBsysconf\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index f3ea836..12f02f7 100644 (file)
@@ -60,9 +60,9 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBget_nprocs\fP(),
+ \fBget_nprocs\fP(),
 .br
-\fBget_nprocs_conf\fP()
+ \fBget_nprocs_conf\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .sp 1
@@ -79,7 +79,7 @@ T}    Thread safety   MT\-Safe
 .PP
 .in +4n
 .EX
-np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */
+ np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */
 np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */
 .EE
 .in
@@ -88,11 +88,11 @@ np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */
 どのように利用できるかを示すものである。
 .PP
 .EX
-#include <stdlib.h>
+ #include <stdlib.h>
 #include <stdio.h>
 #include <sys/sysinfo.h>
 
-int
+ int
 main(int argc, char *argv[])
 {
     printf("This system has %d processors configured and "
@@ -102,7 +102,7 @@ main(int argc, char *argv[])
 }
 .EE
 .SH 関連項目
-\fBnproc\fP(1)
+ \fBnproc\fP(1)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index efef158..6382f8d 100644 (file)
@@ -80,13 +80,13 @@ _GNU_SOURCE
 glibc 2.12 以降:
 .nf
 (_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L)
-    || /* Glibc since 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* Glibc 2.19 以前: */ _BSD_SOURCE
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
@@ -115,9 +115,8 @@ POSIX.1\-2001 標準の拡張として、 glibc では \fIbuf\fP が NULL の場
 また、ファイルシステムに依存する場合もある。 \fBpathconf\fP(3)  を参照。)  移植性とセキュリティ上の理由から、 \fBgetwd\fP()
 の利用は推奨されない。
 .SH 返り値
-On success, these functions return a pointer to a string containing the
-pathname of the current working directory.  In the case of \fBgetcwd\fP()  and
-\fBgetwd\fP()  this is the same value as \fIbuf\fP.
+成功すると、これらの関数はカレントワーキングディレクトリの絶対パス名 が入った文字列へのポインターを返す。 \fBgetcwd\fP()  と
+\fBgetwd\fP()  の場合、返り値は \fIbuf\fP と同じ値になる。
 .PP
 失敗した場合、これらの関数は NULL を返し、 \fIerrno\fP にエラーを示す値を設定する。 \fIbuf\fP が指す配列の内容は未定義である。
 .SH エラー
@@ -154,11 +153,11 @@ lbw22 lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBgetcwd\fP(),
+ \fBgetcwd\fP(),
 \fBgetwd\fP()
 T}     Thread safety   MT\-Safe
 T{
-\fBget_current_dir_name\fP()
+ \fBget_current_dir_name\fP()
 T}     Thread safety   MT\-Safe env
 .TE
 .SH 準拠
@@ -214,7 +213,7 @@ contract requires an absolute pathname.  With glibc 2.27 onwards this is
 corrected; calling \fBgetcwd\fP()  from such a pathname will now result in
 failure with \fBENOENT\fP.
 .SH 関連項目
-\fBpwd\fP(1), \fBchdir\fP(2), \fBfchdir\fP(2), \fBopen\fP(2), \fBunlink\fP(2), \fBfree\fP(3),
+ \fBpwd\fP(1), \fBchdir\fP(2), \fBfchdir\fP(2), \fBopen\fP(2), \fBunlink\fP(2), \fBfree\fP(3),
 \fBmalloc\fP(3)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
index 78ccbb0..3c5a746 100644 (file)
@@ -36,7 +36,7 @@
 .\"
 .TH GETDTABLESIZE 3 2020\-06\-09 Linux "Linux Programmer's Manual"
 .SH 名前
-getdtablesize \- get file descriptor table size
+getdtablesize \- ファイルディスクリプターテーブルのサイズを取得する
 .SH 書式
 \fB#include <unistd.h>\fP
 .PP
@@ -53,14 +53,14 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .TP  4
 glibc 2.12 以降:
 .nf
-/* Glibc since 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+/* Glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
     || ! (_POSIX_C_SOURCE\ >=\ 200112L)
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
@@ -80,19 +80,18 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBgetdtablesize\fP()
+ \fBgetdtablesize\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
-SVr4, 4.4BSD (the \fBgetdtablesize\fP()  function first appeared in 4.2BSD).
-It is not specified in POSIX.1; portable applications should employ
-\fIsysconf(_SC_OPEN_MAX)\fP instead of this call.
+SVr4, 4.4BSD (\fBgetdtablesize\fP()  関数は 4.2BSD で最初に現われた)。 これは POSIX.1
+で規定されていないので、 移植性のあるアプリケーションはこの呼び出しの代わりに \fIsysconf(_SC_OPEN_MAX)\fP を使うべきである。
 .SH 注意
 .\" The libc4 and libc5 versions return
 .\" .B OPEN_MAX
 .\" (set to 256 since Linux 0.98.4).
-The glibc version of \fBgetdtablesize\fP()  calls \fBgetrlimit\fP(2)  and returns
-the current \fBRLIMIT_NOFILE\fP limit, or \fBOPEN_MAX\fP when that fails.
+glibc 版の \fBgetdtablesize\fP() は、 \fBgetrlimit\fP(2) を呼び出して、現在の \fBRLIMIT_NOFILE\fP
+を返す。 呼び出しに失敗した場合は \fBOPEN_MAX\fP を返す。
 .SH 関連項目
 \fBclose\fP(2), \fBdup\fP(2), \fBgetrlimit\fP(2), \fBopen\fP(2)
 .SH この文書について
index e3f5ed7..1e9a190 100644 (file)
@@ -55,25 +55,24 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBgethostid\fP():
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .RE
 \fBsethostid\fP():
 .nf
 .\"             commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .ad b
 .SH 説明
-\fBgethostid\fP()  and \fBsethostid\fP()  respectively get or set a unique 32\-bit
-identifier for the current machine.  The 32\-bit identifier was intended to
-be unique among all UNIX systems in existence.  This normally resembles the
-Internet address for the local machine, as returned by \fBgethostbyname\fP(3),
-and thus usually never needs to be set.
+\fBgethostid\fP()  と \fBsethostid\fP()  は、それぞれ、現在使用しているホストに固有の 32 ビットの識別子の
+取得/設定を行う。 この 32 ビットの識別子は、現在存在している全ての UNIX システム の中で唯一になるようにすることを意図したものだった。通常は
+\fBgethostbyname\fP(3)  により返されるローカルマシンの Internet アドレスが代わりに使用され、
+普通は識別子をあえて設定する必要はない。
 .PP
 \fBsethostid\fP()  はスーパーユーザーしか使用できない。
 .SH 返り値
@@ -104,11 +103,11 @@ T}        Thread safety   MT\-Unsafe const:hostid
 .TE
 .sp 1
 .SH 準拠
-4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes
-\fBgethostid\fP()  but not \fBsethostid\fP().
+4.2BSD。4.4BSD ではこれらの関数はなくなった。 SVr4 には \fBgethostid\fP()  は含まれているが、
+\fBsethostid\fP()  は含まれていない。
 .PP
-POSIX.1\-2001 and POSIX.1\-2008 specify \fBgethostid\fP()  but not
-\fBsethostid\fP().
+POSIX.1\-2001 と POSIX.1\-2008 では、 \fBgethostid\fP() は規定されているが、 \fBsethostid\fP()
+は規定されていない。
 .SH 注意
 .\" libc5 used /etc/hostid; libc4 didn't have these functions
 glibc の実装では、 \fIhostid\fP はファイル \fI/etc/hostid\fP に保存される (バージョン 2.2 より前の glibc では、
index a0d3baa..4bbeaef 100644 (file)
@@ -38,7 +38,7 @@
 .\" Updated 2013-03-25, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-07-24, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH GETLOGIN 3 2019\-03\-06 GNU "Linux Programmer's Manual"
+.TH GETLOGIN 3 " 2019\-03\-06" GNU "Linux Programmer's Manual"
 .SH 名前
 getlogin, getlogin_r, cuserid \- ユーザー名を取得する
 .SH 書式
@@ -57,14 +57,14 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RE
 .PP
 .\" Deprecated: _REENTRANT ||
-\fBgetlogin_r\fP(): _POSIX_C_SOURCE\ >=\ 199506L
+ \fBgetlogin_r\fP(): _POSIX_C_SOURCE\ >=\ 199506L
 .PP
-\fBcuserid\fP():
+ \fBcuserid\fP():
 .nf
-    Since glibc 2.24:
+    glibc 2.24 以降:
         (_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
         || _GNU_SOURCE
-    Up to and including glibc 2.23:
+    glibc 2.23 以前:
         _XOPEN_SOURCE
 .fi
 .SH 説明
@@ -91,14 +91,14 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBgetlogin\fP()  は成功した場合はユーザー名へのポインターを返す。 失敗した場合は NULL を返し、 \fIerrno\fP
 にエラーの原因を示す値を設定する。 \fBgetlogin_r\fP()  は成功すると 0 を返し、失敗すると 0 以外を返す。
 .SH エラー
-POSIX specifies:
+POSIX では以下のエラーが規定されている:
 .TP 
 \fBEMFILE\fP
 The per\-process limit on the number of open file descriptors has been
 reached.
 .TP 
 \fBENFILE\fP
-The system\-wide limit on the total number of open files has been reached.
+オープンされたファイルの総数がシステム全体の上限に達していた。
 .TP 
 \fBENXIO\fP
 呼び出し元プロセスには制御端末がない。
@@ -106,7 +106,7 @@ The system\-wide limit on the total number of open files has been reached.
 \fBERANGE\fP
 (getlogin_r)  (終端のヌルバイト (\(aq\e0\(aq) も含めた) ユーザー名の長さが \fIbufsize\fP よりも長い。
 .PP
-Linux/glibc also has:
+Linux/glibc には以下のエラーもある。
 .TP 
 \fBENOENT\fP
 utmp ファイルに対応するエントリーがなかった。
@@ -177,7 +177,7 @@ glibc は POSIX 仕様には従っておらず、 \fI/dev/tty\fP ではなく \f
 は使うべきではない。 というかどんなプログラムでも使うべきではない: 代わりに \fIgetpwuid(geteuid())\fP を用いるべきである
 (これが意図していることならば、だが)。 \fBcuserid\fP()  は「使わない」こと。
 .SH 関連項目
-\fBlogname\fP(1), \fBgeteuid\fP(2), \fBgetuid\fP(2), \fButmp\fP(5)
+ \fBlogname\fP(1), \fBgeteuid\fP(2), \fBgetuid\fP(2), \fButmp\fP(5)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 298ef50..6824f40 100644 (file)
@@ -117,17 +117,12 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 とそれに続くセミコロンが入っていると、 \fB\-W foo\fP は長いオプション \fB\-\-foo\fP と同じように扱われる (POSIX.2 は \fB\-W\fP
 オプションを実装依存の拡張として予約している)。 この動作は GNU による拡張であり、glibc 2 以前のライブラリでは 利用できない。
 .PP
-By default, \fBgetopt\fP()  permutes the contents of \fIargv\fP as it scans, so
-that eventually all the nonoptions are at the end.  Two other scanning modes
-are also implemented.  If the first character of \fIoptstring\fP is \(aq+\(aq
-or the environment variable \fBPOSIXLY_CORRECT\fP is set, then option
-processing stops as soon as a nonoption argument is encountered.  If the
-first character of \fIoptstring\fP is \(aq\-\(aq, then each nonoption
-\fIargv\fP\-element is handled as if it were the argument of an option with
-character code 1.  (This is used by programs that were written to expect
-options and other \fIargv\fP\-elements in any order and that care about the
-ordering of the two.)  The special argument "\-\-" forces an end of
-option\-scanning regardless of the scanning mode.
+デフォルトでは \fBgetopt\fP()  は \fIargv\fP をスキャンする際に順序を変更し、 オプション以外の要素を最後に移動する。 他にも 2
+つのスキャンモードが実装されている。 \fIoptstring\fP の先頭文字が \(aq+\(aq であるか、環境変数
+\fBPOSIXLY_CORRECT\fP が設定されている場合には、オプションを対象とする動作は、 非オプションの引き数が現れた段階で終了する。
+\fIoptstring\fP の先頭文字が \(aq\-\(aq である場合には、 オプションでない \fIargv\fP 要素は、 文字コード 1
+のオプションであるかのように扱われる (これを用いるプログラムは、 オプションや \fIargv\fP 要素を任意の順序で受け入れ、かつそれらの順序が
+意味を持つように書かれている必要がある)。 "\-\-" は特殊な引き数で、スキャンのモードによらず、 オプションのスキャンを強制的に終了させる。
 .PP
 While processing the option list, \fBgetopt\fP()  can detect two kinds of
 errors: (1) an option character that was not specified in \fIoptstring\fP and
@@ -239,11 +234,10 @@ used in the prototype to be compatible with other systems.
 .IP
 \fIoptstring\fP で \(aq+\(aq や \(aq\-\(aq を使うのは GNU による拡張である.
 .IP
-On some older implementations, \fBgetopt\fP()  was declared in
-\fI<stdio.h>\fP.  SUSv1 permitted the declaration to appear in either
-\fI<unistd.h>\fP or \fI<stdio.h>\fP.  POSIX.1\-1996 marked the use
-of \fI<stdio.h>\fP for this purpose as LEGACY.  POSIX.1\-2001 does not
-require the declaration to appear in \fI<stdio.h>\fP.
+古い実装のいくつかでは、 \fBgetopt\fP()  は \fI<stdio.h>\fP で宣言されていた。 SUSv1 では、
+\fI<unistd.h>\fP か \fI<stdio.h>\fP のどちらかで 宣言してもよかった。 POSIX.1\-1996
+では、 \fBgetopt\fP の宣言を \fI<stdio.h>\fP で行うのは「過去の名残」であるとされた。 POSIX.1\-2001 では
+\fI<stdio.h>\fP で宣言を行うことを要求していない。
 .TP 
 \fBgetopt_long\fP(), \fBgetopt_long_only\fP():
 これらの関数は GNU による拡張である。
index 0971dd6..3c7a8d0 100644 (file)
@@ -68,7 +68,7 @@
 .\"O .SH "CONFORMING TO"
 .\"O .SH "SEE ALSO"
 .\"
-.TH GETUSERSHELL 3 2016\-03\-15 GNU "Linux Programmer's Manual"
+.TH GETUSERSHELL 3 " 2016\-03\-15" GNU "Linux Programmer's Manual"
 .SH 名前
 getusershell, setusershell, endusershell \- 許可されたユーザーシェルを得る
 .SH 書式
@@ -90,11 +90,11 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fBgetusershell\fP(), \fBsetusershell\fP(), \fBendusershell\fP():
 .nf
 .\"             commit 266865c0e7b79d4196e2cc393693463f03c90bd8
-    Since glibc 2.21:
+    glibc 2.21 以降:
         _DEFAULT_SOURCE
-    In glibc 2.19 and 2.20:
+    glibc 2.19 と 2.20:
         _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
-    Up to and including glibc 2.19:
+    glibc 2.19 以前:
         _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
 .fi
 .ad b
index b11c820..31d13ad 100644 (file)
@@ -38,7 +38,7 @@
 .\" Updated & Modified Mon Jul 15 02:10:29 JST 2002 by Yuichi SATO
 .\" Updated 2010-04-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
 .\"
-.TH LOCKF 3 2019\-03\-06 GNU "Linux Programmer's Manual"
+.TH LOCKF 3 " 2019\-03\-06" GNU "Linux Programmer's Manual"
 .SH 名前
 lockf \- オープンされたファイルに対する POSIX ロックの適用・テスト・解除を行う
 .SH 書式
@@ -55,8 +55,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 _XOPEN_SOURCE\ >=\ 500
-    || /* Glibc since 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
+    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
 .RE
 .ad
 .SH 説明
@@ -67,11 +67,10 @@ _XOPEN_SOURCE\ >=\ 500
 の場合、セクションは現在のファイル位置から無限大までとなる (つまり現在の、あるいは変更された場合は将来の、ファイル終端位置まで)。
 どの場合においても、セクションは以前のファイル終端よりも拡大されうる。
 .PP
-On Linux, \fBlockf\fP()  is just an interface on top of \fBfcntl\fP(2)  locking.
-Many other systems implement \fBlockf\fP()  in this way, but note that POSIX.1
-leaves the relationship between \fBlockf\fP()  and \fBfcntl\fP(2)  locks
-unspecified.  A portable application should probably avoid mixing calls to
-these interfaces.
+Linux では、 \fBlockf\fP()  は単に \fBfcntl\fP(2)  のロックへのインターフェースである。 多くの他のシステムで
+\fBlockf\fP()  はこのように実装されているが、 POSIX.1 では \fBlockf\fP()  と \fBfcntl\fP(2)
+のロックとの関係は規定されていない。 おそらく、移植性が必要なアプリケーションでは、 \fBlockf\fP()  と \fBfcntl\fP(2)
+のロックを混ぜて呼び出すのは避けるべきであろう。
 .PP
 有効なオプションを以下に挙げる。
 .TP 
@@ -122,11 +121,11 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBlockf\fP()
+ \fBlockf\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, SVr4.
+ POSIX.1\-2001, POSIX.1\-2008, SVr4.
 .SH 関連項目
 \fBfcntl\fP(2), \fBflock\fP(2)
 .PP
index 547c68a..0df17ed 100644 (file)
@@ -36,7 +36,7 @@
 .\"
 .TH SLEEP 3 2017\-09\-15 GNU "Linux Programmer's Manual"
 .SH 名前
-sleep \- sleep for a specified number of seconds
+sleep \- 指定の秒数の間だけ休止する
 .SH 書式
 .nf
 \fB#include <unistd.h>\fP
@@ -74,7 +74,7 @@ On some systems, \fBsleep\fP()  may be implemented using \fBalarm\fP(2)  and
 休止中にシグナルハンドラーから \fBlongjmp\fP(3)  を使用することや \fBSIGALRM\fP
 のハンドリングを変更することは、定義されていない結果を生む。
 .SH 関連項目
-\fBsleep\fP(1), \fBalarm\fP(2), \fBnanosleep\fP(2), \fBsignal\fP(2), \fBsignal\fP(7)
+ \fBsleep\fP(1), \fBalarm\fP(2), \fBnanosleep\fP(2), \fBsignal\fP(2), \fBsignal\fP(7)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index cd31e25..7511ddc 100644 (file)
@@ -40,7 +40,7 @@
 .\"    by HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
 .\" Updated Fri Dec 21 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
 .\"
-.TH SWAB 3 2015\-08\-08 "" "Linux Programmer's Manual"
+.TH SWAB 3 " 2015\-08\-08" "" "Linux Programmer's Manual"
 .SH 名前
 swab \- 隣接するバイトを交換する
 .SH 書式
@@ -66,11 +66,11 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBswab\fP()
+ \fBswab\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
+ POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
 .SH 関連項目
 \fBbstring\fP(3)
 .SH この文書について
index 94f9b48..1734d96 100644 (file)
@@ -36,7 +36,7 @@
 .\" Updated 2002-10-16, Kentaro Shirakata <argrath@ub32.org>
 .\" Updated 2005-03-15, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
-.TH SYSCONF 3 2019\-05\-09 GNU "Linux Programmer's Manual"
+.TH SYSCONF 3 " 2019\-05\-09" GNU "Linux Programmer's Manual"
 .SH 名前
 sysconf \- 動作中に設定情報を取得する
 .SH 書式
@@ -52,10 +52,9 @@ POSIX では、アプリケーションがコンパイル時や実行時に、 
 コンパイル時に行うには、 \fI<unistd.h>\fP と \fI<limits.h>\fP
 の両方もしくは一方をインクルードし、 特定のマクロの値を確認する。
 .PP
-At run time, one can ask for numerical values using the present function
-\fBsysconf\fP().  One can ask for numerical values that may depend on the
-filesystem in which a file resides using \fBfpathconf\fP(3)  and
-\fBpathconf\fP(3).  One can ask for string values using \fBconfstr\fP(3).
+実行時には、ここで説明する関数 \fBsysconf\fP()  を使って数値を問い合わせることができる。
+ファイルが存在するファイルシステムに依存する数値は、 \fBfpathconf\fP(3) と \fBpathconf\fP(3) を使って確認できる。
+文字列の値は \fBconfstr\fP(3) を使って確認できる。
 .PP
 .\" except that sysconf(_SC_OPEN_MAX) may change answer after a call
 .\" to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
@@ -122,9 +121,9 @@ clock ticks \- \fB_SC_CLK_TCK\fP
 一つのプロセスが同時にオープンできるファイル数の上限。 \fB_POSIX_OPEN_MAX\fP (20) 未満であってはならない。
 .TP 
 \fBPAGESIZE\fP \- \fB_SC_PAGESIZE\fP
-Size of a page in bytes.  Must not be less than 1.
+バイト単位でのページサイズ。 1 より小さくなってはならない。
 .TP 
-\fBPAGE_SIZE\fP \- \fB_SC_PAGE_SIZE\fP
+ \fBPAGE_SIZE\fP \- \fB_SC_PAGE_SIZE\fP
 A synonym for \fBPAGESIZE\fP/\fB_SC_PAGESIZE\fP.  (Both \fBPAGESIZE\fP and
 \fBPAGE_SIZE\fP are specified in POSIX.)
 .TP 
@@ -165,8 +164,7 @@ POSIX.1 標準が承認された年月。 \fBYYYYMML\fP という書式である
 \fBbc\fP(1)  で許容される文字列の最大長。
 .TP 
 \fBCOLL_WEIGHTS_MAX\fP \- \fB_SC_COLL_WEIGHTS_MAX\fP
-indicates the maximum numbers of weights that can be assigned to an entry of
-the \fBLC_COLLATE order\fP keyword in the locale definition file.
+ロケール定義ファイル中の \fBLC_COLLATE order\fP キーワードのエントリーに割り当て可能な重みの最大値。
 .TP 
 \fBEXPR_NEST_MAX\fP \- \fB_SC_EXPR_NEST_MAX\fP
 \fBexpr\fP(1)  において、括弧で入れ子にできる式の最大数。
@@ -190,8 +188,7 @@ POSIX.2 の FORTRAN 開発ユーティリティがサポートされているか
 POSIX.2 の FORTRAN ランタイムユーティリティがサポートされているかを示す。
 .TP 
 \fB_POSIX2_LOCALEDEF\fP \- \fB_SC_2_LOCALEDEF\fP
-indicates whether the POSIX.2 creation of locales via \fBlocaledef\fP(1)  is
-supported.
+\fBlocaledef\fP(1)  を使った、POSIX.2 のロケールの作成をサポートしているかを示す。
 .TP 
 \fBPOSIX2_SW_DEV\fP \- \fB_SC_2_SW_DEV\fP
 POSIX.2 ソフトウェア開発ユーティリティオプションがサポートされているかを示す。
@@ -205,11 +202,10 @@ POSIX.2 ソフトウェア開発ユーティリティオプションがサポー
 現在利用可能な物理メモリーのページ数。
 .TP 
  \- \fB_SC_NPROCESSORS_CONF\fP
-The number of processors configured.  See also \fBget_nprocs_conf\fP(3).
+設定されたプロセッサ数。 \fBget_nprocs_conf\fP(3) も参照。
 .TP 
  \- \fB_SC_NPROCESSORS_ONLN\fP
-The number of processors currently online (available).  See also
-\fBget_nprocs_conf\fP(3).
+現在オンラインの (利用可能な) プロセッサ数。 \fBget_nprocs_conf\fP(3) も参照。
 .SH 返り値
 The return value of \fBsysconf\fP()  is one of the following:
 .IP * 3
@@ -231,7 +227,7 @@ the application was compiled.
 .SH エラー
 .TP 
 \fBEINVAL\fP
-\fIname\fP is invalid.
+\fIname\fP が無効である。
 .SH 属性
 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
 .TS
@@ -240,7 +236,7 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBsysconf\fP()
+ \fBsysconf\fP()
 T}     Thread safety   MT\-Safe env
 .TE
 .SH 準拠
index c04bf66..6026309 100644 (file)
@@ -33,7 +33,7 @@
 .\" Translated Sat Jul 19 03:06:26 JST 2003
 .\"         by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\"
-.TH TCGETPGRP 3 2015\-08\-08 GNU "Linux Programmer's Manual"
+.TH TCGETPGRP 3 " 2015\-08\-08" GNU "Linux Programmer's Manual"
 .SH 名前
 tcgetpgrp, tcsetpgrp \- 端末のフォアグラウンドプロセスグループの 取得/設定を行う
 .SH 書式
index 2623c66..0304282 100644 (file)
@@ -56,13 +56,13 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 glibc 2.12 以降:
 .nf
 (_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L)
-    || /* Glibc since 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* Glibc 2.19 以前: */ _BSD_SOURCE
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
@@ -91,7 +91,7 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBualarm\fP()
+ \fBualarm\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
index 8a554d8..1a230cd 100644 (file)
@@ -67,13 +67,13 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 glibc 2.12 以降:
 .nf
 (_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L)
-    || /* Glibc since 2.19: */ _DEFAULT_SOURCE
-    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
+    || /* Glibc 2.19 以前: */ _BSD_SOURCE
 .fi
 .TP  4
 glibc 2.12 より前:
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 .PD
 .RE
 .ad b
@@ -88,8 +88,7 @@ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
 シグナルによって中断された。 \fBsignal\fP(7)  参照。
 .TP 
 \fBEINVAL\fP
-\fIusec\fP is greater than or equal to 1000000.  (On systems where that is
-considered an error.)
+\fIusec\fP が 1000000 以上だった。 (これをエラーとみなすシステムのみ)
 .SH 属性
 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
 .TS
@@ -98,7 +97,7 @@ lb lb lb
 l l l.
 インターフェース       属性  値
 T{
-\fBusleep\fP()
+ \fBusleep\fP()
 T}     Thread safety   MT\-Safe
 .TE
 .SH 準拠
index 0965e3a..ee504fe 100644 (file)
@@ -59,7 +59,7 @@ shells \- ログインシェルとして有効なファイルのパス名
 .EE
 .in
 .SH 関連項目
-\fBchsh\fP(1), \fBgetusershell\fP(3), \fBpam_shells\fP(8)
+ \fBchsh\fP(1), \fBgetusershell\fP(3), \fBpam_shells\fP(8)
 .SH この文書について
 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
 \%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 1e7af5c..5ae737b 100644 (file)
@@ -48,7 +48,7 @@
 .\" Updated Sat Mar 23 JST 2002 by Kentaro Shirakata <argrath@ub32.org>
 .\" Updated 2010-04-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
 .\"
-.TH ENVIRON 7 2020\-08\-13 Linux "Linux Programmer's Manual"
+.TH ENVIRON 7 " 2020\-08\-13" Linux "Linux Programmer's Manual"
 .SH 名前
 environ \- ユーザー環境
 .SH 書式
@@ -123,9 +123,8 @@ to create an environment variable definition only in the scope of the
 process that executes \fIcommand\fP.  Multiple variable definitions, separated
 by white space, may precede \fIcommand\fP.
 .PP
-Arguments may also be placed in the environment at the point of an
-\fBexec\fP(3).  A C program can manipulate its environment using the functions
-\fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), and \fBunsetenv\fP(3).
+\fBexec\fP(3)  の引数としても環境を設定することができる。 C プログラムからは、 \fBgetenv\fP(3), \fBputenv\fP(3),
+\fBsetenv\fP(3), \fBunsetenv\fP(3)  などの関数を用いて環境を扱うことができる。
 .PP
 Note that the behavior of many programs and library routines is influenced
 by the presence or value of certain environment variables.  Examples include
@@ -134,12 +133,10 @@ the following:
 \fBLANG\fP, \fBLANGUAGE\fP, \fBNLSPATH\fP, \fBLOCPATH\fP, \fBLC_ALL\fP, \fBLC_MESSAGES\fP,
 などの変数は、ロケールの扱いに影響する。 \fBcatopen\fP(3), \fBgettext\fP(3), \fBlocale\fP(5) を参照。
 .IP *
-\fBTMPDIR\fP influences the path prefix of names created by \fBtempnam\fP(3)  and
-other routines, and the temporary directory used by \fBsort\fP(1)  and other
-programs.
+\fBTMPDIR\fP は、 \fBtempnam\fP(3) などのルーチンによって作成されるファイル名や \fBsort\fP(1)
+や他のプログラムが使用する一時ディレクトリに前置されるパスに影響する。
 .IP *
-\fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP, and other \fBLD_*\fP variables influence the
-behavior of the dynamic loader/linker.
+\fBLD_LIBRARY_PATH\fP, \fBLD_PRELOAD\fP などの \fBLD_*\fP 変数はダイナミックローダーリンカーの動作に影響する。
 .IP *
 \fBPOSIXLY_CORRECT\fP が指定されると、ある種のプログラムやライブラリルーチンは POSIX の規定に従うようになる。
 .IP *
index 040e4d7..00d2c2e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2021-03-12 14:01+0900\n"
-"PO-Revision-Date: 2021-03-26 14:03+0900\n"
+"PO-Revision-Date: 2021-04-09 17:10+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -621,7 +621,10 @@ msgid ""
 "description of the project, information about reporting bugs, and the latest "
 "version of this page, can be found at \\%https://www.kernel.org/doc/man-"
 "pages/."
-msgstr "この man ページは Linux I<man-pages> プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \\%https://www.kernel.org/doc/man-pages/ に書かれている。"
+msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 5.10 の一部であ"
+"る。プロジェクトの説明とバグ報告に関する情報は \\%https://www.kernel.org/doc/"
+"man-pages/ に書かれている。"
 
 #. type: TH
 #: build/C/man2/access.2:43
@@ -639,7 +642,9 @@ msgstr "2020-12-21"
 #. type: Plain text
 #: build/C/man2/access.2:46
 msgid "access, faccessat, faccessat2 - check user's permissions for a file"
-msgstr "access, faccessat, faccessat2 - ユーザーのファイルへのアクセス権をチェックする"
+msgstr ""
+"access, faccessat, faccessat2 - ユーザーのファイルへのアクセス権をチェックす"
+"る"
 
 #. type: Plain text
 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/chown.2:44
@@ -670,12 +675,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:58
-#, fuzzy, no-wrap
-#| msgid "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
+#, no-wrap
 msgid ""
 "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
 "                /* But see C library/kernel differences, below */\n"
-msgstr "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
+msgstr ""
+" B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
+"                /* But see C library/kernel differences, below */\n"
 
 #. type: Plain text
 #: build/C/man2/access.2:61
@@ -809,16 +815,12 @@ msgstr "faccessat()"
 
 #. type: Plain text
 #: build/C/man2/access.2:137
-#, fuzzy
-#| msgid ""
-#| "The B<faccessat>()  system call operates in exactly the same way as "
-#| "B<access>(), except for the differences described here."
 msgid ""
 "B<faccessat>()  operates in exactly the same way as B<access>(), except for "
 "the differences described here."
 msgstr ""
-"B<faccessat>() ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯ B<access>() ã\81¨å\85¨ã\81\8få\90\8cæ§\98ã\81«å\8b\95ä½\9cã\81\99ã\82\8bã\81\8cã\80\81以ä¸\8bã\81§èª¬"
-"明する点が異なる。"
+"B<faccessat>() ã\81¯ B<access>() ã\81¨å\85¨ã\81\8få\90\8cæ§\98ã\81«å\8b\95ä½\9cã\81\99ã\82\8bã\81\8cã\80\81以ä¸\8bã\81§èª¬æ\98\8eã\81\99ã\82\8bç\82¹ã\81\8cç\95°ã\81ª"
+"る。"
 
 #. type: Plain text
 #: build/C/man2/access.2:147
@@ -1257,10 +1259,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:301
-#, fuzzy
-#| msgid "The B<eaccess>()  function was added to glibc in version 2.4."
 msgid "B<faccessat2>()  was added to Linux in version 5.8."
-msgstr "B<eaccess>()  関数は glibc のバージョン 2.4 で追加された。"
+msgstr "B<faccessat2>() は Linux 5.8 で追加された。"
 
 #. type: Plain text
 #: build/C/man2/access.2:304
@@ -1298,11 +1298,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:329
-#, fuzzy
-#| msgid ""
-#| "B<access>()  always dereferences symbolic links.  If you need to check "
-#| "the permissions on a symbolic link, use B<faccessat>(2)  with the flag "
-#| "B<AT_SYMLINK_NOFOLLOW>."
 msgid ""
 "B<access>()  always dereferences symbolic links.  If you need to check the "
 "permissions on a symbolic link, use B<faccessat>()  with the flag "
@@ -1310,7 +1305,7 @@ msgid ""
 msgstr ""
 "B<access>() は常にシンボリックリンクの展開を行う。\n"
 "シンボリックリンクのアクセス許可を確認する必要がある場合は、\n"
-"B<AT_SYMLINK_NOFOLLOW> フラグ付きで B<faccessat>(2) を使うこと。"
+"B<AT_SYMLINK_NOFOLLOW> フラグ付きで B<faccessat>() を使うこと。"
 
 #. type: Plain text
 #: build/C/man2/access.2:335
@@ -1338,12 +1333,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:350
-#, fuzzy
-#| msgid ""
-#| "A file is accessible only if the permissions on each of the directories "
-#| "in the path prefix of I<pathname> grant search (i.e., execute) access.  "
-#| "If any directory is inaccessible, then the B<access>()  call will fail, "
-#| "regardless of the permissions on the file itself."
 msgid ""
 "A file is accessible only if the permissions on each of the directories in "
 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
@@ -1395,13 +1384,6 @@ msgstr "C ライブラリとカーネルの違い"
 
 #. type: Plain text
 #: build/C/man2/access.2:381
-#, fuzzy
-#| msgid ""
-#| "The raw B<faccessat>()  system call takes only the first three "
-#| "arguments.  The B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are "
-#| "actually implemented within the glibc wrapper function for "
-#| "B<faccessat>().  If either of these flags is specified, then the wrapper "
-#| "function employs B<fstatat>(2)  to determine access permissions."
 msgid ""
 "The raw B<faccessat>()  system call takes only the first three arguments.  "
 "The B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are actually implemented "
@@ -1412,7 +1394,8 @@ msgstr ""
 "生の B<faccessat>() システムコールは、最初の 3 つの引き数だけを取る。フラグ "
 "B<AT_EACCESS> と B<AT_SYMLINK_NOFOLLOW> は実際には B<faccessat>() の glibc の"
 "ラッパー関数内で実装されている。これらのフラグのいずれかが指定された場合、"
-"ラッパー関数は B<fstatat>(2) を使ってアクセス許可の判定を行う。"
+"ラッパー関数は B<fstatat>(2) を使ってアクセス許可の判定を行う。ただし「バグ」"
+"を参照のこと。"
 
 #. type: SS
 #: build/C/man2/access.2:381 build/C/man2/chmod.2:366 build/C/man2/chown.2:387
@@ -1483,11 +1466,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/access.2:450
-#, fuzzy
-#| msgid ""
-#| "In kernels before 2.6.20, these calls ignored the effect of the "
-#| "B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying "
-#| "filesystem.  Since kernel 2.6.20, the B<MS_NOEXEC> is honored"
 msgid ""
 "In kernels before 2.6.20, these calls ignored the effect of the B<MS_NOEXEC> "
 "flag if it was used to B<mount>(2)  the underlying filesystem.  Since kernel "
@@ -1517,10 +1495,9 @@ msgstr "ALARM"
 
 #. type: TH
 #: build/C/man2/alarm.2:30
-#, fuzzy, no-wrap
-#| msgid "2014-05-28"
+#, no-wrap
 msgid "2017-05-03"
-msgstr "2014-05-28"
+msgstr " 2017-05-03"
 
 #. type: Plain text
 #: build/C/man2/alarm.2:33
@@ -1567,10 +1544,8 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/alarm.2:61 build/C/man2/close.2:103 build/C/man2/fork.2:281
 #: build/C/man3/swab.3:86 build/C/man2/umask.2:117
-#, fuzzy
-#| msgid "POSIX.1-2001, POSIX.1-2008."
 msgid "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
-msgstr "POSIX.1-2001, POSIX.1-2008."
+msgstr " POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
 
 #. type: Plain text
 #: build/C/man2/alarm.2:67
@@ -1610,17 +1585,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/alarm.2:97
-#, fuzzy
-#| msgid ""
-#| "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
-#| "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
 msgid ""
 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
 "B<sigaction>(2), B<signal>(2), B<timer_create>(2), B<timerfd_create>(2), "
 "B<sleep>(3), B<time>(7)"
 msgstr ""
-"B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
-"B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
+" B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
+"B<sigaction>(2), B<signal>(2), B<timer_create>(2), B<timerfd_create>(2), "
+"B<sleep>(3), B<time>(7)"
 
 #. type: TH
 #: build/C/man2/brk.2:29
@@ -1631,10 +1603,9 @@ msgstr "BRK"
 #. type: TH
 #: build/C/man2/brk.2:29 build/C/man3/getusershell.3:30
 #: build/C/man2/vhangup.2:28
-#, fuzzy, no-wrap
-#| msgid "2014-03-20"
+#, no-wrap
 msgid "2016-03-15"
-msgstr "2014-03-20"
+msgstr " 2016-03-15"
 
 #. type: Plain text
 #: build/C/man2/brk.2:32
@@ -1673,28 +1644,29 @@ msgstr "B<brk>(), B<sbrk>():"
 #. type: TP
 #: build/C/man2/brk.2:49 build/C/man2/getpagesize.2:42
 #: build/C/man2/syscall.2:61
-#, fuzzy, no-wrap
-#| msgid "Since glibc 2.10:"
+#, no-wrap
 msgid "Since glibc 2.19:"
-msgstr "glibc 2.10 以降:"
+msgstr "glibc 2.19 以降:"
 
 #.     (_XOPEN_SOURCE\ >=\ 500 ||
 #.         _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
 #. type: Plain text
 #: build/C/man2/brk.2:57
-#, fuzzy, no-wrap
-#| msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+#, no-wrap
 msgid ""
 "_DEFAULT_SOURCE ||\n"
 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500) &&\n"
 "    ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
-msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr ""
+" _DEFAULT_SOURCE ||\n"
+"    (_XOPEN_SOURCE\\ E<gt>=\\ 500) &&\n"
+"    ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
 
 #. type: TP
 #: build/C/man2/brk.2:58 build/C/man2/getpagesize.2:47
 #, no-wrap
 msgid "From glibc 2.12 to 2.19:"
-msgstr ""
+msgstr "glibc 2.12 から 2.19 まで:"
 
 #.     (_XOPEN_SOURCE\ >=\ 500 ||
 #.         _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
@@ -1898,6 +1870,9 @@ msgid ""
 "    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
 "    || /* Glibc up to and including 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/chdir.2:64
@@ -2221,42 +2196,30 @@ msgstr "*"
 
 #. type: Plain text
 #: build/C/man2/chmod.2:106
-#, fuzzy
-#| msgid ""
-#| "B<chmod>()  changes the permissions of the file specified whose pathname "
-#| "is given in I<pathname>, which is dereferenced if it is a symbolic link."
 msgid ""
 "B<chmod>()  changes the mode of the file specified whose pathname is given "
 "in I<pathname>, which is dereferenced if it is a symbolic link."
 msgstr ""
-"B<chmod>()  は、 I<pathname> で指定されたパス名を持つファイルの許可を変更す"
+"B<chmod>()  は、 I<pathname> で指定されたパス名を持つファイルのモードを変更す"
 "る。 I<pathname> がシンボリックリンクの場合は、リンクの展開が行われる。"
 
 #. type: Plain text
 #: build/C/man2/chmod.2:110
-#, fuzzy
-#| msgid ""
-#| "B<fchmod>()  changes the permissions of the file referred to by the open "
-#| "file descriptor I<fd>."
 msgid ""
 "B<fchmod>()  changes the mode of the file referred to by the open file "
 "descriptor I<fd>."
 msgstr ""
 "B<fchmod>()  は、オープンされたファイルディスクリプター I<fd> により参照され"
-"るファイルの許可を変更する。"
+"るファイルのモードを変更する。"
 
 #. type: Plain text
 #: build/C/man2/chmod.2:115
-#, fuzzy
-#| msgid ""
-#| "The new file permissions are specified in I<mode>, which is a bit mask "
-#| "created by ORing together zero or more of the following:"
 msgid ""
 "The new file mode is specified in I<mode>, which is a bit mask created by "
 "ORing together zero or more of the following:"
 msgstr ""
-"新しいファイル許可は I<mode> で指定される。 I<mode> は、以下に示す値の 0 個以"
-"上の OR (論理和) をとって作成される ビットマスクである。"
+"新しいファイルモードは I<mode> で指定される。 I<mode> は、以下に示す値の 0 個"
+"以ä¸\8aã\81® OR (è«\96ç\90\86å\92\8c) ã\82\92ã\81¨ã\81£ã\81¦ä½\9cæ\88\90ã\81\95ã\82\8cã\82\8b ã\83\93ã\83\83ã\83\88ã\83\9eã\82¹ã\82¯ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: TP
 #: build/C/man2/chmod.2:115
@@ -2430,14 +2393,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/chmod.2:187
-#, fuzzy
-#| msgid ""
-#| "As a security measure, depending on the filesystem, the set-user-ID and "
-#| "set-group-ID execution bits may be turned off if a file is written.  (On "
-#| "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
-#| "capability.)  On some filesystems, only the superuser can set the sticky "
-#| "bit, which may have a special meaning.  For the sticky bit, and for set-"
-#| "user-ID and set-group-ID bits on directories, see B<stat>(2)."
 msgid ""
 "As a security measure, depending on the filesystem, the set-user-ID and set-"
 "group-ID execution bits may be turned off if a file is written.  (On Linux, "
@@ -2452,7 +2407,7 @@ msgstr ""
 "い場合に、これが起こる。)  ファイルシステムの中には、スーパーユーザーだけが "
 "特別の意味を持つスティッキービットを設定できるものがある。 スティッキービット"
 "とディレクトリに対する set-user-ID (set-group-ID) ビットについては、 "
-"B<stat>(2)  を見よ。"
+"B<inode>(7)  を見よ。"
 
 #. type: Plain text
 #: build/C/man2/chmod.2:195
@@ -2681,7 +2636,9 @@ msgstr ""
 msgid ""
 "B<chmod>(1), B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<inode>(7), "
 "B<path_resolution>(7), B<symlink>(7)"
-msgstr "B<chmod>(1), B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<inode>(7), B<path_resolution>(7), B<symlink>(7)"
+msgstr ""
+"B<chmod>(1), B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<inode>(7), "
+"B<path_resolution>(7), B<symlink>(7)"
 
 #. type: TH
 #: build/C/man2/chown.2:38
@@ -2730,6 +2687,9 @@ msgid ""
 "    || _XOPEN_SOURCE\\ E<gt>=\\ 500\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"/* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
+"    || _XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/chown.2:73
@@ -3005,16 +2965,6 @@ msgstr "新しいファイルの所有権"
 
 #. type: Plain text
 #: build/C/man2/chown.2:360
-#, fuzzy
-#| msgid ""
-#| "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
-#| "its owner is made the same as the filesystem user ID of the creating "
-#| "process.  The group of the file depends on a range of factors, including "
-#| "the type of filesystem, the options used to mount the filesystem, and "
-#| "whether or not the set-group-ID permission bit is enabled on the parent "
-#| "directory.  If the filesystem supports the I<-o\\ grpid> (or, "
-#| "synonymously I<-o\\ bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-"
-#| "o\\ sysvgroups>)  B<mount>(8)  options, then the rules are as follows:"
 msgid ""
 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
 "its owner is made the same as the filesystem user ID of the creating "
@@ -3029,17 +2979,19 @@ msgstr ""
 "の所有者は呼び出したプロセスのファイルシステムユーザー ID と 同じに設定され"
 "る。 そのファイルのグループはいくつかの要因により決定される。 その要因として"
 "は、 ファイルシステムの種類、そのファイルシステムのマウント時に 使用されたオ"
-"プション、親ディレクトリで set-group-ID 許可ビットが 有効になっているどうか、"
-"ã\81\8cã\81\82ã\82\8bã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81\8c B<mount>(8)  ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81® I<-o\\ grpid> (I<-o\\ "
-"bsdgroups> も同義語) と I<-o\\ nogrpid> (I<-o sysvgroups> も同義語) に対応し"
-"ている場合、ルールは以下の通りとなる。"
+"プション、親ディレクトリで set-group-ID モードビットが 有効になっているどう"
+"ã\81\8bã\80\81ã\81\8cã\81\82ã\82\8bã\80\82 ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81\8c B<mount>(8)  ã\82ªã\83\97ã\82·ã\83§ã\83³ã\81® B<-o\\ grpid> (B<-o"
+"\\ bsdgroups> も同義語) と B<-o\\ nogrpid> (B<-o sysvgroups> も同義語) に対応"
+"ã\81\97ã\81¦ã\81\84ã\82\8bå ´å\90\88ã\80\81ã\83«ã\83¼ã\83«ã\81¯ä»¥ä¸\8bã\81®é\80\9aã\82\8aã\81¨ã\81ªã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/chown.2:365
 msgid ""
 "If the filesystem is mounted with B<-o\\ grpid>, then the group of a new "
 "file is made the same as that of the parent directory."
-msgstr "ファイルシステムが B<-o\\ grpid> 付きでマウントされている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。"
+msgstr ""
+"ファイルシステムが B<-o\\ grpid> 付きでマウントされている場合、新しいファイル"
+"のグループは 親ディレクトリのグループと同じになる。"
 
 #. type: Plain text
 #: build/C/man2/chown.2:371
@@ -3047,7 +2999,10 @@ msgid ""
 "If the filesystem is mounted with B<-o\\ nogrpid> and the set-group-ID bit "
 "is disabled on the parent directory, then the group of a new file is made "
 "the same as the process's filesystem GID."
-msgstr "ファイルシステムが B<-o\\ nogrpid> 付きでマウントされており、親ディレクトリでは set-group-ID ビットが 無効になっている場合、新しいファイルのグループは プロセスのファイルシステム GID と同じになる。"
+msgstr ""
+"ファイルシステムが B<-o\\ nogrpid> 付きでマウントされており、親ディレクトリで"
+"は set-group-ID ビットが 無効になっている場合、新しいファイルのグループは プ"
+"ロセスのファイルシステム GID と同じになる。"
 
 #. type: Plain text
 #: build/C/man2/chown.2:377
@@ -3055,7 +3010,10 @@ msgid ""
 "If the filesystem is mounted with B<-o\\ nogrpid> and the set-group-ID bit "
 "is enabled on the parent directory, then the group of a new file is made the "
 "same as that of the parent directory."
-msgstr "ファイルシステムが B<-o\\ nogrpid> 付きでマウントされており、親ディレクトリでは set-group-ID ビットが 有効になっている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。"
+msgstr ""
+"ファイルシステムが B<-o\\ nogrpid> 付きでマウントされており、親ディレクトリで"
+"は set-group-ID ビットが 有効になっている場合、新しいファイルのグループは 親"
+"ディレクトリのグループと同じになる。"
 
 #. type: Plain text
 #: build/C/man2/chown.2:387
@@ -3063,7 +3021,11 @@ msgid ""
 "As at Linux 4.12, the B<-o\\ grpid> and B<-o\\ nogrpid> mount options are "
 "supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
 "these mount options follow the B<-o\\ nogrpid> rules."
-msgstr "Linux 4.12 の時点では、マウントオプション B<-o\\ grpid> と B<-o\\ nogrpid> に対応しているファイルシステムは ext2, ext3, ext4, XFS である。 これらのマウントオプションに対応していないファイルシステムでは、 B<-o\\ nogrpid> に関するルールが適用される。"
+msgstr ""
+"Linux 4.12 の時点では、マウントオプション B<-o\\ grpid> と B<-o\\ nogrpid> に"
+"対応しているファイルシステムは ext2, ext3, ext4, XFS である。 これらのマウン"
+"トオプションに対応していないファイルシステムでは、 B<-o\\ nogrpid> に関する"
+"ルールが適用される。"
 
 #. type: Plain text
 #: build/C/man2/chown.2:402
@@ -3273,7 +3235,9 @@ msgstr ""
 msgid ""
 "B<chgrp>(1), B<chown>(1), B<chmod>(2), B<flock>(2), B<path_resolution>(7), "
 "B<symlink>(7)"
-msgstr "B<chgrp>(1), B<chown>(1), B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
+msgstr ""
+"B<chgrp>(1), B<chown>(1), B<chmod>(2), B<flock>(2), B<path_resolution>(7), "
+"B<symlink>(7)"
 
 #. type: TH
 #: build/C/man2/chroot.2:33
@@ -3310,6 +3274,9 @@ msgid ""
 "    || /* Since glibc 2.20: */ _DEFAULT_SOURCE\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"_XOPEN_SOURCE && ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
+"    || /* glibc 2.20 以降: */ _DEFAULT_SOURCE\n"
+"    || /* Glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: TP
 #: build/C/man2/chroot.2:57
@@ -3332,16 +3299,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/chroot.2:73
-#, fuzzy
-#| msgid ""
-#| "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> "
-#| "capability) may call B<chroot>()."
 msgid ""
 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability "
 "in its user namespace) may call B<chroot>()."
 msgstr ""
-"特権プロセス (Linux では、 B<CAP_SYS_CHROOT> ケーパビリティを持つプロセス) の"
-"みが B<chroot>()  を呼び出すことができる。"
+"特権プロセス (Linux では、そのプロセスのユーザー名前空間で B<CAP_SYS_CHROOT> "
+"ã\82±ã\83¼ã\83\91ã\83\93ã\83ªã\83\86ã\82£ã\82\92æ\8c\81ã\81¤ã\83\97ã\83­ã\82»ã\82¹) ã\81®ã\81¿ã\81\8c B<chroot>()  ã\82\92å\91¼ã\81³å\87ºã\81\99ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/chroot.2:90
@@ -3448,7 +3411,9 @@ msgstr "FreeBSD にはより強力な B<jail>()  システムコールがある
 msgid ""
 "B<chroot>(1), B<chdir>(2), B<pivot_root>(2), B<path_resolution>(7), "
 "B<switch_root>(8)"
-msgstr "B<chroot>(1), B<chdir>(2), B<pivot_root>(2), B<path_resolution>(7), B<switch_root>(8)"
+msgstr ""
+"B<chroot>(1), B<chdir>(2), B<pivot_root>(2), B<path_resolution>(7), "
+"B<switch_root>(8)"
 
 #. type: TH
 #: build/C/man2/close.2:36
@@ -3483,12 +3448,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/close.2:65
-#, fuzzy
-#| msgid ""
-#| "If I<fd> is the last file descriptor referring to the underlying open "
-#| "file description (see B<open>(2)), the resources associated with the open "
-#| "file description are freed; if the descriptor was the last reference to a "
-#| "file which has been removed using B<unlink>(2), the file is deleted."
 msgid ""
 "If I<fd> is the last file descriptor referring to the underlying open file "
 "description (see B<open>(2)), the resources associated with the open file "
@@ -3497,9 +3456,9 @@ msgid ""
 msgstr ""
 "I<fd> が、対応するオープンファイル記述 (open file description)  (B<open>(2)  "
 "参照) を参照する最後のファイルディスクリプターだった場合、 オープンファイル記"
-"è¿°ã\81«é\96¢é\80£ã\81\99ã\82\8bã\83ªã\82½ã\83¼ã\82¹ã\81\8c解æ\94¾ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\9dã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\80\81 B<unlink> ã\82\92使ç\94¨"
-"して削除 (remove) されたファイルに対する最後の参照だった場合には、 そのファイ"
-"ルは削除 (delete) される。"
+"è¿°ã\81«é\96¢é\80£ã\81\99ã\82\8bã\83ªã\82½ã\83¼ã\82¹ã\81\8c解æ\94¾ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\80\81 "
+"B<unlink> を使用して削除 (remove) されたファイルに対する最後の参照だった場合"
+"ã\81«ã\81¯ã\80\81 ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯å\89\8aé\99¤ (delete) ã\81\95ã\82\8cã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/close.2:71
@@ -3587,10 +3546,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/close.2:119
-#, fuzzy, no-wrap
-#| msgid "Multithreading (see pthreads(7))"
+#, no-wrap
 msgid "Multithreaded processes and close()"
-msgstr "ã\83\9eã\83«ã\83\81ã\82¹ã\83¬ã\83\83ã\83\87ã\82£ã\83³ã\82° (pthreads(7) å\8f\82ç\85§)"
+msgstr "ã\83\9eã\83«ã\83\81ã\82¹ã\83¬ã\83\83ã\83\89ã\83\97ã\83­ã\82»ã\82¹ã\81¨ close()"
 
 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
 #.  From: Fredrik Noring <noring@nocrew.org>
@@ -3643,10 +3601,8 @@ msgstr "2."
 
 #. type: Plain text
 #: build/C/man2/close.2:146
-#, fuzzy
-#| msgid "close - close a file descriptor"
 msgid "Another thread closes the file descriptor."
-msgstr "close - ファイルディスクリプターをクローズする"
+msgstr ""
 
 #. type: Plain text
 #: build/C/man2/close.2:150
@@ -3857,10 +3813,6 @@ msgstr "B<_CS_GNU_LIBC_VERSION> (GNU C library 限定; glibc 2.3.2 以降)"
 
 #. type: Plain text
 #: build/C/man3/confstr.3:62
-#, fuzzy
-#| msgid ""
-#| "A string which identifies the GNU C library version on this system (e.g, "
-#| "\"glibc 2.3.4\")."
 msgid ""
 "A string which identifies the GNU C library version on this system (e.g., "
 "\"glibc 2.3.4\")."
@@ -3876,10 +3828,6 @@ msgstr "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library 限定; glibc 2.3.2 以降)
 
 #. type: Plain text
 #: build/C/man3/confstr.3:66
-#, fuzzy
-#| msgid ""
-#| "A string which identifies the POSIX implementation supplied by this C "
-#| "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
 msgid ""
 "A string which identifies the POSIX implementation supplied by this C "
 "library (e.g., \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
@@ -4120,7 +4068,9 @@ msgstr ""
 msgid ""
 "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3), B<pathconf>(3), "
 "B<sysconf>(3), B<system>(3)"
-msgstr "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3), B<pathconf>(3), B<sysconf>(3), B<system>(3)"
+msgstr ""
+"B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3), B<pathconf>(3), "
+"B<sysconf>(3), B<system>(3)"
 
 #. type: TH
 #: build/C/man3/crypt.3:36
@@ -4157,16 +4107,13 @@ msgstr "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/crypt.3:48 build/C/man3/encrypt.3:47
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
-#| "B<#include E<lt>unistd.hE<gt>>\n"
+#, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
 "B<#include E<lt>crypt.hE<gt>>\n"
 msgstr ""
-"B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
-"B<#include E<lt>unistd.hE<gt>>\n"
+" B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
+"B<#include E<lt>crypt.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man3/crypt.3:51
@@ -4227,8 +4174,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/crypt.3:82
-#, fuzzy
-#| msgid "Warning: The key space consists of"
 msgid "Warning: the key space consists of"
 msgstr "警告: 鍵空間は"
 
@@ -4371,14 +4316,12 @@ msgstr "B<crypt_r>()"
 
 #. type: Plain text
 #: build/C/man3/crypt.3:190
-#, fuzzy
-#| msgid ""
-#| "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
 msgid ""
 "B<crypt>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  B<crypt_r>()  is a "
 "GNU extension."
 msgstr ""
-"B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  は GNU 拡張である。"
+"B<crypt>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  B<crypt_r>()  は GNU "
+"拡張である。"
 
 #. type: SS
 #: build/C/man3/crypt.3:191 build/C/man3/encrypt.3:161
@@ -4409,13 +4352,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/crypt.3:219
-#, fuzzy
-#| msgid ""
-#| "The glibc2 version of this function supports additional encryption "
-#| "algorithms."
 msgid ""
 "The glibc version of this function supports additional encryption algorithms."
-msgstr "この関数の glibc2 版は追加の暗号化アルゴリズムに対応している。"
+msgstr "この関数の glibc 版は追加の暗号化アルゴリズムに対応している。"
 
 #. type: Plain text
 #: build/C/man3/crypt.3:225
@@ -4438,19 +4377,11 @@ msgstr "$I<id>$I<salt>$I<encrypted>"
 
 #. type: Plain text
 #: build/C/man3/crypt.3:236
-#, fuzzy
-#| msgid ""
-#| "then instead of using the DES machine, I<id> identifies the encryption "
-#| "method used and this then determines how the rest of the password string "
-#| "is interpreted.  The following values of I<id> are supported:"
 msgid ""
 "I<id> identifies the encryption method used instead of DES and this then "
 "determines how the rest of the password string is interpreted.  The "
 "following values of I<id> are supported:"
-msgstr ""
-"DES を使う代わりに、 I<id> で使用する暗号化手法を識別し、これがパスワード文字"
-"列の残りの部分を解釈する 方法を決定する。 I<id> の値として、以下の値に対応し"
-"ている:"
+msgstr "DES を使う代わりに、 I<id> で使用する暗号化手法を識別し、これがパスワード文字列の残りの部分を解釈する 方法を決定する。 I<id> の値として、以下の値に対応している:"
 
 #. type: tbl table
 #: build/C/man3/crypt.3:239
@@ -4622,6 +4553,12 @@ msgid ""
 "    Up to and including glibc 2.19:\n"
 "        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)\n"
 msgstr ""
+"    glibc 2.21 以降:\n"
+"        _DEFAULT_SOURCE\n"
+"    glibc 2.19 と 2.20:\n"
+"        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)\n"
+"    glibc 2.19 以前:\n"
+"        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)\n"
 
 #. type: Plain text
 #: build/C/man3/daemon.3:64
@@ -4634,19 +4571,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/daemon.3:72
-#, fuzzy
-#| msgid ""
-#| "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
-#| "working directory to the root directory (\"/\"); otherwise, the current "
-#| "working directory is left unchanged."
 msgid ""
 "If I<nochdir> is zero, B<daemon>()  changes the process's current working "
 "directory to the root directory (\"/\"); otherwise, the current working "
 "directory is left unchanged."
 msgstr ""
-"I<nochdir> が 0 の場合、 B<daemon>()  は呼び出したプロセスの現在の作業ディレ"
-"クトリ (current working directory)  をルートディレクトリ (\"/\") に変更す"
-"る。 それ以外の場合、現在の作業ディレクトリは変更されない。"
+"I<nochdir> が 0 の場合、 B<daemon>()  はプロセスの現在の作業ディレクトリ "
+"(current working directory)  をルートディレクトリ (\"/\") に変更する。 それ以"
+"外の場合、現在の作業ディレクトリは変更されない。"
 
 #. type: Plain text
 #: build/C/man3/daemon.3:81
@@ -4683,15 +4615,11 @@ msgstr "B<daemon>()"
 
 #. type: Plain text
 #: build/C/man3/daemon.3:117
-#, fuzzy
-#| msgid ""
-#| "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
-#| "B<daemon>()  function first appeared in 4.4BSD."
 msgid ""
 "Not in POSIX.1.  A similar function appears on the BSDs.  The B<daemon>()  "
 "function first appeared in 4.4BSD."
 msgstr ""
-"POSIX.1-2001 にはない。 同様の関数が BSD には見られる。 B<daemon>()  関数は "
+"POSIX.1 にはない。 同様の関数が BSD には見られる。 B<daemon>()  関数は "
 "4.4BSD で始めて登場した。"
 
 #. type: Plain text
@@ -4903,10 +4831,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/des_crypt.3:131
-#, fuzzy
-#| msgid "The B<eaccess>()  function was added to glibc in version 2.4."
 msgid "These functions were added to glibc in version 2.1."
-msgstr "B<eaccess>()  関数は glibc のバージョン 2.4 で追加された。"
+msgstr "これらの関数は glibc のバージョン 2.1 で追加された。"
 
 #. type: Plain text
 #: build/C/man3/des_crypt.3:142
@@ -4987,27 +4913,16 @@ msgstr "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:59
-#, fuzzy
-#| msgid ""
-#| "The B<dup>()  system call creates a copy of the file descriptor I<oldfd>, "
-#| "using the lowest-numbered unused descriptor for the new descriptor."
 msgid ""
 "The B<dup>()  system call creates a copy of the file descriptor I<oldfd>, "
 "using the lowest-numbered unused file descriptor for the new descriptor."
 msgstr ""
 "B<dup>() システムコールは、 ファイルディスクリプター I<oldfd> のコピーを作成"
-"ã\81\97ã\80\81 æ\9c\80ã\82\82å°\8fã\81\95ã\81\84ç\95ªå\8f·ã\81®æ\9cªä½¿ç\94¨ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92 æ\96°ã\81\97ã\81\84ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¨ã\81\97ã\81¦"
-"使用する。"
+"ã\81\97ã\80\81 æ\9c\80ã\82\82å°\8fã\81\95ã\81\84ç\95ªå\8f·ã\81®æ\9cªä½¿ç\94¨ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92 æ\96°ã\81\97ã\81\84ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97"
+"ターとして使用する。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:68
-#, fuzzy
-#| msgid ""
-#| "After a successful return, the old and new file descriptors may be used "
-#| "interchangeably.  They refer to the same open file description (see "
-#| "B<open>(2))  and thus share file offset and file status flags; for "
-#| "example, if the file offset is modified by using B<lseek>(2)  on one of "
-#| "the descriptors, the offset is also changed for the other."
 msgid ""
 "After a successful return, the old and new file descriptors may be used "
 "interchangeably.  They refer to the same open file description (see "
@@ -5018,25 +4933,20 @@ msgstr ""
 "成功が返された場合には、 古いファイルディスクリプターと新しいファイルディスク"
 "リプターは 互いに可換なものとして使うことができる。 2つのファイルディスクリプ"
 "ターは同じファイル記述 (description)  (B<open>(2)  参照) を参照しており、した"
-"ã\81\8cã\81£ã\81¦ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\84ã\83\95ã\82¡ã\82¤ã\83«ç\8a¶æ\85\8bã\83\95ã\83©ã\82°ã\81\8c å\85±æ\9c\89ã\81\95ã\82\8cã\82\8bã\80\82ä¾\8bã\81\88ã\81°ã\80\81ä¸\80æ\96¹ã\81®ã\83\87ã\82£"
-"ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ B<lseek>(2)  ã\82\92使ã\81£ã\81¦ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92å¤\89æ\9b´ã\81\97ã\81\9få ´å\90\88ã\80\81"
-"ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ディスクリプターの オフセットも変化する。"
+"ã\81\8cã\81£ã\81¦ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\84ã\83\95ã\82¡ã\82¤ã\83«ç\8a¶æ\85\8bã\83\95ã\83©ã\82°ã\81\8c å\85±æ\9c\89ã\81\95ã\82\8cã\82\8bã\80\82ä¾\8bã\81\88ã\81°ã\80\81ä¸\80æ\96¹ã\81®ã\83\95ã\82¡"
+"ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ B<lseek>(2)  ã\82\92使ã\81£ã\81¦ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\82\92å¤\89æ\9b´ã\81\97"
+"ã\81\9få ´å\90\88ã\80\81ã\82\82ã\81\86ä¸\80æ\96¹ã\81®ã\83\95ã\82¡ã\82¤ã\83«ディスクリプターの オフセットも変化する。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:77
-#, fuzzy
-#| msgid ""
-#| "The two descriptors do not share file descriptor flags (the close-on-exec "
-#| "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
-#| "duplicate descriptor is off."
 msgid ""
 "The two file descriptors do not share file descriptor flags (the close-on-"
 "exec flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for "
 "the duplicate descriptor is off."
 msgstr ""
-"2ã\81¤ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\95ã\83©ã\82° (close-on-exec flag)  "
-"を共有しない。複製されたディスクリプターの close-on-exec flag (B<fcntl>(2)  "
-"参照) は off となる。"
+"2ã\81¤ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\95ã\83©ã\82° (close-on-exec "
+"flag)  を共有しない。複製されたディスクリプターの close-on-exec flag "
+"(B<fcntl>(2)  参照) は off となる。"
 
 #. type: SS
 #: build/C/man2/dup.2:77
@@ -5046,12 +4956,6 @@ msgstr "dup2()"
 
 #. type: Plain text
 #: build/C/man2/dup.2:88
-#, fuzzy
-#| msgid ""
-#| "The B<dup2>()  system call performs the same task as B<dup>(), but "
-#| "instead of using the lowest-numbered unused file descriptor, it uses the "
-#| "descriptor number specified in I<newfd>.  If the descriptor I<newfd> was "
-#| "previously open, it is silently closed before being reused."
 msgid ""
 "The B<dup2>()  system call performs the same task as B<dup>(), but instead "
 "of using the lowest-numbered unused file descriptor, it uses the file "
@@ -5060,9 +4964,9 @@ msgid ""
 msgstr ""
 "B<dup2>() システムコールは B<dup>() と同じ処理を実行するが、\n"
 "番号が最も小さい未使用のファイルディスクリプターを使用する代わりに、\n"
-"I<newfd> で指定されたディスクリプター番号を使用する。\n"
-"ディスクリプター I<newfd> が以前にオープンされていた場合には、\n"
-"黙ってそのディスクリプターをクローズしてから再利用する。"
+"I<newfd> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ç\95ªå\8f·ã\82\92使ç\94¨ã\81\99ã\82\8bã\80\82\n"
+"ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ I<newfd> ã\81\8c以å\89\8dã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81¦ã\81\84ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81\n"
+"é»\99ã\81£ã\81¦ã\81\9dã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92ã\82¯ã\83­ã\83¼ã\82ºã\81\97ã\81¦ã\81\8bã\82\89å\86\8då\88©ç\94¨ã\81\99ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/dup.2:104
@@ -5143,16 +5047,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/dup.2:156
-#, fuzzy
-#| msgid ""
-#| "On success, these system calls return the new descriptor.  On error, -1 "
-#| "is returned, and I<errno> is set appropriately."
 msgid ""
 "On success, these system calls return the new file descriptor.  On error, -1 "
 "is returned, and I<errno> is set appropriately."
 msgstr ""
-"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯æ\96°ã\81\97ã\81\84ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´"
-"合、-1 を返し、 I<errno> を適切に設定する。"
+"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81ã\81\93ã\82\8cã\82\89ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81¯æ\96°ã\81\97ã\81\84ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¨"
+"ラーの場合、-1 を返し、 I<errno> を適切に設定する。"
 
 #. type: Plain text
 #: build/C/man2/dup.2:161
@@ -5279,84 +5179,61 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/dup.2:255
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    /* Obtain a duplicate of 'newfd' that can subsequently\n"
-#| "       be used to check for close() errors; an EBADF error\n"
-#| "       means that 'newfd' was not open. */\n"
+#, no-wrap
 msgid ""
 "/* Obtain a duplicate of \\(aqnewfd\\(aq that can subsequently\n"
 "   be used to check for close() errors; an EBADF error\n"
 "   means that \\(aqnewfd\\(aq was not open. */\n"
 msgstr ""
-"    /* あとで close() エラーをチェックするのに使用できる\n"
-"       ように 'newfd' の複製を取得する。 EBADF エラーは\n"
-"       'newfd' がオープンされていないことを意味する。 */\n"
+"/* あとで close() エラーをチェックするのに使用できる\n"
+"   ように \\(aqnewfd\\(aq の複製を取得する。 EBADF エラーは\n"
+"   \\(aqnewfd\\(aq がオープンされていないことを意味する。 */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:260
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    tmpfd = dup(newfd);\n"
-#| "    if (tmpfd == -1 && errno != EBADF) {\n"
-#| "        /* Handle unexpected dup() error */\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "tmpfd = dup(newfd);\n"
 "if (tmpfd == -1 && errno != EBADF) {\n"
 "    /* Handle unexpected dup() error */\n"
 "}\n"
 msgstr ""
-"    tmpfd = dup(newfd);\n"
-"    if (tmpfd == -1 && errno != EBADF) {\n"
-"        /* 予期しない dup() のエラーを処理する */\n"
-"    }\n"
+"tmpfd = dup(newfd);\n"
+"if (tmpfd == -1 && errno != EBADF) {\n"
+"    /* 予期しない dup() のエラーを処理する */\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:262
-#, fuzzy, no-wrap
-#| msgid "    /* Atomically duplicate 'oldfd' on 'newfd' */\n"
+#, no-wrap
 msgid "/* Atomically duplicate \\(aqoldfd\\(aq on \\(aqnewfd\\(aq */\n"
-msgstr "    /* アトミックに 'oldfd' を 'newfd' に複製する */\n"
+msgstr "/* アトミックに \\(aqoldfd\\(aq を \\(aqnewfd\\(aq に複製する */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:266
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (dup2(oldfd, newfd) == -1) {\n"
-#| "        /* Handle dup2() error */\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "if (dup2(oldfd, newfd) == -1) {\n"
 "    /* Handle dup2() error */\n"
 "}\n"
 msgstr ""
-"    if (dup2(oldfd, newfd) == -1) {\n"
-"        /* dup2() のエラーを処理する */\n"
-"    }\n"
+"if (dup2(oldfd, newfd) == -1) {\n"
+"    /* dup2() のエラーを処理する */\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:269
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    /* Now check for close() errors on the file originally\n"
-#| "       referred to by 'newfd' */\n"
+#, no-wrap
 msgid ""
 "/* Now check for close() errors on the file originally\n"
 "   referred to by \\(aqnewfd\\(aq */\n"
 msgstr ""
-"    /* ここでもともと 'newfd' で参照されていたファイルの\n"
-"       close() エラーをチェックする */\n"
+"/* ここでもともと \\(aqnewfd\\(aq で参照されていたファイルの\n"
+"   close() エラーをチェックする */\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:275
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (tmpfd != -1) {\n"
-#| "        if (close(tmpfd) == -1) {\n"
-#| "            /* Handle errors from close */\n"
-#| "        }\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "if (tmpfd != -1) {\n"
 "    if (close(tmpfd) == -1) {\n"
@@ -5364,11 +5241,11 @@ msgid ""
 "    }\n"
 "}\n"
 msgstr ""
-"    if (tmpfd != -1) {\n"
-"        if (close(tmpfd) == -1) {\n"
-"            /* close からのエラーを処理する */\n"
-"        }\n"
+"if (tmpfd != -1) {\n"
+"    if (close(tmpfd) == -1) {\n"
+"        /* close からのエラーを処理する */\n"
 "    }\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/dup.2:282
@@ -5395,16 +5272,13 @@ msgstr "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:42
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
-#| "B<#include E<lt>unistd.hE<gt>>\n"
+#, no-wrap
 msgid ""
 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
 "B<#include E<lt>stdlib.hE<gt>>\n"
 msgstr ""
 "B<#define _XOPEN_SOURCE>       /* feature_test_macros(7) 参照 */\n"
-"B<#include E<lt>unistd.hE<gt>>\n"
+"B<#include E<lt>stdlib.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:44
@@ -5562,15 +5436,13 @@ msgstr "B<encrypt>(), B<setkey>(): POSIX.1-2001, POSIX.1-2008, SUS, SVr4."
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:160
-#, fuzzy
-#| msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
 msgid "The functions B<encrypt_r>()  and B<setkey_r>()  are GNU extensions."
-msgstr "関数 B<encrypt_r>() と B<setkey_r>() はスレッドセーフである。"
+msgstr "関数 B<encrypt_r>() と B<setkey_r>() は GNU による拡張である。"
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:164
 msgid "See B<crypt>(3)."
-msgstr ""
+msgstr "B<crypt>(3) を参照。"
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:166
@@ -5595,13 +5467,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:181
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(void)\n"
-#| "{\n"
-#| "    char key[64];      /* bit pattern for key */\n"
-#| "    char txt[64];      /* bit pattern for messages */\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(void)\n"
@@ -5611,11 +5477,13 @@ msgid ""
 "    char buf[64];\n"
 "    char txt[9];\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(void)\n"
 "{\n"
-"    char key[64];      /* bit pattern for key */\n"
-"    char txt[64];      /* bit pattern for messages */\n"
+"    char key[64];\n"
+"    char orig[9] = \"eggplant\";\n"
+"    char buf[64];\n"
+"    char txt[9];\n"
 
 #. type: Plain text
 #: build/C/man3/encrypt.3:185
@@ -5711,10 +5579,9 @@ msgstr "ENVIRON"
 
 #. type: TH
 #: build/C/man7/environ.7:34 build/C/man2/execve.2:37 build/C/man2/umask.2:34
-#, fuzzy, no-wrap
-#| msgid "2014-08-19"
+#, no-wrap
 msgid "2020-08-13"
-msgstr "2014-08-19"
+msgstr " 2020-08-13"
 
 #. type: Plain text
 #: build/C/man7/environ.7:37
@@ -5942,23 +5809,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/environ.7:172
-#, fuzzy
-#| msgid ""
-#| "Further names may be placed in the environment by the I<export> command "
-#| "and \"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
-#| "B<csh>(1).  Arguments may also be placed in the environment at the point "
-#| "of an B<exec>(3).  A C program can manipulate its environment using the "
-#| "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
 msgid ""
 "Arguments may also be placed in the environment at the point of an "
 "B<exec>(3).  A C program can manipulate its environment using the functions "
 "B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
-msgstr ""
-"環境に名前を追加する場合には、 B<sh>(1)  では I<export> コマンドと "
-"\"name=value\" を使用する。 B<csh>(1)  では I<setenv> コマンドを使用する。 "
-"B<exec>(3)  の引数としても環境を設定することができる。 C プログラムからは、 "
-"B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3)  などの関数を用いて"
-"環境を扱うことができる。"
+msgstr "B<exec>(3)  の引数としても環境を設定することができる。 C プログラムからは、 B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3)  などの関数を用いて環境を扱うことができる。"
 
 #. type: Plain text
 #: build/C/man7/environ.7:176
@@ -5988,32 +5843,23 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/environ.7:192
-#, fuzzy
-#| msgid ""
-#| "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  "
-#| "and other routines, and the temporary directory used by B<sort>(1)  and "
-#| "other programs."
 msgid ""
 "B<TMPDIR> influences the path prefix of names created by B<tempnam>(3)  and "
 "other routines, and the temporary directory used by B<sort>(1)  and other "
 "programs."
 msgstr ""
-"B<TMPDIR> は、 B<tmpnam>(3) などのルーチンによって作成されるファイル名や "
+"B<TMPDIR> は、 B<tempnam>(3) などのルーチンによって作成されるファイル名や "
 "B<sort>(1) や他のプログラムが使用する一時ディレクトリに前置されるパスに影響す"
 "る。"
 
 #. type: Plain text
 #: build/C/man7/environ.7:197
-#, fuzzy
-#| msgid ""
-#| "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
-#| "behavior of the dynamic loader/linker."
 msgid ""
 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD>, and other B<LD_*> variables influence the "
 "behavior of the dynamic loader/linker."
 msgstr ""
-"B<LD_LIBRARY_PATH>, B<LD_PRELOAD> などの LD_* 変数はダイナミックローダーリン"
-"カーの動作に影響する。"
+"B<LD_LIBRARY_PATH>, B<LD_PRELOAD> などの B<LD_*> 変数はダイナミックローダーリ"
+"ã\83³ã\82«ã\83¼ã\81®å\8b\95ä½\9cã\81«å½±é\9f¿ã\81\99ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man7/environ.7:201
@@ -6125,7 +5971,11 @@ msgid ""
 "B<tcsh>(1), B<execve>(2), B<clearenv>(3), B<exec>(3), B<getenv>(3), "
 "B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<locale>(7), B<ld.so>(8), "
 "B<pam_env>(8)"
-msgstr "B<bash>(1), B<csh>(1), B<env>(1), B<login>(1), B<printenv>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<locale>(7), B<ld.so>(8), B<pam_env>(8)"
+msgstr ""
+"B<bash>(1), B<csh>(1), B<env>(1), B<login>(1), B<printenv>(1), B<sh>(1), "
+"B<tcsh>(1), B<execve>(2), B<clearenv>(3), B<exec>(3), B<getenv>(3), "
+"B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<locale>(7), B<ld.so>(8), "
+"B<pam_env>(8)"
 
 #. type: TH
 #: build/C/man3/euidaccess.3:25
@@ -6219,6 +6069,8 @@ msgid ""
 "B<euidaccess>(),\n"
 "B<eaccess>()"
 msgstr ""
+"B<euidaccess>(),\n"
+"B<eaccess>()"
 
 #.  e.g., FreeBSD 6.1.
 #. type: Plain text
@@ -6305,6 +6157,16 @@ msgid ""
 "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>\n"
 "B<                char *const >I<envp>B<[]);>\n"
 msgstr ""
+"B<int execl(const char *>I<pathname>B<, const char *>I<arg>B<, ...>\n"
+"B</* (char  *) NULL */);>\n"
+"B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...>\n"
+"B</* (char  *) NULL */);>\n"
+"B<int execle(const char *>I<pathname>B<, const char *>I<arg>B<, ...>\n"
+"B<                /*, (char *) NULL, char *const >I<envp>B<[] */);>\n"
+"B<int execv(const char *>I<pathname>B<, char *const >I<argv>B<[]);>\n"
+"B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>\n"
+"B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>\n"
+"B<                char *const >I<envp>B<[]);>\n"
 
 #. type: Plain text
 #: build/C/man3/exec.3:69
@@ -6348,21 +6210,10 @@ msgstr ""
 #: build/C/man3/exec.3:85
 #, no-wrap
 msgid "l - execl(), execlp(), execle()"
-msgstr ""
+msgstr "l - execl(), execlp(), execle()"
 
 #. type: Plain text
 #: build/C/man3/exec.3:102
-#, fuzzy
-#| msgid ""
-#| "The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
-#| "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
-#| "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
-#| "pointers to null-terminated strings that represent the argument list "
-#| "available to the executed program.  The first argument, by convention, "
-#| "should point to the filename associated with the file being executed.  "
-#| "The list of arguments I<must> be terminated by a null pointer, and, since "
-#| "these are variadic functions, this pointer must be cast I<(char\\ *) "
-#| "NULL>."
 msgid ""
 "The I<const char\\ *arg> and subsequent ellipses can be thought of as "
 "I<arg0>, I<arg1>, \\&..., I<argn>.  Together they describe a list of one or "
@@ -6372,13 +6223,13 @@ msgid ""
 "list of arguments I<must> be terminated by a null pointer, and, since these "
 "are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
 msgstr ""
-"関数 B<execl>(), B<execlp>(), B<execle>()  の I<const char\\ *arg> とそれに続"
-"く省略部分は I<arg0>, I<arg1>, \\&..., I<argn> とみなされる。 これらには、実"
-"行されるプログラムで利用可能な引き数のリストを指定する (引き数のリストは ヌル"
-"ã\81§çµ\82端ã\81\95ã\82\8cã\81\9fæ\96\87å­\97å\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8bã\82\89æ§\8bæ\88\90ã\81\95ã\82\8cã\82\8b\80\82 æ\85£ç¿\92ã\81¨ã\81\97ã\81¦ã\80\81æ\9c\80å\88\9dã\81®å¼\95ã\81\8dæ\95°"
-"ã\81¯ã\80\81å®\9fè¡\8cã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«å\90\8d ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81«ã\81\99ã\82\8bã\80\82å¼\95ã\81\8dæ\95°ã\81®ã\83ªã\82¹ã\83\88ã\81¯å¿\85ã\81\9a NULL ã\81§çµ\82"
-"ã\82\8fã\82\89ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81ã\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\81¯å\8f¯å¤\89é\95·å¼\95ã\81\8dæ\95°é\96¢æ\95°ã\81ªã\81®ã\81§ã\80\81 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ "
-"I<(char\\ *) NULL> とキャストしなければならない。"
+"I<const char\\ *arg> とそれに続く省略部分は I<arg0>, I<arg1>, \\&..., "
+"I<argn> とみなされる。 これらには、実行されるプログラムで利用可能な引き数のリ"
+"ストを指定する (引き数のリストは ヌルで終端された文字列へのポインターから構成"
+"ã\81\95ã\82\8cã\82\8b\80\82 æ\85£ç¿\92ã\81¨ã\81\97ã\81¦ã\80\81æ\9c\80å\88\9dã\81®å¼\95ã\81\8dæ\95°ã\81¯ã\80\81å®\9fè¡\8cã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«å\90\8d ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81«ã\81\99"
+"ã\82\8bã\80\82å¼\95ã\81\8dæ\95°ã\81®ã\83ªã\82¹ã\83\88ã\81¯å¿\85ã\81\9a NULL ã\81§çµ\82ã\82\8fã\82\89ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81\9aã\80\81ã\81\93ã\82\8cã\82\89ã\81®é\96¢æ\95°ã\81¯å\8f¯å¤\89é\95·å¼\95"
+"ã\81\8dæ\95°é\96¢æ\95°ã\81ªã\81®ã\81§ã\80\81 ã\81\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81¯ I<(char\\ *) NULL> ã\81¨ã\82­ã\83£ã\82¹ã\83\88ã\81\97ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89"
+"ない。"
 
 #. type: Plain text
 #: build/C/man3/exec.3:106
@@ -6389,10 +6240,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man3/exec.3:106
-#, fuzzy, no-wrap
-#| msgid "B<execve>(2), B<openat>(2), B<fexecve>(3)"
+#, no-wrap
 msgid "v - execv(), execvp(), execvpe()"
-msgstr "B<execve>(2), B<openat>(2), B<fexecve>(3)"
+msgstr " v - execv(), execvp(), execvpe()"
 
 #. type: Plain text
 #: build/C/man3/exec.3:116
@@ -6417,10 +6267,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man3/exec.3:116
-#, fuzzy, no-wrap
-#| msgid "B<execve>(2), B<execveat>(2)"
+#, no-wrap
 msgid "e - execle(), execvpe()"
-msgstr "B<execve>(2), B<execveat>(2)"
+msgstr " e - execle(), execvpe()"
 
 #. type: Plain text
 #: build/C/man3/exec.3:124
@@ -6455,7 +6304,7 @@ msgstr ""
 #: build/C/man3/exec.3:132
 #, no-wrap
 msgid "p - execlp(), execvp(), execvpe()"
-msgstr ""
+msgstr "p - execlp(), execvp(), execvpe()"
 
 #. type: Plain text
 #: build/C/man3/exec.3:146
@@ -6649,10 +6498,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man3/exec.3:279
-#, fuzzy, no-wrap
-#| msgid "Architecture-specific requirements"
+#, no-wrap
 msgid "Architecture-specific details"
-msgstr "ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼å\9bºæ\9c\89ã\81®è¦\81件"
+msgstr "ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼å\9bºæ\9c\89ã\81®è©³ç´°"
 
 #. type: Plain text
 #: build/C/man3/exec.3:290
@@ -6665,16 +6513,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/exec.3:299
-#, fuzzy
-#| msgid ""
-#| "B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), "
-#| "B<fexecve>(3), B<environ>(7)"
 msgid ""
 "B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), "
 "B<fexecve>(3), B<system>(3), B<environ>(7)"
 msgstr ""
-"B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), "
-"B<fexecve>(3), B<environ>(7)"
+" B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), "
+"B<fexecve>(3), B<system>(3), B<environ>(7)"
 
 #. type: TH
 #: build/C/man2/execve.2:37
@@ -6689,10 +6533,8 @@ msgstr "execve - プログラムを実行する"
 
 #. type: Plain text
 #: build/C/man2/execve.2:44
-#, fuzzy
-#| msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
 msgid "B<int execve(const char *>I<pathname>B<, char *const >I<argv>B<[],>"
-msgstr "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
+msgstr " B<int execve(const char *>I<pathname>B<, char *const >I<argv>B<[],>"
 
 #. type: Plain text
 #: build/C/man2/execve.2:46
@@ -6710,17 +6552,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:55
-#, fuzzy
-#| msgid ""
-#| "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
-#| "must be either a binary executable, or a script starting with a line of "
-#| "the form:"
 msgid ""
 "I<pathname> must be either a binary executable, or a script starting with a "
 "line of the form:"
 msgstr ""
-"B<execve>()  は、I<filename> によって指定されたプログラムを実行する。 "
-"I<filename> は、バイナリ実行形式か、 以下の形式の行で始まるスクリプトでなけれ"
+"I<pathname> は、バイナリ実行形式か、 以下の形式の行で始まるスクリプトでなけれ"
 "ばならない。"
 
 #. type: Plain text
@@ -6807,42 +6643,22 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:105
-#, fuzzy
-#| msgid ""
-#| "If the current program is being ptraced, a B<SIGTRAP> is sent to it after "
-#| "a successful B<execve>()."
 msgid ""
 "If the current program is being ptraced, a B<SIGTRAP> signal is sent to it "
 "after a successful B<execve>()."
 msgstr ""
 "元のプログラムが ptrace されている場合、 B<execve>()  が成功した後に そのプロ"
-"グラムに B<SIGTRAP> が送られる。"
+"ã\82°ã\83©ã\83 ã\81« B<SIGTRAP> ã\82·ã\82°ã\83\8aã\83«ã\81\8cé\80\81ã\82\89ã\82\8cã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man2/execve.2:113
-#, fuzzy
-#| msgid ""
-#| "If the set-user-ID bit is set on the program file pointed to by "
-#| "I<filename>, and the underlying filesystem is not mounted I<nosuid> (the "
-#| "B<MS_NOSUID> flag for B<mount>(2)), and the calling process is not being "
-#| "ptraced, then the effective user ID of the calling process is changed to "
-#| "that of the owner of the program file.  Similarly, when the set-group-ID "
-#| "bit of the program file is set the effective group ID of the calling "
-#| "process is set to the group of the program file."
 msgid ""
 "If the set-user-ID bit is set on the program file referred to by "
 "I<pathname>, then the effective user ID of the calling process is changed to "
 "that of the owner of the program file.  Similarly, if the set-group-ID bit "
 "is set on the program file, then the effective group ID of the calling "
 "process is set to the group of the program file."
-msgstr ""
-"I<filename> で指定されたプログラムファイルに set-user-ID ビットが設定されてお"
-"り、 ファイルが存在するファイルシステムが I<nosuid> (B<mount>(2)  の "
-"B<MS_NOSUID> フラグ) でマウントされておらず、 呼び出したプロセスが ptrace さ"
-"れていない場合、 呼び出したプロセスの実効 (effective) ユーザー ID は プログラ"
-"ムファイルの所有者 (owner) に変更される。 同様に、プログラムファイルに set-"
-"group-ID ビットが設定されていた場合、 呼び出したプロセスの有効グループ ID は "
-"プログラムファイルのグループに変更される。"
+msgstr "I<pathname> で参照されるプログラムファイルに set-user-ID ビットが設定されている場合、呼び出したプロセスの実効 (effective) ユーザー ID は プログラムファイルの所有者 (owner) に変更される。 同様に、プログラムファイルに set-group-ID ビットが設定されていた場合、 呼び出したプロセスの有効グループ ID は プログラムファイルのグループに変更される。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:118
@@ -6882,12 +6698,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:142
-#, fuzzy
-#| msgid ""
-#| "The effective user ID of the process is copied to the saved set-user-ID; "
-#| "similarly, the effective group ID is copied to the saved set-group-ID.  "
-#| "This copying takes place after any effective ID changes that occur "
-#| "because of the set-user-ID and set-group-ID permission bits."
 msgid ""
 "The effective user ID of the process is copied to the saved set-user-ID; "
 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
@@ -6896,7 +6706,8 @@ msgid ""
 msgstr ""
 "プロセスの実効ユーザー ID は保存 (saved) set-user-ID にコピーされる。 同様"
 "に、実効グループ ID は保存 set-group-ID にコピーされる。 このコピーは、set-"
-"user-ID / set-group-ID 許可ビットにより発生する 実効 ID の変更後に行われる。"
+"user-ID / set-group-ID モードビットにより発生する 実効 ID の変更後に行われ"
+"る。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:146
@@ -6907,12 +6718,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:154
-#, fuzzy
-#| msgid ""
-#| "If the executable is an a.out dynamically linked binary executable "
-#| "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
-#| "called at the start of execution to bring needed shared libraries into "
-#| "memory and link the executable with them."
 msgid ""
 "If the executable is an a.out dynamically linked binary executable "
 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
@@ -6921,16 +6726,10 @@ msgid ""
 msgstr ""
 "実行ファイルが動的リンクされた a.out 実行形式で、共有ライブラリの スタブを含"
 "むものだった場合、実行の開始時に Linux の ダイナミックリンカー B<ld.so>(8)  "
-"ã\81\8cå\91¼ã\81³å\87ºã\81\95ã\82\8cã\80\81å¿\85è¦\81ã\81ªå\85±æ\9c\89ã\83©ã\82¤ã\83\96ã\83©ã\83ªをメモリーに読み込んでリンクを行う。"
+"ã\81\8cå\91¼ã\81³å\87ºã\81\95ã\82\8cã\80\81å¿\85è¦\81ã\81ªå\85±æ\9c\89ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88をメモリーに読み込んでリンクを行う。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:163
-#, fuzzy
-#| msgid ""
-#| "If the executable is a dynamically linked ELF executable, the interpreter "
-#| "named in the PT_INTERP segment is used to load the needed shared "
-#| "libraries.  This interpreter is typically I</lib/ld-linux.so.2> for "
-#| "binaries linked with glibc."
 msgid ""
 "If the executable is a dynamically linked ELF executable, the interpreter "
 "named in the PT_INTERP segment is used to load the needed shared objects.  "
@@ -6938,10 +6737,10 @@ msgid ""
 "glibc (see B<ld-linux.so>(8))."
 msgstr ""
 "実行ファイルがダイナミックリンクされた ELF 実行形式だった場合、\n"
-"PT_INTERP ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\82¿ã\83¼ã\83\97ã\83ªã\82¿ã\83¼ã\81\8cå¿\85è¦\81ã\81ª å\85±æ\9c\89ã\83©ã\82¤ã\83\96ã\83©ã\83ª\n"
+"PT_INTERP ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¤ã\83³ã\82¿ã\83¼ã\83\97ã\83ªã\82¿ã\83¼ã\81\8cå¿\85è¦\81ã\81ª å\85±æ\9c\89ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88\n"
 "(shared library) を読み込むのに使用される。\n"
 "通常、インタープリターは glibc をリンクしたバイナリでは\n"
-"I</lib/ld-linux.so.2> である。"
+"I</lib/ld-linux.so.2> である。 (B<ld-linux.so>(8) を参照)"
 
 #. type: SS
 #: build/C/man2/execve.2:163
@@ -7032,18 +6831,13 @@ msgstr "浮動小数点関連の環境はデフォルトにリセットされる
 
 #. type: Plain text
 #: build/C/man2/execve.2:212
-#, fuzzy
-#| msgid ""
-#| "The process attributes in the preceding list are all specified in "
-#| "POSIX.1-2001.  The following Linux-specific process attributes are also "
-#| "not preserved during an B<execve>():"
 msgid ""
 "The process attributes in the preceding list are all specified in POSIX.1.  "
 "The following Linux-specific process attributes are also not preserved "
 "during an B<execve>():"
 msgstr ""
-"上記のリストのプロセス属性はいずれも POSIX.1-2001 で規定されている。 以下に示"
-"す Linux 固有のプロセス属性も B<execve>()  の前後で保持されない。"
+"上記のリストのプロセス属性はいずれも POSIX.1 で規定されている。 以下に示す "
+"Linux 固有のプロセス属性も B<execve>()  の前後で保持されない。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:229
@@ -7129,24 +6923,17 @@ msgstr "I<setlocale(LC_ALL, \"C\")> 相当の処理がプログラム開始時
 
 #. type: Plain text
 #: build/C/man2/execve.2:282
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001 specifies that the dispositions of any signals that are "
-#| "ignored or set to the default are left unchanged.  POSIX.1-2001 specifies "
-#| "one exception: if B<SIGCHLD> is being ignored, then an implementation may "
-#| "leave the disposition unchanged or reset it to the default; Linux does "
-#| "the former."
 msgid ""
 "POSIX.1 specifies that the dispositions of any signals that are ignored or "
 "set to the default are left unchanged.  POSIX.1 specifies one exception: if "
 "B<SIGCHLD> is being ignored, then an implementation may leave the "
 "disposition unchanged or reset it to the default; Linux does the former."
 msgstr ""
-"POSIX.1-2001 は、動作が無視かデフォルトに設定されている全てのシグナル の処理"
-"方法は変更せずそのままにする、と規定している。 但し、POSIX.1-2001 には一つ例"
-"外があり、 B<SIGCHLD> が無視になっている場合、 その処理方法を変更せずにそのま"
-"ã\81¾ã\81«ã\81\99ã\82\8bã\81\8bã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88å\8b\95ä½\9cã\81«ã\83ªã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\81\8bã\81¯ å®\9fè£\85ä¾\9då­\98ã\81¨ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82 Linux ã\81§"
-"は前者 (変更しない) となっている。"
+"POSIX.1 は、動作が無視かデフォルトに設定されている全てのシグナル の処理方法は"
+"変更せずそのままにする、と規定している。 但し、POSIX.1-2001 には一つ例外があ"
+"り、 B<SIGCHLD> が無視になっている場合、 その処理方法を変更せずにそのままにす"
+"ã\82\8bã\81\8bã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88å\8b\95ä½\9cã\81«ã\83ªã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\81\8bã\81¯ å®\9fè£\85ä¾\9då­\98ã\81¨ã\81ªã\81£ã\81¦ã\81\84ã\82\8bã\80\82 Linux ã\81§ã\81¯å\89\8dè\80\85 "
+"(変更しない) となっている。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:286
@@ -7170,20 +6957,6 @@ msgstr ""
 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
 #. type: Plain text
 #: build/C/man2/execve.2:318
-#, fuzzy
-#| msgid ""
-#| "By default, file descriptors remain open across an B<execve>().  File "
-#| "descriptors that are marked close-on-exec are closed; see the description "
-#| "of B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this "
-#| "will cause the release of all record locks obtained on the underlying "
-#| "file by this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says "
-#| "that if file descriptors 0, 1, and 2 would otherwise be closed after a "
-#| "successful B<execve>(), and the process would gain privilege because the "
-#| "set-user_ID or set-group_ID permission bit was set on the executed file, "
-#| "then the system may open an unspecified file for each of these file "
-#| "descriptors.  As a general principle, no portable program, whether "
-#| "privileged or not, can assume that these three file descriptors will "
-#| "remain closed across an B<execve>()."
 msgid ""
 "By default, file descriptors remain open across an B<execve>().  File "
 "descriptors that are marked close-on-exec are closed; see the description of "
@@ -7202,13 +6975,13 @@ msgstr ""
 "クローズされる。 B<fcntl>(2)  の B<FD_CLOEXEC> の説明を参照。 (ファイルディス"
 "クリプターがクローズされると、このプロセスが ファイルディスクリプターに対応す"
 "るファイルに対して獲得していた レコードのロックが全て解放されることにな"
-"る。)  POSIX.1-2001 では、 ファイルディスクリプター 0, 1, 2 が B<execve>()  "
-"成功後にどこかでクローズされ、かつ 実行されるファイルに set-user_ID か set-"
-"group_ID の許可ビットが セットされていてプロセスが特権を獲得した場合、 システ"
-"ã\83 ã\81¯ä½\95ã\82\89ã\81\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82ªã\83¼ã\83\97ã\83³ã\81\99ã\82\8bé\9a\9bã\81« ã\81\93ã\82\8cã\82\89ã\81®ç\95ªå\8f·ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ã\81©ã\82\8cã\81\8b"
-"ã\82\92使ã\81\86ã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\81 ã\81¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82 å\8e\9få\89\87ã\81¨ã\81\97ã\81¦ã\80\81移æ¤\8dæ\80§ã\81\8cå¿\85è¦\81ã\81ªã\83\97ã\83­ã\82°ã\83©ã\83 ã\81§ã\81¯ã\80\81 "
-"特権の有無に関わらず、 B<execve>()  の前後でこれら 3つのファイルディスクリプ"
-"ターがクローズされたままで あることを前提にすることはできない。"
+"る。)  POSIX.1 では、 ファイルディスクリプター 0, 1, 2 が B<execve>()  成功後"
+"にどこかでクローズされ、かつ 実行されるファイルに set-user_ID か set-"
+"group_ID のモードビットが セットされていてプロセスが特権を獲得した場合、 シス"
+"ã\83\86ã\83 ã\81¯ä½\95ã\82\89ã\81\8bã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82ªã\83¼ã\83\97ã\83³ã\81\99ã\82\8bé\9a\9bã\81« ã\81\93ã\82\8cã\82\89ã\81®ç\95ªå\8f·ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®ã\81©ã\82\8c"
+"ã\81\8bã\82\92使ã\81\86ã\81\93ã\81¨ã\81\8cã\81\82ã\82\8bã\80\81 ã\81¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\80\82 å\8e\9få\89\87ã\81¨ã\81\97ã\81¦ã\80\81移æ¤\8dæ\80§ã\81\8cå¿\85è¦\81ã\81ªã\83\97ã\83­ã\82°ã\83©ã\83 ã\81§"
+"は、 特権の有無に関わらず、 B<execve>()  の前後でこれら 3つのファイルディスク"
+"ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\82¯ã\83­ã\83¼ã\82ºã\81\95ã\82\8cã\81\9fã\81¾ã\81¾ã\81§ ã\81\82ã\82\8bã\81\93ã\81¨ã\82\92å\89\8dæ\8f\90ã\81«ã\81\99ã\82\8bã\81\93ã\81¨ã\81¯ã\81§ã\81\8dã\81ªã\81\84ã\80\82"
 
 #. type: SS
 #: build/C/man2/execve.2:318 build/C/man2/execve.2:649
@@ -7232,20 +7005,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:339
-#, fuzzy
-#| msgid ""
-#| "The I<interpreter> must be a valid pathname for an executable which is "
-#| "not itself a script.  If the I<filename> argument of B<execve>()  "
-#| "specifies an interpreter script, then I<interpreter> will be invoked with "
-#| "the following arguments:"
 msgid ""
 "If the I<pathname> argument of B<execve>()  specifies an interpreter script, "
 "then I<interpreter> will be invoked with the following arguments:"
 msgstr ""
-"I<interpreter> は有効な実行ファイルのパス名でなければならず、 それ自身がスク"
-"リプトであってはならない。 B<execve>()  の I<filename> 引き数がインタープリ"
-"タースクリプトを指定している場合、 I<interpreter> は以下の引き数で起動され"
-"る。"
+"B<execve>()  の I<pathname> 引き数がインタープリタースクリプトを指定している"
+"場合、 I<interpreter> は以下の引き数で起動される。"
 
 #. type: Plain text
 #: build/C/man2/execve.2:343
@@ -7308,12 +7073,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:398
-#, fuzzy
-#| msgid ""
-#| "On Linux prior to kernel 2.6.23, the memory used to store the environment "
-#| "and argument strings was limited to 32 pages (defined by the kernel "
-#| "constant B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this "
-#| "yields a maximum size of 128 kB."
 msgid ""
 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
 "and argument strings was limited to 32 pages (defined by the kernel constant "
@@ -7322,8 +7081,8 @@ msgid ""
 msgstr ""
 "カーネル 2.6.23 より前の Linux では、環境変数と引き数の文字列群を 格納するの"
 "に使用されるメモリーは 32 ページに制限されていた (32 ページというのはカーネル"
-"定数 B<MAX_ARG_PAGES> で定義される)。したがって、 ページサイズが 4 kB のアー"
-"ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81 æ\9c\80大ã\82µã\82¤ã\82ºã\81¯ 128 kB ということになる。"
+"定数 B<MAX_ARG_PAGES> で定義される)。したがって、 ページサイズが 4\\ kB の"
+"ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼ã\81§ã\81¯ã\80\81 æ\9c\80大ã\82µã\82¤ã\82ºã\81¯ 128\\ kB ということになる。"
 
 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
 #.  2.6.25, see:
@@ -7410,16 +7169,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:459
-#, fuzzy
-#| msgid ""
-#| "Search permission is denied on a component of the path prefix of "
-#| "I<filename> or the name of a script interpreter.  (See also "
-#| "B<path_resolution>(7).)"
 msgid ""
 "Search permission is denied on a component of the path prefix of I<pathname> "
 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
 msgstr ""
-"I<filename> やスクリプトインタープリター名の構成要素に検索許可 (search "
+"I<pathname> やスクリプトインタープリター名の構成要素に検索許可 (search "
 "permission)  が与えられていない (B<path_resolution>(7)  も参照すること)。"
 
 #. type: Plain text
@@ -7463,15 +7217,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:487
-#, fuzzy
-#| msgid ""
-#| "I<filename> or one of the pointers in the vectors I<argv> or I<envp> "
-#| "points outside your accessible address space."
 msgid ""
 "I<pathname> or one of the pointers in the vectors I<argv> or I<envp> points "
 "outside your accessible address space."
 msgstr ""
-"I<filename> または配列 I<argv> か I<envp> のポインターの一つがアクセス可能な"
+"I<pathname> または配列 I<argv> か I<envp> のポインターの一つがアクセス可能な"
 "アドレス空間の外を指している。"
 
 #. type: Plain text
@@ -7507,15 +7257,11 @@ msgstr "ELF インタープリターが理解できるフォーマットでな
 
 #. type: Plain text
 #: build/C/man2/execve.2:505
-#, fuzzy
-#| msgid ""
-#| "Too many symbolic links were encountered in resolving I<filename> or the "
-#| "name of a script or ELF interpreter."
 msgid ""
 "Too many symbolic links were encountered in resolving I<pathname> or the "
 "name of a script or ELF interpreter."
 msgstr ""
-"I<filename> やスクリプトや ELF のインタープリターを解決する際に遭遇した シン"
+"I<pathname> やスクリプトや ELF のインタープリターを解決する際に遭遇した シン"
 "ボリックリンクが多過ぎる。"
 
 #.  commit d740269867021faf4ce38a449353d2b986c34a67
@@ -7546,8 +7292,6 @@ msgstr "B<ENFILE>"
 #. type: Plain text
 #: build/C/man2/execve.2:523 build/C/man3/getlogin.3:118
 #: build/C/man2/swapon.2:150 build/C/man2/uselib.2:73
-#, fuzzy
-#| msgid "The system limit on the total number of open files has been reached."
 msgid ""
 "The system-wide limit on the total number of open files has been reached."
 msgstr "オープンされたファイルの総数がシステム全体の上限に達していた。"
@@ -7578,15 +7322,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:541
-#, fuzzy
-#| msgid ""
-#| "A component of the path prefix of I<filename> or a script or ELF "
-#| "interpreter is not a directory."
 msgid ""
 "A component of the path prefix of I<pathname> or a script or ELF interpreter "
 "is not a directory."
 msgstr ""
-"I<filename> やスクリプトや ELF のインタープリターの構成要素がディレクトリでな"
+"I<pathname> やスクリプトや ELF のインタープリターの構成要素がディレクトリでな"
 "い。"
 
 #. type: Plain text
@@ -7617,10 +7357,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:560
-#, fuzzy
-#| msgid "Executable was open for writing by one or more processes."
 msgid "The specified executable was open for writing by one or more processes."
-msgstr "実行ファイルを書き込み用にオープンしているプロセスがある。"
+msgstr "指定された実行ファイルを書き込み用にオープンしているプロセスがある。"
 
 #.  SVr4 documents additional error
 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
@@ -7658,18 +7396,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:598
-#, fuzzy
-#| msgid ""
-#| "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
-#| "versions: some will refuse execution of set-user-ID and set-group-ID "
-#| "executables when this would give the user powers she did not have already "
-#| "(and return B<EPERM>), some will just ignore the set-user-ID and set-"
-#| "group-ID bits and B<exec>()  successfully.  On Linux, I<argv> and I<envp> "
-#| "can be specified as NULL.  In both cases, this has the same effect as "
-#| "specifying the argument as a pointer to a list containing a single null "
-#| "pointer.  B<Do not take advantage of this misfeature!> It is nonstandard "
-#| "and nonportable: on most other UNIX systems doing this will result in an "
-#| "error (B<EFAULT>)."
 msgid ""
 "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
 "versions: some will refuse execution of set-user-ID and set-group-ID "
@@ -7681,12 +7407,7 @@ msgstr ""
 "実行ファイルを どの様に扱うかは、Linux カーネルのバージョンによって異なる: あ"
 "るバージョンでは、すでに必要な権限を持っている場合を除いて、 その実行を拒否す"
 "る (そして B<EPERM> を返す)。別のあるバージョンでは set-user-ID/set-group-ID "
-"ビットのみを無視し B<exec>()  は成功する。 Linux では、 I<argv> と I<envp> "
-"に NULL を指定することができる。 どちらに NULL を指定した場合も、 これらの引"
-"き数にヌルポインター 1 個だけを含むリストへのポインターを指定したのと同じ効果"
-"を持つ。 B<「この間違った機能を利用しないこと」>。 これは非標準で、移植性もな"
-"い。 他のほとんどの UNIX システムでは、これを行うとエラー (B<EFAULT>)  にな"
-"る。"
+"ビットのみを無視し B<exec>()  は成功する。"
 
 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
@@ -7705,14 +7426,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execve.2:631
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be "
-#| "invariant over the lifetime of a process.  However, since Linux 2.6.23, "
-#| "if the B<RLIMIT_STACK> resource limit changes, then the value reported by "
-#| "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on "
-#| "space for holding command-line arguments and environment variables has "
-#| "changed."
 msgid ""
 "POSIX.1 says that values returned by B<sysconf>(3)  should be invariant over "
 "the lifetime of a process.  However, since Linux 2.6.23, if the "
@@ -7720,24 +7433,14 @@ msgid ""
 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
 "for holding command-line arguments and environment variables has changed."
 msgstr ""
-"POSIX.1-2001 は、 B<sysconf>(3)  が返す値はプロセスの生存中は変化しないべきだ"
-"としている。 しかしながら、Linux 2.6.23 以降では、リソース上限 "
-"B<RLIMIT_STACK> が変化した場合、 コマンドライン引き数と環境変数を保持するため"
-"の空間に対する上限が 変化したことを反映して、 B<_SC_ARG_MAX> が返す値も変化す"
-"る。"
+"POSIX.1 は、 B<sysconf>(3)  が返す値はプロセスの生存中は変化しないべきだとし"
+"ている。 しかしながら、Linux 2.6.23 以降では、リソース上限 B<RLIMIT_STACK> が"
+"変化した場合、 コマンドライン引き数と環境変数を保持するための空間に対する上限"
+"が 変化したことを反映して、 B<_SC_ARG_MAX> が返す値も変化する。"
 
 #.  commit 19d860a140beac48a1377f179e693abe86a9dac9
 #. type: Plain text
 #: build/C/man2/execve.2:649
-#, fuzzy
-#| msgid ""
-#| "In most cases where B<execve>()  fails, control returns to the original "
-#| "executable image, and the caller of B<execve>()  can then handle the "
-#| "error.  However, in (rare) cases (typically caused by resource "
-#| "exhaustion), failure may occur past the point of no return: the original "
-#| "executable image has been torn down, but the new image could not be "
-#| "completely built.  In such cases, the kernel kills the process with a "
-#| "B<SIGKILL> signal."
 msgid ""
 "In most cases where B<execve>()  fails, control returns to the original "
 "executable image, and the caller of B<execve>()  can then handle the error.  "
@@ -7752,7 +7455,8 @@ msgstr ""
 "ソース枯渇が原因となった場合など、まれに) 呼び出し元に制御が戻る時点を過ぎて"
 "からエラーが発生する場合がある。 元の実行可能イメージはすでに破棄されている"
 "が、 新しいイメージが完全には構築されていないという状況である。 このような場"
-"合、カーネルはそのプロセスをシグナル B<SIGKILL> で停止 (kill) する。"
+"合、カーネルはそのプロセスをシグナル B<SIGSEGV> (Linux 3.17 までは "
+"B<SIGKILL>) で停止 (kill) する。"
 
 #.  commit 6eb3c3d0a52dca337e327ae8868ca1f44a712e02
 #. type: Plain text
@@ -8107,7 +7811,11 @@ msgid ""
 "B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getopt>(3), B<system>(3), "
 "B<capabilities>(7), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
 "B<ld.so>(8)"
-msgstr "B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getopt>(3), B<system>(3), B<capabilities>(7), B<credentials>(7), B<environ>(7), B<path_resolution>(7), B<ld.so>(8)"
+msgstr ""
+"B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), "
+"B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getopt>(3), B<system>(3), "
+"B<capabilities>(7), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
+"B<ld.so>(8)"
 
 #. type: TH
 #: build/C/man2/exit_group.2:25
@@ -8144,7 +7852,10 @@ msgid ""
 "This system call is equivalent to B<_exit>(2)  except that it terminates not "
 "only the calling thread, but all threads in the calling process's thread "
 "group."
-msgstr "このシステムコールは、基本的に B<_exit>(2)  と等しいが、 呼び出し元のスレッドだけでなく、呼び出し元のプロセスのスレッドグループに ある全てのスレッドを終了させる点が異なる。"
+msgstr ""
+"このシステムコールは、基本的に B<_exit>(2)  と等しいが、 呼び出し元のスレッド"
+"だけでなく、呼び出し元のプロセスのスレッドグループに ある全てのスレッドを終了"
+"させる点が異なる。"
 
 #. type: Plain text
 #: build/C/man2/exit_group.2:41
@@ -8166,7 +7877,9 @@ msgstr "このシステムコールは Linux 固有である。"
 msgid ""
 "Since glibc 2.3, this is the system call invoked when the B<_exit>(2)  "
 "wrapper function is called."
-msgstr "glibc 2.3 以降では、 B<_exit>(2)  のラッパー関数が呼び出された際に、 このシステムコールが起動される。"
+msgstr ""
+"glibc 2.3 以降では、 B<_exit>(2)  のラッパー関数が呼び出された際に、 このシス"
+"テムコールが起動される。"
 
 #. type: tbl table
 #: build/C/man2/exit_group.2:51 build/C/man2/syscalls.2:257
@@ -8290,13 +8003,6 @@ msgstr "B<F_DUPFD_CLOEXEC> (I<int>; Linux 2.6.24 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:141
-#, fuzzy
-#| msgid ""
-#| "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
-#| "duplicate descriptor.  Specifying this flag permits a program to avoid an "
-#| "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> "
-#| "flag.  For an explanation of why this flag is useful, see the description "
-#| "of B<O_CLOEXEC> in B<open>(2)."
 msgid ""
 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
 "duplicate file descriptor.  Specifying this flag permits a program to avoid "
@@ -8304,10 +8010,10 @@ msgid ""
 "flag.  For an explanation of why this flag is useful, see the description of "
 "B<O_CLOEXEC> in B<open>(2)."
 msgstr ""
-"B<F_DUPFD> ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81ã\81\9dã\82\8cã\81«å\8a ã\81\88ã\81¦è¤\87製ã\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97ã\81¦ close-"
-"on-exec フラグをセットする。 このフラグを指定することで、プログラムは "
-"B<FD_CLOEXEC> フラグをセットするために B<fcntl>()  の B<F_SETFD> 操作を追加で"
-"行う必要がなくなる。 このフラグがなぜ有用かについては、 B<open>(2)  の "
+"B<F_DUPFD> ã\81¨å\90\8cæ§\98ã\81 ã\81\8cã\80\81ã\81\9dã\82\8cã\81«å\8a ã\81\88ã\81¦è¤\87製ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81«å¯¾ã\81\97"
+"て close-on-exec フラグをセットする。 このフラグを指定することで、プログラム"
+"は B<FD_CLOEXEC> フラグをセットするために B<fcntl>()  の B<F_SETFD> 操作を追"
+"加で行う必要がなくなる。 このフラグがなぜ有用かについては、 B<open>(2)  の "
 "B<O_CLOEXEC> の説明を参照のこと。"
 
 #. type: SS
@@ -8874,7 +8580,13 @@ msgid ""
 "the existing lock is converted to the new lock type.  (Such conversions may "
 "result in splitting, shrinking, or coalescing with an existing lock as "
 "discussed above.)"
-msgstr "同じオープンファイル記述経由 (同じファイルディスクリプター経由や B<fork>(2), B<dup>(2), B<fcntl>() B<F_DUPFD> などで作成されたファイルディスクリプターの複製経由) で適用されたオープンファイル記述ロックは常に互換性がある。 つまり、 すでにロックされている領域に対して新しいロックが適用された場合、 既存のロックは新しいロック種別に変換される。 (上記で説明した通り、 このような変換の結果、 既存のロックの分割、 縮小、 結合が行われることがある。)"
+msgstr ""
+"同じオープンファイル記述経由 (同じファイルディスクリプター経由や B<fork>(2), "
+"B<dup>(2), B<fcntl>() B<F_DUPFD> などで作成されたファイルディスクリプターの複"
+"製経由) で適用されたオープンファイル記述ロックは常に互換性がある。 つまり、 "
+"すでにロックされている領域に対して新しいロックが適用された場合、 既存のロック"
+"は新しいロック種別に変換される。 (上記で説明した通り、 このような変換の結"
+"果、 既存のロックの分割、 縮小、 結合が行われることがある。)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:540
@@ -9137,7 +8849,11 @@ msgid ""
 "descriptor I<fd>.  Process IDs are returned as positive values; process "
 "group IDs are returned as negative values (but see BUGS below).  I<arg> is "
 "ignored."
-msgstr "ファイルディスクリプター I<fd> のイベントに対するシグナル B<SIGIO> および B<SIGURG> を受けているプロセスのプロセス ID かプロセスグループ ID を (関数の結果として) 返す。 プロセス ID は正の値として返される。 プロセスグループ ID は負の値として返される (下記のバグの章を参照)。 I<arg> は無視される。"
+msgstr ""
+"ファイルディスクリプター I<fd> のイベントに対するシグナル B<SIGIO> および "
+"B<SIGURG> を受けているプロセスのプロセス ID かプロセスグループ ID を (関数の"
+"結果として) 返す。 プロセス ID は正の値として返される。 プロセスグループ ID "
+"は負の値として返される (下記のバグの章を参照)。 I<arg> は無視される。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:720
@@ -9629,15 +9345,6 @@ msgstr "そのファイルからリースを削除する。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1109
-#, fuzzy
-#| msgid ""
-#| "Leases are associated with an open file description (see B<open>(2)).  "
-#| "This means that duplicate file descriptors (created by, for example, "
-#| "B<fork>(2)  or B<dup>(2))  refer to the same lease, and this lease may be "
-#| "modified or released using any of these descriptors.  Furthermore, the "
-#| "lease is released by either an explicit B<F_UNLCK> operation on any of "
-#| "these duplicate descriptors, or when all such descriptors have been "
-#| "closed."
 msgid ""
 "Leases are associated with an open file description (see B<open>(2)).  This "
 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
@@ -9775,16 +9482,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1217
-#, fuzzy
-#| msgid ""
-#| "The default signal used to notify the lease holder is B<SIGIO>, but this "
-#| "can be changed using the B<F_SETSIG> command to B<fcntl>().  If a "
-#| "B<F_SETSIG> command is performed (even one specifying B<SIGIO>), and the "
-#| "signal handler is established using B<SA_SIGINFO>, then the handler will "
-#| "receive a I<siginfo_t> structure as its second argument, and the I<si_fd> "
-#| "field of this argument will hold the descriptor of the leased file that "
-#| "has been accessed by another process.  (This is useful if the caller "
-#| "holds leases against multiple files)."
 msgid ""
 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
@@ -9800,8 +9497,8 @@ msgstr ""
 "ンドが実行され (B<SIGIO> を指定された場合も含む)、 B<SA_SIGINFO> フラグ付きで"
 "シグナルハンドラーが設定されている場合には、 ハンドラーの第二引き数として "
 "I<siginfo_t> 構造体が渡され、この引き数の I<si_fd> フィールドには別のプロセス"
-"がアクセスしたリース設定済みファイルの ディスクリプターが入っている (この機能"
-"は複数のファイルに対してリースを設定する場合に有用である)。"
+"がアクセスしたリース設定済みファイルのファイルディスクリプターが入っている "
+"(この機能は複数のファイルに対してリースを設定する場合に有用である)。"
 
 #. type: SS
 #: build/C/man2/fcntl.2:1217
@@ -10006,6 +9703,29 @@ msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1364
+msgid ""
+"Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
+"bytes.  An unprivileged process can adjust the pipe capacity to any value "
+"between the system page size and the limit defined in I</proc/sys/fs/pipe-"
+"max-size> (see B<proc>(5)).  Attempts to set the pipe capacity below the "
+"page size are silently rounded up to the page size.  Attempts by an "
+"unprivileged process to set the pipe capacity above the limit in I</proc/sys/"
+"fs/pipe-max-size> yield the error B<EPERM>; a privileged process "
+"(B<CAP_SYS_RESOURCE>)  can override the limit."
+msgstr ""
+"I<fd> が参照するパイプの容量を少なくとも I<arg> バイトに変更する。\n"
+"非特権プロセスは、パイプの容量として、\n"
+"システムのページサイズと I</proc/sys/fs/pipe-max-size> で定義される\n"
+"上限値 (B<proc>(5) 参照) の間の任意の値を設定できる。\n"
+"パイプの容量をページサイズよりも小さな値に設定しようとした場合は、\n"
+"暗黙のうちにページサイズに切り上げられる。\n"
+"非特権プロセスがパイプの容量を I</proc/sys/fs/pipe-max-size> で定義\n"
+"された上限より大きな値に設定しようとした場合は、エラー B<EPERM> が\n"
+"発生する。特権プロセス (B<CAP_SYS_RESOURCE> ケーパビリティを持つ\n"
+"プロセス) はこの上限を上書きできる。"
+
+#. type: Plain text
+#: build/C/man2/fcntl.2:1373
 #, fuzzy
 #| msgid ""
 #| "Change the capacity of the pipe referred to by I<fd> to be at least "
@@ -10022,14 +9742,11 @@ msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
 #| "set the pipe capacity smaller than the amount of buffer space currently "
 #| "used to store data produces the error B<EBUSY>."
 msgid ""
-"Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
-"bytes.  An unprivileged process can adjust the pipe capacity to any value "
-"between the system page size and the limit defined in I</proc/sys/fs/pipe-"
-"max-size> (see B<proc>(5)).  Attempts to set the pipe capacity below the "
-"page size are silently rounded up to the page size.  Attempts by an "
-"unprivileged process to set the pipe capacity above the limit in I</proc/sys/"
-"fs/pipe-max-size> yield the error B<EPERM>; a privileged process "
-"(B<CAP_SYS_RESOURCE>)  can override the limit."
+"When allocating the buffer for the pipe, the kernel may use a capacity "
+"larger than I<arg>, if that is convenient for the implementation.  (In the "
+"current implementation, the allocation is the next higher power-of-two page-"
+"size multiple of the requested size.)  The actual capacity (in bytes) that "
+"is set is returned as the function result."
 msgstr ""
 "I<fd> が参照するパイプの容量を少なくとも I<arg> バイトに変更する。\n"
 "非特権プロセスは、パイプの容量として、\n"
@@ -10048,29 +9765,13 @@ msgstr ""
 "サイズよりも小さくしようとした場合は、エラー B<EBUSY> が発生する。"
 
 #. type: Plain text
-#: build/C/man2/fcntl.2:1373
-msgid ""
-"When allocating the buffer for the pipe, the kernel may use a capacity "
-"larger than I<arg>, if that is convenient for the implementation.  (In the "
-"current implementation, the allocation is the next higher power-of-two page-"
-"size multiple of the requested size.)  The actual capacity (in bytes) that "
-"is set is returned as the function result."
-msgstr ""
-
-#. type: Plain text
 #: build/C/man2/fcntl.2:1377
-#, fuzzy
-#| msgid ""
-#| "I<cmd> is B<F_SETPIPE_SZ> and the new pipe capacity specified in I<arg> "
-#| "is smaller than the amount of buffer space currently used to store data "
-#| "in the pipe."
 msgid ""
 "Attempting to set the pipe capacity smaller than the amount of buffer space "
 "currently used to store data produces the error B<EBUSY>."
 msgstr ""
-"I<cmd> が B<F_SETPIPE_SZ> で、 I<arg> で指定されたパイプの新しい容量がパイプ"
-"が、 現在パイプにあるデータを格納するのに使用されているバッファー容量よりも小"
-"さい。"
+"パイプの容量を現在データを格納するのに使用されているバッファーのサイズよりも"
+"小さくしようとした場合は、エラー B<EBUSY> が発生する。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1382
@@ -10200,13 +9901,6 @@ msgstr "B<F_SEAL_SEAL>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1457
-#, fuzzy
-#| msgid ""
-#| "If this seal is set, any further call to B<fcntl>(2)  with B<F_ADD_SEALS> "
-#| "will fail with B<EPERM>.  Therefore, this seal prevents any modifications "
-#| "to the set of seals itself.  If the initial set of seals of a file "
-#| "includes B<F_SEAL_SEAL>, then this effectively causes the set of seals to "
-#| "be constant and locked."
 msgid ""
 "If this seal is set, any further call to B<fcntl>()  with B<F_ADD_SEALS> "
 "fails with the error B<EPERM>.  Therefore, this seal prevents any "
@@ -10214,9 +9908,9 @@ msgid ""
 "file includes B<F_SEAL_SEAL>, then this effectively causes the set of seals "
 "to be constant and locked."
 msgstr ""
-"この seal が設定されると、  これ以降の B<F_ADD_SEALS> を指定した B<fcntl>(2) "
-"ã\81®å\91¼ã\81³å\87ºã\81\97ã\81¯ã\81\99ã\81¹ã\81¦ B<EPERM> ã\81§å¤±æ\95\97ã\81\99ã\82\8bã\80\82 ã\81\97ã\81\9fã\81\8cã\81£ã\81¦ã\80\81 ã\81\93ã\81® seal ã\82\92設å®\9aã\81\99ã\82\8bã\81¨ "
-"seal の集合自身の変更を防止できる。 ファイルの最初の seal の集合に "
+"この seal が設定されると、  これ以降の B<F_ADD_SEALS> を指定した B<fcntl>() "
+"ã\81®å\91¼ã\81³å\87ºã\81\97ã\81¯ã\81\99ã\81¹ã\81¦ B<EPERM> ã\82¨ã\83©ã\83¼ã\81§å¤±æ\95\97ã\81\99ã\82\8bã\80\82 ã\81\97ã\81\9fã\81\8cã\81£ã\81¦ã\80\81 ã\81\93ã\81® seal ã\82\92設å®\9a"
+"すると seal の集合自身の変更を防止できる。 ファイルの最初の seal の集合に "
 "B<F_SEAL_SEAL> が含まれていた場合、 結果的に seal の集合が定数になりロックさ"
 "れることになる。"
 
@@ -10228,13 +9922,6 @@ msgstr "B<F_SEAL_SHRINK>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1472
-#, fuzzy
-#| msgid ""
-#| "If this seal is set, the file in question cannot be reduced in size.  "
-#| "This affects B<open>(2)  with the B<O_TRUNC> flag as well as "
-#| "B<truncate>(2)  and B<ftruncate>(2).  Those calls will fail with B<EPERM> "
-#| "if you try to shrink the file in question.  Increasing the file size is "
-#| "still possible."
 msgid ""
 "If this seal is set, the file in question cannot be reduced in size.  This "
 "affects B<open>(2)  with the B<O_TRUNC> flag as well as B<truncate>(2)  and "
@@ -10255,13 +9942,6 @@ msgstr "B<F_SEAL_GROW>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1486
-#, fuzzy
-#| msgid ""
-#| "If this seal is set, the size of the file in question cannot be "
-#| "increased.  This affects B<write>(2)  beyond the end of the file, "
-#| "B<truncate>(2), B<ftruncate>(2), and B<fallocate>(2).  These calls will "
-#| "fail with B<EPERM> if you use them to increase the file size.  If you "
-#| "keep the size or shrink it, those calls still work as expected."
 msgid ""
 "If this seal is set, the size of the file in question cannot be increased.  "
 "This affects B<write>(2)  beyond the end of the file, B<truncate>(2), "
@@ -10290,16 +9970,6 @@ msgstr "B<F_SEAL_WRITE>"
 #.  the effect of replacing the last hundred bytes by zeros.
 #. type: Plain text
 #: build/C/man2/fcntl.2:1514
-#, fuzzy
-#| msgid ""
-#| "If this seal is set, you cannot modify the contents of the file.  Note "
-#| "that shrinking or growing the size of the file is still possible and "
-#| "allowed.  Thus, this seal is normally used in combination with one of the "
-#| "other seals.  This seal affects B<write>(2)  and B<fallocate>(2)  (only "
-#| "in combination with the B<FALLOC_FL_PUNCH_HOLE> flag).  Those calls will "
-#| "fail with B<EPERM> if this seal is set.  Furthermore, trying to create "
-#| "new shared, writable memory-mappings via B<mmap>(2)  will also fail with "
-#| "B<EPERM>."
 msgid ""
 "If this seal is set, you cannot modify the contents of the file.  Note that "
 "shrinking or growing the size of the file is still possible and allowed.  "
@@ -10319,32 +9989,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1527
-#, fuzzy
-#| msgid ""
-#| "Setting B<F_SEAL_WRITE> via B<fcntl>(2)  with B<F_ADD_SEALS> will fail "
-#| "with B<EBUSY> if any writable, shared mapping exists.  Such mappings must "
-#| "be unmapped before you can add this seal.  Furthermore, if there are any "
-#| "asynchronous I/O operations (B<io_submit>(2))  pending on the file, all "
-#| "outstanding writes will be discarded."
 msgid ""
 "Using the B<F_ADD_SEALS> operation to set the B<F_SEAL_WRITE> seal fails "
 "with B<EBUSY> if any writable, shared mapping exists.  Such mappings must be "
 "unmapped before you can add this seal.  Furthermore, if there are any "
 "asynchronous I/O operations (B<io_submit>(2))  pending on the file, all "
 "outstanding writes will be discarded."
-msgstr ""
-"B<fcntl>(2) の B<F_ADD_SEALS> で B<F_SEAL_WRITE> を設定しようとした場合、 書"
-"き込み可能な共有マッピングが存在すると B<EBUSY> で失敗する。 このようなマッピ"
-"ングは、 この seal を追加する前にアンマップしなければならない。 また、 ファイ"
-"ルに対して処理待ちの非同期 I/O 操作 (B<io_submit>(2) がある場合、 処理されて"
-"いない書き込みは破棄される。"
+msgstr "B<F_SEAL_WRITE> seal を設定するのに B<F_ADD_SEALS> 操作を使った場合、書き込み可能な共有マッピングが存在すると B<EBUSY> で失敗する。 このようなマッピングは、 この seal を追加する前にアンマップしなければならない。 また、 ファイルに対して処理待ちの非同期 I/O 操作 (B<io_submit>(2) がある場合、 処理されていない書き込みは破棄される。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1527
-#, fuzzy, no-wrap
-#| msgid "B<EAGAIN> (since Linux 3.1)"
+#, no-wrap
 msgid "B<F_SEAL_FUTURE_WRITE> (since Linux 5.1)"
-msgstr "B<EAGAIN> (Linux 3.1 以降)"
+msgstr "B<F_SEAL_FUTURE_WRITE> (Linux 5.1 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1541
@@ -10399,10 +10056,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/fcntl.2:1567
-#, fuzzy, no-wrap
-#| msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
+#, no-wrap
 msgid "B<F_GET_RW_HINT> (I<uint64_t *>; since Linux 4.13)"
-msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
+msgstr "B<F_GET_RW_HINT> (I<uint64_t *>; Linux 4.13 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1572
@@ -10417,10 +10073,9 @@ msgstr "I<fd> が参照するパイプの容量を (関数の結果として) 
 
 #. type: TP
 #: build/C/man2/fcntl.2:1572
-#, fuzzy, no-wrap
-#| msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
+#, no-wrap
 msgid "B<F_SET_RW_HINT> (I<uint64_t *>; since Linux 4.13)"
-msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
+msgstr "B<F_SET_RW_HINT> (I<uint64_t *>; Linux 4.13 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1579
@@ -10432,10 +10087,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/fcntl.2:1579
-#, fuzzy, no-wrap
-#| msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
+#, no-wrap
 msgid "B<F_GET_FILE_RW_HINT> (I<uint64_t *>; since Linux 4.13)"
-msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
+msgstr "B<F_GET_FILE_RW_HINT> (I<uint64_t *>; Linux 4.13 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1584
@@ -10450,10 +10104,9 @@ msgstr "I<fd> が参照するパイプの容量を (関数の結果として) 
 
 #. type: TP
 #: build/C/man2/fcntl.2:1584
-#, fuzzy, no-wrap
-#| msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
+#, no-wrap
 msgid "B<F_SET_FILE_RW_HINT> (I<uint64_t *>; since Linux 4.13)"
-msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
+msgstr "B<F_SET_FILE_RW_HINT> (I<uint64_t *>; Linux 4.13 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1589
@@ -10478,7 +10131,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1595
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_NOT_SET>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_NOT_SET>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1599
@@ -10489,7 +10142,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1599
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_NONE>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_NONE>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1602
@@ -10500,7 +10153,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1602
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_SHORT>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_SHORT>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1606
@@ -10513,7 +10166,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1606
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_MEDIUM>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_MEDIUM>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1612
@@ -10526,7 +10179,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1612
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_LONG>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_LONG>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1618
@@ -10539,7 +10192,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1618
 #, no-wrap
 msgid "B<RWH_WRITE_LIFE_EXTREME>"
-msgstr ""
+msgstr "B<RWH_WRITE_LIFE_EXTREME>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1624
@@ -10568,10 +10221,8 @@ msgstr "B<F_DUPFD>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1632
-#, fuzzy
-#| msgid "The new descriptor."
 msgid "The new file descriptor."
-msgstr "新しいディスクリプターを返す。"
+msgstr "新規のファイルディスクリプター。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1632
@@ -10614,10 +10265,8 @@ msgstr "B<F_GETOWN>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1644
-#, fuzzy
-#| msgid "Value of descriptor owner."
 msgid "Value of file descriptor owner."
-msgstr "ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®æ\89\80æ\9c\89è\80\85ã\82\92è¿\94ã\81\99。"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81®æ\89\80æ\9c\89è\80\85。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1644
@@ -10824,16 +10473,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1797
-#, fuzzy
-#| msgid ""
-#| "I<cmd> is B<F_DUPFD> and the process already has the maximum number of "
-#| "file descriptors open."
 msgid ""
 "I<cmd> is B<F_DUPFD> and the per-process limit on the number of open file "
 "descriptors has been reached."
-msgstr ""
-"I<cmd> が B<F_DUPFD>で、 プロセスがすでに最大数までファイルディスクリプターを"
-"オープンしている。"
+msgstr "I<cmd> が B<F_DUPFD>で、オープンされているファイルディスクリプターの数がプロセス単位の上限に達していた。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1797 build/C/man2/flock.2:131 build/C/man3/lockf.3:158
@@ -10896,21 +10539,11 @@ msgstr ""
 #.  or
 #. type: Plain text
 #: build/C/man2/fcntl.2:1856
-#, fuzzy
-#| msgid ""
-#| "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
-#| "definitions, define either B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the "
-#| "value 500 or greater, or B<_POSIX_C_SOURCE> with the value 200809L or "
-#| "greater.)"
 msgid ""
 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
 "definitions, define either B<_XOPEN_SOURCE> with the value 500 or greater, "
 "or B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
-msgstr ""
-"B<F_GETOWN> と B<F_SETOWN> は POSIX.1-2001 で規定されている。 (これら定義する"
-"には、 B<_BSD_SOURCE> を定義するか、 B<_XOPEN_SOURCE> を 500 以上の値で定義す"
-"るか、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 のいずれが必要で"
-"ある。)"
+msgstr "B<F_GETOWN> と B<F_SETOWN> は POSIX.1-2001 で規定されている。 (これら定義するには、 B<_XOPEN_SOURCE> を 500 以上の値で定義するか、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 のいずれが必要である。)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1864
@@ -10953,8 +10586,6 @@ msgstr ""
 #.  FIXME . Once glibc adds support, add a note about FTM requirements
 #. type: Plain text
 #: build/C/man2/fcntl.2:1896
-#, fuzzy
-#| msgid "B<F_ADD_SEALS> and B<F_GET_SEALS> are Lnux-specific."
 msgid "B<F_ADD_SEALS> and B<F_GET_SEALS> are Linux-specific."
 msgstr "B<F_ADD_SEALS> と B<F_GET_SEALS> は Linux 固有である。"
 
@@ -11230,16 +10861,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:2115
-#, fuzzy
-#| msgid ""
-#| "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
-#| "B<capabilities>(7), B<feature_test_macros>(7)"
 msgid ""
 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
 "B<capabilities>(7), B<feature_test_macros>(7), B<lslocks>(8)"
 msgstr ""
-"B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
-"B<capabilities>(7), B<feature_test_macros>(7)"
+" B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
+"B<capabilities>(7), B<feature_test_macros>(7), B<lslocks>(8)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:2128
@@ -11263,10 +10890,9 @@ msgstr "FEXECVE"
 #. type: TH
 #: build/C/man3/fexecve.3:25 build/C/man2/getdomainname.2:29
 #: build/C/man2/gethostname.2:32 build/C/man2/uname.2:27
-#, fuzzy, no-wrap
-#| msgid "2010-09-10"
+#, no-wrap
 msgid "2019-10-10"
-msgstr "2010-09-10"
+msgstr " 2019-10-10"
 
 #. type: Plain text
 #: build/C/man3/fexecve.3:28
@@ -11354,10 +10980,9 @@ msgstr "B<fexecve>()  は glibc 2.3.2 以降で実装されている。"
 
 #. type: tbl table
 #: build/C/man3/fexecve.3:116
-#, fuzzy, no-wrap
-#| msgid "B<fexecve>():"
+#, no-wrap
 msgid "B<fexecve>()"
-msgstr "B<fexecve>():"
+msgstr " B<fexecve>()"
 
 #. type: Plain text
 #: build/C/man3/fexecve.3:124
@@ -11544,15 +11169,6 @@ msgstr "一つのファイルに共有ロックと排他ロックを同時に設
 
 #. type: Plain text
 #: build/C/man2/flock.2:88
-#, fuzzy
-#| msgid ""
-#| "Locks created by B<flock>()  are associated with an open file description "
-#| "(see B<open>(2)).  This means that duplicate file descriptors (created "
-#| "by, for example, B<fork>(2)  or B<dup>(2))  refer to the same lock, and "
-#| "this lock may be modified or released using any of these descriptors.  "
-#| "Furthermore, the lock is released either by an explicit B<LOCK_UN> "
-#| "operation on any of these duplicate descriptors, or when all such "
-#| "descriptors have been closed."
 msgid ""
 "Locks created by B<flock>()  are associated with an open file description "
 "(see B<open>(2)).  This means that duplicate file descriptors (created by, "
@@ -11572,26 +11188,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/flock.2:97
-#, fuzzy
-#| msgid ""
-#| "If a process uses B<open>(2)  (or similar) to obtain more than one "
-#| "descriptor for the same file, these descriptors are treated independently "
-#| "by B<flock>().  An attempt to lock the file using one of these file "
-#| "descriptors may be denied by a lock that the calling process has already "
-#| "placed via another descriptor."
 msgid ""
 "If a process uses B<open>(2)  (or similar) to obtain more than one file "
 "descriptor for the same file, these file descriptors are treated "
 "independently by B<flock>().  An attempt to lock the file using one of these "
 "file descriptors may be denied by a lock that the calling process has "
 "already placed via another file descriptor."
-msgstr ""
-"あるプロセスが B<open>(2)  (もしくは同様の方法) を使って同じファイルに対して "
-"複数のディスクリプターを取得した場合、 B<flock>()  はこれら複数のディスクリプ"
-"ターを各々独立のものとして扱う。 これらのファイルディスクリプターの一つを使っ"
-"てファイルをロックしようと した際、そのロック要求は、呼び出し元のプロセスがそ"
-"のファイルの別の ディスクリプター経由ですでに設定しているロックによって拒否さ"
-"れる場合がある。"
+msgstr "あるプロセスが B<open>(2)  (もしくは同様の方法) を使って同じファイルに対して 複数のファイルディスクリプターを取得した場合、 B<flock>()  はこれら複数のファイルディスクリプターを各々独立のものとして扱う。 これらのファイルディスクリプターの一つを使ってファイルをロックしようと した際、そのロック要求は、呼び出し元のプロセスがそのファイルの別のファイルディスクリプター経由ですでに設定しているロックによって拒否される場合がある。"
 
 #. type: Plain text
 #: build/C/man2/flock.2:104
@@ -11730,10 +11333,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/flock.2:203
-#, fuzzy, no-wrap
-#| msgid "version details"
+#, no-wrap
 msgid "NFS details"
-msgstr "B<chown>(2) を参照。"
+msgstr "NFS での詳細"
 
 #. type: Plain text
 #: build/C/man2/flock.2:213
@@ -11765,16 +11367,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/flock.2:250
-#, fuzzy
-#| msgid ""
-#| "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), "
-#| "B<fork>(2), B<open>(2), B<lockf>(3)"
 msgid ""
 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
 "B<open>(2), B<lockf>(3), B<lslocks>(8)"
 msgstr ""
-"B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
-"B<open>(2), B<lockf>(3)"
+" B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
+"B<open>(2), B<lockf>(3), B<lslocks>(8)"
 
 #. type: Plain text
 #: build/C/man2/flock.2:255
@@ -11809,20 +11407,11 @@ msgstr "B<pid_t fork(void);>"
 
 #. type: Plain text
 #: build/C/man2/fork.2:57
-#, fuzzy
-#| msgid ""
-#| "B<fork>()  creates a new process by duplicating the calling process.  The "
-#| "new process, referred to as the I<child>, is an exact duplicate of the "
-#| "calling process, referred to as the I<parent>, except for the following "
-#| "points:"
 msgid ""
 "B<fork>()  creates a new process by duplicating the calling process.  The "
 "new process is referred to as the I<child> process.  The calling process is "
 "referred to as the I<parent> process."
-msgstr ""
-"B<fork>()  は呼び出し元プロセスを複製して新しいプロセスを生成する。 I<child> "
-"で参照される新しいプロセスは、以下の点を除き、 I<parent> で参照される呼び出し"
-"元プロセスの完全な複製である:"
+msgstr "B<fork>()  は呼び出し元プロセスを複製して新しいプロセスを生成する。新しいプロセスは「子」プロセスと呼ばれ、呼び出し元プロセスは「親」プロセスと呼ばれる。"
 
 #. type: Plain text
 #: build/C/man2/fork.2:67
@@ -11924,18 +11513,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fork.2:118
-#, fuzzy
-#| msgid ""
-#| "The process attributes in the preceding list are all specified in "
-#| "POSIX.1-2001.  The parent and child also differ with respect to the "
-#| "following Linux-specific process attributes:"
 msgid ""
 "The process attributes in the preceding list are all specified in POSIX.1.  "
 "The parent and child also differ with respect to the following Linux-"
 "specific process attributes:"
-msgstr ""
-"上記のリストにあるプロセス属性は、POSIX.1-2001 で全て指定されている。 親プロ"
-"セスと子プロセスは、以下の Linux 固有のプロセス属性も異なる:"
+msgstr "上記のリストにあるプロセス属性は、POSIX.1 で全て指定されている。 親プロセスと子プロセスは、以下の Linux 固有のプロセス属性も異なる:"
 
 #. type: Plain text
 #: build/C/man2/fork.2:125
@@ -12025,14 +11607,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fork.2:197
-#, fuzzy
-#| msgid ""
-#| "The child inherits copies of the parent's set of open file descriptors.  "
-#| "Each file descriptor in the child refers to the same open file "
-#| "description (see B<open>(2))  as the corresponding file descriptor in the "
-#| "parent.  This means that the two descriptors share open file status "
-#| "flags, current file offset, and signal-driven I/O attributes (see the "
-#| "description of B<F_SETOWN> and B<F_SETSIG> in B<fcntl>(2))."
 msgid ""
 "The child inherits copies of the parent's set of open file descriptors.  "
 "Each file descriptor in the child refers to the same open file description "
@@ -12040,56 +11614,26 @@ msgid ""
 "means that the two file descriptors share open file status flags, file "
 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
 "and B<F_SETSIG> in B<fcntl>(2))."
-msgstr ""
-"子プロセスは親プロセスが持つ オープンファイルディスクリプターの集合のコピーを"
-"引き継ぐ。 子プロセスの各ファイルディスクリプターは、 親プロセスのファイル"
-"ディスクリプターに対応する 同じオープンファイル記述 (file description) を参照"
-"する (B<open>(2)  を参照)。 これは 2 つのディスクリプターが、ファイル状態フラ"
-"グ・ 現在のファイルオフセット、シグナル駆動 (signal-driven) I/O 属性 "
-"(B<fcntl>(2)  における B<F_SETOWN>, B<F_SETSIG> の説明を参照) を共有すること"
-"を意味する。"
+msgstr "子プロセスは親プロセスが持つ オープンファイルディスクリプターの集合のコピーを引き継ぐ。 子プロセスの各ファイルディスクリプターは、 親プロセスのファイルディスクリプターに対応する 同じオープンファイル記述 (file description) を参照する (B<open>(2)  を参照)。 これは 2 つのファイルディスクリプターが、ファイル状態フラグ・ ファイルオフセット、シグナル駆動 (signal-driven) I/O 属性 (B<fcntl>(2)  における B<F_SETOWN>, B<F_SETSIG> の説明を参照) を共有することを意味する。"
 
 #. type: Plain text
 #: build/C/man2/fork.2:206
-#, fuzzy
-#| msgid ""
-#| "The child inherits copies of the parent's set of open message queue "
-#| "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers "
-#| "to the same open message queue description as the corresponding "
-#| "descriptor in the parent.  This means that the two descriptors share the "
-#| "same flags (I<mq_flags>)."
 msgid ""
 "The child inherits copies of the parent's set of open message queue "
 "descriptors (see B<mq_overview>(7)).  Each file descriptor in the child "
 "refers to the same open message queue description as the corresponding file "
 "descriptor in the parent.  This means that the two file descriptors share "
 "the same flags (I<mq_flags>)."
-msgstr ""
-"子プロセスは親プロセスが持つオープンメッセージキューディスクリプター "
-"(B<mq_overview>(7)  を参照) の集合のコピーを引き継ぐ。 子プロセスの各ディスク"
-"リプターは、 親プロセスのディスクリプターに対応する 同じオープンメッセージ"
-"キューディスクリプターを参照する。 これは 2 つのディスクリプターが同じフラグ "
-"(I<mq_flags>)  を共有することを意味する。"
+msgstr "子プロセスは親プロセスが持つオープンメッセージキューディスクリプター (B<mq_overview>(7)  を参照) の集合のコピーを引き継ぐ。 子プロセスの各ファイルディスクリプターは、 親プロセスのファイルディスクリプターに対応する同じオープンメッセージキューディスクリプターを参照する。 これは 2 つのファイルディスクリプターが同じフラグ (I<mq_flags>)  を共有することを意味する。"
 
 #. type: Plain text
 #: build/C/man2/fork.2:214
-#, fuzzy
-#| msgid ""
-#| "The child inherits copies of the parent's set of open directory streams "
-#| "(see B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory "
-#| "streams in the parent and child I<may> share the directory stream "
-#| "positioning; on Linux/glibc they do not."
 msgid ""
 "The child inherits copies of the parent's set of open directory streams (see "
 "B<opendir>(3)).  POSIX.1 says that the corresponding directory streams in "
 "the parent and child I<may> share the directory stream positioning; on Linux/"
 "glibc they do not."
-msgstr ""
-"子プロセスは、親プロセスのオープン済みのディレクトリストリームの集合 "
-"(B<opendir>(3)  参照) のコピーを継承する。 POSIX.1-2001 では、親プロセスと子"
-"プロセス間の対応するディレクトリストリーム はディレクトリストリームの位置 "
-"(positioning) を共有してもよいとされている。 Linux/glibc ではディレクトリスト"
-"リームの位置の共有は行われていない。"
+msgstr "子プロセスは、親プロセスのオープン済みのディレクトリストリームの集合 (B<opendir>(3)  参照) のコピーを継承する。 POSIX.1 では、親プロセスと子プロセス間の対応するディレクトリストリーム はディレクトリストリームの位置 (positioning) を共有してもよいとされている。 Linux/glibc ではディレクトリストリームの位置の共有は行われていない。"
 
 #. type: Plain text
 #: build/C/man2/fork.2:221
@@ -12175,10 +11719,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/fork.2:274
-#, fuzzy, no-wrap
-#| msgid "B<EAGAIN> (since Linux 3.1)"
+#, no-wrap
 msgid "B<ERESTARTNOINTR> (since Linux 2.6.17)"
-msgstr "B<EAGAIN> (Linux 3.1 以降)"
+msgstr "B<ERESTARTNOINTR> (Linux 2.6.17 以降)"
 
 #.  commit 4a2c7a7837da1b91468e50426066d988050e4d56
 #. type: Plain text
@@ -12230,18 +11773,14 @@ msgstr "B<pipe>(2)  および B<wait>(2)  を参照。"
 
 #. type: Plain text
 #: build/C/man2/fork.2:328
-#, fuzzy
-#| msgid ""
-#| "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
-#| "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), "
-#| "B<credentials>(7)"
 msgid ""
 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<pthread_atfork>(3), "
 "B<capabilities>(7), B<credentials>(7)"
 msgstr ""
-"B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
-"B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
+" B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
+"B<vfork>(2), B<wait>(2), B<daemon>(3), B<pthread_atfork>(3), "
+"B<capabilities>(7), B<credentials>(7)"
 
 #. type: TH
 #: build/C/man3/fpathconf.3:42
@@ -12251,10 +11790,9 @@ msgstr "FPATHCONF"
 
 #. type: TH
 #: build/C/man3/fpathconf.3:42
-#, fuzzy, no-wrap
-#| msgid "2012-07-13"
+#, no-wrap
 msgid "2017-07-13"
-msgstr "2012-07-13"
+msgstr " 2017-07-13"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:45
@@ -12263,16 +11801,13 @@ msgstr "fpathconf, pathconf - ファイルの設定値を取得する"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:51
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
-#| "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
 "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
 msgstr ""
-"B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
-"B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
+" B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
+"B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:58
@@ -12321,19 +11856,11 @@ msgstr "B<_PC_LINK_MAX>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:88
-#, fuzzy
-#| msgid ""
-#| "returns the maximum number of links to the file.  If I<fd> or I<path> "
-#| "refer to a directory, then the value applies to the whole directory.  The "
-#| "corresponding macro is B<_POSIX_LINK_MAX>."
 msgid ""
 "The maximum number of links to the file.  If I<fd> or I<path> refer to a "
 "directory, then the value applies to the whole directory.  The corresponding "
 "macro is B<_POSIX_LINK_MAX>."
-msgstr ""
-"ファイルへのリンクの最大数を返す。 I<fd> または I<path> がディレクトリの場合"
-"は、この値はディレクトリ全体に適用される。対応する マクロは "
-"B<_POSIX_LINK_MAX> である。"
+msgstr "ファイルへのリンクの最大数。 I<fd> または I<path> がディレクトリの場合は、この値はディレクトリ全体に適用される。対応する マクロは B<_POSIX_LINK_MAX> である。"
 
 #. type: TP
 #: build/C/man3/fpathconf.3:88
@@ -12343,17 +11870,10 @@ msgstr "B<_PC_MAX_CANON>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:97
-#, fuzzy
-#| msgid ""
-#| "returns the maximum length of a formatted input line, where I<fd> or "
-#| "I<path> must refer to a terminal.  The corresponding macro is "
-#| "B<_POSIX_MAX_CANON>."
 msgid ""
 "The maximum length of a formatted input line, where I<fd> or I<path> must "
 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
-msgstr ""
-"フォーマット付き入力行の最大長を返す。このとき I<fd> または I<path> は端末を"
-"参照していなければならない。 対応するマクロは B<_POSIX_MAX_CANON> である。"
+msgstr "フォーマット付き入力行の最大長。このとき I<fd> または I<path> は端末を参照していなければならない。 対応するマクロは B<_POSIX_MAX_CANON> である。"
 
 #. type: TP
 #: build/C/man3/fpathconf.3:97
@@ -12363,16 +11883,10 @@ msgstr "B<_PC_MAX_INPUT>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:106
-#, fuzzy
-#| msgid ""
-#| "returns the maximum length of an input line, where I<fd> or I<path> must "
-#| "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
 msgid ""
 "The maximum length of an input line, where I<fd> or I<path> must refer to a "
 "terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
-msgstr ""
-"入力行の最大長を返す。このとき I<fd> または I<path> は端末を参照していなけれ"
-"ばならない。 対応するマクロは B<_POSIX_MAX_INPUT> である。"
+msgstr "入力行の最大長。このとき I<fd> または I<path> は端末を参照していなければならない。 対応するマクロは B<_POSIX_MAX_INPUT> である。"
 
 #. type: TP
 #: build/C/man3/fpathconf.3:106
@@ -12382,17 +11896,10 @@ msgstr "B<_PC_NAME_MAX>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:115
-#, fuzzy
-#| msgid ""
-#| "returns the maximum length of a filename in the directory I<path> or "
-#| "I<fd> that the process is allowed to create.  The corresponding macro is "
-#| "B<_POSIX_NAME_MAX>."
 msgid ""
 "The maximum length of a filename in the directory I<path> or I<fd> that the "
 "process is allowed to create.  The corresponding macro is B<_POSIX_NAME_MAX>."
-msgstr ""
-"ディレクトリ I<path> または I<fd> 内に、そのプロセスが作成することができる"
-"ファイル名の最大長を返す。 対応するマクロは B<_POSIX_NAME_MAX> である。"
+msgstr "ディレクトリ I<path> または I<fd> 内に、そのプロセスが作成することができるファイル名の最大長。 対応するマクロは B<_POSIX_NAME_MAX> である。"
 
 #. type: TP
 #: build/C/man3/fpathconf.3:115
@@ -12402,17 +11909,10 @@ msgstr "B<_PC_PATH_MAX>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:124
-#, fuzzy
-#| msgid ""
-#| "returns the maximum length of a relative pathname when I<path> or I<fd> "
-#| "is the current working directory.  The corresponding macro is "
-#| "B<_POSIX_PATH_MAX>."
 msgid ""
 "The maximum length of a relative pathname when I<path> or I<fd> is the "
 "current working directory.  The corresponding macro is B<_POSIX_PATH_MAX>."
-msgstr ""
-"I<path> または I<fd> がカレントディレクトリの場合、相対パス名の最大長を返"
-"す。 対応するマクロは B<_POSIX_PATH_MAX> である。"
+msgstr "I<path> または I<fd> がカレントディレクトリの場合、相対パス名の最大長。 対応するマクロは B<_POSIX_PATH_MAX> である。"
 
 #. type: TP
 #: build/C/man3/fpathconf.3:124
@@ -12463,10 +11963,6 @@ msgstr "B<_PC_NO_TRUNC>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:167
-#, fuzzy
-#| msgid ""
-#| "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
-#| "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
 msgid ""
 "This returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
@@ -12482,10 +11978,6 @@ msgstr "B<_PC_VDISABLE>"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:174
-#, fuzzy
-#| msgid ""
-#| "returns nonzero if special character processing can be disabled, where "
-#| "I<fd> or I<path> must refer to a terminal."
 msgid ""
 "This returns nonzero if special character processing can be disabled, where "
 "I<fd> or I<path> must refer to a terminal."
@@ -12547,17 +12039,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:223
-#, fuzzy
-#| msgid "I<fd> is not a valid file descriptor."
 msgid "(B<fpathconf>())  I<fd> is not a valid file descriptor."
-msgstr "I<fd> が適切なファイルディスクリプターでない。"
+msgstr "(B<fpathconf>()) I<fd> が適切なファイルディスクリプターでない。"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:227 build/C/man3/sysconf.3:371
-#, fuzzy
-#| msgid "I<name> is an invalid address."
 msgid "I<name> is invalid."
-msgstr "I<name> がä¸\8dæ­£ã\81ªã\82¢ã\83\89ã\83¬ã\82¹ã\81§ã\81\82ã\82\8bã\80\82"
+msgstr "I<name> がç\84¡å\8a¹ã\81§ã\81\82ã\82\8bã\80\82"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:232
@@ -12568,19 +12056,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:237
-#, fuzzy
-#| msgid "Too many symbolic links were encountered in resolving I<path>."
 msgid ""
 "(B<pathconf>())  Too many symbolic links were encountered while resolving "
 "I<path>."
-msgstr "I<path> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
+msgstr "(B<pathconf>()) I<path> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:242
-#, fuzzy
-#| msgid "I<path> is too long."
 msgid "(B<pathconf>())  I<path> is too long."
-msgstr "I<path> が長過ぎる。"
+msgstr "(B<pathconf>()) I<path> が長過ぎる。"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:250
@@ -12596,23 +12080,20 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:256
-#, fuzzy
-#| msgid ""
-#| "A component used as a directory in I<pathname> is not, in fact, a "
-#| "directory."
 msgid ""
 "(B<pathconf>())  A component used as a directory in I<path> is not in fact a "
 "directory."
-msgstr "I<pathname> のディレクトリ部分が実際にはディレクトリでない。"
+msgstr "(B<pathconf>()) I<path> のディレクトリ部分が実際にはディレクトリでない。"
 
 #. type: tbl table
 #: build/C/man3/fpathconf.3:267
-#, fuzzy, no-wrap
-#| msgid "B<fchown>(), B<lchown>():"
+#, no-wrap
 msgid ""
 "B<fpathconf>(),\n"
 "B<pathconf>()"
-msgstr "B<fchown>(), B<lchown>():"
+msgstr ""
+" B<fpathconf>(),\n"
+"B<pathconf>()"
 
 #. type: Plain text
 #: build/C/man3/fpathconf.3:277
@@ -12672,15 +12153,22 @@ msgid ""
 "        _BSD_SOURCE || _XOPEN_SOURCE\n"
 "            || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
 msgstr ""
+"B<fsync>():\n"
+"    2.16 以降:\n"
+"        No feature test macros need be defined\n"
+"    glibc 2.15 以前:\n"
+"        _BSD_SOURCE || _XOPEN_SOURCE\n"
+"            || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:62
-#, fuzzy, no-wrap
-#| msgid "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500"
+#, no-wrap
 msgid ""
 "B<fdatasync>():\n"
 "    _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500\n"
-msgstr "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500"
+msgstr ""
+" B<fdatasync>():\n"
+"    _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500\n"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:73
@@ -12738,16 +12226,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fsync.2:107
-#, fuzzy
-#| msgid ""
-#| "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
-#| "metadata unless that metadata is needed in order to allow a subsequent "
-#| "data retrieval to be correctly handled.  For example, changes to "
-#| "I<st_atime> or I<st_mtime> (respectively, time of last access and time of "
-#| "last modification; see B<stat>(2))  do not require flushing because they "
-#| "are not necessary for a subsequent data read to be handled correctly.  On "
-#| "the other hand, a change to the file size (I<st_size>, as made by say "
-#| "B<ftruncate>(2)), would require a metadata flush."
 msgid ""
 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
 "metadata unless that metadata is needed in order to allow a subsequent data "
@@ -12757,15 +12235,7 @@ msgid ""
 "necessary for a subsequent data read to be handled correctly.  On the other "
 "hand, a change to the file size (I<st_size>, as made by say "
 "B<ftruncate>(2)), would require a metadata flush."
-msgstr ""
-"B<fdatasync>()  は B<fsync>()  と同様であるが、メタデータの扱いが異なる。 "
-"B<fdatasync>()  は、それ以降のデータ読み込みを正しく扱うためにそのメタデータ"
-"が必要に ならない限り、変更されたメタデータをフラッシュしない。 例えば、 "
-"st_atime や st_mtime (それぞれ最終アクセス時刻、最終修正時刻; B<stat>(2)  参"
-"照) の変更はフラッシュを必要としない。 なぜならこれらはそれ以降のデータ読み込"
-"みを正しく扱うために 必要ではないからである。 一方、ファイルサイズ "
-"(B<ftruncate>(2)  では I<st_size>)  の変更はメタデータのフラッシュが必要であ"
-"る。"
+msgstr "B<fdatasync>()  は B<fsync>()  と同様であるが、メタデータの扱いが異なる。 B<fdatasync>()  は、それ以降のデータ読み込みを正しく扱うためにそのメタデータが必要に ならない限り、変更されたメタデータをフラッシュしない。 例えば、 st_atime や st_mtime (それぞれ最終アクセス時刻、最終修正時刻; B<inode>(7) 参照) の変更はフラッシュを必要としない。 なぜならこれらはそれ以降のデータ読み込みを正しく扱うために 必要ではないからである。 一方、ファイルサイズ (B<ftruncate>(2)  では I<st_size>)  の変更はメタデータのフラッシュが必要である。"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:112
@@ -12818,13 +12288,10 @@ msgstr "B<EROFS>, B<EINVAL>"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:144
-#, fuzzy
-#| msgid ""
-#| "I<fd> is bound to a special file which does not support synchronization."
 msgid ""
 "I<fd> is bound to a special file (e.g., a pipe, FIFO, or socket)  which does "
 "not support synchronization."
-msgstr "I<fd> が同期操作をサポートしてない特殊なファイルを参照している。"
+msgstr "I<fd> が同期操作をサポートしてない特殊なファイル (パイプ、FIFO、ソケットなど) を参照している。"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:152
@@ -12836,10 +12303,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fsync.2:154
-#, fuzzy
-#| msgid "POSIX.1-2001, POSIX.1-2008."
 msgid "POSIX.1-2001, POSIX.1-2008, 4.3BSD."
-msgstr "POSIX.1-2001, POSIX.1-2008."
+msgstr " POSIX.1-2001, POSIX.1-2008, 4.3BSD."
 
 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
 #.  -1: unavailable, 0: ask using sysconf().
@@ -12875,38 +12340,22 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fsync.2:189
-#, fuzzy
-#| msgid ""
-#| "The B<fsync>()  implementations in older kernels and lesser used "
-#| "filesystems does not know how to flush disk caches.  In these cases disk "
-#| "caches need to be disabled using B<hdparm>(8)  or B<sdparm>(8)  to "
-#| "guarantee safe operation."
 msgid ""
 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
 "do not know how to flush disk caches.  In these cases disk caches need to be "
 "disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe operation."
-msgstr ""
-"古いカーネルやあまり使われていないファイルシステムの B<fsync>() の実装で"
-"は、\n"
-"ディスクキャッシュをフラッシュする方法が分からない場合がある。そのような場"
-"合\n"
-"には、安全に操作が行われることを保証するため、B<hdparm>(8) や B<sdparm>(8) "
-"を\n"
-"使ってディスクキャッシュを無効にする必要がある。"
+msgstr "古いカーネルやあまり使われていないファイルシステムの B<fsync>() の実装では、ディスクキャッシュをフラッシュする方法が分からない場合がある。そのような場合には、安全に操作が行われることを保証するため、B<hdparm>(8) や B<sdparm>(8) を使ってディスクキャッシュを無効にする必要がある。"
 
 #. type: Plain text
 #: build/C/man2/fsync.2:201
-#, fuzzy
-#| msgid ""
-#| "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), "
-#| "B<hdparm>(8), B<mount>(8), B<sync>(1)"
 msgid ""
 "B<sync>(1), B<bdflush>(2), B<open>(2), B<posix_fadvise>(2), B<pwritev>(2), "
 "B<sync>(2), B<sync_file_range>(2), B<fflush>(3), B<fileno>(3), B<hdparm>(8), "
 "B<mount>(8)"
 msgstr ""
-"B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
-"B<mount>(8), B<sync>(1)"
+" B<sync>(1), B<bdflush>(2), B<open>(2), B<posix_fadvise>(2), B<pwritev>(2), "
+"B<sync>(2), B<sync_file_range>(2), B<fflush>(3), B<fileno>(3), B<hdparm>(8), "
+"B<mount>(8)"
 
 #. type: TH
 #: build/C/man3/get_nprocs_conf.3:26
@@ -12963,10 +12412,9 @@ msgstr "「説明」の節で説明した通りである。"
 
 #. type: tbl table
 #: build/C/man3/get_nprocs_conf.3:58
-#, fuzzy, no-wrap
-#| msgid "B<getgroups>(2)"
+#, no-wrap
 msgid "B<get_nprocs>(),\n"
-msgstr "B<getgroups>(2)"
+msgstr " B<get_nprocs>(),\n"
 
 #. type: tbl table
 #: build/C/man3/get_nprocs_conf.3:58 build/C/man3/getlogin.3:159
@@ -12989,10 +12437,9 @@ msgstr ".br\n"
 
 #. type: tbl table
 #: build/C/man3/get_nprocs_conf.3:60
-#, fuzzy, no-wrap
-#| msgid "B<int get_nprocs_conf(void);>"
+#, no-wrap
 msgid "B<get_nprocs_conf>()"
-msgstr "B<int get_nprocs_conf(void);>"
+msgstr " B<get_nprocs_conf>()"
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:65 build/C/man3/getopt.3:378
@@ -13023,16 +12470,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:82
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
-#| "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
+#, no-wrap
 msgid ""
 "np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
 "np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
 msgstr ""
-"    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
-"    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
+" np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
+"np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:90
@@ -13045,32 +12489,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:95
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>sys/sysinfo.hE<gt>\n"
 msgstr ""
-"#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
+" #include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>sys/sysinfo.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:104
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    printf(\"This system has %d processors configured and \"\n"
-#| "            \"%d processors available.\\en\",\n"
-#| "            get_nprocs_conf(), get_nprocs());\n"
-#| "    return 0;\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -13081,21 +12512,19 @@ msgid ""
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
 "    printf(\"This system has %d processors configured and \"\n"
 "            \"%d processors available.\\en\",\n"
 "            get_nprocs_conf(), get_nprocs());\n"
-"    return 0;\n"
+"    exit(EXIT_SUCCESS);\n"
 "}\n"
 
 #. type: Plain text
 #: build/C/man3/get_nprocs_conf.3:107
-#, fuzzy
-#| msgid "B<proc>(5)"
 msgid "B<nproc>(1)"
-msgstr "B<proc>(5)"
+msgstr " B<nproc>(1)"
 
 #. type: TH
 #: build/C/man3/getcwd.3:32
@@ -13152,16 +12581,17 @@ msgid ""
 "    || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"(_XOPEN_SOURCE\\ E<gt>=\\ 500) && ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200809L)\n"
+"    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"    || /* Glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #.      || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 #. type: Plain text
 #: build/C/man3/getcwd.3:71 build/C/man3/getdtablesize.3:55
 #: build/C/man3/gethostid.3:49 build/C/man2/getpagesize.2:56
 #: build/C/man3/ualarm.3:54 build/C/man3/usleep.3:63 build/C/man2/vfork.2:59
-#, fuzzy
-#| msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
 msgid "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
-msgstr "glibc 2.12 以降: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
+msgstr " _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
 
 #. type: Plain text
 #: build/C/man3/getcwd.3:81
@@ -13249,11 +12679,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getcwd.3:164
-#, fuzzy
-#| msgid ""
-#| "On success, these functions return a pointer to a string containing the "
-#| "pathname of the current working directory.  In the case B<getcwd>()  and "
-#| "B<getwd>()  this is the same value as I<buf>."
 msgid ""
 "On success, these functions return a pointer to a string containing the "
 "pathname of the current working directory.  In the case of B<getcwd>()  and "
@@ -13332,19 +12757,19 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man3/getcwd.3:221
-#, fuzzy, no-wrap
-#| msgid "B<getopt>(1), B<getsubopt>(3)"
+#, no-wrap
 msgid ""
 "B<getcwd>(),\n"
 "B<getwd>()"
-msgstr "B<getopt>(1), B<getsubopt>(3)"
+msgstr ""
+" B<getcwd>(),\n"
+"B<getwd>()"
 
 #. type: tbl table
 #: build/C/man3/getcwd.3:224
-#, fuzzy, no-wrap
-#| msgid "B<get_current_dir_name>():"
+#, no-wrap
 msgid "B<get_current_dir_name>()"
-msgstr "B<get_current_dir_name>():"
+msgstr " B<get_current_dir_name>()"
 
 #. type: Plain text
 #: build/C/man3/getcwd.3:234
@@ -13452,15 +12877,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getcwd.3:324
-#, fuzzy
-#| msgid ""
-#| "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
-#| "B<malloc>(3)"
 msgid ""
 "B<pwd>(1), B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
 "B<malloc>(3)"
 msgstr ""
-"B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), B<malloc>(3)"
+" B<pwd>(1), B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
+"B<malloc>(3)"
 
 #. type: TH
 #: build/C/man2/getdomainname.2:29
@@ -13598,10 +13020,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getdomainname.2:141
-#, fuzzy
-#| msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2), B<uts_namespaces>(7)"
-msgstr "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
+msgstr ""
+" B<gethostname>(2), B<sethostname>(2), B<uname>(2), B<uts_namespaces>(7)"
 
 #. type: TH
 #: build/C/man3/getdtablesize.3:27
@@ -13611,10 +13032,8 @@ msgstr "GETDTABLESIZE"
 
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:30
-#, fuzzy
-#| msgid "getdtablesize - get descriptor table size"
 msgid "getdtablesize - get file descriptor table size"
-msgstr "getdtablesize - ディスクリプターテーブルのサイズを取得する"
+msgstr "getdtablesize - ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\83\86ã\83¼ã\83\96ã\83«ã\81®ã\82µã\82¤ã\82ºã\82\92å\8f\96å¾\97ã\81\99ã\82\8b"
 
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:34
@@ -13634,6 +13053,9 @@ msgid ""
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 "    || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
 msgstr ""
+"/* Glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
+"    || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
 
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:62
@@ -13660,44 +13082,27 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man3/getdtablesize.3:80
-#, fuzzy, no-wrap
-#| msgid "B<getdtablesize>():"
+#, no-wrap
 msgid "B<getdtablesize>()"
-msgstr "B<getdtablesize>():"
+msgstr " B<getdtablesize>()"
 
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:90
-#, fuzzy
-#| msgid ""
-#| "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in "
-#| "4.2BSD).  It is not specified in POSIX.1-2001; portable applications "
-#| "should employ I<sysconf(_SC_OPEN_MAX)> instead of this call."
 msgid ""
 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
 "It is not specified in POSIX.1; portable applications should employ "
 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
-msgstr ""
-"SVr4, 4.4BSD (B<getdtablesize>()  関数は 4.2BSD で最初に現われた)。 これは "
-"POSIX.1-2001 で規定されていないので、 移植性のあるアプリケーションはこの呼び"
-"出しの代わりに I<sysconf(_SC_OPEN_MAX)> を使うべきである。"
+msgstr "SVr4, 4.4BSD (B<getdtablesize>()  関数は 4.2BSD で最初に現われた)。 これは POSIX.1 で規定されていないので、 移植性のあるアプリケーションはこの呼び出しの代わりに I<sysconf(_SC_OPEN_MAX)> を使うべきである。"
 
 #.  The libc4 and libc5 versions return
 #.  .B OPEN_MAX
 #.  (set to 256 since Linux 0.98.4).
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:103
-#, fuzzy
-#| msgid ""
-#| "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
-#| "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
-#| "limit, or B<OPEN_MAX> when that fails."
 msgid ""
 "The glibc version of B<getdtablesize>()  calls B<getrlimit>(2)  and returns "
 "the current B<RLIMIT_NOFILE> limit, or B<OPEN_MAX> when that fails."
-msgstr ""
-"B<getdtablesize>()  は libc のライブラリ関数として実装されている。glibc 版は "
-"B<getrlimit>(2)  を呼び出して、現在の B<RLIMIT_NOFILE> を返す。 呼び出しに失"
-"敗した場合は B<OPEN_MAX> を返す。"
+msgstr "glibc 版の B<getdtablesize>() は、 B<getrlimit>(2) を呼び出して、現在の B<RLIMIT_NOFILE> を返す。 呼び出しに失敗した場合は B<OPEN_MAX> を返す。"
 
 #. type: Plain text
 #: build/C/man3/getdtablesize.3:108
@@ -13738,25 +13143,13 @@ msgstr "B<sethostid>():"
 
 #. type: Plain text
 #: build/C/man3/gethostid.3:72
-#, fuzzy
-#| msgid ""
-#| "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-"
-#| "bit identifier for the current machine.  The 32-bit identifier is "
-#| "intended to be unique among all UNIX systems in existence.  This normally "
-#| "resembles the Internet address for the local machine, as returned by "
-#| "B<gethostbyname>(3), and thus usually never needs to be set."
 msgid ""
 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
 "identifier for the current machine.  The 32-bit identifier was intended to "
 "be unique among all UNIX systems in existence.  This normally resembles the "
 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
 "and thus usually never needs to be set."
-msgstr ""
-"B<gethostid>()  と B<sethostid>()  は、それぞれ、現在使用しているホストに固有"
-"の 32 ビットの識別子の 取得/設定を行う。 この 32 ビットの識別子は、現在存在し"
-"ている全ての UNIX システム の中で唯一になるように決められる。通常は "
-"B<gethostbyname>(3)  により返されるローカルマシンの Internet アドレスが代わり"
-"に使用され、 普通は識別子をあえて設定する必要はない。"
+msgstr "B<gethostid>()  と B<sethostid>()  は、それぞれ、現在使用しているホストに固有の 32 ビットの識別子の 取得/設定を行う。 この 32 ビットの識別子は、現在存在している全ての UNIX システム の中で唯一になるようにすることを意図したものだった。通常は B<gethostbyname>(3)  により返されるローカルマシンの Internet アドレスが代わりに使用され、 普通は識別子をあえて設定する必要はない。"
 
 #. type: Plain text
 #: build/C/man3/gethostid.3:76
@@ -13828,24 +13221,16 @@ msgstr "MT-Unsafe const:hostid"
 
 #. type: Plain text
 #: build/C/man3/gethostid.3:119
-#, fuzzy
-#| msgid ""
-#| "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
-#| "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
-#| "B<gethostid>()  but not B<sethostid>()."
 msgid ""
 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
 "B<gethostid>()  but not B<sethostid>()."
-msgstr ""
-"4.2BSD。4.4BSD ではこれらの関数はなくなった。 SVr4 には B<gethostid>()  は含"
-"まれているが、 B<sethostid>()  は含まれていない。 POSIX.1-2001 では、 "
-"B<gethostid>()  は規定されているが、 B<sethostid>()  は規定されていない。"
+msgstr "4.2BSD。4.4BSD ではこれらの関数はなくなった。 SVr4 には B<gethostid>()  は含まれているが、 B<sethostid>()  は含まれていない。"
 
 #. type: Plain text
 #: build/C/man3/gethostid.3:124
 msgid ""
 "POSIX.1-2001 and POSIX.1-2008 specify B<gethostid>()  but not B<sethostid>()."
-msgstr ""
+msgstr "POSIX.1-2001 と POSIX.1-2008 では、 B<gethostid>() は規定されているが、 B<sethostid>() は規定されていない。"
 
 #.  libc5 used /etc/hostid; libc4 didn't have these functions
 #. type: Plain text
@@ -13950,14 +13335,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:96
-#, fuzzy
-#| msgid ""
-#| "B<gethostname>()  returns the null-terminated hostname in the character "
-#| "array I<name>, which has a length of I<len> bytes.  If the null-"
-#| "terminated hostname is too large to fit, then the name is truncated, and "
-#| "no error is returned (but see NOTES below).  POSIX.1-2001 says that if "
-#| "such truncation occurs, then it is unspecified whether the returned "
-#| "buffer includes a terminating null byte."
 msgid ""
 "B<gethostname>()  returns the null-terminated hostname in the character "
 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
@@ -13965,12 +13342,7 @@ msgid ""
 "returned (but see NOTES below).  POSIX.1 says that if such truncation "
 "occurs, then it is unspecified whether the returned buffer includes a "
 "terminating null byte."
-msgstr ""
-"B<gethostname>()  は、NULL 終端されたホスト名を、 I<len> バイトの長さの文字配"
-"列 I<name> に格納して返す。ヌル終端されたホスト名が格納先のバッファーよりも長"
-"い場合は、 ホスト名は切り詰められ、エラーは返されない (下記の「注意」の節を参"
-"照)。 POSIX.1-2001 では、結果の切り詰めが発生した場合に、 返されたバッファー"
-"に終端のヌルバイトが含まれているかどうかは 規定されていない。"
+msgstr "B<gethostname>()  は、NULL 終端されたホスト名を、 I<len> バイトの長さの文字配列 I<name> に格納して返す。ヌル終端されたホスト名が格納先のバッファーよりも長い場合は、 ホスト名は切り詰められ、エラーは返されない (下記の「注意」の節を参照)。 POSIX.1 では、結果の切り詰めが発生した場合に、 返されたバッファーに終端のヌルバイトが含まれているかどうかは 規定されていない。"
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:106
@@ -14013,39 +13385,20 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:138
-#, fuzzy
-#| msgid ""
-#| "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
-#| "specifies B<gethostname>()  but not B<sethostname>()."
 msgid ""
 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 and "
 "POSIX.1-2008 specify B<gethostname>()  but not B<sethostname>()."
-msgstr ""
-"SVr4, 4.4BSD (これらのインターフェースは 4.2BSD で初めて登場した)。 "
-"POSIX.1-2001 では B<gethostname>()  については規定しているが、 "
-"B<sethostname>()  は規定していない。"
+msgstr "SVr4, 4.4BSD (これらのインターフェースは 4.2BSD で初めて登場した)。 POSIX.1-2001 と POSIX.1-2008 では B<gethostname>()  については規定しているが、 B<sethostname>()  は規定していない。"
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:148
-#, fuzzy
-#| msgid ""
-#| "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  "
-#| "POSIX.1-2001 guarantees that \"Host names (not including the terminating "
-#| "null byte) are limited to B<HOST_NAME_MAX> bytes\".  On Linux, "
-#| "B<HOST_NAME_MAX> is defined with the value 64, which has been the limit "
-#| "since Linux 1.0 (earlier kernels imposed a limit of 8 bytes)."
 msgid ""
 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1 "
 "guarantees that \"Host names (not including the terminating null byte) are "
 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
 "imposed a limit of 8 bytes)."
-msgstr ""
-"SUSv2 では「ホスト名が 255 バイトに制限される」ことを保証している。 "
-"POSIX.1-2001 では「ホスト名 (終端のヌルバイトは含まない) が B<HOST_NAME_MAX> "
-"バイトに制限される」ことを保証している。 Linux では、 B<HOST_NAME_MAX> は 64 "
-"に定義されており、 Linux 1.0 以降ではこれが上限となってきた (もっと古いカーネ"
-"ルでは 8 バイトの上限が適用されていた)。"
+msgstr "SUSv2 では「ホスト名が 255 バイトに制限される」ことを保証している。 POSIX.1 では「ホスト名 (終端のヌルバイトは含まない) が B<HOST_NAME_MAX> バイトに制限される」ことを保証している。 Linux では、 B<HOST_NAME_MAX> は 64 に定義されており、 Linux 1.0 以降ではこれが上限となってきた (もっと古いカーネルでは 8 バイトの上限が適用されていた)。"
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:171
@@ -14081,13 +13434,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/gethostname.2:190
-#, fuzzy
-#| msgid ""
-#| "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
 msgid ""
 "B<hostname>(1), B<getdomainname>(2), B<setdomainname>(2), B<uname>(2), "
 "B<uts_namespaces>(7)"
-msgstr "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
+msgstr ""
+" B<hostname>(1), B<getdomainname>(2), B<setdomainname>(2), B<uname>(2), "
+"B<uts_namespaces>(7)"
 
 #. type: TH
 #: build/C/man3/getlogin.3:28
@@ -14098,10 +13450,9 @@ msgstr "GETLOGIN"
 #. type: TH
 #: build/C/man3/getlogin.3:28 build/C/man3/lockf.3:28
 #: build/C/man2/truncate.2:43
-#, fuzzy, no-wrap
-#| msgid "2014-03-20"
+#, no-wrap
 msgid "2019-03-06"
-msgstr "2014-03-20"
+msgstr " 2019-03-06"
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:31
@@ -14131,17 +13482,13 @@ msgstr "B<char *cuserid(char *>I<string>B<);>"
 #.  Deprecated: _REENTRANT ||
 #. type: Plain text
 #: build/C/man3/getlogin.3:50
-#, fuzzy
-#| msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
 msgid "B<getlogin_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
-msgstr "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
+msgstr " B<getlogin_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:52
-#, fuzzy
-#| msgid "B<setregid>(2)"
 msgid "B<cuserid>():"
-msgstr "B<setregid>(2)"
+msgstr " B<cuserid>():"
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:58
@@ -14153,6 +13500,11 @@ msgid ""
 "    Up to and including glibc 2.23:\n"
 "        _XOPEN_SOURCE\n"
 msgstr ""
+"    glibc 2.24 以降:\n"
+"        (_XOPEN_SOURCE && ! (_POSIX_C_SOURCE E<gt>= 200112L)\n"
+"        || _GNU_SOURCE\n"
+"    glibc 2.23 以前:\n"
+"        _XOPEN_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:68
@@ -14240,8 +13592,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:112
-#, fuzzy
-#| msgid "POSIX specifies"
 msgid "POSIX specifies:"
 msgstr "POSIX では以下のエラーが規定されている:"
 
@@ -14267,8 +13617,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:129
-#, fuzzy
-#| msgid "Linux/glibc also has"
 msgid "Linux/glibc also has:"
 msgstr "Linux/glibc には以下のエラーもある。"
 
@@ -14377,10 +13725,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:195
-#, fuzzy
-#| msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
 msgid "B<getlogin>()  and B<getlogin_r>(): POSIX.1-2001, POSIX.1-2008."
-msgstr "B<getlogin>()  と B<getlogin_r>()  は POSIX.1-2001 で規定されている。"
+msgstr "B<getlogin>()  and B<getlogin_r>(): POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:206
@@ -14448,10 +13794,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getlogin.3:250
-#, fuzzy
-#| msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
 msgid "B<logname>(1), B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
-msgstr "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
+msgstr " B<logname>(1), B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
 
 #. type: TH
 #: build/C/man3/getopt.3:42
@@ -14616,19 +13960,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getopt.3:170
-#, fuzzy
-#| msgid ""
-#| "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
-#| "that eventually all the nonoptions are at the end.  Two other modes are "
-#| "also implemented.  If the first character of I<optstring> is \\(aq+\\(aq "
-#| "or the environment variable B<POSIXLY_CORRECT> is set, then option "
-#| "processing stops as soon as a nonoption argument is encountered.  If the "
-#| "first character of I<optstring> is \\(aq-\\(aq, then each nonoption "
-#| "I<argv>-element is handled as if it were the argument of an option with "
-#| "character code 1.  (This is used by programs that were written to expect "
-#| "options and other I<argv>-elements in any order and that care about the "
-#| "ordering of the two.)  The special argument \"--\" forces an end of "
-#| "option-scanning regardless of the scanning mode."
 msgid ""
 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
 "that eventually all the nonoptions are at the end.  Two other scanning modes "
@@ -14641,17 +13972,7 @@ msgid ""
 "other I<argv>-elements in any order and that care about the ordering of the "
 "two.)  The special argument \"--\" forces an end of option-scanning "
 "regardless of the scanning mode."
-msgstr ""
-"デフォルトでは B<getopt>()  は I<argv> をスキャンする際に順序を変更し、 オプ"
-"ション以外の要素を最後に移動する。 他にも 2 つのモードが実装されている。 "
-"I<optstring> の先頭文字が \\(aq+\\(aq であるか、環境変数 B<POSIXLY_CORRECT> "
-"が設定されている場合には、オプションを対象とする動作は、 非オプションの引き数"
-"が現れた段階で終了する。 I<optstring> の先頭文字が \\(aq-\\(aq である場合に"
-"は、 オプションでない I<argv> 要素は、 文字コード 1 のオプションであるかのよ"
-"うに扱われる (これを用いるプログラムは、 オプションや I<argv> 要素を任意の順"
-"序で受け入れ、かつそれらの順序が 意味を持つように書かれている必要がある)。 "
-"\"--\" は特殊な引き数で、スキャンのモードによらず、 オプションのスキャンを強"
-"制的に終了させる。"
+msgstr "デフォルトでは B<getopt>()  は I<argv> をスキャンする際に順序を変更し、 オプション以外の要素を最後に移動する。 他にも 2 つのスキャンモードが実装されている。 I<optstring> の先頭文字が \\(aq+\\(aq であるか、環境変数 B<POSIXLY_CORRECT> が設定されている場合には、オプションを対象とする動作は、 非オプションの引き数が現れた段階で終了する。 I<optstring> の先頭文字が \\(aq-\\(aq である場合には、 オプションでない I<argv> 要素は、 文字コード 1 のオプションであるかのように扱われる (これを用いるプログラムは、 オプションや I<argv> 要素を任意の順序で受け入れ、かつそれらの順序が 意味を持つように書かれている必要がある)。 \"--\" は特殊な引き数で、スキャンのモードによらず、 オプションのスキャンを強制的に終了させる。"
 
 #. type: Plain text
 #: build/C/man3/getopt.3:179
@@ -14963,25 +14284,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/getopt.3:375
-#, fuzzy
-#| msgid ""
-#| "On some older implementations, B<getopt>()  was declared in I<E<lt>stdio."
-#| "hE<gt>>.  SUSv1 permitted the declaration to appear in either "
-#| "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the "
-#| "use of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 "
-#| "does not allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
 msgid ""
 "On some older implementations, B<getopt>()  was declared in I<E<lt>stdio."
 "hE<gt>>.  SUSv1 permitted the declaration to appear in either I<E<lt>unistd."
 "hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-1996 marked the use of "
 "I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
 "require the declaration to appear in I<E<lt>stdio.hE<gt>>."
-msgstr ""
-"古い実装のいくつかでは、 B<getopt>()  は I<E<lt>stdio.hE<gt>> で宣言されてい"
-"た。 SUSv1 では、 I<E<lt>unistd.hE<gt>> か I<E<lt>stdio.hE<gt>> のどちらかで "
-"宣言してもよかった。 POSIX.1-2001 では、 B<getopt> の宣言を I<E<lt>stdio."
-"hE<gt>> で行うのは「過去の名残」であるとされた。 POSIX.1-2001 では "
-"I<E<lt>stdio.hE<gt>> で宣言を行うことを認めていない。"
+msgstr "古い実装のいくつかでは、 B<getopt>()  は I<E<lt>stdio.hE<gt>> で宣言されていた。 SUSv1 では、 I<E<lt>unistd.hE<gt>> か I<E<lt>stdio.hE<gt>> のどちらかで 宣言してもよかった。 POSIX.1-1996 では、 B<getopt> の宣言を I<E<lt>stdio.hE<gt>> で行うのは「過去の名残」であるとされた。 POSIX.1-2001 では I<E<lt>stdio.hE<gt>> で宣言を行うことを要求していない。"
 
 #. type: TP
 #: build/C/man3/getopt.3:375
@@ -15378,21 +14687,15 @@ msgstr "B<getpagesize>():"
 
 #. type: Plain text
 #: build/C/man2/getpagesize.2:46
-#, fuzzy, no-wrap
-#| msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+#, no-wrap
 msgid "_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
-msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr " _DEFAULT_SOURCE || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
 
 #. type: Plain text
 #: build/C/man2/getpagesize.2:51
-#, fuzzy, no-wrap
-#| msgid ""
-#| "_BSD_SOURCE ||\n"
-#| "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
+#, no-wrap
 msgid "_BSD_SOURCE || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
-msgstr ""
-"_BSD_SOURCE ||\n"
-"    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
+msgstr " _BSD_SOURCE || ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200112L)\n"
 
 #.  .SH HISTORY
 #.  This call first appeared in 4.2BSD.
@@ -15488,19 +14791,15 @@ msgstr "gettid - スレッドID を取得する"
 
 #. type: Plain text
 #: build/C/man2/gettid.2:34
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _XOPEN_SOURCE\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
+#, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>\n"
 "B<#include E<lt>unistd.hE<gt>>\n"
 "B<#include E<lt>sys/types.hE<gt>>\n"
 msgstr ""
-"#define _XOPEN_SOURCE\n"
-"#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
+" B<#define _GNU_SOURCE>\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+"B<#include E<lt>sys/types.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/gettid.2:36
@@ -15525,10 +14824,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/gettid.2:51
-#, fuzzy
-#| msgid "On success, returns the thread ID of the calling process."
 msgid "On success, returns the thread ID of the calling thread."
-msgstr "æ\88\90å\8a\9fã\81®å ´å\90\88ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹のスレッドID を返す。"
+msgstr "æ\88\90å\8a\9fã\81®å ´å\90\88ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\82¹ã\83¬ã\83\83ã\83\89のスレッドID を返す。"
 
 #. type: Plain text
 #: build/C/man2/gettid.2:53
@@ -16010,6 +15307,9 @@ msgid ""
 "    || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
 msgstr ""
+"_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man3/lockf.3:71
@@ -16035,25 +15335,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/lockf.3:86
-#, fuzzy
-#| msgid ""
-#| "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  "
-#| "locking.  Many other systems implement B<lockf>()  in this way, but note "
-#| "that POSIX.1-2001 leaves the relationship between B<lockf>()  and "
-#| "B<fcntl>(2)  locks unspecified.  A portable application should probably "
-#| "avoid mixing calls to these interfaces."
 msgid ""
 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
 "Many other systems implement B<lockf>()  in this way, but note that POSIX.1 "
 "leaves the relationship between B<lockf>()  and B<fcntl>(2)  locks "
 "unspecified.  A portable application should probably avoid mixing calls to "
 "these interfaces."
-msgstr ""
-"Linux では、 B<lockf>()  は単に B<fcntl>(2)  のロックへのインターフェースであ"
-"る。 多くの他のシステムで B<lockf>()  はこのように実装されているが、 "
-"POSIX.1-2001 では B<lockf>()  と B<fcntl>(2)  のロックとの関係は規定されてい"
-"ない。 おそらく、移植性が必要なアプリケーションでは、 B<lockf>()  と "
-"B<fcntl>(2)  のロックを混ぜて呼び出すのは避けるべきであろう。"
+msgstr "Linux では、 B<lockf>()  は単に B<fcntl>(2)  のロックへのインターフェースである。 多くの他のシステムで B<lockf>()  はこのように実装されているが、 POSIX.1 では B<lockf>()  と B<fcntl>(2)  のロックとの関係は規定されていない。 おそらく、移植性が必要なアプリケーションでは、 B<lockf>()  と B<fcntl>(2)  のロックを混ぜて呼び出すのは避けるべきであろう。"
 
 #. type: Plain text
 #: build/C/man3/lockf.3:88
@@ -16172,17 +15460,14 @@ msgstr "非常に多くのセグメントロックが開かれ、ロックテー
 
 #. type: tbl table
 #: build/C/man3/lockf.3:171
-#, fuzzy, no-wrap
-#| msgid "B<lockf>():"
+#, no-wrap
 msgid "B<lockf>()"
-msgstr "B<lockf>():"
+msgstr " B<lockf>()"
 
 #. type: Plain text
 #: build/C/man3/lockf.3:175
-#, fuzzy
-#| msgid "POSIX.1-2001, POSIX.1-2008."
 msgid "POSIX.1-2001, POSIX.1-2008, SVr4."
-msgstr "POSIX.1-2001, POSIX.1-2008."
+msgstr " POSIX.1-2001, POSIX.1-2008, SVr4."
 
 #. type: Plain text
 #: build/C/man3/lockf.3:178
@@ -16237,6 +15522,11 @@ msgid ""
 "    Glibc 2.19 and earlier:\n"
 "        _BSD_SOURCE || _SVID_SOURCE\n"
 msgstr ""
+"B<mincore>():\n"
+"    glibc 2.19 以降:\n"
+"        _DEFAULT_SOURCE\n"
+"    Glibc 2.19 以前:\n"
+"        _BSD_SOURCE || _SVID_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/mincore.2:65
@@ -16343,16 +15633,10 @@ msgstr "Linux 2.3.99pre1 と glibc 2.2 から利用可能である。"
 #.  function first appeared in 4.4BSD.
 #. type: Plain text
 #: build/C/man2/mincore.2:147
-#, fuzzy
-#| msgid ""
-#| "B<mincore>()  is not specified in POSIX.1-2001, and it is not available "
-#| "on all UNIX implementations."
 msgid ""
 "B<mincore>()  is not specified in POSIX.1, and it is not available on all "
 "UNIX implementations."
-msgstr ""
-"B<mincore>()  は POSIX.1-2001 に記述されておらず、 全ての UNIX 実装で利用可能"
-"であるわけではない。"
+msgstr "B<mincore>()  は POSIX.1 に記述されておらず、 全ての UNIX 実装で利用可能であるわけではない。"
 
 #.  Linux (up to now, 2.6.5),
 #.  .B mincore
@@ -16382,15 +15666,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/mincore.2:176
-#, fuzzy
-#| msgid ""
-#| "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
-#| "B<malloc>(3)"
 msgid ""
 "B<fincore>(1), B<madvise>(2), B<mlock>(2), B<mmap>(2), B<posix_fadvise>(2), "
 "B<posix_madvise>(3)"
 msgstr ""
-"B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), B<malloc>(3)"
+" B<fincore>(1), B<madvise>(2), B<mlock>(2), B<mmap>(2), B<posix_fadvise>(2), "
+"B<posix_madvise>(3)"
 
 #. type: TH
 #: build/C/man2/mkdir.2:11
@@ -16706,17 +15987,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/mkdir.2:254
-#, fuzzy
-#| msgid ""
-#| "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
-#| "B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
 msgid ""
 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
 "B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<acl>(5), "
 "B<path_resolution>(7)"
 msgstr ""
-"B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
-"B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
+" B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
+"B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<acl>(5), "
+"B<path_resolution>(7)"
 
 #. type: TH
 #: build/C/man2/nice.2:31
@@ -16743,6 +16021,10 @@ msgid ""
 "    || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
 msgstr ""
+"B<nice>():\n"
+"_XOPEN_SOURCE\n"
+"    || /* glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/nice.2:54
@@ -16803,18 +16085,10 @@ msgstr ""
 #.  error code.
 #. type: Plain text
 #: build/C/man2/nice.2:99
-#, fuzzy
-#| msgid ""
-#| "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
-#| "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
-#| "additional B<EINVAL> error code."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  However, the raw system call and "
 "(g)libc (earlier than glibc 2.2.4) return value is nonstandard, see below."
-msgstr ""
-"SVr4, 4.3BSD, POSIX.1-2001.  しかし、Linux と (2.2.4より古い) (g)libc では返"
-"り値は標準と異なる。 詳細は以下を参照のこと。 SVr4 には他に B<EINVAL> エラー"
-"コードについての記述がある。"
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  しかし、生のシステムコールと (glibc 2.2.4 より前の) (g)libc では返り値は標準と異なる。 詳細は以下を参照のこと。"
 
 #. type: Plain text
 #: build/C/man2/nice.2:102
@@ -16858,16 +16132,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/nice.2:132
-#, fuzzy
-#| msgid ""
-#| "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), "
-#| "B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
 msgid ""
 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<getrlimit>(2), "
 "B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
 msgstr ""
-"B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
-"B<capabilities>(7), B<sched>(7)"
+" B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<getrlimit>(2), "
+"B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
 
 #. type: TH
 #: build/C/man2/pread.2:25
@@ -16958,12 +16228,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pread.2:97
-#, fuzzy
-#| msgid "On error, -1 is returned, and I<errno> is set appropriately."
 msgid ""
 "On error, -1 is returned and I<errno> is set to indicate the cause of the "
 "error."
-msgstr "エラーの時は -1 が返され、 I<errno> に適切な値が設定される。"
+msgstr "エラーの時は -1 が返され、 I<errno> にエラーの原因を示す値が設定される。"
 
 #. type: Plain text
 #: build/C/man2/pread.2:112
@@ -17055,19 +16323,16 @@ msgstr "SET_THREAD_AREA"
 
 #. type: TH
 #: build/C/man2/set_thread_area.2:9
-#, fuzzy, no-wrap
-#| msgid "2010-02-03"
+#, no-wrap
 msgid "2020-02-09"
-msgstr "2010-02-03"
+msgstr " 2020-02-09"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:12
-#, fuzzy
-#| msgid "get_thread_area - get a thread-local storage (TLS) area"
 msgid ""
 "get_thread_area, set_thread_area - manipulate thread-local storage "
 "information"
-msgstr "get_thread_area - スレッド局所記憶 (TLS) 領域を取り出す"
+msgstr ""
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:18
@@ -17076,58 +16341,57 @@ msgid ""
 "B<#if defined __i386__ || defined __x86_64__>\n"
 "B<# include E<lt>asm/ldt.hE<gt>>\n"
 msgstr ""
+"B<#if defined __i386__ || defined __x86_64__>\n"
+"B<# include E<lt>asm/ldt.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:21
-#, fuzzy, no-wrap
-#| msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
+#, no-wrap
 msgid ""
 "B<int get_thread_area(struct user_desc *>I<u_info>B<);>\n"
 "B<int set_thread_area(struct user_desc *>I<u_info>B<);>\n"
-msgstr "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
+msgstr ""
+" B<int get_thread_area(struct user_desc *>I<u_info>B<);>\n"
+"B<int set_thread_area(struct user_desc *>I<u_info>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:23
 #, no-wrap
 msgid "B<#elif defined __m68k__>\n"
-msgstr ""
+msgstr "B<#elif defined __m68k__>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:26
-#, fuzzy, no-wrap
-#| msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
+#, no-wrap
 msgid ""
 "B<int get_thread_area(void);>\n"
 "B<int set_thread_area(unsigned long >I<tp>B<);>\n"
-msgstr "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
+msgstr ""
+" B<int get_thread_area(void);>\n"
+"B<int set_thread_area(unsigned long >I<tp>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:28
 #, no-wrap
 msgid "B<#elif defined __mips__>\n"
-msgstr ""
+msgstr "B<#elif defined __mips__>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:30
-#, fuzzy, no-wrap
-#| msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
+#, no-wrap
 msgid "B<int set_thread_area(unsigned long >I<addr>B<);>\n"
-msgstr "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
+msgstr " B<int set_thread_area(unsigned long >I<addr>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:32
 #, no-wrap
 msgid "B<#endif>\n"
-msgstr ""
+msgstr "B<#endif>\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:36
-#, fuzzy
-#| msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
 msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
-msgstr ""
-"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
-"を参照。"
+msgstr "I<注>: これらのシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:44
@@ -17182,6 +16446,20 @@ msgid ""
 "#endif\n"
 "};\n"
 msgstr ""
+"struct user_desc {\n"
+"    unsigned int  entry_number;\n"
+"    unsigned int  base_addr;\n"
+"    unsigned int  limit;\n"
+"    unsigned int  seg_32bit:1;\n"
+"    unsigned int  contents:2;\n"
+"    unsigned int  read_exec_only:1;\n"
+"    unsigned int  limit_in_pages:1;\n"
+"    unsigned int  seg_not_present:1;\n"
+"    unsigned int  useable:1;\n"
+"#ifdef __x86_64__\n"
+"    unsigned int  lm:1;\n"
+"#endif\n"
+"};\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:90
@@ -17197,44 +16475,21 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:104
-#, fuzzy
-#| msgid ""
-#| "B<set_thread_area>()  sets an entry in the current thread's thread-local "
-#| "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
-#| "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
-#| "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
-#| "descriptor pointed to by I<u_info> into the thread's TLS array."
 msgid ""
 "The TLS array entry set by B<set_thread_area>()  corresponds to the value of "
 "I<u_info-E<gt>entry_number> passed in by the user.  If this value is in "
 "bounds, B<set_thread_area>()  writes the TLS descriptor pointed to by "
 "I<u_info> into the thread's TLS array."
-msgstr ""
-"B<set_thread_area>()  は、カレントスレッドのスレッド局所記憶 (thread-local "
-"storage; TLS)  配列の中のエントリーを設定する。 B<set_thread_area>()  により"
-"設定される TLS 配列のエントリーは、ユーザーから引き数として渡される I<u_info-"
-"E<gt>entry_number> の値に対応している。値が範囲内にある場合、 "
-"B<set_thread_area>()  は I<u_info> で指された TLS ディスクリプターをスレッド"
-"の TLS 配列にコピーする。"
+msgstr "B<set_thread_area>()  により設定される TLS 配列のエントリーは、ユーザーから引き数として渡される I<u_info-E<gt>entry_number> の値に対応している。値が範囲内にある場合、 B<set_thread_area>()  は I<u_info> で指された TLS ディスクリプターをスレッドの TLS 配列に書き込む。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:115
-#, fuzzy
-#| msgid ""
-#| "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
-#| "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the "
-#| "value of I<u_info-E<gt>entry_number> is set upon return to show which "
-#| "entry was changed."
 msgid ""
 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it searches "
 "for a free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the "
 "value of I<u_info-E<gt>entry_number> is set upon return to show which entry "
 "was changed."
-msgstr ""
-"I<entry_number> として -1 が渡された場合、 B<set_thread_area>()  は未使用 "
-"(free) の TLS エントリーを使用する。 未使用の TLS エントリーがあった場合、ど"
-"のエントリーが変更されたかが分かる ように終了時に I<u_info-"
-"E<gt>entry_number> の値が変更される。"
+msgstr "I<entry_number> として -1 が渡された場合、 B<set_thread_area>()  は未使用 (free) の TLS エントリーを探す。 未使用の TLS エントリーがあった場合、どのエントリーが変更されたかが分かるように終了時に I<u_info-E<gt>entry_number> の値が変更される。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:127
@@ -17255,16 +16510,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:137
-#, fuzzy
-#| msgid ""
-#| "B<set_thread_area>()  returns 0 on success, and -1 on failure, with "
-#| "I<errno> set appropriately."
 msgid ""
 "On x86, these system calls return 0 on success, and -1 on failure, with "
 "I<errno> set appropriately."
-msgstr ""
-"B<set_thread_area>()  は成功した場合 0 を返す。失敗した場合は -1 を返し、 "
-"I<errno> を適切に設定する。"
+msgstr "x86 では、これらのシステムコールは成功した場合 0 を返す。失敗した場合は -1 を返し、 I<errno> を適切に設定する。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:146
@@ -17299,49 +16548,30 @@ msgstr "B<ESRCH>"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:163
-#, fuzzy
-#| msgid "A free TLS entry could not be located."
 msgid "(B<set_thread_area>())  A free TLS entry could not be located."
-msgstr "未使用の TLS エントリーが見つからなかった。"
+msgstr "(B<set_thread_area>()) 未使用の TLS エントリーが見つからなかった。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:168
-#, fuzzy
-#| msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
 msgid ""
 "B<set_thread_area>()  first appeared in Linux 2.5.29.  B<get_thread_area>()  "
 "first appeared in Linux 2.5.32."
-msgstr "B<get_thread_area>()  は Linux 2.5.32 で初めて登場した。"
+msgstr "B<set_thread_area>() は Linux 2.5.29 で初めて登場した。 B<get_thread_area>()  は Linux 2.5.32 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:174
-#, fuzzy
-#| msgid ""
-#| "B<get_thread_area>()  is Linux-specific and should not be used in "
-#| "programs that are intended to be portable."
 msgid ""
 "B<set_thread_area>()  and B<get_thread_area>()  are Linux-specific and "
 "should not be used in programs that are intended to be portable."
-msgstr ""
-"B<get_thread_area>()  は Linux 独自の関数であり、 移植を意図したプログラムで"
-"は使用すべきではない。"
+msgstr "B<set_thread_area> と B<get_thread_area>() は Linux 独自の関数であり、移植を意図したプログラムでは使用すべきではない。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:179
-#, fuzzy
-#| msgid ""
-#| "Glibc does not provide a wrapper for this system call, since it is "
-#| "generally intended for use only by threading libraries.  In the unlikely "
-#| "event that you want to call it directly, use B<syscall>(2)."
 msgid ""
 "Glibc does not provide wrappers for these system calls, since they are "
 "generally intended for use only by threading libraries.  In the unlikely "
 "event that you want to call them directly, use B<syscall>(2)."
-msgstr ""
-"このシステムコールは通常はスレッドライブラリでのみ使用されることを目的として"
-"用意されているため、 glibc はこのシステムコールに対するラッパー関数を提供して"
-"いない。おそらくないと思うが、このシステムコールを直接呼び出したい場合は "
-"B<syscall>(2) を使うこと。"
+msgstr "これらのシステムコールは通常はスレッドライブラリでのみ使用されることを目的として用意されているため、 glibc はこれらのシステムコールに対するラッパー関数を提供していない。おそらくないと思うが、これらのシステムコールを直接呼び出したい場合は B<syscall>(2) を使うこと。"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:190
@@ -17362,7 +16592,7 @@ msgstr ""
 #: build/C/man2/set_thread_area.2:197
 #, no-wrap
 msgid "rdhwr dest, $29\n"
-msgstr ""
+msgstr "rdhwr dest, $29\n"
 
 #. type: Plain text
 #: build/C/man2/set_thread_area.2:201
@@ -17395,7 +16625,7 @@ msgstr ""
 msgid ""
 "B<arch_prctl>(2), B<modify_ldt>(2), B<ptrace>(2)  (B<PTRACE_GET_THREAD_AREA> "
 "and B<PTRACE_SET_THREAD_AREA>)"
-msgstr ""
+msgstr "B<arch_prctl>(2), B<modify_ldt>(2), B<ptrace>(2)  (B<PTRACE_GET_THREAD_AREA> と B<PTRACE_SET_THREAD_AREA>)"
 
 #. type: TH
 #: build/C/man2/setup.2:34
@@ -17518,13 +16748,14 @@ msgid ""
 "I</bin/bash>\n"
 "I</bin/csh>\n"
 msgstr ""
+"I</bin/sh>\n"
+"I</bin/bash>\n"
+"I</bin/csh>\n"
 
 #. type: Plain text
 #: build/C/man5/shells.5:60
-#, fuzzy
-#| msgid "B<chsh>(1), B<getusershell>(3)"
 msgid "B<chsh>(1), B<getusershell>(3), B<pam_shells>(8)"
-msgstr "B<chsh>(1), B<getusershell>(3)"
+msgstr " B<chsh>(1), B<getusershell>(3), B<pam_shells>(8)"
 
 #. type: TH
 #: build/C/man3/sleep.3:26
@@ -17534,8 +16765,6 @@ msgstr "SLEEP"
 
 #. type: Plain text
 #: build/C/man3/sleep.3:29
-#, fuzzy
-#| msgid "sleep - sleep for the specified number of seconds"
 msgid "sleep - sleep for a specified number of seconds"
 msgstr "sleep - 指定の秒数の間だけ休止する"
 
@@ -17618,10 +16847,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/sleep.3:93
-#, fuzzy
-#| msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
 msgid "B<sleep>(1), B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
-msgstr "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
+msgstr " B<sleep>(1), B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
 
 #. type: TH
 #: build/C/man3/swab.3:31
@@ -17631,10 +16858,9 @@ msgstr "SWAB"
 
 #. type: TH
 #: build/C/man3/swab.3:31 build/C/man3/tcgetpgrp.3:25
-#, fuzzy, no-wrap
-#| msgid "2015-02-01"
+#, no-wrap
 msgid "2015-08-08"
-msgstr "2015-02-01"
+msgstr " 2015-08-08"
 
 #. type: Plain text
 #: build/C/man3/swab.3:34
@@ -17677,10 +16903,9 @@ msgstr "B<swab>()  関数は、値を返さない。"
 
 #. type: tbl table
 #: build/C/man3/swab.3:82
-#, fuzzy, no-wrap
-#| msgid "B<swapon>(2)"
+#, no-wrap
 msgid "B<swab>()"
-msgstr "B<swapon>(2)"
+msgstr " B<swab>()"
 
 #. type: Plain text
 #: build/C/man3/swab.3:88
@@ -17738,10 +16963,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/swapon.2:74
-#, fuzzy, no-wrap
-#| msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
+#, no-wrap
 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>\n"
-msgstr "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
+msgstr " I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>\n"
 
 #. type: Plain text
 #: build/C/man2/swapon.2:87
@@ -17842,16 +17066,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/swapon.2:137
-#, fuzzy
-#| msgid ""
-#| "(B<swapon>())  The indicated path does not contain a valid swap signature "
-#| "or resides on an in-memory filesystem such as tmpfs."
 msgid ""
 "(B<swapon>())  The indicated path does not contain a valid swap signature or "
 "resides on an in-memory filesystem such as B<tmpfs>(5)."
-msgstr ""
-"(B<swapon>()) 指定されたパスが有効なスワップの署名 (signature) を含んでいない"
-"か、tmpfs のようなインメモリーファイルシステム上にある。"
+msgstr "(B<swapon>()) 指定されたパスが有効なスワップの署名 (signature) を含んでいないか、B<tmpfs>(5) のようなインメモリーファイルシステム上にある。"
 
 #. type: TP
 #: build/C/man2/swapon.2:137
@@ -17861,10 +17079,8 @@ msgstr "B<EINVAL> (Linux 3.4 以降)"
 
 #. type: Plain text
 #: build/C/man2/swapon.2:142
-#, fuzzy
-#| msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
 msgid "(B<swapon>())  An invalid flag value was specified in I<swapflags>."
-msgstr "(B<swapon>()) I<flags> に無効なフラグ値が指定された。"
+msgstr "(B<swapon>()) I<swapflags> に無効なフラグ値が指定された。"
 
 #. type: Plain text
 #: build/C/man2/swapon.2:147
@@ -17961,16 +17177,11 @@ msgstr "syscall - 間接システムコール"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:49
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
-#| "B<#include E<lt>unistd.hE<gt>>\n"
-#| "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
+#, no-wrap
 msgid ""
 "B<#include E<lt>unistd.hE<gt>>\n"
 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
 msgstr ""
-"B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
 "B<#include E<lt>unistd.hE<gt>>\n"
 "B<#include E<lt>sys/syscall.hE<gt>   >/* SYS_xxx の定義用 */\n"
 
@@ -17982,31 +17193,24 @@ msgstr "B<long syscall(long >I<number>B<, ...);>\n"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:58
-#, fuzzy
-#| msgid "B<_sysctl>(2)"
 msgid "B<syscall>():"
-msgstr "B<_sysctl>(2)"
+msgstr " B<syscall>():"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:64
-#, fuzzy
-#| msgid "_GNU_SOURCE"
 msgid "_DEFAULT_SOURCE"
-msgstr "_GNU_SOURCE"
+msgstr " _DEFAULT_SOURCE"
 
 #. type: TP
 #: build/C/man2/syscall.2:64
-#, fuzzy, no-wrap
-#| msgid "Before glibc 2.10:"
+#, no-wrap
 msgid "Before glibc 2.19:"
-msgstr "glibc 2.10 より前:"
+msgstr "glibc 2.19 より前:"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:67
-#, fuzzy
-#| msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
 msgid "_BSD_SOURCE || _SVID_SOURCE"
-msgstr "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
+msgstr " _BSD_SOURCE || _SVID_SOURCE"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:81
@@ -18023,19 +17227,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscall.2:87
-#, fuzzy
-#| msgid ""
-#| "B<syscall>()  saves CPU registers before making the system call, restores "
-#| "the registers upon return from the system call, and stores any error code "
-#| "returned by the system call in B<errno>(3)  if an error occurs."
 msgid ""
 "B<syscall>()  saves CPU registers before making the system call, restores "
 "the registers upon return from the system call, and stores any error "
 "returned by the system call in B<errno>(3)."
-msgstr ""
-"B<syscall>() は、システムコールを行う前に CPU レジスターを保存し、システム"
-"コールから返った際にレジスターを復元し、エラーが発生した場合はシステムコール"
-"が返したエラーコードを B<errno>(3) に格納する。"
+msgstr "B<syscall>() は、システムコールを行う前に CPU レジスターを保存し、システムコールから返った際にレジスターを復元し、システムコールが返したエラーを B<errno>(3) に格納する。"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:90
@@ -18048,18 +17244,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscall.2:96
-#, fuzzy
-#| msgid ""
-#| "The return value is defined by the system call being invoked.  In "
-#| "general, a 0 return value indicates success.  A -1 return value indicates "
-#| "an error, and an error code is stored in I<errno>."
 msgid ""
 "The return value is defined by the system call being invoked.  In general, a "
 "0 return value indicates success.  A -1 return value indicates an error, and "
 "an error number is stored in I<errno>."
-msgstr ""
-"返り値は呼び出されたシステムコールによって定義される。 一般に、返り値 0 は成"
-"功を表す。 -1 はエラーを表し、エラーコードは I<errno> に入れられる。"
+msgstr "返り値は呼び出されたシステムコールによって定義される。 一般に、返り値 0 は成功を表す。 -1 はエラーを表し、エラー番号は I<errno> に入れられる。"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:100
@@ -18116,21 +17305,16 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscall.2:130
-#, fuzzy, no-wrap
-#| msgid ""
-#| "syscall(SYS_readahead, fd, 0,\n"
-#| "        (unsigned int) (offset E<gt>E<gt> 32),\n"
-#| "        (unsigned int) (offset & 0xFFFFFFFF),\n"
-#| "        count);\n"
+#, no-wrap
 msgid ""
 "syscall(SYS_readahead, fd, 0,\n"
 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
 "        count);\n"
 msgstr ""
-"syscall(SYS_readahead, fd, 0,\n"
-"        (unsigned int) (offset E<gt>E<gt> 32),\n"
+" syscall(SYS_readahead, fd, 0,\n"
 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
+"        (unsigned int) (offset E<gt>E<gt> 32),\n"
 "        count);\n"
 
 #. type: Plain text
@@ -18242,10 +17426,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscall.2:198 build/C/man2/syscall.2:330
-#, fuzzy, no-wrap
-#| msgid "arch/ABI"
+#, no-wrap
 msgid "Arch/ABI"
-msgstr "arch/ABI"
+msgstr " Arch/ABI"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:198
@@ -18303,13 +17486,13 @@ msgstr ""
 #: build/C/man2/syscall.2:201 build/C/man2/syscall.2:332
 #, no-wrap
 msgid "alpha"
-msgstr ""
+msgstr "alpha"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:201
 #, no-wrap
 msgid "callsys"
-msgstr ""
+msgstr "callsys"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:201 build/C/man2/syscall.2:211
@@ -18340,20 +17523,19 @@ msgstr "a3"
 #: build/C/man2/syscall.2:221
 #, no-wrap
 msgid "1, 6"
-msgstr ""
+msgstr "1, 6"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:202 build/C/man2/syscall.2:333
-#, fuzzy, no-wrap
-#| msgid "parisc"
+#, no-wrap
 msgid "arc"
-msgstr "parisc"
+msgstr "arc"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:202
 #, no-wrap
 msgid "trap0"
-msgstr ""
+msgstr "trap0"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:202 build/C/man2/syscall.2:208
@@ -18414,10 +17596,9 @@ msgstr "swi NR"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:203
-#, fuzzy, no-wrap
-#| msgid "r2"
+#, no-wrap
 msgid "2"
-msgstr "r2"
+msgstr " 2"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:204 build/C/man2/syscall.2:335
@@ -18466,7 +17647,7 @@ msgstr "svc #0"
 #: build/C/man2/syscall.2:205
 #, no-wrap
 msgid "w8"
-msgstr ""
+msgstr "w8"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:205 build/C/man2/syscall.2:336
@@ -18565,38 +17746,37 @@ msgstr "r10"
 #: build/C/man2/syscall.2:209 build/C/man2/syscall.2:340
 #, no-wrap
 msgid "m68k"
-msgstr ""
+msgstr "m68k"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:209
 #, no-wrap
 msgid "trap #0"
-msgstr ""
+msgstr "trap #0"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:209
 #, no-wrap
 msgid "d0"
-msgstr ""
+msgstr "d0"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:210 build/C/man2/syscall.2:341
 #, no-wrap
 msgid "microblaze"
-msgstr ""
+msgstr "microblaze"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:210
 #, no-wrap
 msgid "brki r14,8"
-msgstr ""
+msgstr "brki r14,8"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:210
-#, fuzzy, no-wrap
-#| msgid "r1"
+#, no-wrap
 msgid "r12"
-msgstr "r1"
+msgstr " r12"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:210 build/C/man2/syscall.2:214
@@ -18633,13 +17813,13 @@ msgstr "v1"
 #: build/C/man2/syscall.2:212 build/C/man2/syscall.2:344
 #, no-wrap
 msgid "nios2"
-msgstr ""
+msgstr "nios2"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:212
 #, no-wrap
 msgid "trap"
-msgstr ""
+msgstr "trap"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:212 build/C/man2/syscall.2:217
@@ -18679,54 +17859,50 @@ msgstr "r28"
 #: build/C/man2/syscall.2:214 build/C/man2/syscall.2:346
 #, no-wrap
 msgid "powerpc"
-msgstr ""
+msgstr "powerpc"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:214 build/C/man2/syscall.2:215
 #, no-wrap
 msgid "sc"
-msgstr ""
+msgstr "sc"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:214 build/C/man2/syscall.2:215
 #: build/C/man2/syscall.2:222 build/C/man2/syscall.2:342
-#, fuzzy, no-wrap
-#| msgid "a1"
+#, no-wrap
 msgid "1"
-msgstr "a1"
+msgstr " 1"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:215 build/C/man2/syscall.2:347
 #, no-wrap
 msgid "powerpc64"
-msgstr ""
+msgstr "powerpc64"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:215
 #, no-wrap
 msgid "cr0.SO"
-msgstr ""
+msgstr "cr0.SO"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:216 build/C/man2/syscall.2:348
-#, fuzzy, no-wrap
-#| msgid "parisc"
+#, no-wrap
 msgid "riscv"
-msgstr "parisc"
+msgstr " riscv"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:216
-#, fuzzy, no-wrap
-#| msgid "syscall"
+#, no-wrap
 msgid "ecall"
-msgstr "syscall"
+msgstr " ecall"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:216
-#, fuzzy, no-wrap
-#| msgid "arg7"
+#, no-wrap
 msgid "a7"
-msgstr "arg7"
+msgstr " a7"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:216 build/C/man2/syscall.2:332
@@ -18758,10 +17934,9 @@ msgstr "svc 0"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:217 build/C/man2/syscall.2:218
-#, fuzzy, no-wrap
-#| msgid "a3"
+#, no-wrap
 msgid "3"
-msgstr "a3"
+msgstr " 3"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:218 build/C/man2/syscall.2:350
@@ -18773,19 +17948,19 @@ msgstr "s390x"
 #: build/C/man2/syscall.2:219 build/C/man2/syscall.2:351
 #, no-wrap
 msgid "superh"
-msgstr ""
+msgstr "superh"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:219
 #, no-wrap
 msgid "trap #0x17"
-msgstr ""
+msgstr "trap #0x17"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:219
 #, no-wrap
 msgid "4, 6"
-msgstr ""
+msgstr "4, 6"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:220 build/C/man2/syscall.2:352
@@ -18823,7 +17998,7 @@ msgstr "o1"
 #: build/C/man2/syscall.2:220 build/C/man2/syscall.2:221
 #, no-wrap
 msgid "psr/csr"
-msgstr ""
+msgstr "psr/csr"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:221 build/C/man2/syscall.2:353
@@ -18841,40 +18016,37 @@ msgstr "t 0x6d"
 #: build/C/man2/syscall.2:222 build/C/man2/syscall.2:354
 #, no-wrap
 msgid "tile"
-msgstr ""
+msgstr "tile"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:222
 #, no-wrap
 msgid "swint1"
-msgstr ""
+msgstr "swint1"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:222
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R10"
-msgstr "R0"
+msgstr " R10"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:222 build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R00"
-msgstr "R0"
+msgstr " R00"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:222 build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R01"
-msgstr "R0"
+msgstr " R01"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:223 build/C/man2/syscall.2:355
 #, no-wrap
 msgid "x86-64"
-msgstr ""
+msgstr "x86-64"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:223 build/C/man2/syscall.2:224
@@ -18891,23 +18063,21 @@ msgstr "rdx"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:223 build/C/man2/syscall.2:224
-#, fuzzy, no-wrap
-#| msgid "r5"
+#, no-wrap
 msgid "5"
-msgstr "r5"
+msgstr " 5"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:224 build/C/man2/syscall.2:356
-#, fuzzy, no-wrap
-#| msgid "x2"
+#, no-wrap
 msgid "x32"
-msgstr "x2"
+msgstr " x32"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:225 build/C/man2/syscall.2:357
 #, no-wrap
 msgid "xtensa"
-msgstr ""
+msgstr "xtensa"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:225 build/C/man2/syscall.2:332
@@ -18928,7 +18098,7 @@ msgstr "備考"
 #: build/C/man2/syscall.2:229 build/C/man2/syscall.2:361
 #, no-wrap
 msgid "[1]"
-msgstr ""
+msgstr "[1]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:245
@@ -18945,7 +18115,7 @@ msgstr ""
 #: build/C/man2/syscall.2:245
 #, no-wrap
 msgid "[2]"
-msgstr ""
+msgstr "[2]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:248
@@ -18958,26 +18128,20 @@ msgstr "I<name> はシステムコールの名前である。"
 #: build/C/man2/syscall.2:248
 #, no-wrap
 msgid "[3]"
-msgstr ""
+msgstr "[3]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:254
-#, fuzzy
-#| msgid ""
-#| "For s390 and s390x, NR (the system call number)  may be passed directly "
-#| "with \"svc NR\" if it is less than 256."
 msgid ""
 "For s390 and s390x, I<NR> (the system call number) may be passed directly "
 "with I<svc\\ NR> if it is less than 256."
-msgstr ""
-"s390 と s390x では、 NR (システムコール番号) が 256 未満の場合 \"svc NR\" で "
-"NR が直接渡される場合がある。"
+msgstr "s390 と s390x では、 I<NR> (システムコール番号) が 256 未満の場合 I<svc\\ NR> で NR が直接渡される場合がある。"
 
 #. type: IP
 #: build/C/man2/syscall.2:254
 #, no-wrap
 msgid "[4]"
-msgstr ""
+msgstr "[4]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:264
@@ -18992,7 +18156,7 @@ msgstr ""
 #: build/C/man2/syscall.2:264
 #, no-wrap
 msgid "[5]"
-msgstr ""
+msgstr "[5]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:267
@@ -19004,7 +18168,7 @@ msgstr ""
 #: build/C/man2/syscall.2:268 build/C/man2/syscall.2:275
 #, no-wrap
 msgid "\\(bu"
-msgstr ""
+msgstr "\\(bu"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:275
@@ -19036,7 +18200,7 @@ msgstr ""
 #: build/C/man2/syscall.2:304
 #, no-wrap
 msgid "[6]"
-msgstr ""
+msgstr "[6]"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:319
@@ -19261,31 +18425,31 @@ msgstr "out5"
 #: build/C/man2/syscall.2:340
 #, no-wrap
 msgid "d1"
-msgstr ""
+msgstr "d1"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:340
 #, no-wrap
 msgid "d2"
-msgstr ""
+msgstr "d2"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:340
 #, no-wrap
 msgid "d3"
-msgstr ""
+msgstr "d3"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:340
 #, no-wrap
 msgid "d4"
-msgstr ""
+msgstr "d4"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:340
 #, no-wrap
 msgid "d5"
-msgstr ""
+msgstr "d5"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:342
@@ -19361,31 +18525,27 @@ msgstr "o5"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R02"
-msgstr "R0"
+msgstr " R02"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R03"
-msgstr "R0"
+msgstr " R03"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R04"
-msgstr "R0"
+msgstr " R04"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:354
-#, fuzzy, no-wrap
-#| msgid "R0"
+#, no-wrap
 msgid "R05"
-msgstr "R0"
+msgstr " R05"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:355 build/C/man2/syscall.2:356
@@ -19401,22 +18561,21 @@ msgstr "rsi"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:357
-#, fuzzy, no-wrap
-#| msgid "ia64"
+#, no-wrap
 msgid "a6"
-msgstr "ia64"
+msgstr " a6"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:357
 #, no-wrap
 msgid "a8"
-msgstr ""
+msgstr "a8"
 
 #. type: tbl table
 #: build/C/man2/syscall.2:357
 #, no-wrap
 msgid "a9"
-msgstr ""
+msgstr "a9"
 
 #. type: Plain text
 #: build/C/man2/syscall.2:364
@@ -19469,18 +18628,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscall.2:387
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    tid = syscall(SYS_gettid);\n"
-#| "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "    tid = syscall(SYS_gettid);\n"
 "    syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
 "}\n"
 msgstr ""
-"    tid = syscall(SYS_gettid);\n"
-"    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
+"     tid = syscall(SYS_gettid);\n"
+"    syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
 "}\n"
 
 #. type: Plain text
@@ -19521,14 +18676,6 @@ msgstr "システムコールとライブラリのラッパー関数"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:49
-#, fuzzy
-#| msgid ""
-#| "System calls are generally not invoked directly, but rather via wrapper "
-#| "functions in glibc (or perhaps some other library).  For details of "
-#| "direct invocation of a system call, see B<intro>(2).  Often, but not "
-#| "always, the name of the wrapper function is the same as the name of the "
-#| "system call that it invokes.  For example, glibc contains a function "
-#| "B<truncate>()  which invokes the underlying \"truncate\" system call."
 msgid ""
 "System calls are generally not invoked directly, but rather via wrapper "
 "functions in glibc (or perhaps some other library).  For details of direct "
@@ -19536,12 +18683,7 @@ msgid ""
 "name of the wrapper function is the same as the name of the system call that "
 "it invokes.  For example, glibc contains a function B<chdir>()  which "
 "invokes the underlying \"chdir\" system call."
-msgstr ""
-"システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ)  経"
-"由で起動される。 システムコールの直接起動については、詳細は B<intro>(2)  を参"
-"照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起"
-"動する システムコールの名前と同じである。 例えば、glibc には B<truncate>()  "
-"という関数があり、この関数は \"truncate\" システムコールを起動する。"
+msgstr "システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ)  経由で起動される。 システムコールの直接起動については、詳細は B<intro>(2)  を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。 例えば、glibc には B<chdir>()  という関数があり、この関数は \"chdir\" システムコールを起動する。"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:69
@@ -19738,16 +18880,10 @@ msgstr ""
 #.  instructive about x86 specifics.
 #. type: Plain text
 #: build/C/man2/syscalls.2:156
-#, fuzzy
-#| msgid ""
-#| "The list of system calls that are available as at kernel 3.15 (or in a "
-#| "few cases only on older kernels) is as follows:"
 msgid ""
 "The list of system calls that are available as at kernel 5.10 (or in a few "
 "cases only on older kernels) is as follows:"
-msgstr ""
-"カーネル 3.15 で利用可能なシステムコールのリストを以下に示す\n"
-"(それ以前のカーネルでだけ利用可能なものも少数だが含まれる):"
+msgstr "カーネル 5.10 で利用可能なシステムコールのリストを以下に示す (それ以前のカーネルでだけ利用可能なものも少数だが含まれる):"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:161
@@ -19833,9 +18969,8 @@ msgstr "B<_sysctl>(2)"
 #. type: tbl table
 #: build/C/man2/syscalls.2:165
 #, fuzzy, no-wrap
-#| msgid "Removed in 2.6"
 msgid "Removed in 5.5"
-msgstr "2.6 で削除"
+msgstr "5.5 で削除"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:166
@@ -19995,56 +19130,50 @@ msgstr "2.5.44 で削除"
 #.  4adeefe161a74369e44cc8e663f240ece0470dc3
 #. type: tbl table
 #: build/C/man2/syscalls.2:175
-#, fuzzy, no-wrap
-#| msgid "B<prctl>(2)"
+#, no-wrap
 msgid "B<arc_gettls>(2)"
-msgstr "B<prctl>(2)"
+msgstr " B<arc_gettls>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:175 build/C/man2/syscalls.2:176
-#, fuzzy, no-wrap
-#| msgid "3.19"
+#, no-wrap
 msgid "3.9"
-msgstr "3.19"
+msgstr " 3.9"
 
 #.  91e040a79df73d371f70792f30380d4e44805250
 #. type: tbl table
 #: build/C/man2/syscalls.2:175 build/C/man2/syscalls.2:176
 #: build/C/man2/syscalls.2:178
-#, fuzzy, no-wrap
-#| msgid "PowerPC only"
+#, no-wrap
 msgid "ARC only"
-msgstr "PowerPC のみ"
+msgstr "ARC のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:176
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<arc_settls>(2)"
-msgstr "B<setns>(2)"
+msgstr " B<arc_settls>(2)"
 
 #.  91e040a79df73d371f70792f30380d4e44805250
 #. type: tbl table
 #: build/C/man2/syscalls.2:178
-#, fuzzy, no-wrap
-#| msgid "B<accept>(2)"
+#, no-wrap
 msgid "B<arc_usr_cmpxchg>(2)"
-msgstr "B<accept>(2)"
+msgstr " B<arc_usr_cmpxchg>(2)"
 
 #.  91e040a79df73d371f70792f30380d4e44805250
 #. type: tbl table
 #: build/C/man2/syscalls.2:178
 #, no-wrap
 msgid "4.9"
-msgstr ""
+msgstr "4.9"
 
 #.  x86: 79170fda313ed5be2394f87aa2a00d597f8ed4a1
 #. type: tbl table
 #: build/C/man2/syscalls.2:180
-#, fuzzy, no-wrap
-#| msgid "B<prctl>(2)"
+#, no-wrap
 msgid "B<arch_prctl>(2)"
-msgstr "B<prctl>(2)"
+msgstr " B<arch_prctl>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:180 build/C/man2/syscalls.2:210
@@ -20079,29 +19208,27 @@ msgstr ""
 #.  9674cdc74d63f346870943ef966a034f8c71ee57
 #. type: tbl table
 #: build/C/man2/syscalls.2:182
-#, fuzzy, no-wrap
-#| msgid "B<mincore>(2)"
+#, no-wrap
 msgid "B<atomic_barrier>(2)"
-msgstr "B<mincore>(2)"
+msgstr " B<atomic_barrier>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:182 build/C/man2/syscalls.2:183
-#, fuzzy, no-wrap
-#| msgid "2.6.39"
+#, no-wrap
 msgid "2.6.34"
-msgstr "2.6.39"
+msgstr " 2.6.34"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:182 build/C/man2/syscalls.2:183
 #, no-wrap
 msgid "m68k only"
-msgstr ""
+msgstr "m68k のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:183
 #, no-wrap
 msgid "B<atomic_cmpxchg_32>(2)"
-msgstr ""
+msgstr "B<atomic_cmpxchg_32>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:184
@@ -20147,10 +19274,9 @@ msgstr "B<brk>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:192
-#, fuzzy, no-wrap
-#| msgid "B<readlinkat>(2)"
+#, no-wrap
 msgid "B<breakpoint>(2)"
-msgstr "B<readlinkat>(2)"
+msgstr " B<breakpoint>(2)"
 
 #.  FIXME . document utrap_install()
 #.  There's a man page for Solaris 5.11
@@ -20318,17 +19444,16 @@ msgstr "B<clock_settime>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:214
-#, fuzzy, no-wrap
-#| msgid "B<clone>(2)"
+#, no-wrap
 msgid "B<clone2>(2)"
-msgstr "B<clone>(2)"
+msgstr " B<clone2>(2)"
 
 #.     commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
 #. type: tbl table
 #: build/C/man2/syscalls.2:214 build/C/man2/syscalls.2:507
 #, no-wrap
 msgid "IA-64 only"
-msgstr ""
+msgstr "IA-64 のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:215
@@ -20338,17 +19463,15 @@ msgstr "B<clone>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:216
-#, fuzzy, no-wrap
-#| msgid "B<clone>(2)"
+#, no-wrap
 msgid "B<clone3>(2)"
-msgstr "B<clone>(2)"
+msgstr " B<clone3>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:216 build/C/man2/syscalls.2:510
-#, fuzzy, no-wrap
-#| msgid "2.5.36"
+#, no-wrap
 msgid "5.3"
-msgstr "2.5.36"
+msgstr " 5.3"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:217
@@ -20358,16 +19481,15 @@ msgstr "B<close>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:218
-#, fuzzy, no-wrap
-#| msgid "B<sync_file_range>(2)"
+#, no-wrap
 msgid "B<close_range>(2)"
-msgstr "B<sync_file_range>(2)"
+msgstr " B<close_range>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:218
 #, no-wrap
 msgid "5.9"
-msgstr ""
+msgstr "5.9"
 
 #.  .\" dcef1f634657dabe7905af3ccda12cf7f0b6fcc1
 #.  .\" cc20d42986d5807cbe4f5c7c8e3dab2e59ea0db3
@@ -20391,17 +19513,15 @@ msgstr "B<connect>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:234
-#, fuzzy, no-wrap
-#| msgid "B<sync_file_range>(2)"
+#, no-wrap
 msgid "B<copy_file_range>(2)"
-msgstr "B<sync_file_range>(2)"
+msgstr " B<copy_file_range>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:234
-#, fuzzy, no-wrap
-#| msgid "3.5"
+#, no-wrap
 msgid "4.5"
-msgstr "3.5"
+msgstr " 4.5"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:235
@@ -20513,22 +19633,21 @@ msgstr "B<eventfd2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:250
-#, fuzzy, no-wrap
-#| msgid "B<execve>(2)"
+#, no-wrap
 msgid "B<execv>(2)"
-msgstr "B<execve>(2)"
+msgstr " B<execv>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:252
 #, no-wrap
 msgid "SPARC/SPARC64 only, for\n"
-msgstr ""
+msgstr "SPARC/SPARC64 のみ、\n"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:254
 #, no-wrap
 msgid "compatibility with SunOS"
-msgstr ""
+msgstr "SunOS との互換性のため"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:255
@@ -20578,17 +19697,15 @@ msgstr "2.6.16"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:260
-#, fuzzy, no-wrap
-#| msgid "B<faccessat>(2)"
+#, no-wrap
 msgid "B<faccessat2>(2)"
-msgstr "B<faccessat>(2)"
+msgstr " B<faccessat2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:260
-#, fuzzy, no-wrap
-#| msgid "3.8"
+#, no-wrap
 msgid "5.8"
-msgstr "3.8"
+msgstr " 5.8"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:261
@@ -20750,19 +19867,17 @@ msgstr "B<fremovexattr>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:285
-#, fuzzy, no-wrap
-#| msgid "B<fchown>(2)"
+#, no-wrap
 msgid "B<fsconfig>(2)"
-msgstr "B<fchown>(2)"
+msgstr " B<fsconfig>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:285 build/C/man2/syscalls.2:287
 #: build/C/man2/syscalls.2:288 build/C/man2/syscalls.2:289
 #: build/C/man2/syscalls.2:440 build/C/man2/syscalls.2:487
-#, fuzzy, no-wrap
-#| msgid "1.2"
+#, no-wrap
 msgid "5.2"
-msgstr "1.2"
+msgstr " 5.2"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:286
@@ -20772,24 +19887,21 @@ msgstr "B<fsetxattr>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:287
-#, fuzzy, no-wrap
-#| msgid "B<mount>(2)"
+#, no-wrap
 msgid "B<fsmount>(2)"
-msgstr "B<mount>(2)"
+msgstr " B<fsmount>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:288
-#, fuzzy, no-wrap
-#| msgid "B<open>(2)"
+#, no-wrap
 msgid "B<fsopen>(2)"
-msgstr "B<open>(2)"
+msgstr " B<fsopen>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:289
-#, fuzzy, no-wrap
-#| msgid "B<splice>(2)"
+#, no-wrap
 msgid "B<fspick>(2)"
-msgstr "B<splice>(2)"
+msgstr " B<fspick>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:290
@@ -20896,17 +20008,16 @@ msgstr "B<get_thread_area>(2)"
 #.  8fcd6c45f5a65621ec809b7866a3623e9a01d4ed
 #. type: tbl table
 #: build/C/man2/syscalls.2:305
-#, fuzzy, no-wrap
-#| msgid "B<getdents>(2)"
+#, no-wrap
 msgid "B<get_tls>(2)"
-msgstr "B<getdents>(2)"
+msgstr " B<get_tls>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:305 build/C/man2/syscalls.2:563
 #: build/C/man2/syscalls.2:578
 #, no-wrap
 msgid "4.15"
-msgstr ""
+msgstr "4.15"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:307
@@ -20941,10 +20052,9 @@ msgstr "B<getdents64>(2)"
 #.  parisc: 863722e856e64dae0e252b6bb546737c6c5626ce
 #. type: tbl table
 #: build/C/man2/syscalls.2:315
-#, fuzzy, no-wrap
-#| msgid "B<setdomainname>(2)"
+#, no-wrap
 msgid "B<getdomainname>(2)"
-msgstr "B<setdomainname>(2)"
+msgstr " B<getdomainname>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:317
@@ -20954,10 +20064,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:319
-#, fuzzy, no-wrap
-#| msgid "B<setdomainname>(2)"
+#, no-wrap
 msgid "as B<osf_getdomainname>(2)\n"
-msgstr "B<setdomainname>(2)"
+msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:321
@@ -20968,17 +20077,15 @@ msgstr ""
 #.  ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
 #. type: tbl table
 #: build/C/man2/syscalls.2:323
-#, fuzzy, no-wrap
-#| msgid "B<getdtablesize>():"
+#, no-wrap
 msgid "B<getdtablesize>(2)"
-msgstr "B<getdtablesize>():"
+msgstr " B<getdtablesize>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:325
-#, fuzzy, no-wrap
-#| msgid "Removed in 2.6"
+#, no-wrap
 msgid "SPARC (removed in 2.6.26),\n"
-msgstr "2.6 で削除"
+msgstr "SPARC (2.6.26 で削除),\n"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:327
@@ -20988,10 +20095,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:329
-#, fuzzy, no-wrap
-#| msgid "B<getdtablesize>():"
+#, no-wrap
 msgid "B<osf_getdtablesize>(2)"
-msgstr "B<getdtablesize>():"
+msgstr " B<osf_getdtablesize>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:330
@@ -21044,10 +20150,9 @@ msgstr "B<getgroups32>(2)"
 #.  SPARC removal: ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16
 #. type: tbl table
 #: build/C/man2/syscalls.2:339
-#, fuzzy, no-wrap
-#| msgid "B<gethostname>():"
+#, no-wrap
 msgid "B<gethostname>(2)"
-msgstr "B<gethostname>():"
+msgstr " B<gethostname>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:341
@@ -21209,17 +20314,15 @@ msgstr "B<getuid32>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:366
-#, fuzzy, no-wrap
-#| msgid "B<getuid>(2)"
+#, no-wrap
 msgid "B<getunwind>(2)"
-msgstr "B<getuid>(2)"
+msgstr " B<getunwind>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:366
-#, fuzzy, no-wrap
-#| msgid "2.4.11"
+#, no-wrap
 msgid "2.4.8"
-msgstr "2.4.11"
+msgstr " 2.4.8"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:366
@@ -21235,10 +20338,9 @@ msgstr "B<getxattr>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:368
-#, fuzzy, no-wrap
-#| msgid "B<getgid>(2)"
+#, no-wrap
 msgid "B<getxgid>(2)"
-msgstr "B<getgid>(2)"
+msgstr " B<getxgid>(2)"
 
 #.  arch/alpha/include/asm/core_lca.h
 #. type: tbl table
@@ -21247,21 +20349,19 @@ msgstr "B<getgid>(2)"
 #: build/C/man2/syscalls.2:642
 #, no-wrap
 msgid "Alpha only; see NOTES"
-msgstr ""
+msgstr "Alpha のみ; 「注意」を参照"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:369
-#, fuzzy, no-wrap
-#| msgid "B<getpid>(2)"
+#, no-wrap
 msgid "B<getxpid>(2)"
-msgstr "B<getpid>(2)"
+msgstr " B<getxpid>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:370
-#, fuzzy, no-wrap
-#| msgid "B<getuid>(2)"
+#, no-wrap
 msgid "B<getxuid>(2)"
-msgstr "B<getuid>(2)"
+msgstr " B<getxuid>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:371
@@ -21323,16 +20423,15 @@ msgstr "B<io_getevents>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:379
-#, fuzzy, no-wrap
-#| msgid "B<io_getevents>(2)"
+#, no-wrap
 msgid "B<io_pgetevents>(2)"
-msgstr "B<io_getevents>(2)"
+msgstr " B<io_pgetevents>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:379 build/C/man2/syscalls.2:565
 #, no-wrap
 msgid "4.18"
-msgstr ""
+msgstr "4.18"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:380
@@ -21348,31 +20447,28 @@ msgstr "B<io_submit>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:382
-#, fuzzy, no-wrap
-#| msgid "B<ioprio_get>(2)"
+#, no-wrap
 msgid "B<io_uring_enter>(2)"
-msgstr "B<ioprio_get>(2)"
+msgstr " B<io_uring_enter>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:382 build/C/man2/syscalls.2:383
 #: build/C/man2/syscalls.2:384 build/C/man2/syscalls.2:509
 #, no-wrap
 msgid "5.1"
-msgstr ""
+msgstr "5.1"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:383
-#, fuzzy, no-wrap
-#| msgid "B<pciconfig_write>(2)"
+#, no-wrap
 msgid "B<io_uring_register>(2)"
-msgstr "B<pciconfig_write>(2)"
+msgstr " B<io_uring_register>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:384
-#, fuzzy, no-wrap
-#| msgid "B<io_setup>(2)"
+#, no-wrap
 msgid "B<io_uring_setup>(2)"
-msgstr "B<io_setup>(2)"
+msgstr " B<io_uring_setup>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:385
@@ -21441,7 +20537,7 @@ msgstr "3.7"
 #: build/C/man2/syscalls.2:765
 #, no-wrap
 msgid "SPARC64 only"
-msgstr ""
+msgstr "SPARC64 のみ"
 
 #.  FIXME . document kern_features():
 #.  commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb
@@ -21569,19 +20665,17 @@ msgstr "B<mbind>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:422
-#, fuzzy, no-wrap
-#| msgid "B<query_module>(2)"
+#, no-wrap
 msgid "B<memory_ordering>(2)"
-msgstr "B<query_module>(2)"
+msgstr " B<memory_ordering>(2)"
 
 #.  26025bbfbba33a9425be1b89eccb4664ea4c17b6
 #.  bb6fb6dfcc17cddac11ac295861f7608194447a7
 #. type: tbl table
 #: build/C/man2/syscalls.2:425
-#, fuzzy, no-wrap
-#| msgid "B<mremap>(2)"
+#, no-wrap
 msgid "B<membarrier>(2)"
-msgstr "B<mremap>(2)"
+msgstr " B<membarrier>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:426
@@ -21633,17 +20727,15 @@ msgstr "B<mlock>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:434
-#, fuzzy, no-wrap
-#| msgid "B<mlock>(2)"
+#, no-wrap
 msgid "B<mlock2>(2)"
-msgstr "B<mlock>(2)"
+msgstr " B<mlock2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:434
-#, fuzzy, no-wrap
-#| msgid "2.4"
+#, no-wrap
 msgid "4.4"
-msgstr "2.4"
+msgstr " 4.4"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:435
@@ -21677,10 +20769,9 @@ msgstr "B<mount>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:440
-#, fuzzy, no-wrap
-#| msgid "B<mount>(2)"
+#, no-wrap
 msgid "B<move_mount>(2)"
-msgstr "B<mount>(2)"
+msgstr " B<move_mount>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:441
@@ -21819,18 +20910,16 @@ msgstr "B<nanosleep>(2)"
 #.  5590ff0d5528b60153c0b4e7b771472b5a95e297
 #. type: tbl table
 #: build/C/man2/syscalls.2:464
-#, fuzzy, no-wrap
-#| msgid "B<fstatat64>(2)"
+#, no-wrap
 msgid "B<newfstatat>(2)"
-msgstr "B<fstatat64>(2)"
+msgstr " B<newfstatat>(2)"
 
 #.  5590ff0d5528b60153c0b4e7b771472b5a95e297
 #. type: tbl table
 #: build/C/man2/syscalls.2:464
-#, fuzzy, no-wrap
-#| msgid "B<stat>(2)"
+#, no-wrap
 msgid "See B<stat>(2)"
-msgstr "B<stat>(2)"
+msgstr " See B<stat>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:465
@@ -21852,17 +20941,15 @@ msgstr "B<nice>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:467
-#, fuzzy, no-wrap
-#| msgid "B<adjtimex>(2)"
+#, no-wrap
 msgid "B<old_adjtimex>(2)"
-msgstr "B<adjtimex>(2)"
+msgstr " B<old_adjtimex>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:468
-#, fuzzy, no-wrap
-#| msgid "B<getrlimit>(2)"
+#, no-wrap
 msgid "B<old_getrlimit>(2)"
-msgstr "B<getrlimit>(2)"
+msgstr " B<old_getrlimit>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:470
@@ -21909,17 +20996,15 @@ msgstr "B<oldstat>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:479
-#, fuzzy, no-wrap
-#| msgid "B<umount>(2)"
+#, no-wrap
 msgid "B<oldumount>(2)"
-msgstr "B<umount>(2)"
+msgstr " B<oldumount>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:479
-#, fuzzy, no-wrap
-#| msgid "2.4.11"
+#, no-wrap
 msgid "2.4.116"
-msgstr "2.4.11"
+msgstr " 2.4.116"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:481
@@ -21954,10 +21039,9 @@ msgstr "B<open_by_handle_at>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:487
-#, fuzzy, no-wrap
-#| msgid "B<openat>(2)"
+#, no-wrap
 msgid "B<open_tree>(2)"
-msgstr "B<openat>(2)"
+msgstr " B<open_tree>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:488
@@ -21967,40 +21051,36 @@ msgstr "B<openat>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:489
-#, fuzzy, no-wrap
-#| msgid "B<openat>(2)"
+#, no-wrap
 msgid "B<openat2>(2)"
-msgstr "B<openat>(2)"
+msgstr " B<openat2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:489 build/C/man2/syscalls.2:508
-#, fuzzy, no-wrap
-#| msgid "2.6"
+#, no-wrap
 msgid "5.6"
-msgstr "2.6"
+msgstr " 5.6"
 
 #.  9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a
 #. type: tbl table
 #: build/C/man2/syscalls.2:491
-#, fuzzy, no-wrap
-#| msgid "B<clock_adjtime>(2)"
+#, no-wrap
 msgid "B<or1k_atomic>(2)"
-msgstr "B<clock_adjtime>(2)"
+msgstr " B<or1k_atomic>(2)"
 
 #.  9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a
 #. type: tbl table
 #: build/C/man2/syscalls.2:491
-#, fuzzy, no-wrap
-#| msgid "3.18"
+#, no-wrap
 msgid "3.1"
-msgstr "3.18"
+msgstr " 3.1"
 
 #.  9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a
 #. type: tbl table
 #: build/C/man2/syscalls.2:491
 #, no-wrap
 msgid "OpenRISC 1000 only"
-msgstr ""
+msgstr "OpenRISC 1000 のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:492
@@ -22080,10 +21160,9 @@ msgstr "B<perfctr>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:505
-#, fuzzy, no-wrap
-#| msgid "Sparc; removed in 2.6.34"
+#, no-wrap
 msgid "SPARC only; removed in 2.6.34"
-msgstr "Sparc; 2.6.34 で削除"
+msgstr "SPARC のみ; 2.6.34 で削除"
 
 #.     commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
 #. type: tbl table
@@ -22094,24 +21173,21 @@ msgstr "B<perfmonctl>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:508
-#, fuzzy, no-wrap
-#| msgid "B<ioprio_get>(2)"
+#, no-wrap
 msgid "B<pidfd_getfd>(2)"
-msgstr "B<ioprio_get>(2)"
+msgstr " B<pidfd_getfd>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:509
-#, fuzzy, no-wrap
-#| msgid "B<signal>(2)"
+#, no-wrap
 msgid "B<pidfd_send_signal>(2)"
-msgstr "B<signal>(2)"
+msgstr " B<pidfd_send_signal>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:510
-#, fuzzy, no-wrap
-#| msgid "B<open>(2)"
+#, no-wrap
 msgid "B<pidfd_open>(2)"
-msgstr "B<open>(2)"
+msgstr " B<pidfd_open>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:511
@@ -22133,32 +21209,28 @@ msgstr "B<pivot_root>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:514
-#, fuzzy, no-wrap
-#| msgid "B<keyctl>(2)"
+#, no-wrap
 msgid "B<pkey_alloc>(2)"
-msgstr "B<keyctl>(2)"
+msgstr " B<pkey_alloc>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:514 build/C/man2/syscalls.2:515
 #: build/C/man2/syscalls.2:516
-#, fuzzy, no-wrap
-#| msgid "3.8"
+#, no-wrap
 msgid "4.8"
-msgstr "3.8"
+msgstr " 4.8"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:515
-#, fuzzy, no-wrap
-#| msgid "B<perfctr>(2)"
+#, no-wrap
 msgid "B<pkey_free>(2)"
-msgstr "B<perfctr>(2)"
+msgstr " B<pkey_free>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:516
-#, fuzzy, no-wrap
-#| msgid "B<mprotect>(2)"
+#, no-wrap
 msgid "B<pkey_mprotect>(2)"
-msgstr "B<mprotect>(2)"
+msgstr " B<pkey_mprotect>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:517
@@ -22216,17 +21288,15 @@ msgstr "2.6.30"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:526
-#, fuzzy, no-wrap
-#| msgid "B<preadv>(2)"
+#, no-wrap
 msgid "B<preadv2>(2)"
-msgstr "B<preadv>(2)"
+msgstr " B<preadv2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:526 build/C/man2/syscalls.2:540
-#, fuzzy, no-wrap
-#| msgid "2.6"
+#, no-wrap
 msgid "4.6"
-msgstr "2.6"
+msgstr " 4.6"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:527
@@ -22242,16 +21312,15 @@ msgstr "2.6.36"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:528
-#, fuzzy, no-wrap
-#| msgid "B<process_vm_readv>(2)"
+#, no-wrap
 msgid "B<process_madvise>(2)"
-msgstr "B<process_vm_readv>(2)"
+msgstr " B<process_madvise>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:528
 #, no-wrap
 msgid "5.10"
-msgstr ""
+msgstr "5.10"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:529
@@ -22310,10 +21379,9 @@ msgstr "B<pwritev>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:540
-#, fuzzy, no-wrap
-#| msgid "B<pwritev>(2)"
+#, no-wrap
 msgid "B<pwritev2>(2)"
-msgstr "B<pwritev>(2)"
+msgstr " B<pwritev2>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:541
@@ -22463,17 +21531,16 @@ msgstr "B<restart_syscall>(2)"
 #.  921ebd8f2c081b3cf6c3b29ef4103eef3ff26054
 #. type: tbl table
 #: build/C/man2/syscalls.2:563
-#, fuzzy, no-wrap
-#| msgid "B<sync_file_range>(2)"
+#, no-wrap
 msgid "B<riscv_flush_icache>(2)"
-msgstr "B<sync_file_range>(2)"
+msgstr " B<riscv_flush_icache>(2)"
 
 #.  921ebd8f2c081b3cf6c3b29ef4103eef3ff26054
 #. type: tbl table
 #: build/C/man2/syscalls.2:563
 #, no-wrap
 msgid "RISC-V only"
-msgstr ""
+msgstr "RISC-V のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:564
@@ -22483,10 +21550,9 @@ msgstr "B<rmdir>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:565
-#, fuzzy, no-wrap
-#| msgid "B<read>(2)"
+#, no-wrap
 msgid "B<rseq>(2)"
-msgstr "B<read>(2)"
+msgstr " B<rseq>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:566
@@ -22538,10 +21604,9 @@ msgstr "B<rt_tgsigqueueinfo>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:574
-#, fuzzy, no-wrap
-#| msgid "B<ppc_rtas>(2)"
+#, no-wrap
 msgid "B<rtas>(2)"
-msgstr "B<ppc_rtas>(2)"
+msgstr " B<rtas>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:574
@@ -22553,10 +21618,9 @@ msgstr "2.6.2"
 #: build/C/man2/syscalls.2:574 build/C/man2/syscalls.2:691
 #: build/C/man2/syscalls.2:692 build/C/man2/syscalls.2:700
 #: build/C/man2/syscalls.2:701
-#, fuzzy, no-wrap
-#| msgid "PowerPC only"
+#, no-wrap
 msgid "PowerPC/PowerPC64 only"
-msgstr "PowerPC のみ"
+msgstr "PowerPC/PowerPC64 のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:575
@@ -22586,30 +21650,27 @@ msgstr "B<s390_pci_mmio_write>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:578
-#, fuzzy, no-wrap
-#| msgid "B<stime>(2)"
+#, no-wrap
 msgid "B<s390_sthyi>(2)"
-msgstr "B<stime>(2)"
+msgstr " B<s390_sthyi>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:579
-#, fuzzy, no-wrap
-#| msgid "B<s390_runtime_instr>(2)"
+#, no-wrap
 msgid "B<s390_guarded_storage>(2)"
-msgstr "B<s390_runtime_instr>(2)"
+msgstr " B<s390_guarded_storage>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:579
 #, no-wrap
 msgid "4.12"
-msgstr ""
+msgstr "4.12"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:580
-#, fuzzy, no-wrap
-#| msgid "B<sched_getaffinity>(2)"
+#, no-wrap
 msgid "B<sched_get_affinity>(2)"
-msgstr "B<sched_getaffinity>(2)"
+msgstr " B<sched_get_affinity>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:582
@@ -22674,10 +21735,9 @@ msgstr "B<sched_rr_get_interval>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:592
-#, fuzzy, no-wrap
-#| msgid "B<sched_setaffinity>(2)"
+#, no-wrap
 msgid "B<sched_set_affinity>(2)"
-msgstr "B<sched_setaffinity>(2)"
+msgstr " B<sched_set_affinity>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:594
@@ -22832,10 +21892,9 @@ msgstr "B<set_tid_address>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:618
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<set_tls>(2)"
-msgstr "B<setns>(2)"
+msgstr " B<set_tls>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:618 build/C/man2/syscalls.2:715
@@ -22921,10 +21980,9 @@ msgstr "B<setgroups32>(2)"
 #.  arch/alpha/include/asm/core_lca.h
 #. type: tbl table
 #: build/C/man2/syscalls.2:642
-#, fuzzy, no-wrap
-#| msgid "B<sethostname>(2)"
+#, no-wrap
 msgid "B<sethae>(2)"
-msgstr "B<sethostname>(2)"
+msgstr " B<sethae>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:643
@@ -22952,10 +22010,9 @@ msgstr "B<setpgid>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:647
-#, fuzzy, no-wrap
-#| msgid "B<getpgrp>(2)"
+#, no-wrap
 msgid "B<setpgrp>(2)"
-msgstr "B<getpgrp>(2)"
+msgstr " B<setpgrp>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:649
@@ -23190,18 +22247,16 @@ msgstr "B<socketpair>(2)"
 #.  5a0015d62668e64c8b6e02e360fbbea121bfd5e6
 #. type: tbl table
 #: build/C/man2/syscalls.2:689
-#, fuzzy, no-wrap
-#| msgid "B<kill>(2)"
+#, no-wrap
 msgid "B<spill>(2)"
-msgstr "B<kill>(2)"
+msgstr " B<spill>(2)"
 
 #.  5a0015d62668e64c8b6e02e360fbbea121bfd5e6
 #. type: tbl table
 #: build/C/man2/syscalls.2:689 build/C/man2/syscalls.2:783
-#, fuzzy, no-wrap
-#| msgid "s390 only"
+#, no-wrap
 msgid "Xtensa only"
-msgstr "s390 のみ"
+msgstr "Xtensa のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:690
@@ -23253,17 +22308,15 @@ msgstr "B<statfs64>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:698
-#, fuzzy, no-wrap
-#| msgid "B<stat>(2)"
+#, no-wrap
 msgid "B<statx>(2)"
-msgstr "B<stat>(2)"
+msgstr " B<statx>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:698
-#, fuzzy, no-wrap
-#| msgid "2.4.11"
+#, no-wrap
 msgid "4.11"
-msgstr "2.4.11"
+msgstr " 4.11"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:699
@@ -23286,41 +22339,36 @@ msgstr "2.6.25"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:701
-#, fuzzy, no-wrap
-#| msgid "B<swapon>(2)"
+#, no-wrap
 msgid "B<swapcontext>(2)"
-msgstr "B<swapon>(2)"
+msgstr " B<swapcontext>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:701
-#, fuzzy, no-wrap
-#| msgid "2.6.39"
+#, no-wrap
 msgid "2.6.3"
-msgstr "2.6.39"
+msgstr " 2.6.3"
 
 #.  529d235a0e190ded1d21ccc80a73e625ebcad09b
 #. type: tbl table
 #: build/C/man2/syscalls.2:703
-#, fuzzy, no-wrap
-#| msgid "B<sigpending>(2)"
+#, no-wrap
 msgid "B<switch_endian>(2)"
-msgstr "B<sigpending>(2)"
+msgstr " B<switch_endian>(2)"
 
 #.  529d235a0e190ded1d21ccc80a73e625ebcad09b
 #. type: tbl table
 #: build/C/man2/syscalls.2:703
-#, fuzzy, no-wrap
-#| msgid "2.4.11"
+#, no-wrap
 msgid "4.1"
-msgstr "2.4.11"
+msgstr " 4.1"
 
 #.  529d235a0e190ded1d21ccc80a73e625ebcad09b
 #. type: tbl table
 #: build/C/man2/syscalls.2:703
-#, fuzzy, no-wrap
-#| msgid "PowerPC only"
+#, no-wrap
 msgid "PowerPC64 only"
-msgstr "PowerPC のみ"
+msgstr "PowerPC64 のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:704
@@ -23375,10 +22423,9 @@ msgstr "B<syncfs>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:715
-#, fuzzy, no-wrap
-#| msgid "B<sched_setattr>(2)"
+#, no-wrap
 msgid "B<sys_debug_setcontext>(2)"
-msgstr "B<sched_setattr>(2)"
+msgstr " B<sys_debug_setcontext>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:715
@@ -23388,10 +22435,9 @@ msgstr "PowerPC のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:716
-#, fuzzy, no-wrap
-#| msgid "B<_sysctl>(2)"
+#, no-wrap
 msgid "B<syscall>(2)"
-msgstr "B<_sysctl>(2)"
+msgstr " B<syscall>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:718
@@ -23426,26 +22472,23 @@ msgstr "B<syslog>(2)"
 #.  glibc interface is \fBklogctl\fP(3)
 #. type: tbl table
 #: build/C/man2/syscalls.2:725
-#, fuzzy, no-wrap
-#| msgid "B<sysfs>(2)"
+#, no-wrap
 msgid "B<sysmips>(2)"
-msgstr "B<sysfs>(2)"
+msgstr " B<sysmips>(2)"
 
 #.  glibc interface is \fBklogctl\fP(3)
 #. type: tbl table
 #: build/C/man2/syscalls.2:725
-#, fuzzy, no-wrap
-#| msgid "2.6.30"
+#, no-wrap
 msgid "2.6.0"
-msgstr "2.6.30"
+msgstr " 2.6.0"
 
 #.  glibc interface is \fBklogctl\fP(3)
 #. type: tbl table
 #: build/C/man2/syscalls.2:725
-#, fuzzy, no-wrap
-#| msgid "Sparc only"
+#, no-wrap
 msgid "MIPS only"
-msgstr "Sparc のみ"
+msgstr "MIPS のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:726
@@ -23601,44 +22644,39 @@ msgstr "B<ustat>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:759
-#, fuzzy, no-wrap
-#| msgid "B<ustat>(2)"
+#, no-wrap
 msgid "B<userfaultfd>(2)"
-msgstr "B<ustat>(2)"
+msgstr " B<userfaultfd>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:759
-#, fuzzy, no-wrap
-#| msgid "2.4.13"
+#, no-wrap
 msgid "4.3"
-msgstr "2.4.13"
+msgstr " 4.3"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:760
-#, fuzzy, no-wrap
-#| msgid "B<dup2>(2)"
+#, no-wrap
 msgid "B<usr26>(2)"
-msgstr "B<dup2>(2)"
+msgstr " B<usr26>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:760 build/C/man2/syscalls.2:761
-#, fuzzy, no-wrap
-#| msgid "2.4.11"
+#, no-wrap
 msgid "2.4.8.1"
-msgstr "2.4.11"
+msgstr " 2.4.8.1"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:760 build/C/man2/syscalls.2:761
 #, no-wrap
 msgid "ARM OABI only"
-msgstr ""
+msgstr "ARM OABI のみ"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:761
-#, fuzzy, no-wrap
-#| msgid "B<dup2>(2)"
+#, no-wrap
 msgid "B<usr32>(2)"
-msgstr "B<dup2>(2)"
+msgstr " B<usr32>(2)"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:762
@@ -23697,10 +22735,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:774
-#, fuzzy, no-wrap
-#| msgid "2.0.28; 2.2"
+#, no-wrap
 msgid "2.0.28/2.2"
-msgstr "2.0.28; 2.2"
+msgstr " 2.0.28/2.2"
 
 #. type: tbl table
 #: build/C/man2/syscalls.2:775
@@ -23753,10 +22790,9 @@ msgstr "B<writev>(2)"
 #.  5a0015d62668e64c8b6e02e360fbbea121bfd5e6
 #. type: tbl table
 #: build/C/man2/syscalls.2:783
-#, fuzzy, no-wrap
-#| msgid "B<utimensat>(2)"
+#, no-wrap
 msgid "B<xtensa>(2)"
-msgstr "B<utimensat>(2)"
+msgstr " B<xtensa>(2)"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:792
@@ -23850,17 +22886,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:852
-#, fuzzy
-#| msgid "B<preadv>(2)"
 msgid "B<pread>(2)"
-msgstr "B<preadv>(2)"
+msgstr " B<pread>(2)"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:854
-#, fuzzy
-#| msgid "B<pwritev>(2)"
 msgid "B<pwrite>(2)"
-msgstr "B<pwritev>(2)"
+msgstr " B<pwrite>(2)"
 
 #. type: TP
 #: build/C/man2/syscalls.2:856
@@ -23937,18 +22969,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:921
-#, fuzzy
-#| msgid ""
-#| "Roughly speaking, the code belonging to the system call with number "
-#| "__NR_xxx defined in I</usr/include/asm/unistd.h> can be found in the "
-#| "Linux kernel source in the routine I<sys_xxx>().  (The dispatch table for "
-#| "i386 can be found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There "
-#| "are many exceptions, however, mostly because older system calls were "
-#| "superseded by newer ones, and this has been treated somewhat "
-#| "unsystematically.  On platforms with proprietary operating-system "
-#| "emulation, such as parisc, sparc, sparc64, and alpha, there are many "
-#| "additional system calls; mips64 also contains a full set of 32-bit system "
-#| "calls."
 msgid ""
 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
@@ -23958,16 +22978,7 @@ msgid ""
 "operating-system emulation, such as sparc, sparc64, and alpha, there are "
 "many additional system calls; mips64 also contains a full set of 32-bit "
 "system calls."
-msgstr ""
-"たいていは、 I</usr/include/asm/unistd.h> で定義されている番号 __NR_xxx のシ"
-"ステムコールのコードは、 Linux カーネルソースの I<sys_xxx>() というルーチンに"
-"書かれている (i386 における実行テーブルは I</usr/src/linux/arch/i386/kernel/"
-"entry.S> に書かれている)。 しかしこれには多くの例外がある。古いシステムコール"
-"は新版に置き換えられて きたが、この置き換えはあまり体系立てて行われて来なかっ"
-"たからである。 parisc, sparc, sparc64, alpha といったプロプリエタリなオペレー"
-"ティングシステムのエミュレーション機能があるプラットフォームでは、多くの追加"
-"システムコールがある。 mips64 には、32 ビットシステムコールのフルセットも含ま"
-"れている。"
+msgstr "たいていは、 I</usr/include/asm/unistd.h> で定義されている番号 __NR_xxx のシステムコールのコードは、 Linux カーネルソースの I<sys_xxx>() というルーチンに書かれている。 しかしこれには多くの例外がある。古いシステムコールは新版に置き換えられて きたが、この置き換えはあまり体系立てて行われて来なかったからである。 sparc, sparc64, alpha といったプロプリエタリなオペレーティングシステムのエミュレーション機能があるプラットフォームでは、多くの追加システムコールがある。 mips64 には、32 ビットシステムコールのフルセットも含まれている。"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:940
@@ -24025,11 +23036,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:972
-#, fuzzy
-#| msgid ""
-#| "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
-#| "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  "
-#| "and I<sys_newuname>()."
 msgid ""
 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>(), and "
@@ -24079,17 +23085,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:1019
-#, fuzzy
-#| msgid ""
-#| "Linux 2.4 added support for applications on 32-bit architectures to "
-#| "access large files (i.e., files for which the sizes and file offsets "
-#| "can't be represented in 32 bits.)  To support this change, replacements "
-#| "were required for system calls that deal with file offsets and sizes.  "
-#| "Thus the following system calls were added: B<fcntl64>(2), "
-#| "B<ftruncate64>(2), B<getdents64>(2), B<stat64>(2), B<statfs64>(2), and "
-#| "their analogs that work with file descriptors or symbolic links.  These "
-#| "system calls supersede the older system calls which, except in the case "
-#| "of the \"stat\" calls, have the same name without the \"64\" suffix."
 msgid ""
 "Linux 2.4 added support for applications on 32-bit architectures to access "
 "large files (i.e., files for which the sizes and file offsets can't be "
@@ -24100,16 +23095,7 @@ msgid ""
 "descriptors or symbolic links.  These system calls supersede the older "
 "system calls which, except in the case of the \"stat\" calls, have the same "
 "name without the \"64\" suffix."
-msgstr ""
-"Linux 2.4 では、32 ビットアーキテクチャー上のアプリケーションが 大きなファイ"
-"ル (つまり、32 ビットでは表現できないサイズや ファイルオフセットが必要なファ"
-"イル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセッ"
-"トとサイズを扱う システムコールの置き換えが必要となった。その結果、 "
-"B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), B<stat64>(2), "
-"B<statfs64>(2)  と、ファイルディスクリプターやシンボリックリンクで同じ機能を"
-"持つ システムコールが追加された。 これらのシステムコールが、末尾の \"64\" が"
-"付かない同名の 古いバージョンに代わって使われるようになった。 但し、\"stat\" "
-"系のシステムコールはその限りではない。"
+msgstr "Linux 2.4 では、32 ビットアーキテクチャー上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや ファイルオフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセットとサイズを扱う システムコールの置き換えが必要となった。その結果、 B<fcntl64>(2), B<getdents64>(2), B<stat64>(2), B<statfs64>(2), B<truncate64>(2) と、ファイルディスクリプターやシンボリックリンクで同じ機能を持つ システムコールが追加された。 これらのシステムコールが、末尾の \"64\" が付かない同名の 古いバージョンに代わって使われるようになった。 但し、\"stat\" 系のシステムコールはその限りではない。"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:1025
@@ -24196,10 +23182,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/syscalls.2:1087
-#, fuzzy, no-wrap
-#| msgid "Architecture-specific requirements"
+#, no-wrap
 msgid "Architecture-specific details: Alpha"
-msgstr "ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼å\9bºæ\9c\89ã\81®è¦\81件"
+msgstr "ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\83¼å\9bºæ\9c\89ã\81®è©³ç´°: Alpha"
 
 #. type: Plain text
 #: build/C/man2/syscalls.2:1094
@@ -24253,10 +23238,9 @@ msgstr "SYSCONF"
 
 #. type: TH
 #: build/C/man3/sysconf.3:27
-#, fuzzy, no-wrap
-#| msgid "2014-05-28"
+#, no-wrap
 msgid "2019-05-09"
-msgstr "2014-05-28"
+msgstr " 2019-05-09"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:30
@@ -24291,22 +23275,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:56
-#, fuzzy
-#| msgid ""
-#| "At run time, one can ask for numerical values using the present function "
-#| "B<sysconf>().  One can ask for numerical values that may depend on the "
-#| "filesystem a file is in using the calls B<fpathconf>(3)  and "
-#| "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
 msgid ""
 "At run time, one can ask for numerical values using the present function "
 "B<sysconf>().  One can ask for numerical values that may depend on the "
 "filesystem in which a file resides using B<fpathconf>(3)  and "
 "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
-msgstr ""
-"実行時には、ここで説明する関数 B<sysconf>()  を使って数値を問い合わせることが"
-"できる。 ファイルが存在するファイルシステムに関する数値は、 B<fpathconf>(3)  "
-"と B<pathconf>(3)  を使って確認できる。 文字列の値は B<confstr>(3)  を使って"
-"確認できる。"
+msgstr "実行時には、ここで説明する関数 B<sysconf>()  を使って数値を問い合わせることができる。 ファイルが存在するファイルシステムに依存する数値は、 B<fpathconf>(3) と B<pathconf>(3) を使って確認できる。 文字列の値は B<confstr>(3) を使って確認できる。"
 
 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
@@ -24515,21 +23489,14 @@ msgstr "B<PAGESIZE> - B<_SC_PAGESIZE>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:178
-#, fuzzy
-#| msgid ""
-#| "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
-#| "PAGE_SIZE instead.)"
 msgid "Size of a page in bytes.  Must not be less than 1."
-msgstr ""
-"バイト単位でのページサイズ。 1 より小さくなってはならない。 (この代わりに "
-"PAGE_SIZE を使うシステムもある)"
+msgstr "バイト単位でのページサイズ。 1 より小さくなってはならない。"
 
 #. type: TP
 #: build/C/man3/sysconf.3:178
-#, fuzzy, no-wrap
-#| msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
+#, no-wrap
 msgid "B<PAGE_SIZE> - B<_SC_PAGE_SIZE>"
-msgstr "B<PAGESIZE> - B<_SC_PAGESIZE>"
+msgstr " B<PAGE_SIZE> - B<_SC_PAGE_SIZE>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:187
@@ -24697,10 +23664,6 @@ msgstr "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:263
-#, fuzzy
-#| msgid ""
-#| "indicates the maximum numbers of weights that can be assigned to an entry "
-#| "of the B<LC_COLLATE order> keyword in the locale definition file,"
 msgid ""
 "indicates the maximum numbers of weights that can be assigned to an entry of "
 "the B<LC_COLLATE order> keyword in the locale definition file."
@@ -24801,10 +23764,6 @@ msgstr "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:300
-#, fuzzy
-#| msgid ""
-#| "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
-#| "supported."
 msgid ""
 "indicates whether the POSIX.2 creation of locales via B<localedef>(1)  is "
 "supported."
@@ -24866,10 +23825,8 @@ msgstr " - B<_SC_NPROCESSORS_CONF>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:321
-#, fuzzy
-#| msgid "The number of processors configured."
 msgid "The number of processors configured.  See also B<get_nprocs_conf>(3)."
-msgstr "設定されたプロセッサ数。"
+msgstr "設定されたプロセッサ数。 B<get_nprocs_conf>(3) も参照。"
 
 #. type: TP
 #: build/C/man3/sysconf.3:321
@@ -24879,12 +23836,10 @@ msgstr " - B<_SC_NPROCESSORS_ONLN>"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:326
-#, fuzzy
-#| msgid "The number of processors currently online (available)."
 msgid ""
 "The number of processors currently online (available).  See also "
 "B<get_nprocs_conf>(3)."
-msgstr "現在オンラインの (利用可能な) プロセッサ数。"
+msgstr "現在オンラインの (利用可能な) プロセッサ数。 B<get_nprocs_conf>(3) も参照。"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:330
@@ -24893,10 +23848,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man3/sysconf.3:381
-#, fuzzy, no-wrap
-#| msgid "B<sysinfo>(2)"
+#, no-wrap
 msgid "B<sysconf>()"
-msgstr "B<sysinfo>(2)"
+msgstr " B<sysconf>()"
 
 #. type: Plain text
 #: build/C/man3/sysconf.3:391
@@ -24931,16 +23885,13 @@ msgstr "sysctl - システムパラメーターを読み書きする"
 
 #. type: Plain text
 #: build/C/man2/sysctl.2:37
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<#include E<lt>unistd.hE<gt>>\n"
-#| "B<#include E<lt>fcntl.hE<gt>>\n"
+#, no-wrap
 msgid ""
 "B<#include E<lt>unistd.hE<gt>>\n"
 "B<#include E<lt>linux/sysctl.hE<gt>>\n"
 msgstr ""
-"B<#include E<lt>unistd.hE<gt>>\n"
-"B<#include E<lt>fcntl.hE<gt>>\n"
+" B<#include E<lt>unistd.hE<gt>>\n"
+"B<#include E<lt>linux/sysctl.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/sysctl.2:39
@@ -25045,25 +23996,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sysctl.2:110
-#, fuzzy
-#| msgid ""
-#| "This call is Linux-specific, and should not be used in programs intended "
-#| "to be portable.  A B<sysctl>()  call has been present in Linux since "
-#| "version 1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/"
-#| "sys> mirror, and the object naming schemes differ between Linux and "
-#| "4.4BSD, but the declaration of the B<sysctl>()  function is the same in "
-#| "both."
 msgid ""
 "This call is Linux-specific, and should not be used in programs intended to "
 "be portable.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> "
 "mirror, and the object naming schemes differ between Linux and 4.4BSD, but "
 "the declaration of the B<sysctl>()  function is the same in both."
-msgstr ""
-"このコールは Linux 特有であり、移植を意図したプログラムで使用しては いけな"
-"い。 B<sysctl>()  コールは Linux のバージョン 1.3.57 から存在している。 これ"
-"は 4.4BSD に由来している。Linux は I</proc/sys> に写し(mirror)をもっており、"
-"項目の名前の付け方が Linux と 4.4BSD では 異っている。しかし B<sysctl>()  関"
-"数の宣言は両方で同じである。"
+msgstr "このコールは Linux 特有であり、移植を意図したプログラムで使用しては いけない。これは 4.4BSD に由来している。Linux は I</proc/sys> に写し(mirror)をもっており、項目の名前の付け方が Linux と 4.4BSD では 異っている。しかし B<sysctl>()  関数の宣言は両方で同じである。"
 
 #. type: Plain text
 #: build/C/man2/sysctl.2:118
@@ -25159,13 +24097,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sysctl.2:162
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
-#| "    args.name = name;\n"
-#| "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
-#| "    args.oldval = osname;\n"
-#| "    args.oldlenp = &osnamelth;\n"
+#, no-wrap
 msgid ""
 "    memset(&args, 0, sizeof(args));\n"
 "    args.name = name;\n"
@@ -25173,7 +24105,7 @@ msgid ""
 "    args.oldval = osname;\n"
 "    args.oldlenp = &osnamelth;\n"
 msgstr ""
-"    memset(&args, 0, sizeof(struct __sysctl_args));\n"
+"     memset(&args, 0, sizeof(args));\n"
 "    args.name = name;\n"
 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
 "    args.oldval = osname;\n"
@@ -25218,10 +24150,8 @@ msgstr "SYSINFO"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:38
-#, fuzzy
-#| msgid "sysinfo - returns information on overall system statistics"
 msgid "sysinfo - return system information"
-msgstr "sysinfo - システム全体の統計情報を返す。"
+msgstr "sysinfo - システム情報を返す"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:42
@@ -25237,31 +24167,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:50
-#, fuzzy
-#| msgid ""
-#| "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
-#| "following structure:"
 msgid ""
 "Until Linux 2.3.16, B<sysinfo>()  returned information in the following "
 "structure:"
-msgstr "Linux 2.3.16 ã\81¾ã\81§ã\81¯ B<sysinfo>()  ã\81¯ä»¥ä¸\8bã\81®æ§\8bé\80 ä½\93ã\81«æ\83\85å ±ã\82\92å\85¥ã\82\8cã\81¦è¿\94ã\81\99。"
+msgstr "Linux 2.3.16 ã\81¾ã\81§ã\81¯ B<sysinfo>()  ã\81¯ä»¥ä¸\8bã\81®æ§\8bé\80 ä½\93ã\81«æ\83\85å ±ã\82\92å\85¥ã\82\8cã\81¦è¿\94ã\81\97ã\81\9f。"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:65
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct sysinfo {\n"
-#| "    long uptime;             /* Seconds since boot */\n"
-#| "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
-#| "    unsigned long totalram;  /* Total usable main memory size */\n"
-#| "    unsigned long freeram;   /* Available memory size */\n"
-#| "    unsigned long sharedram; /* Amount of shared memory */\n"
-#| "    unsigned long bufferram; /* Memory used by buffers */\n"
-#| "    unsigned long totalswap; /* Total swap space size */\n"
-#| "    unsigned long freeswap;  /* swap space still available */\n"
-#| "    unsigned short procs;    /* Number of current processes */\n"
-#| "    char _f[22];             /* Pads structure to 64 bytes */\n"
-#| "};\n"
+#, no-wrap
 msgid ""
 "struct sysinfo {\n"
 "    long uptime;             /* Seconds since boot */\n"
@@ -25276,7 +24189,7 @@ msgid ""
 "    char _f[22];             /* Pads structure to 64 bytes */\n"
 "};\n"
 msgstr ""
-"struct sysinfo {\n"
+" struct sysinfo {\n"
 "    long uptime;             /* Seconds since boot */\n"
 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
 "    unsigned long totalram;  /* Total usable main memory size */\n"
@@ -25284,7 +24197,7 @@ msgstr ""
 "    unsigned long sharedram; /* Amount of shared memory */\n"
 "    unsigned long bufferram; /* Memory used by buffers */\n"
 "    unsigned long totalswap; /* Total swap space size */\n"
-"    unsigned long freeswap;  /* swap space still available */\n"
+"    unsigned long freeswap;  /* Swap space still available */\n"
 "    unsigned short procs;    /* Number of current processes */\n"
 "    char _f[22];             /* Pads structure to 64 bytes */\n"
 "};\n"
@@ -25298,33 +24211,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:73
-#, fuzzy
-#| msgid ""
-#| "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
 msgid ""
 "Since Linux 2.3.23 (i386) and Linux 2.3.48 (all architectures) the structure "
 "is:"
-msgstr "Linux 2.3.23 (i386)、2.3.48 (全てのアーキテクチャー) からは構造体は"
+msgstr "Linux 2.3.23 (i386)、Linux 2.3.48 (全てのアーキテクチャー) 以降では、構造体は"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:92
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct sysinfo {\n"
-#| "    long uptime;             /* Seconds since boot */\n"
-#| "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
-#| "    unsigned long totalram;  /* Total usable main memory size */\n"
-#| "    unsigned long freeram;   /* Available memory size */\n"
-#| "    unsigned long sharedram; /* Amount of shared memory */\n"
-#| "    unsigned long bufferram; /* Memory used by buffers */\n"
-#| "    unsigned long totalswap; /* Total swap space size */\n"
-#| "    unsigned long freeswap;  /* swap space still available */\n"
-#| "    unsigned short procs;    /* Number of current processes */\n"
-#| "    unsigned long totalhigh; /* Total high memory size */\n"
-#| "    unsigned long freehigh;  /* Available high memory size */\n"
-#| "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
-#| "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
-#| "};\n"
+#, no-wrap
 msgid ""
 "struct sysinfo {\n"
 "    long uptime;             /* Seconds since boot */\n"
@@ -25343,7 +24237,7 @@ msgid ""
 "                             /* Padding to 64 bytes */\n"
 "};\n"
 msgstr ""
-"struct sysinfo {\n"
+" struct sysinfo {\n"
 "    long uptime;             /* Seconds since boot */\n"
 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
 "    unsigned long totalram;  /* Total usable main memory size */\n"
@@ -25351,12 +24245,13 @@ msgstr ""
 "    unsigned long sharedram; /* Amount of shared memory */\n"
 "    unsigned long bufferram; /* Memory used by buffers */\n"
 "    unsigned long totalswap; /* Total swap space size */\n"
-"    unsigned long freeswap;  /* swap space still available */\n"
+"    unsigned long freeswap;  /* Swap space still available */\n"
 "    unsigned short procs;    /* Number of current processes */\n"
 "    unsigned long totalhigh; /* Total high memory size */\n"
 "    unsigned long freehigh;  /* Available high memory size */\n"
 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
-"    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
+"    char _f[20-2*sizeof(long)-sizeof(int)];\n"
+"                             /* Padding to 64 bytes */\n"
 "};\n"
 
 #. type: Plain text
@@ -25370,30 +24265,20 @@ msgstr "となり、大きさは I<mem_unit> バイトの倍数で与えられ
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:106
-#, fuzzy
-#| msgid ""
-#| "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
-#| "I<errno> is set to indicate the error."
 msgid ""
 "On success, B<sysinfo>()  returns zero.  On error, -1 is returned, and "
 "I<errno> is set to indicate the cause of the error."
-msgstr ""
-"成功すると、 B<sethostid>()  は 0 を返す。 エラーの場合、-1 を返し、 "
-"I<errno> にエラーを示す値を設定する。"
+msgstr "成功すると、 B<sysinfo>()  は 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:111
-#, fuzzy
-#| msgid "I<name> is an invalid address."
 msgid "I<info> is not a valid address."
-msgstr "I<name> が不正なアドレスである。"
+msgstr "I<info> が有効なアドレスではない。"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:114
-#, fuzzy
-#| msgid "B<syscall>()  first appeared in 4BSD."
 msgid "B<sysinfo>()  first appeared in Linux 0.98.pl6."
-msgstr "B<syscall>()  は 4BSD で最初に登場した。"
+msgstr "B<sysinfo>() は Linux 0.98.pl6 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/sysinfo.2:122
@@ -25523,6 +24408,8 @@ msgid ""
 "B<tcgetpgrp>(),\n"
 "B<tcsetpgrp>()"
 msgstr ""
+"B<tcgetpgrp>(),\n"
+"B<tcsetpgrp>()"
 
 #. type: Plain text
 #: build/C/man3/tcgetpgrp.3:130
@@ -25583,6 +24470,9 @@ msgid ""
 "    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:70
@@ -25598,6 +24488,9 @@ msgid ""
 "    || /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* glibc 2.3.5 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:89
@@ -25629,21 +24522,12 @@ msgstr "ファイルオフセットは変更されない。"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:102
-#, fuzzy
-#| msgid ""
-#| "If the size changed, then the st_ctime and st_mtime fields (respectively, "
-#| "time of last status change and time of last modification; see "
-#| "B<stat>(2))  for the file are updated, and the set-user-ID and set-group-"
-#| "ID permission bits may be cleared."
 msgid ""
 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
 "time of last status change and time of last modification; see B<inode>(7))  "
 "for the file are updated, and the set-user-ID and set-group-ID mode bits may "
 "be cleared."
-msgstr ""
-"大きさが変更されると、ファイルの st_ctime と st_mtime フィールド (それぞれ最"
-"終状態変更時刻、最終修正時刻; B<stat>(2)  参照) が更新される。 また、set-"
-"user-ID と set-group-ID の許可ビットがクリアされるかもしれない。"
+msgstr "大きさが変更されると、ファイルの st_ctime と st_mtime フィールド (それぞれ最終状態変更時刻、最終修正時刻; B<inode>(7) 参照) が更新される。 また、set-user-ID と set-group-ID のモードビットがクリアされるかもしれない。"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:108
@@ -25749,11 +24633,8 @@ msgstr "操作が file seal により禁止されている。 B<fcntl>(2) 参照
 
 #. type: Plain text
 #: build/C/man2/truncate.2:179
-#, fuzzy
-#| msgid ""
-#| "The file is a pure procedure (shared text) file that is being executed."
 msgid "The file is an executable file that is being executed."
-msgstr "指定されたファイルは実行されているファイルである。"
+msgstr "ファイルが実行中の実行ファイルである。"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:186
@@ -25786,10 +24667,9 @@ msgstr "I<fd> が通常のファイルを参照していない。"
 
 #. type: TP
 #: build/C/man2/truncate.2:198
-#, fuzzy, no-wrap
-#| msgid "B<EBADF> or B<EINVAL>"
+#, no-wrap
 msgid "B<EINVAL> or B<EBADF>"
-msgstr "B<EBADF> または B<EINVAL>"
+msgstr "B<EINVAL> または B<EBADF>"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:207
@@ -25812,13 +24692,10 @@ msgstr ""
 #.  an additional EAGAIN error condition.
 #. type: Plain text
 #: build/C/man2/truncate.2:221
-#, fuzzy
-#| msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, 4.4BSD, SVr4 (these calls first appeared in "
 "4.2BSD)."
-msgstr ""
-"4.4BSD, SVr4, POSIX.1-2001 (これらのコールは 4.2BSD で初めて登場した)。"
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.4BSD, SVr4 (これらのコールは 4.2BSD で初めて登場した)。"
 
 #. type: Plain text
 #: build/C/man2/truncate.2:225
@@ -25890,10 +24767,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/truncate.2:278
-#, fuzzy
-#| msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
 msgid "B<truncate>(1), B<open>(2), B<stat>(2), B<path_resolution>(7)"
-msgstr "B<open>(2), B<stat>(2), B<path_resolution>(7)"
+msgstr " B<truncate>(1), B<open>(2), B<stat>(2), B<path_resolution>(7)"
 
 #. type: TH
 #: build/C/man3/ualarm.3:24
@@ -25970,10 +24845,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man3/ualarm.3:102
-#, fuzzy, no-wrap
-#| msgid "B<ualarm>():"
+#, no-wrap
 msgid "B<ualarm>()"
-msgstr "B<ualarm>():"
+msgstr " B<ualarm>()"
 
 #. type: Plain text
 #: build/C/man3/ualarm.3:112
@@ -26099,7 +24973,7 @@ msgstr ""
 #: build/C/man2/umask.2:76
 #, no-wrap
 msgid "    u::rwx,g::r-x,o::r-x\n"
-msgstr ""
+msgstr "    u::rwx,g::r-x,o::r-x\n"
 
 #. type: Plain text
 #: build/C/man2/umask.2:81
@@ -26110,15 +24984,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/umask.2:86
-#, fuzzy
-#| msgid ""
-#| "The constants that should be used to specify I<mask> are described under "
-#| "B<stat>(2)."
 msgid ""
 "The constants that should be used to specify I<mask> are described in "
 "B<inode>(7)."
-msgstr ""
-"I<mask> に指定するのに使用すべき定数については B<stat>(2)  で説明されている。"
+msgstr "I<mask> に指定するのに使用すべき定数については B<inode>(7) で説明されている。"
 
 #. type: Plain text
 #: build/C/man2/umask.2:95
@@ -26132,10 +25001,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/umask.2:99
-#, fuzzy, no-wrap
-#| msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
+#, no-wrap
 msgid "S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
-msgstr "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
+msgstr " S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
 
 #. type: Plain text
 #: build/C/man2/umask.2:104
@@ -26146,10 +25014,9 @@ msgstr "を指定するというよくあるケースでは、作成されたフ
 
 #. type: Plain text
 #: build/C/man2/umask.2:108
-#, fuzzy, no-wrap
-#| msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
+#, no-wrap
 msgid "S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
-msgstr "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
+msgstr " S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
 
 #. type: Plain text
 #: build/C/man2/umask.2:112
@@ -26245,19 +25112,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/uname.2:57
-#, fuzzy, no-wrap
-#| msgid ""
-#| "struct utsname {\n"
-#| "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
-#| "    char nodename[];   /* Name within \"some implementation-defined\n"
-#| "                          network\" */\n"
-#| "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
-#| "    char version[];    /* Operating system version */\n"
-#| "    char machine[];    /* Hardware identifier */\n"
-#| "#ifdef _GNU_SOURCE\n"
-#| "    char domainname[]; /* NIS or YP domain name */\n"
-#| "#endif\n"
-#| "};\n"
+#, no-wrap
 msgid ""
 "struct utsname {\n"
 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
@@ -26276,7 +25131,8 @@ msgstr ""
 "    char sysname[];    /* OS の名前 (例: \"Linux\") */\n"
 "    char nodename[];   /* 「実装時に定義された、何らかの\n"
 "                          ネットワーク」におけるマシン名 */\n"
-"    char release[];    /* オペレーションシステムのリリース番号 (例: \"2.6.28\") */\n"
+"    char release[];    /* オペレーションシステムのリリース番号\n"
+"                          (例: \"2.6.28\") */\n"
 "    char version[];    /* オペレーティングシステムのバージョン */\n"
 "    char machine[];    /* ハードウェア識別子 */\n"
 "#ifdef _GNU_SOURCE\n"
@@ -26300,11 +25156,9 @@ msgstr "I<buf> が有効でない。"
 
 #. type: Plain text
 #: build/C/man2/uname.2:79
-#, fuzzy
-#| msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, SVr4.  There is no B<uname>()  call in 4.3BSD."
-msgstr "SVr4, POSIX.1-2001.  4.3BSD には B<uname>()  コールがない。"
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4. 4.3BSD には B<uname>()  コールがない。"
 
 #. type: Plain text
 #: build/C/man2/uname.2:83
@@ -26402,12 +25256,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/uname.2:172
-#, fuzzy
-#| msgid ""
-#| "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
 msgid ""
 "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<uts_namespaces>(7)"
-msgstr "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
+msgstr ""
+" B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<uts_namespaces>(7)"
 
 #. type: TH
 #: build/C/man2/uselib.2:31
@@ -26592,10 +25444,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/usleep.3:90
-#, fuzzy
-#| msgid ""
-#| "I<usec> is not smaller than 1000000.  (On systems where that is "
-#| "considered an error.)"
 msgid ""
 "I<usec> is greater than or equal to 1000000.  (On systems where that is "
 "considered an error.)"
@@ -26603,10 +25451,9 @@ msgstr "I<usec> が 1000000 以上だった。 (これをエラーとみなす
 
 #. type: tbl table
 #: build/C/man3/usleep.3:100
-#, fuzzy, no-wrap
-#| msgid "B<usleep>():"
+#, no-wrap
 msgid "B<usleep>()"
-msgstr "B<usleep>():"
+msgstr " B<usleep>()"
 
 #. type: Plain text
 #: build/C/man3/usleep.3:109
@@ -26718,6 +25565,9 @@ msgid ""
 "    || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"(_XOPEN_SOURCE\\ E<gt>=\\ 500) && ! (_POSIX_C_SOURCE\\ E<gt>=\\ 200809L)\n"
+"    || /* glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: SS
 #: build/C/man2/vfork.2:63
@@ -27032,14 +25882,6 @@ msgstr "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
 #.  present, but definitely on its way out'.
 #. type: Plain text
 #: build/C/man2/vfork.2:309
-#, fuzzy
-#| msgid ""
-#| "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
-#| "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
-#| "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> "
-#| "In Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  "
-#| "Since 2.2.0-pre9 (on i386, somewhat later on other architectures) it is "
-#| "an independent system call.  Support was added in glibc 2.0.112."
 msgid ""
 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
 "synonymous to B<fork>(2)  but NetBSD introduced it again; see E<.UR http://"
@@ -27078,8 +25920,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/vfork.2:336
-#, fuzzy
-#| msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
 msgid ""
 "B<clone>(2), B<execve>(2), B<_exit>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
 msgstr "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
@@ -27102,10 +25942,8 @@ msgstr "B<int vhangup(void);>"
 
 #. type: Plain text
 #: build/C/man2/vhangup.2:43
-#, fuzzy
-#| msgid "B<vhangup>(2)"
 msgid "B<vhangup>():"
-msgstr "B<vhangup>(2)"
+msgstr " B<vhangup>():"
 
 #. type: Plain text
 #: build/C/man2/vhangup.2:58
@@ -27137,10 +25975,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/vhangup.2:77
-#, fuzzy
-#| msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
 msgid "B<init>(1), B<capabilities>(7)"
-msgstr "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
+msgstr " B<init>(1), B<capabilities>(7)"
 
 #. type: TH
 #: build/C/man2/execveat.2:26
@@ -27339,18 +26175,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/execveat.2:210
-#, fuzzy
-#| msgid ""
-#| "For the same reasons described in B<fexecve>(3), the natural idiom when "
-#| "using B<execveat>(2)  is to set the close-on-exec flag on I<dirfd>.  (But "
-#| "see BUGS.)"
 msgid ""
 "For the same reasons described in B<fexecve>(3), the natural idiom when "
 "using B<execveat>()  is to set the close-on-exec flag on I<dirfd>.  (But see "
 "BUGS.)"
 msgstr ""
-"B<fexecve>(3) で説明されているのと同じ理由で、 B<execveat>(2) を使う際の理に"
-"ã\81\8bã\81ªã\81£ã\81\9fæ\96¹æ³\95ã\81¯ I<dirfd> ã\81« close-on-exec ã\83\95ã\83©ã\82°ã\82\92ã\82»ã\83\83ã\83\88ã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\81\82ã\82\8b (ã\81\9fã\81 ã\81\97"
+"B<fexecve>(3) で説明されているのと同じ理由で、 B<execveat>() を使う際の理にか"
+"なった方法は I<dirfd> に close-on-exec フラグをセットすることである (ただし"
 "「バグ」を参照のこと)。"
 
 #. type: Plain text
@@ -27394,10 +26225,9 @@ msgstr "B<execve>(2), B<openat>(2), B<fexecve>(3)"
 
 #. type: TH
 #: build/C/man3/get_phys_pages.3:25
-#, fuzzy, no-wrap
-#| msgid " - B<_SC_PHYS_PAGES>"
+#, no-wrap
 msgid "GET_PHYS_PAGES"
-msgstr " - B<_SC_PHYS_PAGES>"
+msgstr " GET_PHYS_PAGES"
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:29
@@ -27408,10 +26238,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:32
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
+#, no-wrap
 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>\n"
-msgstr "B<#include E<lt>sys/sysinfo.hE<gt>>"
+msgstr " B<#include E<lt>sys/sysinfo.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:35
@@ -27420,6 +26249,8 @@ msgid ""
 "B<long get_phys_pages(void);>\n"
 "B<long get_avphys_pages(void);>\n"
 msgstr ""
+"B<long get_phys_pages(void);>\n"
+"B<long get_avphys_pages(void);>\n"
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:40
@@ -27498,45 +26329,26 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:85
-#, fuzzy
-#| msgid ""
-#| "The following example shows how B<get_nprocs>()  and "
-#| "B<get_nprocs_conf>()  can be used."
 msgid ""
 "The following example shows how B<get_phys_pages>()  and "
 "B<get_avphys_pages>()  can be used."
-msgstr ""
-"以下の例は、 B<get_nprocs>() と B<get_nprocs_conf>() が\n"
-"どのように利用できるかを示すものである。"
+msgstr "以下の例は、 B<get_phys_pages>() と B<get_avphys_pages>() がどのように利用できるかを示すものである。"
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:90
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>sys/sysinfo.hE<gt>\n"
 msgstr ""
-"#include E<lt>stdio.hE<gt>\n"
+" #include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
-"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/sysinfo.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man3/get_phys_pages.3:99
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    printf(\"This system has %d processors configured and \"\n"
-#| "            \"%d processors available.\\en\",\n"
-#| "            get_nprocs_conf(), get_nprocs());\n"
-#| "    return 0;\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -27547,13 +26359,13 @@ msgid ""
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    printf(\"This system has %d processors configured and \"\n"
-"            \"%d processors available.\\en\",\n"
-"            get_nprocs_conf(), get_nprocs());\n"
-"    return 0;\n"
+"    printf(\"This system has %ld pages of physical memory and \"\n"
+"            \"%ld pages of physical memory available.\\en\",\n"
+"            get_phys_pages(), get_avphys_pages());\n"
+"    exit(EXIT_SUCCESS);\n"
 "}\n"
 
 #. type: Plain text
@@ -27578,12 +26390,6 @@ msgstr "B<sysconf>(3)"
 #~ "このコールはパス名解決の過程で構成要素を変更するのみで、 その他には何も行"
 #~ "わない。"
 
-#~ msgid "The B<crypt>()  function is not thread-safe."
-#~ msgstr "B<crypt>() 関数はスレッドセーフではない。"
-
-#~ msgid "The B<crypt_r>()  function is thread-safe."
-#~ msgstr "B<crypt_r>() 関数はスレッドセーフである。"
-
 #~ msgid ""
 #~ "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and $6$I<salt>"
 #~ "$I<encrypted> is an SHA-512 encoded one."
@@ -27592,23 +26398,10 @@ msgstr "B<sysconf>(3)"
 #~ "あり、$6$I<salt>$I<encrypted> は SHA-512 で エンコードされたパスワードであ"
 #~ "る。"
 
-#~ msgid "The B<daemon>()  function is thread-safe."
-#~ msgstr "B<daemon>() 関数はスレッドセーフである。"
-
 #~ msgid "These functions are present in glibc 2.1 and later."
 #~ msgstr "これらの関数は glibc 2.1 以降に存在する。"
 
 #~ msgid ""
-#~ "The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are "
-#~ "thread-safe."
-#~ msgstr ""
-#~ "関数 B<ecb_crypt>(), B<cbc_crypt>(), B<des_setparity>() はスレッドセーフで"
-#~ "ある。"
-
-#~ msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
-#~ msgstr "関数 B<encrypt>() と B<setkey>() はスレッドセーフではない。"
-
-#~ msgid ""
 #~ "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
 #~ "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
 #~ "extensions."
@@ -27745,12 +26538,6 @@ msgstr "B<sysconf>(3)"
 #~ "I</proc/sys/kernel/threads-max> が達していた (B<proc>(5) 参照)。 PID の最"
 #~ "大値 I</proc/sys/kernel/pid_max> に達していた (B<proc>(5) 参照)。"
 
-#~ msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
-#~ msgstr "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
-
-#~ msgid "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
-#~ msgstr "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
-
 #~ msgid ""
 #~ "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
 #~ "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
@@ -27804,22 +26591,12 @@ msgstr "B<sysconf>(3)"
 #~ "返し、 I<errno> に適切な値をセットする。"
 
 #~ msgid ""
-#~ "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
-#~ "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
-#~ msgstr ""
-#~ "glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
-#~ "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
-
-#~ msgid ""
 #~ "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
 #~ "capability)."
 #~ msgstr ""
 #~ "B<setdomainname>()  において、呼び出した人に特権がない (Linux では "
 #~ "B<CAP_SYS_ADMIN> ケーパビリティ (capability) がない)。"
 
-#~ msgid "The B<getdtablesize>()  function is thread-safe."
-#~ msgstr "B<getdtablesize>() 関数はスレッドセーフである。"
-
 #~ msgid ""
 #~ "The calling process already has the maximum allowed number of open files."
 #~ msgstr ""
@@ -27829,12 +26606,6 @@ msgstr "B<sysconf>(3)"
 #~ msgid "The system already has the maximum allowed number of open files."
 #~ msgstr "システム全体でオープンしているファイル数がすでに上限に達している。"
 
-#~ msgid "The B<getlogin>()  function is not thread-safe."
-#~ msgstr "B<getlogin>() 関数はスレッドセーフではない。"
-
-#~ msgid "The B<getlogin_r>()  function is thread-safe."
-#~ msgstr "B<getlogin_r>() 関数はスレッドセーフである。"
-
 #~ msgid ""
 #~ "The B<cuserid>()  function is thread-safe with exceptions.  It is not "
 #~ "thread-safe if called with a NULL parameter."
@@ -27904,13 +26675,6 @@ msgstr "B<sysconf>(3)"
 #~ "バージョン 2.9 時点の glibc では、 この関数についての記載はあるが、まだ実"
 #~ "装されていない。"
 
-#~ msgid ""
-#~ "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  "
-#~ "functions are not thread-safe."
-#~ msgstr ""
-#~ "関数 B<getusershell>(), B<setusershell>(), B<endusershell>() はスレッド"
-#~ "セーフではない。"
-
 #~ msgid "ioctl - control device"
 #~ msgstr "ioctl - デバイスを制御する"
 
@@ -28331,15 +27095,9 @@ msgstr "B<sysconf>(3)"
 #~ "供していない。おそらくないと思うが、このシステムコールを直接呼び出したい場"
 #~ "合は B<syscall>(2) を使うこと。"
 
-#~ msgid "The B<swab>()  function is thread-safe."
-#~ msgstr "B<swab>() 関数はスレッドセーフである。"
-
 #~ msgid "NR is syscall #"
 #~ msgstr "NR はシステムコール番号"
 
-#~ msgid "See below"
-#~ msgstr "下記参照"
-
 #~ msgid ""
 #~ "On a few architectures, a register is used to indicate simple boolean "
 #~ "failure of the system call: ia64 uses I<r10> for this purpose, and mips "
@@ -28401,15 +27159,9 @@ msgstr "B<sysconf>(3)"
 #~ msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
 #~ msgstr "関数 B<tcgetpgrp>() と B<tcsetpgrp>() はスレッドセーフである。"
 
-#~ msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-#~ msgstr "|| /* glibc 2.3.5 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
-
 #~ msgid "Interrupted by a signal."
 #~ msgstr "シグナルによって割り込まれた。"
 
-#~ msgid "The B<ualarm>()  function is thread-safe."
-#~ msgstr "B<ualarm>() 関数はスレッドセーフである。"
-
 #~ msgid ""
 #~ "Since libc 4.3.2, startup code tries to prefix these names with \"/usr/lib"
 #~ "\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later these "
@@ -28432,6 +27184,3 @@ msgstr "B<sysconf>(3)"
 
 #~ msgid "glibc2 does not use this call."
 #~ msgstr "glibc2 は、このシステムコールを使用しない。"
-
-#~ msgid "The B<usleep>()  function is thread-safe."
-#~ msgstr "B<usleep>() 関数はスレッドセーフである。"
index 0203fa0..f8c7779 100644 (file)
@@ -1,64 +1,43 @@
 # pagename,#complete,#remaining,#all
-access.2,87,11,98
-alarm.2,23,3,26
-brk.2,33,4,37
-chdir.2,51,1,52
-chmod.2,120,6,126
-chown.2,118,5,123
-chroot.2,49,5,54
-close.2,30,21,51
-confstr.3,44,2,46
-crypt.3,57,13,70
-daemon.3,32,4,36
-des_crypt.3,39,2,41
-dup.2,52,12,64
-encrypt.3,49,8,57
-environ.7,55,12,67
-euidaccess.3,34,1,35
-exec.3,44,19,63
-execve.2,146,50,196
-fcntl.2,251,66,317
-fexecve.3,43,6,49
-flock.2,46,7,53
-fork.2,73,20,93
-fpathconf.3,51,26,77
-fsync.2,31,12,43
-get_nprocs_conf.3,33,6,39
-getcwd.3,63,10,73
-getdomainname.2,34,5,39
-getdtablesize.3,31,6,37
-gethostid.3,45,5,50
-gethostname.2,34,8,42
-getlogin.3,67,11,78
-getopt.3,95,7,102
-getpagesize.2,25,5,30
-gettid.2,22,4,26
+access.2,94,4,98
+chmod.2,124,2,126
+chown.2,120,3,123
+chroot.2,51,3,54
+close.2,33,18,51
+crypt.3,62,8,70
+daemon.3,35,1,36
+des_crypt.3,40,1,41
+dup.2,63,1,64
+encrypt.3,54,3,57
+environ.7,59,8,67
+exec.3,52,11,63
+execve.2,168,28,196
+fcntl.2,278,39,317
+fexecve.3,45,4,49
+flock.2,50,3,53
+fork.2,81,12,93
+fpathconf.3,66,11,77
+fsync.2,38,5,43
+getcwd.3,69,4,73
+getdomainname.2,37,2,39
+gethostname.2,40,2,42
+getlogin.3,76,2,78
+getopt.3,97,5,102
+gettid.2,24,2,26
 getumask.3,22,1,23
-getusershell.3,36,2,38
 ioperm.2,33,2,35
-lockf.3,49,5,54
-mincore.2,35,3,38
-mkdir.2,76,4,80
-nice.2,22,11,33
-pread.2,36,3,39
-set_thread_area.2,22,35,57
-shells.5,15,2,17
-sleep.3,26,6,32
-swab.3,24,3,27
-swapon.2,49,4,53
-syscall.2,338,121,459
-syscalls.2,958,214,1172
-sysconf.3,102,16,118
-sysctl.2,39,7,46
-sysinfo.2,20,12,32
-tcgetpgrp.3,42,2,44
-truncate.2,67,11,78
-ualarm.3,41,3,44
-umask.2,24,11,35
-uname.2,28,4,32
-uselib.2,27,5,32
-usleep.3,39,4,43
-vfork.2,44,9,53
-vhangup.2,21,4,25
-execveat.2,51,1,52
-get_phys_pages.3,17,14,31
+mkdir.2,77,3,80
+nice.2,25,8,33
+pread.2,37,2,39
+set_thread_area.2,41,16,57
+sleep.3,28,4,32
+syscall.2,436,23,459
+syscalls.2,1116,56,1172
+sysconf.3,112,6,118
+sysctl.2,42,4,46
+sysinfo.2,28,4,32
+truncate.2,75,3,78
+umask.2,30,5,35
+uselib.2,28,4,32
+vfork.2,48,5,53
+get_phys_pages.3,23,8,31
index 3b0efa7..8da58c6 100644 (file)
 <TR class="over80"><TD>ttyname.3</TD><TD>2/42</TD><TD>95.24</TD></TR>
 <TR class="over80"><TD>ttyslot.3</TD><TD>1/47</TD><TD>97.87</TD></TR>
 <TR class="title"><TD COLSPAN=3>unistd</TD></TR>
-<TR class="over80"><TD>access.2</TD><TD>11/98</TD><TD>88.78</TD></TR>
-<TR class="over80"><TD>alarm.2</TD><TD>3/26</TD><TD>88.46</TD></TR>
-<TR class="over80"><TD>brk.2</TD><TD>4/37</TD><TD>89.19</TD></TR>
-<TR class="over80"><TD>chdir.2</TD><TD>1/52</TD><TD>98.08</TD></TR>
-<TR class="over80"><TD>chmod.2</TD><TD>6/126</TD><TD>95.24</TD></TR>
-<TR class="over80"><TD>chown.2</TD><TD>5/123</TD><TD>95.93</TD></TR>
-<TR class="over80"><TD>chroot.2</TD><TD>5/54</TD><TD>90.74</TD></TR>
-<TR><TD>close.2</TD><TD>21/51</TD><TD>58.82</TD></TR>
-<TR class="over80"><TD>confstr.3</TD><TD>2/46</TD><TD>95.65</TD></TR>
-<TR class="over80"><TD>crypt.3</TD><TD>13/70</TD><TD>81.43</TD></TR>
-<TR class="over80"><TD>daemon.3</TD><TD>4/36</TD><TD>88.89</TD></TR>
-<TR class="over80"><TD>des_crypt.3</TD><TD>2/41</TD><TD>95.12</TD></TR>
-<TR class="over80"><TD>dup.2</TD><TD>12/64</TD><TD>81.25</TD></TR>
-<TR class="over80"><TD>encrypt.3</TD><TD>8/57</TD><TD>85.96</TD></TR>
-<TR class="over80"><TD>environ.7</TD><TD>12/67</TD><TD>82.09</TD></TR>
-<TR class="over80"><TD>euidaccess.3</TD><TD>1/35</TD><TD>97.14</TD></TR>
-<TR><TD>exec.3</TD><TD>19/63</TD><TD>69.84</TD></TR>
-<TR class="over70"><TD>execve.2</TD><TD>50/196</TD><TD>74.49</TD></TR>
-<TR class="over70"><TD>fcntl.2</TD><TD>66/317</TD><TD>79.18</TD></TR>
-<TR class="over80"><TD>fexecve.3</TD><TD>6/49</TD><TD>87.76</TD></TR>
-<TR class="over80"><TD>flock.2</TD><TD>7/53</TD><TD>86.79</TD></TR>
-<TR class="over70"><TD>fork.2</TD><TD>20/93</TD><TD>78.49</TD></TR>
-<TR><TD>fpathconf.3</TD><TD>26/77</TD><TD>66.23</TD></TR>
-<TR class="over70"><TD>fsync.2</TD><TD>12/43</TD><TD>72.09</TD></TR>
-<TR class="over80"><TD>get_nprocs_conf.3</TD><TD>6/39</TD><TD>84.62</TD></TR>
-<TR class="over80"><TD>getcwd.3</TD><TD>10/73</TD><TD>86.30</TD></TR>
-<TR class="over80"><TD>getdomainname.2</TD><TD>5/39</TD><TD>87.18</TD></TR>
-<TR class="over80"><TD>getdtablesize.3</TD><TD>6/37</TD><TD>83.78</TD></TR>
-<TR class="over80"><TD>gethostid.3</TD><TD>5/50</TD><TD>90.00</TD></TR>
-<TR class="over80"><TD>gethostname.2</TD><TD>8/42</TD><TD>80.95</TD></TR>
-<TR class="over80"><TD>getlogin.3</TD><TD>11/78</TD><TD>85.90</TD></TR>
-<TR class="over80"><TD>getopt.3</TD><TD>7/102</TD><TD>93.14</TD></TR>
-<TR class="over80"><TD>getpagesize.2</TD><TD>5/30</TD><TD>83.33</TD></TR>
-<TR class="over80"><TD>gettid.2</TD><TD>4/26</TD><TD>84.62</TD></TR>
+<TR class="over80"><TD>access.2</TD><TD>4/98</TD><TD>95.92</TD></TR>
+<TR class="over80"><TD>chmod.2</TD><TD>2/126</TD><TD>98.41</TD></TR>
+<TR class="over80"><TD>chown.2</TD><TD>3/123</TD><TD>97.56</TD></TR>
+<TR class="over80"><TD>chroot.2</TD><TD>3/54</TD><TD>94.44</TD></TR>
+<TR><TD>close.2</TD><TD>18/51</TD><TD>64.71</TD></TR>
+<TR class="over80"><TD>crypt.3</TD><TD>8/70</TD><TD>88.57</TD></TR>
+<TR class="over80"><TD>daemon.3</TD><TD>1/36</TD><TD>97.22</TD></TR>
+<TR class="over80"><TD>des_crypt.3</TD><TD>1/41</TD><TD>97.56</TD></TR>
+<TR class="over80"><TD>dup.2</TD><TD>1/64</TD><TD>98.44</TD></TR>
+<TR class="over80"><TD>encrypt.3</TD><TD>3/57</TD><TD>94.74</TD></TR>
+<TR class="over80"><TD>environ.7</TD><TD>8/67</TD><TD>88.06</TD></TR>
+<TR class="over80"><TD>exec.3</TD><TD>11/63</TD><TD>82.54</TD></TR>
+<TR class="over80"><TD>execve.2</TD><TD>28/196</TD><TD>85.71</TD></TR>
+<TR class="over80"><TD>fcntl.2</TD><TD>39/317</TD><TD>87.70</TD></TR>
+<TR class="over80"><TD>fexecve.3</TD><TD>4/49</TD><TD>91.84</TD></TR>
+<TR class="over80"><TD>flock.2</TD><TD>3/53</TD><TD>94.34</TD></TR>
+<TR class="over80"><TD>fork.2</TD><TD>12/93</TD><TD>87.10</TD></TR>
+<TR class="over80"><TD>fpathconf.3</TD><TD>11/77</TD><TD>85.71</TD></TR>
+<TR class="over80"><TD>fsync.2</TD><TD>5/43</TD><TD>88.37</TD></TR>
+<TR class="over80"><TD>getcwd.3</TD><TD>4/73</TD><TD>94.52</TD></TR>
+<TR class="over80"><TD>getdomainname.2</TD><TD>2/39</TD><TD>94.87</TD></TR>
+<TR class="over80"><TD>gethostname.2</TD><TD>2/42</TD><TD>95.24</TD></TR>
+<TR class="over80"><TD>getlogin.3</TD><TD>2/78</TD><TD>97.44</TD></TR>
+<TR class="over80"><TD>getopt.3</TD><TD>5/102</TD><TD>95.10</TD></TR>
+<TR class="over80"><TD>gettid.2</TD><TD>2/26</TD><TD>92.31</TD></TR>
 <TR class="over80"><TD>getumask.3</TD><TD>1/23</TD><TD>95.65</TD></TR>
-<TR class="over80"><TD>getusershell.3</TD><TD>2/38</TD><TD>94.74</TD></TR>
 <TR class="over80"><TD>ioperm.2</TD><TD>2/35</TD><TD>94.29</TD></TR>
-<TR class="over80"><TD>lockf.3</TD><TD>5/54</TD><TD>90.74</TD></TR>
-<TR class="over80"><TD>mincore.2</TD><TD>3/38</TD><TD>92.11</TD></TR>
-<TR class="over80"><TD>mkdir.2</TD><TD>4/80</TD><TD>95.00</TD></TR>
-<TR><TD>nice.2</TD><TD>11/33</TD><TD>66.67</TD></TR>
-<TR class="over80"><TD>pread.2</TD><TD>3/39</TD><TD>92.31</TD></TR>
-<TR><TD>set_thread_area.2</TD><TD>35/57</TD><TD>38.60</TD></TR>
-<TR class="over80"><TD>shells.5</TD><TD>2/17</TD><TD>88.24</TD></TR>
-<TR class="over80"><TD>sleep.3</TD><TD>6/32</TD><TD>81.25</TD></TR>
-<TR class="over80"><TD>swab.3</TD><TD>3/27</TD><TD>88.89</TD></TR>
-<TR class="over80"><TD>swapon.2</TD><TD>4/53</TD><TD>92.45</TD></TR>
-<TR class="over70"><TD>syscall.2</TD><TD>121/459</TD><TD>73.64</TD></TR>
-<TR class="over80"><TD>syscalls.2</TD><TD>214/1172</TD><TD>81.74</TD></TR>
-<TR class="over80"><TD>sysconf.3</TD><TD>16/118</TD><TD>86.44</TD></TR>
-<TR class="over80"><TD>sysctl.2</TD><TD>7/46</TD><TD>84.78</TD></TR>
-<TR><TD>sysinfo.2</TD><TD>12/32</TD><TD>62.50</TD></TR>
-<TR class="over80"><TD>tcgetpgrp.3</TD><TD>2/44</TD><TD>95.45</TD></TR>
-<TR class="over80"><TD>truncate.2</TD><TD>11/78</TD><TD>85.90</TD></TR>
-<TR class="over80"><TD>ualarm.3</TD><TD>3/44</TD><TD>93.18</TD></TR>
-<TR><TD>umask.2</TD><TD>11/35</TD><TD>68.57</TD></TR>
-<TR class="over80"><TD>uname.2</TD><TD>4/32</TD><TD>87.50</TD></TR>
-<TR class="over80"><TD>uselib.2</TD><TD>5/32</TD><TD>84.38</TD></TR>
-<TR class="over80"><TD>usleep.3</TD><TD>4/43</TD><TD>90.70</TD></TR>
-<TR class="over80"><TD>vfork.2</TD><TD>9/53</TD><TD>83.02</TD></TR>
-<TR class="over80"><TD>vhangup.2</TD><TD>4/25</TD><TD>84.00</TD></TR>
-<TR class="over80"><TD>execveat.2</TD><TD>1/52</TD><TD>98.08</TD></TR>
-<TR><TD>get_phys_pages.3</TD><TD>14/31</TD><TD>54.84</TD></TR>
+<TR class="over80"><TD>mkdir.2</TD><TD>3/80</TD><TD>96.25</TD></TR>
+<TR class="over70"><TD>nice.2</TD><TD>8/33</TD><TD>75.76</TD></TR>
+<TR class="over80"><TD>pread.2</TD><TD>2/39</TD><TD>94.87</TD></TR>
+<TR class="over70"><TD>set_thread_area.2</TD><TD>16/57</TD><TD>71.93</TD></TR>
+<TR class="over80"><TD>sleep.3</TD><TD>4/32</TD><TD>87.50</TD></TR>
+<TR class="over80"><TD>syscall.2</TD><TD>23/459</TD><TD>94.99</TD></TR>
+<TR class="over80"><TD>syscalls.2</TD><TD>56/1172</TD><TD>95.22</TD></TR>
+<TR class="over80"><TD>sysconf.3</TD><TD>6/118</TD><TD>94.92</TD></TR>
+<TR class="over80"><TD>sysctl.2</TD><TD>4/46</TD><TD>91.30</TD></TR>
+<TR class="over80"><TD>sysinfo.2</TD><TD>4/32</TD><TD>87.50</TD></TR>
+<TR class="over80"><TD>truncate.2</TD><TD>3/78</TD><TD>96.15</TD></TR>
+<TR class="over80"><TD>umask.2</TD><TD>5/35</TD><TD>85.71</TD></TR>
+<TR class="over80"><TD>uselib.2</TD><TD>4/32</TD><TD>87.50</TD></TR>
+<TR class="over80"><TD>vfork.2</TD><TD>5/53</TD><TD>90.57</TD></TR>
+<TR class="over70"><TD>get_phys_pages.3</TD><TD>8/31</TD><TD>74.19</TD></TR>
 <TR class="title"><TD COLSPAN=3>utmp</TD></TR>
 <TR class="over80"><TD>getutent.3</TD><TD>1/101</TD><TD>99.01</TD></TR>
 <TR class="over80"><TD>login.3</TD><TD>1/46</TD><TD>97.83</TD></TR>
 <TR class="title"><TD COLSPAN=3>Summary</TD></TR>
 <TR><TD COLSPAN=3>
 <UL>
-<LI>Total uncompleted: 604
-<LI>&gt;=80%: 418
-<LI>&gt;=70%: 49
-<LI>&gt;=60%: 40
-<LI>&lt;60%: 97
+<LI>Total uncompleted: 583
+<LI>&gt;=80%: 406
+<LI>&gt;=70%: 47
+<LI>&gt;=60%: 36
+<LI>&lt;60%: 94
 </UL>
 </TD></TR>
 </TABLE>