msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2014-04-24 00:51+0900\n"
-"PO-Revision-Date: 2014-04-27 06:55+0900\n"
+"PO-Revision-Date: 2014-04-27 09:20+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#: build/C/man2/open.2:178
msgid ""
"The full list of file creation flags and file status flags is as follows:"
-msgstr ""
+msgstr "すべてのファイル作成フラグとファイル状態フラグを以下のリストに示す。"
#. type: TP
#: build/C/man2/open.2:178
"Enable the close-on-exec flag for the new file descriptor. Specifying this "
"flag permits a program to avoid additional B<fcntl>(2) B<F_SETFD> "
"operations to set the B<FD_CLOEXEC> flag."
-msgstr ""
+msgstr "新しいファイルディスクリプタに対して close-on-exec フラグを有効にする。 このフラグを指定することで、 プログラムは B<FD_CLOEXEC> フラグをセットするために B<fcntl>(2) B<F_SETFD> 操作を別途呼び出す必要がなくなる。"
#. This flag fixes only one form of the race condition;
#. The race can also occur with, for example, descriptors
"descriptor whose close-on-exec flag should be set, and various other Linux "
"system calls provide an equivalent of the B<O_CLOEXEC> flag to deal with "
"this problem.)"
-msgstr ""
+msgstr "ある種のマルチスレッドのプログラムはこのフラグの使用は不可欠である点に注意すること。 なぜなら、個別に B<FD_CLOEXEC> フラグを設定する B<fcntl>(2) B<F_SETFD> 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッドが B<fork>(2) と B<execve>(2) を実行するという競合条件を避けるのには十分ではないからである。 実行の順序に依存して、この競合条件の結果、 B<open>() が返したファイルディスクリプタが B<fork>(2) で作成された子プロセスにより実行されるプログラムに意図せず見えてしまう可能性がある。 (この種の競合は、 本質的に、 close-on-exec フラグをセットすべきファイルディスクリプタを作成するどのシステムコールでも起こり得るものであり、 他のいろいろな Linux システムコールでこの問題に対処するために B<O_CLOEXEC> と同等の機能が提供されている。)"
#. type: TP
#: build/C/man2/open.2:248
"directory; an unnamed inode will be created in that directory's filesystem. "
"Anything written to the resulting file will be lost when the last file "
"descriptor is closed, unless the file is given a name."
-msgstr ""
+msgstr "名前なしの一時ファイルを作成する。 I<pathname> 引き数はディレクトリを指定する。 名前なしの inode がそのディレクトリが存在するファイルシステムに作成される。 そのファイルに名前を付与しない限り、 作成されたファイルに書き込まれた内容は、 最後のファイルディスクリプタがクローズされる際に失われる。"
#. type: Plain text
#: build/C/man2/open.2:648
"optionally, B<O_EXCL>. If B<O_EXCL> is not specified, then B<linkat>(2) "
"can be used to link the temporary file into the filesystem, making it "
"permanent, using code like the following:"
-msgstr ""
+msgstr "B<O_TMPFILE> は必ず B<O_RDWR> か B<O_WRONLY> のいずれかと一緒に使わなければならない。 B<O_EXCL> も指定することができる。 B<O_EXCL> が指定されなかった場合、 B<linkat>(2) を使って、そのファイルシステムにこの一時ファイルへのリンクを作成し、ファイルを永続化することができる。 以下のコードのようにすればよい。"
#. type: Plain text
#: build/C/man2/open.2:654
"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
" S_IRUSR | S_IWUSR);\n"
msgstr ""
+"char path[PATH_MAX];\n"
+"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
+" S_IRUSR | S_IWUSR);\n"
#. type: Plain text
#: build/C/man2/open.2:656
#, no-wrap
msgid "/* File I/O on 'fd'... */\n"
-msgstr ""
+msgstr "/* 'fd' に対するファイル I/O ... */\n"
#. type: Plain text
#: build/C/man2/open.2:660
"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
" AT_SYMLINK_FOLLOW);\n"
msgstr ""
+"snprintf(path, PATH_MAX, \"/proc/self/fd/%d\", fd);\n"
+"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
+" AT_SYMLINK_FOLLOW);\n"
#. type: Plain text
#: build/C/man2/open.2:669
msgid ""
"In this case, the B<open>() I<mode> argument determines the file permission "
"mode, as with B<O_CREAT>."
-msgstr ""
+msgstr "この場合、 B<open>() の I<mode> 引き数は B<O_CREAT> と同様にファイルのアクセス許可モードの決定に使われる。"
#. type: Plain text
#: build/C/man2/open.2:681
"file from being linked into the filesystem in the above manner. (Note that "
"the meaning of B<O_EXCL> in this case is different from the meaning of "
"B<O_EXCL> otherwise.)"
-msgstr ""
+msgstr "B<O_TMPFILE> とともに B<O_EXCL> を指定すると、 一時ファイルに対して上記の方法でファイルシステムへのリンクを行うことができなくなる (この場合の B<O_EXCL> の意味は他の場合の B<O_EXCL> の意味とは異なる点に注意)。"
#. Inspired by http://lwn.net/Articles/559147/
#. type: Plain text
#: build/C/man2/open.2:686
msgid "There are two main use cases for B<O_TMPFILE>:"
-msgstr ""
+msgstr "B<O_TMPFILE> には主に二つの用途がある。"
#. type: Plain text
#: build/C/man2/open.2:695
"that (1) are automatically deleted when closed; (2) can never be reached via "
"any pathname; (3) are not subject to symlink attacks; and (4) do not require "
"the caller to devise unique names."
-msgstr ""
+msgstr "改善された B<tmpfile>(3) の機能: (1) クローズ時に自動的に削除される、 (2) パス名では決して参照できない、 (3) シンボリックリンク攻撃ができない、 (4) 呼び出し元が一意な名前を考える必要がない、 という特長を持つ競合のない一時ファイルの作成。"
#. type: Plain text
#: build/C/man2/open.2:706
"data and adjusted to have appropriate filesystem attributes (B<chown>(2), "
"B<chmod>(2), B<fsetxattr>(2), etc.) before being atomically linked into the "
"filesystem in a fully formed state (using B<linkat>(2) as described above)."
-msgstr ""
+msgstr "最初は見えないファイルを作成し、 それからデータを書き込んだり、適切なファイルシステム属性を持つように調整したり (B<chown>(2), B<chmod>(2), B<fsetxattr>(2) など) した後、 準備が全て整った状態で (上述の B<linkat>(2) を使って) ファイルシステム内にアトミックにリンクを行う。"
#. commit 99b6436bc29e4f10e4388c27a3e4810191cc4788
#. commit ab29743117f9f4c22ac44c13c1647fb24fb2bafe
"Linux filesystems provide that support. In the initial implementation, "
"support was provided in the ex2, ext3, ext4, UDF, Minix, and shmem "
"filesystems. XFS support was added in Linux 3.15."
-msgstr ""
+msgstr "B<O_TMPFILE> は、 内部で利用されるファイルシステムによるサポートが必要である。 一部の Linux ファイルシステムだけがこの機能をサポートしている。 最初の実装では、 ext2, ext3, ext4, UDF, Minix, shmem ファイルシステムがサポートしていた。 XFS でのサポートが Linux 3.15 で追加された。"
#. type: TP
#: build/C/man2/open.2:717
#: build/C/man2/open.2:788
msgid ""
"B<open>(), B<openat>(), and B<creat>() can fail with the following errors:"
-msgstr ""
+msgstr "B<open>(), B<openat>(), B<creat>() は以下のエラーで失敗する。"
#. type: Plain text
#: build/C/man2/open.2:797
"I<pathname> refers to an existing directory, B<O_TMPFILE> and one of "
"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
"does not provide the B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "I<pathname> が存在するディレクトリを参照していて、 B<O_TMPFILE> および B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネルバージョンでは B<O_TMPFILE> 機能が提供されていない。"
#. type: Plain text
#: build/C/man2/open.2:874 build/C/man2/rmdir.2:77
msgid ""
"I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but "
"not B<O_PATH>."
-msgstr ""
+msgstr "I<pathname> がシンボリックリンクで、 I<flags> に B<O_NOFOLLOW> が指定されたが、 B<O_PATH> が指定されていなかった。"
#. type: TP
#: build/C/man2/open.2:883 build/C/man2/pipe.2:144 build/C/man3/tmpfile.3:66
"I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of "
"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
"does not provide the B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "I<pathname> が存在しないディレクトリを参照していて、 B<O_TMPFILE> および B<O_WRONLY> と B<O_RDWR> の一方が I<flags> に指定されていたが、 このカーネルバージョンでは B<O_TMPFILE> 機能が提供されていない。"
#. type: Plain text
#: build/C/man2/open.2:930
"value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value "
"greater than or equal to 700. In glibc 2.11 and earlier, one obtains the "
"definitions by defining B<_GNU_SOURCE>."
-msgstr ""
+msgstr "フラグ B<O_CLOEXEC>, B<O_DIRECTORY>, B<O_NOFOLLOW> は POSIX.1-2001 では規定されていないが、 POSIX.1-2008 では規定されている。 glibc 2.12 以降では、これらの定義を得るには、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 B<_XOPEN_SOURCE> を 700 以上の値で定義する。 glibc 2.11 以前では、 これらの定義を得るには B<_GNU_SOURCE> を定義する。"
#. type: Plain text
#: build/C/man2/open.2:1055
"As noted in B<feature_test_macros>(7), feature test macros such as "
"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined "
"before including I<any> header files."
-msgstr ""
+msgstr "B<feature_test_macros>(7) に注意書きがあるように、 B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE> などの機能検査マクロはI<どの>ヘッダーファイルをインクルードするより前に定義しなければならない。"
#. type: Plain text
#: build/C/man2/open.2:1063
#: build/C/man2/open.2:1104
#, no-wrap
msgid "Synchronized I/O"
-msgstr ""
+msgstr "同期入出力"
#. type: Plain text
#: build/C/man2/open.2:1119
#: build/C/man2/open.2:1196
#, no-wrap
msgid "NFS"
-msgstr ""
+msgstr "NFS"
#. type: Plain text
#: build/C/man2/open.2:1200
#: build/C/man2/open.2:1215
#, no-wrap
msgid "File access mode"
-msgstr ""
+msgstr "ファイルアクセスモード"
#. type: Plain text
#: build/C/man2/open.2:1230
#: build/C/man2/open.2:1247
#, no-wrap
msgid "Rationale for openat() and other directory file descriptor APIs"
-msgstr ""
+msgstr "openat() や他のディレクトリファイルディスクリプタ API の基本原理"
#. type: Plain text
#: build/C/man2/open.2:1275
msgid ""
"One must check for two different error codes, B<EISDIR> and B<ENOENT>, when "
"trying to determine whether the kernel supports B<O_TMPFILE> functionality."
-msgstr ""
+msgstr "カーネルが B<O_TMPFILE> 機能をサポートしているかを判定する際に、 B<EISDIR> と B<ENOENT> の 2 つのエラーコードをチェックしなければならない。"
#. type: Plain text
#: build/C/man2/open.2:1466