OSDN Git Service

パラメータ -> パラメーター
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10 "PO-Revision-Date: 2015-01-25 07:32+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man2/_syscall.2:38
20 #, no-wrap
21 msgid "_SYSCALL"
22 msgstr "_SYSCALL"
23
24 #. type: TH
25 #: build/C/man2/_syscall.2:38
26 #, no-wrap
27 msgid "2007-12-19"
28 msgstr "2007-12-19"
29
30 #. type: TH
31 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30
32 #: build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:32
33 #: build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35
34 #: build/C/man2/dup.2:37 build/C/man7/environ.7:34 build/C/man2/execve.2:37
35 #: build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:65
36 #: build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39
37 #: build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:8
38 #: build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27
39 #: build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32
40 #: build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26
41 #: build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30
42 #: build/C/man2/ioperm.2:34 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:11
43 #: build/C/man2/nice.2:31 build/C/man2/pread.2:25
44 #: build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34
45 #: build/C/man2/swapon.2:42 build/C/man2/syscall.2:42
46 #: build/C/man2/syscalls.2:31 build/C/man2/sysctl.2:30
47 #: build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:43
48 #: build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31
49 #: build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
50 #: build/C/man2/execveat.2:26
51 #, no-wrap
52 msgid "Linux"
53 msgstr "Linux"
54
55 #. type: TH
56 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30
57 #: build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:32
58 #: build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35
59 #: build/C/man3/confstr.3:32 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36
60 #: build/C/man3/des_crypt.3:14 build/C/man2/dup.2:37 build/C/man3/encrypt.3:30
61 #: build/C/man7/environ.7:34 build/C/man3/euidaccess.3:25
62 #: build/C/man3/exec.3:41 build/C/man2/execve.2:37
63 #: build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:65
64 #: build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39
65 #: build/C/man3/fpathconf.3:41 build/C/man2/fsync.2:38
66 #: build/C/man3/get_nprocs_conf.3:26 build/C/man2/get_thread_area.2:8
67 #: build/C/man3/getcwd.3:32 build/C/man2/getdomainname.2:29
68 #: build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29
69 #: build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28
70 #: build/C/man3/getopt.3:41 build/C/man2/getpagesize.2:25
71 #: build/C/man2/gettid.2:26 build/C/man3/getumask.3:28
72 #: build/C/man3/getusershell.3:30 build/C/man2/idle.2:32
73 #: build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30
74 #: build/C/man2/ioperm.2:34 build/C/man3/lockf.3:28 build/C/man2/mincore.2:34
75 #: build/C/man2/mkdir.2:11 build/C/man2/nice.2:31 build/C/man2/pread.2:25
76 #: build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34
77 #: build/C/man5/shells.5:28 build/C/man3/sleep.3:26 build/C/man3/swab.3:31
78 #: build/C/man2/swapon.2:42 build/C/man2/syscall.2:42
79 #: build/C/man2/syscalls.2:31 build/C/man3/sysconf.3:27
80 #: build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14
81 #: build/C/man3/tcgetpgrp.3:25 build/C/man2/truncate.2:43
82 #: build/C/man3/ualarm.3:24 build/C/man2/umask.2:34 build/C/man2/uname.2:27
83 #: build/C/man2/uselib.2:31 build/C/man3/usleep.3:33 build/C/man2/vfork.2:28
84 #: build/C/man2/vhangup.2:28 build/C/man2/execveat.2:26
85 #, no-wrap
86 msgid "Linux Programmer's Manual"
87 msgstr "Linux Programmer's Manual"
88
89 #. type: SH
90 #: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31
91 #: build/C/man2/brk.2:30 build/C/man2/chdir.2:34 build/C/man2/chmod.2:33
92 #: build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36
93 #: build/C/man3/confstr.3:33 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37
94 #: build/C/man3/des_crypt.3:15 build/C/man2/dup.2:38 build/C/man3/encrypt.3:31
95 #: build/C/man7/environ.7:35 build/C/man3/euidaccess.3:26
96 #: build/C/man3/exec.3:42 build/C/man2/execve.2:38
97 #: build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:66
98 #: build/C/man3/fexecve.3:26 build/C/man2/flock.2:36 build/C/man2/fork.2:40
99 #: build/C/man3/fpathconf.3:42 build/C/man2/fsync.2:39
100 #: build/C/man3/get_nprocs_conf.3:27 build/C/man2/get_thread_area.2:9
101 #: build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:30
102 #: build/C/man3/getdtablesize.3:28 build/C/man3/gethostid.3:30
103 #: build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29
104 #: build/C/man3/getopt.3:42 build/C/man2/getpagesize.2:26
105 #: build/C/man2/gettid.2:27 build/C/man3/getumask.3:29
106 #: build/C/man3/getusershell.3:31 build/C/man2/idle.2:33
107 #: build/C/man2/ioctl.2:42 build/C/man2/ioctl_list.2:31
108 #: build/C/man2/ioperm.2:35 build/C/man3/lockf.3:29 build/C/man2/mincore.2:35
109 #: build/C/man2/mkdir.2:12 build/C/man2/nice.2:32 build/C/man2/pread.2:26
110 #: build/C/man2/set_thread_area.2:9 build/C/man2/setup.2:35
111 #: build/C/man5/shells.5:29 build/C/man3/sleep.3:27 build/C/man3/swab.3:32
112 #: build/C/man2/swapon.2:43 build/C/man2/syscall.2:43
113 #: build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28
114 #: build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:15
115 #: build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44
116 #: build/C/man3/ualarm.3:25 build/C/man2/umask.2:35 build/C/man2/uname.2:28
117 #: build/C/man2/uselib.2:32 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29
118 #: build/C/man2/vhangup.2:29 build/C/man2/execveat.2:27
119 #, no-wrap
120 msgid "NAME"
121 msgstr "名前"
122
123 #. type: Plain text
124 #: build/C/man2/_syscall.2:41
125 msgid "_syscall - invoking a system call without library support (OBSOLETE)"
126 msgstr "_syscall - ライブラリのサポートなしでシステムコールを起動する (昔の方法)"
127
128 #. type: SH
129 #: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33
130 #: build/C/man2/brk.2:32 build/C/man2/chdir.2:36 build/C/man2/chmod.2:35
131 #: build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38
132 #: build/C/man3/confstr.3:35 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39
133 #: build/C/man3/des_crypt.3:18 build/C/man2/dup.2:40 build/C/man3/encrypt.3:33
134 #: build/C/man7/environ.7:37 build/C/man3/euidaccess.3:28
135 #: build/C/man3/exec.3:44 build/C/man2/execve.2:40
136 #: build/C/man2/exit_group.2:28 build/C/man2/fcntl.2:68
137 #: build/C/man3/fexecve.3:28 build/C/man2/flock.2:38 build/C/man2/fork.2:42
138 #: build/C/man3/fpathconf.3:44 build/C/man2/fsync.2:41
139 #: build/C/man3/get_nprocs_conf.3:29 build/C/man2/get_thread_area.2:11
140 #: build/C/man3/getcwd.3:35 build/C/man2/getdomainname.2:32
141 #: build/C/man3/getdtablesize.3:30 build/C/man3/gethostid.3:32
142 #: build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31
143 #: build/C/man3/getopt.3:45 build/C/man2/getpagesize.2:28
144 #: build/C/man2/gettid.2:29 build/C/man3/getumask.3:31
145 #: build/C/man3/getusershell.3:33 build/C/man2/idle.2:35
146 #: build/C/man2/ioctl.2:44 build/C/man2/ioperm.2:37 build/C/man3/lockf.3:31
147 #: build/C/man2/mincore.2:37 build/C/man2/mkdir.2:14 build/C/man2/nice.2:34
148 #: build/C/man2/pread.2:28 build/C/man2/set_thread_area.2:11
149 #: build/C/man2/setup.2:37 build/C/man3/sleep.3:29 build/C/man3/swab.3:34
150 #: build/C/man2/swapon.2:45 build/C/man2/syscall.2:45
151 #: build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:30
152 #: build/C/man2/sysctl.2:33 build/C/man2/sysinfo.2:17
153 #: build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46
154 #: build/C/man3/ualarm.3:27 build/C/man2/umask.2:37 build/C/man2/uname.2:30
155 #: build/C/man2/uselib.2:34 build/C/man3/usleep.3:36 build/C/man2/vfork.2:31
156 #: build/C/man2/vhangup.2:31 build/C/man2/execveat.2:29
157 #, no-wrap
158 msgid "SYNOPSIS"
159 msgstr "書式"
160
161 #. type: Plain text
162 #: build/C/man2/_syscall.2:43 build/C/man2/get_thread_area.2:13
163 #: build/C/man2/set_thread_area.2:13
164 msgid "B<#include E<lt>linux/unistd.hE<gt>>"
165 msgstr "B<#include E<lt>linux/unistd.hE<gt>>"
166
167 #. type: Plain text
168 #: build/C/man2/_syscall.2:45
169 msgid "A _syscall macro"
170 msgstr "A _syscall macro"
171
172 #. type: Plain text
173 #: build/C/man2/_syscall.2:47
174 msgid "desired system call"
175 msgstr "desired system call"
176
177 #. type: SH
178 #: build/C/man2/_syscall.2:47 build/C/man2/access.2:78 build/C/man2/alarm.2:39
179 #: build/C/man2/brk.2:64 build/C/man2/chdir.2:59 build/C/man2/chmod.2:81
180 #: build/C/man2/chown.2:88 build/C/man2/chroot.2:63 build/C/man2/close.2:44
181 #: build/C/man3/confstr.3:49 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51
182 #: build/C/man3/des_crypt.3:34 build/C/man2/dup.2:53 build/C/man3/encrypt.3:56
183 #: build/C/man7/environ.7:42 build/C/man3/euidaccess.3:36
184 #: build/C/man3/exec.3:72 build/C/man2/execve.2:46
185 #: build/C/man2/exit_group.2:34 build/C/man2/fcntl.2:75
186 #: build/C/man3/fexecve.3:53 build/C/man2/flock.2:42 build/C/man2/fork.2:46
187 #: build/C/man3/fpathconf.3:52 build/C/man2/fsync.2:61
188 #: build/C/man3/get_nprocs_conf.3:35 build/C/man2/get_thread_area.2:20
189 #: build/C/man3/getcwd.3:75 build/C/man2/getdomainname.2:51
190 #: build/C/man3/getdtablesize.3:57 build/C/man3/gethostid.3:56
191 #: build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52
192 #: build/C/man3/getopt.3:79 build/C/man2/getpagesize.2:55
193 #: build/C/man2/gettid.2:38 build/C/man3/getumask.3:39
194 #: build/C/man3/getusershell.3:57 build/C/man2/idle.2:39
195 #: build/C/man2/ioctl.2:50 build/C/man2/ioctl_list.2:33
196 #: build/C/man2/ioperm.2:42 build/C/man3/lockf.3:48 build/C/man2/mincore.2:51
197 #: build/C/man2/mkdir.2:47 build/C/man2/nice.2:46 build/C/man2/pread.2:53
198 #: build/C/man2/set_thread_area.2:20 build/C/man2/setup.2:41
199 #: build/C/man5/shells.5:31 build/C/man3/sleep.3:35 build/C/man3/swab.3:41
200 #: build/C/man2/swapon.2:53 build/C/man2/syscall.2:53
201 #: build/C/man2/syscalls.2:36 build/C/man3/sysconf.3:36
202 #: build/C/man2/sysctl.2:44 build/C/man2/sysinfo.2:21
203 #: build/C/man3/tcgetpgrp.3:34 build/C/man2/truncate.2:79
204 #: build/C/man3/ualarm.3:58 build/C/man2/umask.2:43 build/C/man2/uname.2:34
205 #: build/C/man2/uselib.2:38 build/C/man3/usleep.3:67 build/C/man2/vfork.2:62
206 #: build/C/man2/vhangup.2:45 build/C/man2/execveat.2:37
207 #, no-wrap
208 msgid "DESCRIPTION"
209 msgstr "説明"
210
211 #. type: Plain text
212 #: build/C/man2/_syscall.2:53
213 msgid "The important thing to know about a system call is its prototype.  You need to know how many arguments, their types, and the function return type.  There are seven macros that make the actual call into the system easier.  They have the form:"
214 msgstr "システムコールに関してそのプロトタイプを知ることが重要である。 引き数の個数、それらの型、返り値の型を知る必要がある。 実際の使用にあたっては、システムコールをシステムに呼び出しやすくするために、 7 個のマクロが用意されている。これらのマクロは以下の形である。"
215
216 #. type: Plain text
217 #: build/C/man2/_syscall.2:56
218 msgid "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
219 msgstr "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
220
221 #. type: Plain text
222 #: build/C/man2/_syscall.2:59
223 msgid "where"
224 msgstr "ここで"
225
226 #. type: Plain text
227 #: build/C/man2/_syscall.2:63
228 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
229 msgstr "I<X> は 0〜6 で、システムコールが取る引き数の個数である。"
230
231 #. type: Plain text
232 #: build/C/man2/_syscall.2:66
233 msgid "I<type> is the return type of the system call"
234 msgstr "I<type> はシステムコールの返り値の型である。"
235
236 #. type: Plain text
237 #: build/C/man2/_syscall.2:69
238 msgid "I<name> is the name of the system call"
239 msgstr "I<name> はシステムコールの名前である。"
240
241 #. type: Plain text
242 #: build/C/man2/_syscall.2:72
243 msgid "I<typeN> is the Nth argument's type"
244 msgstr "I<typeN> は N 番目の引き数の型である。"
245
246 #. type: Plain text
247 #: build/C/man2/_syscall.2:75
248 msgid "I<argN> is the name of the Nth argument"
249 msgstr "I<argN> は N 番目の引き数の名前である。"
250
251 #. type: Plain text
252 #: build/C/man2/_syscall.2:83
253 msgid "These macros create a function called I<name> with the arguments you specify.  Once you include the _syscall() in your source file, you call the system call by I<name>."
254 msgstr "これらのマクロは、指定した引き数を持つ I<name> という名前の関数を生成する。 一度ソースファイルの中で _syscall() をインクルードしておくと、 そのシステムコールを I<name> という名前で呼ぶことができる。"
255
256 #. type: SH
257 #: build/C/man2/_syscall.2:83 build/C/man3/getlogin.3:132
258 #: build/C/man3/getusershell.3:89 build/C/man5/shells.5:43
259 #, no-wrap
260 msgid "FILES"
261 msgstr "ファイル"
262
263 #. type: Plain text
264 #: build/C/man2/_syscall.2:85
265 msgid "I</usr/include/linux/unistd.h>"
266 msgstr "I</usr/include/linux/unistd.h>"
267
268 #. type: SH
269 #: build/C/man2/_syscall.2:85 build/C/man2/access.2:262
270 #: build/C/man2/alarm.2:59 build/C/man2/brk.2:113 build/C/man2/chdir.2:125
271 #: build/C/man2/chmod.2:330 build/C/man2/chown.2:313 build/C/man2/chroot.2:134
272 #: build/C/man2/close.2:84 build/C/man3/confstr.3:128 build/C/man3/crypt.3:183
273 #: build/C/man3/daemon.3:96 build/C/man3/des_crypt.3:142
274 #: build/C/man2/dup.2:208 build/C/man3/encrypt.3:137
275 #: build/C/man3/euidaccess.3:80 build/C/man3/exec.3:199
276 #: build/C/man2/execve.2:464 build/C/man2/exit_group.2:43
277 #: build/C/man2/fcntl.2:1640 build/C/man3/fexecve.3:94
278 #: build/C/man2/flock.2:139 build/C/man2/fork.2:226
279 #: build/C/man3/fpathconf.3:169 build/C/man2/fsync.2:125
280 #: build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:46
281 #: build/C/man3/getcwd.3:208 build/C/man2/getdomainname.2:110
282 #: build/C/man3/getdtablesize.3:74 build/C/man3/gethostid.3:92
283 #: build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:154
284 #: build/C/man3/getopt.3:318 build/C/man2/getpagesize.2:64
285 #: build/C/man2/gettid.2:58 build/C/man3/getumask.3:58
286 #: build/C/man3/getusershell.3:101 build/C/man2/idle.2:61
287 #: build/C/man2/ioctl.2:119 build/C/man2/ioperm.2:101 build/C/man3/lockf.3:159
288 #: build/C/man2/mincore.2:134 build/C/man2/mkdir.2:204 build/C/man2/nice.2:75
289 #: build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63
290 #: build/C/man2/setup.2:62 build/C/man3/sleep.3:44 build/C/man3/swab.3:77
291 #: build/C/man2/swapon.2:162 build/C/man3/sysconf.3:327
292 #: build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:87
293 #: build/C/man3/tcgetpgrp.3:116 build/C/man2/truncate.2:200
294 #: build/C/man3/ualarm.3:97 build/C/man2/umask.2:95 build/C/man2/uname.2:73
295 #: build/C/man2/uselib.2:76 build/C/man3/usleep.3:96 build/C/man2/vfork.2:159
296 #: build/C/man2/vhangup.2:63 build/C/man2/execveat.2:165
297 #, no-wrap
298 msgid "CONFORMING TO"
299 msgstr "準拠"
300
301 #. type: Plain text
302 #: build/C/man2/_syscall.2:87
303 msgid "The use of these macros is Linux-specific, and deprecated."
304 msgstr "これらのマクロは Linux 固有であり、その使用は非推奨である。"
305
306 #. type: SH
307 #: build/C/man2/_syscall.2:87 build/C/man2/access.2:268
308 #: build/C/man2/alarm.2:61 build/C/man2/brk.2:121 build/C/man2/chdir.2:127
309 #: build/C/man2/chmod.2:337 build/C/man2/chown.2:330 build/C/man2/chroot.2:139
310 #: build/C/man2/close.2:87 build/C/man3/crypt.3:188 build/C/man3/daemon.3:102
311 #: build/C/man2/dup.2:218 build/C/man3/encrypt.3:148
312 #: build/C/man3/euidaccess.3:86 build/C/man3/exec.3:205
313 #: build/C/man2/execve.2:472 build/C/man2/exit_group.2:45
314 #: build/C/man2/fcntl.2:1705 build/C/man3/fexecve.3:99
315 #: build/C/man2/flock.2:148 build/C/man2/fork.2:228
316 #: build/C/man3/fpathconf.3:171 build/C/man2/fsync.2:140
317 #: build/C/man3/get_nprocs_conf.3:50 build/C/man2/get_thread_area.2:50
318 #: build/C/man3/getcwd.3:230 build/C/man2/getdomainname.2:113
319 #: build/C/man3/getdtablesize.3:82 build/C/man3/gethostid.3:102
320 #: build/C/man2/gethostname.2:130 build/C/man3/getopt.3:350
321 #: build/C/man2/getpagesize.2:71 build/C/man2/gettid.2:62
322 #: build/C/man3/getumask.3:60 build/C/man2/ioctl.2:134
323 #: build/C/man2/ioperm.2:105 build/C/man2/mkdir.2:211 build/C/man2/nice.2:82
324 #: build/C/man2/pread.2:117 build/C/man2/set_thread_area.2:67
325 #: build/C/man2/setup.2:65 build/C/man2/swapon.2:168 build/C/man2/syscall.2:80
326 #: build/C/man2/syscalls.2:667 build/C/man2/sysctl.2:114
327 #: build/C/man3/tcgetpgrp.3:118 build/C/man2/truncate.2:213
328 #: build/C/man3/ualarm.3:105 build/C/man2/umask.2:97 build/C/man2/uname.2:82
329 #: build/C/man2/uselib.2:80 build/C/man3/usleep.3:114 build/C/man2/vfork.2:174
330 #: build/C/man2/execveat.2:169
331 #, no-wrap
332 msgid "NOTES"
333 msgstr "注意"
334
335 #. type: Plain text
336 #: build/C/man2/_syscall.2:97
337 msgid "Starting around kernel 2.6.18, the _syscall macros were removed from header files supplied to user space.  Use B<syscall>(2)  instead.  (Some architectures, notably ia64, never provided the _syscall macros; on those architectures, B<syscall>(2)  was always required.)"
338 msgstr "カーネル 2.6.18 あたりから、_syscall マクロ群はユーザー空間に対して提供される ヘッダファイルから削除された。代わりに B<syscall>(2)  を使用すること。 (いくつかのアーキテクチャ、特に ia64、では、これまで _syscall マクロが 提供されたことはない。このようなアーキテクチャでは、常に B<syscall>(2)  が必要であった。)"
339
340 #. type: Plain text
341 #: build/C/man2/_syscall.2:103
342 msgid "The _syscall() macros I<do not> produce a prototype.  You may have to create one, especially for C++ users."
343 msgstr "_syscall() マクロはプロトタイプを「生成しない」。 ユーザーはプロトタイプを自分で書かなければならないかもしれない。 とりわけ C++ ユーザーの場合はそうであろう。"
344
345 #. type: Plain text
346 #: build/C/man2/_syscall.2:124
347 msgid "System calls are not required to return only positive or negative error codes.  You need to read the source to be sure how it will return errors.  Usually, it is the negative of a standard error code, for example, -I<EPERM>.  The _syscall() macros will return the result I<r> of the system call when I<r> is nonnegative, but will return -1 and set the variable I<errno> to -I<r> when I<r> is negative.  For the error codes, see B<errno>(3)."
348 msgstr "システムコールは、正のエラーコードのみ、または負のエラーコードのみを返すように 定められている訳ではない。そのシステムコールがどのようなエラーコードを返すかを 確認するには、そのソースコードを読む必要がある。たいていの場合は、標準のエラー コードを負にしたものである (例えば -I<EPERM>)。 _syscall() マクロは、そのシステムコールの返り値 I<r> が負でない場合、その値 をそのまま返す。一方、I<r> が負の場合には、変数 I<errno> に -I<r> を設定し、-1 を返す。 エラーコードについては B<errno>(3)  を参照。"
349
350 #.  The preferred way to invoke system calls that glibc does not know
351 #.  about yet is via
352 #.  .BR syscall (2).
353 #.  However, this mechanism can be used only if using a libc
354 #.  (such as glibc) that supports
355 #.  .BR syscall (2),
356 #.  and if the
357 #.  .I <sys/syscall.h>
358 #.  header file contains the required SYS_foo definition.
359 #.  Otherwise, the use of a _syscall macro is required.
360 #. type: Plain text
361 #: build/C/man2/_syscall.2:140
362 msgid "When defining a system call, the argument types I<must> be passed by-value or by-pointer (for aggregates like structs)."
363 msgstr "システムコールを定義する際、引き数の型は値渡し (by-value) か、 (構造体のように集合的なデータの場合は) ポインタ渡し (by-pointer)  でなければならない。"
364
365 #. type: SH
366 #: build/C/man2/_syscall.2:140 build/C/man2/chown.2:442
367 #: build/C/man3/confstr.3:130 build/C/man3/encrypt.3:150
368 #: build/C/man2/execve.2:656 build/C/man2/fork.2:259
369 #: build/C/man3/get_nprocs_conf.3:67 build/C/man3/getopt.3:376
370 #: build/C/man5/shells.5:45 build/C/man2/syscall.2:224
371 #: build/C/man2/sysctl.2:143
372 #, no-wrap
373 msgid "EXAMPLE"
374 msgstr "例"
375
376 #. type: Plain text
377 #: build/C/man2/_syscall.2:147
378 #, no-wrap
379 msgid ""
380 "#include E<lt>stdio.hE<gt>\n"
381 "#include E<lt>stdlib.hE<gt>\n"
382 "#include E<lt>errno.hE<gt>\n"
383 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related stuff */\n"
384 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
385 msgstr ""
386 "#include E<lt>stdio.hE<gt>\n"
387 "#include E<lt>stdlib.hE<gt>\n"
388 "#include E<lt>errno.hE<gt>\n"
389 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related stuff */\n"
390 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
391
392 #. type: Plain text
393 #: build/C/man2/_syscall.2:149
394 #, no-wrap
395 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
396 msgstr "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
397
398 #. type: Plain text
399 #: build/C/man2/_syscall.2:152
400 #, no-wrap
401 msgid ""
402 "/* Note: if you copy directly from the nroff source, remember to\n"
403 "REMOVE the extra backslashes in the printf statement. */\n"
404 msgstr ""
405 "/* Note: nroff のソースファイルから直接コピーする際には、\n"
406 "printf 文内の余分なバックスラッシュを忘れずに削除するように。 */\n"
407
408 #. type: Plain text
409 #: build/C/man2/_syscall.2:158
410 #, no-wrap
411 msgid ""
412 "int\n"
413 "main(void)\n"
414 "{\n"
415 "    struct sysinfo s_info;\n"
416 "    int error;\n"
417 msgstr ""
418 "int\n"
419 "main(void)\n"
420 "{\n"
421 "    struct sysinfo s_info;\n"
422 "    int error;\n"
423
424 #. type: Plain text
425 #: build/C/man2/_syscall.2:173
426 #, no-wrap
427 msgid ""
428 "    error = sysinfo(&s_info);\n"
429 "    printf(\"code error = %d\\en\", error);\n"
430 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min %lu\\en\"\n"
431 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
432 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
433 "           \"Number of processes = %d\\en\",\n"
434 "           s_info.uptime, s_info.loads[0],\n"
435 "           s_info.loads[1], s_info.loads[2],\n"
436 "           s_info.totalram, s_info.freeram,\n"
437 "           s_info.sharedram, s_info.bufferram,\n"
438 "           s_info.totalswap, s_info.freeswap,\n"
439 "           s_info.procs);\n"
440 "    exit(EXIT_SUCCESS);\n"
441 "}\n"
442 msgstr ""
443 "    error = sysinfo(&s_info);\n"
444 "    printf(\"code error = %d\\en\", error);\n"
445 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min %lu\\en\"\n"
446 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
447 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
448 "           \"Number of processes = %d\\en\",\n"
449 "           s_info.uptime, s_info.loads[0],\n"
450 "           s_info.loads[1], s_info.loads[2],\n"
451 "           s_info.totalram, s_info.freeram,\n"
452 "           s_info.sharedram, s_info.bufferram,\n"
453 "           s_info.totalswap, s_info.freeswap,\n"
454 "           s_info.procs);\n"
455 "    exit(EXIT_SUCCESS);\n"
456 "}\n"
457
458 #. type: SS
459 #: build/C/man2/_syscall.2:174
460 #, no-wrap
461 msgid "Sample output"
462 msgstr "出力例"
463
464 #. type: Plain text
465 #: build/C/man2/_syscall.2:183
466 #, no-wrap
467 msgid ""
468 "code error = 0\n"
469 "uptime = 502034s\n"
470 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
471 "RAM: total 15343616 / free 827392 / shared 8237056\n"
472 "Memory in buffers = 5066752\n"
473 "Swap: total 27881472 / free 24698880\n"
474 "Number of processes = 40\n"
475 msgstr ""
476 "code error = 0\n"
477 "uptime = 502034s\n"
478 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
479 "RAM: total 15343616 / free 827392 / shared 8237056\n"
480 "Memory in buffers = 5066752\n"
481 "Swap: total 27881472 / free 24698880\n"
482 "Number of processes = 40\n"
483
484 #. type: SH
485 #: build/C/man2/_syscall.2:184 build/C/man2/access.2:390
486 #: build/C/man2/alarm.2:86 build/C/man2/brk.2:163 build/C/man2/chdir.2:136
487 #: build/C/man2/chmod.2:361 build/C/man2/chown.2:490 build/C/man2/chroot.2:151
488 #: build/C/man2/close.2:131 build/C/man3/confstr.3:147
489 #: build/C/man3/crypt.3:249 build/C/man3/daemon.3:110
490 #: build/C/man3/des_crypt.3:145 build/C/man2/dup.2:274
491 #: build/C/man3/encrypt.3:174 build/C/man7/environ.7:247
492 #: build/C/man3/euidaccess.3:101 build/C/man3/exec.3:241
493 #: build/C/man2/execve.2:751 build/C/man2/exit_group.2:49
494 #: build/C/man2/fcntl.2:1916 build/C/man3/fexecve.3:165
495 #: build/C/man2/flock.2:234 build/C/man2/fork.2:264
496 #: build/C/man3/fpathconf.3:180 build/C/man2/fsync.2:162
497 #: build/C/man2/get_thread_area.2:55 build/C/man3/getcwd.3:249
498 #: build/C/man2/getdomainname.2:127 build/C/man3/getdtablesize.3:95
499 #: build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176
500 #: build/C/man3/getlogin.3:209 build/C/man3/getopt.3:516
501 #: build/C/man2/getpagesize.2:108 build/C/man2/gettid.2:71
502 #: build/C/man3/getumask.3:63 build/C/man3/getusershell.3:103
503 #: build/C/man2/ioctl.2:142 build/C/man2/ioctl_list.2:963
504 #: build/C/man2/ioperm.2:117 build/C/man3/lockf.3:161
505 #: build/C/man2/mincore.2:166 build/C/man2/mkdir.2:236 build/C/man2/nice.2:105
506 #: build/C/man2/pread.2:158 build/C/man2/set_thread_area.2:72
507 #: build/C/man5/shells.5:56 build/C/man3/sleep.3:61 build/C/man3/swab.3:79
508 #: build/C/man2/swapon.2:202 build/C/man2/syscall.2:241
509 #: build/C/man2/syscalls.2:844 build/C/man3/sysconf.3:338
510 #: build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:90
511 #: build/C/man3/tcgetpgrp.3:127 build/C/man2/truncate.2:261
512 #: build/C/man3/ualarm.3:147 build/C/man2/umask.2:118 build/C/man2/uname.2:167
513 #: build/C/man2/uselib.2:102 build/C/man3/usleep.3:147
514 #: build/C/man2/vfork.2:273 build/C/man2/vhangup.2:66
515 #: build/C/man2/execveat.2:229
516 #, no-wrap
517 msgid "SEE ALSO"
518 msgstr "関連項目"
519
520 #. type: Plain text
521 #: build/C/man2/_syscall.2:188
522 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
523 msgstr "B<intro>(2), B<syscall>(2), B<errno>(3)"
524
525 #. type: SH
526 #: build/C/man2/_syscall.2:188 build/C/man2/access.2:401
527 #: build/C/man2/alarm.2:95 build/C/man2/brk.2:168 build/C/man2/chdir.2:140
528 #: build/C/man2/chmod.2:368 build/C/man2/chown.2:495 build/C/man2/chroot.2:154
529 #: build/C/man2/close.2:138 build/C/man3/confstr.3:155
530 #: build/C/man3/crypt.3:255 build/C/man3/daemon.3:113
531 #: build/C/man3/des_crypt.3:149 build/C/man2/dup.2:278
532 #: build/C/man3/encrypt.3:179 build/C/man7/environ.7:264
533 #: build/C/man3/euidaccess.3:112 build/C/man3/exec.3:249
534 #: build/C/man2/execve.2:763 build/C/man2/exit_group.2:51
535 #: build/C/man2/fcntl.2:1937 build/C/man3/fexecve.3:168
536 #: build/C/man2/flock.2:248 build/C/man2/fork.2:275
537 #: build/C/man3/fpathconf.3:186 build/C/man2/fsync.2:170
538 #: build/C/man3/get_nprocs_conf.3:88 build/C/man2/get_thread_area.2:58
539 #: build/C/man3/getcwd.3:256 build/C/man2/getdomainname.2:131
540 #: build/C/man3/getdtablesize.3:100 build/C/man3/gethostid.3:127
541 #: build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:213
542 #: build/C/man3/getopt.3:518 build/C/man2/getpagesize.2:111
543 #: build/C/man2/gettid.2:90 build/C/man3/getumask.3:65
544 #: build/C/man3/getusershell.3:105 build/C/man2/idle.2:64
545 #: build/C/man2/ioctl.2:150 build/C/man2/ioctl_list.2:965
546 #: build/C/man2/ioperm.2:121 build/C/man3/lockf.3:176
547 #: build/C/man2/mincore.2:169 build/C/man2/mkdir.2:247 build/C/man2/nice.2:113
548 #: build/C/man2/pread.2:163 build/C/man2/set_thread_area.2:74
549 #: build/C/man2/setup.2:72 build/C/man5/shells.5:59 build/C/man3/sleep.3:66
550 #: build/C/man3/swab.3:81 build/C/man2/swapon.2:206 build/C/man2/syscall.2:247
551 #: build/C/man2/syscalls.2:851 build/C/man3/sysconf.3:347
552 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:92
553 #: build/C/man3/tcgetpgrp.3:131 build/C/man2/truncate.2:265
554 #: build/C/man3/ualarm.3:155 build/C/man2/umask.2:124 build/C/man2/uname.2:172
555 #: build/C/man2/uselib.2:112 build/C/man3/usleep.3:156
556 #: build/C/man2/vfork.2:279 build/C/man2/vhangup.2:69
557 #: build/C/man2/execveat.2:233
558 #, no-wrap
559 msgid "COLOPHON"
560 msgstr "この文書について"
561
562 #. type: Plain text
563 #: build/C/man2/_syscall.2:196 build/C/man2/access.2:409
564 #: build/C/man2/alarm.2:103 build/C/man2/brk.2:176 build/C/man2/chdir.2:148
565 #: build/C/man2/chmod.2:376 build/C/man2/chown.2:503 build/C/man2/chroot.2:162
566 #: build/C/man2/close.2:146 build/C/man3/confstr.3:163
567 #: build/C/man3/crypt.3:263 build/C/man3/daemon.3:121
568 #: build/C/man3/des_crypt.3:157 build/C/man2/dup.2:286
569 #: build/C/man3/encrypt.3:187 build/C/man7/environ.7:272
570 #: build/C/man3/euidaccess.3:120 build/C/man3/exec.3:257
571 #: build/C/man2/execve.2:771 build/C/man2/exit_group.2:59
572 #: build/C/man2/fcntl.2:1945 build/C/man3/fexecve.3:176
573 #: build/C/man2/flock.2:256 build/C/man2/fork.2:283
574 #: build/C/man3/fpathconf.3:194 build/C/man2/fsync.2:178
575 #: build/C/man3/get_nprocs_conf.3:96 build/C/man2/get_thread_area.2:66
576 #: build/C/man3/getcwd.3:264 build/C/man2/getdomainname.2:139
577 #: build/C/man3/getdtablesize.3:108 build/C/man3/gethostid.3:135
578 #: build/C/man2/gethostname.2:188 build/C/man3/getlogin.3:221
579 #: build/C/man3/getopt.3:526 build/C/man2/getpagesize.2:119
580 #: build/C/man2/gettid.2:98 build/C/man3/getumask.3:73
581 #: build/C/man3/getusershell.3:113 build/C/man2/idle.2:72
582 #: build/C/man2/ioctl.2:158 build/C/man2/ioctl_list.2:973
583 #: build/C/man2/ioperm.2:129 build/C/man3/lockf.3:184
584 #: build/C/man2/mincore.2:177 build/C/man2/mkdir.2:255 build/C/man2/nice.2:121
585 #: build/C/man2/pread.2:171 build/C/man2/set_thread_area.2:82
586 #: build/C/man2/setup.2:80 build/C/man5/shells.5:67 build/C/man3/sleep.3:74
587 #: build/C/man3/swab.3:89 build/C/man2/swapon.2:214 build/C/man2/syscall.2:255
588 #: build/C/man2/syscalls.2:859 build/C/man3/sysconf.3:355
589 #: build/C/man2/sysctl.2:191 build/C/man2/sysinfo.2:100
590 #: build/C/man3/tcgetpgrp.3:139 build/C/man2/truncate.2:273
591 #: build/C/man3/ualarm.3:163 build/C/man2/umask.2:132 build/C/man2/uname.2:180
592 #: build/C/man2/uselib.2:120 build/C/man3/usleep.3:164
593 #: build/C/man2/vfork.2:287 build/C/man2/vhangup.2:77
594 #: build/C/man2/execveat.2:241
595 msgid "This page is part of release 3.78 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
596 msgstr ""
597 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
598 "である。プロジェクトの説明とバグ報告に関する情報は\n"
599 "http://www.kernel.org/doc/man-pages/ に書かれている。"
600
601 #. type: TH
602 #: build/C/man2/access.2:43
603 #, no-wrap
604 msgid "ACCESS"
605 msgstr "ACCESS"
606
607 #. type: TH
608 #: build/C/man2/access.2:43 build/C/man2/brk.2:29 build/C/man2/chmod.2:32
609 #: build/C/man2/chown.2:38 build/C/man3/des_crypt.3:14
610 #: build/C/man7/environ.7:34 build/C/man2/fsync.2:38 build/C/man3/getcwd.3:32
611 #: build/C/man3/getdtablesize.3:27 build/C/man2/gethostname.2:32
612 #: build/C/man2/getpagesize.2:25 build/C/man2/ioperm.2:34
613 #: build/C/man2/mkdir.2:11 build/C/man2/sysinfo.2:14
614 #, no-wrap
615 msgid "2014-08-19"
616 msgstr "2014-08-19"
617
618 #. type: Plain text
619 #: build/C/man2/access.2:46
620 msgid "access, faccessat - check user's permissions for a file"
621 msgstr "access, faccessat - ユーザーのファイルへのアクセス権をチェックする"
622
623 #. type: Plain text
624 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/chown.2:44
625 #: build/C/man2/close.2:41 build/C/man3/confstr.3:38 build/C/man3/crypt.3:44
626 #: build/C/man2/dup.2:43 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:47
627 #: build/C/man3/getcwd.3:38 build/C/man3/getopt.3:48
628 #: build/C/man3/getusershell.3:36 build/C/man3/sleep.3:32
629 #: build/C/man3/sysconf.3:33 build/C/man2/sysctl.2:36 build/C/man3/ualarm.3:30
630 #: build/C/man3/usleep.3:39
631 #, no-wrap
632 msgid "B<#include E<lt>unistd.hE<gt>>\n"
633 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
634
635 #. type: Plain text
636 #: build/C/man2/access.2:51
637 #, no-wrap
638 msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
639 msgstr "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
640
641 #. type: Plain text
642 #: build/C/man2/access.2:54 build/C/man2/chown.2:53
643 #, no-wrap
644 msgid ""
645 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
646 "B<#include E<lt>unistd.hE<gt>>\n"
647 msgstr ""
648 "B<#include E<lt>fcntl.hE<gt>           >/* AT_* 定数の定義 */\n"
649 "B<#include E<lt>unistd.hE<gt>>\n"
650
651 #. type: Plain text
652 #: build/C/man2/access.2:57
653 #, no-wrap
654 msgid "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
655 msgstr "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, int >I<flags>B<);>\n"
656
657 #. type: Plain text
658 #: build/C/man2/access.2:62 build/C/man2/brk.2:42 build/C/man2/chdir.2:46
659 #: build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man2/chroot.2:44
660 #: build/C/man3/confstr.3:45 build/C/man3/daemon.3:47 build/C/man3/exec.3:68
661 #: build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:49
662 #: build/C/man2/getdomainname.2:42 build/C/man3/getdtablesize.3:38
663 #: build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45
664 #: build/C/man3/getlogin.3:45 build/C/man3/getopt.3:69
665 #: build/C/man2/getpagesize.2:36 build/C/man3/getusershell.3:47
666 #: build/C/man3/lockf.3:39 build/C/man2/mincore.2:47 build/C/man2/mkdir.2:31
667 #: build/C/man2/nice.2:42 build/C/man2/pread.2:40 build/C/man2/truncate.2:58
668 #: build/C/man3/ualarm.3:37 build/C/man3/usleep.3:46 build/C/man2/vfork.2:41
669 #: build/C/man2/vhangup.2:39
670 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
671 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
672
673 #. type: Plain text
674 #: build/C/man2/access.2:65
675 msgid "B<faccessat>():"
676 msgstr "B<faccessat>():"
677
678 #. type: TP
679 #: build/C/man2/access.2:68 build/C/man2/chmod.2:71 build/C/man2/chown.2:79
680 #: build/C/man3/fexecve.3:44 build/C/man2/mkdir.2:37
681 #, no-wrap
682 msgid "Since glibc 2.10:"
683 msgstr "glibc 2.10 以降:"
684
685 #. type: Plain text
686 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82
687 #: build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
688 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
689 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
690
691 #. type: TP
692 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82
693 #: build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
694 #, no-wrap
695 msgid "Before glibc 2.10:"
696 msgstr "glibc 2.10 より前:"
697
698 #. type: Plain text
699 #: build/C/man2/access.2:74 build/C/man2/chmod.2:77 build/C/man2/chown.2:85
700 #: build/C/man2/mkdir.2:43
701 msgid "_ATFILE_SOURCE"
702 msgstr "_ATFILE_SOURCE"
703
704 #. type: Plain text
705 #: build/C/man2/access.2:85
706 msgid "B<access>()  checks whether the calling process can access the file I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
707 msgstr "B<access>()  は、呼び出し元プロセスがファイル I<pathname> にアクセスできるかどうかをチェックする。 I<pathname> がシンボリックリンクの場合、シンボリックリンクは展開される。"
708
709 #.  F_OK is defined as 0 on every system that I know of.
710 #. type: Plain text
711 #: build/C/man2/access.2:99
712 msgid "The I<mode> specifies the accessibility check(s) to be performed, and is either the value B<F_OK>, or a mask consisting of the bitwise OR of one or more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and grants read, write, and execute permissions, respectively."
713 msgstr "I<mode> はチェックを行うアクセス権を指定するもので、その値は B<F_OK>、 もしくは B<R_OK>, B<W_OK>, B<X_OK> の 1個以上のビット単位の論理和から構成されるマスクである。 B<F_OK> はファイルが存在するかどうかのみを検査する。 B<R_OK>, B<W_OK>, B<X_OK> は、ファイルが存在して、それぞれ読み込み、書き込み、実行の許可があるか を検査する。"
714
715 #. type: Plain text
716 #: build/C/man2/access.2:108
717 msgid "The check is done using the calling process's I<real> UID and GID, rather than the effective IDs as is done when actually attempting an operation (e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily determine the invoking user's authority."
718 msgstr "チェックは、実際に操作が行われる際に使用される実効 (effective) ID でなく、 呼び出し元プロセスの I<実 (real)> UID と I<実 (real)> GID を使って行われる。 これにより、set-user-ID プログラムで、プログラムを起動するユーザーの権限を 簡単に決定することができる。"
719
720 #. type: Plain text
721 #: build/C/man2/access.2:114
722 msgid "If the calling process is privileged (i.e., its real UID is zero), then an B<X_OK> check is successful for a regular file if execute permission is enabled for any of the file owner, group, or other."
723 msgstr "呼び出し元プロセスが特権プロセス (つまり、プロセスの実 UID が 0) の場合、 通常のファイルに対する B<X_OK> のチェックは、そのファイルの所有者、グループ、他人のいずれかの 実行許可が有効になっていれば成功する。"
724
725 #. type: SS
726 #: build/C/man2/access.2:114
727 #, no-wrap
728 msgid "faccessat()"
729 msgstr "faccessat()"
730
731 #. type: Plain text
732 #: build/C/man2/access.2:120
733 msgid "The B<faccessat>()  system call operates in exactly the same way as B<access>(), except for the differences described here."
734 msgstr "B<faccessat>() システムコールは B<access>() と全く同様に動作するが、以下で説明する点が異なる。"
735
736 #. type: Plain text
737 #: build/C/man2/access.2:130
738 msgid "If the pathname given in I<pathname> is relative, then it is interpreted relative to the directory referred to by the file descriptor I<dirfd> (rather than relative to the current working directory of the calling process, as is done by B<access>()  for a relative pathname)."
739 msgstr "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<access>() に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。"
740
741 #. type: Plain text
742 #: build/C/man2/access.2:142
743 msgid "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current working directory of the calling process (like B<access>())."
744 msgstr "I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 (B<access>() と同様に) I<pathname> は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。"
745
746 #. type: Plain text
747 #: build/C/man2/access.2:148 build/C/man2/chmod.2:216 build/C/man2/chown.2:179
748 #: build/C/man2/mkdir.2:110 build/C/man2/execveat.2:76
749 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
750 msgstr "I<pathname> で指定されたパス名が絶対パスの場合、 I<dirfd> は無視される。"
751
752 #. type: Plain text
753 #: build/C/man2/access.2:151
754 msgid "I<flags> is constructed by ORing together zero or more of the following values:"
755 msgstr "I<flags> は以下に示す値の 0 個以上の OR (論理和) をとって作成される。"
756
757 #. type: TP
758 #: build/C/man2/access.2:151
759 #, no-wrap
760 msgid "B<AT_EACCESS>"
761 msgstr "B<AT_EACCESS>"
762
763 #. type: Plain text
764 #: build/C/man2/access.2:158
765 msgid "Perform access checks using the effective user and group IDs.  By default, B<faccessat>()  uses the real IDs (like B<access>())."
766 msgstr "アクセスチェックを実行ユーザー/グループ ID を使って行う。デフォルトでは、B<faccessat>() は (B<access>() と同様に) 実 ID を使用する。"
767
768 #. type: TP
769 #: build/C/man2/access.2:158 build/C/man2/chmod.2:219 build/C/man2/chown.2:208
770 #: build/C/man2/execveat.2:100
771 #, no-wrap
772 msgid "B<AT_SYMLINK_NOFOLLOW>"
773 msgstr "B<AT_SYMLINK_NOFOLLOW>"
774
775 #. type: Plain text
776 #: build/C/man2/access.2:164
777 msgid "If I<pathname> is a symbolic link, do not dereference it: instead return information about the link itself."
778 msgstr "I<pathname> がシンボリックリンクの場合、リンクの展開を行わない。代わりに、リンク自身の情報を返す。"
779
780 #. type: Plain text
781 #: build/C/man2/access.2:169
782 msgid "See B<openat>(2)  for an explanation of the need for B<faccessat>()."
783 msgstr "B<faccessat>() の必要性についての説明については B<openat>(2) を参照。"
784
785 #. type: SH
786 #: build/C/man2/access.2:169 build/C/man2/alarm.2:54 build/C/man2/brk.2:93
787 #: build/C/man2/chdir.2:70 build/C/man2/chmod.2:231 build/C/man2/chown.2:224
788 #: build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:95
789 #: build/C/man3/crypt.3:120 build/C/man3/daemon.3:73
790 #: build/C/man3/des_crypt.3:106 build/C/man2/dup.2:148
791 #: build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58
792 #: build/C/man3/exec.3:183 build/C/man2/execve.2:355
793 #: build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1444
794 #: build/C/man3/fexecve.3:67 build/C/man2/flock.2:112 build/C/man2/fork.2:178
795 #: build/C/man3/fpathconf.3:160 build/C/man2/fsync.2:108
796 #: build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:29
797 #: build/C/man3/getcwd.3:156 build/C/man2/getdomainname.2:75
798 #: build/C/man3/getdtablesize.3:61 build/C/man3/gethostid.3:71
799 #: build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95
800 #: build/C/man3/getopt.3:274 build/C/man2/gettid.2:50
801 #: build/C/man3/getusershell.3:85 build/C/man2/idle.2:52
802 #: build/C/man2/ioctl.2:85 build/C/man2/ioctl_list.2:107
803 #: build/C/man2/ioperm.2:79 build/C/man3/lockf.3:116 build/C/man2/mincore.2:94
804 #: build/C/man2/mkdir.2:115 build/C/man2/nice.2:56 build/C/man2/pread.2:79
805 #: build/C/man2/set_thread_area.2:44 build/C/man2/setup.2:53
806 #: build/C/man3/sleep.3:40 build/C/man3/swab.3:68 build/C/man2/swapon.2:111
807 #: build/C/man2/syscall.2:74 build/C/man3/sysconf.3:314
808 #: build/C/man2/sysctl.2:74 build/C/man2/sysinfo.2:74
809 #: build/C/man3/tcgetpgrp.3:64 build/C/man2/truncate.2:110
810 #: build/C/man3/ualarm.3:81 build/C/man2/umask.2:92 build/C/man2/uname.2:63
811 #: build/C/man2/uselib.2:48 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:50
812 #: build/C/man2/execveat.2:108
813 #, no-wrap
814 msgid "RETURN VALUE"
815 msgstr "返り値"
816
817 #. type: Plain text
818 #: build/C/man2/access.2:185
819 msgid "On success (all requested permissions granted, or I<mode> is B<F_OK> and the file exists), zero is returned.  On error (at least one bit in I<mode> asked for a permission that is denied, or I<mode> is B<F_OK> and the file does not exist, or some other error occurred), -1 is returned, and I<errno> is set appropriately."
820 msgstr "成功した場合 (要求した全てについて許可が得られたか、 I<mode> が B<F_OK> でファイルが存在した場合)、ゼロが返される。 エラーの場合 (I<mode> の少なくとも一つのビットで要求した許可がなかった場合、 I<mode> が B<F_OK> でファイルが存在しなかった場合、他のエラーが起こった場合)、-1 が返され、 I<errno> が適切に設定される。"
821
822 #. type: SH
823 #: build/C/man2/access.2:185 build/C/man2/chdir.2:75 build/C/man2/chmod.2:236
824 #: build/C/man2/chown.2:229 build/C/man2/chroot.2:95 build/C/man2/close.2:70
825 #: build/C/man3/confstr.3:122 build/C/man3/crypt.3:123 build/C/man2/dup.2:154
826 #: build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66
827 #: build/C/man3/exec.3:190 build/C/man2/execve.2:361 build/C/man2/fcntl.2:1482
828 #: build/C/man3/fexecve.3:74 build/C/man2/flock.2:117 build/C/man2/fork.2:185
829 #: build/C/man2/fsync.2:113 build/C/man2/get_thread_area.2:35
830 #: build/C/man3/getcwd.3:172 build/C/man2/getdomainname.2:80
831 #: build/C/man3/getdtablesize.3:63 build/C/man3/gethostid.3:81
832 #: build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:103
833 #: build/C/man2/gettid.2:52 build/C/man2/idle.2:55 build/C/man2/ioctl.2:94
834 #: build/C/man2/ioperm.2:84 build/C/man3/lockf.3:121
835 #: build/C/man2/mincore.2:101 build/C/man2/mkdir.2:122 build/C/man2/nice.2:61
836 #: build/C/man2/pread.2:89 build/C/man2/set_thread_area.2:49
837 #: build/C/man2/setup.2:56 build/C/man2/swapon.2:116 build/C/man2/sysctl.2:81
838 #: build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:86
839 #: build/C/man2/truncate.2:115 build/C/man3/ualarm.3:84
840 #: build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man3/usleep.3:82
841 #: build/C/man2/vhangup.2:55 build/C/man2/execveat.2:115
842 #, no-wrap
843 msgid "ERRORS"
844 msgstr "エラー"
845
846 #. type: Plain text
847 #: build/C/man2/access.2:190
848 msgid "B<access>()  and B<faccessat>()  shall fail if:"
849 msgstr "B<access>() と B<faccessat>() は以下の場合に失敗する。"
850
851 #. type: TP
852 #: build/C/man2/access.2:190 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117
853 #: build/C/man2/chmod.2:243 build/C/man2/chown.2:236 build/C/man2/chroot.2:98
854 #: build/C/man2/execve.2:369 build/C/man2/execve.2:376
855 #: build/C/man2/execve.2:379 build/C/man2/execve.2:382
856 #: build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84
857 #: build/C/man2/mkdir.2:123 build/C/man2/truncate.2:118
858 #: build/C/man2/uselib.2:59
859 #, no-wrap
860 msgid "B<EACCES>"
861 msgstr "B<EACCES>"
862
863 #. type: Plain text
864 #: build/C/man2/access.2:197
865 msgid "The requested access would be denied to the file, or search permission is denied for one of the directories in the path prefix of I<pathname>.  (See also B<path_resolution>(7).)"
866 msgstr "要求されたアクセスは そのファイル自身に拒否されたか I<pathname> へ至るまでディレクトリのいずれかに対する検索許可 (search permission) が得られなかった。 (B<path_resolution>(7)  も参照のこと)"
867
868 #. type: TP
869 #: build/C/man2/access.2:197 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255
870 #: build/C/man2/chown.2:245 build/C/man2/chroot.2:112
871 #: build/C/man2/execve.2:417 build/C/man2/mkdir.2:145
872 #: build/C/man2/truncate.2:152 build/C/man2/execveat.2:130
873 #, no-wrap
874 msgid "B<ELOOP>"
875 msgstr "B<ELOOP>"
876
877 #. type: Plain text
878 #: build/C/man2/access.2:201 build/C/man2/chmod.2:259 build/C/man2/chown.2:249
879 #: build/C/man2/mkdir.2:149
880 msgid "Too many symbolic links were encountered in resolving I<pathname>."
881 msgstr "I<pathname> を解決するときに、解決すべきシンボリックリンクが多すぎた。"
882
883 #. type: TP
884 #: build/C/man2/access.2:201 build/C/man2/chdir.2:98 build/C/man2/chmod.2:259
885 #: build/C/man2/chown.2:249 build/C/man2/chroot.2:116
886 #: build/C/man2/execve.2:425 build/C/man2/gethostname.2:109
887 #: build/C/man2/mkdir.2:153 build/C/man2/truncate.2:155
888 #, no-wrap
889 msgid "B<ENAMETOOLONG>"
890 msgstr "B<ENAMETOOLONG>"
891
892 #. type: Plain text
893 #: build/C/man2/access.2:205 build/C/man2/chmod.2:263 build/C/man2/chown.2:253
894 msgid "I<pathname> is too long."
895 msgstr "I<pathname> が長過ぎる。"
896
897 #. type: TP
898 #: build/C/man2/access.2:205 build/C/man2/chdir.2:102 build/C/man2/chmod.2:263
899 #: build/C/man2/chown.2:253 build/C/man2/chown.2:279 build/C/man2/chroot.2:120
900 #: build/C/man2/execve.2:432 build/C/man3/getcwd.3:198
901 #: build/C/man3/getlogin.3:122 build/C/man2/mkdir.2:156
902 #: build/C/man2/swapon.2:147 build/C/man2/truncate.2:159
903 #: build/C/man2/execveat.2:140
904 #, no-wrap
905 msgid "B<ENOENT>"
906 msgstr "B<ENOENT>"
907
908 #. type: Plain text
909 #: build/C/man2/access.2:210
910 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
911 msgstr "I<pathname> を構成するパスのいずれかが、存在しないか、 参照先のない (dangling) シンボリックリンクになっている。"
912
913 #. type: TP
914 #: build/C/man2/access.2:210 build/C/man2/access.2:252
915 #: build/C/man2/chdir.2:108 build/C/man2/chmod.2:269 build/C/man2/chmod.2:314
916 #: build/C/man2/chown.2:259 build/C/man2/chown.2:303 build/C/man2/chroot.2:126
917 #: build/C/man2/execve.2:446 build/C/man2/fcntl.2:1617
918 #: build/C/man2/mkdir.2:173 build/C/man2/mkdir.2:194 build/C/man2/sysctl.2:88
919 #: build/C/man2/truncate.2:162 build/C/man2/execveat.2:154
920 #, no-wrap
921 msgid "B<ENOTDIR>"
922 msgstr "B<ENOTDIR>"
923
924 #. type: Plain text
925 #: build/C/man2/access.2:215 build/C/man2/mkdir.2:178
926 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
927 msgstr "I<pathname> のディレクトリ部分が実際にはディレクトリでない。"
928
929 #. type: TP
930 #: build/C/man2/access.2:215 build/C/man2/chmod.2:278 build/C/man2/chmod.2:296
931 #: build/C/man2/chown.2:266 build/C/man2/chown.2:285 build/C/man2/mkdir.2:183
932 #: build/C/man2/truncate.2:175
933 #, no-wrap
934 msgid "B<EROFS>"
935 msgstr "B<EROFS>"
936
937 #. type: Plain text
938 #: build/C/man2/access.2:218
939 msgid "Write permission was requested for a file on a read-only filesystem."
940 msgstr "読み込み専用 (read-only) のファイルシステムに対して書き込み許可を 要求した。"
941
942 #. type: Plain text
943 #: build/C/man2/access.2:223
944 msgid "B<access>()  and B<faccessat>()  may fail if:"
945 msgstr "B<access>() と B<faccessat>() は以下の理由により失敗することがある。"
946
947 #. type: TP
948 #: build/C/man2/access.2:223 build/C/man2/chdir.2:87 build/C/man2/chmod.2:248
949 #: build/C/man2/chown.2:241 build/C/man2/chroot.2:105
950 #: build/C/man2/execve.2:396 build/C/man2/fcntl.2:1527
951 #: build/C/man2/get_thread_area.2:36 build/C/man3/getcwd.3:176
952 #: build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95
953 #: build/C/man2/ioctl.2:99 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:142
954 #: build/C/man2/set_thread_area.2:53 build/C/man2/sysctl.2:82
955 #: build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:124
956 #: build/C/man2/uname.2:69
957 #, no-wrap
958 msgid "B<EFAULT>"
959 msgstr "B<EFAULT>"
960
961 #. type: Plain text
962 #: build/C/man2/access.2:227 build/C/man2/chmod.2:252 build/C/man2/chown.2:245
963 #: build/C/man2/mkdir.2:145
964 msgid "I<pathname> points outside your accessible address space."
965 msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
966
967 #. type: TP
968 #: build/C/man2/access.2:227 build/C/man2/access.2:248
969 #: build/C/man2/chmod.2:310 build/C/man2/chown.2:299
970 #: build/C/man3/confstr.3:123 build/C/man3/crypt.3:124 build/C/man2/dup.2:184
971 #: build/C/man2/dup.2:189 build/C/man2/execve.2:404 build/C/man2/fcntl.2:1553
972 #: build/C/man2/fcntl.2:1558 build/C/man2/fcntl.2:1566
973 #: build/C/man2/fcntl.2:1576 build/C/man2/fcntl.2:1588
974 #: build/C/man2/fcntl.2:1596 build/C/man3/fexecve.3:78
975 #: build/C/man2/flock.2:127 build/C/man2/get_thread_area.2:39
976 #: build/C/man3/getcwd.3:180 build/C/man2/getdomainname.2:87
977 #: build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99
978 #: build/C/man2/ioctl.2:103 build/C/man2/ioperm.2:85 build/C/man3/lockf.3:147
979 #: build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:50
980 #: build/C/man2/swapon.2:124 build/C/man2/swapon.2:129
981 #: build/C/man2/swapon.2:139 build/C/man3/tcgetpgrp.3:91
982 #: build/C/man2/truncate.2:141 build/C/man2/truncate.2:196
983 #: build/C/man3/ualarm.3:88 build/C/man3/usleep.3:87
984 #: build/C/man2/execveat.2:126
985 #, no-wrap
986 msgid "B<EINVAL>"
987 msgstr "B<EINVAL>"
988
989 #. type: Plain text
990 #: build/C/man2/access.2:231
991 msgid "I<mode> was incorrectly specified."
992 msgstr "I<mode> に不正な値が指定された。"
993
994 #. type: TP
995 #: build/C/man2/access.2:231 build/C/man2/chdir.2:91 build/C/man2/chmod.2:252
996 #: build/C/man2/chmod.2:290 build/C/man2/chown.2:276 build/C/man2/chroot.2:109
997 #: build/C/man2/close.2:81 build/C/man2/execve.2:408 build/C/man2/fsync.2:118
998 #: build/C/man2/ioperm.2:91 build/C/man2/truncate.2:146
999 #, no-wrap
1000 msgid "B<EIO>"
1001 msgstr "B<EIO>"
1002
1003 #. type: Plain text
1004 #: build/C/man2/access.2:234 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255
1005 #: build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:411
1006 msgid "An I/O error occurred."
1007 msgstr "I/O エラーが発生した。"
1008
1009 #. type: TP
1010 #: build/C/man2/access.2:234 build/C/man2/chdir.2:105 build/C/man2/chmod.2:266
1011 #: build/C/man2/chown.2:256 build/C/man2/chroot.2:123
1012 #: build/C/man2/execve.2:443 build/C/man2/fork.2:216
1013 #: build/C/man3/getlogin.3:125 build/C/man2/ioperm.2:94
1014 #: build/C/man2/mincore.2:112 build/C/man2/mincore.2:124
1015 #: build/C/man2/mkdir.2:161 build/C/man2/swapon.2:152
1016 #, no-wrap
1017 msgid "B<ENOMEM>"
1018 msgstr "B<ENOMEM>"
1019
1020 #. type: Plain text
1021 #: build/C/man2/access.2:237 build/C/man2/chdir.2:108 build/C/man2/chmod.2:269
1022 #: build/C/man2/chown.2:259 build/C/man2/chroot.2:126
1023 #: build/C/man2/execve.2:446 build/C/man2/mkdir.2:164
1024 msgid "Insufficient kernel memory was available."
1025 msgstr "カーネルに十分なメモリがない。"
1026
1027 #. type: TP
1028 #: build/C/man2/access.2:237 build/C/man2/execve.2:461
1029 #: build/C/man2/truncate.2:178
1030 #, no-wrap
1031 msgid "B<ETXTBSY>"
1032 msgstr "B<ETXTBSY>"
1033
1034 #. type: Plain text
1035 #: build/C/man2/access.2:241
1036 msgid "Write access was requested to an executable which is being executed."
1037 msgstr "実行中のファイルに対して書き込みを要求した。"
1038
1039 #. type: Plain text
1040 #: build/C/man2/access.2:244
1041 msgid "The following additional errors can occur for B<faccessat>():"
1042 msgstr "B<faccessat>() では以下のエラーも発生する。"
1043
1044 #. type: TP
1045 #: build/C/man2/access.2:244 build/C/man2/chdir.2:121 build/C/man2/chmod.2:285
1046 #: build/C/man2/chmod.2:306 build/C/man2/chown.2:273 build/C/man2/chown.2:295
1047 #: build/C/man2/close.2:71 build/C/man2/dup.2:155 build/C/man2/dup.2:159
1048 #: build/C/man2/fcntl.2:1490 build/C/man2/fcntl.2:1494
1049 #: build/C/man2/flock.2:118 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:95
1050 #: build/C/man3/lockf.3:130 build/C/man2/mkdir.2:190
1051 #: build/C/man3/tcgetpgrp.3:87 build/C/man2/truncate.2:188
1052 #: build/C/man2/execveat.2:122
1053 #, no-wrap
1054 msgid "B<EBADF>"
1055 msgstr "B<EBADF>"
1056
1057 #. type: Plain text
1058 #: build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:299
1059 #: build/C/man2/mkdir.2:194 build/C/man2/execveat.2:126
1060 msgid "I<dirfd> is not a valid file descriptor."
1061 msgstr "I<dirfd> が適切なファイルディスクリプターでない。"
1062
1063 #. type: Plain text
1064 #: build/C/man2/access.2:252 build/C/man2/chmod.2:314 build/C/man2/chown.2:303
1065 #: build/C/man2/execveat.2:130
1066 msgid "Invalid flag specified in I<flags>."
1067 msgstr "I<flags> に無効なフラグが指定された。"
1068
1069 #. type: Plain text
1070 #: build/C/man2/access.2:258 build/C/man2/chmod.2:320 build/C/man2/chown.2:309
1071 #: build/C/man2/mkdir.2:200 build/C/man2/execveat.2:160
1072 msgid "I<pathname> is relative and I<dirfd> is a file descriptor referring to a file other than a directory."
1073 msgstr "I<pathname> が相対パスで、 I<dirfd> がディレクトリ以外のファイルを参照しているファイルディスクリプターである。"
1074
1075 #. type: SH
1076 #: build/C/man2/access.2:258 build/C/man2/chmod.2:326 build/C/man2/chown.2:309
1077 #: build/C/man3/des_crypt.3:131 build/C/man2/dup.2:203
1078 #: build/C/man3/euidaccess.3:69 build/C/man3/exec.3:195
1079 #: build/C/man2/exit_group.2:41 build/C/man3/fexecve.3:91
1080 #: build/C/man2/get_thread_area.2:42 build/C/man2/gettid.2:54
1081 #: build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/mkdir.2:200
1082 #: build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59
1083 #: build/C/man2/setup.2:60 build/C/man2/sysinfo.2:83
1084 #: build/C/man2/execveat.2:160
1085 #, no-wrap
1086 msgid "VERSIONS"
1087 msgstr "バージョン"
1088
1089 #. type: Plain text
1090 #: build/C/man2/access.2:262
1091 msgid "B<faccessat>()  was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4."
1092 msgstr "B<faccessat>()  はバージョン 2.6.16 で Linux に追加された。 ライブラリによるサポートは glibc バージョン 2.4 で追加された。"
1093
1094 #. type: Plain text
1095 #: build/C/man2/access.2:265
1096 msgid "B<access>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
1097 msgstr "B<access>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
1098
1099 #. type: Plain text
1100 #: build/C/man2/access.2:268
1101 msgid "B<faccessat>(): POSIX.1-2008."
1102 msgstr "B<faccessat>(): POSIX.1-2008."
1103
1104 #. type: Plain text
1105 #: build/C/man2/access.2:281
1106 msgid "B<Warning>: Using these calls to check if a user is authorized to, for example, open a file before actually doing so using B<open>(2)  creates a security hole, because the user might exploit the short time interval between checking and opening the file to manipulate it.  B<For this reason, the use of this system call should be avoided>.  (In the example just described, a safer alternative would be to temporarily switch the process's effective user ID to the real ID and then call B<open>(2).)"
1107 msgstr "B<警告>: あるユーザーが、例えば B<open>(2) によるアクセスが可能かどうかを、 (実際に行う前に) これらのシステムコールを使ってチェックするのは、セキュリティホールの原因になる。なぜならチェックをしてから 実際にファイルのオープン操作をする間の短い間隔を悪用できるからである。 B<この理由があるので、このシステムコールを使うのは避けるべきである。> (ここで説明した例の場合には、より安全な方法としては、 そのプロセスの実効ユーザー ID を実ユーザー ID に一時的に切り替えてから B<open>(2) を呼び出す方法がある。)"
1108
1109 #. type: Plain text
1110 #: build/C/man2/access.2:288
1111 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>."
1112 msgstr ""
1113 "B<access>() は常にシンボリックリンクの展開を行う。\n"
1114 "シンボリックリンクのアクセス許可を確認する必要がある場合は、\n"
1115 "B<AT_SYMLINK_NOFOLLOW> フラグ付きで B<faccessat>(2) を使うこと。"
1116
1117 #. type: Plain text
1118 #: build/C/man2/access.2:294
1119 msgid "These calls return an error if any of the access types in I<mode> is denied, even if some of the other access types in I<mode> are permitted."
1120 msgstr "I<mode> で指定されたアクセス種別のいずれか一つでも拒否されると、 たとえ I<mode> で指定された他のアクセス種別が許可されたとしても、 これらのシステムコールはエラーを返す。"
1121
1122 #.  HPU-UX 11 and Tru64 5.1 do this.
1123 #. type: Plain text
1124 #: build/C/man2/access.2:301
1125 msgid "If the calling process has appropriate privileges (i.e., is superuser), POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> check even if none of the execute file permission bits are set.  Linux does not do this."
1126 msgstr "POSIX.1-2001 では、 呼び出し元プロセスが適切な特権を持っている場合 (つまり、スーパーユーザーの場合)、 たとえファイルの実行許可ビットが全くセットされていなくても B<X_OK> のチェックとして成功を返す実装が認められている。 Linux はこのようにはなっていない。"
1127
1128 #. type: Plain text
1129 #: build/C/man2/access.2:309
1130 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."
1131 msgstr "I<pathname> のプレフィックスを構成するディレクトリの全てに対して 検索アクセス (すなわち、実行アクセス) が許可された場合にのみ、 ファイルはアクセス可能となる。 いずれかのディレクトリがアクセス不可の場合、 ファイル自身のアクセス許可に関わらず、 B<access>()  は失敗する。"
1132
1133 #. type: Plain text
1134 #: build/C/man2/access.2:317
1135 msgid "Only access bits are checked, not the file type or contents.  Therefore, if a directory is found to be writable, it probably means that files can be created in the directory, and not that the directory can be written as a file.  Similarly, a DOS file may be found to be \"executable,\" but the B<execve>(2)  call will still fail."
1136 msgstr "アクセスビットのみがチェックされ、ファイルの種類や内容はチェックされない。 従って、ディレクトリが書き込み可能となった場合は、ディレクトリに ファイルを作成することが可能なことを意味するのであり、ディレクトリに ファイルとして書き込むことができるわけではない。 同様に DOS のファイルは「実行可能」と判断されるが、 B<execve>(2)  コールは失敗するだろう。"
1137
1138 #. type: Plain text
1139 #: build/C/man2/access.2:326
1140 msgid "These calls may not work correctly on NFSv2 filesystems with UID mapping enabled, because UID mapping is done on the server and hidden from the client, which checks permissions.  (NFS versions 3 and higher perform the check on the server.)  Similar problems can occur to FUSE mounts."
1141 msgstr "これらのシステムコールは、 UID マッピングを使用した NFSv2 ファイルシステムでは正常に機能しないかもしれない。なぜならば UID のマッピングはサーバーで 行なわれ、権利のチェックをするクライアントには見えないからである。 (NFS バージョン 3 以降ではサーバー側でチェックが実行される。) 同様の問題は FUSE マウントでも起こり得る。"
1142
1143 #. type: SS
1144 #: build/C/man2/access.2:326 build/C/man2/brk.2:140 build/C/man2/chmod.2:338
1145 #: build/C/man2/gethostname.2:140 build/C/man2/uname.2:138
1146 #, no-wrap
1147 msgid "C library/kernel ABI differences"
1148 msgstr "C ライブラリとカーネル ABI の違い"
1149
1150 #. type: Plain text
1151 #: build/C/man2/access.2:339
1152 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."
1153 msgstr "生の B<faccessat>() システムコールは、最初の 3 つの引き数だけを取る。フラグ B<AT_EACCESS> と B<AT_SYMLINK_NOFOLLOW> は実際には B<faccessat>() の glibc のラッパー関数内で実装されている。これらのフラグのいずれかが指定された場合、ラッパー関数は B<fstatat>(2) を使ってアクセス許可の判定を行う。"
1154
1155 #. type: SS
1156 #: build/C/man2/access.2:339 build/C/man2/chmod.2:348 build/C/man2/chown.2:380
1157 #: build/C/man3/crypt.3:189 build/C/man2/mkdir.2:223
1158 #, no-wrap
1159 msgid "Glibc notes"
1160 msgstr "glibc での注意"
1161
1162 #. type: Plain text
1163 #: build/C/man2/access.2:357
1164 msgid "On older kernels where B<faccessat>()  is unavailable (and when the B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are not specified), the glibc wrapper function falls back to the use of B<access>().  When I<pathname> is a relative pathname, glibc constructs a pathname based on the symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
1165 msgstr "B<faccessat>() が利用できない古いカーネルでは、(フラグ B<AT_EACCESS> と B<AT_SYMLINK_NOFOLLOW> が指定されていない場合) glibc ラッパー関数は B<access>() を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
1166
1167 #. type: SH
1168 #: build/C/man2/access.2:357 build/C/man7/environ.7:209
1169 #: build/C/man2/fcntl.2:1818 build/C/man3/fexecve.3:146
1170 #: build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:177
1171 #: build/C/man3/getopt.3:369 build/C/man2/mincore.2:144
1172 #: build/C/man2/pread.2:146 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:329
1173 #: build/C/man2/sysctl.2:135 build/C/man2/truncate.2:253
1174 #: build/C/man2/vfork.2:252 build/C/man2/execveat.2:210
1175 #, no-wrap
1176 msgid "BUGS"
1177 msgstr "バグ"
1178
1179 #.  This behavior appears to have been an implementation accident.
1180 #. type: Plain text
1181 #: build/C/man2/access.2:380
1182 msgid "In kernel 2.4 (and earlier) there is some strangeness in the handling of B<X_OK> tests for superuser.  If all categories of execute permission are disabled for a nondirectory file, then the only B<access>()  test that returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the same way as kernel 2.4."
1183 msgstr "バージョン 2.4 (とそれ以前) のカーネルには、スーパーユーザーでの B<X_OK> のチェックの扱いに奇妙な点がある。 ディレクトリ以外のファイルで (ユーザー、グループ、他人の) 全てのカテゴリについて 実行許可がない場合、 B<access>()  のチェックで -1 が返るのは I<mode> に B<X_OK> だけが指定されたときだけであり I<mode> に B<R_OK> や B<W_OK> が一緒に指定された場合には B<access>()  は 0 を返す。 (バージョン 2.6.3 以前の) 初期の 2.6 系のカーネルも 2.4 系のカーネルと同様の動作をする。"
1184
1185 #. type: Plain text
1186 #: build/C/man2/access.2:390
1187 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"
1188 msgstr "2.6.20 より前のカーネルでは、 これらのシステムコールはファイルが存在するファイルシステムを B<mount>(2) する際に指定された B<MS_NOEXEC> フラグの効果を無視していた。 カーネル 2.6.20 以降では、 B<MS_NOEXEC> フラグは考慮されるようになっている。"
1189
1190 #. type: Plain text
1191 #: build/C/man2/access.2:401
1192 msgid "B<chmod>(2), B<chown>(2), B<open>(2), B<setgid>(2), B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), B<path_resolution>(7), B<symlink>(7)"
1193 msgstr "B<chmod>(2), B<chown>(2), B<open>(2), B<setgid>(2), B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), B<path_resolution>(7), B<symlink>(7)"
1194
1195 #. type: TH
1196 #: build/C/man2/alarm.2:30
1197 #, no-wrap
1198 msgid "ALARM"
1199 msgstr "ALARM"
1200
1201 #. type: TH
1202 #: build/C/man2/alarm.2:30
1203 #, no-wrap
1204 msgid "2014-02-23"
1205 msgstr "2014-02-23"
1206
1207 #. type: Plain text
1208 #: build/C/man2/alarm.2:33
1209 msgid "alarm - set an alarm clock for delivery of a signal"
1210 msgstr "alarm - シグナル配送のためのアラームクロックを設定する"
1211
1212 #. type: Plain text
1213 #: build/C/man2/alarm.2:38
1214 #, no-wrap
1215 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
1216 msgstr "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
1217
1218 #. type: Plain text
1219 #: build/C/man2/alarm.2:46
1220 msgid "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling process in I<seconds> seconds."
1221 msgstr "B<alarm>()  は B<SIGALRM> シグナルを I<seconds> 秒後に呼び出したプロセスに配送するように手配する。"
1222
1223 #. type: Plain text
1224 #: build/C/man2/alarm.2:50
1225 msgid "If I<seconds> is zero, any pending alarm is canceled."
1226 msgstr "I<seconds> がゼロならば、処理待ち (pending) のアラームはすべてキャンセルされる。"
1227
1228 #. type: Plain text
1229 #: build/C/man2/alarm.2:54
1230 msgid "In any event any previously set B<alarm>()  is canceled."
1231 msgstr "今までに設定されていた B<alarm>()  は中断される。"
1232
1233 #. type: Plain text
1234 #: build/C/man2/alarm.2:59
1235 msgid "B<alarm>()  returns the number of seconds remaining until any previously scheduled alarm was due to be delivered, or zero if there was no previously scheduled alarm."
1236 msgstr "B<alarm>()  は以前に予定されていたアラームの配送までの残り時間を返す。以前に アラームが予定されていなければゼロを返す。"
1237
1238 #. type: Plain text
1239 #: build/C/man2/alarm.2:61
1240 msgid "SVr4, POSIX.1-2001, 4.3BSD."
1241 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
1242
1243 #. type: Plain text
1244 #: build/C/man2/alarm.2:67
1245 msgid "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will interfere with use of the other."
1246 msgstr "B<alarm>()  と B<setitimer>(2)  は同じタイマーを共有している; 片方を呼び出すことはもう一方の 使用に影響を与える。"
1247
1248 #. type: Plain text
1249 #: build/C/man2/alarm.2:74
1250 msgid "Alarms created by B<alarm>()  are preserved across B<execve>(2)  and are not inherited by children created via B<fork>(2)."
1251 msgstr "B<alarm>() で作成されたアラームは B<execve>(2) の前後で保持され、 B<fork>(2) で作成された子プロセスには継承されない。"
1252
1253 #. type: Plain text
1254 #: build/C/man2/alarm.2:83
1255 msgid "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  and B<sleep>(3)  is a bad idea."
1256 msgstr "B<sleep>(3)  は B<SIGALRM> を利用して実装されているかもしれない。 B<alarm>()  と B<sleep>(3)  を混ぜて使用してはならない。"
1257
1258 #. type: Plain text
1259 #: build/C/man2/alarm.2:86
1260 msgid "Scheduling delays can, as ever, cause the execution of the process to be delayed by an arbitrary amount of time."
1261 msgstr "スケジューリング(scheduling)の遅延により、プロセスの実行に不定量の 遅延が起きる可能性がある。"
1262
1263 #. type: Plain text
1264 #: build/C/man2/alarm.2:95
1265 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)"
1266 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)"
1267
1268 #. type: TH
1269 #: build/C/man2/brk.2:29
1270 #, no-wrap
1271 msgid "BRK"
1272 msgstr "BRK"
1273
1274 #. type: Plain text
1275 #: build/C/man2/brk.2:32
1276 msgid "brk, sbrk - change data segment size"
1277 msgstr "brk, sbrk - データセグメントのサイズの変更する"
1278
1279 #. type: Plain text
1280 #: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 build/C/man2/chroot.2:38
1281 #: build/C/man3/daemon.3:41 build/C/man3/encrypt.3:37 build/C/man3/exec.3:46
1282 #: build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43
1283 #: build/C/man2/getdomainname.2:34 build/C/man3/getdtablesize.3:32
1284 #: build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37
1285 #: build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:30
1286 #: build/C/man2/idle.2:37 build/C/man3/lockf.3:33 build/C/man2/mincore.2:39
1287 #: build/C/man2/nice.2:36 build/C/man2/pread.2:30 build/C/man2/setup.2:39
1288 #: build/C/man2/swapon.2:47 build/C/man3/tcgetpgrp.3:30
1289 #: build/C/man2/truncate.2:48 build/C/man2/uselib.2:36 build/C/man2/vfork.2:35
1290 #: build/C/man2/vhangup.2:33 build/C/man2/execveat.2:31
1291 msgid "B<#include E<lt>unistd.hE<gt>>"
1292 msgstr "B<#include E<lt>unistd.hE<gt>>"
1293
1294 #. type: Plain text
1295 #: build/C/man2/brk.2:36
1296 msgid "B<int brk(void *>I<addr>B<);>"
1297 msgstr "B<int brk(void *>I<addr>B<);>"
1298
1299 #. type: Plain text
1300 #: build/C/man2/brk.2:38
1301 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
1302 msgstr "B<void *sbrk(intptr_t >I<increment>B<);>"
1303
1304 #. type: Plain text
1305 #: build/C/man2/brk.2:46
1306 msgid "B<brk>(), B<sbrk>():"
1307 msgstr "B<brk>(), B<sbrk>():"
1308
1309 #. type: TP
1310 #: build/C/man2/brk.2:49 build/C/man3/getcwd.3:60
1311 #: build/C/man3/getdtablesize.3:44 build/C/man2/getpagesize.2:42
1312 #: build/C/man3/ualarm.3:43 build/C/man3/usleep.3:52 build/C/man2/vfork.2:47
1313 #, no-wrap
1314 msgid "Since glibc 2.12:"
1315 msgstr "glibc 2.12 以降:"
1316
1317 #. type: Plain text
1318 #: build/C/man2/brk.2:56
1319 #, no-wrap
1320 msgid ""
1321 "_BSD_SOURCE || _SVID_SOURCE ||\n"
1322 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1323 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1324 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1325 msgstr ""
1326 "_BSD_SOURCE || _SVID_SOURCE ||\n"
1327 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1328 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1329 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1330
1331 #. type: Plain text
1332 #: build/C/man2/brk.2:61
1333 msgid "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1334 msgstr "glibc 2.12 より前: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1335
1336 #. type: Plain text
1337 #: build/C/man2/brk.2:76
1338 msgid "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which defines the end of the process's data segment (i.e., the program break is the first location after the end of the uninitialized data segment).  Increasing the program break has the effect of allocating memory to the process; decreasing the break deallocates memory."
1339 msgstr "B<brk>()  と B<sbrk>()  は I<プログラムブレーク (program break)> の場所を変更する。 プログラムブレークはプロセスのデータセグメント (data segment) の 末尾を示す (プログラムブレークは、初期化されていない データセグメントの末尾の直後の場所となる)。 プログラムブレークを増やすということは、そのプロセスへの メモリを割り当てる効果があり、 プログラムブレークを減らすということは、メモリを解放する ということである。"
1340
1341 #. type: Plain text
1342 #: build/C/man2/brk.2:83
1343 msgid "B<brk>()  sets the end of the data segment to the value specified by I<addr>, when that value is reasonable, the system has enough memory, and the process does not exceed its maximum data size (see B<setrlimit>(2))."
1344 msgstr "B<brk>()  は、データセグメントの末尾を I<addr> で指定した値に設定する。 設定が行われるのは、指定した値が有効で、 システムに十分なメモリがあり、 プロセスのデータサイズの最大値を超えていない場合である (B<setrlimit>(2)  を参照)。"
1345
1346 #. type: Plain text
1347 #: build/C/man2/brk.2:93
1348 msgid "B<sbrk>()  increments the program's data space by I<increment> bytes.  Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current location of the program break."
1349 msgstr "B<sbrk>()  は、プログラムのデータ空間を I<increment> バイトだけ増やす。 I<increment> を 0 にして B<sbrk>()  を呼び出すことで、プログラムの現在のブレーク (break) 場所を知ることができる。"
1350
1351 #. type: Plain text
1352 #: build/C/man2/brk.2:101
1353 msgid "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> is set to B<ENOMEM>."
1354 msgstr "成功した場合、 B<brk>()  は 0 を返す。 エラーの場合には、-1 を返し、 I<errno> に B<ENOMEM> を設定する。"
1355
1356 #. type: Plain text
1357 #: build/C/man2/brk.2:113
1358 msgid "On success, B<sbrk>()  returns the previous program break.  (If the break was increased, then this value is a pointer to the start of the newly allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> is set to B<ENOMEM>."
1359 msgstr "成功した場合、 B<sbrk>()  は変更前のプログラムブレークを返す (プログラムブレークが増やされた場合、この値は 新しく割り当てられたメモリの先頭を指すポインタとなる)。 エラーの場合には、 I<(void\\ *)\\ -1> を返し、 I<errno> に B<ENOMEM> を設定する。"
1360
1361 #.  .BR brk ()
1362 #.  and
1363 #.  .BR sbrk ()
1364 #.  are not defined in the C Standard and are deliberately excluded from the
1365 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
1366 #. type: Plain text
1367 #: build/C/man2/brk.2:121
1368 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
1369 msgstr "4.3BSD, SUSv1.  SUSv2 では「過去の名残 (LEGACY)」と位置付けられており、 POSIX.1-2001 で削除された。"
1370
1371 #. type: Plain text
1372 #: build/C/man2/brk.2:130
1373 msgid "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation package is the portable and comfortable way of allocating memory."
1374 msgstr "B<brk>()  や B<sbrk>()  を使用するのは避けること。 B<malloc>(3)  メモリ割り当てパッケージの方が、移植性が高く、 使いやすいメモリ割り当て方法を提供している。"
1375
1376 #.  One sees
1377 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
1378 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
1379 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
1380 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
1381 #.  Tru64 5.1, glibc2.2).
1382 #. type: Plain text
1383 #: build/C/man2/brk.2:140
1384 msgid "Various systems use various types for the argument of B<sbrk>().  Common are I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
1385 msgstr "いろいろなシステムにおいて、 B<sbrk>()  の引き数に様々な型が使われている。 一般的なのは I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t> である。"
1386
1387 #. type: Plain text
1388 #: build/C/man2/brk.2:156
1389 msgid "The return value described above for B<brk>()  is the behavior provided by the glibc wrapper function for the Linux B<brk>()  system call.  (On most other implementations, the return value from B<brk>()  is the same; this return value was also specified in SUSv2.)  However, the actual Linux system call returns the new program break on success.  On failure, the system call returns the current break.  The glibc wrapper function does some work (i.e., checks whether the new break is less than I<addr>)  to provide the 0 and -1 return values described above."
1390 msgstr "上で説明した B<brk>()  の返り値についての動作は、 Linux の B<brk>()  システムコールをラップする glibc の関数によるものである。 (その他の多くの実装でも、 B<brk>()  の返り値はこれと同じである。 この返り値は SUSv2 でも規定されている。)  しかし、実際の Linux システムコールは、成功した場合、 プログラムの新しいブレークを返す。 失敗した場合、このシステムコールは現在のブレークを返す。 glibc ラッパー関数は同様の働きをし (すなわち、新しいブレークが I<addr> より小さいかどうかをチェックし)、 上で説明した 0 と -1 という返り値を返す。"
1391
1392 #. type: Plain text
1393 #: build/C/man2/brk.2:163
1394 msgid "On Linux, B<sbrk>()  is implemented as a library function that uses the B<brk>()  system call, and does some internal bookkeeping so that it can return the old break value."
1395 msgstr "Linux では B<sbrk>()  は B<brk>()  システムコールを使うライブラリ関数として実装されており、 以前のブレークの値を返すことができるように内部で調整が行われている。"
1396
1397 #. type: Plain text
1398 #: build/C/man2/brk.2:168
1399 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
1400 msgstr "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
1401
1402 #. type: TH
1403 #: build/C/man2/chdir.2:33
1404 #, no-wrap
1405 msgid "CHDIR"
1406 msgstr "CHDIR"
1407
1408 #. type: TH
1409 #: build/C/man2/chdir.2:33
1410 #, no-wrap
1411 msgid "2010-11-25"
1412 msgstr "2010-11-25"
1413
1414 #. type: Plain text
1415 #: build/C/man2/chdir.2:36
1416 msgid "chdir, fchdir - change working directory"
1417 msgstr "chdir, fchdir - 作業ディレクトリの変更"
1418
1419 #. type: Plain text
1420 #: build/C/man2/chdir.2:40
1421 msgid "B<int chdir(const char *>I<path>B<);>"
1422 msgstr "B<int chdir(const char *>I<path>B<);>"
1423
1424 #. type: Plain text
1425 #: build/C/man2/chdir.2:42
1426 msgid "B<int fchdir(int >I<fd>B<);>"
1427 msgstr "B<int fchdir(int >I<fd>B<);>"
1428
1429 #. type: Plain text
1430 #: build/C/man2/chdir.2:49
1431 msgid "B<fchdir>():"
1432 msgstr "B<fchdir>():"
1433
1434 #. type: Plain text
1435 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:62 build/C/man2/chown.2:71
1436 #: build/C/man3/gethostid.3:50 build/C/man2/truncate.2:66
1437 #: build/C/man2/truncate.2:74
1438 msgid "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1439 msgstr "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
1440
1441 #. type: Plain text
1442 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:64 build/C/man2/chown.2:73
1443 #: build/C/man2/pread.2:50 build/C/man2/truncate.2:68
1444 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1445 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1446
1447 #. type: Plain text
1448 #: build/C/man2/chdir.2:64
1449 msgid "B<chdir>()  changes the current working directory of the calling process to the directory specified in I<path>."
1450 msgstr "B<chdir>()  は、呼び出し元プロセスの現在の作業ディレクトリ (current working directory) を、 I<path> に指定されたディレクトリに変更する。"
1451
1452 #. type: Plain text
1453 #: build/C/man2/chdir.2:70
1454 msgid "B<fchdir>()  is identical to B<chdir>(); the only difference is that the directory is given as an open file descriptor."
1455 msgstr "B<fchdir>()  は、ディレクトリがオープンされたファイルディスクリプターとして 指定される以外は、 B<chdir>()  と同じである。"
1456
1457 #. type: Plain text
1458 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:236 build/C/man2/chown.2:229
1459 #: build/C/man2/chroot.2:95 build/C/man2/flock.2:117
1460 #: build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94
1461 #: build/C/man2/ioperm.2:84 build/C/man3/lockf.3:121 build/C/man2/swapon.2:116
1462 #: build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:115
1463 #: build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:55
1464 msgid "On success, zero is returned.  On error, -1 is returned, and I<errno> is set appropriately."
1465 msgstr "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
1466
1467 #. type: Plain text
1468 #: build/C/man2/chdir.2:81
1469 msgid "Depending on the filesystem, other errors can be returned.  The more general errors for B<chdir>()  are listed below:"
1470 msgstr "ファイルシステムによっては他のエラーが返される事がある。 B<chdir>()  で一般的なエラーを以下に挙げる:"
1471
1472 #. type: Plain text
1473 #: build/C/man2/chdir.2:87
1474 msgid "Search permission is denied for one of the components of I<path>.  (See also B<path_resolution>(7).)"
1475 msgstr "I<path> の構成要素のいずれかに検索許可 (search permission) がない (B<path_resolution>(7)  も参照すること)。"
1476
1477 #. type: Plain text
1478 #: build/C/man2/chdir.2:91 build/C/man2/chroot.2:109
1479 msgid "I<path> points outside your accessible address space."
1480 msgstr "I<path> がアクセスできるアドレス空間外を指している。"
1481
1482 #. type: Plain text
1483 #: build/C/man2/chdir.2:98 build/C/man2/chroot.2:116
1484 msgid "Too many symbolic links were encountered in resolving I<path>."
1485 msgstr "I<path> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
1486
1487 #. type: Plain text
1488 #: build/C/man2/chdir.2:102 build/C/man2/chroot.2:120
1489 msgid "I<path> is too long."
1490 msgstr "I<path> が長過ぎる。"
1491
1492 #. type: Plain text
1493 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:256
1494 #: build/C/man2/chroot.2:123
1495 msgid "The file does not exist."
1496 msgstr "ファイルが存在しない。"
1497
1498 #. type: Plain text
1499 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
1500 msgid "A component of I<path> is not a directory."
1501 msgstr "I<path> の構成要素がディレクトリではない。"
1502
1503 #. type: Plain text
1504 #: build/C/man2/chdir.2:117
1505 msgid "The general errors for B<fchdir>()  are listed below:"
1506 msgstr "B<fchdir>()  で一般的なエラーを以下に挙げる:"
1507
1508 #. type: Plain text
1509 #: build/C/man2/chdir.2:121
1510 msgid "Search permission was denied on the directory open on I<fd>."
1511 msgstr "I<fd> をディレクトリとしてオープンするための検索許可がない。"
1512
1513 #. type: Plain text
1514 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:91
1515 msgid "I<fd> is not a valid file descriptor."
1516 msgstr "I<fd> が適切なファイルディスクリプターでない。"
1517
1518 #. type: Plain text
1519 #: build/C/man2/chdir.2:127
1520 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1521 msgstr "SVr4, 4.4BSD, POSIX.1-2001."
1522
1523 #. type: Plain text
1524 #: build/C/man2/chdir.2:130
1525 msgid "The current working directory is the starting point for interpreting relative pathnames (those not starting with \\(aq/\\(aq)."
1526 msgstr "現在の作業ディレクトリは、相対パス名 (\\(aq/\\(aq) で始まっていないパス名) を 解釈する際の開始点である。"
1527
1528 #. type: Plain text
1529 #: build/C/man2/chdir.2:136
1530 msgid "A child process created via B<fork>(2)  inherits its parent's current working directory.  The current working directory is left unchanged by B<execve>(2)."
1531 msgstr "B<fork>(2)  で作成された子プロセスは、親プロセスの現在の作業ディレクトリを 継承する。 B<execve>(2)  の前後で、現在の作業ディレクトリは変更されない。"
1532
1533 #. type: Plain text
1534 #: build/C/man2/chdir.2:140
1535 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1536 msgstr "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1537
1538 #. type: TH
1539 #: build/C/man2/chmod.2:32
1540 #, no-wrap
1541 msgid "CHMOD"
1542 msgstr "CHMOD"
1543
1544 #. type: Plain text
1545 #: build/C/man2/chmod.2:35
1546 msgid "chmod, fchmod, fchmodat - change permissions of a file"
1547 msgstr "chmod, fchmod, fchmodat - ファイルのモードを変更する"
1548
1549 #. type: Plain text
1550 #: build/C/man2/chmod.2:38
1551 #, no-wrap
1552 msgid "B<#include E<lt>sys/stat.hE<gt>>\n"
1553 msgstr "B<#include E<lt>sys/stat.hE<gt>>\n"
1554
1555 #. type: Plain text
1556 #: build/C/man2/chmod.2:40
1557 #, no-wrap
1558 msgid "B<int chmod(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
1559 msgstr "B<int chmod(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
1560
1561 #. type: Plain text
1562 #: build/C/man2/chmod.2:42
1563 #, no-wrap
1564 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>\n"
1565 msgstr "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>\n"
1566
1567 #. type: Plain text
1568 #: build/C/man2/chmod.2:45
1569 #, no-wrap
1570 msgid ""
1571 "B<#include E<lt>fcntl.hE<gt>>           /* Definition of AT_* constants */\n"
1572 "B<#include E<lt>sys/stat.hE<gt>>\n"
1573 msgstr ""
1574 "B<#include E<lt>fcntl.hE<gt>>           /* AT_* 定数の定義 */\n"
1575 "B<#include E<lt>sys/stat.hE<gt>>\n"
1576
1577 #. type: Plain text
1578 #: build/C/man2/chmod.2:48
1579 #, no-wrap
1580 msgid "B<int fchmodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t >I<mode>B<, int >I<flags>B<);>\n"
1581 msgstr "B<int fchmodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t >I<mode>B<, int >I<flags>B<);>\n"
1582
1583 #. type: Plain text
1584 #: build/C/man2/chmod.2:58
1585 msgid "B<fchmod>():"
1586 msgstr "B<fchmod>():"
1587
1588 #. type: Plain text
1589 #: build/C/man2/chmod.2:68
1590 msgid "B<fchmodat>():"
1591 msgstr "B<fchmodat>():"
1592
1593 #. type: Plain text
1594 #: build/C/man2/chmod.2:88
1595 msgid "The B<chmod>()  and B<fchmod>()  system calls change the permissions of a file.  They differ only in how the file is specified:"
1596 msgstr "システムコール B<chmod>() と B<fchmod>() は、ファイルのアクセス許可 (permission) を変更する。 システムコール間の違いは、ファイルの指定の仕方だけである。"
1597
1598 #. type: IP
1599 #: build/C/man2/chmod.2:88 build/C/man2/chmod.2:93 build/C/man2/chown.2:96
1600 #: build/C/man2/chown.2:101 build/C/man2/chown.2:105 build/C/man2/chown.2:353
1601 #: build/C/man2/chown.2:358 build/C/man2/chown.2:364 build/C/man2/dup.2:106
1602 #: build/C/man2/dup.2:112 build/C/man2/dup.2:129 build/C/man2/dup.2:138
1603 #: build/C/man2/execve.2:122 build/C/man2/execve.2:126
1604 #: build/C/man2/execve.2:129 build/C/man2/execve.2:132
1605 #: build/C/man2/execve.2:135 build/C/man2/execve.2:138
1606 #: build/C/man2/execve.2:141 build/C/man2/execve.2:144
1607 #: build/C/man2/execve.2:147 build/C/man2/execve.2:150
1608 #: build/C/man2/execve.2:154 build/C/man2/execve.2:158
1609 #: build/C/man2/execve.2:167 build/C/man2/execve.2:174
1610 #: build/C/man2/execve.2:179 build/C/man2/execve.2:186
1611 #: build/C/man2/execve.2:193 build/C/man2/execve.2:200
1612 #: build/C/man2/execve.2:207 build/C/man2/execve.2:211
1613 #: build/C/man2/execve.2:214 build/C/man2/execve.2:222
1614 #: build/C/man2/execve.2:226 build/C/man2/execve.2:231
1615 #: build/C/man2/fcntl.2:452 build/C/man2/fcntl.2:468 build/C/man2/fork.2:52
1616 #: build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62
1617 #: build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74
1618 #: build/C/man2/fork.2:82 build/C/man2/fork.2:87 build/C/man2/fork.2:99
1619 #: build/C/man2/fork.2:106 build/C/man2/fork.2:112 build/C/man2/fork.2:119
1620 #: build/C/man2/fork.2:125 build/C/man2/fork.2:130 build/C/man2/fork.2:138
1621 #: build/C/man2/fork.2:147 build/C/man2/fork.2:161 build/C/man2/fork.2:170
1622 #: build/C/man2/syscalls.2:87 build/C/man2/syscalls.2:90
1623 #: build/C/man2/syscalls.2:96 build/C/man2/syscalls.2:112
1624 #: build/C/man2/syscalls.2:118 build/C/man2/syscalls.2:124
1625 #: build/C/man2/syscalls.2:130 build/C/man2/syscalls.2:137
1626 #: build/C/man2/syscalls.2:703 build/C/man2/syscalls.2:724
1627 #: build/C/man2/syscalls.2:735 build/C/man2/syscalls.2:742
1628 #: build/C/man2/syscalls.2:753 build/C/man2/syscalls.2:765
1629 #: build/C/man2/syscalls.2:786 build/C/man2/syscalls.2:794
1630 #: build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
1631 #, no-wrap
1632 msgid "*"
1633 msgstr "*"
1634
1635 #. type: Plain text
1636 #: build/C/man2/chmod.2:93
1637 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."
1638 msgstr "B<chmod>()  は、 I<pathname> で指定されたパス名を持つファイルの許可を変更する。 I<pathname> がシンボリックリンクの場合は、リンクの展開が行われる。"
1639
1640 #. type: Plain text
1641 #: build/C/man2/chmod.2:97
1642 msgid "B<fchmod>()  changes the permissions of the file referred to by the open file descriptor I<fd>."
1643 msgstr "B<fchmod>()  は、オープンされたファイルディスクリプター I<fd> により参照されるファイルの許可を変更する。"
1644
1645 #. type: Plain text
1646 #: build/C/man2/chmod.2:102
1647 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:"
1648 msgstr "新しいファイル許可は I<mode> で指定される。 I<mode> は、以下に示す値の 0 個以上の OR (論理和) をとって作成される ビットマスクである。"
1649
1650 #. type: TP
1651 #: build/C/man2/chmod.2:102
1652 #, no-wrap
1653 msgid "B<S_ISUID>  (04000)"
1654 msgstr "B<S_ISUID>  (04000)"
1655
1656 #. type: Plain text
1657 #: build/C/man2/chmod.2:106
1658 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1659 msgstr "set-user-ID (B<execve>(2)  時にプロセスの実効ユーザー ID にセットされる)"
1660
1661 #. type: TP
1662 #: build/C/man2/chmod.2:106
1663 #, no-wrap
1664 msgid "B<S_ISGID>  (02000)"
1665 msgstr "B<S_ISGID>  (02000)"
1666
1667 #. type: Plain text
1668 #: build/C/man2/chmod.2:116
1669 msgid "set-group-ID (set process effective group ID on B<execve>(2); mandatory locking, as described in B<fcntl>(2); take a new file's group from parent directory, as described in B<chown>(2)  and B<mkdir>(2))"
1670 msgstr "set-group-ID (以下の場合に (B<execve>(2)  実行時にプロセスの実効グループ ID にセットされる、 強制ロック (mandatory locking) を行う (B<fcntl>(2)  の説明を参照)、 新しいファイルのグループとして親ディレクトリと同じものを使う (B<chown>(2)  と B<(>mkdirB<(2)> の説明を参照)"
1671
1672 #. type: TP
1673 #: build/C/man2/chmod.2:116
1674 #, no-wrap
1675 msgid "B<S_ISVTX>  (01000)"
1676 msgstr "B<S_ISVTX>  (01000)"
1677
1678 #. type: Plain text
1679 #: build/C/man2/chmod.2:120
1680 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1681 msgstr "スティッキービット (sticky bit) (削除制限フラグ、 B<unlink>(2)  の説明を参照)"
1682
1683 #. type: TP
1684 #: build/C/man2/chmod.2:120
1685 #, no-wrap
1686 msgid "B<S_IRUSR>  (00400)"
1687 msgstr "B<S_IRUSR>  (00400)"
1688
1689 #. type: Plain text
1690 #: build/C/man2/chmod.2:123
1691 msgid "read by owner"
1692 msgstr "所有者による読み取り"
1693
1694 #. type: TP
1695 #: build/C/man2/chmod.2:123
1696 #, no-wrap
1697 msgid "B<S_IWUSR>  (00200)"
1698 msgstr "B<S_IWUSR>  (00200)"
1699
1700 #. type: Plain text
1701 #: build/C/man2/chmod.2:126
1702 msgid "write by owner"
1703 msgstr "所有者による書き込み"
1704
1705 #. type: TP
1706 #: build/C/man2/chmod.2:126
1707 #, no-wrap
1708 msgid "B<S_IXUSR>  (00100)"
1709 msgstr "B<S_IXUSR>  (00100)"
1710
1711 #. type: Plain text
1712 #: build/C/man2/chmod.2:130
1713 msgid "execute/search by owner (\"search\" applies for directories, and means that entries within the directory can be accessed)"
1714 msgstr "所有者による実行 (execute) / 検索 (search)  (「検索」はディレクトリに対して適用されるもので、 そのディレクトリ内のエントリーへアクセスできるかを意味する)"
1715
1716 #. type: TP
1717 #: build/C/man2/chmod.2:130
1718 #, no-wrap
1719 msgid "B<S_IRGRP>  (00040)"
1720 msgstr "B<S_IRGRP>  (00040)"
1721
1722 #. type: Plain text
1723 #: build/C/man2/chmod.2:133
1724 msgid "read by group"
1725 msgstr "グループによる読み取り"
1726
1727 #. type: TP
1728 #: build/C/man2/chmod.2:133
1729 #, no-wrap
1730 msgid "B<S_IWGRP>  (00020)"
1731 msgstr "B<S_IWGRP>  (00020)"
1732
1733 #. type: Plain text
1734 #: build/C/man2/chmod.2:136
1735 msgid "write by group"
1736 msgstr "グループによる書き込み"
1737
1738 #. type: TP
1739 #: build/C/man2/chmod.2:136
1740 #, no-wrap
1741 msgid "B<S_IXGRP>  (00010)"
1742 msgstr "B<S_IXGRP>  (00010)"
1743
1744 #. type: Plain text
1745 #: build/C/man2/chmod.2:139
1746 msgid "execute/search by group"
1747 msgstr "グループによる実行 / 検索"
1748
1749 #. type: TP
1750 #: build/C/man2/chmod.2:139
1751 #, no-wrap
1752 msgid "B<S_IROTH>  (00004)"
1753 msgstr "B<S_IROTH>  (00004)"
1754
1755 #. type: Plain text
1756 #: build/C/man2/chmod.2:142
1757 msgid "read by others"
1758 msgstr "他人 (others) による読み取り"
1759
1760 #. type: TP
1761 #: build/C/man2/chmod.2:142
1762 #, no-wrap
1763 msgid "B<S_IWOTH>  (00002)"
1764 msgstr "B<S_IWOTH>  (00002)"
1765
1766 #. type: Plain text
1767 #: build/C/man2/chmod.2:145
1768 msgid "write by others"
1769 msgstr "他人による書き込み"
1770
1771 #. type: TP
1772 #: build/C/man2/chmod.2:145
1773 #, no-wrap
1774 msgid "B<S_IXOTH>  (00001)"
1775 msgstr "B<S_IXOTH>  (00001)"
1776
1777 #. type: Plain text
1778 #: build/C/man2/chmod.2:148
1779 msgid "execute/search by others"
1780 msgstr "他人による実行 / 検索"
1781
1782 #. type: Plain text
1783 #: build/C/man2/chmod.2:153
1784 msgid "The effective UID of the calling process must match the owner of the file, or the process must be privileged (Linux: it must have the B<CAP_FOWNER> capability)."
1785 msgstr "呼び出したプロセスの実効 (effective) UID がファイルの所有者と一致するか、 そのプロセスが特権を持たなければならない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) を持たなければならない)。"
1786
1787 #. type: Plain text
1788 #: build/C/man2/chmod.2:162
1789 msgid "If the calling process is not privileged (Linux: does not have the B<CAP_FSETID> capability), and the group of the file does not match the effective group ID of the process or one of its supplementary group IDs, the B<S_ISGID> bit will be turned off, but this will not cause an error to be returned."
1790 msgstr "呼び出したプロセスに特権がなく (Linux では B<CAP_FSETID> ケーパビリティがなく)、かつファイルのグループ ID が プロセスの実効グループ ID または補助的なグループ ID にマッチしない場合、 B<S_ISGID> ビットはオフにされるが、これによってエラーが返されることはない。"
1791
1792 #. type: Plain text
1793 #: build/C/man2/chmod.2:174
1794 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)."
1795 msgstr "安全のための処置として、 ファイルシステムによっては、ファイルの書き込みを行う時に set-user-ID とset-group-ID ビットと実行ビットが オフにされることがある。 (Linux では、書き込みプロセスが B<CAP_FSETID> ケーパビリティを持っていない場合に、これが起こる。)  ファイルシステムの中には、スーパーユーザーだけが 特別の意味を持つスティッキービットを設定できるものがある。 スティッキービットとディレクトリに対する set-user-ID (set-group-ID) ビットについては、 B<stat>(2)  を見よ。"
1796
1797 #. type: Plain text
1798 #: build/C/man2/chmod.2:182
1799 msgid "On NFS filesystems, restricting the permissions will immediately influence already open files, because the access control is done on the server, but open files are maintained by the client.  Widening the permissions may be delayed for other clients if attribute caching is enabled on them."
1800 msgstr "NFS ファイルシステム上では、パーミッションを制限すると、 既にオープンされているファイルに対してすぐに影響が及ぶ。 これはアクセス制御がサーバー上で行われているが、 オープンされているファイルはクライアント側で管理されているためである。 クライアント側でファイル属性のキャッシュが有効になっている場合に、 パーミッションの制限を緩くすると、 他のクライアントに情報が伝わるのが遅れるかもしれない。"
1801
1802 #. type: SS
1803 #: build/C/man2/chmod.2:182
1804 #, no-wrap
1805 msgid "fchmodat()"
1806 msgstr "fchmodat()"
1807
1808 #. type: Plain text
1809 #: build/C/man2/chmod.2:188
1810 msgid "The B<fchmodat>()  system call operates in exactly the same way as B<chmod>(), except for the differences described here."
1811 msgstr "B<fchmodat>() システムコールは B<chmod>() と全く同様に動作するが、以下で説明する点が異なる。"
1812
1813 #. type: Plain text
1814 #: build/C/man2/chmod.2:198
1815 msgid "If the pathname given in I<pathname> is relative, then it is interpreted relative to the directory referred to by the file descriptor I<dirfd> (rather than relative to the current working directory of the calling process, as is done by B<chmod>()  for a relative pathname)."
1816 msgstr "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<chmod>() に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。"
1817
1818 #. type: Plain text
1819 #: build/C/man2/chmod.2:210
1820 msgid "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current working directory of the calling process (like B<chmod>())."
1821 msgstr "I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 (B<chmod>() と同様に) I<pathname> は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。"
1822
1823 #. type: Plain text
1824 #: build/C/man2/chmod.2:219
1825 msgid "I<flags> can either be 0, or include the following flag:"
1826 msgstr "I<flags> には 0 か、以下のフラグを指定することができる。"
1827
1828 #. type: Plain text
1829 #: build/C/man2/chmod.2:226
1830 msgid "If I<pathname> is a symbolic link, do not dereference it: instead operate on the link itself.  This flag is not currently implemented."
1831 msgstr "I<pathname> がシンボリックリンクの場合、リンクの展開を行わない。代わりに、リンク自身に対して操作を行う。このフラグは現在のところ実装されていない。"
1832
1833 #. type: Plain text
1834 #: build/C/man2/chmod.2:231
1835 msgid "See B<openat>(2)  for an explanation of the need for B<fchmodat>()."
1836 msgstr "B<fchmodat>() の必要性についての説明については B<openat>(2) を参照。"
1837
1838 #. type: Plain text
1839 #: build/C/man2/chmod.2:239 build/C/man2/chown.2:232
1840 msgid "Depending on the filesystem, errors other than those listed below can be returned."
1841 msgstr "ファイルシステムによっては、下記の一覧にない他のエラーが返されることもある。"
1842
1843 #. type: Plain text
1844 #: build/C/man2/chmod.2:243
1845 msgid "The more general errors for B<chmod>()  are listed below:"
1846 msgstr "B<chmod>() のごく一般的なエラーを挙げる:"
1847
1848 #.  Also search permission is required on the final component,
1849 #.  maybe just to guarantee that it is a directory?
1850 #. type: Plain text
1851 #: build/C/man2/chmod.2:248 build/C/man2/chown.2:241 build/C/man2/chroot.2:105
1852 msgid "Search permission is denied on a component of the path prefix.  (See also B<path_resolution>(7).)"
1853 msgstr "パス名の構成要素に検索許可がない (B<path_resolution>(7)  も見よ)。"
1854
1855 #. type: Plain text
1856 #: build/C/man2/chmod.2:272 build/C/man2/chown.2:262
1857 #: build/C/man2/truncate.2:165
1858 msgid "A component of the path prefix is not a directory."
1859 msgstr "パス名の構成要素がディレクトリではない。"
1860
1861 #. type: TP
1862 #: build/C/man2/chmod.2:272 build/C/man2/chmod.2:293 build/C/man2/chown.2:262
1863 #: build/C/man2/chown.2:282 build/C/man2/chroot.2:131 build/C/man3/crypt.3:169
1864 #: build/C/man2/execve.2:451 build/C/man2/execve.2:457
1865 #: build/C/man2/fcntl.2:1625 build/C/man2/fcntl.2:1630
1866 #: build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88
1867 #: build/C/man2/gethostname.2:117 build/C/man2/idle.2:56
1868 #: build/C/man2/ioperm.2:98 build/C/man2/mkdir.2:178 build/C/man2/nice.2:62
1869 #: build/C/man2/setup.2:57 build/C/man2/swapon.2:155
1870 #: build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:165
1871 #: build/C/man2/truncate.2:171 build/C/man2/vhangup.2:56
1872 #, no-wrap
1873 msgid "B<EPERM>"
1874 msgstr "B<EPERM>"
1875
1876 #. type: Plain text
1877 #: build/C/man2/chmod.2:278
1878 msgid "The effective UID does not match the owner of the file, and the process is not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1879 msgstr "実効 UID がファイルの所有者と一致せず、プロセスに特権がない (Linux では B<CAP_FOWNER> ケーパビリティを持たない)。"
1880
1881 #. type: Plain text
1882 #: build/C/man2/chmod.2:281 build/C/man2/chown.2:269
1883 #: build/C/man2/truncate.2:178
1884 msgid "The named file resides on a read-only filesystem."
1885 msgstr "ファイルが読み込み専用 (read only) のファイルシステム上にある。"
1886
1887 #. type: Plain text
1888 #: build/C/man2/chmod.2:285
1889 msgid "The general errors for B<fchmod>()  are listed below:"
1890 msgstr "B<fchmod>()  で一般的なエラーを挙げる:"
1891
1892 #. type: Plain text
1893 #: build/C/man2/chmod.2:290
1894 msgid "The file descriptor I<fd> is not valid."
1895 msgstr "ファイルディスクリプター I<fd> が有効でない。"
1896
1897 #. type: Plain text
1898 #: build/C/man2/chmod.2:293 build/C/man2/chmod.2:296 build/C/man2/chmod.2:299
1899 #: build/C/man2/chown.2:282 build/C/man2/chown.2:285 build/C/man2/chown.2:288
1900 msgid "See above."
1901 msgstr "上記を参照。"
1902
1903 #. type: Plain text
1904 #: build/C/man2/chmod.2:306
1905 msgid "The same errors that occur for B<chmod>()  can also occur for B<fchmodat>().  The following additional errors can occur for B<fchmodat>():"
1906 msgstr "B<chmod>() で発生するのと同じエラーが B<fchmodat>() でも起こる。 B<fchmodat>() では以下のエラーも発生する。"
1907
1908 #. type: TP
1909 #: build/C/man2/chmod.2:320
1910 #, no-wrap
1911 msgid "B<ENOTSUP>"
1912 msgstr "B<ENOTSUP>"
1913
1914 #. type: Plain text
1915 #: build/C/man2/chmod.2:326
1916 msgid "I<flags> specified B<AT_SYMLINK_NOFOLLOW>, which is not supported."
1917 msgstr "I<flags> に対応していないフラグ B<AT_SYMLINK_NOFOLLOW> が指定された。"
1918
1919 #. type: Plain text
1920 #: build/C/man2/chmod.2:330
1921 msgid "B<fchmodat>()  was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4."
1922 msgstr "B<fchmodat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 以降の glibc で利用できる。"
1923
1924 #. type: Plain text
1925 #: build/C/man2/chmod.2:334
1926 msgid "B<chmod>(), B<fchmod>(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008."
1927 msgstr "B<chmod>(), B<fchmod>(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008."
1928
1929 #. type: Plain text
1930 #: build/C/man2/chmod.2:337
1931 msgid "B<fchmodat>(): POSIX.1-2008."
1932 msgstr "B<fchmodat>(): POSIX.1-2008."
1933
1934 #. type: Plain text
1935 #: build/C/man2/chmod.2:348
1936 msgid "The GNU C library B<fchmodat>()  wrapper function implements the POSIX-specified interface described in this page.  This interface differs from the underlying Linux system call, which does I<not> have a I<flags> argument."
1937 msgstr "GNU C ライブラリの B<fchmodat>() ラッパー関数は、このページで説明している POSIX で規定されたインターフェースを実装している。このインターフェースは、内部で呼ばれる Linux のシステムコールとは異なる。システムコールは I<flags> 引き数をI<持たない>。"
1938
1939 #. type: Plain text
1940 #: build/C/man2/chmod.2:361
1941 msgid "On older kernels where B<fchmodat>()  is unavailable, the glibc wrapper function falls back to the use of B<chmod>().  When I<pathname> is a relative pathname, glibc constructs a pathname based on the symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
1942 msgstr "B<fchmodat>() が利用できない古いカーネルでは、 glibc ラッパー関数は B<chmod>() を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
1943
1944 #. type: Plain text
1945 #: build/C/man2/chmod.2:368
1946 msgid "B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<path_resolution>(7), B<symlink>(7)"
1947 msgstr "B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<path_resolution>(7), B<symlink>(7)"
1948
1949 #. type: TH
1950 #: build/C/man2/chown.2:38
1951 #, no-wrap
1952 msgid "CHOWN"
1953 msgstr "CHOWN"
1954
1955 #. type: Plain text
1956 #: build/C/man2/chown.2:41
1957 msgid "chown, fchown, lchown, fchownat - change ownership of a file"
1958 msgstr "chown, fchown, lchown, fchownat - ファイルの所有者を変更する"
1959
1960 #. type: Plain text
1961 #: build/C/man2/chown.2:46
1962 #, no-wrap
1963 msgid "B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1964 msgstr "B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1965
1966 #. type: Plain text
1967 #: build/C/man2/chown.2:48
1968 #, no-wrap
1969 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1970 msgstr "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1971
1972 #. type: Plain text
1973 #: build/C/man2/chown.2:50
1974 #, no-wrap
1975 msgid "B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1976 msgstr "B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1977
1978 #. type: Plain text
1979 #: build/C/man2/chown.2:56
1980 #, no-wrap
1981 msgid ""
1982 "B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
1983 "B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
1984 msgstr ""
1985 "B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
1986 "B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
1987
1988 #. type: Plain text
1989 #: build/C/man2/chown.2:66
1990 msgid "B<fchown>(), B<lchown>():"
1991 msgstr "B<fchown>(), B<lchown>():"
1992
1993 #. type: Plain text
1994 #: build/C/man2/chown.2:76
1995 msgid "B<fchownat>():"
1996 msgstr "B<fchownat>():"
1997
1998 #. type: Plain text
1999 #: build/C/man2/chown.2:96
2000 msgid "These system calls change the owner and group of a file.  The B<chown>(), B<fchown>(), and B<lchown>()  system calls differ only in how the file is specified:"
2001 msgstr "これらのシステムコールは、いずれもファイルの所有者 (owner) とグループを変更する。システムコール B<chown>(), B<fchown>(), B<lchown>() 間の違いは、ファイルの指定の仕方だけである。"
2002
2003 #. type: Plain text
2004 #: build/C/man2/chown.2:101
2005 msgid "B<chown>()  changes the ownership of the file specified by I<pathname>, which is dereferenced if it is a symbolic link."
2006 msgstr "B<chown>()  は I<pathname> で指定されたファイルの所有権を変更する。 I<pathname> がシンボリックリンクの場合は、リンクの展開が行われる。"
2007
2008 #. type: Plain text
2009 #: build/C/man2/chown.2:105
2010 msgid "B<fchown>()  changes the ownership of the file referred to by the open file descriptor I<fd>."
2011 msgstr "B<fchown>()  はオープンされたファイルディスクリプター I<fd> により参照されるファイルの所有権を変更する。"
2012
2013 #. type: Plain text
2014 #: build/C/man2/chown.2:110
2015 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
2016 msgstr "B<lchown>()  は B<chown>()  と同じだが、シンボリックリンクを展開しない点が異なる。"
2017
2018 #. type: Plain text
2019 #: build/C/man2/chown.2:119
2020 msgid "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may change the owner of a file.  The owner of a file may change the group of the file to any group of which that owner is a member.  A privileged process (Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
2021 msgstr "特権を持つプロセス (Linux では B<CAP_CHOWN> ケーパビリティ (capability) を持つプロセス) だけが ファイルの所有者を変更できる。 ファイルの所有者は、その所有者が属しているグループのいずれかに ファイルのグループを変更することができる。 特権 (Linux では B<CAP_CHOWN>)  を持つプロセスは、任意のグループに変更できる。"
2022
2023 #. type: Plain text
2024 #: build/C/man2/chown.2:125
2025 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
2026 msgstr "I<owner> または I<group> に -1 が指定された場合、それらの ID は変更されない。"
2027
2028 #.  In Linux 2.0 kernels, superuser was like everyone else
2029 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
2030 #.  Since 2.2.13, superuser is once more like everyone else.
2031 #. type: Plain text
2032 #: build/C/man2/chown.2:145
2033 msgid "When the owner or group of an executable file are changed by an unprivileged user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not specify whether this also should happen when root does the B<chown>(); the Linux behavior depends on the kernel version.  In case of a non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a B<chown>()."
2034 msgstr "非特権ユーザーにより実行ファイルの所有者またはグループが 変更された場合は B<S_ISUID> と B<ISGID> モードビットはクリアされる。 POSIX はこの動作やルートが B<chown>()  を行なった場合については特に指定されていない。 Linux における動作はカーネルのバージョンに依存する。 非グループ実行ファイル (B<S_IXGRP> ビットが設定されていないファイル) の場合には B<S_ISGID> ビットは強制ロック (mandatory locking) を意味している。 そしてそれは B<chown>()  ではクリアできない。"
2035
2036 #. type: SS
2037 #: build/C/man2/chown.2:145
2038 #, no-wrap
2039 msgid "fchownat()"
2040 msgstr "fchownat()"
2041
2042 #. type: Plain text
2043 #: build/C/man2/chown.2:151
2044 msgid "The B<fchownat>()  system call operates in exactly the same way as B<chown>(), except for the differences described here."
2045 msgstr "B<fchownat>() システムコールは B<chown>() と全く同様に動作するが、以下で説明する点が異なる。"
2046
2047 #. type: Plain text
2048 #: build/C/man2/chown.2:161
2049 msgid "If the pathname given in I<pathname> is relative, then it is interpreted relative to the directory referred to by the file descriptor I<dirfd> (rather than relative to the current working directory of the calling process, as is done by B<chown>()  for a relative pathname)."
2050 msgstr "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<chown>() に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。"
2051
2052 #. type: Plain text
2053 #: build/C/man2/chown.2:173
2054 msgid "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current working directory of the calling process (like B<chown>())."
2055 msgstr "I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 (B<chown>() と同様に) I<pathname> は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。"
2056
2057 #. type: Plain text
2058 #: build/C/man2/chown.2:184
2059 msgid "The I<flags> argument is a bit mask created by ORing together 0 or more of the following values;"
2060 msgstr "I<flags> 引き数は、以下に示す値の 0 個以上の OR (論理和) をとって作成される ビットマスクである。"
2061
2062 #. type: TP
2063 #: build/C/man2/chown.2:184
2064 #, no-wrap
2065 msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
2066 msgstr "B<AT_EMPTY_PATH> (Linux 2.6.39 以降)"
2067
2068 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
2069 #.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
2070 #. type: Plain text
2071 #: build/C/man2/chown.2:207
2072 msgid "If I<pathname> is an empty string, operate on the file referred to by I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> flag).  In this case, I<dirfd> can refer to any type of file, not just a directory.  If I<dirfd> is B<AT_FDCWD>, the call operates on the current working directory.  This flag is Linux-specific; define B<_GNU_SOURCE> to obtain its definition."
2073 msgstr "I<pathname> が空文字列の場合、 I<dirfd> が参照するファイルに対して操作を行う (I<dirfd> は B<open>(2) B<O_PATH> フラグを使って取得することができる)。この場合、 I<dirfd> は、ディレクトリだけでなく、任意のタイプのファイルを参照することができる。 I<dirfd> が B<AT_FDCWD> の場合、この呼び出しはカレントワーキングディレクトリに対して操作を行う。このフラグは Linux 固有であり、その定義を得るには B<_GNU_SOURCE> を定義すること。"
2074
2075 #. type: Plain text
2076 #: build/C/man2/chown.2:219
2077 msgid "If I<pathname> is a symbolic link, do not dereference it: instead operate on the link itself, like B<lchown>().  (By default, B<fchownat>()  dereferences symbolic links, like B<chown>().)"
2078 msgstr "I<pathname> がシンボリックリンクの場合、リンクの展開を行わない。代わりに、B<lchown>() 同様、リンク自身に対して操作を行う。(デフォルトでは B<fchownat>() は B<chown>() と同様にシンボリックリンクの展開を行う。)"
2079
2080 #. type: Plain text
2081 #: build/C/man2/chown.2:224
2082 msgid "See B<openat>(2)  for an explanation of the need for B<fchownat>()."
2083 msgstr "B<fchownat>() の必要性についての説明については B<openat>(2) を参照。"
2084
2085 #. type: Plain text
2086 #: build/C/man2/chown.2:236
2087 msgid "The more general errors for B<chown>()  are listed below."
2088 msgstr "B<chown>()  でごく一般的なエラーを以下に挙げる:"
2089
2090 #. type: Plain text
2091 #: build/C/man2/chown.2:266
2092 msgid "The calling process did not have the required permissions (see above) to change owner and/or group."
2093 msgstr "呼び出したプロセスに所有者またはグループ (もしくはその両方) を変更するために 要求される許可 (上記を参照) がない。"
2094
2095 #. type: Plain text
2096 #: build/C/man2/chown.2:273
2097 msgid "The general errors for B<fchown>()  are listed below:"
2098 msgstr "B<fchown>()  で一般的なエラーを以下に挙げる:"
2099
2100 #. type: Plain text
2101 #: build/C/man2/chown.2:276
2102 msgid "The descriptor is not valid."
2103 msgstr "ディスクリプターが有効でない。"
2104
2105 #. type: Plain text
2106 #: build/C/man2/chown.2:279
2107 msgid "A low-level I/O error occurred while modifying the inode."
2108 msgstr "i ノード (inode) を変更する際に低レベル I/O エラーが発生した。"
2109
2110 #. type: Plain text
2111 #: build/C/man2/chown.2:295
2112 msgid "The same errors that occur for B<chown>()  can also occur for B<fchownat>().  The following additional errors can occur for B<fchownat>():"
2113 msgstr "B<chown>() で発生するのと同じエラーが B<fchownat>() でも起こる。 B<fchownat>() では以下のエラーも発生する。"
2114
2115 #. type: Plain text
2116 #: build/C/man2/chown.2:313
2117 msgid "B<fchownat>()  was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4."
2118 msgstr "B<fchownat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 以降の glibc で利用できる。"
2119
2120 #. type: Plain text
2121 #: build/C/man2/chown.2:318
2122 msgid "B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, POSIX.1-2008."
2123 msgstr "B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, POSIX.1-2008."
2124
2125 #.  chown():
2126 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
2127 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
2128 #.  fchown():
2129 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
2130 #.  error conditions.
2131 #. type: Plain text
2132 #: build/C/man2/chown.2:327
2133 msgid "The 4.4BSD version can be used only by the superuser (that is, ordinary users cannot give away files)."
2134 msgstr "4.4BSD 版ではスーパーユーザーのみが使用できる (つまり、普通のユーザーはファイルを手放すことはできない)。"
2135
2136 #. type: Plain text
2137 #: build/C/man2/chown.2:330
2138 msgid "B<fchownat>(): POSIX.1-2008."
2139 msgstr "B<fchownat>(): POSIX.1-2008."
2140
2141 #. type: SS
2142 #: build/C/man2/chown.2:331
2143 #, no-wrap
2144 msgid "Ownership of new files"
2145 msgstr "新しいファイルの所有権"
2146
2147 #. type: Plain text
2148 #: build/C/man2/chown.2:353
2149 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:"
2150 msgstr "(B<open>(2)  や B<mkdir>(2)  などにより) 新しいファイルが作成されるとき、 その所有者は呼び出したプロセスのファイルシステムユーザー ID と 同じに設定される。 そのファイルのグループはいくつかの要因により決定される。 その要因としては、 ファイルシステムの種類、そのファイルシステムのマウント時に 使用されたオプション、親ディレクトリで set-group-ID 許可ビットが 有効になっているどうか、がある。 ファイルシステムが B<mount>(8)  オプションの I<-o\\ grpid> (I<-o\\ bsdgroups> も同義語) と I<-o\\ nogrpid> (I<-o sysvgroups> も同義語) に対応している場合、ルールは以下の通りとなる。"
2151
2152 #. type: Plain text
2153 #: build/C/man2/chown.2:358
2154 msgid "If the filesystem is mounted with I<-o\\ grpid>, then the group of a new file is made the same as that of the parent directory."
2155 msgstr "ファイルシステムが I<-o\\ grpid> 付きでマウントされている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。"
2156
2157 #. type: Plain text
2158 #: build/C/man2/chown.2:364
2159 msgid "If the filesystem is mounted with I<-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."
2160 msgstr "ファイルシステムが I<-o\\ nogrpid> 付きでマウントされており、親ディレクトリでは set-group-ID ビットが 無効になっている場合、新しいファイルのグループは プロセスのファイルシステム GID と同じになる。"
2161
2162 #. type: Plain text
2163 #: build/C/man2/chown.2:370
2164 msgid "If the filesystem is mounted with I<-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."
2165 msgstr "ファイルシステムが I<-o\\ nogrpid> 付きでマウントされており、親ディレクトリでは set-group-ID ビットが 有効になっている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。"
2166
2167 #. type: Plain text
2168 #: build/C/man2/chown.2:380
2169 msgid "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support these mount options follow the I<-o\\ nogrpid> rules."
2170 msgstr "Linux 2.6.25 では、マウントオプション I<-o\\ grpid> と I<-o\\ nogrpid> に対応しているファイルシステムは ext2, ext3, ext4, XFS である。 これらのマウントオプションに対応していないファイルシステムでは、 I<-o\\ nogrpid> に関するルールが適用される。"
2171
2172 #. type: Plain text
2173 #: build/C/man2/chown.2:395
2174 msgid "On older kernels where B<fchownat>()  is unavailable, the glibc wrapper function falls back to the use of B<chown>()  and B<lchown>().  When I<pathname> is a relative pathname, glibc constructs a pathname based on the symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
2175 msgstr "B<fchownat>() が利用できない古いカーネルでは、 glibc ラッパー関数は B<chown>() を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
2176
2177 #. type: SS
2178 #: build/C/man2/chown.2:395
2179 #, no-wrap
2180 msgid "NFS"
2181 msgstr "NFS"
2182
2183 #. type: Plain text
2184 #: build/C/man2/chown.2:408
2185 msgid "The B<chown>()  semantics are deliberately violated on NFS filesystems which have UID mapping enabled.  Additionally, the semantics of all system calls which access the file contents are violated, because B<chown>()  may cause immediate access revocation on already open files.  Client side caching may lead to a delay between the time where ownership have been changed to allow access for a user and the time where the file can actually be accessed by the user on other clients."
2186 msgstr "B<chown>()  方式は UID マッピングを使用した NFS ファイルシステムを侵害する。 さらにファイルの内容にアクセスする全てのシステムコールを侵害する。 これは B<chown>()  が既にオープンされたファイルに対する アクセスをただちに取り消すことによる。 クライアント側のキャッシュにより所有権が変更されて ユーザーのアクセスが許した時点と、実際に他のクライアントでユーザーによって ファイルにアクセスできる時点との間に時間差があるかもしれない。"
2187
2188 #. type: SS
2189 #: build/C/man2/chown.2:408
2190 #, no-wrap
2191 msgid "Historical details"
2192 msgstr "歴史的な詳細"
2193
2194 #. type: Plain text
2195 #: build/C/man2/chown.2:427
2196 msgid "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions transparently deal with the variations across kernel versions."
2197 msgstr ""
2198 "元々の Linux の B<chown>(), B<fchown>(), B<lchown>() システムコールは、\n"
2199 "16 ビットのユーザー ID とグループ ID だけに対応していた。\n"
2200 "その後、 32 ビットの ID に対応した B<chown32>(), B<fchown32>(), B<lchown32>()\n"
2201 "が Linux 2.4 で追加された。\n"
2202 "B<chown>(), B<fchown>(), and B<lchown>() の glibc のラッパー関数は、\n"
2203 "カーネルのバージョンによる違いを吸収している。"
2204
2205 #. type: Plain text
2206 #: build/C/man2/chown.2:442
2207 msgid "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow symbolic links, and there is a new system call B<lchown>()  that does not follow symbolic links.  Since Linux 2.1.86, this new call (that has the same semantics as the old B<chown>())  has got the same syscall number, and B<chown>()  got the newly introduced number."
2208 msgstr "Linux の 2.1.81 より前のバージョン (特に 2.1.46 以前) では、 B<chown>()  はシンボリックリンクを追跡しない。 Linux 2.1.81 以降では B<chown>()  はシンボリックリンクを追跡し、新たなシステムコール B<lchown>()  はシンボリックリンクを追跡しない。 Linux 2.1.86 以降ではこの新しいコール (古い B<chown>()  と全く同じ動作を行なう) は同じシステムコール番号を持ち B<chown>()  は新しく導入された番号を持つ。"
2209
2210 #. type: Plain text
2211 #: build/C/man2/chown.2:451
2212 msgid "The following program changes the ownership of the file named in its second command-line argument to the value specified in its first command-line argument.  The new owner can be specified either as a numeric user ID, or as a username (which is converted to a user ID by using B<getpwnam>(3)  to perform a lookup in the system password file)."
2213 msgstr "以下のプログラムは、 二つ目のコマンドライン引き数で指定された名前のファイルの所有者を、 一つ目のコマンドライン引き数で指定された値に変更する。 新しい所有者は、数字のユーザー ID かユーザー名のいずれかで指定できる (ユーザー名で指定した場合には、 B<getpwnam>(3)  を使ってシステムのパスワードファイルの検索が行われ、 ユーザー ID への変換が行われる)。"
2214
2215 #. type: SS
2216 #: build/C/man2/chown.2:451
2217 #, no-wrap
2218 msgid "Program source"
2219 msgstr "プログラムのソース"
2220
2221 #. type: Plain text
2222 #: build/C/man2/chown.2:457
2223 #, no-wrap
2224 msgid ""
2225 "#include E<lt>pwd.hE<gt>\n"
2226 "#include E<lt>stdio.hE<gt>\n"
2227 "#include E<lt>stdlib.hE<gt>\n"
2228 "#include E<lt>unistd.hE<gt>\n"
2229 msgstr ""
2230 "#include E<lt>pwd.hE<gt>\n"
2231 "#include E<lt>stdio.hE<gt>\n"
2232 "#include E<lt>stdlib.hE<gt>\n"
2233 "#include E<lt>unistd.hE<gt>\n"
2234
2235 #. type: Plain text
2236 #: build/C/man2/chown.2:464
2237 #, no-wrap
2238 msgid ""
2239 "int\n"
2240 "main(int argc, char *argv[])\n"
2241 "{\n"
2242 "    uid_t uid;\n"
2243 "    struct passwd *pwd;\n"
2244 "    char *endptr;\n"
2245 msgstr ""
2246 "int\n"
2247 "main(int argc, char *argv[])\n"
2248 "{\n"
2249 "    uid_t uid;\n"
2250 "    struct passwd *pwd;\n"
2251 "    char *endptr;\n"
2252
2253 #. type: Plain text
2254 #: build/C/man2/chown.2:469
2255 #, no-wrap
2256 msgid ""
2257 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
2258 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", argv[0]);\n"
2259 "        exit(EXIT_FAILURE);\n"
2260 "    }\n"
2261 msgstr ""
2262 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
2263 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", argv[0]);\n"
2264 "        exit(EXIT_FAILURE);\n"
2265 "    }\n"
2266
2267 #. type: Plain text
2268 #: build/C/man2/chown.2:471
2269 #, no-wrap
2270 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
2271 msgstr "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
2272
2273 #. type: Plain text
2274 #: build/C/man2/chown.2:478
2275 #, no-wrap
2276 msgid ""
2277 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string */\n"
2278 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
2279 "        if (pwd == NULL) {\n"
2280 "            perror(\"getpwnam\");\n"
2281 "            exit(EXIT_FAILURE);\n"
2282 "        }\n"
2283 msgstr ""
2284 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string */\n"
2285 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
2286 "        if (pwd == NULL) {\n"
2287 "            perror(\"getpwnam\");\n"
2288 "            exit(EXIT_FAILURE);\n"
2289 "        }\n"
2290
2291 #. type: Plain text
2292 #: build/C/man2/chown.2:481
2293 #, no-wrap
2294 msgid ""
2295 "        uid = pwd-E<gt>pw_uid;\n"
2296 "    }\n"
2297 msgstr ""
2298 "        uid = pwd-E<gt>pw_uid;\n"
2299 "    }\n"
2300
2301 #. type: Plain text
2302 #: build/C/man2/chown.2:486
2303 #, no-wrap
2304 msgid ""
2305 "    if (chown(argv[2], uid, -1) == -1) {\n"
2306 "        perror(\"chown\");\n"
2307 "        exit(EXIT_FAILURE);\n"
2308 "    }\n"
2309 msgstr ""
2310 "    if (chown(argv[2], uid, -1) == -1) {\n"
2311 "        perror(\"chown\");\n"
2312 "        exit(EXIT_FAILURE);\n"
2313 "    }\n"
2314
2315 #. type: Plain text
2316 #: build/C/man2/chown.2:489 build/C/man2/execve.2:677
2317 #: build/C/man3/getopt.3:430 build/C/man3/getopt.3:515
2318 #, no-wrap
2319 msgid ""
2320 "    exit(EXIT_SUCCESS);\n"
2321 "}\n"
2322 msgstr ""
2323 "    exit(EXIT_SUCCESS);\n"
2324 "}\n"
2325
2326 #. type: Plain text
2327 #: build/C/man2/chown.2:495
2328 msgid "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
2329 msgstr "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
2330
2331 #. type: TH
2332 #: build/C/man2/chroot.2:33
2333 #, no-wrap
2334 msgid "CHROOT"
2335 msgstr "CHROOT"
2336
2337 #. type: TH
2338 #: build/C/man2/chroot.2:33 build/C/man3/gethostid.3:29
2339 #, no-wrap
2340 msgid "2010-09-20"
2341 msgstr "2010-09-20"
2342
2343 #. type: Plain text
2344 #: build/C/man2/chroot.2:36
2345 msgid "chroot - change root directory"
2346 msgstr "chroot - ルートディレクトリを変更する"
2347
2348 #. type: Plain text
2349 #: build/C/man2/chroot.2:40
2350 msgid "B<int chroot(const char *>I<path>B<);>"
2351 msgstr "B<int chroot(const char *>I<path>B<);>"
2352
2353 #. type: Plain text
2354 #: build/C/man2/chroot.2:47
2355 msgid "B<chroot>():"
2356 msgstr "B<chroot>():"
2357
2358 #. type: TP
2359 #: build/C/man2/chroot.2:50
2360 #, no-wrap
2361 msgid "Since glibc 2.2.2:"
2362 msgstr "glibc 2.2.2 以降:"
2363
2364 #. type: Plain text
2365 #: build/C/man2/chroot.2:57
2366 #, no-wrap
2367 msgid ""
2368 "_BSD_SOURCE ||\n"
2369 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2370 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2371 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2372 msgstr ""
2373 "_BSD_SOURCE ||\n"
2374 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2375 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2376 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2377
2378 #. type: Plain text
2379 #: build/C/man2/chroot.2:60
2380 msgid "Before glibc 2.2.2: none"
2381 msgstr "glibc 2.2.2 より前: なし"
2382
2383 #. type: Plain text
2384 #: build/C/man2/chroot.2:69
2385 msgid "B<chroot>()  changes the root directory of the calling process to that specified in I<path>.  This directory will be used for pathnames beginning with I</>.  The root directory is inherited by all children of the calling process."
2386 msgstr "B<chroot>()  は、呼び出し元プロセスのルートディレクトリを I<path> で指定されたディレクトリに変更する。 このディレクトリ以下が I</> から始まるパス名として使われる。 このルートディレクトリは呼び出し元のプロセスの全ての子プロセスに受け継がれる。"
2387
2388 #. type: Plain text
2389 #: build/C/man2/chroot.2:74
2390 msgid "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) may call B<chroot>()."
2391 msgstr "特権プロセス (Linux では、 B<CAP_SYS_CHROOT> ケーパビリティを持つプロセス) のみが B<chroot>()  を呼び出すことができる。"
2392
2393 #. type: Plain text
2394 #: build/C/man2/chroot.2:77
2395 msgid "This call changes an ingredient in the pathname resolution process and does nothing else."
2396 msgstr "このコールはパス名解決の過程で構成要素を変更するのみで、 その他には何も行わない。"
2397
2398 #. type: Plain text
2399 #: build/C/man2/chroot.2:83
2400 msgid "This call does not change the current working directory, so that after the call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In particular, the superuser can escape from a \"chroot jail\" by doing:"
2401 msgstr "このコールは現在の作業ディレクトリ (working directory) を変更しない。 そのため、このコールの後に \\(aqI<.>\\(aq が \\(aqI</>\\(aq を 根とするツリーの外になる場合がある。 特に、スーパーユーザーは以下のようにすることで \"chroot jail\" から逃げ出せてしまう。"
2402
2403 #. type: Plain text
2404 #: build/C/man2/chroot.2:86
2405 #, no-wrap
2406 msgid "    mkdir foo; chroot foo; cd ..\n"
2407 msgstr "    mkdir foo; chroot foo; cd ..\n"
2408
2409 #. type: Plain text
2410 #: build/C/man2/chroot.2:90
2411 msgid "This call does not close open file descriptors, and such file descriptors may allow access to files outside the chroot tree."
2412 msgstr "このコールはオープンファイルディスクリプターをクローズしないので、 このようなファイルディスクリプターは chroot ツリーの外にある ファイルにアクセスできる。"
2413
2414 #. type: Plain text
2415 #: build/C/man2/chroot.2:98
2416 msgid "Depending on the filesystem, other errors can be returned.  The more general errors are listed below:"
2417 msgstr "ファイルシステムによっては他のエラーが返される事がある。 一般的なエラーを以下に挙げる:"
2418
2419 #. type: Plain text
2420 #: build/C/man2/chroot.2:134
2421 msgid "The caller has insufficient privilege."
2422 msgstr "呼び出し側に十分な特権がない。"
2423
2424 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
2425 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
2426 #. type: Plain text
2427 #: build/C/man2/chroot.2:139
2428 msgid "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of POSIX.1-2001."
2429 msgstr "SVr4, 4.4BSD, SUSv2 (但し、SUSv2 では過去の名残とされている)。 この関数は POSIX.1-2001 にはない。"
2430
2431 #. type: Plain text
2432 #: build/C/man2/chroot.2:145
2433 msgid "A child process created via B<fork>(2)  inherits its parent's root directory.  The root directory is left unchanged by B<execve>(2)."
2434 msgstr "B<fork>(2)  で作成された子プロセスは、 親プロセスのルートディレクトリを継承する。 B<execve>(2)  の場合も、ルートディレクトリは変更されない。"
2435
2436 #.  FIXME . eventually say something about containers,
2437 #.  virtual servers, etc.?
2438 #. type: Plain text
2439 #: build/C/man2/chroot.2:151
2440 msgid "FreeBSD has a stronger B<jail>()  system call."
2441 msgstr "FreeBSD にはより強力な B<jail>()  システムコールがある。"
2442
2443 #. type: Plain text
2444 #: build/C/man2/chroot.2:154
2445 msgid "B<chdir>(2), B<path_resolution>(7)"
2446 msgstr "B<chdir>(2), B<path_resolution>(7)"
2447
2448 #. type: TH
2449 #: build/C/man2/close.2:35
2450 #, no-wrap
2451 msgid "CLOSE"
2452 msgstr "CLOSE"
2453
2454 #. type: TH
2455 #: build/C/man2/close.2:35
2456 #, no-wrap
2457 msgid "2013-12-30"
2458 msgstr "2013-12-30"
2459
2460 #. type: Plain text
2461 #: build/C/man2/close.2:38
2462 msgid "close - close a file descriptor"
2463 msgstr "close - ファイルディスクリプターをクローズする"
2464
2465 #. type: Plain text
2466 #: build/C/man2/close.2:43
2467 #, no-wrap
2468 msgid "B<int close(int >I<fd>B<);>\n"
2469 msgstr "B<int close(int >I<fd>B<);>\n"
2470
2471 #. type: Plain text
2472 #: build/C/man2/close.2:53
2473 msgid "B<close>()  closes a file descriptor, so that it no longer refers to any file and may be reused.  Any record locks (see B<fcntl>(2))  held on the file it was associated with, and owned by the process, are removed (regardless of the file descriptor that was used to obtain the lock)."
2474 msgstr "B<close>()  は、ファイルディスクリプターをクローズする。 そのディスクリプターは、どのファイルも参照していない状態になり、 再利用が可能になる。 そのファイルディスクリプターに関連づけられたファイルに かけられたレコードロック (B<fcntl>(2)  参照) のうち、そのプロセスが保有しているものは、 (そのファイルディスクリプターがロック取得に利用されたか どうかによらず) すべて削除される。"
2475
2476 #. type: Plain text
2477 #: build/C/man2/close.2:64
2478 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."
2479 msgstr "I<fd> が、対応するオープンファイル記述 (open file description)  (B<open>(2)  参照) を参照する最後のファイルディスクリプターだった場合、 オープンファイル記述に関連するリソースが解放される。 そのディスクリプターが、 B<unlink> を使用して削除 (remove) されたファイルに対する最後の参照だった場合には、 そのファイルは削除 (delete) される。"
2480
2481 #. type: Plain text
2482 #: build/C/man2/close.2:70
2483 msgid "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> is set appropriately."
2484 msgstr "B<close>()  は成功した場合は 0 を返す。 エラーが発生した場合は -1 を返して、 I<errno> を適切に設定する。"
2485
2486 #. type: Plain text
2487 #: build/C/man2/close.2:75
2488 msgid "I<fd> isn't a valid open file descriptor."
2489 msgstr "I<fd> が有効なオープンされたディスクリプターでない。"
2490
2491 #. type: TP
2492 #: build/C/man2/close.2:75 build/C/man2/dup.2:176 build/C/man2/fcntl.2:1531
2493 #: build/C/man2/fcntl.2:1540 build/C/man2/flock.2:122
2494 #: build/C/man2/truncate.2:134 build/C/man3/ualarm.3:85
2495 #: build/C/man3/usleep.3:83
2496 #, no-wrap
2497 msgid "B<EINTR>"
2498 msgstr "B<EINTR>"
2499
2500 #. type: Plain text
2501 #: build/C/man2/close.2:81
2502 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
2503 msgstr "B<close>()  コールがシグナルにより中断 (interrupt) された。 B<signal>(7)  参照。"
2504
2505 #. type: Plain text
2506 #: build/C/man2/close.2:87 build/C/man2/fork.2:228 build/C/man3/swab.3:79
2507 #: build/C/man2/umask.2:97
2508 msgid "SVr4, 4.3BSD, POSIX.1-2001."
2509 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
2510
2511 #. type: Plain text
2512 #: build/C/man2/close.2:107
2513 msgid "Not checking the return value of B<close>()  is a common but nevertheless serious programming error.  It is quite possible that errors on a previous B<write>(2)  operation are first reported at the final B<close>().  Not checking the return value when closing the file may lead to silent loss of data.  This can especially be observed with NFS and with disk quota.  Note that the return value should only be used for diagnostics.  In particular B<close>()  should not be retried after an B<EINTR> since this may cause a reused descriptor from another thread to be closed."
2514 msgstr "B<close>()  の返り値のチェックはよく省略されるが、 これは深刻なプログラミングエラーである。 前の B<write>(2)  処理に関するエラーが最後の B<close>()  のときになって初めて通知される場合がありうる。 ファイルクローズの際に返り値をチェックしないと、 気付かないうちにデータを失ってしまうかもしれない。 これは特に NFS やディスククォータを使用した場合に見られる。返り値は状態確認用にのみ利用すべき点に注意すること。特に、B<EINTR> 後に B<close>() を再度行うべきではない。なぜなら、これにより、別のスレッドが再利用したディスクリプターをクローズしてしまう可能性があるからだ。"
2515
2516 #. type: Plain text
2517 #: build/C/man2/close.2:116
2518 msgid "A successful close does not guarantee that the data has been successfully saved to disk, as the kernel defers writes.  It is not common for a filesystem to flush the buffers when the stream is closed.  If you need to be sure that the data is physically stored, use B<fsync>(2).  (It will depend on the disk hardware at this point.)"
2519 msgstr "クローズに成功しても、データがディスクに保存されたかどうかは 保証されない (カーネルが書きこみを遅延させることがあるためである)。 ストリームがクローズされるときにバッファーをフラッシュするかどうかは、 ファイルシステムによって異なる。 データが物理的に保存されることを保証する必要がある場合には、 B<fsync>(2)  を使用すること (B<fsync>(3)  を行った時点で、データの保存はディスクのハードウェアに依存する 問題となる)。"
2520
2521 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
2522 #.  From: Fredrik Noring <noring@nocrew.org>
2523 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
2524 #.  in use by a system call is closed and then reused by e.g. an
2525 #.  independent open() in some unrelated thread, before the original system
2526 #.  call has restarted after ERESTARTSYS, the original system call will
2527 #.  later restart with the reused file descriptor. This is most likely a
2528 #.  serious programming error.
2529 #. type: Plain text
2530 #: build/C/man2/close.2:131
2531 msgid "It is probably unwise to close file descriptors while they may be in use by system calls in other threads in the same process.  Since a file descriptor may be reused, there are some obscure race conditions that may cause unintended side effects."
2532 msgstr "同じプロセス内の他のスレッドのシステムコールが使用している可能性がある間に、 ファイルディスクリプターをクローズするのは、おそらく賢明ではないだろう。 ファイルディスクリプターは再利用されるかもしれないので、 あいまいな競合条件となることがあり、意図しない副作用の原因となりうる。"
2533
2534 #. type: Plain text
2535 #: build/C/man2/close.2:138
2536 msgid "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), B<fclose>(3)"
2537 msgstr "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), B<fclose>(3)"
2538
2539 #. type: TH
2540 #: build/C/man3/confstr.3:32
2541 #, no-wrap
2542 msgid "CONFSTR"
2543 msgstr "CONFSTR"
2544
2545 #. type: TH
2546 #: build/C/man3/confstr.3:32
2547 #, no-wrap
2548 msgid "2014-03-20"
2549 msgstr "2014-03-20"
2550
2551 #. type: TH
2552 #: build/C/man3/confstr.3:32 build/C/man3/daemon.3:36 build/C/man3/exec.3:41
2553 #: build/C/man3/fpathconf.3:41 build/C/man3/get_nprocs_conf.3:26
2554 #: build/C/man3/getcwd.3:32 build/C/man3/getlogin.3:28
2555 #: build/C/man3/getopt.3:41 build/C/man3/getumask.3:28
2556 #: build/C/man3/getusershell.3:30 build/C/man3/lockf.3:28
2557 #: build/C/man3/sleep.3:26 build/C/man3/sysconf.3:27
2558 #: build/C/man3/tcgetpgrp.3:25
2559 #, no-wrap
2560 msgid "GNU"
2561 msgstr "GNU"
2562
2563 #. type: Plain text
2564 #: build/C/man3/confstr.3:35
2565 msgid "confstr - get configuration dependent string variables"
2566 msgstr "confstr - コンフィグレーションに依存した文字列変数の取得"
2567
2568 #. type: Plain text
2569 #: build/C/man3/confstr.3:40
2570 #, no-wrap
2571 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2572 msgstr "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2573
2574 #. type: Plain text
2575 #: build/C/man3/confstr.3:49
2576 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
2577 msgstr "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
2578
2579 #. type: Plain text
2580 #: build/C/man3/confstr.3:52
2581 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
2582 msgstr "B<confstr>()  はコンフィグレーションに依存した文字列変数の値を取得する。"
2583
2584 #. type: Plain text
2585 #: build/C/man3/confstr.3:57
2586 msgid "The I<name> argument is the system variable to be queried.  The following variables are supported:"
2587 msgstr "引き数 I<name> は、問い合わせ内容を表すシステム変数である。 以下の変数がサポートされている。"
2588
2589 #. type: TP
2590 #: build/C/man3/confstr.3:57
2591 #, no-wrap
2592 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
2593 msgstr "B<_CS_GNU_LIBC_VERSION> (GNU C library 限定; glibc 2.3.2 以降)"
2594
2595 #. type: Plain text
2596 #: build/C/man3/confstr.3:61
2597 msgid "A string which identifies the GNU C library version on this system (e.g, \"glibc 2.3.4\")."
2598 msgstr "そのシステムの GNU C ライブラリのバージョンを示す文字列 (例えば \"glibc 2.3.4\")。"
2599
2600 #. type: TP
2601 #: build/C/man3/confstr.3:61
2602 #, no-wrap
2603 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
2604 msgstr "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library 限定; glibc 2.3.2 以降)"
2605
2606 #. type: Plain text
2607 #: build/C/man3/confstr.3:65
2608 msgid "A string which identifies the POSIX implementation supplied by this C library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
2609 msgstr "その C ライブラリが提供している POSIX 実装を示す文字列 (例えば \"NPTL 2.3.4\" や \"linuxthreads-0.10\")。"
2610
2611 #. type: TP
2612 #: build/C/man3/confstr.3:65
2613 #, no-wrap
2614 msgid "B<_CS_PATH>"
2615 msgstr "B<_CS_PATH>"
2616
2617 #. type: Plain text
2618 #: build/C/man3/confstr.3:71
2619 msgid "A value for the B<PATH> variable which indicates where all the POSIX.2 standard utilities can be found."
2620 msgstr "すべての POSIX.2 標準ユーティリティが見つかるような B<PATH> の値。"
2621
2622 #. type: Plain text
2623 #: build/C/man3/confstr.3:87
2624 msgid "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing the return value of B<confstr>()  against I<len>."
2625 msgstr ""
2626 "I<buf> が NULL でなく、かつ I<len> が 0 でなければ B<confstr>() は取得\n"
2627 "した文字列の内容を I<buf> にコピーする。必要ならば長さが I<len - 1> \n"
2628 "バイトに切り捨てられて、NULL バイト (\\(aq\\e0\\(aq) で終端される。\n"
2629 "末尾が切り捨てられたかどうかを判定するには、 B<confstr>() の返り値を\n"
2630 "I<len> と比較すればよい。"
2631
2632 #. type: Plain text
2633 #: build/C/man3/confstr.3:95
2634 msgid "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value as defined below."
2635 msgstr "I<len> が 0 で I<buf> が NULL ならば、 B<confstr>()  は以下で定義された値 (訳注: 切り捨てる前の、取得した文字列の長さ) を返す。"
2636
2637 #. type: Plain text
2638 #: build/C/man3/confstr.3:107
2639 msgid "If I<name> is a valid configuration variable, B<confstr>()  returns the number of bytes (including the terminating null byte)  that would be required to hold the entire value of that variable.  This value may be greater than I<len>, which means that the value in I<buf> is truncated."
2640 msgstr "I<name> が有効なコンフィギュレーション変数の場合、 B<confstr>()  はその変数の値全体を保持するのに必要であったバイト数を返す (文字列終端のヌルバイトも含む)。この値は I<len> より大きいこともある。この場合には、 I<buf> に格納された値の末尾が切り詰められたことを意味する。"
2641
2642 #. type: Plain text
2643 #: build/C/man3/confstr.3:122
2644 msgid "If I<name> is a valid configuration variable, but that variable does not have a value, then B<confstr>()  returns 0.  If I<name> does not correspond to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is set to B<EINVAL>."
2645 msgstr "I<name> が有効なコンフィギュレーション変数だが、 変数が値を持っていない場合、 B<confstr>()  は 0 を返す。 I<name> が有効なコンフィグレーション変数に対応していなければ、 B<confstr>()  は 0 を返し、 I<errno> に B<EINVAL> を設定する。"
2646
2647 #. type: Plain text
2648 #: build/C/man3/confstr.3:128
2649 msgid "The value of I<name> is invalid."
2650 msgstr "I<name> の値が不正である。"
2651
2652 #. type: Plain text
2653 #: build/C/man3/confstr.3:130 build/C/man3/fpathconf.3:171
2654 #: build/C/man2/pread.2:117 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:329
2655 #: build/C/man3/tcgetpgrp.3:118
2656 msgid "POSIX.1-2001."
2657 msgstr "POSIX.1-2001."
2658
2659 #. type: Plain text
2660 #: build/C/man3/confstr.3:133
2661 msgid "The following code fragment determines the path where to find the POSIX.2 system utilities:"
2662 msgstr "次の部分的なコードは、 POSIX.2 システムのユーティリティがあるパス を取得するものである。"
2663
2664 #. type: Plain text
2665 #: build/C/man3/confstr.3:139
2666 #, no-wrap
2667 msgid ""
2668 "char *pathbuf;\n"
2669 "size_t n;\n"
2670 msgstr ""
2671 "char *pathbuf;\n"
2672 "size_t n;\n"
2673
2674 #. type: Plain text
2675 #: build/C/man3/confstr.3:145
2676 #, no-wrap
2677 msgid ""
2678 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2679 "pathbuf = malloc(n);\n"
2680 "if (pathbuf == NULL)\n"
2681 "    abort();\n"
2682 "confstr(_CS_PATH, pathbuf, n);\n"
2683 msgstr ""
2684 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2685 "pathbuf = malloc(n);\n"
2686 "if (pathbuf == NULL)\n"
2687 "    abort();\n"
2688 "confstr(_CS_PATH, pathbuf, n);\n"
2689
2690 #. type: Plain text
2691 #: build/C/man3/confstr.3:155
2692 msgid "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3)  B<sysconf>(3)  B<pathconf>(3)  B<system>(3)"
2693 msgstr "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3)  B<sysconf>(3)  B<pathconf>(3)  B<system>(3)"
2694
2695 #. type: TH
2696 #: build/C/man3/crypt.3:36
2697 #, no-wrap
2698 msgid "CRYPT"
2699 msgstr "CRYPT"
2700
2701 #. type: TH
2702 #: build/C/man3/crypt.3:36
2703 #, no-wrap
2704 msgid "2014-02-26"
2705 msgstr "2014-02-26"
2706
2707 #. type: Plain text
2708 #: build/C/man3/crypt.3:39
2709 msgid "crypt, crypt_r - password and data encryption"
2710 msgstr "crypt, crypt_r - パスワードとデータの暗号化"
2711
2712 #. type: Plain text
2713 #: build/C/man3/crypt.3:42
2714 #, no-wrap
2715 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2716 msgstr "B<#define _XOPEN_SOURCE>       /* feature_test_macros(7) 参照 */\n"
2717
2718 #. type: Plain text
2719 #: build/C/man3/crypt.3:46
2720 #, no-wrap
2721 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2722 msgstr "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2723
2724 #. type: Plain text
2725 #: build/C/man3/crypt.3:48
2726 #, no-wrap
2727 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2728 msgstr "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2729
2730 #. type: Plain text
2731 #: build/C/man3/crypt.3:50
2732 #, no-wrap
2733 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2734 msgstr "B<#include E<lt>crypt.hE<gt>>\n"
2735
2736 #. type: Plain text
2737 #: build/C/man3/crypt.3:53
2738 #, no-wrap
2739 msgid ""
2740 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2741 "B<              struct crypt_data *>I<data>B<);>\n"
2742 msgstr ""
2743 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2744 "B<              struct crypt_data *>I<data>B<);>\n"
2745
2746 #. type: Plain text
2747 #: build/C/man3/crypt.3:56
2748 msgid "Link with I<-lcrypt>."
2749 msgstr "I<-lcrypt> でリンクする。"
2750
2751 #. type: Plain text
2752 #: build/C/man3/crypt.3:62
2753 msgid "B<crypt>()  is the password encryption function.  It is based on the Data Encryption Standard algorithm with variations intended (among other things) to discourage use of hardware implementations of a key search."
2754 msgstr "B<crypt>()  はパスワード暗号化関数である。 鍵探索のハードウェアによる実装を妨げるように(その他にもいろいろ)  変更した Data Encryption Standard アルゴリズムを元にしている。"
2755
2756 #. type: Plain text
2757 #: build/C/man3/crypt.3:65
2758 msgid "I<key> is a user's typed password."
2759 msgstr "I<key> はユーザーが入力するパスワードである。"
2760
2761 #. type: Plain text
2762 #: build/C/man3/crypt.3:71
2763 msgid "I<salt> is a two-character string chosen from the set [B<a-zA-Z0-9./>].  This string is used to perturb the algorithm in one of 4096 different ways."
2764 msgstr "I<salt> は集合 [B<a-zA-Z0-9./>] から選ばれた 2 文字の文字列である。 この文字列はアルゴリズムの出力を 4096 通りにかき乱すのに使われる。"
2765
2766 #. type: Plain text
2767 #: build/C/man3/crypt.3:82
2768 msgid "By taking the lowest 7 bits of each of the first eight characters of the I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt repeatedly a constant string (usually a string consisting of all zeros).  The returned value points to the encrypted password, a series of 13 printable ASCII characters (the first two characters represent the salt itself).  The return value points to static data whose content is overwritten by each call."
2769 msgstr "I<key> の最初の 8 文字の各文字から下位 7 ビットをとって 56 ビットの鍵が得られる。 この 56 ビットの鍵は特定の文字列(ふつうはすべて 0 の文字列)  を繰り返し暗号化するのに用いられる。 返り値は暗号化されたパスワードへのポインタで、13 の印字可能な ASCII 文字 からなる(最初の 2 文字は salt そのもの)。 返り値は、関数呼出しのたびに上書きされる静的なデータへのポインタである。"
2770
2771 #. type: Plain text
2772 #: build/C/man3/crypt.3:84
2773 msgid "Warning: The key space consists of"
2774 msgstr "警告: 鍵空間は"
2775
2776 #. type: Plain text
2777 #: build/C/man3/crypt.3:99
2778 msgid "equal 7.2e16 possible values.  Exhaustive searches of this key space are possible using massively parallel computers.  Software, such as B<crack>(1), is available which will search the portion of this key space that is generally used by humans for passwords.  Hence, password selection should, at minimum, avoid common words and names.  The use of a B<passwd>(1)  program that checks for crackable passwords during the selection process is recommended."
2779 msgstr "= 7.2e16 の可能な値から成る。 この鍵空間の全探索は強力な並列計算機を使えば可能である。また B<crack>(1)  のようなソフトウェアはこの鍵空間の中で、多くの人にパスワードとして 使われるような鍵についての全探索が可能である。 それゆえ、パスワードを選択するときには、すくなくとも、 一般的に使われる単語と名前は避けるべきである。 B<passwd>(1)  を使う時にはクラックされうるパスワードについての検査をすることが 推奨される。"
2780
2781 #. type: Plain text
2782 #: build/C/man3/crypt.3:108
2783 msgid "The DES algorithm itself has a few quirks which make the use of the B<crypt>()  interface a very poor choice for anything other than password authentication.  If you are planning on using the B<crypt>()  interface for a cryptography project, don't do it: get a good book on encryption and one of the widely available DES libraries."
2784 msgstr "DES アルゴリズムにはいくつかの癖があり、それによってパスワード認証以外に B<crypt>()  を使うのはたいへんよくない選択となっている。もし B<crypt>()  を暗号プロジェクトに使おうという案をもっているならば、それはやめたほうが よい。暗号化についてのよい本と誰でも入手できる DES ライブラリのひとつを 手にいれるべきだ。"
2785
2786 #. type: Plain text
2787 #: build/C/man3/crypt.3:120
2788 msgid "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed to by I<data> is used to store result data and bookkeeping information.  Other than allocating it, the only thing that the caller should do with this structure is to set I<data-E<gt>initialized> to zero before the first call to B<crypt_r>()."
2789 msgstr "B<crypt_r>()  は B<crypt>()  の再入可能版である。 I<data> で示される構造体は結果データの保存と情報の管理に使われる。 この構造体に対して(メモリを割り当てること以外に)呼び出し元がするべき唯一の ことは、 B<crypt_r>()  の初回の呼び出しの前に I<data-E<gt>initialized> をゼロにすることだけである。"
2790
2791 #. type: Plain text
2792 #: build/C/man3/crypt.3:123
2793 msgid "On success, a pointer to the encrypted password is returned.  On error, NULL is returned."
2794 msgstr "成功の場合には、暗号化されたパスワードへのポインターが返される。 エラーの場合には NULL が返される。"
2795
2796 #. type: Plain text
2797 #: build/C/man3/crypt.3:128
2798 msgid "I<salt> has the wrong format."
2799 msgstr "I<salt> が間違ったフォーマットである。"
2800
2801 #. type: TP
2802 #: build/C/man3/crypt.3:130 build/C/man3/encrypt.3:120
2803 #: build/C/man3/fexecve.3:86 build/C/man2/fork.2:220
2804 #, no-wrap
2805 msgid "B<ENOSYS>"
2806 msgstr "B<ENOSYS>"
2807
2808 #.  This level of detail is not necessary in this man page. . .
2809 #.  .PP
2810 #.  When encrypting a plain text P using DES with the key K results in the
2811 #.  encrypted text C, then the complementary plain text P' being encrypted
2812 #.  using the complementary key K' will result in the complementary encrypted
2813 #.  text C'.
2814 #.  .PP
2815 #.  Weak keys are keys which stay invariant under the DES key transformation.
2816 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2817 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2818 #.  .PP
2819 #.  There are six known half weak key pairs, which keys lead to the same
2820 #.  encrypted data.  Keys which are part of such key clusters should be
2821 #.  avoided.
2822 #.  Sorry, I could not find out what they are.
2823 #. "
2824 #.  .PP
2825 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2826 #.  .I codebook
2827 #.  mode that
2828 #.  .BR crypt ()
2829 #.  implements.  The
2830 #.  .BR crypt ()
2831 #.  interface should be used only for its intended purpose of password
2832 #.  verification, and should not be used as part of a data encryption tool.
2833 #.  .PP
2834 #.  The first and last three output bits of the fourth S-box can be
2835 #.  represented as function of their input bits.  Empiric studies have
2836 #.  shown that S-boxes partially compute the same output for similar input.
2837 #.  It is suspected that this may contain a back door which could allow the
2838 #.  NSA to decrypt DES encrypted data.
2839 #.  .PP
2840 #.  Making encrypted data computed using crypt() publicly available has
2841 #.  to be considered insecure for the given reasons.
2842 #. type: Plain text
2843 #: build/C/man3/crypt.3:169
2844 msgid "The B<crypt>()  function was not implemented, probably because of U.S.A. export restrictions."
2845 msgstr "B<crypt>()  関数が実装されていない。多分アメリカの輸出規制のために。"
2846
2847 #. type: Plain text
2848 #: build/C/man3/crypt.3:174
2849 msgid "I</proc/sys/crypto/fips_enabled> has a nonzero value, and an attempt was made to use a weak encryption type, such as DES."
2850 msgstr "I</proc/sys/crypto/fips_enabled> が 0 でない値で、 DES などの弱い暗号タイプを利用しようとした。"
2851
2852 #. type: SH
2853 #: build/C/man3/crypt.3:174 build/C/man3/daemon.3:91
2854 #: build/C/man3/des_crypt.3:134 build/C/man3/encrypt.3:124
2855 #: build/C/man3/euidaccess.3:73 build/C/man3/getdtablesize.3:69
2856 #: build/C/man3/getlogin.3:140 build/C/man3/getusershell.3:93
2857 #: build/C/man3/lockf.3:154 build/C/man3/swab.3:72
2858 #: build/C/man3/tcgetpgrp.3:109 build/C/man3/ualarm.3:92
2859 #: build/C/man3/usleep.3:91
2860 #, no-wrap
2861 msgid "ATTRIBUTES"
2862 msgstr "属性"
2863
2864 #. type: SS
2865 #: build/C/man3/crypt.3:175 build/C/man3/daemon.3:92
2866 #: build/C/man3/des_crypt.3:135 build/C/man3/encrypt.3:125
2867 #: build/C/man3/euidaccess.3:74 build/C/man3/getdtablesize.3:70
2868 #: build/C/man3/getlogin.3:141 build/C/man3/getusershell.3:94
2869 #: build/C/man3/lockf.3:155 build/C/man3/swab.3:73
2870 #: build/C/man3/tcgetpgrp.3:110 build/C/man3/ualarm.3:93
2871 #: build/C/man3/usleep.3:92
2872 #, no-wrap
2873 msgid "Multithreading (see pthreads(7))"
2874 msgstr "マルチスレッディング (pthreads(7) 参照)"
2875
2876 #. type: Plain text
2877 #: build/C/man3/crypt.3:179
2878 msgid "The B<crypt>()  function is not thread-safe."
2879 msgstr "B<crypt>() 関数はスレッドセーフではない。"
2880
2881 #. type: Plain text
2882 #: build/C/man3/crypt.3:183
2883 msgid "The B<crypt_r>()  function is thread-safe."
2884 msgstr "B<crypt_r>() 関数はスレッドセーフである。"
2885
2886 #. type: Plain text
2887 #: build/C/man3/crypt.3:188
2888 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2889 msgstr "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  は GNU 拡張である。"
2890
2891 #. type: Plain text
2892 #: build/C/man3/crypt.3:192
2893 msgid "The glibc2 version of this function supports additional encryption algorithms."
2894 msgstr "この関数の glibc2 版は追加の暗号化アルゴリズムに対応している。"
2895
2896 #. type: Plain text
2897 #: build/C/man3/crypt.3:197
2898 msgid "If I<salt> is a character string starting with the characters \"$I<id>$\" followed by a string terminated by \"$\":"
2899 msgstr "もし I<salt> の文字列が \"$I<id>$\" で始まっていて、\"$\" で終わっている文字列が 続いている場合:"
2900
2901 #. type: Plain text
2902 #: build/C/man3/crypt.3:200
2903 msgid "$I<id>$I<salt>$I<encrypted>"
2904 msgstr "$I<id>$I<salt>$I<encrypted>"
2905
2906 #. type: Plain text
2907 #: build/C/man3/crypt.3:209
2908 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:"
2909 msgstr "DES を使う代わりに、 I<id> で使用する暗号化手法を識別し、これがパスワード文字列の残りの部分を解釈する 方法を決定する。 I<id> の値として、以下の値に対応している:"
2910
2911 #. type: tbl table
2912 #: build/C/man3/crypt.3:212
2913 #, no-wrap
2914 msgid "ID  | Method\n"
2915 msgstr "ID  | Method\n"
2916
2917 #. type: tbl table
2918 #: build/C/man3/crypt.3:213 build/C/man2/syscall.2:160
2919 #: build/C/man2/syscall.2:198
2920 #, no-wrap
2921 msgid "_\n"
2922 msgstr "_\n"
2923
2924 #. type: tbl table
2925 #: build/C/man3/crypt.3:214
2926 #, no-wrap
2927 msgid "1   | MD5\n"
2928 msgstr "1   | MD5\n"
2929
2930 #. type: tbl table
2931 #: build/C/man3/crypt.3:215
2932 #, no-wrap
2933 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2934 msgstr "2a  | Blowfish (本流の glibc には入っていない;\n"
2935
2936 #. type: tbl table
2937 #: build/C/man3/crypt.3:216
2938 #, no-wrap
2939 msgid "    | Linux distributions)\n"
2940 msgstr "    | いくつかの Linux ディストリビューションで追加されている)\n"
2941
2942 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2943 #.  natively by glibc -- mtk, Jul 08
2944 #.  md5 | Sun MD5
2945 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2946 #.  if any distros add the support.
2947 #. type: tbl table
2948 #: build/C/man3/crypt.3:223
2949 #, no-wrap
2950 msgid "5   | SHA-256 (since glibc 2.7)\n"
2951 msgstr "5   | SHA-256 (glibc 2.7 以降)\n"
2952
2953 #. type: tbl table
2954 #: build/C/man3/crypt.3:224
2955 #, no-wrap
2956 msgid "6   | SHA-512 (since glibc 2.7)\n"
2957 msgstr "6   | SHA-512 (glibc 2.7 以降)\n"
2958
2959 #. type: Plain text
2960 #: build/C/man3/crypt.3:231
2961 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."
2962 msgstr "従って、$5$I<salt>$I<encrypted> は SHA-256 でエンコードされた パスワードであり、$6$I<salt>$I<encrypted> は SHA-512 で エンコードされたパスワードである。"
2963
2964 #. type: Plain text
2965 #: build/C/man3/crypt.3:236
2966 msgid "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the salt.  The encrypted part of the password string is the actual computed password.  The size of this string is fixed:"
2967 msgstr "\"I<salt>\" は salt における \"$I<id>$\" に引き続く 16 文字以下の 文字列である。 パスワード文字列の暗号化部分は実際に計算されたパスワードである。 この文字列のサイズは固定である:"
2968
2969 #. type: tbl table
2970 #: build/C/man3/crypt.3:238
2971 #, no-wrap
2972 msgid "MD5     | 22 characters\n"
2973 msgstr "MD5     | 22 characters\n"
2974
2975 #. type: tbl table
2976 #: build/C/man3/crypt.3:239
2977 #, no-wrap
2978 msgid "SHA-256 | 43 characters\n"
2979 msgstr "SHA-256 | 43 characters\n"
2980
2981 #. type: tbl table
2982 #: build/C/man3/crypt.3:240
2983 #, no-wrap
2984 msgid "SHA-512 | 86 characters\n"
2985 msgstr "SHA-512 | 86 characters\n"
2986
2987 #. type: Plain text
2988 #: build/C/man3/crypt.3:249
2989 msgid "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set [B<a-zA-Z0-9./>].  In the MD5 and SHA implementations the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2990 msgstr "\"I<salt>\" と \"I<encrypted>\" の文字は [B<a-zA-Z0-9./>] の集合から 選ばれる。 MD5 と SHA の実装では、 I<key> 全体が意味がある (DES の場合には最初の 8 文字だけに意味がある)。"
2991
2992 #. type: Plain text
2993 #: build/C/man3/crypt.3:255
2994 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2995 msgstr "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2996
2997 #. type: TH
2998 #: build/C/man3/daemon.3:36
2999 #, no-wrap
3000 msgid "DAEMON"
3001 msgstr "DAEMON"
3002
3003 #. type: TH
3004 #: build/C/man3/daemon.3:36
3005 #, no-wrap
3006 msgid "2013-10-28"
3007 msgstr "2013-10-28"
3008
3009 #. type: Plain text
3010 #: build/C/man3/daemon.3:39
3011 msgid "daemon - run in the background"
3012 msgstr "daemon - バックグラウンドで動作させる"
3013
3014 #. type: Plain text
3015 #: build/C/man3/daemon.3:43
3016 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
3017 msgstr "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
3018
3019 #. type: Plain text
3020 #: build/C/man3/daemon.3:51
3021 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3022 msgstr "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3023
3024 #. type: Plain text
3025 #: build/C/man3/daemon.3:56
3026 msgid "The B<daemon>()  function is for programs wishing to detach themselves from the controlling terminal and run in the background as system daemons."
3027 msgstr "B<daemon>()  は、制御端末から分離させてシステムデーモンとして動作させたい プログラムのための関数である。"
3028
3029 #. type: Plain text
3030 #: build/C/man3/daemon.3:64
3031 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."
3032 msgstr "I<nochdir> が 0 の場合、 B<daemon>()  は呼び出したプロセスの現在の作業ディレクトリ (current working directory)  をルートディレクトリ (\"/\") に変更する。 それ以外の場合、現在の作業ディレクトリは変更されない。"
3033
3034 #. type: Plain text
3035 #: build/C/man3/daemon.3:73
3036 msgid "If I<noclose> is zero, B<daemon>()  redirects standard input, standard output and standard error to I</dev/null>; otherwise, no changes are made to these file descriptors."
3037 msgstr "I<noclose> が 0 の場合、 B<daemon>()  は標準入力・標準出力・標準エラーを I</dev/null> にリダイレクトする。 それ以外の場合、これらのファイルディスクリプターは変更されない。"
3038
3039 #.  not .IR in order not to underline _
3040 #. type: Plain text
3041 #: build/C/man3/daemon.3:91
3042 msgid "(This function forks, and if the B<fork>(2)  succeeds, the parent calls B<_exit>(2), so that further errors are seen by the child only.)  On success B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and sets I<errno> to any of the errors specified for the B<fork>(2)  and B<setsid>(2)."
3043 msgstr "(この関数が fork して B<fork>(2)  が成功すると、親プロセスでは B<_exit>(2)  を呼び出すので、これ以降のエラーは子プロセスからしか見れない)。 成功した場合、 B<daemon>()  は 0 を返す。 エラーが起こった場合、 B<daemon>()  は -1 を返す。 さらに、 I<errno> に B<fork>(2)  と B<setsid>(2)  に関して規定されたエラーを設定する。"
3044
3045 #. type: Plain text
3046 #: build/C/man3/daemon.3:96
3047 msgid "The B<daemon>()  function is thread-safe."
3048 msgstr "B<daemon>() 関数はスレッドセーフである。"
3049
3050 #. type: Plain text
3051 #: build/C/man3/daemon.3:102
3052 msgid "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The B<daemon>()  function first appeared in 4.4BSD."
3053 msgstr "POSIX.1-2001 にはない。 同様の関数が BSD には見られる。 B<daemon>()  関数は 4.4BSD で始めて登場した。"
3054
3055 #. type: Plain text
3056 #: build/C/man3/daemon.3:110
3057 msgid "The glibc implementation can also return -1 when I</dev/null> exists but is not a character device with the expected major and minor numbers.  In this case, I<errno> need not be set."
3058 msgstr "The glibc implementation can also return -1 when I</dev/null> exists but is not a character device with the expected major and minor numbers.  In this case, I<errno> need not be set."
3059
3060 #. type: Plain text
3061 #: build/C/man3/daemon.3:113
3062 msgid "B<fork>(2), B<setsid>(2)"
3063 msgstr "B<fork>(2), B<setsid>(2)"
3064
3065 #. type: TH
3066 #: build/C/man3/des_crypt.3:14
3067 #, no-wrap
3068 msgid "DES_CRYPT"
3069 msgstr "DES_CRYPT"
3070
3071 #. type: Plain text
3072 #: build/C/man3/des_crypt.3:18
3073 msgid "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES encryption"
3074 msgstr "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - 高速な DES 暗号化"
3075
3076 #.  Sun version
3077 #.  .B #include <des_crypt.h>
3078 #. type: Plain text
3079 #: build/C/man3/des_crypt.3:23
3080 #, no-wrap
3081 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
3082 msgstr "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
3083
3084 #. type: Plain text
3085 #: build/C/man3/des_crypt.3:26
3086 #, no-wrap
3087 msgid ""
3088 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned >I<datalen>B<,>\n"
3089 "B<              unsigned >I<mode>B<);>\n"
3090 msgstr ""
3091 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned >I<datalen>B<,>\n"
3092 "B<              unsigned >I<mode>B<);>\n"
3093
3094 #. type: Plain text
3095 #: build/C/man3/des_crypt.3:29
3096 #, no-wrap
3097 msgid ""
3098 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned >I<datalen>B<,>\n"
3099 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
3100 msgstr ""
3101 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned >I<datalen>B<,>\n"
3102 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
3103
3104 #. type: Plain text
3105 #: build/C/man3/des_crypt.3:31
3106 #, no-wrap
3107 msgid "B<void des_setparity(char *>I<key>B<);>\n"
3108 msgstr "B<void des_setparity(char *>I<key>B<);>\n"
3109
3110 #. type: Plain text
3111 #: build/C/man3/des_crypt.3:33
3112 #, no-wrap
3113 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
3114 msgstr "B<int DES_FAILED(int >I<status>B<);>\n"
3115
3116 #. type: Plain text
3117 #: build/C/man3/des_crypt.3:63
3118 msgid "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption Standard).  These routines are faster and more general purpose than B<crypt>(3).  They also are able to utilize DES hardware if it is available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  CBC mode protects against insertions, deletions and substitutions of blocks.  Also, regularities in the clear text will not appear in the cipher text."
3119 msgstr "B<ecb_crypt>()  と B<cbc_crypt>()  は NBS DES (Data Encryption Standard, データ暗号化規格) を実装している。 これらのルーチンは B<crypt>(3)  よりも高速でより一般的な目的に使用できる。 利用可能であれば、これらのルーチンは DES ハードウェアを使用することもできる。 B<ecb_crypt>()  は ECB (Electronic Code Book) モードで暗号化する。 このモードでは (個々の) データのブロックを独立して暗号化する B<cbc_crypt>()  は CBC (Cipher Block Chaining) モードで暗号化する。 このモードでは連続するブロックを互いに連鎖させて暗号化する。 CBC はブロックの挿入・削除・置き換えから保護する。 また平文の規則性が暗号文に現れない。"
3120
3121 #. type: Plain text
3122 #: build/C/man3/des_crypt.3:106
3123 msgid "Here is how to use these routines.  The first argument, I<key>, is the 8-byte encryption key with parity.  To set the key's parity, which for DES is in the low bit of each byte, use B<des_setparity>().  The second argument, I<data>, contains the data to be encrypted or decrypted.  The third argument, I<datalen>, is the length in bytes of I<data>, which must be a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together some things.  For the encryption direction OR in either B<DES_ENCRYPT> or B<DES_DECRYPT>.  For software versus hardware encryption, OR in either B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no hardware, then the encryption is performed in software and the routine returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is the 8-byte initialization vector for the chaining.  It is updated to the next initialization vector upon return."
3124 msgstr "これらのルーチンの使用法を示す。 第 1 引き数 I<key> はパリティ付きの 8 バイトの暗号化鍵である。 鍵のパリティを設定するには B<des_setparity>()  を使うこと。 DES の場合、鍵のパリティは各バイトの最下位ビットである。 第 2 引き数 I<data> は暗号化または復号化されるデータを含む。 第 3 引き数 I<datalen> は I<data> のバイト長であり、8 の倍数でなければならない。 第 4 引き数 I<mode> はいくつかの値を OR することで作成する。 暗号化の方向 (訳註: 暗号化なのか復号化なのか) を指定するため、 B<DES_ENCRYPT> または B<DES_DECRYPT> を OR する。 暗号化をソフトウェアで行うかハードウェアで行うかを指定するため、 B<DES_HW> または B<DES_SW> を OR する。 B<DES_HW> が指定されていて、かつハードウェアがない場合、 暗号化はソフトウェアで実行されて、ルーチンは B<DESERR_NOHWDEVICE> を返す。 B<cbc_crypt>()  において、引き数 I<ivec> はデータブロックを連鎖させる際の 8 バイトの初期化ベクトルである。 この引き数はルーチンから戻るときに次の初期化ベクトルに更新される。"
3125
3126 #. type: TP
3127 #: build/C/man3/des_crypt.3:108
3128 #, no-wrap
3129 msgid "B<DESERR_NONE>"
3130 msgstr "B<DESERR_NONE>"
3131
3132 #. type: Plain text
3133 #: build/C/man3/des_crypt.3:111
3134 msgid "No error."
3135 msgstr "エラーなし。"
3136
3137 #. type: TP
3138 #: build/C/man3/des_crypt.3:111
3139 #, no-wrap
3140 msgid "B<DESERR_NOHWDEVICE>"
3141 msgstr "B<DESERR_NOHWDEVICE>"
3142
3143 #. type: Plain text
3144 #: build/C/man3/des_crypt.3:114
3145 msgid "Encryption succeeded, but done in software instead of the requested hardware."
3146 msgstr "暗号化は成功したが、要求されたハードウェアの代わりにソフトウェアで実行された。"
3147
3148 #. type: TP
3149 #: build/C/man3/des_crypt.3:114
3150 #, no-wrap
3151 msgid "B<DESERR_HWERROR>"
3152 msgstr "B<DESERR_HWERROR>"
3153
3154 #. type: Plain text
3155 #: build/C/man3/des_crypt.3:117
3156 msgid "An error occurred in the hardware or driver."
3157 msgstr "ハードウェアまたはドライバでエラーが発生した。"
3158
3159 #. type: TP
3160 #: build/C/man3/des_crypt.3:117
3161 #, no-wrap
3162 msgid "B<DESERR_BADPARAM>"
3163 msgstr "B<DESERR_BADPARAM>"
3164
3165 #. type: Plain text
3166 #: build/C/man3/des_crypt.3:120
3167 msgid "Bad argument to routine."
3168 msgstr "ルーチンへの引き数が不正である。"
3169
3170 #.  .BR DES_FAILED\c
3171 #.  .BR ( stat )
3172 #.  So far the Sun page
3173 #.  Some additions - aeb
3174 #. type: Plain text
3175 #: build/C/man3/des_crypt.3:131
3176 msgid "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false only for the first two statuses."
3177 msgstr "結果の状態 I<stat> を与えたとき、マクロ B<DES_FAILED(>I<stat>B<)> が false になるのは、最初の 2 つだけである。"
3178
3179 #. type: Plain text
3180 #: build/C/man3/des_crypt.3:134
3181 msgid "These functions are present in glibc 2.1 and later."
3182 msgstr "これらの関数は glibc 2.1 以降に存在する。"
3183
3184 #. type: Plain text
3185 #: build/C/man3/des_crypt.3:142
3186 msgid "The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are thread-safe."
3187 msgstr "関数 B<ecb_crypt>(), B<cbc_crypt>(), B<des_setparity>() はスレッドセーフである。"
3188
3189 #. type: Plain text
3190 #: build/C/man3/des_crypt.3:145
3191 msgid "4.3BSD.  Not in POSIX.1-2001."
3192 msgstr "4.3BSD. POSIX.1-2001 にはない。"
3193
3194 #. type: Plain text
3195 #: build/C/man3/des_crypt.3:149
3196 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
3197 msgstr "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
3198
3199 #. type: TH
3200 #: build/C/man2/dup.2:37
3201 #, no-wrap
3202 msgid "DUP"
3203 msgstr "DUP"
3204
3205 #. type: TH
3206 #: build/C/man2/dup.2:37 build/C/man3/exec.3:41 build/C/man2/execve.2:37
3207 #: build/C/man2/fcntl.2:65 build/C/man3/fexecve.3:25 build/C/man2/syscall.2:42
3208 #: build/C/man2/syscalls.2:31 build/C/man2/truncate.2:43
3209 #: build/C/man2/execveat.2:26
3210 #, no-wrap
3211 msgid "2015-01-22"
3212 msgstr "2015-01-22"
3213
3214 #. type: Plain text
3215 #: build/C/man2/dup.2:40
3216 msgid "dup, dup2, dup3 - duplicate a file descriptor"
3217 msgstr "dup, dup2, dup3 - ファイルディスクリプターを複製する"
3218
3219 #. type: Plain text
3220 #: build/C/man2/dup.2:46
3221 #, no-wrap
3222 msgid ""
3223 "B<int dup(int >I<oldfd>B<);>\n"
3224 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
3225 msgstr ""
3226 "B<int dup(int >I<oldfd>B<);>\n"
3227 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
3228
3229 #. type: Plain text
3230 #: build/C/man2/dup.2:50
3231 #, no-wrap
3232 msgid ""
3233 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3234 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant definitions */\n"
3235 "B<#include E<lt>unistd.hE<gt>>\n"
3236 msgstr ""
3237 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
3238 "B<#include E<lt>fcntl.hE<gt>>              /* 定数 O_* の定義の取得 */\n"
3239 "B<#include E<lt>unistd.hE<gt>>\n"
3240
3241 #. type: Plain text
3242 #: build/C/man2/dup.2:52
3243 #, no-wrap
3244 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
3245 msgstr "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
3246
3247 #. type: Plain text
3248 #: build/C/man2/dup.2:59
3249 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."
3250 msgstr "B<dup>() システムコールは、 ファイルディスクリプター I<oldfd> のコピーを作成し、 最も小さい番号の未使用のディスクリプターを 新しいディスクリプターとして使用する。"
3251
3252 #. type: Plain text
3253 #: build/C/man2/dup.2:68
3254 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."
3255 msgstr "成功が返された場合には、 古いファイルディスクリプターと新しいファイルディスクリプターは 互いに可換なものとして使うことができる。 2つのファイルディスクリプターは同じファイル記述 (description)  (B<open>(2)  参照) を参照しており、したがってファイルオフセットやファイル状態フラグが 共有される。例えば、一方のディスクリプターに対して B<lseek>(2)  を使ってファイルオフセットを変更した場合、もう一方のディスクリプターの オフセットも変化する。"
3256
3257 #. type: Plain text
3258 #: build/C/man2/dup.2:77
3259 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."
3260 msgstr "2つのディスクリプターはファイルディスクリプターフラグ (close-on-exec flag)  を共有しない。複製されたディスクリプターの close-on-exec flag (B<fcntl>(2)  参照) は off となる。"
3261
3262 #. type: SS
3263 #: build/C/man2/dup.2:77
3264 #, no-wrap
3265 msgid "dup2()"
3266 msgstr "dup2()"
3267
3268 #. type: Plain text
3269 #: build/C/man2/dup.2:88
3270 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."
3271 msgstr ""
3272 "B<dup2>() システムコールは B<dup>() と同じ処理を実行するが、\n"
3273 "番号が最も小さい未使用のファイルディスクリプターを使用する代わりに、\n"
3274 "I<newfd> で指定されたディスクリプター番号を使用する。\n"
3275 "ディスクリプター I<newfd> が以前にオープンされていた場合には、\n"
3276 "黙ってそのディスクリプターをクローズしてから再利用する。"
3277
3278 #. type: Plain text
3279 #: build/C/man2/dup.2:104
3280 msgid "The steps of closing and reusing the file descriptor I<newfd> are performed I<atomically>.  This is important, because trying to implement equivalent functionality using B<close>(2)  and B<dup>()  would be subject to race conditions, whereby I<newfd> might be reused between the two steps.  Such reuse could happen because the main program is interrupted by a signal handler that allocates a file descriptor, or because a parallel thread allocates a file descriptor."
3281 msgstr ""
3282 "ファイルディスクリプター I<newfd> をクローズして再利用する処理は\n"
3283 "I<アトミック(不可分)に>実行される。これは重要な点である。 なぜなら、\n"
3284 "等価な機能を B<close>(2) と B<dup>() を使って実装しようとすると、\n"
3285 "2 つの処理の間に I<newfd> が再利用されてしまうという、\n"
3286 "競合状態にさらされることになるからだ。\n"
3287 "このような再利用が起こるのは、\n"
3288 "メインプログラムがファイルディスクリプターを割り当てる\n"
3289 "シグナルハンドラーにより割り込まれたり、並行動作するスレッドが\n"
3290 "ファイルディスクリプターを割り当てたりすることがあるからだ。"
3291
3292 #. type: Plain text
3293 #: build/C/man2/dup.2:106
3294 msgid "Note the following points:"
3295 msgstr "以下の点について注意すること:"
3296
3297 #. type: Plain text
3298 #: build/C/man2/dup.2:112
3299 msgid "If I<oldfd> is not a valid file descriptor, then the call fails, and I<newfd> is not closed."
3300 msgstr "I<oldfd> が有効なファイルディスクリプターでない場合、その呼び出しは失敗し、 I<newfd> はクローズされない。"
3301
3302 #. type: Plain text
3303 #: build/C/man2/dup.2:124
3304 msgid "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
3305 msgstr "I<oldfd> が有効なファイルディスクリプターで、 I<newfd> が I<oldfd> と同じ値の場合、 B<dup2>()  は何もせず、 I<newfd> を返す。"
3306
3307 #. type: SS
3308 #: build/C/man2/dup.2:124
3309 #, no-wrap
3310 msgid "dup3()"
3311 msgstr "dup3()"
3312
3313 #. type: Plain text
3314 #: build/C/man2/dup.2:129
3315 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
3316 msgstr "B<dup3>()  は B<dup2>()  と同じだが、以下の点が異なる。"
3317
3318 #. type: Plain text
3319 #: build/C/man2/dup.2:138
3320 msgid "The caller can force the close-on-exec flag to be set for the new file descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of the same flag in B<open>(2)  for reasons why this may be useful."
3321 msgstr "呼び出し元が、新しいファイルディスクリプターに対して close-on-exec フラグを強制的に設定することができる。 これを行うには、 I<flags> に B<O_CLOEXEC> を指定する。 このフラグが役に立つ理由については、 B<open>(2)  の B<O_CLOEXEC> フラグの説明を参照のこと。"
3322
3323 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3324 #. type: Plain text
3325 #: build/C/man2/dup.2:148
3326 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
3327 msgstr "I<oldfd> が I<newfd> と同じ場合、 B<dup3>()  は B<EINVAL> エラーで失敗する。"
3328
3329 #. type: Plain text
3330 #: build/C/man2/dup.2:154
3331 msgid "On success, these system calls return the new descriptor.  On error, -1 is returned, and I<errno> is set appropriately."
3332 msgstr "成功すると、これらのシステムコールは新しいディスクリプターを返す。 エラーの場合、-1 を返し、 I<errno> を適切に設定する。"
3333
3334 #. type: Plain text
3335 #: build/C/man2/dup.2:159
3336 msgid "I<oldfd> isn't an open file descriptor."
3337 msgstr "I<oldfd> がオープンされたファイルディスクリプターではない。"
3338
3339 #. type: Plain text
3340 #: build/C/man2/dup.2:166
3341 msgid "I<newfd> is out of the allowed range for file descriptors (see the discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
3342 msgstr "I<newfd> がファイルディスクリプターとして許可されている範囲ではない (B<getrlimit>(2) の B<RLIMIT_NOFILE> の議論を参照)。"
3343
3344 #. type: TP
3345 #: build/C/man2/dup.2:166 build/C/man2/fcntl.2:1503 build/C/man2/fcntl.2:1512
3346 #: build/C/man2/swapon.2:117
3347 #, no-wrap
3348 msgid "B<EBUSY>"
3349 msgstr "B<EBUSY>"
3350
3351 #. type: Plain text
3352 #: build/C/man2/dup.2:176
3353 msgid "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race condition with B<open>(2)  and B<dup>()."
3354 msgstr "(Linux のみ)  B<open>(2)  や B<dup>()  との競合状態の場合に、 B<dup2>()  や B<dup3>()  はこのエラーを返すかもしれない。"
3355
3356 #. type: Plain text
3357 #: build/C/man2/dup.2:184
3358 msgid "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see B<signal>(7)."
3359 msgstr "B<dup2>()  や B<dup3>()  の呼び出しがシグナルにより割り込まれた。 B<signal>(7)  参照。"
3360
3361 #. type: Plain text
3362 #: build/C/man2/dup.2:189
3363 msgid "(B<dup3>())  I<flags> contain an invalid value."
3364 msgstr "(B<dup3>())  I<flags> に無効な値が入っている。"
3365
3366 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3367 #. type: Plain text
3368 #: build/C/man2/dup.2:196
3369 msgid "(B<dup3>())  I<oldfd> was equal to I<newfd>."
3370 msgstr "(B<dup3>()) I<oldfd> が I<newfd> と同じであった。"
3371
3372 #. type: TP
3373 #: build/C/man2/dup.2:196 build/C/man2/execve.2:422 build/C/man2/fcntl.2:1607
3374 #: build/C/man3/getlogin.3:105
3375 #, no-wrap
3376 msgid "B<EMFILE>"
3377 msgstr "B<EMFILE>"
3378
3379 #. type: Plain text
3380 #: build/C/man2/dup.2:203
3381 msgid "The process already has the maximum number of file descriptors open and tried to open a new one (see the discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
3382 msgstr "プロセスがすでにオープンできる最大数までファイルディスクリプター を開いていて、さらに新しいものを開こうとした (B<getrlimit>(2) のリソース上限 B<RLIMIT_NOFILE> を参照)。"
3383
3384 #. type: Plain text
3385 #: build/C/man2/dup.2:208
3386 msgid "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available starting with version 2.9."
3387 msgstr "B<dup3>()  はバージョン 2.6.27 で Linux に追加された。 glibc によるサポートはバージョン 2.9 以降で利用できる。"
3388
3389 #. type: Plain text
3390 #: build/C/man2/dup.2:212
3391 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
3392 msgstr "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
3393
3394 #.  SVr4 documents additional
3395 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
3396 #.  The EBUSY return is Linux-specific.
3397 #. type: Plain text
3398 #: build/C/man2/dup.2:218
3399 msgid "B<dup3>()  is Linux-specific."
3400 msgstr "B<dup3>()  は Linux 固有である。"
3401
3402 #. type: Plain text
3403 #: build/C/man2/dup.2:232
3404 msgid "The error returned by B<dup2>()  is different from that returned by B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some systems, B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
3405 msgstr "I<newfd> が範囲を超えた時に返されるエラーは、 B<dup2>()  と B<fcntl(>..., B<F_DUPFD>, ...B<)> では異っている。 B<dup2>()  が B<F_DUPFD> と同じように B<EINVAL> を返すシステムもある。"
3406
3407 #. type: Plain text
3408 #: build/C/man2/dup.2:248
3409 msgid "If I<newfd> was open, any errors that would have been reported at B<close>(2)  time are lost.  If this is of concern, then\\(emunless the program is single-threaded and does not allocate file descriptors in signal handlers\\(emthe correct approach is I<not> to close I<newfd> before calling B<dup2>(), because of the race condition described above.  Instead, code something like the following could be used:"
3410 msgstr ""
3411 "I<newfd> がオープンされていた場合、\n"
3412 "B<close>(2) 時に報告されることになるエラーはすべて失われる。\n"
3413 "これが心配で、シングルスレッドかつシグナルハンドラーで\n"
3414 "ファイルディスクリプターを割り当てるようなプログラムでない場合には、\n"
3415 "正しい方法は B<dup2>() を呼び出す前に\n"
3416 "I<newfd> をクローズ「しない」ことである。\n"
3417 "なぜなら、上で説明した競合状況があるからである。\n"
3418 "代わりに、以下のようなコードが使用できることだろう。"
3419
3420 #. type: Plain text
3421 #: build/C/man2/dup.2:253
3422 #, no-wrap
3423 msgid ""
3424 "    /* Obtain a duplicate of 'newfd' that can subsequently\n"
3425 "       be used to check for close() errors; an EBADF error\n"
3426 "       means that 'newfd' was not open. */\n"
3427 msgstr ""
3428 "    /* あとで close() エラーをチェックするのに使用できる\n"
3429 "       ように 'newfd' の複製を取得する。 EBADF エラーは\n"
3430 "       'newfd' がオープンされていないことを意味する。 */\n"
3431
3432 #. type: Plain text
3433 #: build/C/man2/dup.2:258
3434 #, no-wrap
3435 msgid ""
3436 "    tmpfd = dup(newfd);\n"
3437 "    if (tmpfd == -1 && errno != EBADF) {\n"
3438 "        /* Handle unexpected dup() error */\n"
3439 "    }\n"
3440 msgstr ""
3441 "    tmpfd = dup(newfd);\n"
3442 "    if (tmpfd == -1 && errno != EBADF) {\n"
3443 "        /* 予期しない dup() のエラーを処理する */\n"
3444 "    }\n"
3445
3446 #. type: Plain text
3447 #: build/C/man2/dup.2:260
3448 #, no-wrap
3449 msgid "    /* Atomically duplicate 'oldfd' on 'newfd' */\n"
3450 msgstr "    /* アトミックに 'oldfd' を 'newfd' に複製する */\n"
3451
3452 #. type: Plain text
3453 #: build/C/man2/dup.2:264
3454 #, no-wrap
3455 msgid ""
3456 "    if (dup2(oldfd, newfd) == -1) {\n"
3457 "        /* Handle dup2() error */\n"
3458 "    }\n"
3459 msgstr ""
3460 "    if (dup2(oldfd, newfd) == -1) {\n"
3461 "        /* dup2() のエラーを処理する */\n"
3462 "    }\n"
3463
3464 #. type: Plain text
3465 #: build/C/man2/dup.2:267
3466 #, no-wrap
3467 msgid ""
3468 "    /* Now check for close() errors on the file originally\n"
3469 "       referred to by 'newfd' */\n"
3470 msgstr ""
3471 "    /* ここでもともと 'newfd' で参照されていたファイルの\n"
3472 "       close() エラーをチェックする */\n"
3473
3474 #. type: Plain text
3475 #: build/C/man2/dup.2:273
3476 #, no-wrap
3477 msgid ""
3478 "    if (tmpfd != -1) {\n"
3479 "        if (close(tmpfd) == -1) {\n"
3480 "            /* Handle errors from close */\n"
3481 "        }\n"
3482 "    }\n"
3483 msgstr ""
3484 "    if (tmpfd != -1) {\n"
3485 "        if (close(tmpfd) == -1) {\n"
3486 "            /* close からのエラーを処理する */\n"
3487 "        }\n"
3488 "    }\n"
3489
3490 #. type: Plain text
3491 #: build/C/man2/dup.2:278
3492 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
3493 msgstr "B<close>(2), B<fcntl>(2), B<open>(2)"
3494
3495 #. type: TH
3496 #: build/C/man3/encrypt.3:30
3497 #, no-wrap
3498 msgid "ENCRYPT"
3499 msgstr "ENCRYPT"
3500
3501 #. type: TH
3502 #: build/C/man3/encrypt.3:30
3503 #, no-wrap
3504 msgid "2013-07-22"
3505 msgstr "2013-07-22"
3506
3507 #. type: Plain text
3508 #: build/C/man3/encrypt.3:33
3509 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
3510 msgstr "encrypt, setkey, encrypt_r, setkey_r - 64 ビットのメッセージを暗号化する"
3511
3512 #. type: Plain text
3513 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
3514 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
3515 msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */"
3516
3517 #. type: Plain text
3518 #: build/C/man3/encrypt.3:39
3519 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
3520 msgstr "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
3521
3522 #. type: Plain text
3523 #: build/C/man3/encrypt.3:43
3524 msgid "B<#include E<lt>stdlib.hE<gt>>"
3525 msgstr "B<#include E<lt>stdlib.hE<gt>>"
3526
3527 #. type: Plain text
3528 #: build/C/man3/encrypt.3:45
3529 msgid "B<void setkey(const char *>I<key>B<);>"
3530 msgstr "B<void setkey(const char *>I<key>B<);>"
3531
3532 #. type: Plain text
3533 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
3534 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3535 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
3536
3537 #. type: Plain text
3538 #: build/C/man3/encrypt.3:49
3539 msgid "B<#include E<lt>crypt.hE<gt>>"
3540 msgstr "B<#include E<lt>crypt.hE<gt>>"
3541
3542 #. type: Plain text
3543 #: build/C/man3/encrypt.3:51
3544 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
3545 msgstr "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
3546
3547 #. type: Plain text
3548 #: build/C/man3/encrypt.3:54
3549 msgid "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data *>I<data>B<);>"
3550 msgstr "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data *>I<data>B<);>"
3551
3552 #. type: Plain text
3553 #: build/C/man3/encrypt.3:56
3554 msgid "Each of these requires linking with I<-lcrypt>."
3555 msgstr "これらの関数は I<-lcrypt> でリンクする必要がある。"
3556
3557 #. type: Plain text
3558 #: build/C/man3/encrypt.3:68
3559 msgid "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  function sets the key used by B<encrypt>().  The I<key> argument used here is an array of 64 bytes, each of which has numerical value 1 or 0.  The bytes key[n] where n=8*i-1 are ignored, so that the effective key length is 56 bits."
3560 msgstr "これらの関数は、64 ビットのメッセージの暗号化と復号化を行う。 B<setkey>()  関数は B<encrypt>()  によって使われる暗号鍵を設定する。 ここで使われる引き数 I<key> は 64 バイトの配列であり、各バイトは数値 1 または 0 である。 n=8*i-1 に対するバイト key[n] は無視されるので、 有効な暗号鍵の長さは 56 ビットになる。"
3561
3562 #. type: Plain text
3563 #: build/C/man3/encrypt.3:80
3564 msgid "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> is 0, and decoding if 1 is being passed.  Like the I<key> argument, also I<block> is a bit vector representation of the actual value that is encoded.  The result is returned in that same vector."
3565 msgstr "B<encrypt>()  関数は、 I<edflag> が 0 の場合は暗号化し、1 が渡された場合は復号化するというように、 渡されたバッファーを変更する。 引き数 I<key> と同様に、 I<block> はエンコードされた実際の値を表現するビットの配列である。 結果はこの同じ配列を使って返される。"
3566
3567 #. type: Plain text
3568 #: build/C/man3/encrypt.3:90
3569 msgid "These two functions are not reentrant, that is, the key data is kept in static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the reentrant versions.  They use the following structure to hold the key data:"
3570 msgstr "これら 2 つの関数はリエントラント (reentrant) ではない。 つまり暗号鍵データは静的な領域に保存される。 関数 B<setkey_r>()  と B<encrypt_r>()  はリエントラントなバージョンである。 これらの関数は暗号鍵データを保持するために以下のような構造体を使う。"
3571
3572 #. type: Plain text
3573 #: build/C/man3/encrypt.3:105
3574 #, no-wrap
3575 msgid ""
3576 "struct crypt_data {\n"
3577 "    char     keysched[16 * 8];\n"
3578 "    char     sb0[32768];\n"
3579 "    char     sb1[32768];\n"
3580 "    char     sb2[32768];\n"
3581 "    char     sb3[32768];\n"
3582 "    char     crypt_3_buf[14];\n"
3583 "    char     current_salt[2];\n"
3584 "    long int current_saltbits;\n"
3585 "    int      direction;\n"
3586 "    int      initialized;\n"
3587 "};\n"
3588 msgstr ""
3589 "struct crypt_data {\n"
3590 "    char     keysched[16 * 8];\n"
3591 "    char     sb0[32768];\n"
3592 "    char     sb1[32768];\n"
3593 "    char     sb2[32768];\n"
3594 "    char     sb3[32768];\n"
3595 "    char     crypt_3_buf[14];\n"
3596 "    char     current_salt[2];\n"
3597 "    long int current_saltbits;\n"
3598 "    int      direction;\n"
3599 "    int      initialized;\n"
3600 "};\n"
3601
3602 #. type: Plain text
3603 #: build/C/man3/encrypt.3:113
3604 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
3605 msgstr "B<setkey_r>()  を呼び出す前には、 I<data-E<gt>initialized> を 0 に設定すること。"
3606
3607 #. type: Plain text
3608 #: build/C/man3/encrypt.3:115
3609 msgid "These functions do not return any value."
3610 msgstr "これらの関数は、なにも値を返さない。"
3611
3612 #. type: Plain text
3613 #: build/C/man3/encrypt.3:120
3614 msgid "Set I<errno> to zero before calling the above functions.  On success, it is unchanged."
3615 msgstr "上記の関数を呼び出す前に I<errno> を 0 に設定すること。 成功した場合、この値は変更されない。"
3616
3617 #. type: Plain text
3618 #: build/C/man3/encrypt.3:124
3619 msgid "The function is not provided.  (For example because of former USA export restrictions.)"
3620 msgstr "(例えば以前のアメリカ合衆国輸出規制などにより)  この関数が提供されていない。"
3621
3622 #. type: Plain text
3623 #: build/C/man3/encrypt.3:131
3624 msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
3625 msgstr "関数 B<encrypt>() と B<setkey>() はスレッドセーフではない。"
3626
3627 #. type: Plain text
3628 #: build/C/man3/encrypt.3:137
3629 msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
3630 msgstr "関数 B<encrypt_r>() と B<setkey_r>() はスレッドセーフである。"
3631
3632 #. type: Plain text
3633 #: build/C/man3/encrypt.3:148
3634 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."
3635 msgstr "関数 B<encrypt>()  と B<setkey>()  は SVr4, SUSv2, and POSIX.1-2001 に準拠する。 関数 B<encrypt_r>()  と B<setkey_r>()  は GNU 拡張である。"
3636
3637 #. type: Plain text
3638 #: build/C/man3/encrypt.3:150
3639 msgid "In glibc 2.2, these functions use the DES algorithm."
3640 msgstr "glibc 2.2 では、これらの関数は DES アルゴリズムを使う。"
3641
3642 #. type: Plain text
3643 #: build/C/man3/encrypt.3:157
3644 msgid "You need to link with libcrypt to compile this example with glibc.  To do useful work, the I<key[]> and I<txt[]> arrays must be filled with a useful bit pattern."
3645 msgstr "この例を glibc でコンパイルするには libcrypt とリンクする必要がある。 実際に動作させるためには、配列 I<key[]> と I<txt[]> に有効なビットパターンを指定しなければならない。"
3646
3647 #. type: Plain text
3648 #: build/C/man3/encrypt.3:162
3649 #, no-wrap
3650 msgid ""
3651 "#define _XOPEN_SOURCE\n"
3652 "#include E<lt>unistd.hE<gt>\n"
3653 "#include E<lt>stdlib.hE<gt>\n"
3654 msgstr ""
3655 "#define _XOPEN_SOURCE\n"
3656 "#include E<lt>unistd.hE<gt>\n"
3657 "#include E<lt>stdlib.hE<gt>\n"
3658
3659 #. type: Plain text
3660 #: build/C/man3/encrypt.3:168
3661 #, no-wrap
3662 msgid ""
3663 "int\n"
3664 "main(void)\n"
3665 "{\n"
3666 "    char key[64];      /* bit pattern for key */\n"
3667 "    char txt[64];      /* bit pattern for messages */\n"
3668 msgstr ""
3669 "int\n"
3670 "main(void)\n"
3671 "{\n"
3672 "    char key[64];      /* bit pattern for key */\n"
3673 "    char txt[64];      /* bit pattern for messages */\n"
3674
3675 #. type: Plain text
3676 #: build/C/man3/encrypt.3:173
3677 #, no-wrap
3678 msgid ""
3679 "    setkey(key);\n"
3680 "    encrypt(txt, 0);   /* encode */\n"
3681 "    encrypt(txt, 1);   /* decode */\n"
3682 "}\n"
3683 msgstr ""
3684 "    setkey(key);\n"
3685 "    encrypt(txt, 0);   /* encode */\n"
3686 "    encrypt(txt, 1);   /* decode */\n"
3687 "}\n"
3688
3689 #.  .BR fcrypt (3)
3690 #. type: Plain text
3691 #: build/C/man3/encrypt.3:179
3692 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3693 msgstr "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3)"
3694
3695 #. type: TH
3696 #: build/C/man7/environ.7:34
3697 #, no-wrap
3698 msgid "ENVIRON"
3699 msgstr "ENVIRON"
3700
3701 #. type: Plain text
3702 #: build/C/man7/environ.7:37
3703 msgid "environ - user environment"
3704 msgstr "environ - ユーザー環境"
3705
3706 #. type: Plain text
3707 #: build/C/man7/environ.7:40
3708 #, no-wrap
3709 msgid "B<extern char **>I<environ>B<;>\n"
3710 msgstr "B<extern char **>I<environ>B<;>\n"
3711
3712 #. type: Plain text
3713 #: build/C/man7/environ.7:56
3714 msgid "The variable I<environ> points to an array of pointers to strings called the \"environment\".  The last pointer in this array has the value NULL.  (This variable must be declared in the user program, but is declared in the header file I<E<lt>unistd.hE<gt>> if the B<_GNU_SOURCE> feature test macro is defined.)  This array of strings is made available to the process by the B<exec>(3)  call that started the process."
3715 msgstr "変数 I<environ> は「環境 (environment)」と呼ばれる文字列へのポインタの配列である。 この配列の最後のポインタの値は NULL である。 (この変数はユーザープログラムで宣言しなければならないが、 機能検査マクロ B<_GNU_SOURCE> が定義されていればヘッダーファイル I<E<lt>unistd.hE<gt>> で宣言される)。 この文字列配列は、 プロセスを起動する B<exec>(3)  によって、その起動されたプロセスで利用できるようになる。"
3716
3717 #. type: Plain text
3718 #: build/C/man7/environ.7:61
3719 msgid "By convention the strings in I<environ> have the form \"I<name>B<=>I<value>\".  Common examples are:"
3720 msgstr "通例では、 I<environ> の文字列は \"I<name>B<=>I<value>\" という書式をとる。 よく用いられる例を以下に示す。"
3721
3722 #. type: TP
3723 #: build/C/man7/environ.7:61
3724 #, no-wrap
3725 msgid "B<USER>"
3726 msgstr "B<USER>"
3727
3728 #. type: Plain text
3729 #: build/C/man7/environ.7:64
3730 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3731 msgstr "ユーザーのログイン名 (BSD 起源のプログラムなどによって使用される)。"
3732
3733 #. type: TP
3734 #: build/C/man7/environ.7:64
3735 #, no-wrap
3736 msgid "B<LOGNAME>"
3737 msgstr "B<LOGNAME>"
3738
3739 #. type: Plain text
3740 #: build/C/man7/environ.7:67
3741 msgid "The name of the logged-in user (used by some System-V derived programs)."
3742 msgstr "ユーザーのログイン名(System V 起源のプログラムなどによって使用される)。"
3743
3744 #. type: TP
3745 #: build/C/man7/environ.7:67
3746 #, no-wrap
3747 msgid "B<HOME>"
3748 msgstr "B<HOME>"
3749
3750 #. type: Plain text
3751 #: build/C/man7/environ.7:73
3752 msgid "A user's login directory, set by B<login>(1)  from the password file B<passwd>(5)."
3753 msgstr "ユーザーのログインディレクトリ。 B<login>(1)  がパスワードファイル B<passwd>(5)  から取得して設定する。"
3754
3755 #. type: TP
3756 #: build/C/man7/environ.7:73
3757 #, no-wrap
3758 msgid "B<LANG>"
3759 msgstr "B<LANG>"
3760
3761 #. type: Plain text
3762 #: build/C/man7/environ.7:91
3763 msgid "The name of a locale to use for locale categories when not overridden by B<LC_ALL> or more specific environment variables such as B<LC_COLLATE>, B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, and B<LC_TIME> (see B<locale>(7)  for further details of the B<LC_*> environment variables)."
3764 msgstr "ロケールの各カテゴリで使用されるロケールの名前。B<LC_ALL> や、 より狭い範囲を対象とする環境変数 (B<LC_COLLATE>, B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME> など)  によって上書きされることもある (B<LC_*> 環境変数のさらなる詳細は B<locale>(7) 参照)。"
3765
3766 #. type: TP
3767 #: build/C/man7/environ.7:91
3768 #, no-wrap
3769 msgid "B<PATH>"
3770 msgstr "B<PATH>"
3771
3772 #. type: Plain text
3773 #: build/C/man7/environ.7:106
3774 msgid "The sequence of directory prefixes that B<sh>(1)  and many other programs apply in searching for a file known by an incomplete pathname.  The prefixes are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some shells to find the target of a change directory command, B<MANPATH> used by B<man>(1)  to find manual pages, and so on)"
3775 msgstr "B<sh>(1)  や他のプログラムが、フルパスで与えられなかった実行ファイルを検索するとき、 ファイル名に前置されるディレクトリの配列。 各ディレクトリは \\(aqB<:>\\(aq によって区切られる。 (同じようなものに、 シェルがディレクトリ変更コマンドの変更先を探すために用いる B<CDPATH> や、 B<man>(1)  がマニュアルページの検索に用いる B<MANPATH> などがある。)"
3776
3777 #. type: TP
3778 #: build/C/man7/environ.7:106
3779 #, no-wrap
3780 msgid "B<PWD>"
3781 msgstr "B<PWD>"
3782
3783 #. type: Plain text
3784 #: build/C/man7/environ.7:110
3785 msgid "The current working directory.  Set by some shells."
3786 msgstr "現在のワーキングディレクトリ。いくつかのシェルが設定する。"
3787
3788 #. type: TP
3789 #: build/C/man7/environ.7:110
3790 #, no-wrap
3791 msgid "B<SHELL>"
3792 msgstr "B<SHELL>"
3793
3794 #. type: Plain text
3795 #: build/C/man7/environ.7:113
3796 msgid "The pathname of the user's login shell."
3797 msgstr "ユーザーのログインシェルのパス名。"
3798
3799 #. type: TP
3800 #: build/C/man7/environ.7:113
3801 #, no-wrap
3802 msgid "B<TERM>"
3803 msgstr "B<TERM>"
3804
3805 #. type: Plain text
3806 #: build/C/man7/environ.7:116
3807 msgid "The terminal type for which output is to be prepared."
3808 msgstr "端末の種類。出力はこれにあわせて用意される。"
3809
3810 #. type: TP
3811 #: build/C/man7/environ.7:116
3812 #, no-wrap
3813 msgid "B<PAGER>"
3814 msgstr "B<PAGER>"
3815
3816 #. type: Plain text
3817 #: build/C/man7/environ.7:119
3818 msgid "The user's preferred utility to display text files."
3819 msgstr "テキストファイルを表示するユーテリティ。ユーザーが好みのものを設定する。"
3820
3821 #. type: TP
3822 #: build/C/man7/environ.7:119
3823 #, no-wrap
3824 msgid "B<EDITOR>/B<VISUAL>"
3825 msgstr "B<EDITOR>/B<VISUAL>"
3826
3827 #.  .TP
3828 #.  .B BROWSER
3829 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3830 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3831 #. type: Plain text
3832 #: build/C/man7/environ.7:126
3833 msgid "The user's preferred utility to edit text files."
3834 msgstr "テキストファイルを編集するユーテリティ。ユーザーが好みのものを設定する。"
3835
3836 #. type: Plain text
3837 #: build/C/man7/environ.7:144
3838 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)."
3839 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)  などの関数を用いて環境を扱うことができる。"
3840
3841 #. type: Plain text
3842 #: build/C/man7/environ.7:148
3843 msgid "Note that the behavior of many programs and library routines is influenced by the presence or value of certain environment variables.  A random collection:"
3844 msgstr "プログラムやライブラリルーチンの多くは、それぞれ適当な環境変数の存在 や値によって、動作に影響を受けることがある。以下、適宜挙げてみよう。"
3845
3846 #. type: Plain text
3847 #: build/C/man7/environ.7:157
3848 msgid "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, B<LC_MESSAGES>, and so on influence locale handling; see B<catopen>(3), B<gettext>(3), and B<locale>(7)."
3849 msgstr "B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, B<LC_MESSAGES>, などの変数は、ロケールの扱いに影響する。 B<catopen>(3), B<gettext>(3), B<locale>(5) を参照。"
3850
3851 #. type: Plain text
3852 #: build/C/man7/environ.7:164
3853 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."
3854 msgstr "B<TMPDIR> は、 B<tmpnam>(3) などのルーチンによって作成されるファイル名や B<sort>(1) や他のプログラムが使用する一時ディレクトリに前置されるパスに影響する。"
3855
3856 #. type: Plain text
3857 #: build/C/man7/environ.7:168
3858 msgid "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the behavior of the dynamic loader/linker."
3859 msgstr "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> などの LD_* 変数はダイナミックローダリンカの動作に影響する。"
3860
3861 #. type: Plain text
3862 #: build/C/man7/environ.7:172
3863 msgid "B<POSIXLY_CORRECT> makes certain programs and library routines follow the prescriptions of POSIX."
3864 msgstr "B<POSIXLY_CORRECT> が指定されると、ある種のプログラムやライブラリルーチンは POSIX の規定に従うようになる。"
3865
3866 #. type: Plain text
3867 #: build/C/man7/environ.7:178
3868 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3869 msgstr "B<malloc>(3)  の動作は B<MALLOC_*> 変数によって影響される。"
3870
3871 #. type: Plain text
3872 #: build/C/man7/environ.7:184
3873 msgid "The variable B<HOSTALIASES> gives the name of a file containing aliases to be used with B<gethostbyname>(3)."
3874 msgstr "B<HOSTALIAS> 変数は、 B<gethostbyname>(3)  が用いるエイリアスが書かれているファイル名を与える。"
3875
3876 #. type: Plain text
3877 #: build/C/man7/environ.7:195
3878 msgid "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), B<strftime>(3).  See also B<tzselect>(8)."
3879 msgstr "B<TZ> と B<TZDIR> は B<tzset>(3)  および、この関数を使う B<ctime>(3), B<localtime>(3), B<mktime>(3), B<strftime>(3)  といった関数で用いられるタイムゾーンの情報を与える。 B<tzselect>(8)  も参照のこと。"
3880
3881 #. type: Plain text
3882 #: build/C/man7/environ.7:199
3883 msgid "B<TERMCAP> gives information on how to address a given terminal (or gives the name of a file containing such information)."
3884 msgstr "B<TERMCAP> は、現在の端末情報の取得先 (あるいはそのような情報が書かれているファイル名) を与える。"
3885
3886 #. type: Plain text
3887 #: build/C/man7/environ.7:202
3888 msgid "B<COLUMNS> and B<LINES> tell applications about the window size, possibly overriding the actual size."
3889 msgstr "B<COLUMNS> と B<LINES> アプリケーションにウインドウのサイズを伝える。 実際のサイズとは違う値を与えることもできる。"
3890
3891 #. type: Plain text
3892 #: build/C/man7/environ.7:207
3893 msgid "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See B<lpr>(1)."
3894 msgstr "B<PRINTER> または B<LPDEST> 用いたいプリンタを指定する。 B<lpr>(1)  を参照のこと。"
3895
3896 #. type: Plain text
3897 #: build/C/man7/environ.7:209
3898 msgid "Etc."
3899 msgstr "などなど..."
3900
3901 #. type: Plain text
3902 #: build/C/man7/environ.7:214
3903 msgid "Clearly there is a security risk here.  Many a system command has been tricked into mischief by a user who specified unusual values for B<IFS> or B<LD_LIBRARY_PATH>."
3904 msgstr "これらの中には、明らかにセキュリティ上の危険が存在する。 ユーザーが B<IFS> や B<LD_LIBRARY_PATH> に異常な値を与えたことによって、 これまで多くのシステムコマンドがだまされて、 システムをひどい目にあわせてきた。"
3905
3906 #. type: Plain text
3907 #: build/C/man7/environ.7:247
3908 msgid "There is also the risk of name space pollution.  Programs like I<make> and I<autoconf> allow overriding of default utility names from the environment with similarly named variables in all caps.  Thus one uses B<CC> to select the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an environment variable gives options for the program instead of a pathname.  Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered mistaken, and to be avoided in new programs.  The authors of I<gzip> should consider renaming their option to B<GZIP_OPT>."
3909 msgstr "名前空間が汚染される危険性も存在する。 I<make> や I<autoconf> のようなプログラムでは、デフォルトのユーティリティを 環境にある似たような名前の変数で上書きすることができる (通常はすべて大文字の変数を用いる)。 すなわち、利用したい C コンパイラは B<CC> で選択できる。また同様に B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, B<LEX>, B<RM>, B<YACC> なども用いることができる。 ところが一方では、このような変数を (パス名ではなく)  プログラムに対するオプションとして扱うような流儀も存在してきた。 例えば B<MORE>, B<LESS>, B<GZIP> などがそうである。 このような利用法は間違っていると考えるべきで、 新しいプログラムでは避けるべきである。 I<gzip> の作者たちは、オプションを与える環境変数を B<GZIP_OPT> に改名することを考えるほうがよい。"
3910
3911 #. type: Plain text
3912 #: build/C/man7/environ.7:264
3913 msgid "B<env>(1), B<bash>(1), B<csh>(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)"
3914 msgstr "B<env>(1), B<bash>(1), B<csh>(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)"
3915
3916 #. type: TH
3917 #: build/C/man3/euidaccess.3:25
3918 #, no-wrap
3919 msgid "EUIDACCESS"
3920 msgstr "EUIDACCESS"
3921
3922 #. type: TH
3923 #: build/C/man3/euidaccess.3:25
3924 #, no-wrap
3925 msgid "2013-09-25"
3926 msgstr "2013-09-25"
3927
3928 #. type: Plain text
3929 #: build/C/man3/euidaccess.3:28
3930 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3931 msgstr "euidaccess, eaccess - ファイルへのアクセス権を実効ユーザーでチェックする"
3932
3933 #. type: Plain text
3934 #: build/C/man3/euidaccess.3:32
3935 #, no-wrap
3936 msgid ""
3937 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3938 "B<#include E<lt>unistd.hE<gt>>\n"
3939 msgstr ""
3940 "B<#define _GNU_SOURCE>             /* feature_test_macros(7) 参照 */\n"
3941 "B<#include E<lt>unistd.hE<gt>>\n"
3942
3943 #. type: Plain text
3944 #: build/C/man3/euidaccess.3:35
3945 #, no-wrap
3946 msgid ""
3947 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3948 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3949 msgstr ""
3950 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3951 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3952
3953 #. type: Plain text
3954 #: build/C/man3/euidaccess.3:47
3955 msgid "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the file identified by its argument I<pathname>.  However, whereas B<access>(2)  performs checks using the real user and group identifiers of the process, B<euidaccess>()  uses the effective identifiers."
3956 msgstr "B<access>(2)  と同様、 B<euidaccess>()  は引き数 I<pathname> で指定されたファイルの許可 (permission) と存在のチェックを行う。 B<access>(2)  はプロセスの実 (real) ユーザーID / 実グループID を用いてチェックを行うのに対し、 B<euidaccess>()  は実効 (effective) ID を用いる。"
3957
3958 #. type: Plain text
3959 #: build/C/man3/euidaccess.3:53
3960 msgid "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK>, and B<F_OK>, with the same meanings as for B<access>(2)."
3961 msgstr "I<mode> は B<R_OK>, B<W_OK>, B<X_OK>, B<F_OK> の一つ以上から構成されるマスクである。 B<R_OK>, B<W_OK>, B<X_OK>, B<F_OK> は B<access>(2)  と同じ意味を持つ。"
3962
3963 #. type: Plain text
3964 #: build/C/man3/euidaccess.3:58
3965 msgid "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility with some other systems."
3966 msgstr "B<eaccess>()  は B<euidaccess>()  の同義語であり、他のいくつかのシステムとの互換性のために提供されている。"
3967
3968 #. type: Plain text
3969 #: build/C/man3/euidaccess.3:66
3970 msgid "On success (all requested permissions granted), zero is returned.  On error (at least one bit in I<mode> asked for a permission that is denied, or some other error occurred), -1 is returned, and I<errno> is set appropriately."
3971 msgstr "成功した場合 (要求した全てについて許可が得られたら)、ゼロが返される。 エラーの場合 (I<mode> の少なくとも一つのビットで要求した許可がなかった場合や、 他のエラーが起こった場合)、-1 が返され、 I<errno> が適切に設定される。"
3972
3973 #. type: Plain text
3974 #: build/C/man3/euidaccess.3:69
3975 msgid "As for B<access>(2)."
3976 msgstr "B<access>(2)  と同じ。"
3977
3978 #. type: Plain text
3979 #: build/C/man3/euidaccess.3:73
3980 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3981 msgstr "B<eaccess>()  関数は glibc のバージョン 2.4 で追加された。"
3982
3983 #. type: Plain text
3984 #: build/C/man3/euidaccess.3:80
3985 msgid "The B<euidaccess>()  and B<eaccess>()  functions are thread-safe."
3986 msgstr "関数 B<euidaccess>() と B<eaccess>() はスレッドセーフである。"
3987
3988 #.  e.g., FreeBSD 6.1.
3989 #. type: Plain text
3990 #: build/C/man3/euidaccess.3:86
3991 msgid "These functions are nonstandard.  Some other systems have an B<eaccess>()  function."
3992 msgstr "これらの関数は非標準である。 他のいくつかのシステムには B<eaccess>()  関数がある。"
3993
3994 #. type: Plain text
3995 #: build/C/man3/euidaccess.3:93
3996 msgid "I<Warning>: Using this function to check a process's permissions on a file before performing some operation based on that information leads to race conditions: the file permissions may change between the two steps.  Generally, it is safer just to attempt the desired operation and handle any permission error that occurs."
3997 msgstr ""
3998 "I<警告>: \n"
3999 "ある操作を実行する前にこの関数を使ってファイルに対するプロセスのアクセス許可を\n"
4000 "確認してから、その情報に基づいて操作を行うと、競合条件が発生する可能性がある。\n"
4001 "これは二つの操作の間でファイルのアクセス許可が変化する場合があるからである。\n"
4002 "一般的には、必要な操作のみを行い、その際に発生したアクセス許可に関するエラーを\n"
4003 "処理する方が安全である。"
4004
4005 #. type: Plain text
4006 #: build/C/man3/euidaccess.3:101
4007 msgid "This function always dereferences symbolic links.  If you need to check the permissions on a symbolic link, use B<faccessat>(2)  with the flags B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
4008 msgstr ""
4009 "この関数は常にシンボリックリンクの展開を行う。\n"
4010 "シンボリックリンクのアクセス許可を確認する必要がある場合は、\n"
4011 "フラグ B<AT_EACCESS> と B<AT_SYMLINK_NOFOLLOW> を付けて\n"
4012 "B<faccessat>(2) を使うこと。"
4013
4014 #. type: Plain text
4015 #: build/C/man3/euidaccess.3:112
4016 msgid "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), B<path_resolution>(7)"
4017 msgstr "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), B<path_resolution>(7)"
4018
4019 #. type: TH
4020 #: build/C/man3/exec.3:41
4021 #, no-wrap
4022 msgid "EXEC"
4023 msgstr "EXEC"
4024
4025 #. type: Plain text
4026 #: build/C/man3/exec.3:44
4027 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
4028 msgstr "execl, execlp, execle, execv, execvp, execvpe - ファイルを実行する"
4029
4030 #. type: Plain text
4031 #: build/C/man3/exec.3:48
4032 msgid "B<extern char **environ;>"
4033 msgstr "B<extern char **environ;>"
4034
4035 #. type: Plain text
4036 #: build/C/man3/exec.3:50
4037 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
4038 msgstr "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
4039
4040 #. type: Plain text
4041 #: build/C/man3/exec.3:52
4042 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
4043 msgstr "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
4044
4045 #. type: Plain text
4046 #: build/C/man3/exec.3:54
4047 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
4048 msgstr "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
4049
4050 #. type: Plain text
4051 #: build/C/man3/exec.3:56
4052 msgid "B< ..., char * const >I<envp>B<[]);>"
4053 msgstr "B< ..., char * const >I<envp>B<[]);>"
4054
4055 #. type: Plain text
4056 #: build/C/man3/exec.3:58
4057 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
4058 msgstr "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
4059
4060 #. type: Plain text
4061 #: build/C/man3/exec.3:60
4062 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
4063 msgstr "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
4064
4065 #. type: Plain text
4066 #: build/C/man3/exec.3:62
4067 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
4068 msgstr "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
4069
4070 #. type: Plain text
4071 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
4072 msgid "B< char *const >I<envp>B<[]);>"
4073 msgstr "B< char *const >I<envp>B<[]);>"
4074
4075 #. type: Plain text
4076 #: build/C/man3/exec.3:72
4077 msgid "B<execvpe>(): _GNU_SOURCE"
4078 msgstr "B<execvpe>(): _GNU_SOURCE"
4079
4080 #. type: Plain text
4081 #: build/C/man3/exec.3:82
4082 msgid "The B<exec>()  family of functions replaces the current process image with a new process image.  The functions described in this manual page are front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for further details about the replacement of the current process image.)"
4083 msgstr "B<exec>()  ファミリーの関数は現在のプロセスイメージを新しいプロセスイメージで置き 換える。このマニュアルで説明されている関数は B<execve>(2)  のフロントエンドである。 (現在のプロセスイメージの置き換えについての詳細は B<execve>(2)  のマニュアルを参照)"
4084
4085 #. type: Plain text
4086 #: build/C/man3/exec.3:85
4087 msgid "The initial argument for these functions is the name of a file that is to be executed."
4088 msgstr "これらの関数の最初の引き数は、実行されるファイルの名前である。"
4089
4090 #. type: Plain text
4091 #: build/C/man3/exec.3:107
4092 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>."
4093 msgstr "関数 B<execl>(), B<execlp>(), B<execle>()  の I<const char\\ *arg> とそれに続く省略部分は I<arg0>, I<arg1>, \\&..., I<argn> とみなされる。 これらには、実行されるプログラムで利用可能な引き数のリストを指定する (引き数のリストは ヌルで終端された文字列へのポインタから構成される)。 慣習として、最初の引き数は、実行されるファイル名 へのポインタにする。引き数のリストは必ず NULL で終わらなければならず、これらの関数は可変長引き数関数なので、 このポインタは I<(char\\ *) NULL> とキャストしなければならない。"
4094
4095 #. type: Plain text
4096 #: build/C/man3/exec.3:120
4097 msgid "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide 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 I<must> be terminated by a null pointer."
4098 msgstr "関数 B<execv>(), B<execvp>(), B<execvpe>()  は、利用可能な引き数リスト (ヌルで終端された文字列への ポインタの配列) を新しいプログラムに渡す。 慣習として、最初の引き数は実行されるファイル名へ のポインタにする。ポインタの配列は必ず NULL で終わらなければならない。"
4099
4100 #. type: Plain text
4101 #: build/C/man3/exec.3:137
4102 msgid "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the environment of the executed program via the argument I<envp>.  The I<envp> argument is an array of pointers to null-terminated strings and I<must> be terminated by a null pointer.  The other functions take the environment for the new process image from the external variable I<environ> in the calling process."
4103 msgstr "関数 B<execle>(), B<execvpe>()  では、呼び出し元が引き数 I<envp> 経由実行されるプログラムの環境を指定することができる。 I<envp> 引き数は、NULL で終端された文字列へのポインタの配列であり、ヌルポインタで終わらなければならない。 他の関数では、呼び出し元のプロセスの外部変数 B<environ> から新しいプロセス用の環境を与える。"
4104
4105 #. type: SS
4106 #: build/C/man3/exec.3:137
4107 #, no-wrap
4108 msgid "Special semantics for execlp() and execvp()"
4109 msgstr "execlp() と execvp() の特別な動作"
4110
4111 #. type: Plain text
4112 #: build/C/man3/exec.3:157
4113 msgid "The B<execlp>(), B<execvp>(), and B<execvpe>()  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 B<PATH> environment variable.  If this variable isn't defined, the path list defaults to the current directory followed by the list of directories returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically returns the value \"/bin:/usr/bin\".)"
4114 msgstr "関数 B<execlp>(), B<execvp>(), B<execvpe>()  は、指定されたファイル名がスラッシュ (/) を含んでいない場合、 シェルと同じ動作で実行可能なファイルを探索する。 ファイルの検索は、環境変数 B<PATH> で指定されたコロン区切りのディレクトリのパス名のリストを対象に行われる。 この変数が定義されていない場合、パス名のリストのデフォルト値として、 カレントディレクトリの後ろに、 I<confstr(_CS_PATH)> が返すディレクトリのリストをつなげた値が使用される (この B<confstr>(3)  の呼び出しでは通常 \"/bin:/usr/bin\" が返される)。"
4115
4116 #. type: Plain text
4117 #: build/C/man3/exec.3:161
4118 msgid "If the specified filename includes a slash character, then B<PATH> is ignored, and the file at the specified pathname is executed."
4119 msgstr "指定されたファイル名がスラッシュを含む場合、 B<PATH> は無視され、指定されたパス名のファイルが実行される。"
4120
4121 #. type: Plain text
4122 #: build/C/man3/exec.3:163
4123 msgid "In addition, certain errors are treated specially."
4124 msgstr "さらに、いくつかのエラーは特別に処理される。"
4125
4126 #. type: Plain text
4127 #: build/C/man3/exec.3:174
4128 msgid "If permission is denied for a file (the attempted B<execve>(2)  failed with the error B<EACCES>), these functions will continue searching the rest of the search path.  If no other file is found, however, they will return with I<errno> set to B<EACCES>."
4129 msgstr "ファイルが実行ファイルでない場合 (このとき呼び出そうとした B<execve>(2)  はエラー B<EACCES> で失敗する)、これらの関数は残りの検索パスの検索を続ける。 他にファイルが見つからなくなった場合 I<errno> に B<EACCES> を設定し復帰する。"
4130
4131 #. type: Plain text
4132 #: build/C/man3/exec.3:183
4133 msgid "If the header of a file isn't recognized (the attempted B<execve>(2)  failed with the error B<ENOEXEC>), these functions will execute the shell (I</bin/sh>)  with the path of the file as its first argument.  (If this attempt fails, no further searching is done.)"
4134 msgstr "ファイルのヘッダが実行形式として認識できない場合 (このとき呼び出そうとした B<execve>(2)  はエラー B<ENOEXEC> で失敗する)、これらの関数はそのファイルを最初の引き数としたシェル (I</bin/sh>)  を実行する (これにも失敗した場合、これ以上の検索は行われない)。"
4135
4136 #. type: Plain text
4137 #: build/C/man3/exec.3:190
4138 msgid "The B<exec>()  functions return only if an error has occurred.  The return value is -1, and I<errno> is set to indicate the error."
4139 msgstr "B<exec>()  群の関数が復帰するのは、エラーが発生した場合のみである。 返り値は -1 で、 I<errno> にエラーの内容がセットされる。"
4140
4141 #. type: Plain text
4142 #: build/C/man3/exec.3:195
4143 msgid "All of these functions may fail and set I<errno> for any of the errors specified for B<execve>(2)."
4144 msgstr "これら全ての関数は失敗する場合がある。その場合、 B<execve>(2)  に対して規定されたエラーが I<errno> に設定される。"
4145
4146 #. type: Plain text
4147 #: build/C/man3/exec.3:199
4148 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
4149 msgstr "B<execvpe>()  関数は glibc 2.11 で初めて登場した。"
4150
4151 #. type: Plain text
4152 #: build/C/man3/exec.3:201
4153 msgid "POSIX.1-2001, POSIX.1-2008."
4154 msgstr "POSIX.1-2001, POSIX.1-2008."
4155
4156 #. type: Plain text
4157 #: build/C/man3/exec.3:205
4158 msgid "The B<execvpe>()  function is a GNU extension."
4159 msgstr "B<execvpe>()  関数は GNU による拡張である。"
4160
4161 #. type: Plain text
4162 #: build/C/man3/exec.3:215
4163 msgid "On some other systems, the default path (used when the environment does not contain the variable B<PATH>) has the current working directory listed after I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here the traditional \"current directory first\" default path."
4164 msgstr "Linux 以外のシステムには、 (環境変数 B<PATH> が定義されていないときの)  デフォルトのパスにおいて、カレントディレクトリが I</bin> と I</usr/bin> の後ろに配置されるものもある。 これはトロイの木馬対策のためである。 Linux では、デフォルトのパスに、昔ながらの「現在のディレクトリを 先に探索」というルールを使っている。"
4165
4166 #. type: Plain text
4167 #: build/C/man3/exec.3:229
4168 msgid "The behavior of B<execlp>()  and B<execvp>()  when errors occur while attempting to execute the file is historic practice, but has not traditionally been documented and is not specified by the POSIX standard.  BSD (and possibly other systems) do an automatic sleep and retry if B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns immediately."
4169 msgstr "ファイルを実行しようとしている間にエラーが発生した時の B<execlp>()  と B<execvp>()  のふるまいについて歴史的な慣習はあるが、伝統的に文書として記載されておらず、 POSIX 標準でも規定されていない。BSD (またおそらく他のシステム) では、 B<ETXTBSY> が発生した場合、自動的に中断 (sleep) し再試行を行う。 Linux はそれをハードエラーとして取り扱い即座に復帰する。"
4170
4171 #. type: Plain text
4172 #: build/C/man3/exec.3:241
4173 msgid "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon which they returned.  They now return if any error other than the ones described above occurs."
4174 msgstr "伝統的に、関数 B<execlp>()  と B<execvp>()  は、上で説明したエラーと、これら 2 つの関数自身が返す B<ENOMEM> と B<E2BIG> 以外の全てのエラーを無視していたが、 今では、上で説明した以外のエラーが発生した場合でも、 返ってくるよう変更された。"
4175
4176 #. type: Plain text
4177 #: build/C/man3/exec.3:249
4178 msgid "B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), B<environ>(7)"
4179 msgstr "B<sh>(1), B<execve>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), B<environ>(7)"
4180
4181 #. type: TH
4182 #: build/C/man2/execve.2:37
4183 #, no-wrap
4184 msgid "EXECVE"
4185 msgstr "EXECVE"
4186
4187 #. type: Plain text
4188 #: build/C/man2/execve.2:40
4189 msgid "execve - execute program"
4190 msgstr "execve - プログラムを実行する"
4191
4192 #. type: Plain text
4193 #: build/C/man2/execve.2:44
4194 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
4195 msgstr "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
4196
4197 #. type: Plain text
4198 #: build/C/man2/execve.2:51
4199 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:"
4200 msgstr "B<execve>()  は、I<filename> によって指定されたプログラムを実行する。 I<filename> は、バイナリ実行形式か、 以下の形式の行で始まるスクリプトでなければならない。"
4201
4202 #. type: Plain text
4203 #: build/C/man2/execve.2:55 build/C/man2/execve.2:265
4204 #, no-wrap
4205 msgid "B<#!> I<interpreter >[optional-arg]\n"
4206 msgstr "B<#!> I<interpreter >[optional-arg]\n"
4207
4208 #. type: Plain text
4209 #: build/C/man2/execve.2:59
4210 msgid "For details of the latter case, see \"Interpreter scripts\" below."
4211 msgstr "後者の詳細は、後ろの「インタプリタスクリプト」の節を参照のこと。"
4212
4213 #. type: Plain text
4214 #: build/C/man2/execve.2:68
4215 msgid "I<argv> is an array of argument strings passed to the new program.  By convention, the first of these strings should contain the filename associated with the file being executed.  I<envp> is an array of strings, conventionally of the form B<key=value>, which are passed as environment to the new program.  Both I<argv> and I<envp> must be terminated by a null pointer.  The argument vector and environment can be accessed by the called program's main function, when it is defined as:"
4216 msgstr ""
4217 "I<argv> は新しいプログラムに渡される引き数文字列の配列である。\n"
4218 "慣例では、引き数文字列の最初の要素には実行されたファイルに関連付けられた\n"
4219 "ファイル名を含めることになっている。\n"
4220 "I<envp> は文字列の配列であり、伝統的に B<key=value> の形式をしており、\n"
4221 "新しいプログラムの環境変数として渡される。\n"
4222 "I<argv> と I<envp> はいずれものヌルポインタで終わっている必要がある。\n"
4223 "引き数配列と環境変数は、呼び出されたプログラムの main 関数を\n"
4224 "以下のように定義することによってアクセス可能になる。"
4225
4226 #. type: Plain text
4227 #: build/C/man2/execve.2:72
4228 #, no-wrap
4229 msgid "int main(int argc, char *argv[], char *envp[])\n"
4230 msgstr "int main(int argc, char *argv[], char *envp[])\n"
4231
4232 #. type: Plain text
4233 #: build/C/man2/execve.2:79
4234 msgid "B<execve>()  does not return on success, and the text, data, bss, and stack of the calling process are overwritten by that of the program loaded."
4235 msgstr "成功した場合、 B<execve>()  は返らない。 そして、呼び出し元のプロセスの text, data, bss, スタックは、 読み込まれたプログラムによって上書きされる。"
4236
4237 #. type: Plain text
4238 #: build/C/man2/execve.2:83
4239 msgid "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a successful B<execve>()."
4240 msgstr "元のプログラムが ptrace されている場合、 B<execve>()  が成功した後に そのプログラムに B<SIGTRAP> が送られる。"
4241
4242 #. type: Plain text
4243 #: build/C/man2/execve.2:98
4244 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."
4245 msgstr "I<filename> で指定されたプログラムファイルに set-user-ID ビットが設定されており、 ファイルが存在するファイルシステムが I<nosuid> (B<mount>(2)  の B<MS_NOSUID> フラグ) でマウントされておらず、 呼び出したプロセスが ptrace されていない場合、 呼び出したプロセスの実効 (effective) ユーザー ID は プログラムファイルの所有者 (owner) に変更される。 同様に、プログラムファイルに set-group-ID ビットが設定されていた場合、 呼び出したプロセスの有効グループ ID は プログラムファイルのグループに変更される。"
4246
4247 #. type: Plain text
4248 #: build/C/man2/execve.2:103
4249 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."
4250 msgstr "プロセスの実効ユーザー ID は保存 (saved) set-user-ID にコピーされる。 同様に、実効グループ ID は保存 set-group-ID にコピーされる。 このコピーは、set-user-ID / set-group-ID 許可ビットにより発生する 実効 ID の変更後に行われる。"
4251
4252 #. type: Plain text
4253 #: build/C/man2/execve.2:111
4254 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."
4255 msgstr "実行ファイルが動的リンクされた a.out 実行形式で、共有ライブラリの スタブを含むものだった場合、実行の開始時に Linux の ダイナミックリンカ B<ld.so>(8)  が呼び出され、必要な共有ライブラリをメモリに読み込んでリンクを行う。"
4256
4257 #. type: Plain text
4258 #: build/C/man2/execve.2:118
4259 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."
4260 msgstr ""
4261 "実行ファイルがダイナミックリンクされた ELF 実行形式だった場合、\n"
4262 "PT_INTERP セグメントに指定されたインタプリタが必要な 共有ライブラリ\n"
4263 "(shared library) を読み込むのに使用される。\n"
4264 "通常、インタプリタは glibc をリンクしたバイナリでは\n"
4265 "I</lib/ld-linux.so.2> である。"
4266
4267 #. type: Plain text
4268 #: build/C/man2/execve.2:122
4269 msgid "All process attributes are preserved during an B<execve>(), except the following:"
4270 msgstr "以下に示す以外のすべてのプロセス属性は B<execve>()  の前後で保持される。"
4271
4272 #. type: Plain text
4273 #: build/C/man2/execve.2:126
4274 msgid "The dispositions of any signals that are being caught are reset to the default (B<signal>(7))."
4275 msgstr "捕捉されたシグナルの処理方法 (disposition) は デフォルト動作にリセットされる (B<signal>(7))。"
4276
4277 #. type: Plain text
4278 #: build/C/man2/execve.2:129
4279 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
4280 msgstr "代替シグナルスタックはどれも保持されない (B<sigaltstack>(2))。"
4281
4282 #. type: Plain text
4283 #: build/C/man2/execve.2:132
4284 msgid "Memory mappings are not preserved (B<mmap>(2))."
4285 msgstr "メモリマッピングは保持されない (B<mmap>(2))。"
4286
4287 #. type: Plain text
4288 #: build/C/man2/execve.2:135
4289 msgid "Attached System\\ V shared memory segments are detached (B<shmat>(2))."
4290 msgstr "付加された (attached) System\\ V 共有メモリセグメントは分離される (B<shmat>(2))。"
4291
4292 #. type: Plain text
4293 #: build/C/man2/execve.2:138
4294 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
4295 msgstr "POSIX 共有メモリ領域はマッピングを解除される (B<shm_open>(3))。"
4296
4297 #. type: Plain text
4298 #: build/C/man2/execve.2:141
4299 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
4300 msgstr "オープンされた POSIX メッセージキューディスクリプターはクローズされる (B<mq_overview>(7))。"
4301
4302 #. type: Plain text
4303 #: build/C/man2/execve.2:144
4304 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
4305 msgstr "オープンされた POSIX 名前付きセマフォはいずれもクローズされる (B<sem_overview>(7))。"
4306
4307 #. type: Plain text
4308 #: build/C/man2/execve.2:147
4309 msgid "POSIX timers are not preserved (B<timer_create>(2))."
4310 msgstr "POSIX タイマは保持されない (B<timer_create>(2))。"
4311
4312 #. type: Plain text
4313 #: build/C/man2/execve.2:150
4314 msgid "Any open directory streams are closed (B<opendir>(3))."
4315 msgstr "オープンされたディレクトリストリームはいずれもクローズされる (B<opendir>(3))。"
4316
4317 #. type: Plain text
4318 #: build/C/man2/execve.2:154
4319 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
4320 msgstr "メモリロックは保持されない (B<mlock>(2), B<mlockall>(2))。"
4321
4322 #. type: Plain text
4323 #: build/C/man2/execve.2:158
4324 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
4325 msgstr "終了 (exit) ハンドラは保持されない (B<atexit>(3), B<on_exit>(3))。"
4326
4327 #. type: Plain text
4328 #: build/C/man2/execve.2:161
4329 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
4330 msgstr "浮動小数点関連の環境はデフォルトにリセットされる (B<fenv>(3)  参照)。"
4331
4332 #. type: Plain text
4333 #: build/C/man2/execve.2:167
4334 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>():"
4335 msgstr "上記のリストのプロセス属性はいずれも POSIX.1-2001 で規定されている。 以下に示す Linux 固有のプロセス属性も B<execve>()  の前後で保持されない。"
4336
4337 #. type: Plain text
4338 #: build/C/man2/execve.2:174
4339 msgid "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or set-group ID program is being executed, in which case it is cleared."
4340 msgstr "set-user-ID か set-group-ID されたプログラムが実行されている場合、 B<prctl>(2)  の B<PR_SET_DUMPABLE> フラグはクリアされる。それ以外の場合、このフラグはセットされる。"
4341
4342 #. type: Plain text
4343 #: build/C/man2/execve.2:179
4344 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
4345 msgstr "B<prctl>(2)  の B<PR_SET_KEEPCAPS> フラグはクリアされる。"
4346
4347 #. type: Plain text
4348 #: build/C/man2/execve.2:186
4349 msgid "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is being executed, then the parent death signal set by B<prctl>(2)  B<PR_SET_PDEATHSIG> flag is cleared."
4350 msgstr "(Linux 2.4.36 以降 / 2.6.23 以降)  set-user-ID や set-group-ID されたプログラムが実行された場合、 B<prctl>(2) の B<PR_SET_PDEATHSIG> フラグで設定された parent death シグナルはクリアされる。"
4351
4352 #. type: Plain text
4353 #: build/C/man2/execve.2:193
4354 msgid "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by I<ps\\ -o comm>), is reset to the name of the new executable file."
4355 msgstr "プロセス名は新しい実行ファイルの名前にリセットされる。 プロセス名は B<prctl>(2)  の B<PR_SET_NAME> で設定でき、 I<ps\\ -o comm> で表示できる。"
4356
4357 #. type: Plain text
4358 #: build/C/man2/execve.2:200
4359 msgid "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See B<capabilities>(7)."
4360 msgstr "B<SECBIT_KEEP_CAPS> の I<securebits> フラグはクリアされる。 B<capabilities>(7) 参照。"
4361
4362 #. type: Plain text
4363 #: build/C/man2/execve.2:205
4364 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
4365 msgstr "終了シグナル (termination signal) は B<SIGCHLD> にリセットされる (B<clone>(2)  参照)。"
4366
4367 #. type: Plain text
4368 #: build/C/man2/execve.2:207 build/C/man2/fork.2:138
4369 msgid "Note the following further points:"
4370 msgstr "以下の点についても注意すること:"
4371
4372 #. type: Plain text
4373 #: build/C/man2/execve.2:211
4374 msgid "All threads other than the calling thread are destroyed during an B<execve>().  Mutexes, condition variables, and other pthreads objects are not preserved."
4375 msgstr "呼び出し元スレッド以外の全てのスレッドは B<execve>()  中に破棄される。 mutex、条件変数、その他の pthread オブジェクトは保持されない。"
4376
4377 #. type: Plain text
4378 #: build/C/man2/execve.2:214
4379 msgid "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program start-up."
4380 msgstr "I<setlocale(LC_ALL, \"C\")> 相当の処理がプログラム開始時に実行される。"
4381
4382 #. type: Plain text
4383 #: build/C/man2/execve.2:222
4384 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."
4385 msgstr "POSIX.1-2001 は、動作が無視かデフォルトに設定されている全てのシグナル の処理方法は変更せずそのままにする、と規定している。 但し、POSIX.1-2001 には一つ例外があり、 B<SIGCHLD> が無視になっている場合、 その処理方法を変更せずにそのままにするか、デフォルト動作にリセットするかは 実装依存となっている。 Linux では前者 (変更しない) となっている。"
4386
4387 #. type: Plain text
4388 #: build/C/man2/execve.2:226
4389 msgid "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), B<aio_write>(3))."
4390 msgstr "完了していない非同期 I/O 操作はキャンセルされる (B<aio_read>(3), B<aio_write>(3))。"
4391
4392 #. type: Plain text
4393 #: build/C/man2/execve.2:231
4394 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
4395 msgstr "B<execve>(2)  時のケーパビリティの扱いについては、 B<capabilities>(7)  を参照。"
4396
4397 #.  On Linux it appears that these file descriptors are
4398 #.  always open after an execve(), and it looks like
4399 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
4400 #. type: Plain text
4401 #: build/C/man2/execve.2:258
4402 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>()."
4403 msgstr "デフォルトでは、ファイルディスクリプターは B<execve>()  を行った後でもオープンされたままである。 close-on-exec の印が付いているファイルディスクリプターはクローズされる。 B<fcntl>(2)  の B<FD_CLOEXEC> の説明を参照。 (ファイルディスクリプターがクローズされると、このプロセスが ファイルディスクリプターに対応するファイルに対して獲得していた レコードのロックが全て解放されることになる。)  POSIX.1-2001 では、 ファイルディスクリプター 0, 1, 2 が B<execve>()  成功後にどこかでクローズされ、かつ 実行されるファイルに set-user_ID か set-group_ID の許可ビットが セットされていてプロセスが特権を獲得した場合、 システムは何らかのファイルをオープンする際に これらの番号のディスクリプターのどれかを使うことがある、 とされている。 原則として、移植性が必要なプログラムでは、 特権の有無に関わらず、 B<execve>()  の前後でこれら 3つのファイルディスクリプターがクローズされたままで あることを前提にすることはできない。"
4404
4405 #. type: SS
4406 #: build/C/man2/execve.2:258 build/C/man2/execve.2:528
4407 #, no-wrap
4408 msgid "Interpreter scripts"
4409 msgstr "インタプリタスクリプト"
4410
4411 #. type: Plain text
4412 #: build/C/man2/execve.2:261
4413 msgid "An interpreter script is a text file that has execute permission enabled and whose first line is of the form:"
4414 msgstr "インタプリタスクリプトとは、実行許可が有効になっていて、 最初の行が以下の形になっているテキストファイルのことである。"
4415
4416 #. type: Plain text
4417 #: build/C/man2/execve.2:279
4418 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:"
4419 msgstr "I<interpreter> は有効な実行ファイルのパス名でなければならず、 それ自身がスクリプトであってはならない。 B<execve>()  の I<filename> 引き数がインタプリタスクリプトを指定している場合、 I<interpreter> は以下の引き数で起動される。"
4420
4421 #. type: Plain text
4422 #: build/C/man2/execve.2:283
4423 #, no-wrap
4424 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
4425 msgstr "I<interpreter> [optional-arg] I<filename> arg...\n"
4426
4427 #. type: Plain text
4428 #: build/C/man2/execve.2:294
4429 msgid "where I<arg...> is the series of words pointed to by the I<argv> argument of B<execve>(), starting at I<argv>[1]."
4430 msgstr "I<arg...> は、 B<execve>() の I<argv> 引き数が指すワード列である。 I<argv>[1] から始まる。"
4431
4432 #. type: Plain text
4433 #: build/C/man2/execve.2:299
4434 msgid "For portable use, I<optional-arg> should either be absent, or be specified as a single word (i.e., it should not contain white space); see NOTES below."
4435 msgstr "移植性を持たすには、 I<optional-arg> は空か 1ワードだけにすべきである (つまり、ホワイトスペースを含めるべきではない)。 下記の「注意」の節を参照。"
4436
4437 #. type: SS
4438 #: build/C/man2/execve.2:299
4439 #, no-wrap
4440 msgid "Limits on size of arguments and environment"
4441 msgstr "引き数と環境変数の合計サイズの上限"
4442
4443 #. type: Plain text
4444 #: build/C/man2/execve.2:312
4445 msgid "Most UNIX implementations impose some limit on the total size of the command-line argument (I<argv>)  and environment (I<envp>)  strings that may be passed to a new program.  POSIX.1 allows an implementation to advertise this limit using the B<ARG_MAX> constant (either defined in I<E<lt>limits.hE<gt>> or available at run time using the call I<sysconf(_SC_ARG_MAX)>)."
4446 msgstr "ほとんどの UNIX の実装は、新しいプログラムに渡すことができる コマンドライン引き数 (I<argv>)  と環境変数 (I<envp>)  の文字列群の合計サイズに何らかの上限を設けている。 POSIX.1 は、 B<ARG_MAX> 定数を使ってこの上限を決める実装を認めている (B<ARG_MAX> は I<E<lt>limits.hE<gt>> で定義されるか、実行時に I<sysconf(_SC_ARG_MAX)> の呼び出しで入手できるかのいずれかである)。"
4447
4448 #. type: Plain text
4449 #: build/C/man2/execve.2:319
4450 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."
4451 msgstr "カーネル 2.6.23 より前の Linux では、環境変数と引き数の文字列群を 格納するのに使用されるメモリは 32 ページに制限されていた (32 ページというのはカーネル定数 B<MAX_ARG_PAGES> で定義される)。したがって、 ページサイズが 4 kB のアーキテクチャでは、 最大サイズは 128 kB ということになる。"
4452
4453 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
4454 #.  2.6.25, see:
4455 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
4456 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
4457 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
4458 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
4459 #.  Ollie: That doesn't include the lists of pointers, though,
4460 #.  so the actual usage is a bit higher (1 pointer per argument).
4461 #. type: Plain text
4462 #: build/C/man2/execve.2:355
4463 msgid "On kernel 2.6.23 and later, most architectures support a size limit derived from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is in force at the time of the B<execve>()  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.)  Since Linux 2.6.25, the kernel places a floor of 32 pages on this size limit, so that, even when B<RLIMIT_STACK> 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 B<MAX_ARG_STRLEN>), and the maximum number of strings is 0x7FFFFFFF."
4464 msgstr "カーネル 2.6.23 以降では、ほとんどのアーキテクチャにおいて、 B<execve>()  が呼び出された時点で適用されているリソースのソフト上限 B<RLIMIT_STACK> に基づいたサイズ上限が使われる (メモリ管理ユニット (MMU) を持たないアーキテクチャは上記の変更の 例外であり、これらのアーキテクチャではカーネル 2.6.23 より前と 同じ上限がそのまま使用される)。 これらのアーキテクチャでは、合計サイズは許可されたスタックサイズの 1/4 に制限されている (1/4 の上限を設けているのは、新しいプログラムが必ずある程度の スタック空間を持てることを保証するためである)。 Linux 2.6.25 以降では、カーネルはこのサイズ上限に 32 ページの下限を 設けている。これにより、 B<RLIMIT_STACK> が非常に小さく設定された場合でも、アプリケーションが少なくとも Linux 2.6.23 以前で提供されていたのと同じ大きさの引き数と環境変数の空間 と同じだけは確保できることが保証されている (この最低限の保証は Linux 2.6.23 と 2.6.24 では提供されていない)。 また、各文字列の上限は 32 ページ (カーネル定数 B<MAX_ARG_STRLEN>)  で、文字列数の最大値は 0x7FFFFFFF である。"
4465
4466 #. type: Plain text
4467 #: build/C/man2/execve.2:361
4468 msgid "On success, B<execve>()  does not return, on error -1 is returned, and I<errno> is set appropriately."
4469 msgstr "成功すると B<execve>()  は返らない。エラーの場合は -1 を返し、 I<errno> を適切に設定する。"
4470
4471 #. type: TP
4472 #: build/C/man2/execve.2:362
4473 #, no-wrap
4474 msgid "B<E2BIG>"
4475 msgstr "B<E2BIG>"
4476
4477 #. type: Plain text
4478 #: build/C/man2/execve.2:369
4479 msgid "The total number of bytes in the environment (I<envp>)  and argument list (I<argv>)  is too large."
4480 msgstr "環境変数 (I<envp>)  と引き数リスト (I<argv>)  の合計バイト数が大き過ぎる。"
4481
4482 #. type: Plain text
4483 #: build/C/man2/execve.2:376
4484 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).)"
4485 msgstr "I<filename> やスクリプトインタプリタ名の構成要素に検索許可 (search permission)  が与えられていない (B<path_resolution>(7)  も参照すること)。"
4486
4487 #. type: Plain text
4488 #: build/C/man2/execve.2:379
4489 msgid "The file or a script interpreter is not a regular file."
4490 msgstr "ファイルもしくはスクリプトのインタプリタが通常ファイル (regular file)  でない。"
4491
4492 #. type: Plain text
4493 #: build/C/man2/execve.2:382
4494 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4495 msgstr "ファイルやスクリプトや ELF インタプリタに 実行許可 (execute permission) が与えられていない。"
4496
4497 #. type: Plain text
4498 #: build/C/man2/execve.2:386
4499 msgid "The filesystem is mounted I<noexec>."
4500 msgstr "ファイルシステムが I<noexec> でマウントされている。"
4501
4502 #. type: TP
4503 #: build/C/man2/execve.2:386
4504 #, no-wrap
4505 msgid "B<EAGAIN> (since Linux 3.1)"
4506 msgstr "B<EAGAIN> (Linux 3.1 以降)"
4507
4508 #.  commit 72fa59970f8698023045ab0713d66f3f4f96945c
4509 #. type: Plain text
4510 #: build/C/man2/execve.2:396
4511 msgid "Having changed its real UID using one of the B<set*uid>()  calls, the caller was\\(emand is now still\\(emabove its B<RLIMIT_NPROC> resource limit (see B<setrlimit>(2)).  For a more detailed explanation of this error, see NOTES."
4512 msgstr "B<set*uid>() のいずれかの呼び出しでプロセスの実 UID が変更されたとすると、呼び出し元の B<RLIMIT_NPROC> リソース上限 (B<setrlimit>(2) 参照) を超えてしまう、 現在もまだ超えている。 このエラーの詳細な説明については「注意」の節を参照。"
4513
4514 #. type: Plain text
4515 #: build/C/man2/execve.2:404
4516 msgid "I<filename> or one of the pointers in the vectors I<argv> or I<envp> points outside your accessible address space."
4517 msgstr "I<filename> または配列 I<argv> か I<envp> のポインタの一つがアクセス可能なアドレス空間の外を指している。"
4518
4519 #. type: Plain text
4520 #: build/C/man2/execve.2:408
4521 msgid "An ELF executable had more than one PT_INTERP segment (i.e., tried to name more than one interpreter)."
4522 msgstr "ELF 実行形式で複数の PT_INTERP セグメントが存在する。 (すなわち複数のインタプリタを指定した。)"
4523
4524 #. type: TP
4525 #: build/C/man2/execve.2:411 build/C/man2/truncate.2:149
4526 #, no-wrap
4527 msgid "B<EISDIR>"
4528 msgstr "B<EISDIR>"
4529
4530 #. type: Plain text
4531 #: build/C/man2/execve.2:414
4532 msgid "An ELF interpreter was a directory."
4533 msgstr "ELF インタプリタがディレクトリだった。"
4534
4535 #. type: TP
4536 #: build/C/man2/execve.2:414
4537 #, no-wrap
4538 msgid "B<ELIBBAD>"
4539 msgstr "B<ELIBBAD>"
4540
4541 #. type: Plain text
4542 #: build/C/man2/execve.2:417
4543 msgid "An ELF interpreter was not in a recognized format."
4544 msgstr "ELF インタプリタが理解できるフォーマットでなかった。"
4545
4546 #. type: Plain text
4547 #: build/C/man2/execve.2:422
4548 msgid "Too many symbolic links were encountered in resolving I<filename> or the name of a script or ELF interpreter."
4549 msgstr "I<filename> やスクリプトや ELF のインタプリタを解決する際に遭遇した シンボリックリンクが多過ぎる。"
4550
4551 #. type: Plain text
4552 #: build/C/man2/execve.2:425
4553 msgid "The process has the maximum number of files open."
4554 msgstr "そのプロセスがオープンできるファイル数の上限まで既にオープンしている。"
4555
4556 #. type: Plain text
4557 #: build/C/man2/execve.2:429
4558 msgid "I<filename> is too long."
4559 msgstr "I<filename> が長過ぎる。"
4560
4561 #. type: TP
4562 #: build/C/man2/execve.2:429 build/C/man3/getlogin.3:108
4563 #: build/C/man2/swapon.2:144 build/C/man2/uselib.2:67
4564 #, no-wrap
4565 msgid "B<ENFILE>"
4566 msgstr "B<ENFILE>"
4567
4568 #. type: Plain text
4569 #: build/C/man2/execve.2:432 build/C/man2/swapon.2:147
4570 #: build/C/man2/uselib.2:70
4571 msgid "The system limit on the total number of open files has been reached."
4572 msgstr "オープンされたファイルの総数がシステム全体の上限に達していた。"
4573
4574 #. type: Plain text
4575 #: build/C/man2/execve.2:438
4576 msgid "The file I<filename> or a script or ELF interpreter does not exist, or a shared library needed for file or interpreter cannot be found."
4577 msgstr "ファイル I<filename> かスクリプトや ELF のインタプリタが存在しない。"
4578
4579 #. type: TP
4580 #: build/C/man2/execve.2:438 build/C/man2/uselib.2:70
4581 #, no-wrap
4582 msgid "B<ENOEXEC>"
4583 msgstr "B<ENOEXEC>"
4584
4585 #. type: Plain text
4586 #: build/C/man2/execve.2:443
4587 msgid "An executable is not in a recognized format, is for the wrong architecture, or has some other format error that means it cannot be executed."
4588 msgstr "実行ファイルが理解できない形式であるか、違うアーキテクチャのものか、 その他のフォーマットエラーにより実行ができなかった。"
4589
4590 #. type: Plain text
4591 #: build/C/man2/execve.2:451
4592 msgid "A component of the path prefix of I<filename> or a script or ELF interpreter is not a directory."
4593 msgstr "I<filename> やスクリプトや ELF のインタプリタの構成要素がディレクトリでない。"
4594
4595 #. type: Plain text
4596 #: build/C/man2/execve.2:457
4597 msgid "The filesystem is mounted I<nosuid>, the user is not the superuser, and the file has the set-user-ID or set-group-ID bit set."
4598 msgstr "ファイルシステムが I<nosuid> でマウントされ、ユーザーがスーパーユーザーでなく、 ファイルに set-user-ID あるいは set-group-ID ビットが設定されている。"
4599
4600 #. type: Plain text
4601 #: build/C/man2/execve.2:461
4602 msgid "The process is being traced, the user is not the superuser and the file has the set-user-ID or set-group-ID bit set."
4603 msgstr "プロセスがトレースされ、ユーザーがスーパーユーザーでなく、 ファイルに set-user-ID あるいは set-group-ID ビットが設定されている。"
4604
4605 #. type: Plain text
4606 #: build/C/man2/execve.2:464
4607 msgid "Executable was open for writing by one or more processes."
4608 msgstr "実行ファイルを書き込み用にオープンしているプロセスがある。"
4609
4610 #.  SVr4 documents additional error
4611 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4612 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4613 #.  EISDIR or ELIBBAD error conditions.
4614 #. type: Plain text
4615 #: build/C/man2/execve.2:472
4616 msgid "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior but is otherwise compatible."
4617 msgstr "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 には #! 動作についての記述はないが、 他は互換性がある。"
4618
4619 #. type: Plain text
4620 #: build/C/man2/execve.2:475
4621 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4622 msgstr "set-user-id プロセスと set-group-ID プロセスは B<ptrace>(2)  できない。"
4623
4624 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4625 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4626 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4627 #.  Bug rejected (because fix would constitute an ABI change).
4628 #. type: Plain text
4629 #: build/C/man2/execve.2:502
4630 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>)."
4631 msgstr "ファイルシステムを I<nosuid> でマウントした場合に set-user-ID/set-group-ID の実行ファイルを どの様に扱うかは、Linux カーネルのバージョンによって異なる: あるバージョンでは、すでに必要な権限を持っている場合を除いて、 その実行を拒否する (そして B<EPERM> を返す)。別のあるバージョンでは set-user-ID/set-group-ID ビットのみを無視し B<exec>()  は成功する。 Linux では、 I<argv> と I<envp> に NULL を指定することができる。 どちらに NULL を指定した場合も、 これらの引き数にヌルポインタ 1 個だけを含むリストへのポインタを指定したのと同じ効果を持つ。 B<「この間違った機能を利用しないこと」>。 これは非標準で、移植性もない。 他のほとんどの UNIX システムでは、これを行うとエラー (B<EFAULT>)  になる。"
4632
4633 #. type: Plain text
4634 #: build/C/man2/execve.2:513
4635 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."
4636 msgstr "POSIX.1-2001 は、 B<sysconf>(3)  が返す値はプロセスの生存中は変化しないべきだとしている。 しかしながら、Linux 2.6.23 以降では、リソース上限 B<RLIMIT_STACK> が変化した場合、 コマンドライン引き数と環境変数を保持するための空間に対する上限が 変化したことを反映して、 B<_SC_ARG_MAX> が返す値も変化する。"
4637
4638 #. type: Plain text
4639 #: build/C/man2/execve.2:528
4640 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."
4641 msgstr "B<execve>() が失敗するほとんどの場合、 制御は元の実行可能イメージに戻り、 B<execve>() の呼び出し元がエラーを処理することができる。 しかしながら、 (リソース枯渇が原因となった場合など、まれに) 呼び出し元に制御が戻る時点を過ぎてからエラーが発生する場合がある。 元の実行可能イメージはすでに破棄されているが、 新しいイメージが完全には構築されていないという状況である。 このような場合、カーネルはそのプロセスをシグナル B<SIGKILL> で停止 (kill) する。"
4642
4643 #. type: Plain text
4644 #: build/C/man2/execve.2:531
4645 msgid "A maximum line length of 127 characters is allowed for the first line in an interpreter scripts."
4646 msgstr "インタプリタスクリプトの 1行目に許されている文字数は、 最大 127 文字である。"
4647
4648 #.  e.g., Solaris 8
4649 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4650 #. type: Plain text
4651 #: build/C/man2/execve.2:550
4652 msgid "The semantics of the I<optional-arg> argument of an interpreter script vary across implementations.  On Linux, the entire string following the I<interpreter> name is passed as a single argument to the interpreter, and this string can include white space.  However, behavior differs on some other systems.  Some systems use the first white space to terminate I<optional-arg>.  On some systems, an interpreter script can have multiple arguments, and white spaces in I<optional-arg> are used to delimit the arguments."
4653 msgstr "インタプリタスクリプトの I<optional-arg> 引き数の解釈方法は実装により異なる。 Linux では、インタプリタ名 I<interpreter> に続く文字列全体がインタプリタに 1個の引き数として渡される。 しかし、動作が異なるシステムもある。 あるシステムでは、 I<optional-arg> のうち最初のホワイトスペースまでが 引き数として渡される。 また、別のシステムでは インタプリタスクリプトは複数の引き数を持つことができ、 I<optional-arg> 内のホワイトスペースが引き数の区切りとなる。"
4654
4655 #.  .SH BUGS
4656 #.  Some Linux versions have failed to check permissions on ELF
4657 #.  interpreters.  This is a security hole, because it allows users to
4658 #.  open any file, such as a rewinding tape device, for reading.  Some
4659 #.  Linux versions have also had other security holes in
4660 #.  .BR execve ()
4661 #.  that could be exploited for denial of service by a suitably crafted
4662 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4663 #. type: Plain text
4664 #: build/C/man2/execve.2:561
4665 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4666 msgstr "Linux はスクリプトの set-user-ID と set-group-ID ビットを無視する。"
4667
4668 #. type: SS
4669 #: build/C/man2/execve.2:561
4670 #, no-wrap
4671 msgid "execve() and EAGAIN"
4672 msgstr "execve() と EAGAIN"
4673
4674 #. type: Plain text
4675 #: build/C/man2/execve.2:567
4676 msgid "A more detailed explanation of the B<EAGAIN> error that can occur (since Linux 3.1) when calling B<execve>()  is as follows."
4677 msgstr "B<execve>() を呼び出した際に (Linux 3.1 以降で) 起こり得る B<EAGAIN> エラーの詳細な説明を以下で行う。"
4678
4679 #.  commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
4680 #. type: Plain text
4681 #: build/C/man2/execve.2:589
4682 msgid "The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), B<setreuid>(2), or B<setresuid>(2)  caused the real user ID of the process to change, and that change caused the process to exceed its B<RLIMIT_NPROC> resource limit (i.e., the number of processes belonging to the new real UID exceeds the resource limit).  From Linux 2.6.0 to 3.0, this caused the B<set*uid>()  call to fail.  (Prior to 2.6, the resource limit was not imposed on processes that changed their user IDs.)"
4683 msgstr "I<直前の> B<setuid>(2), B<setreuid>(2), B<setresuid>(2) の呼び出しで、 そのプロセスの実ユーザー ID が変更され、 その変更によりそのプロセスが B<RLIMIT_NPROC> リソース上限を超過してしまった場合 (すなわち、新しい実ユーザー ID に属するプロセス数が B<RLIMIT_NPROC> リソース上限を超過した場合) に、 B<EAGAIN> エラーが発生する。 Linux 2.6.0 以上 3.0 以下では、これにより B<set*uid>() の呼び出しが失敗していた。 (Linux 2.6 より前では、このリソース上限はユーザー ID を変更したプロセスには適用されていなかった。)"
4684
4685 #. type: Plain text
4686 #: build/C/man2/execve.2:620
4687 msgid "Since Linux 3.1, the scenario just described no longer causes the B<set*uid>()  call to fail, because it too often led to security holes where buggy applications didn't check the return status and assumed that\\(emif the caller had root privileges\\(emthe call would always succeed.  Instead, the B<set*uid>()  calls now successfully change the real UID, but the kernel sets an internal flag, named B<PF_NPROC_EXCEEDED>, to note that the B<RLIMIT_NPROC> resource limit has been exceeded.  If the B<PF_NPROC_EXCEEDED> flag is set and the resource limit is still exceeded at the time of a subsequent B<execve>()  call, that call fails with the error B<EAGAIN>.  This kernel logic ensures that the B<RLIMIT_NPROC> resource limit is still enforced for the common privileged daemon workflow\\(emnamely, B<fork>(2)  + B<set*uid>()  + B<execve>()."
4688 msgstr "Linux 3.1 以降では、上で説明したシナリオでは B<set*uid>() の呼び出しは失敗しない。 なぜなら、 返されたステータスの確認を行わず「呼び出し元が特権を持っている場合には」呼び出しは必ず成功するとみなしているバグがあるアプリケーションでは、セキュリティホールにつながることが非常によくあるからだ。 その代わり、 B<set*uid>() の呼び出しによる実 UID の変更は成功するが、 カーネルは B<PF_NPROC_EXCEEDED> という名前の内部フラグをセットする。 このフラグは B<RLIMIT_NPROC> リソース上限が超過したことを示す。 B<PF_NPROC_EXCEEDED> フラグがセットされていて、その後で B<execve>() が呼ばれた際にリソース上限がまだ超過していれば、 その B<execve>() の呼び出しは B<EAGAIN> エラーで失敗する。 このカーネルのロジックにより、 特権デーモンでよく行われる処理フロー、 すなわち B<fork>(2)  + B<set*uid>()  + B<execve>() に対して、前と変わらず B<RLIMIT_NPROC> リソース上限を適用できることが保証される。"
4689
4690 #. type: Plain text
4691 #: build/C/man2/execve.2:636
4692 msgid "If the resource limit was not still exceeded at the time of the B<execve>()  call (because other processes belonging to this real UID terminated between the B<set*uid>()  call and the B<execve>()  call), then the B<execve>()  call succeeds and the kernel clears the B<PF_NPROC_EXCEEDED> process flag.  The flag is also cleared if a subsequent call to B<fork>(2)  by this process succeeds."
4693 msgstr "(B<set*uid>() と B<execve>() の呼び出しの間に、この実 UID に属する他のプロセスが終了して) 次に B<execve>() が呼び出された際にこのリソース上限が超過してなければ、 B<execve>() の呼び出しは成功し、カーネルは B<PF_NPROC_EXCEEDED> プロセスフラグをクリアする。 同じプロセスによって B<fork>(2) の呼び出しが後で行われた場合にも、このフラグはクリアされる。"
4694
4695 #. type: SS
4696 #: build/C/man2/execve.2:636
4697 #, no-wrap
4698 msgid "Historical"
4699 msgstr "歴史"
4700
4701 #.  .SH BUGS
4702 #.  Some Linux versions have failed to check permissions on ELF
4703 #.  interpreters.  This is a security hole, because it allows users to
4704 #.  open any file, such as a rewinding tape device, for reading.  Some
4705 #.  Linux versions have also had other security holes in
4706 #.  .BR execve ()
4707 #.  that could be exploited for denial of service by a suitably crafted
4708 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4709 #. type: Plain text
4710 #: build/C/man2/execve.2:656
4711 msgid "With UNIX\\ V6, the argument list of an B<exec>()  call was ended by 0, while the argument list of I<main> was ended by -1.  Thus, this argument list was not directly usable in a further B<exec>()  call.  Since UNIX\\ V7, both are NULL."
4712 msgstr "UNIX\\ V6 では B<exec>()  コールの引き数リストは 0 で終端され、 I<main> の引き数リストは -1 で終端されていた。 そのため、 I<main> の引き数リストは、その後の B<exec>()  コールには直接使用できなかった。 UNIX\\ V7 以降では、ともに NULL で終端される。"
4713
4714 #. type: Plain text
4715 #: build/C/man2/execve.2:659
4716 msgid "The following program is designed to be execed by the second program below.  It just echoes its command-line arguments, one per line."
4717 msgstr "このプログラムは、以下の二つ目のプログラムから実行するためのものである。 コマンドライン引き数を 1行に 1個ずつ表示するだけのプログラムである。"
4718
4719 #. type: Plain text
4720 #: build/C/man2/execve.2:663
4721 #, no-wrap
4722 msgid "/* myecho.c */\n"
4723 msgstr "/* myecho.c */\n"
4724
4725 #. type: Plain text
4726 #: build/C/man2/execve.2:666
4727 #, no-wrap
4728 msgid ""
4729 "#include E<lt>stdio.hE<gt>\n"
4730 "#include E<lt>stdlib.hE<gt>\n"
4731 msgstr ""
4732 "#include E<lt>stdio.hE<gt>\n"
4733 "#include E<lt>stdlib.hE<gt>\n"
4734
4735 #. type: Plain text
4736 #: build/C/man2/execve.2:671
4737 #, no-wrap
4738 msgid ""
4739 "int\n"
4740 "main(int argc, char *argv[])\n"
4741 "{\n"
4742 "    int j;\n"
4743 msgstr ""
4744 "int\n"
4745 "main(int argc, char *argv[])\n"
4746 "{\n"
4747 "    int j;\n"
4748
4749 #. type: Plain text
4750 #: build/C/man2/execve.2:674
4751 #, no-wrap
4752 msgid ""
4753 "    for (j = 0; j E<lt> argc; j++)\n"
4754 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4755 msgstr ""
4756 "    for (j = 0; j E<lt> argc; j++)\n"
4757 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4758
4759 #. type: Plain text
4760 #: build/C/man2/execve.2:682
4761 msgid "This program can be used to exec the program named in its command-line argument:"
4762 msgstr "以下のプログラムは、コマンドライン引き数で指定した名前のプログラムを 実行するのに使う。"
4763
4764 #. type: Plain text
4765 #: build/C/man2/execve.2:686
4766 #, no-wrap
4767 msgid "/* execve.c */\n"
4768 msgstr "/* execve.c */\n"
4769
4770 #. type: Plain text
4771 #: build/C/man2/execve.2:690
4772 #, no-wrap
4773 msgid ""
4774 "#include E<lt>stdio.hE<gt>\n"
4775 "#include E<lt>stdlib.hE<gt>\n"
4776 "#include E<lt>unistd.hE<gt>\n"
4777 msgstr ""
4778 "#include E<lt>stdio.hE<gt>\n"
4779 "#include E<lt>stdlib.hE<gt>\n"
4780 "#include E<lt>unistd.hE<gt>\n"
4781
4782 #. type: Plain text
4783 #: build/C/man2/execve.2:696
4784 #, no-wrap
4785 msgid ""
4786 "int\n"
4787 "main(int argc, char *argv[])\n"
4788 "{\n"
4789 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4790 "    char *newenviron[] = { NULL };\n"
4791 msgstr ""
4792 "int\n"
4793 "main(int argc, char *argv[])\n"
4794 "{\n"
4795 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4796 "    char *newenviron[] = { NULL };\n"
4797
4798 #. type: Plain text
4799 #: build/C/man2/execve.2:701
4800 #, no-wrap
4801 msgid ""
4802 "    if (argc != 2) {\n"
4803 "        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4804 "        exit(EXIT_FAILURE);\n"
4805 "    }\n"
4806 msgstr ""
4807 "    if (argc != 2) {\n"
4808 "        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4809 "        exit(EXIT_FAILURE);\n"
4810 "    }\n"
4811
4812 #. type: Plain text
4813 #: build/C/man2/execve.2:703
4814 #, no-wrap
4815 msgid "    newargv[0] = argv[1];\n"
4816 msgstr "    newargv[0] = argv[1];\n"
4817
4818 #. type: Plain text
4819 #: build/C/man2/execve.2:708
4820 #, no-wrap
4821 msgid ""
4822 "    execve(argv[1], newargv, newenviron);\n"
4823 "    perror(\"execve\");   /* execve() only returns on error */\n"
4824 "    exit(EXIT_FAILURE);\n"
4825 "}\n"
4826 msgstr ""
4827 "    execve(argv[1], newargv, newenviron);\n"
4828 "    perror(\"execve\");   /* execve() only returns on error */\n"
4829 "    exit(EXIT_FAILURE);\n"
4830 "}\n"
4831
4832 #. type: Plain text
4833 #: build/C/man2/execve.2:712
4834 msgid "We can use the second program to exec the first as follows:"
4835 msgstr "二つ目のプログラムを使って一つ目のプログラムを実行するには 以下のようにする。"
4836
4837 #. type: Plain text
4838 #: build/C/man2/execve.2:721
4839 #, no-wrap
4840 msgid ""
4841 "$B< cc myecho.c -o myecho>\n"
4842 "$B< cc execve.c -o execve>\n"
4843 "$B< ./execve ./myecho>\n"
4844 "argv[0]: ./myecho\n"
4845 "argv[1]: hello\n"
4846 "argv[2]: world\n"
4847 msgstr ""
4848 "$B< cc myecho.c -o myecho>\n"
4849 "$B< cc execve.c -o execve>\n"
4850 "$B< ./execve ./myecho>\n"
4851 "argv[0]: ./myecho\n"
4852 "argv[1]: hello\n"
4853 "argv[2]: world\n"
4854
4855 #. type: Plain text
4856 #: build/C/man2/execve.2:729
4857 msgid "We can also use these programs to demonstrate the use of a script interpreter.  To do this we create a script whose \"interpreter\" is our I<myecho> program:"
4858 msgstr "さらに、これらのプログラムを使って、スクリプトインタプリタの例を示す。 このために、「インタプリタ」として先ほど作成したプログラム I<myecho> を使うスクリプトを作成する。"
4859
4860 #. type: Plain text
4861 #: build/C/man2/execve.2:736
4862 #, no-wrap
4863 msgid ""
4864 "$B< cat E<gt> script>\n"
4865 "B<#!./myecho script-arg>\n"
4866 "B<^D>\n"
4867 "$B< chmod +x script>\n"
4868 msgstr ""
4869 "$B< cat E<gt> script>\n"
4870 "B<#!./myecho script-arg>\n"
4871 "B<^D>\n"
4872 "$B< chmod +x script>\n"
4873
4874 #. type: Plain text
4875 #: build/C/man2/execve.2:740
4876 msgid "We can then use our program to exec the script:"
4877 msgstr "作成しておいたプログラムを使ってスクリプトを実行する。"
4878
4879 #. type: Plain text
4880 #: build/C/man2/execve.2:749
4881 #, no-wrap
4882 msgid ""
4883 "$B< ./execve ./script>\n"
4884 "argv[0]: ./myecho\n"
4885 "argv[1]: script-arg\n"
4886 "argv[2]: ./script\n"
4887 "argv[3]: hello\n"
4888 "argv[4]: world\n"
4889 msgstr ""
4890 "$B< ./execve ./script>\n"
4891 "argv[0]: ./myecho\n"
4892 "argv[1]: script-arg\n"
4893 "argv[2]: ./script\n"
4894 "argv[3]: hello\n"
4895 "argv[4]: world\n"
4896
4897 #. type: Plain text
4898 #: build/C/man2/execve.2:763
4899 msgid "B<chmod>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), B<ld.so>(8)"
4900 msgstr "B<chmod>(2), B<execveat>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), B<ld.so>(8)"
4901
4902 #. type: TH
4903 #: build/C/man2/exit_group.2:25
4904 #, no-wrap
4905 msgid "EXIT_GROUP"
4906 msgstr "EXIT_GROUP"
4907
4908 #. type: TH
4909 #: build/C/man2/exit_group.2:25
4910 #, no-wrap
4911 msgid "2008-11-27"
4912 msgstr "2008-11-27"
4913
4914 #. type: Plain text
4915 #: build/C/man2/exit_group.2:28
4916 msgid "exit_group - exit all threads in a process"
4917 msgstr "exit_group - プロセス中の全てのスレッドを exit させる"
4918
4919 #. type: Plain text
4920 #: build/C/man2/exit_group.2:31
4921 #, no-wrap
4922 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4923 msgstr "B<#include E<lt>linux/unistd.hE<gt>>\n"
4924
4925 #. type: Plain text
4926 #: build/C/man2/exit_group.2:33
4927 #, no-wrap
4928 msgid "B<void exit_group(int >I<status>B<);>\n"
4929 msgstr "B<void exit_group(int >I<status>B<);>\n"
4930
4931 #. type: Plain text
4932 #: build/C/man2/exit_group.2:39
4933 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."
4934 msgstr "このシステムコールは、基本的に B<exit>(2)  と等しいが、 呼び出し元のスレッドだけでなく、呼び出し元のプロセスのスレッドグループに ある全てのスレッドを終了させる点が異なる。"
4935
4936 #. type: Plain text
4937 #: build/C/man2/exit_group.2:41
4938 msgid "This system call does not return."
4939 msgstr "このシステムコールは値を返さない。"
4940
4941 #. type: Plain text
4942 #: build/C/man2/exit_group.2:43
4943 msgid "This call is present since Linux 2.5.35."
4944 msgstr "このコールは、Linux 2.5.35 以降に存在する。"
4945
4946 #. type: Plain text
4947 #: build/C/man2/exit_group.2:45
4948 msgid "This call is Linux-specific."
4949 msgstr "このシステムコールは Linux 固有である。"
4950
4951 #. type: Plain text
4952 #: build/C/man2/exit_group.2:49
4953 msgid "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  wrapper function is called."
4954 msgstr "glibc 2.3 以降では、 B<exit>(2)  のラッパー関数が呼び出された際に、 このシステムコールが起動される。"
4955
4956 #. type: Plain text
4957 #: build/C/man2/exit_group.2:51
4958 msgid "B<exit>(2)"
4959 msgstr "B<exit>(2)"
4960
4961 #. type: TH
4962 #: build/C/man2/fcntl.2:65
4963 #, no-wrap
4964 msgid "FCNTL"
4965 msgstr "FCNTL"
4966
4967 #. type: Plain text
4968 #: build/C/man2/fcntl.2:68
4969 msgid "fcntl - manipulate file descriptor"
4970 msgstr "fcntl - ファイルディスクリプターの操作を行う"
4971
4972 #. type: Plain text
4973 #: build/C/man2/fcntl.2:72
4974 #, no-wrap
4975 msgid ""
4976 "B<#include E<lt>unistd.hE<gt>>\n"
4977 "B<#include E<lt>fcntl.hE<gt>>\n"
4978 msgstr ""
4979 "B<#include E<lt>unistd.hE<gt>>\n"
4980 "B<#include E<lt>fcntl.hE<gt>>\n"
4981
4982 #. type: Plain text
4983 #: build/C/man2/fcntl.2:74
4984 #, no-wrap
4985 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4986 msgstr "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4987
4988 #. type: Plain text
4989 #: build/C/man2/fcntl.2:81
4990 msgid "B<fcntl>()  performs one of the operations described below on the open file descriptor I<fd>.  The operation is determined by I<cmd>."
4991 msgstr "B<fcntl>()  は、オープンされたファイルディスクリプター I<fd> に関して下記の操作を行う。操作は I<cmd> によって決まる:"
4992
4993 #. type: Plain text
4994 #: build/C/man2/fcntl.2:95
4995 msgid "B<fcntl>()  can take an optional third argument.  Whether or not this argument is required is determined by I<cmd>.  The required argument type is indicated in parentheses after each I<cmd> name (in most cases, the required type is I<int>, and we identify the argument using the name I<arg>), or I<void> is specified if the argument is not required."
4996 msgstr ""
4997 "B<fcntl>() はオプションとして第三引き数をとることができる。 第三引き数が必要\n"
4998 "かどうかは I<cmd> により決まる。必要な引き数の型は I<cmd> 名の後ろの括弧内で\n"
4999 "指定されている (ほとんどの場合、必要な型は I<int> であり、この引き数を表すの\n"
5000 "に I<arg> という名前を使っている)。引き数が必要ない場合には I<void> が指定さ\n"
5001 "れている。"
5002
5003 #. type: Plain text
5004 #: build/C/man2/fcntl.2:106
5005 msgid "Certain of the operations below are supported only since a particular Linux kernel version.  The preferred method of checking whether the host kernel supports a particular operation is to invoke B<fcntl>()  with the desired I<cmd> value and then test whether the call failed with B<EINVAL>, indicating that the kernel does not recognize this value."
5006 msgstr "下記のいくつかの操作は特定のバージョンの Linux カーネルでのみサポートされている。 ホストカーネルが特定の操作をサポートしているかを確認する推奨の方法は、 B<fcntl>() を所望の I<cmd> 値で呼び出し、 B<EINVAL> で失敗するかを検査することである。 B<EINVAL> が返った場合、カーネルがこの値を認識していないことを示す。"
5007
5008 #. type: SS
5009 #: build/C/man2/fcntl.2:106
5010 #, no-wrap
5011 msgid "Duplicating a file descriptor"
5012 msgstr "ファイルディスクリプターの複製"
5013
5014 #. type: TP
5015 #: build/C/man2/fcntl.2:107
5016 #, no-wrap
5017 msgid "B<F_DUPFD> (I<int>)"
5018 msgstr "B<F_DUPFD> (I<int>)"
5019
5020 #. type: Plain text
5021 #: build/C/man2/fcntl.2:117
5022 msgid "Find the lowest numbered available file descriptor greater than or equal to I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), which uses exactly the descriptor specified."
5023 msgstr "利用可能なファイルディスクリプターのうち、 I<arg> 以上で最小のものを探し、 I<fd> のコピーとする。これは別の形の B<dup2>(2)  である。 B<dup2>(2)  では指定されたディスクリプターが使われる点が違う。"
5024
5025 #. type: Plain text
5026 #: build/C/man2/fcntl.2:119
5027 msgid "On success, the new descriptor is returned."
5028 msgstr "成功すると、新しいディスクリプターが返される。"
5029
5030 #. type: Plain text
5031 #: build/C/man2/fcntl.2:123
5032 msgid "See B<dup>(2)  for further details."
5033 msgstr "詳細は B<dup>(2)  を参照のこと。"
5034
5035 #. type: TP
5036 #: build/C/man2/fcntl.2:123
5037 #, no-wrap
5038 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
5039 msgstr "B<F_DUPFD_CLOEXEC> (I<int>; Linux 2.6.24 以降)"
5040
5041 #. type: Plain text
5042 #: build/C/man2/fcntl.2:140
5043 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)."
5044 msgstr "B<F_DUPFD> と同様だが、それに加えて複製されたディスクリプターに対して close-on-exec フラグをセットする。 このフラグを指定することで、プログラムは B<FD_CLOEXEC> フラグをセットするために B<fcntl>()  の B<F_SETFD> 操作を追加で行う必要がなくなる。 このフラグがなぜ有用かについては、 B<open>(2)  の B<O_CLOEXEC> の説明を参照のこと。"
5045
5046 #. type: SS
5047 #: build/C/man2/fcntl.2:140
5048 #, no-wrap
5049 msgid "File descriptor flags"
5050 msgstr "ファイルディスクリプターフラグ"
5051
5052 #. type: Plain text
5053 #: build/C/man2/fcntl.2:151
5054 msgid "The following commands manipulate the flags associated with a file descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will remain open across an B<execve>(2), otherwise it will be closed."
5055 msgstr "以下のコマンドを使って、ファイルディスクリプターに関連するフラグ を操作することができる。 現在のところ、定義されているフラグは一つだけである: B<FD_CLOEXEC> (close-on-exec フラグ)。 B<FD_CLOEXEC> ビットが 0 なら、ファイルディスクリプターは B<execve>(2)  を行ってもオープンされたままだが、そうでない場合はクローズされる。"
5056
5057 #. type: TP
5058 #: build/C/man2/fcntl.2:151
5059 #, no-wrap
5060 msgid "B<F_GETFD> (I<void>)"
5061 msgstr "B<F_GETFD> (I<void>)"
5062
5063 #. type: Plain text
5064 #: build/C/man2/fcntl.2:156
5065 msgid "Read the file descriptor flags; I<arg> is ignored."
5066 msgstr "ファイルディスクリプターフラグを読み出す。 I<arg> は無視される。"
5067
5068 #. type: TP
5069 #: build/C/man2/fcntl.2:156
5070 #, no-wrap
5071 msgid "B<F_SETFD> (I<int>)"
5072 msgstr "B<F_SETFD> (I<int>)"
5073
5074 #. type: Plain text
5075 #: build/C/man2/fcntl.2:160
5076 msgid "Set the file descriptor flags to the value specified by I<arg>."
5077 msgstr "ファイルディスクリプターフラグに I<arg> で指定した値を設定する。"
5078
5079 #. type: Plain text
5080 #: build/C/man2/fcntl.2:175
5081 msgid "In multithreaded programs, using B<fcntl>()  B<F_SETFD> to set the close-on-exec flag at the same time as another thread performs a B<fork>(2)  plus B<execve>(2)  is vulnerable to a race condition that may unintentionally leak the file descriptor to the program executed in the child process.  See the discussion of the B<O_CLOEXEC> flag in B<open>(2)  for details and a remedy to the problem."
5082 msgstr "マルチスレッドプログラムでは、 B<fcntl>() の B<F_SETFD> を使って close-on-exec フラグを設定するのと同時に、 別のスレッドで B<execve>(2) と B<fork>(2) を実行することは、競合条件次第では、 そのファイルディスクリプターが子プロセスで実行されるプログラムに意図せず見えてしまうという危険性がある。 詳細とこの問題への対処法については B<open>(2) の B<O_CLOEXEC> フラグの議論を参照のこと。"
5083
5084 #. type: SS
5085 #: build/C/man2/fcntl.2:175
5086 #, no-wrap
5087 msgid "File status flags"
5088 msgstr "ファイル状態フラグ"
5089
5090 #.  or
5091 #.  .BR creat (2),
5092 #. type: Plain text
5093 #: build/C/man2/fcntl.2:190
5094 msgid "Each open file description has certain associated status flags, initialized by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer to the same open file description, and thus share the same file status flags."
5095 msgstr "オープンファイル記述 (open file description) には、 ファイル記述毎に設定される状態フラグがいくつかある。これらのフラグは B<open>(2)  によって初期化され、 B<fcntl>(2)  により変更することもできる。これらは、 (B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2)  などで) 複製されたファイルディスクリプター同士は 同じオープンファイル記述を参照する。 そのため、 同じファイル状態フラグが共有される。"
5096
5097 #. type: Plain text
5098 #: build/C/man2/fcntl.2:193
5099 msgid "The file status flags and their semantics are described in B<open>(2)."
5100 msgstr "ファイル状態フラグとその意味は B<open>(2)  で説明されている。"
5101
5102 #. type: TP
5103 #: build/C/man2/fcntl.2:193
5104 #, no-wrap
5105 msgid "B<F_GETFL> (I<void>)"
5106 msgstr "B<F_GETFL> (I<void>)"
5107
5108 #. type: Plain text
5109 #: build/C/man2/fcntl.2:198
5110 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
5111 msgstr ""
5112 "ファイルのアクセスモードとファイル状態フラグを取得する。\n"
5113 "I<arg> は無視される。"
5114
5115 #. type: TP
5116 #: build/C/man2/fcntl.2:198
5117 #, no-wrap
5118 msgid "B<F_SETFL> (I<int>)"
5119 msgstr "B<F_SETFL> (I<int>)"
5120
5121 #. type: Plain text
5122 #: build/C/man2/fcntl.2:223
5123 msgid "Set the file status flags to the value specified by I<arg>.  File access mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, B<O_NOATIME>, and B<O_NONBLOCK> flags.  It is not possible to change the B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below."
5124 msgstr "ファイル状態フラグに I<arg> で指定された値を設定する。 I<arg> のうち、ファイルのアクセスモード (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  とファイル作成フラグ (すなわち B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  に関するビットは無視される。 Linux では、このコマンドで変更できるのは B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, B<O_NOATIME>, B<O_NONBLOCK> フラグだけである。フラグ B<O_DSYNC>, B<O_SYNC> を変更することはできない。下記の「バグ」を参照。"
5125
5126 #. type: SS
5127 #: build/C/man2/fcntl.2:223
5128 #, no-wrap
5129 msgid "Advisory record locking"
5130 msgstr "アドバイザリーレコードロック"
5131
5132 #. type: Plain text
5133 #: build/C/man2/fcntl.2:228
5134 msgid "Linux implements traditional (\"process-associated\") UNIX record locks, as standardized by POSIX.  For a Linux-specific alternative with better semantics, see the discussion of open file description locks below."
5135 msgstr "Linux は昔からある (「プロセスに関連付けられる」) UNIX のレコードロックを実装している。 このレコードロックは POSIX で標準化されている。 Linux 固有のより良い動作を行うロックについては、下記のオープンファイル記述ロックの議論を参照のこと。"
5136
5137 #. type: Plain text
5138 #: build/C/man2/fcntl.2:239
5139 msgid "B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and test for the existence of record locks (also known as byte-range, file-segment, or file-region locks).  The third argument, I<lock>, is a pointer to a structure that has at least the following fields (in unspecified order)."
5140 msgstr "B<F_SETLK>, B<F_SETLKW>, B<F_GETLK> は、レコードロックの獲得/解放/テストのために使用する (レコードロックは、バイト範囲ロック、ファイルセグメントロック、ファイル領域ロックとも呼ばれる)。 三番目の引き数 I<lock> は、以下に示すフィールドを含む構造体へのポインタである (フィールドの順序は関係なく、構造体に他のフィールドがあってもよい)。"
5141
5142 #. type: Plain text
5143 #: build/C/man2/fcntl.2:254
5144 #, no-wrap
5145 msgid ""
5146 "struct flock {\n"
5147 "    ...\n"
5148 "    short l_type;    /* Type of lock: F_RDLCK,\n"
5149 "                        F_WRLCK, F_UNLCK */\n"
5150 "    short l_whence;  /* How to interpret l_start:\n"
5151 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
5152 "    off_t l_start;   /* Starting offset for lock */\n"
5153 "    off_t l_len;     /* Number of bytes to lock */\n"
5154 "    pid_t l_pid;     /* PID of process blocking our lock\n"
5155 "                        (set by F_GETLK and F_OFD_GETLK) */\n"
5156 "    ...\n"
5157 "};\n"
5158 msgstr ""
5159 "struct flock {\n"
5160 "    ...\n"
5161 "    short l_type;    /* Type of lock: F_RDLCK,\n"
5162 "                        F_WRLCK, F_UNLCK */\n"
5163 "    short l_whence;  /* How to interpret l_start:\n"
5164 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
5165 "    off_t l_start;   /* Starting offset for lock */\n"
5166 "    off_t l_len;     /* Number of bytes to lock */\n"
5167 "    pid_t l_pid;     /* PID of process blocking our lock\n"
5168 "                        (set by F_GETLK and F_OFD_GETLK) */\n"
5169 "    ...\n"
5170 "};\n"
5171
5172 #. type: Plain text
5173 #: build/C/man2/fcntl.2:262
5174 msgid "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify the range of bytes we wish to lock.  Bytes past the end of the file may be locked, but not bytes before the start of the file."
5175 msgstr "この構造体の I<l_whence>, I<l_start>, I<l_len> フィールドで、ロックを行いたいバイト範囲を指定する。 ファイルの末尾より後ろのバイトをロックすることはできるが、 ファイルの先頭より前のバイトをロックすることはできない。"
5176
5177 #. type: Plain text
5178 #: build/C/man2/fcntl.2:282
5179 msgid "I<l_start> is the starting offset for the lock, and is interpreted relative to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file (if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be a negative number provided the offset does not lie before the start of the file."
5180 msgstr "I<l_start> はロックを行う領域の開始オフセットである。 その意味は I<l_whence> により異なる: I<l_whence> が B<SEEK_SET> の場合はファイルの先頭からのオフセット、 I<l_whence> が B<SEEK_CUR> の場合は現在のファイルオフセットからのオフセット、 I<l_whence> が B<SEEK_END> の場合はファイルの末尾からのオフセットと解釈される。 後ろの2つの場合には、 ファイルの先頭より前にならない範囲で、 I<l_start> に負の値を指定することができる。"
5181
5182 #. type: Plain text
5183 #: build/C/man2/fcntl.2:297
5184 msgid "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is positive, then the range to be locked covers bytes I<l_start> up to and including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special meaning: lock all bytes starting at the location specified by I<l_whence> and I<l_start> through to the end of file, no matter how large the file grows."
5185 msgstr "I<l_len> はロックしたいバイト数を示す。 I<l_len> が正の場合、ロックされるバイト範囲は I<l_start> 以上 I<l_start>+I<l_len>-1 以下となる。 I<l_len> に 0 を指定した場合は特別な意味を持つ: I<l_whence> and I<l_start> で指定される位置からファイルの末尾までの全てのバイトをロックする (ファイルがどんなに大きくなったとしてもファイルの末尾までロックする)。"
5186
5187 #. type: Plain text
5188 #: build/C/man2/fcntl.2:310
5189 msgid "POSIX.1-2001 allows (but does not require)  an implementation to support a negative I<l_len> value; if I<l_len> is negative, the interval described by I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
5190 msgstr "POSIX.1-2001 では、負の値の I<l_len> をサポートする実装を認めている (必須ではない)。 I<l_len> が負の場合、ロックされるバイト範囲は I<l_start>+I<l_len> 以上 I<l_start>-1 以下となる。 この動作はカーネル 2.4.21 以降および 2.5.49 以降の Linux で サポートされている。"
5191
5192 #. type: Plain text
5193 #: build/C/man2/fcntl.2:329
5194 msgid "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write (B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock (shared lock)  on a file region, but only one process may hold a write lock (exclusive lock).  An exclusive lock excludes all other locks, both shared and exclusive.  A single process can hold only one type of lock on a file region; if a new lock is applied to an already-locked region, then the existing lock is converted to the new lock type.  (Such conversions may involve splitting, shrinking, or coalescing with an existing lock if the byte range specified by the new lock does not precisely coincide with the range of the existing lock.)"
5195 msgstr "I<l_type> フィールドは、ファイルに対して読み出しロック (B<F_RDLCK>)  と書き込みロック (B<F_WRLCK>)  のどちらを 設定するかを指定する。 ファイルのある領域に対して、読み出しロック (共有ロック) を保持できる プロセス数に制限はないが、書き込みロック (排他ロック) を保持できる のは一つのプロセスだけである。排他ロックを設定すると、(共有ロックか 排他ロックにかかわらず) 他のロックは何も設定できない。 一つのプロセスは、ファイルのある領域に対して一種類のロックしか保持できない。 新規のロックがロックが設定されている領域に対して適用されると、既存のロック は新規のロックの種別に変換される (新規のロックで指定されたバイト範囲が既存ロックの範囲と一致する場合以外では、 変換の過程で既存のロックの分割、縮小、結合が行われることがある)。"
5196
5197 #. type: TP
5198 #: build/C/man2/fcntl.2:329
5199 #, no-wrap
5200 msgid "B<F_SETLK> (I<struct flock *>)"
5201 msgstr "B<F_SETLK> (I<struct flock *>)"
5202
5203 #. type: Plain text
5204 #: build/C/man2/fcntl.2:354
5205 msgid "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting lock is held by another process, this call returns -1 and sets I<errno> to B<EACCES> or B<EAGAIN>.  (The error returned in this case differs across implementations, so POSIX requires a portable application to check for both errors.)"
5206 msgstr "(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) ロックの獲得を、 (B<F_UNLCK> の場合は) ロックの解放を、 I<flock> 構造体のフィールド I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 I<errno> に B<EACCES> か B<EAGAIN> を設定する。 (この場合に返されるエラーは実装により異なる。 そのため、 POSIX では移植性が必要なアプリケーションでは、 これらの両方のエラーをチェックすることが必要としている。)"
5207
5208 #. type: TP
5209 #: build/C/man2/fcntl.2:354
5210 #, no-wrap
5211 msgid "B<F_SETLKW> (I<struct flock *>)"
5212 msgstr "B<F_SETLKW> (I<struct flock *>)"
5213
5214 #. type: Plain text
5215 #: build/C/man2/fcntl.2:368
5216 msgid "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait for that lock to be released.  If a signal is caught while waiting, then the call is interrupted and (after the signal handler has returned)  returns immediately (with return value -1 and I<errno> set to B<EINTR>; see B<signal>(7))."
5217 msgstr "B<F_SETLK> と同様だが、こちらではそのファイルに対して衝突するロックが 適用されていた場合に、そのロックが解放されるのを待つ点が異なる。 待っている間にシグナルを受けた場合は、システムコールは中断され、 (シグナルハンドラが戻った直後に) 返り値 -1 を返す (また I<errno> に B<EINTR> が設定される; B<signal>(7)  参照)。"
5218
5219 #. type: TP
5220 #: build/C/man2/fcntl.2:368
5221 #, no-wrap
5222 msgid "B<F_GETLK> (I<struct flock *>)"
5223 msgstr "B<F_GETLK> (I<struct flock *>)"
5224
5225 #. type: Plain text
5226 #: build/C/man2/fcntl.2:382
5227 msgid "On input to this call, I<lock> describes a lock we would like to place on the file.  If the lock could be placed, B<fcntl>()  does not actually place it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the other fields of the structure unchanged."
5228 msgstr "このコールの呼び出し時には、 I<lock> にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、 B<fcntl>()  は実際にはロックを行わず、 構造体 I<lock> の I<l_type> フィールドに B<F_UNLCK> を返し、 他のフィールドは変更しない。 "
5229
5230 #. type: Plain text
5231 #: build/C/man2/fcntl.2:399
5232 msgid "If one or more incompatible locks would prevent this lock being placed, then B<fcntl>()  returns details about one of those locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If the conflicting lock is a traditional (process-associated) record lock, then the I<l_pid> field is set to the PID of the process holding that lock.  If the conflicting lock is an open file description lock, then I<l_pid> is set to -1.  Note that the returned information may already be out of date by the time the caller inspects it."
5233 msgstr "違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 B<fcntl>() は、 原因となったロックの一つについての詳細を、 I<lock> のフィールド I<l_type>, I<l_whence>, I<l_start>, I<l_len> で返す。 衝突するロックが昔からある (プロセスに関連付けられる) レコードロックの場合、 I<l_pid> フィールドにロックを保持しているプロセスの PID が設定される。 衝突するロックがオープンファイル記述ロックの場合、 I<l_pid> に -1 が設定される。 呼び出し元がその内容を参照した時点では、 返された情報はすでに古いものとなっている可能性がある点に注意すること。"
5234
5235 #. type: Plain text
5236 #: build/C/man2/fcntl.2:407
5237 msgid "In order to place a read lock, I<fd> must be open for reading.  In order to place a write lock, I<fd> must be open for writing.  To place both types of lock, open a file read-write."
5238 msgstr "読み出しロックを適用するには、 I<fd> は読み出し用にオープンされていなければならない。 書き込みロックを適用するには、 I<fd> は書き込み用にオープンされていなければならない。 読み書き両方のロックを適用するには、読み書き両用で ファイルをオープンしなければならない。"
5239
5240 #. type: Plain text
5241 #: build/C/man2/fcntl.2:430
5242 msgid "When placing locks with B<F_SETLKW>, the kernel detects I<deadlocks>, whereby two or more processes have their lock requests mutually blocked by locks held by the other processes.  For example, suppose process A holds a write lock on byte 100 of a file, and process B holds a write lock on byte 200.  If each process then attempts to lock the byte already locked by the other process using B<F_SETLKW>, then, without deadlock detection, both processes would remain blocked indefinitely.  When the kernel detects such deadlocks, it causes one of the blocking lock requests to immediately fail with the error B<EDEADLK>; an application that encounters such an error should release some of its locks to allow other applications to proceed before attempting regain the locks that it requires.  Circular deadlocks involving more than two processes are also detected.  Note, however, that there are limitations to the kernel's deadlock-detection algorithm; see BUGS."
5243 msgstr "B<F_SETLKW> でロックを適用する際、 カーネルはI<デッドロック>の検出を行う。 2 つ以上のプロセスが、 他のプロセスが保持するロックにより互いにブロックされるようなロック要求を行っているかを検査する。 例えば、 プロセス A があるファイルのバイト 100 に対して書き込みロックを保持していて、 プロセス B がバイト 200 に対して書き込みロックを保持しているとする。 各プロセスが B<F_SETLKW> を使って他のプロセスによるすでにロックされているバイトをロックしようとすると、 デッドロック検出がない場合、 両方のプロセスが無限に停止することになる。 カーネルはこのようなデッドロックを検出すると、 停止していたロック要求の一つをエラー B<EDEADLK> ですぐに失敗させる。 このエラーを受け取ったアプリケーションは、 必要なロックを再度獲得しようとする前に、 他のアプリケーションが実行できるように自分が保持するロックのいくつかを解放する必要がある。 3 つ以上のプロセスが関連する循環するデッドロックも検出される。 ただし、 カーネルのデッドロック検出アルゴリズムには制限がある点に注意すること。 「バグ」を参照。"
5244
5245 #. type: Plain text
5246 #: build/C/man2/fcntl.2:434
5247 msgid "As well as being removed by an explicit B<F_UNLCK>, record locks are automatically released when the process terminates."
5248 msgstr "ろコードロックは B<F_UNLCK> で明示的に削除されるだけでなく、 そのプロセスが終了した際には自動的に解放される。"
5249
5250 #. type: Plain text
5251 #: build/C/man2/fcntl.2:439
5252 msgid "Record locks are not inherited by a child created via B<fork>(2), but are preserved across an B<execve>(2)."
5253 msgstr "レコードのロックは B<fork>(2)  で作成された子プロセスには継承されないが、 B<execve>(2)  の前後では保存される。"
5254
5255 #. type: Plain text
5256 #: build/C/man2/fcntl.2:448
5257 msgid "Because of the buffering performed by the B<stdio>(3)  library, the use of record locking with routines in that package should be avoided; use B<read>(2)  and B<write>(2)  instead."
5258 msgstr "B<stdio>(3)  ではバッファーリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに B<read>(2)  や B<write>(2)  を使用すること。"
5259
5260 #. type: Plain text
5261 #: build/C/man2/fcntl.2:452
5262 msgid "The record locks described above are associated with the process (unlike the open file description locks described below).  This has some unfortunate consequences:"
5263 msgstr "上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異なる点である)。 そのため、 残念ながら以下のようなことが起こる。"
5264
5265 #.  (Additional file descriptors referring to the same file
5266 #.  may have been obtained by calls to
5267 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
5268 #. type: Plain text
5269 #: build/C/man2/fcntl.2:468
5270 msgid "If a process closes I<any> file descriptor referring to a file, then all of the process's locks on that file are released, regardless of the file descriptor(s) on which the locks were obtained.  This is bad: it means that a process can lose its locks on a file such as I</etc/passwd> or I</etc/mtab> when for some reason a library function decides to open, read, and close the same file."
5271 msgstr "プロセスがロックが適用されているファイルを参照しているファイルディスクリプターの「いずれか」をクローズした場合、 そのファイルに対するそのプロセスのすべてのロックが解放される。 この動作はまずい。 あるプロセスが I</etc/passwd> や I</etc/mtab> といったファイルにロックを適用しているときに、 あるライブラリ関数が何かの理由で同じファイルを open, read, close すると、そのファイルへのロックが失われることになる。"
5272
5273 #. type: Plain text
5274 #: build/C/man2/fcntl.2:473
5275 msgid "The threads in a process share locks.  In other words, a multithreaded program can't use record locking to ensure that threads don't simultaneously access the same region of a file."
5276 msgstr "1 つのプロセス内のスレッドはロックを共有する。 言い換えると、 マルチスレッドのプログラムで、 レコードロックを使って、 複数のスレッドが同時に 1 つのファイルの同じ領域にアクセスしないようにすることはできないということだ。"
5277
5278 #. type: Plain text
5279 #: build/C/man2/fcntl.2:475
5280 msgid "Open file description locks solve both of these problems."
5281 msgstr "オープンファイル記述ロックを使うとこれらの問題が解決できる。"
5282
5283 #. type: SS
5284 #: build/C/man2/fcntl.2:475
5285 #, no-wrap
5286 msgid "Open file description locks (non-POSIX)"
5287 msgstr "オープンファイル記述ロック (非 POSIX)"
5288
5289 #. type: Plain text
5290 #: build/C/man2/fcntl.2:482
5291 msgid "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.  For an explanation of open file descriptions, see B<open>(2)."
5292 msgstr "オープンファイル記述ロックはバイト範囲に対するアドバイザリーロックで、 ほとんどの点で上述の昔からあるレコードロックと等価である。 このロック種別は Linux 固有であり、 Linux 3.15 以降で利用できる。 オープンファイル記述の説明は B<open>(2) を参照。"
5293
5294 #. type: Plain text
5295 #: build/C/man2/fcntl.2:500
5296 msgid "The principal difference between the two lock types is that whereas traditional record locks are associated with a process, open file description locks are associated with the open file description on which they are acquired, much like locks acquired with B<flock>(2).  Consequently (and unlike traditional advisory record locks), open file description locks are inherited across B<fork>(2)  (and B<clone>(2)  with B<CLONE_FILES>), and are only automatically released on the last close of the open file description, instead of being released on any close of the file."
5297 msgstr "2 つのロック種別の主な違いは、 昔からあるレコードロックはプロセスに関連付けられるのに対して、 オープンファイル記述ロックはロックが獲得されるオープンファイル記述に関連付けられる点である。 この動作は B<flock>(2) で獲得されるロックによく似ている。 結果として (昔からあるアドバイザリーレコードロックと違い)、 オープンファイル記述ロックは B<fork>(2) (や B<CLONE_FILES> 付きの B<clone>(2)) の前後で継承され、 ファイルのクローズ時に解放されるのではなく、 オープンファイル記述の最後のクローズ時にのみ自動的に解放される。"
5298
5299 #. type: Plain text
5300 #: build/C/man2/fcntl.2:503
5301 msgid "Open file description locks always conflict with traditional record locks, even when they are acquired by the same process on the same file descriptor."
5302 msgstr "オープンファイル記述ロックは常に昔からあるレコードロックと競合する。 たとえ、 ロックが同じプロセスによって同じファイルディスクリプターに対して行われたとしてもである。"
5303
5304 #. type: Plain text
5305 #: build/C/man2/fcntl.2:516
5306 msgid "Open file description locks placed via the same open file description (i.e., via the same file descriptor, or via a duplicate of the file descriptor created by B<fork>(2), B<dup>(2), B<fcntl>(2)  B<F_DUPFD>, and so on) are always compatible: if a new lock is placed on an already locked region, then 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.)"
5307 msgstr "同じオープンファイル記述経由 (同じファイルディスクリプター経由や B<fork>(2), B<dup>(2), B<fcntl>(2) B<F_DUPFD> などで作成されたファイルディスクリプターの複製経由) で適用されたオープンファイル記述ロックは常に互換性がある。 つまり、 すでにロックされている領域に対して新しいロックが適用された場合、 既存のロックは新しいロック種別に変換される。 (上記で説明した通り、 このような変換の結果、 既存のロックの分割、 縮小、 結合が行われることがある。)"
5308
5309 #. type: Plain text
5310 #: build/C/man2/fcntl.2:524
5311 msgid "On the other hand, open file description locks may conflict with each other when they are acquired via different open file descriptions.  Thus, the threads in a multithreaded program can use open file description locks to synchronize access to a file region by having each thread perform its own B<open>(2)  on the file and applying locks via the resulting file descriptor."
5312 msgstr "一方、 異なるオープンファイル記述経由で獲得されると、 オープンファイル記述ロックは互いに競合する。 したがって、 マルチスレッドプログラムのスレッドは、 各スレッドがそれぞれ自分で B<open>(2) を実行し、 得られたファイルディスクリプター経由でロックを適用することで、 オープンファイル記述ロックを使って一つのファイル領域えのアクセスを同期させることができる。"
5313
5314 #. type: Plain text
5315 #: build/C/man2/fcntl.2:535
5316 msgid "As with traditional advisory locks, the third argument to B<fcntl>(), I<lock>, is a pointer to an I<flock> structure.  By contrast with traditional record locks, the I<l_pid> field of that structure must be set to zero when using the commands described below."
5317 msgstr "昔からあるレコードロックの場合と同様、 B<fcntl>() の第 3 引き数 I<lock> は I<flock> 構造体へのポインターである。 昔からあるレコードロックと違い、 下記で説明するコマンドを使う際には、 この構造体のフィールド I<l_pid> に 0 を設定しなければならない。"
5318
5319 #. type: Plain text
5320 #: build/C/man2/fcntl.2:538
5321 msgid "The commands for working with open file description locks are analogous to those used with traditional locks:"
5322 msgstr "オープンファイル記述ロックで使用できるコマンドは、 昔からあるロックのコマンドと同じである。"
5323
5324 #. type: TP
5325 #: build/C/man2/fcntl.2:538
5326 #, no-wrap
5327 msgid "B<F_OFD_SETLK> (I<struct flock *>)"
5328 msgstr "B<F_OFD_SETLK> (I<struct flock *>)"
5329
5330 #. type: Plain text
5331 #: build/C/man2/fcntl.2:559
5332 msgid "Acquire an open file description lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release an open file description lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting lock is held by another process, this call returns -1 and sets I<errno> to B<EAGAIN>."
5333 msgstr "(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) オープンファイル記述のロックの獲得を、 (B<F_UNLCK> の場合は) オープンファイル記述のロックの解放を、 I<flock> 構造体のフィールド I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 I<errno> に B<EAGAIN> を設定する。"
5334
5335 #. type: TP
5336 #: build/C/man2/fcntl.2:559
5337 #, no-wrap
5338 msgid "B<F_OFD_SETLKW> (I<struct flock *>)"
5339 msgstr "B<F_OFD_SETLKW> (I<struct flock *>)"
5340
5341 #. type: Plain text
5342 #: build/C/man2/fcntl.2:573
5343 msgid "As for B<F_OFD_SETLK>, but if a conflicting lock is held on the file, then wait for that lock to be released.  If a signal is caught while waiting, then the call is interrupted and (after the signal handler has returned) returns immediately (with return value -1 and I<errno> set to B<EINTR>; see B<signal>(7))."
5344 msgstr "B<F_OFD_SETLK> と同様だが、こちらではそのファイルに対して衝突するロックが 適用されていた場合に、そのロックが解放されるのを待つ点が異なる。 待っている間にシグナルを受けた場合は、システムコールは中断され、 (シグナルハンドラが戻った直後に) 返り値 -1 を返す (また I<errno> に B<EINTR> が設定される; B<signal>(7)  参照)。"
5345
5346 #. type: TP
5347 #: build/C/man2/fcntl.2:573
5348 #, no-wrap
5349 msgid "B<F_OFD_GETLK> (I<struct flock *>)"
5350 msgstr "B<F_OFD_GETLK> (I<struct flock *>)"
5351
5352 #. type: Plain text
5353 #: build/C/man2/fcntl.2:592
5354 msgid "On input to this call, I<lock> describes an open file description lock we would like to place on the file.  If the lock could be placed, B<fcntl>()  does not actually place it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the other fields of the structure unchanged.  If one or more incompatible locks would prevent this lock being placed, then details about one of these locks are returned via I<lock>, as described above for B<F_GETLK>."
5355 msgstr "このコールの呼び出し時には、 I<lock> にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、 B<fcntl>()  は実際にはロックを行わず、 構造体 I<lock> の I<l_type> フィールドで B<F_UNLCK> を返し、 他のフィールドは変更しない。 違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 原因となったロックの一つについての詳細が I<lock> で返される。 詳細は上記の B<F_GETLK> を参照。"
5356
5357 #.  commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
5358 #. type: Plain text
5359 #: build/C/man2/fcntl.2:599
5360 msgid "In the current implementation, no deadlock detection is performed for open file description locks.  (This contrasts with process-associated record locks, for which the kernel does perform deadlock detection.)"
5361 msgstr "現在の実装では、 オープンファイル記述ロクではデッドロックの検出は行われない。 (これがプロセスと関連付けられるレコードロックとは異なる点である。 プロセスと関連付けられるレコードロックではカーネルはデッドロックの検出を行う。)"
5362
5363 #. type: SS
5364 #: build/C/man2/fcntl.2:599 build/C/man2/fcntl.2:1894
5365 #, no-wrap
5366 msgid "Mandatory locking"
5367 msgstr "強制ロック (mandatory locking)"
5368
5369 #. type: Plain text
5370 #: build/C/man2/fcntl.2:603
5371 msgid "I<Warning>: the Linux implementation of mandatory locking is unreliable.  See BUGS below."
5372 msgstr "I<警告>: Linux の強制ロックの実装は信頼性に欠けるものである。 下記の「バグ」の節を参照のこと。"
5373
5374 #. type: Plain text
5375 #: build/C/man2/fcntl.2:608
5376 msgid "By default, both traditional (process-associated) and open file description record locks are advisory.  Advisory locks are not enforced and are useful only between cooperating processes."
5377 msgstr "デフォルトでは、 昔からある (プロセスに関連付けられる) レコードロックも、 オープンファイル記述のろコードロックも、 アドバイザリーロックである。 アドバイザリーロックに強制力はなく、協調して動作するプロセス間でのみ有効である。"
5378
5379 #. type: Plain text
5380 #: build/C/man2/fcntl.2:628
5381 msgid "Both lock types can also be mandatory.  Mandatory locks are enforced for all processes.  If a process tries to perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file region that has an incompatible mandatory lock, then the result depends upon whether the B<O_NONBLOCK> flag is enabled for its open file description.  If the B<O_NONBLOCK> flag is not enabled, then the system call is blocked until the lock is removed or converted to a mode that is compatible with the access.  If the B<O_NONBLOCK> flag is enabled, then the system call fails with the error B<EAGAIN>."
5382 msgstr "両方のタイプのロックも強制ロックにすることもできる。 強制ロックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して (B<read>(2)  や B<write>(2)  により) 互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で B<O_NONBLOCK> フラグが有効になっているかにより決まる。 B<O_NONBLOCK> フラグが有効になっていないときは、ロックが削除されるか、 ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 (block) される。 B<O_NONBLOCK> フラグが有効になっているときは、システムコールはエラー B<EAGAIN> で失敗する。"
5383
5384 #. type: Plain text
5385 #: build/C/man2/fcntl.2:645
5386 msgid "To make use of mandatory locks, mandatory locking must be enabled both on the filesystem that contains the file to be locked, and on the file itself.  Mandatory locking is enabled on a filesystem using the \"-o mand\" option to B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking is enabled on a file by disabling group execute permission on the file and enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
5387 msgstr "強制ロックを使用するためには、ロック対象のファイルが含まれるファイルシステム と、ロック対象のファイル自身の両方について、強制ロックが有効になっていなけれ ばならない。ファイルシステムについて強制ロックを有効にするには、 B<mount>(8)  に \"-o mand\" オプションを渡すか、 B<mount>(2)  に B<MS_MANDLOCK> フラグを指定する。ファイルについて強制ロックを有効にするには、 そのファイルのグループ実行許可 (group execute permission) を無効とし、 かつ set-group-ID 許可ビットを有効にする (B<chmod>(1)  と B<chmod>(2)  を参照)。"
5388
5389 #. type: Plain text
5390 #: build/C/man2/fcntl.2:649
5391 msgid "Mandatory locking is not specified by POSIX.  Some other systems also support mandatory locking, although the details of how to enable it vary across systems."
5392 msgstr "強制ロックは POSIX では規定されていない。 他のいくつかのシステムでも強制ロックはサポートされているが、 強制ロックをどのようにして有効にするかの詳細はシステムより異なる。"
5393
5394 #. type: SS
5395 #: build/C/man2/fcntl.2:649
5396 #, no-wrap
5397 msgid "Managing signals"
5398 msgstr "シグナルの管理"
5399
5400 #. type: Plain text
5401 #: build/C/man2/fcntl.2:658
5402 msgid "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and B<F_SETSIG> are used to manage I/O availability signals:"
5403 msgstr "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, B<F_SETSIG> は、I/O が利用可能になったことを示すシグナルを管理するために使用される。"
5404
5405 #. type: TP
5406 #: build/C/man2/fcntl.2:658
5407 #, no-wrap
5408 msgid "B<F_GETOWN> (I<void>)"
5409 msgstr "B<F_GETOWN> (I<void>)"
5410
5411 #. type: Plain text
5412 #: build/C/man2/fcntl.2:671
5413 msgid "Return (as the function result)  the process ID or process group currently receiving B<SIGIO> and B<SIGURG> signals for events on file 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."
5414 msgstr "ファイルディスクリプター I<fd> のイベントに対するシグナル B<SIGIO> および B<SIGURG> を受けているプロセスのプロセスID かプロセスグループを (関数の結果として) 返す。 プロセスID は正の値として返される。 プロセスグループID は負の値として返される (下記のバグの章を参照)。 I<arg> は無視される。"
5415
5416 #. type: TP
5417 #: build/C/man2/fcntl.2:671
5418 #, no-wrap
5419 msgid "B<F_SETOWN> (I<int>)"
5420 msgstr "B<F_SETOWN> (I<int>)"
5421
5422 #. type: Plain text
5423 #: build/C/man2/fcntl.2:688
5424 msgid "Set the process ID or process group ID that will receive B<SIGIO> and B<SIGURG> signals for events on file descriptor I<fd> to the ID given in I<arg>.  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, I<arg> is specified as B<getpid>(2))."
5425 msgstr "ファイルディスクリプター I<fd> のイベント発生を知らせるシグナル B<SIGIO> や B<SIGURG> を受けるプロセスの プロセス ID またはプロセスグループID を I<arg> で指定された ID に設定する。 プロセスID は正の値として指定し、 プロセスグループID は負の値として指定する。 ほとんどの場合、呼び出し元プロセスは所有者として自分自身を指定する (つまり I<arg> に B<getpid>(2)  を指定する)。"
5426
5427 #.  From glibc.info:
5428 #. type: Plain text
5429 #: build/C/man2/fcntl.2:705
5430 msgid "If you set the B<O_ASYNC> status flag on a file descriptor by using the B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input or output becomes possible on that file descriptor.  B<F_SETSIG> can be used to obtain delivery of a signal other than B<SIGIO>.  If this permission check fails, then the signal is silently discarded."
5431 msgstr "B<fcntl>()  の B<F_SETFL> コマンドを使用してファイルディスクリプターに B<O_ASYNC> 状態フラグを設定した場合には、そのファイルディスクリプターへの 入出力が可能になる度に B<SIGIO> シグナルが送られる。 B<F_SETSIG> は B<SIGIO> 以外の別のシグナルの配送を受けられるように するのにも使うことができる。 許可 (permission) のチェックで失敗した場合には、 シグナルは黙って捨てられる。"
5432
5433 #. type: Plain text
5434 #: build/C/man2/fcntl.2:713
5435 msgid "Sending a signal to the owner process (group) specified by B<F_SETOWN> is subject to the same permissions checks as are described for B<kill>(2), where the sending process is the one that employs B<F_SETOWN> (but see BUGS below)."
5436 msgstr "B<F_SETOWN> により指定された所有者のプロセス (またはプロセスグループ) に シグナルを送る際には、 B<kill>(2)  に書かれているのと同じ許可のチェックが行われる。 このとき、シグナルを送信するプロセスは B<F_SETOWN> を使ったプロセスである (但し、下記の「バグ」の章を参照のこと)。"
5437
5438 #.  The following appears to be rubbish.  It doesn't seem to
5439 #.  be true according to the kernel source, and I can write
5440 #.  a program that gets a terminal-generated SIGIO even though
5441 #.  it is not the foreground process group of the terminal.
5442 #.  -- MTK, 8 Apr 05
5443 #.  If the file descriptor
5444 #.  .I fd
5445 #.  refers to a terminal device, then SIGIO
5446 #.  signals are sent to the foreground process group of the terminal.
5447 #. type: Plain text
5448 #: build/C/man2/fcntl.2:737
5449 msgid "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects the recipient of B<SIGURG> signals that are delivered when out-of-band data arrives on that socket.  (B<SIGURG> is sent in any situation where B<select>(2)  would report the socket as having an \"exceptional condition\".)"
5450 msgstr "ファイルディスクリプターがソケットを参照している場合は、 B<F_SETOWN> を使用して、ソケットに帯域外 (out-of-band) データが届いた時に B<SIGURG> シグナルを配送する相手を選択することもできる (B<SIGURG> が送られた場合には B<select>(2)  がソケットが「特別な状態」にあると報告することだろう)。"
5451
5452 #. type: Plain text
5453 #: build/C/man2/fcntl.2:740
5454 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
5455 msgstr "バージョン 2.6.11 以前の 2.6.x カーネルでは、以下に示す動作であった。"
5456
5457 #.  The relevant place in the (2.6) kernel source is the
5458 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
5459 #.  send_sigurg()/send_sigurg_to_task() bypasses
5460 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
5461 #.  to directly call send_group_sig_info()
5462 #.      -- MTK, Apr 2005 (kernel 2.6.11)
5463 #. type: Plain text
5464 #: build/C/man2/fcntl.2:780
5465 msgid "If a nonzero value is given to B<F_SETSIG> in a multithreaded process running with a threading library that supports thread groups (e.g., NPTL), then a positive value given to B<F_SETOWN> has a different meaning: instead of being a process ID identifying a whole process, it is a thread ID identifying a specific thread within a process.  Consequently, it may be necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current Linux threading implementations, a main thread's thread ID is the same as its process ID.  This means that a single-threaded program can equally use B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the statements in this paragraph do not apply to the B<SIGURG> signal generated for out-of-band data on a socket: this signal is always sent to either a process or a process group, depending on the value given to B<F_SETOWN>."
5466 msgstr "スレッドグループをサポートしているスレッドライブラリ (例えば NPTL) を 使って動作しているマルチスレッドプロセスで B<F_SETSIG> に 0 以外の値を指定した場合、 B<F_SETOWN> に正の値を渡すと、その意味が違ってくる: プロセス全体を示すプロセスID ではなく、プロセス内の特定の スレッドを示すスレッドID と解釈される。 したがって、 B<F_SETSIG> を使う場合には、きちんと結果を受け取るには、 B<F_SETOWN> に渡す値を B<getpid>(2)  ではなく B<gettid>(2)  の返り値にする必要があるだろう。 (現状の Linux スレッド実装では、メインスレッドのスレッドID は そのスレッドのプロセスID と同じである。つまり、 シグナルスレッドのプログラムではこの場合 B<gettid>(2)  と B<getpid>(2)  は全く同じように使うことができる。)  ただし、注意すべき点として、この段落で述べたことは、 ソケットの帯域外データが届いたときに生成される B<SIGURG> シグナルにはあてはまらない。 このシグナルは常にプロセスかプロセスグループに送られ、 送信先は B<F_SETOWN> に渡された値にしたがって決められる。"
5467
5468 #. type: Plain text
5469 #: build/C/man2/fcntl.2:791
5470 msgid "The above behavior was accidentally dropped in Linux 2.6.12, and won't be restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> and B<SIGURG> signals at a particular thread."
5471 msgstr "上記の動作は、Linux 2.6.12 で図らずも削除され、 元に戻されない予定である。 Linux 2.6.32 以降で、特定のスレッド宛にシグナル B<SIGIO> と B<SIGURG> を送るには B<F_SETOWN_EX> を使うこと。"
5472
5473 #. type: TP
5474 #: build/C/man2/fcntl.2:791
5475 #, no-wrap
5476 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5477 msgstr "B<F_GETOWN_EX> (struct f_owner_ex *) (Linux 2.6.32 以降)"
5478
5479 #. type: Plain text
5480 #: build/C/man2/fcntl.2:800
5481 msgid "Return the current file descriptor owner settings as defined by a previous B<F_SETOWN_EX> operation.  The information is returned in the structure pointed to by I<arg>, which has the following form:"
5482 msgstr "直前の B<F_SETOWN_EX> 操作で定義された現在のファイルディスクリプターの所有者設定 を返す。情報は I<arg> が指す構造体に格納されて返される。構造体は以下の通りである。"
5483
5484 #. type: Plain text
5485 #: build/C/man2/fcntl.2:807
5486 #, no-wrap
5487 msgid ""
5488 "struct f_owner_ex {\n"
5489 "    int   type;\n"
5490 "    pid_t pid;\n"
5491 "};\n"
5492 msgstr ""
5493 "struct f_owner_ex {\n"
5494 "    int   type;\n"
5495 "    pid_t pid;\n"
5496 "};\n"
5497
5498 #. type: Plain text
5499 #: build/C/man2/fcntl.2:824
5500 msgid "The I<type> field will have one of the values B<F_OWNER_TID>, B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer representing a thread ID, process ID, or process group ID.  See B<F_SETOWN_EX> for more details."
5501 msgstr "I<type> フィールドは、 B<F_OWNER_TID ,> B<F_OWNER_PID ,> B<F_OWNER_PGRP> のいずれか一つの値となる。 I<pid> フィールドは、スレッド ID、プロセス ID、プロセスグループ ID を 表す正の整数である。詳細は B<F_SETOWN_EX> を参照。"
5502
5503 #. type: TP
5504 #: build/C/man2/fcntl.2:824
5505 #, no-wrap
5506 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5507 msgstr "B<F_SETOWN_EX> (struct f_owner_ex *) (Linux 2.6.32 以降)"
5508
5509 #. type: Plain text
5510 #: build/C/man2/fcntl.2:840
5511 msgid "This operation performs a similar task to B<F_SETOWN>.  It allows the caller to direct I/O availability signals to a specific thread, process, or process group.  The caller specifies the target of signals via I<arg>, which is a pointer to a I<f_owner_ex> structure.  The I<type> field has one of the following values, which define how I<pid> is interpreted:"
5512 msgstr "この操作は B<F_SETOWN> と同様の処理を行う。 この操作を使うと、I/O が利用可能になったことを示すシグナルを、 特定のスレッド、プロセス、プロセスグループに送ることができる ようになる。 呼び出し元は、 I<arg> 経由でシグナルの配送先を指定する。 I<arg> は I<f_owner_ex> 構造体へのポインタである。 I<type> フィールドは以下のいずれかの値を取り、 この値により I<pid> がどのように解釈されるかが規定される。"
5513
5514 #. type: TP
5515 #: build/C/man2/fcntl.2:841
5516 #, no-wrap
5517 msgid "B<F_OWNER_TID>"
5518 msgstr "B<F_OWNER_TID>"
5519
5520 #. type: Plain text
5521 #: build/C/man2/fcntl.2:850
5522 msgid "Send the signal to the thread whose thread ID (the value returned by a call to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5523 msgstr "スレッド ID が I<pid> で指定された値のスレッドにそのシグナルを送る (スレッド ID は B<clone>(2)  や B<gettid>(2)  の呼び出しで返される値である)。"
5524
5525 #. type: TP
5526 #: build/C/man2/fcntl.2:850
5527 #, no-wrap
5528 msgid "B<F_OWNER_PID>"
5529 msgstr "B<F_OWNER_PID>"
5530
5531 #. type: Plain text
5532 #: build/C/man2/fcntl.2:855
5533 msgid "Send the signal to the process whose ID is specified in I<pid>."
5534 msgstr "ID が I<pid> で指定された値のプロセスにそのシグナルを送る。"
5535
5536 #. type: TP
5537 #: build/C/man2/fcntl.2:855
5538 #, no-wrap
5539 msgid "B<F_OWNER_PGRP>"
5540 msgstr "B<F_OWNER_PGRP>"
5541
5542 #. type: Plain text
5543 #: build/C/man2/fcntl.2:863
5544 msgid "Send the signal to the process group whose ID is specified in I<pid>.  (Note that, unlike with B<F_SETOWN>, a process group ID is specified as a positive value here.)"
5545 msgstr "ID が I<pid> で指定された値のプロセスグループにそのシグナルを送る。 (B<F_SETOWN> と異なり、プロセスグループ ID には正の値を指定する点に注意すること。)"
5546
5547 #. type: TP
5548 #: build/C/man2/fcntl.2:864
5549 #, no-wrap
5550 msgid "B<F_GETSIG> (I<void>)"
5551 msgstr "B<F_GETSIG> (I<void>)"
5552
5553 #. type: Plain text
5554 #: build/C/man2/fcntl.2:879
5555 msgid "Return (as the function result)  the signal sent when input or output becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value (including B<SIGIO>)  is the signal sent instead, and in this case additional info is available to the signal handler if installed with B<SA_SIGINFO>.  I<arg> is ignored."
5556 msgstr "入力や出力が可能になった場合に送るシグナルを (関数の結果として) 返す。 値ゼロは B<SIGIO> を送ることを意味する。 (B<SIGIO> を含む) 他の値はいずれも、 B<SIGIO> の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラを B<SA_SIGINFO> フラグ付きで設定すれば、ハンドラで追加の情報を得ることができる。 I<arg> は無視される。"
5557
5558 #. type: TP
5559 #: build/C/man2/fcntl.2:879
5560 #, no-wrap
5561 msgid "B<F_SETSIG> (I<int>)"
5562 msgstr "B<F_SETSIG> (I<int>)"
5563
5564 #.  The following was true only up until 2.6.11:
5565 #.  Additionally, passing a nonzero value to
5566 #.  .B F_SETSIG
5567 #.  changes the signal recipient from a whole process to a specific thread
5568 #.  within a process.
5569 #.  See the description of
5570 #.  .B F_SETOWN
5571 #.  for more details.
5572 #. type: Plain text
5573 #: build/C/man2/fcntl.2:902
5574 msgid "Set the signal sent when input or output becomes possible to the value given in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any other value (including B<SIGIO>)  is the signal to send instead, and in this case additional info is available to the signal handler if installed with B<SA_SIGINFO>."
5575 msgstr "入力や出力が可能になった場合に送るシグナルを I<arg> に指定された値に設定する。 値ゼロは B<SIGIO> を送ることを意味する。 (B<SIGIO> を含む) 他の値はいずれも、 B<SIGIO> の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラを B<SA_SIGINFO> フラグ付きで設定すれば、 ハンドラで追加の情報を得ることができる。"
5576
5577 #. type: Plain text
5578 #: build/C/man2/fcntl.2:930
5579 msgid "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the signal handler (see B<sigaction>(2)), extra information about I/O events is passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file descriptor associated with the event.  Otherwise, there is no indication which file descriptors are pending, and you should use the usual mechanisms (B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to determine which file descriptors are available for I/O."
5580 msgstr "B<F_SETSIG> にゼロ以外の値を設定し、シグナルハンドラに B<SA_SIGINFO> フラグを設定すると、 (B<sigaction>(2)  を参照) I/O イベントに関する追加の情報が I<siginfo_t> 構造体でシグナルハンドラへ渡される。 I<si_code> フィールドが示すシグナルの原因が B<SI_SIGIO> である場合、 I<si_fd> フィールドにはイベントに対応するファイルディスクリプターが入っている。 それ以外の場合は、どのファイルディスクリプターが利用可能かを示す情報は ないので、どのファイルディスクリプターで I/O が可能かを判断するためには 通常の機構 (B<select>(2), B<poll>(2), B<O_NONBLOCK> を設定した B<read>(2)  など) を使用しなければならない。"
5581
5582 #. type: Plain text
5583 #: build/C/man2/fcntl.2:939
5584 msgid "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O events may be queued using the same signal numbers.  (Queuing is dependent on available memory).  Extra information is available if B<SA_SIGINFO> is set for the signal handler, as above."
5585 msgstr "リアルタイムシグナル (値が B<SIGRTMIN> 以上) を選択している場合は、 同じシグナル番号を持つ複数の I/O イベントがキューに入ることがある (キューに入れるかどうかは利用可能なメモリに依存している)。 上記と同様、 B<SA_SIGINFO> が設定されている場合、シグナルハンドラのための追加の情報が得られる。"
5586
5587 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5588 #. type: Plain text
5589 #: build/C/man2/fcntl.2:952
5590 msgid "Note that Linux imposes a limit on the number of real-time signals that may be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this limit is reached, then the kernel reverts to delivering B<SIGIO>, and this signal is delivered to the entire process rather than to a specific thread."
5591 msgstr "以下の点に注意すること。 Linux では一つのプロセスに対してキューに入れられるリアルタイム シグナルの数に上限が設けられており (B<getrlimit>(2)  と B<signal>(7)  を参照)、この上限に達するとカーネルは B<SIGIO> シグナルを配送する。この B<SIGIO> シグナルは、指定されたスレッドではなくプロセス全体に送られる。"
5592
5593 #. type: Plain text
5594 #: build/C/man2/fcntl.2:959
5595 msgid "Using these mechanisms, a program can implement fully asynchronous I/O without using B<select>(2)  or B<poll>(2)  most of the time."
5596 msgstr "これらの機構を使用することで、ほとんどの場合で B<select>(2)  や B<poll>(2)  を使用せずに完全な非同期 I/O を実装することができる。"
5597
5598 #. type: Plain text
5599 #: build/C/man2/fcntl.2:983
5600 msgid "The use of B<O_ASYNC> is specific to BSD and Linux.  The only use of B<F_GETOWN> and B<F_SETOWN> specified in POSIX.1 is in conjunction with the use of the B<SIGURG> signal on sockets.  (POSIX does not specify the B<SIGIO> signal.)  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> structure to achieve similar things; these are also available in Linux as part of the GNU C Library (Glibc)."
5601 msgstr "B<O_ASYNC> の使用方法は BSD と Linux に特有である。 POSIX.1 で規定されている B<F_GETOWN> と B<F_SETOWN> の使用方法は、ソケットに対する B<SIGURG> シグナルとの組み合わせだけである (POSIX は B<SIGIO> シグナルは規定していない)。 B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, B<F_SETSIG> は Linux 固有である。POSIX には、同様のことを行うために、非同期 I/O と I<aio_sigevent> 構造体がある。Linux では、GNU C ライブラリ (Glibc) の一部として これらも利用可能である。"
5602
5603 #. type: SS
5604 #: build/C/man2/fcntl.2:983
5605 #, no-wrap
5606 msgid "Leases"
5607 msgstr "リース (leases)"
5608
5609 #. type: Plain text
5610 #: build/C/man2/fcntl.2:998
5611 msgid "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) to establish a new lease, and retrieve the current lease, on the open file description referred to by the file descriptor I<fd>.  A file lease provides a mechanism whereby the process holding the lease (the \"lease holder\") is notified (via delivery of a signal)  when a process (the \"lease breaker\") tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file descriptor."
5612 msgstr "(Linix 2.4 以降で利用可能)  B<F_SETLEASE> は、 I<fd> が参照するオープンファイル記述に対して新しいリースを設定するのに使用される。 B<F_GETLEASE> は、 I<fd> が参照するオープンファイル記述に対して設定されている 現在のリースを取得するのに使用される。 ファイルのリースにより、 あるプロセス (\"lease breaker\") がそのファイルディスクリプターが参照 しているファイルに対して B<open>(2)  や B<truncate>(2)  を行おうとした際に、リースを保持しているプロセス (\"lease holder\") へ (シグナルの配送による) 通知が行われるという機構が提供される。"
5613
5614 #. type: TP
5615 #: build/C/man2/fcntl.2:998
5616 #, no-wrap
5617 msgid "B<F_SETLEASE> (I<int>)"
5618 msgstr "B<F_SETLEASE> (I<int>)"
5619
5620 #. type: Plain text
5621 #: build/C/man2/fcntl.2:1003
5622 msgid "Set or remove a file lease according to which of the following values is specified in the integer I<arg>:"
5623 msgstr "I<arg> の内容に基いてファイルのリースの設定、削除を行う。整数 I<arg> には以下の値が指定できる:"
5624
5625 #. type: TP
5626 #: build/C/man2/fcntl.2:1004
5627 #, no-wrap
5628 msgid "B<F_RDLCK>"
5629 msgstr "B<F_RDLCK>"
5630
5631 #.  The following became true in kernel 2.6.10:
5632 #.  See the man-pages-2.09 Changelog for further info.
5633 #. type: Plain text
5634 #: build/C/man2/fcntl.2:1013
5635 msgid "Take out a read lease.  This will cause the calling process to be notified when the file is opened for writing or is truncated.  A read lease can be placed only on a file descriptor that is opened read-only."
5636 msgstr "読み出しリースを取得する。これにより、 そのファイルが書き込み用にオープンされたり、ファイルが切り詰められた場合に、 呼び出し元のプロセスに通知が行われるようになる。 読み出しリースを設定できるのは、読み出し専用でオープンされている ファイルディスクリプターに対してのみである。"
5637
5638 #. type: TP
5639 #: build/C/man2/fcntl.2:1013
5640 #, no-wrap
5641 msgid "B<F_WRLCK>"
5642 msgstr "B<F_WRLCK>"
5643
5644 #. type: Plain text
5645 #: build/C/man2/fcntl.2:1020
5646 msgid "Take out a write lease.  This will cause the caller to be notified when the file is opened for reading or writing or is truncated.  A write lease may be placed on a file only if there are no other open file descriptors for the file."
5647 msgstr "書き込みリースを取得する。これにより、 (読み出し用か書き込み用にかかわらず) そのファイルがオープンされたり、 ファイルが切り詰められた場合に、呼び出し元のプロセスに通知が行われるようになる。 書き込みリースは、そのファイルに対するオープンされたファイルディスクリプターが 他にない場合にのみ設定できる。"
5648
5649 #. type: TP
5650 #: build/C/man2/fcntl.2:1020
5651 #, no-wrap
5652 msgid "B<F_UNLCK>"
5653 msgstr "B<F_UNLCK>"
5654
5655 #. type: Plain text
5656 #: build/C/man2/fcntl.2:1023
5657 msgid "Remove our lease from the file."
5658 msgstr "そのファイルからリースを削除する。"
5659
5660 #. type: Plain text
5661 #: build/C/man2/fcntl.2:1037
5662 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."
5663 msgstr "リースはオープンファイル記述に対して関連付けられる (B<open>(2)  参照)。 つまり、 (B<fork>(2)  や B<dup>(2)  などにより作成された) ファイルディスクリプターの複製は同じリースを参照し、 複製も含めたどのファイルディスクリプターを使ってもこのリースを変更したり 解放したりできる。 また、これらのファイルディスクリプターのいずれかに対して B<F_UNLCK> 操作が明示的に実行された場合や、すべてのファイルディスクリプターが 閉じられた場合にも、リースは解放される。"
5664
5665 #. type: Plain text
5666 #: build/C/man2/fcntl.2:1044
5667 msgid "Leases may be taken out only on regular files.  An unprivileged process may take out a lease only on a file whose UID (owner) matches the filesystem UID of the process.  A process with the B<CAP_LEASE> capability may take out leases on arbitrary files."
5668 msgstr "リースの取得は通常のファイル (regular file) に対してのみ可能である。 非特権プロセスがリースを取得できるのは、UID (所有者) がプロセスの ファイルシステム UID と一致するファイルに対してだけである。 B<CAP_LEASE> ケーパビリティを持つプロセスは任意のファイルに対してリースを取得できる。"
5669
5670 #. type: TP
5671 #: build/C/man2/fcntl.2:1044
5672 #, no-wrap
5673 msgid "B<F_GETLEASE> (I<void>)"
5674 msgstr "B<F_GETLEASE> (I<void>)"
5675
5676 #. type: Plain text
5677 #: build/C/man2/fcntl.2:1053
5678 msgid "Indicates what type of lease is associated with the file descriptor I<fd> by returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5679 msgstr "ファイルディスクリプター I<fd> に対して設定されているリースの種別を取得する。 B<F_RDLCK>, B<F_WRLCK>, B<F_UNLCK> のいずれかが返される。 B<F_RDLCK>, B<F_WRLCK> はそれぞれ、読み出しリース、書き込みリースが設定されていることを示し、 B<F_UNLCK> はリースが何も設定されていないことを示す。 I<arg> は無視される。"
5680
5681 #. type: Plain text
5682 #: build/C/man2/fcntl.2:1084
5683 msgid "When a process (the \"lease breaker\") performs an B<open>(2)  or B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, the system call is blocked by the kernel and the kernel notifies the lease holder by sending it a signal (B<SIGIO> by default).  The lease holder should respond to receipt of this signal by doing whatever cleanup is required in preparation for the file to be accessed by another process (e.g., flushing cached buffers) and then either remove or downgrade its lease.  A lease is removed by performing an B<F_SETLEASE> command specifying I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on the file, and the lease breaker is opening the file for reading, then it is sufficient for the lease holder to downgrade the lease to a read lease.  This is done by performing an B<F_SETLEASE> command specifying I<arg> as B<F_RDLCK>."
5684 msgstr ""
5685 "あるプロセス (\"lease breaker\") が B<F_SETLEASE> で設定されたリースと矛\n"
5686 "盾するような B<open>(2) や B<truncate>(2) を実行した場合、 そのシステム\n"
5687 "コールはカーネルによって停止され、 カーネルは lease holder にシグナル\n"
5688 "(デフォルトでは B<SIGIO>) を送って通知を行う。 lease holder はこのシグ\n"
5689 "ナルを受信したときにはきちんと対応すべきである。 具体的には、別のプロセ\n"
5690 "スがそのファイルにアクセスするための準備として 必要な後片付け (例えば、\n"
5691 "キャッシュされたバッファーのフラッシュ) を すべて行ってから、そのファイル\n"
5692 "のリースの削除または格下げを行う。リースを削除をするには、 I<arg> に\n"
5693 "B<F_UNLCK> を指定して B<F_SETLEASE> を実行する。lease holder がファイル\n"
5694 "に書き込みリースを保持していて、 lease breaker が読み出し用にそのファイ\n"
5695 "ルをオープンしている場合、 lease holder が保持しているリースを読み出し\n"
5696 "リースに格下げすれば 十分である。これをするには、 I<arg> に B<F_RDLCK>\n"
5697 "を指定して B<F_SETLEASE> を実行する。"
5698
5699 #. type: Plain text
5700 #: build/C/man2/fcntl.2:1089
5701 msgid "If the lease holder fails to downgrade or remove the lease within the number of seconds specified in I</proc/sys/fs/lease-break-time>, then the kernel forcibly removes or downgrades the lease holder's lease."
5702 msgstr "If the lease holder fails to downgrade or remove the lease within the number of seconds specified in I</proc/sys/fs/lease-break-time>, then the kernel forcibly removes or downgrades the lease holder's lease."
5703
5704 #. type: Plain text
5705 #: build/C/man2/fcntl.2:1099
5706 msgid "Once a lease break has been initiated, B<F_GETLEASE> returns the target lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be compatible with the lease breaker)  until the lease holder voluntarily downgrades or removes the lease or the kernel forcibly does so after the lease break timer expires."
5707 msgstr ""
5708 "いったん lease break が開始されると、 lease holder が自発的にそのリース\n"
5709 "の格下げか削除を行うか、lease break timer の満了後にカーネルが強制的に\n"
5710 "リースの格下げか削除を行うまで、 B<F_GETLEASE> は対象となるリースの型を\n"
5711 "返す (リースの型は B<F_RDLCK> か B<F_UNLCK> のどちらであり、lease\n"
5712 "breaker と互換性のある型となる)。"
5713
5714 #. type: Plain text
5715 #: build/C/man2/fcntl.2:1103
5716 msgid "Once the lease has been voluntarily or forcibly removed or downgraded, and assuming the lease breaker has not unblocked its system call, the kernel permits the lease breaker's system call to proceed."
5717 msgstr "一度リースの削除か格下げが自発的もしくは強制的に行われると、 lease breaker がまだシステムコールを再開していない場合には、 カーネルが lease breaker のシステムコールの続行を許可する。"
5718
5719 #. type: Plain text
5720 #: build/C/man2/fcntl.2:1124
5721 msgid "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted by a signal handler, then the system call fails with the error B<EINTR>, but the other steps still occur as described above.  If the lease breaker is killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the other steps still occur as described above.  If the lease breaker specifies the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately fails with the error B<EWOULDBLOCK>, but the other steps still occur as described above."
5722 msgstr "lease breaker が実行した B<open>(2)  や B<truncate>(2)  が停止中にシグナルハンドラにより中断された場合、 そのシステムコールは B<EINTR> エラーで失敗するが、上で述べた他の処理は そのまま行われる。 B<open>(2)  や B<truncate>(2)  が停止中に lease breaker がシグナルにより kill された場合、 上で述べた他の処理はそのまま行われる。 lease breaker が B<open>(2)  を呼ぶ際に B<O_NONBLOCK> フラグを指定した場合、そのシステムコールは B<EWOULDBLOCK> エラーで直ちに失敗するが、上で述べた他の処理はそのまま行われる。"
5723
5724 #. type: Plain text
5725 #: build/C/man2/fcntl.2:1145
5726 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)."
5727 msgstr "lease holder への通知に使われるデフォルトのシグナルは B<SIGIO> だが、 B<fcntl>()  の B<F_SETSIG> コマンドで変更することができる。 B<F_SETSIG> コマンドが実行され (B<SIGIO> を指定された場合も含む)、 B<SA_SIGINFO> フラグ付きでシグナルハンドラが設定されている場合には、 ハンドラの第二引き数として I<siginfo_t> 構造体が渡され、この引き数の I<si_fd> フィールドには別のプロセスがアクセスしたリース設定済みファイルの ディスクリプターが入っている (この機能は複数のファイルに対してリースを設定する場合に有用である)。"
5728
5729 #. type: SS
5730 #: build/C/man2/fcntl.2:1145
5731 #, no-wrap
5732 msgid "File and directory change notification (dnotify)"
5733 msgstr "ファイルやディレクトリの変更の通知 (dnotify)"
5734
5735 #. type: TP
5736 #: build/C/man2/fcntl.2:1146
5737 #, no-wrap
5738 msgid "B<F_NOTIFY> (I<int>)"
5739 msgstr "B<F_NOTIFY> (I<int>)"
5740
5741 #. type: Plain text
5742 #: build/C/man2/fcntl.2:1156
5743 msgid "(Linux 2.4 onward)  Provide notification when the directory referred to by I<fd> or any of the files that it contains is changed.  The events to be notified are specified in I<arg>, which is a bit mask specified by ORing together zero or more of the following bits:"
5744 msgstr "(Linux 2.4 以降)  I<fd> で参照されるディレクトリか、その中にあるファイルに変更があった場合に 通知を行う。どのイベントを通知するかは I<arg> で指定する。 I<arg> はビットマスクで、以下のビットの 0個以上の論理和をとったものを指定する。"
5745
5746 #. type: TP
5747 #: build/C/man2/fcntl.2:1159
5748 #, no-wrap
5749 msgid "B<DN_ACCESS>"
5750 msgstr "B<DN_ACCESS>"
5751
5752 #. type: Plain text
5753 #: build/C/man2/fcntl.2:1166
5754 msgid "A file was accessed (B<read>(2), B<pread>(2), B<readv>(2), and similar)"
5755 msgstr "ファイルへのアクセスがあった (B<read>(2), B<pread>(2), B<readv>(2) や同様のシステムコール)"
5756
5757 #. type: TP
5758 #: build/C/man2/fcntl.2:1166
5759 #, no-wrap
5760 msgid "B<DN_MODIFY>"
5761 msgstr "B<DN_MODIFY>"
5762
5763 #. type: Plain text
5764 #: build/C/man2/fcntl.2:1175
5765 msgid "A file was modified (B<write>(2), B<pwrite>(2), B<writev>(2), B<truncate>(2), B<ftruncate>(2), and similar)."
5766 msgstr "ファイルの内容が変更された (B<write>(2), B<pwrite>(2), B<writev>(2), B<truncate>(2), B<ftruncate>(2) や同様のシステムコール)"
5767
5768 #. type: TP
5769 #: build/C/man2/fcntl.2:1175
5770 #, no-wrap
5771 msgid "B<DN_CREATE>"
5772 msgstr "B<DN_CREATE>"
5773
5774 #. type: Plain text
5775 #: build/C/man2/fcntl.2:1186
5776 msgid "A file was created (B<open>(2), B<creat>(2), B<mknod>(2), B<mkdir>(2), B<link>(2), B<symlink>(2), B<rename>(2)  into this directory)."
5777 msgstr ""
5778 "ファイルが作成された (B<open>(2), B<creat>(2), B<mknod>(2), B<mkdir>(2), \"\n"
5779 "\"B<link>(2), B<symlink>(2), このディレクトリへの B<rename>(2))"
5780
5781 #. type: TP
5782 #: build/C/man2/fcntl.2:1186
5783 #, no-wrap
5784 msgid "B<DN_DELETE>"
5785 msgstr "B<DN_DELETE>"
5786
5787 #. type: Plain text
5788 #: build/C/man2/fcntl.2:1193
5789 msgid "A file was unlinked (B<unlink>(2), B<rename>(2)  to another directory, B<rmdir>(2))."
5790 msgstr "ファイルが削除 (unlink) された (B<unlink>(2), 別のディレクトリへの B<rename>(2), B<rmdir>(2))"
5791
5792 #. type: TP
5793 #: build/C/man2/fcntl.2:1193
5794 #, no-wrap
5795 msgid "B<DN_RENAME>"
5796 msgstr "B<DN_RENAME>"
5797
5798 #. type: Plain text
5799 #: build/C/man2/fcntl.2:1197
5800 msgid "A file was renamed within this directory (B<rename>(2))."
5801 msgstr "ディレクトリ内でのファイル名の変更があった (B<rename>(2))"
5802
5803 #. type: TP
5804 #: build/C/man2/fcntl.2:1197
5805 #, no-wrap
5806 msgid "B<DN_ATTRIB>"
5807 msgstr "B<DN_ATTRIB>"
5808
5809 #. type: Plain text
5810 #: build/C/man2/fcntl.2:1205
5811 msgid "The attributes of a file were changed (B<chown>(2), B<chmod>(2), B<utime>(2), B<utimensat>(2), and similar)."
5812 msgstr "ファイル属性が変更された (B<chown>(2), B<chmod>(2), B<utime>(2), B<utimensat>(2) や同様のシステムコール)"
5813
5814 #. type: Plain text
5815 #: build/C/man2/fcntl.2:1213
5816 msgid "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro must be defined before including I<any> header files.)"
5817 msgstr ""
5818 "(上記の定義を利用するには、I<どの> ヘッダファイルをインクルードするより前に、\n"
5819 "B<_GNU_SOURCE> 機能検査マクロを定義しなければならない。)"
5820
5821 #. type: Plain text
5822 #: build/C/man2/fcntl.2:1221
5823 msgid "Directory notifications are normally \"one-shot\", and the application must reregister to receive further notifications.  Alternatively, if B<DN_MULTISHOT> is included in I<arg>, then notification will remain in effect until explicitly removed."
5824 msgstr "ディレクトリの変更通知は通常「一回限り (one-shot)」であり、 アプリケーション側でその後さらに通知を受信したい場合は 再登録しなければならない。 I<arg> に B<DN_MULTISHOT> が含まれていた場合には、 変更通知は明示的に解除されるまで有効状態が継続する。"
5825
5826 #.  The following does seem a poor API-design choice...
5827 #. type: Plain text
5828 #: build/C/man2/fcntl.2:1233
5829 msgid "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> being added to the set already monitored.  To disable notification of all events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5830 msgstr "B<F_NOTIFY> 要求は積算されていく。つまり、 I<arg> で指定されたイベントがすでにモニタされている イベント集合に加算される形になる。 すべてのイベントの通知を無効にするには、 I<arg> に 0 を指定して B<F_NOTIFY> を呼び出す必要がある。"
5831
5832 #. type: Plain text
5833 #: build/C/man2/fcntl.2:1256
5834 msgid "Notification occurs via delivery of a signal.  The default signal is B<SIGIO>, but this can be changed using the B<F_SETSIG> command to B<fcntl>().  (Note that B<SIGIO> is one of the nonqueuing standard signals; switching to the use of a real-time signal means that multiple notifications can be queued to the process.)  In the latter case, the signal handler receives a I<siginfo_t> structure as its second argument (if the handler was established using B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file descriptor which generated the notification (useful when establishing notification on multiple directories)."
5835 msgstr "通知はシグナルの配送で行われる。 デフォルトのシグナルは B<SIGIO> だが、 B<fcntl>()  の B<F_SETSIG> コマンドで変更することができる。 (B<SIGIO> はキューイングされない標準のシグナルの一つである点に注意。 リアルタイムシグナルを使うように変更すると、 複数の通知がそのプロセス宛のキューに入ることがあることを意味する。) 後者の場合には、 (B<SA_SIGINFO> フラグ付きでシグナルハンドラが設定されている場合には)  ハンドラの第二引き数として I<siginfo_t> 構造体が渡され、この構造体の I<si_fd> フィールドには通知の行われたファイルディスクリプターが入っている (この機能は複数のディレクトリに対して通知を設定する場合に有用である)。"
5836
5837 #. type: Plain text
5838 #: build/C/man2/fcntl.2:1261
5839 msgid "Especially when using B<DN_MULTISHOT>, a real time signal should be used for notification, so that multiple notifications can be queued."
5840 msgstr "特に B<DN_MULTISHOT> を使う場合は、通知にはリアルタイムシグナルを使うべきである。 それは、リアルタイムシグナルを使うことで、複数の通知をキューに入れる ことができるからである。"
5841
5842 #. type: Plain text
5843 #: build/C/man2/fcntl.2:1270
5844 msgid "B<NOTE:> New applications should use the I<inotify> interface (available since kernel 2.6.13), which provides a much superior interface for obtaining notifications of filesystem events.  See B<inotify>(7)."
5845 msgstr "B<注意:> 新しくアプリケーションを書く際には、(カーネル 2.6.13 以降で利用可能となった)  I<inotify> インタフェースを使用すべきである。 I<inotify> はファイルシステムイベントの通知を取得するための ずっと優れたインタフェースである。 B<inotify>(7)  を参照。"
5846
5847 #. type: SS
5848 #: build/C/man2/fcntl.2:1270
5849 #, no-wrap
5850 msgid "Changing the capacity of a pipe"
5851 msgstr "パイプの容量の変更"
5852
5853 #. type: TP
5854 #: build/C/man2/fcntl.2:1271
5855 #, no-wrap
5856 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5857 msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
5858
5859 #. type: Plain text
5860 #: build/C/man2/fcntl.2:1300
5861 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.  The actual capacity that is set is returned as the function result.  Attempting to set the pipe capacity smaller than the amount of buffer space currently used to store data produces the error B<EBUSY>."
5862 msgstr ""
5863 "I<fd> が参照するパイプの容量を少なくとも I<arg> バイトに変更する。\n"
5864 "非特権プロセスは、パイプの容量として、\n"
5865 "システムのページサイズと I</proc/sys/fs/pipe-max-size> で定義される\n"
5866 "上限値 (B<proc>(5) 参照) の間の任意の値を設定できる。\n"
5867 "パイプの容量をページサイズよりも小さな値に設定しようとした場合は、\n"
5868 "暗黙のうちにページサイズに切り上げられる。\n"
5869 "非特権プロセスがパイプの容量を I</proc/sys/fs/pipe-max-size> で定義\n"
5870 "された上限より大きな値に設定しようとした場合は、エラー B<EPERM> が\n"
5871 "発生する。特権プロセス (B<CAP_SYS_RESOURCE> ケーパビリティを持つ\n"
5872 "プロセス) はこの上限を上書きできる。\n"
5873 "パイプにバッファーを割り当てる場合、実装側の都合に応じて、\n"
5874 "カーネルは I<arg> よりも大きな容量を割り当ててもよい。\n"
5875 "実際に設定された大きさが関数の返り値として返される。\n"
5876 "パイプの容量を現在データを格納するのに使用されているバッファーの\n"
5877 "サイズよりも小さくしようとした場合は、エラー B<EBUSY> が発生する。"
5878
5879 #. type: TP
5880 #: build/C/man2/fcntl.2:1300
5881 #, no-wrap
5882 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
5883 msgstr "B<F_GETPIPE_SZ> (I<void>; Linux 2.6.35 以降)"
5884
5885 #. type: Plain text
5886 #: build/C/man2/fcntl.2:1305
5887 msgid "Return (as the function result) the capacity of the pipe referred to by I<fd>."
5888 msgstr "I<fd> が参照するパイプの容量を (関数の結果として) 返す。"
5889
5890 #. type: SS
5891 #: build/C/man2/fcntl.2:1305
5892 #, no-wrap
5893 msgid "File Sealing"
5894 msgstr "File Sealing"
5895
5896 #. type: Plain text
5897 #: build/C/man2/fcntl.2:1317
5898 msgid "File seals limit the set of allowed operations on a given file.  For each seal that is set on a file, a specific set of operations will fail with B<EPERM> on this file from now on.  The file is said to be sealed.  The default set of seals depends on the type of the underlying file and filesystem.  For an overview of file sealing, a discussion of its purpose, and some code examples, see B<memfd_create>(2)."
5899 msgstr "file seal は指定されたファイルで許可される操作の集合を制限する。 ファイルに設定される seal 毎に対応する操作の集合が規定されており、 それ以降のそのファイルに対する対応する操作は B<EPERM> で失敗する。 このようなファイルは sealed (seal が適用されている) と呼ばれる。 デフォルトの seal の集合は、適用されるファイルやファイルシステムに依存する。 file seal の概要、 その目的、 サンプルコードについては B<memfd_create>(2) を参照。"
5900
5901 #. type: Plain text
5902 #: build/C/man2/fcntl.2:1325
5903 msgid "Currently, only the I<tmpfs> filesystem supports sealing.  On other filesystems, all B<fcntl>(2)  operations that operate on seals will return B<EINVAL>."
5904 msgstr "現在のところ I<tmpfs> ファイルシステムだけが sealing をサポートしている。 他のファイルシステムでは、 seal に関連する B<fcntl>(2) の操作はすべて B<EINVAL> を返す。"
5905
5906 #. type: Plain text
5907 #: build/C/man2/fcntl.2:1330
5908 msgid "Seals are a property of an inode.  Thus, all open file descriptors referring to the same inode share the same set of seals.  Furthermore, seals can never be removed, only added."
5909 msgstr "seal は inode の属性である。 したがって、 同じ inode を参照するすべてのオープンされたファイルディスクリプターは、 同じ seal の集合を共有する。 さらに、 seal は削除することはできず、 追加のみ可能である。"
5910
5911 #. type: TP
5912 #: build/C/man2/fcntl.2:1330
5913 #, no-wrap
5914 msgid "B<F_ADD_SEALS> (I<int>; since Linux 3.17)"
5915 msgstr "B<F_ADD_SEALS> (I<int>; Linux 3.17 以降)"
5916
5917 #. type: Plain text
5918 #: build/C/man2/fcntl.2:1348
5919 msgid "Add the seals given in the bit-mask argument I<arg> to the set of seals of the inode referred to by the file descriptor I<fd>.  Seals cannot be removed again.  Once this call succeeds, the seals are enforced by the kernel immediately.  If the current set of seals includes B<F_SEAL_SEAL> (see below), then this call will be rejected with B<EPERM>.  Adding a seal that is already set is a no-op, in case B<F_SEAL_SEAL> is not set already.  In order to place a seal, the file descriptor I<fd> must be writable."
5920 msgstr "ビットマスク引き数 I<arg> で指定された seal を、 ファイルディスクリプター I<fd> が参照する inode の seal の集合に追加する。 一度追加した seal を削除することはできない。 この呼び出しが成功すると、 seal はただちにカーネルにより適用される。 現在の seal の集合に B<F_SEAL_SEAL> (下記参照) が含まれている場合、 この呼び出しは B<EPERM> で拒否される。 すでに設定されている seal を追加した場合、 B<F_SEAL_SEAL> がまだ設定されていない場合は no-op (何もしない) となる。 seal を設定するには、 ファイルディスクリプター I<fd> が書き込み可能でなければならない。"
5921
5922 #. type: TP
5923 #: build/C/man2/fcntl.2:1348
5924 #, no-wrap
5925 msgid "B<F_GET_SEALS> (I<void>; since Linux 3.17)"
5926 msgstr "B<F_GET_SEALS> (I<void>; Linux 3.17 以降)"
5927
5928 #. type: Plain text
5929 #: build/C/man2/fcntl.2:1358
5930 msgid "Return (as the function result) the current set of seals of the inode referred to by I<fd>.  If no seals are set, 0 is returned.  If the file does not support sealing, -1 is returned and I<errno> is set to B<EINVAL>."
5931 msgstr "(関数の結果として) I<fd> が参照する inode の seal の現在の集合を返す。 seal が何も設定されていない場合、 0 が返される。 ファイルが sealing をサポートしていない場合、 -1 が返され、 I<errno> に B<EINVAL> が設定される。"
5932
5933 #. type: Plain text
5934 #: build/C/man2/fcntl.2:1360
5935 msgid "The following seals are available:"
5936 msgstr "以下の seal が利用できる。"
5937
5938 #. type: TP
5939 #: build/C/man2/fcntl.2:1360
5940 #, no-wrap
5941 msgid "B<F_SEAL_SEAL>"
5942 msgstr "B<F_SEAL_SEAL>"
5943
5944 #. type: Plain text
5945 #: build/C/man2/fcntl.2:1372
5946 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."
5947 msgstr "この seal が設定されると、  これ以降の B<F_ADD_SEALS> を指定した B<fcntl>(2) の呼び出しはすべて B<EPERM> で失敗する。 したがって、 この seal を設定すると seal の集合自身の変更を防止できる。 ファイルの最初の seal の集合に B<F_SEAL_SEAL> が含まれていた場合、 結果的に seal の集合が定数になりロックされることになる。"
5948
5949 #. type: TP
5950 #: build/C/man2/fcntl.2:1372
5951 #, no-wrap
5952 msgid "B<F_SEAL_SHRINK>"
5953 msgstr "B<F_SEAL_SHRINK>"
5954
5955 #. type: Plain text
5956 #: build/C/man2/fcntl.2:1387
5957 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."
5958 msgstr "この seal が設定されると、 設定されたファイルのサイズを小さくできなくなる。 この seal は B<open>(2) の B<O_TRUNC> フラグに影響する。 B<truncate>(2) と B<ftruncate>(2) についても同様である。 対象のファイルのサイズを小さくしようとした場合、 これらの呼び出しは B<EPERM> で失敗する。 ファイルサイズを増やすことはこの場合でも可能である。"
5959
5960 #. type: TP
5961 #: build/C/man2/fcntl.2:1387
5962 #, no-wrap
5963 msgid "B<F_SEAL_GROW>"
5964 msgstr "B<F_SEAL_GROW>"
5965
5966 #. type: Plain text
5967 #: build/C/man2/fcntl.2:1401
5968 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."
5969 msgstr "この seal が設定されると、 設定されたファイルのサイズを増やせなくなる。 この seal はファイルの末尾を超えての B<write>(2) や B<truncate>(2), B<ftruncate>(2), B<fallocate>(2) に影響する。 対象のファイルのサイズを大きくしようとした場合、 これらの呼び出しは B<EPERM> で失敗する。 ファイルサイズが変わらない場合、 小さくなる場合は、 これらの呼び出しはそのまま動作する。"
5970
5971 #. type: TP
5972 #: build/C/man2/fcntl.2:1401
5973 #, no-wrap
5974 msgid "B<F_SEAL_WRITE>"
5975 msgstr "B<F_SEAL_WRITE>"
5976
5977 #.  One or more other seals are typically used with F_SEAL_WRITE
5978 #.  because, given a file with the F_SEAL_WRITE seal set, then,
5979 #.  while it would no longer be possinle to (say) write zeros into
5980 #.  the last 100 bytes of a file, it would still be possible
5981 #.  to (say) shrink the file by 100 bytes using ftruncate(), and
5982 #.  then increase the file size by 100 bytes, which would have
5983 #.  the effect of replacing the last hundred bytes by zeros.
5984 #. type: Plain text
5985 #: build/C/man2/fcntl.2:1429
5986 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>."
5987 msgstr "この seal が設定されていると、 ファイルの内容を変更できない。 ファイルのサイズを縮小したり伸張したりすることは可能で許可されている。 したがって、 この seal は通常は他の seal のいずれかと組み合わせて使用される。 この seal は B<write>(2) と B<fallocate>(2) (B<FALLOC_FL_PUNCH_HOLE> フラグとの組み合わせの場合のみ) に影響する。 この seal が設定されると、 これらの呼び出しは B<EPERM> で失敗する。 また、 B<mmap>(2) による新しい書き込み可能な共有メモリマッピングの作成も B<EPERM> で失敗する。"
5988
5989 #. type: Plain text
5990 #: build/C/man2/fcntl.2:1444
5991 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."
5992 msgstr "B<fcntl>(2) の B<F_ADD_SEALS> で B<F_SEAL_WRITE> を設定しようとした場合、 書き込み可能な共有マッピングが存在すると B<EBUSY> で失敗する。 このようなマッピングは、 この seal を追加する前にアンマップしなければならない。 また、 ファイルに対して処理待ちの非同期 I/O 操作 (B<io_submit>(2) がある場合、 処理されていない書き込みは破棄される。"
5993
5994 #. type: Plain text
5995 #: build/C/man2/fcntl.2:1446
5996 msgid "For a successful call, the return value depends on the operation:"
5997 msgstr "成功した場合の返り値は操作の種類により違う:"
5998
5999 #. type: TP
6000 #: build/C/man2/fcntl.2:1446
6001 #, no-wrap
6002 msgid "B<F_DUPFD>"
6003 msgstr "B<F_DUPFD>"
6004
6005 #. type: Plain text
6006 #: build/C/man2/fcntl.2:1449
6007 msgid "The new descriptor."
6008 msgstr "新しいディスクリプターを返す。"
6009
6010 #. type: TP
6011 #: build/C/man2/fcntl.2:1449
6012 #, no-wrap
6013 msgid "B<F_GETFD>"
6014 msgstr "B<F_GETFD>"
6015
6016 #. type: Plain text
6017 #: build/C/man2/fcntl.2:1452
6018 msgid "Value of file descriptor flags."
6019 msgstr "ファイルディスクリプターフラグの値"
6020
6021 #. type: TP
6022 #: build/C/man2/fcntl.2:1452
6023 #, no-wrap
6024 msgid "B<F_GETFL>"
6025 msgstr "B<F_GETFL>"
6026
6027 #. type: Plain text
6028 #: build/C/man2/fcntl.2:1455
6029 msgid "Value of file status flags."
6030 msgstr "ファイル状態フラグの値"
6031
6032 #. type: TP
6033 #: build/C/man2/fcntl.2:1455
6034 #, no-wrap
6035 msgid "B<F_GETLEASE>"
6036 msgstr "B<F_GETLEASE>"
6037
6038 #. type: Plain text
6039 #: build/C/man2/fcntl.2:1458
6040 msgid "Type of lease held on file descriptor."
6041 msgstr "ファイルディスクリプターに対して保持されているリースの種別を返す。"
6042
6043 #. type: TP
6044 #: build/C/man2/fcntl.2:1458
6045 #, no-wrap
6046 msgid "B<F_GETOWN>"
6047 msgstr "B<F_GETOWN>"
6048
6049 #. type: Plain text
6050 #: build/C/man2/fcntl.2:1461
6051 msgid "Value of descriptor owner."
6052 msgstr "ディスクリプターの所有者を返す。"
6053
6054 #. type: TP
6055 #: build/C/man2/fcntl.2:1461
6056 #, no-wrap
6057 msgid "B<F_GETSIG>"
6058 msgstr "B<F_GETSIG>"
6059
6060 #. type: Plain text
6061 #: build/C/man2/fcntl.2:1467
6062 msgid "Value of signal sent when read or write becomes possible, or zero for traditional B<SIGIO> behavior."
6063 msgstr "読み込みや書き出しが可能になった時に送られるシグナルの値、もしくは 伝統的な B<SIGIO> 動作の場合にはゼロを返す。"
6064
6065 #. type: TP
6066 #: build/C/man2/fcntl.2:1467
6067 #, no-wrap
6068 msgid "B<F_GETPIPE_SZ>, B<F_SETPIPE_SZ>"
6069 msgstr "B<F_GETPIPE_SZ>, B<F_SETPIPE_SZ>"
6070
6071 #. type: Plain text
6072 #: build/C/man2/fcntl.2:1470
6073 msgid "The pipe capacity."
6074 msgstr "パイプの容量。"
6075
6076 #. type: TP
6077 #: build/C/man2/fcntl.2:1470
6078 #, no-wrap
6079 msgid "B<F_GET_SEALS>"
6080 msgstr "B<F_GET_SEALS>"
6081
6082 #. type: Plain text
6083 #: build/C/man2/fcntl.2:1475
6084 msgid "A bit mask identifying the seals that have been set for the inode referred to by I<fd>."
6085 msgstr "I<fd> が参照する inode に設定されている seal を示すビットマスク。"
6086
6087 #. type: TP
6088 #: build/C/man2/fcntl.2:1475
6089 #, no-wrap
6090 msgid "All other commands"
6091 msgstr "他の全てのコマンド"
6092
6093 #. type: Plain text
6094 #: build/C/man2/fcntl.2:1478
6095 msgid "Zero."
6096 msgstr "0 を返す。"
6097
6098 #. type: Plain text
6099 #: build/C/man2/fcntl.2:1482
6100 msgid "On error, -1 is returned, and I<errno> is set appropriately."
6101 msgstr "エラーの時は -1 が返され、 I<errno> に適切な値が設定される。"
6102
6103 #. type: TP
6104 #: build/C/man2/fcntl.2:1483 build/C/man3/lockf.3:122
6105 #, no-wrap
6106 msgid "B<EACCES> or B<EAGAIN>"
6107 msgstr "B<EACCES> か B<EAGAIN>"
6108
6109 #. type: Plain text
6110 #: build/C/man2/fcntl.2:1486
6111 msgid "Operation is prohibited by locks held by other processes."
6112 msgstr "他のプロセスが保持しているロックによって操作が禁止されている。"
6113
6114 #. type: TP
6115 #: build/C/man2/fcntl.2:1486 build/C/man2/fork.2:186 build/C/man2/fork.2:191
6116 #: build/C/man2/fork.2:209
6117 #, no-wrap
6118 msgid "B<EAGAIN>"
6119 msgstr "B<EAGAIN>"
6120
6121 #. type: Plain text
6122 #: build/C/man2/fcntl.2:1490
6123 msgid "The operation is prohibited because the file has been memory-mapped by another process."
6124 msgstr "そのファイルは他のプロセスによってメモリマップされているため、 操作が禁止されている。"
6125
6126 #. type: Plain text
6127 #: build/C/man2/fcntl.2:1494
6128 msgid "I<fd> is not an open file descriptor"
6129 msgstr "I<fd> がオープンされたファイルディスクリプターではない。"
6130
6131 #. type: Plain text
6132 #: build/C/man2/fcntl.2:1503
6133 msgid "I<cmd> is B<F_SETLK> or B<F_SETLKW> and the file descriptor open mode doesn't match with the type of lock requested."
6134 msgstr "I<cmd> が B<F_SETLK> または B<F_SETLKW> だったが、対象のファイルディスクリプターのオープンモードが 必要となるロックの型にマッチしていない。"
6135
6136 #. type: Plain text
6137 #: build/C/man2/fcntl.2:1512
6138 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."
6139 msgstr "I<cmd> が B<F_SETPIPE_SZ> で、 I<arg> で指定されたパイプの新しい容量がパイプが、 現在パイプにあるデータを格納するのに使用されているバッファー容量よりも小さい。"
6140
6141 #. type: Plain text
6142 #: build/C/man2/fcntl.2:1522
6143 msgid "I<cmd> is B<F_ADD_SEALS>, I<arg> includes B<F_SEAL_WRITE>, and there exists a writable, shared mapping on the file referred to by I<fd>."
6144 msgstr "I<cmd> が B<F_ADD_SEALS> で、 I<arg> に B<F_SEAL_WRITE> が含まれており、 I<fd> が参照するファイルに対する書き込み可能な共有マッピングが存在する。"
6145
6146 #. type: TP
6147 #: build/C/man2/fcntl.2:1522 build/C/man3/lockf.3:142
6148 #, no-wrap
6149 msgid "B<EDEADLK>"
6150 msgstr "B<EDEADLK>"
6151
6152 #. type: Plain text
6153 #: build/C/man2/fcntl.2:1527
6154 msgid "It was detected that the specified B<F_SETLKW> command would cause a deadlock."
6155 msgstr "指定された B<F_SETLKW> コマンドを実行した場合にはデッドロックになることが検出された。"
6156
6157 #. type: Plain text
6158 #: build/C/man2/fcntl.2:1531
6159 msgid "I<lock> is outside your accessible address space."
6160 msgstr "I<lock> が利用可能なアドレス空間の外部にある。"
6161
6162 #. type: Plain text
6163 #: build/C/man2/fcntl.2:1540
6164 msgid "I<cmd> is B<F_SETLKW> or B<F_OFD_SETLKW> and the operation was interrupted by a signal; see B<signal>(7)."
6165 msgstr "I<cmd> が B<F_SETLKW> か B<F_OFD_SETLKW> で、 操作がシグナルにより割り込まれた。 B<signal>(7)  参照。"
6166
6167 #. type: Plain text
6168 #: build/C/man2/fcntl.2:1553
6169 msgid "I<cmd> is B<F_GETLK>, B<F_SETLK>, B<F_OFD_GETLK>, or B<F_OFD_SETLK>, and the operation was interrupted by a signal before the lock was checked or acquired.  Most likely when locking a remote file (e.g., locking over NFS), but can sometimes happen locally."
6170 msgstr "I<cmd> が B<F_GETLK>, B<F_SETLK>, B<F_OFD_GETLK>, B<F_OFD_SETLK> で、 操作がシグナルにより割り込まれた (B<signal>(7)  参照)。 B<F_GETLK> と B<F_SETLK> の場合、ロックを確認したり取得したりする前にシグナルによって割り込まれた。 これはたいていリモートのファイルをロックする場合 (例えば NFS 上でロックする場合) に起こる。 しかしローカルでも起こる場合がある。"
6171
6172 #. type: Plain text
6173 #: build/C/man2/fcntl.2:1558
6174 msgid "The value specified in I<cmd> is not recognized by this kernel."
6175 msgstr "カーネルが認識しない値が I<cmd> で指定された。"
6176
6177 #. type: Plain text
6178 #: build/C/man2/fcntl.2:1566
6179 msgid "I<cmd> is B<F_ADD_SEALS> and I<arg> includes an unrecognized sealing bit."
6180 msgstr "I<cmd> が B<F_ADD_SEALS> で、 I<arg> に認識できない seal を示すビットが含まれている。"
6181
6182 #. type: Plain text
6183 #: build/C/man2/fcntl.2:1576
6184 msgid "I<cmd> is B<F_ADD_SEALS> or B<F_GET_SEALS> and the filesystem containing the inode referred to by I<fd> does not support sealing."
6185 msgstr "I<cmd> が B<F_ADD_SEALS> か B<F_GET_SEALS> で、 I<fd> が参照している inode が格納されているファイルシステムが sealing をサポートしていない。"
6186
6187 #. type: Plain text
6188 #: build/C/man2/fcntl.2:1588
6189 msgid "I<cmd> is B<F_DUPFD> and I<arg> is negative or is greater than the maximum allowable value (see the discussion of B<RLIMIT_NOFILE> in B<getrlimit>(2))."
6190 msgstr "I<cmd> が B<F_DUPFD> で、 I<arg> が負か、もしくは許される最大値よりも大きい (B<getrlimit>(2) の B<RLIMIT_NOFILE> の議論を参照)。"
6191
6192 #. type: Plain text
6193 #: build/C/man2/fcntl.2:1596
6194 msgid "I<cmd> is B<F_SETSIG> and I<arg> is not an allowable signal number."
6195 msgstr "I<cmd> が B<F_SETSIG> で、 I<arg> が許可されたシグナル番号ではない。"
6196
6197 #. type: Plain text
6198 #: build/C/man2/fcntl.2:1607
6199 msgid "I<cmd> is B<F_OFD_SETLK>, B<F_OFD_SETLKW>, or B<F_OFD_GETLK>, and I<l_pid> was not specified as zero."
6200 msgstr "I<cmd> が B<F_OFD_SETLK>, B<F_OFD_SETLKW>, B<F_OFD_GETLK> のいずれかで、 I<l_pid> に 0 が指定されなかった。"
6201
6202 #. type: Plain text
6203 #: build/C/man2/fcntl.2:1613
6204 msgid "I<cmd> is B<F_DUPFD> and the process already has the maximum number of file descriptors open."
6205 msgstr "I<cmd> が B<F_DUPFD>で、 プロセスがすでに最大数までファイルディスクリプターをオープンしている。"
6206
6207 #. type: TP
6208 #: build/C/man2/fcntl.2:1613 build/C/man2/flock.2:131 build/C/man3/lockf.3:151
6209 #, no-wrap
6210 msgid "B<ENOLCK>"
6211 msgstr "B<ENOLCK>"
6212
6213 #. type: Plain text
6214 #: build/C/man2/fcntl.2:1617
6215 msgid "Too many segment locks open, lock table is full, or a remote locking protocol failed (e.g., locking over NFS)."
6216 msgstr "オープンされているロックの数が多過ぎて、ロックテーブルがいっぱいである。 または remote locking protocol (例えば NFS 上のロック) が失敗した。"
6217
6218 #. type: Plain text
6219 #: build/C/man2/fcntl.2:1625
6220 msgid "B<F_NOTIFY> was specified in I<cmd>, but I<fd> does not refer to a directory."
6221 msgstr "B<F_NOTIFY> が I<cmd> に指定されたが、 I<fd> がディレクトリを参照していない。"
6222
6223 #. type: Plain text
6224 #: build/C/man2/fcntl.2:1630
6225 msgid "Attempted to clear the B<O_APPEND> flag on a file that has the append-only attribute set."
6226 msgstr "追加専用属性が設定されたファイルの B<O_APPEND> フラグをクリアしようと試みた。"
6227
6228 #. type: Plain text
6229 #: build/C/man2/fcntl.2:1640
6230 msgid "I<cmd> was B<F_ADD_SEALS>, but I<fd> was not open for writing or the current set of seals on the file already includes B<F_SEAL_SEAL>."
6231 msgstr "I<cmd> が B<F_ADD_SEALS> だが、 I<fd> が書き込み用にオープンされていないか、 ファイルの現在の seal の集合にすでに B<F_SEAL_SEAL> が含まれている。"
6232
6233 #. type: Plain text
6234 #: build/C/man2/fcntl.2:1653
6235 msgid "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK>, and B<F_SETLKW> are specified in POSIX.1-2001."
6236 msgstr ""
6237 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 で規定されている操作は、\n"
6238 "B<F_DUPFD>, B<F_GETFD>, B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, \n"
6239 "B<F_GETLK>, B<F_SETLK>, B<F_SETLKW> だけである。"
6240
6241 #. type: Plain text
6242 #: build/C/man2/fcntl.2:1665
6243 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.)"
6244 msgstr "B<F_GETOWN> と B<F_SETOWN> は POSIX.1-2001 で規定されている。 (これら定義するには、 B<_BSD_SOURCE> を定義するか、 B<_XOPEN_SOURCE> を 500 以上の値で定義するか、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 のいずれが必要である。)"
6245
6246 #. type: Plain text
6247 #: build/C/man2/fcntl.2:1673
6248 msgid "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, define B<_POSIX_C_SOURCE> with the value 200809L or greater, or B<_XOPEN_SOURCE> with the value 700 or greater.)"
6249 msgstr ""
6250 "B<F_DUPFD_CLOEXEC> は POSIX.1-2008 で規定されている。\n"
6251 "(これら定義するには、\n"
6252 "B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、\n"
6253 "B<_XOPEN_SOURCE> を 700 以上の値で定義すること。)"
6254
6255 #.  .PP
6256 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
6257 #. type: Plain text
6258 #: build/C/man2/fcntl.2:1690
6259 msgid "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these definitions.)"
6260 msgstr ""
6261 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, B<F_GETSIG>, \n"
6262 "B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, B<F_SETLEASE> は Linux 固有である\n"
6263 "(これらの定義を有効にするには B<_GNU_SOURCE> マクロを定義すること)。"
6264
6265 #. type: Plain text
6266 #: build/C/man2/fcntl.2:1699
6267 msgid "B<F_OFD_SETLK>, B<F_OFD_SETLKW>, and B<F_OFD_GETLK> are Linux-specific (and one must define B<_GNU_SOURCE> to obtain their definitions), but work is being done to have them included in the next version of POSIX.1."
6268 msgstr "B<F_OFD_SETLK>, B<F_OFD_SETLKW>, B<F_OFD_GETLK> は Linux 固有だが (これらの定義を得るには B<_GNU_SOURCE> を定義しなければならない)、 POSIX.1 の次のバージョンに含めようという活動が進められている。"
6269
6270 #.  FIXME . Once glibc adds support, add a note about FTM requirements
6271 #. type: Plain text
6272 #: build/C/man2/fcntl.2:1705
6273 msgid "B<F_ADD_SEALS> and B<F_GET_SEALS> are Lnux-specific."
6274 msgstr "B<F_ADD_SEALS> と B<F_GET_SEALS> は Linux 固有である。"
6275
6276 #. type: Plain text
6277 #: build/C/man2/fcntl.2:1711 build/C/man2/fcntl.2:1737
6278 msgid "The errors returned by B<dup2>(2)  are different from those returned by B<F_DUPFD>."
6279 msgstr "エラーの際の返り値が B<dup2>(2)  と B<F_DUPFD> では異なっている。"
6280
6281 #. type: SS
6282 #: build/C/man2/fcntl.2:1711
6283 #, no-wrap
6284 msgid "File locking"
6285 msgstr "ファイルロック"
6286
6287 #. type: Plain text
6288 #: build/C/man2/fcntl.2:1732 build/C/man2/fcntl.2:1776
6289 msgid "The original Linux B<fcntl>()  system call was not designed to handle large file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  system call was added in Linux 2.4.  The newer system call employs a different structure for file locking, I<flock64>, and corresponding commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these details can be ignored by applications using glibc, whose B<fcntl>()  wrapper function transparently employs the more recent system call where it is available."
6290 msgstr ""
6291 "元々の Linux の B<fcntl>() システムコールは (I<flock> 構造体で) 大きな\n"
6292 "ファイルオフセットを扱えるように設計されていなかった。\n"
6293 "その結果、Linux 2.4 で B<fcntl64>() システムコールが追加された。\n"
6294 "この新しいシステムコールは、ファイルのロックに I<flock64> という別の\n"
6295 "構造体を利用し、これに対応するコマンドとして B<F_GETLK64>,\n"
6296 "B<F_SETLK64>, B<F_SETLKW64> を使用する。\n"
6297 "しかし、 glibc を使うアプリケーションではこれらの詳細を無視することが\n"
6298 "できる。 glibc の B<fcntl> のラッパー関数は新しいシステムコールが\n"
6299 "利用できる場合はそれを利用するようになっているからである。"
6300
6301 #. type: SS
6302 #: build/C/man2/fcntl.2:1737
6303 #, no-wrap
6304 msgid "Record locks"
6305 msgstr "レコードロック"
6306
6307 #. type: Plain text
6308 #: build/C/man2/fcntl.2:1743
6309 msgid "Since kernel 2.0, there is no interaction between the types of lock placed by B<flock>(2)  and B<fcntl>()."
6310 msgstr "カーネル 2.0 以降では、 B<flock>(2)  と B<fcntl>()  が設定するロック種別の間に相互作用はない。"
6311
6312 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
6313 #.  documents it in fcntl(5).  mtk, May 2007
6314 #.  Also, FreeBSD documents it (Apr 2014).
6315 #. type: Plain text
6316 #: build/C/man2/fcntl.2:1755
6317 msgid "Several systems have more fields in I<struct flock> such as, for example, I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the process holding the lock may live on a different machine."
6318 msgstr "システムによっては、 I<struct flock> に上記以外のフィールドがあるものもある (例えば I<l_sysid>)。 はっきりと言えることは、ロックを保持しているプロセスが別のマシンに存在 する場合には、 I<l_pid> だけはあまり役にたたないだろうということである。"
6319
6320 #. type: SS
6321 #: build/C/man2/fcntl.2:1776
6322 #, no-wrap
6323 msgid "Record locking and NFS"
6324 msgstr "レコードロックと NFS"
6325
6326 #
6327 #
6328 #
6329 #.  Neil Brown: With NFSv3 the failure mode is the reverse.  If
6330 #.      the server loses contact with a client then any lock stays in place
6331 #.      indefinitely ("why can't I read my mail"... I remember it well).
6332 #.  Jeff Layton:
6333 #.      Note that this is not a firm timeout. The server runs a job
6334 #.      periodically to clean out expired stateful objects, and it's likely
6335 #.      that there is some time (maybe even up to another whole lease period)
6336 #.      between when the timeout expires and the job actually runs. If the
6337 #.      client gets a RENEW in there within that window, its lease will be
6338 #.      renewed and its state preserved.
6339 #. type: Plain text
6340 #: build/C/man2/fcntl.2:1804
6341 msgid "Before Linux 3.12, if an NFSv4 client loses contact with the server for a period of time (defined as more than 90 seconds with no communication), it might lose and regain a lock without ever being aware of the fact.  (The period of time after which contact is assumed lost is known as the NFSv4 leasetime.  On a Linux NFS server, this can be determined by looking at I</proc/fs/nfsd/nfsv4leasetime>, which expresses the period in seconds.  The default value for this file is 90.)  This scenario potentially risks data corruption, since another process might acquire a lock in the intervening period and perform file I/O."
6342 msgstr "Linux 3.12 より前では、 NFSv4 クライアントが一定時間サーバーと通信がなかった場合 (90 秒間通信がない場合と定義されている)、 クライアントが気付かずにロックを失い再獲得する場合がある。 (通信がなくなったみなす時間は NFSv4 leastime と呼ばれる。 Linux NFS サーバーでは、 この値は I</proc/fs/nfsd/nfsv4leasetime> を見て決定される。 このファイルの値の単位は秒であり、 このファイルのデフォルト値は 90 である。) この状況では潜在的にデータ破壊が起こる危険性がある。 通信がなかった間に他のプロセスがロックを獲得しファイル入出力を行う場合があるからである。"
6343
6344 #.  commit ef1820f9be27b6ad158f433ab38002ab8131db4d
6345 #.  commit f6de7a39c181dfb8a2c534661a53c73afb3081cd
6346 #. type: Plain text
6347 #: build/C/man2/fcntl.2:1818
6348 msgid "Since Linux 3.12, if an NFSv4 client loses contact with the server, any I/O to the file by a process which \"thinks\" it holds a lock will fail until that process closes and reopens the file.  A kernel parameter, I<nfs.recover_lost_locks>, can be set to 1 to obtain the pre-3.12 behavior, whereby the client will attempt to recover lost locks when contact is reestablished with the server.  Because of the attendant risk of data corruption, this parameter defaults to 0 (disabled)."
6349 msgstr "Linux 3.12 以降、 NFSv4 クライアントがサーバーと通信がなかった場合、 ロックを持っていると「思っている」プロセスがそのファイルに入出力を行うと失敗する。 そのプロセスがそのファイルをいったんクローズし再オープンするまでは入出力は失敗する。 カーネルパラメーター I<nfs.recover_lost_locks> を 1 に設定すると、 Linux 3.12 より前の動作にすることができる。 この場合、 サーバーとの通信が再確立された場合、 クライアントがは失われたロックを回復しようとする。 データ破壊が起こる危険性があるため、 このパラメーターはデフォルトでは 0 (無効) になっている。"
6350
6351 #. type: SS
6352 #: build/C/man2/fcntl.2:1819
6353 #, no-wrap
6354 msgid "F_SETFL"
6355 msgstr "F_SETFL"
6356
6357 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
6358 #.  via fcntl(2), but currently Linux does not permit this
6359 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
6360 #. type: Plain text
6361 #: build/C/man2/fcntl.2:1831
6362 msgid "It is not possible to use B<F_SETFL> to change the state of the B<O_DSYNC> and B<O_SYNC> flags.  Attempts to change the state of these flags are silently ignored."
6363 msgstr "B<F_SETFL> を使って、 フラグ B<O_DSYNC> と B<O_SYNC> の状態を変更することはできない。これらのフラグの状態を変更しようとした場合には、黙って無視される。"
6364
6365 #. type: SS
6366 #: build/C/man2/fcntl.2:1831
6367 #, no-wrap
6368 msgid "F_GETOWN"
6369 msgstr "F_GETOWN"
6370
6371 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
6372 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
6373 #.  indicate that ANY negative PGID value will cause F_GETOWN
6374 #.  to misinterpret the return as an error. Some other architectures
6375 #.  seem to have the same range check as i386.
6376 #. type: Plain text
6377 #: build/C/man2/fcntl.2:1857
6378 msgid "A limitation of the Linux system call conventions on some architectures (notably i386) means that if a (negative)  process group ID to be returned by B<F_GETOWN> falls in the range -1 to -4095, then the return value is wrongly interpreted by glibc as an error in the system call; that is, the return value of B<fcntl>()  will be -1, and I<errno> will contain the (positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation avoids this problem.  Since glibc version 2.11, glibc makes the kernel B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using B<F_GETOWN_EX>."
6379 msgstr ""
6380 "いくつかのアーキテクチャ (特に i386) における Linux システムコールの慣習\n"
6381 "のため以下の制限が存在する。\n"
6382 "B<F_GETOWN> が返す (負の) プロセスグループID が -1 から -4095 の範囲に入った場合、\n"
6383 "glibc はこの返り値をシステムコールでエラーが起こったと間違って解釈してしまう。\n"
6384 "つまり、 B<fcntl>() の返り値は -1 となり、 I<errno> には (正の) プロセスグループID\n"
6385 "が設定されることになる。Linux 固有の B<F_GETOWN_EX> ではこの問題を回避できる。\n"
6386 "glibc バージョン 2.11 以降では、glibc では B<F_GETOWN_EX> を使って\n"
6387 "B<F_GETOWN> を実装することで、カーネルの B<F_GETOWN> の問題を見えないようにしている。"
6388
6389 #. type: SS
6390 #: build/C/man2/fcntl.2:1857
6391 #, no-wrap
6392 msgid "F_SETOWN"
6393 msgstr "F_SETOWN"
6394
6395 #. type: Plain text
6396 #: build/C/man2/fcntl.2:1875
6397 msgid "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged process uses B<F_SETOWN> to specify the owner of a socket file descriptor as a process (group) other than the caller.  In this case, B<fcntl>()  can return -1 with I<errno> set to B<EPERM>, even when the owner process (group) is one that the caller has permission to send signals to.  Despite this error return, the file descriptor owner is set, and signals will be sent to the owner."
6398 msgstr "Linux 2.4 以前では、非特権プロセスが B<F_SETOWN> を使って、ソケットのファイルディスクリプターの所有者に 呼び出し元以外のプロセス (やプロセスグループ) を指定すると 発生するバグがある。この場合、 呼び出し元が所有者として指定したプロセス (やプロセスグループ) に シグナルを送る許可を持っていたとしても、 B<fcntl>()  が -1 を返し I<errno> に B<EPERM> を設定することがある。 このエラーが返ったにもかかわらず、ファイルディスクリプターの所有者 は設定され、シグナルはその所有者に送られる。"
6399
6400 #. type: SS
6401 #: build/C/man2/fcntl.2:1875
6402 #, no-wrap
6403 msgid "Deadlock detection"
6404 msgstr "デッドロックの検出"
6405
6406 #. type: Plain text
6407 #: build/C/man2/fcntl.2:1894
6408 msgid "The deadlock-detection algorithm employed by the kernel when dealing with B<F_SETLKW> requests can yield both false negatives (failures to detect deadlocks, leaving a set of deadlocked processes blocked indefinitely)  and false positives (B<EDEADLK> errors when there is no deadlock).  For example, the kernel limits the lock depth of its dependency search to 10 steps, meaning that circular deadlock chains that exceed that size will not be detected.  In addition, the kernel may falsely indicate a deadlock when two or more processes created using the B<clone>(2)  B<CLONE_FILES> flag place locks that appear (to the kernel) to conflict."
6409 msgstr "B<F_SETLKW> 要求を処理する際にカーネルが使用するデッドロック検出アルゴリズムは、 false negative になる場合 (デッドロックを検出できず、 デッドロックになったプロセスは無限に停止する) も false positive になる場合 (デッドロックがない場合でも B<EDEADLK> エラーとなる) もある。 例えば、 カーネルは依存関係の検索を行うロックの深さを 10 ステップに限定しているが、 このためこれよりも長い循環するデッドロックは検出されない。 また、 B<clone>(2) の B<CLONE_FILES> フラグを使って作成された 2 つ以上のプロセスが (カーネルにとって) 衝突するように見えるロックを適用した場合、 カーネルはデッドロックを誤って検出する。"
6410
6411 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
6412 #.  Reconfirmed by Jeff Layton
6413 #.      From: Jeff Layton <jlayton <at> redhat.com>
6414 #.      Subject: Re: Status of fcntl() mandatory locking
6415 #.      Newsgroups: gmane.linux.file-systems
6416 #.      Date: 2014-04-28 10:07:57 GMT
6417 #.      http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
6418 #. type: Plain text
6419 #: build/C/man2/fcntl.2:1916
6420 msgid "The Linux implementation of mandatory locking is subject to race conditions which render it unreliable: a B<write>(2)  call that overlaps with a lock may modify data after the mandatory lock is acquired; a B<read>(2)  call that overlaps with a lock may detect changes to data that were made only after a write lock was acquired.  Similar races exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable to rely on mandatory locking."
6421 msgstr "Linux の強制ロックの実装は、 競合条件下で強制ロックが不完全になるような場合がある。 ロックと重なって実行された B<write>(2)  の呼び出しは強制ロックが獲得された後にもデータを変更することができる。 ロックと重なって実行された B<read>(2)  の呼び出しは強制ロックが獲得された後になって行われたデータの変更を 検出することができる。 同様の競合条件が強制ロックと B<mmap>(2)  の間にも存在する。それゆえ、強制ロックに頼るのはお薦めできない。"
6422
6423 #. type: Plain text
6424 #: build/C/man2/fcntl.2:1924
6425 msgid "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), B<capabilities>(7), B<feature_test_macros>(7)"
6426 msgstr "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), B<capabilities>(7), B<feature_test_macros>(7)"
6427
6428 #. type: Plain text
6429 #: build/C/man2/fcntl.2:1937
6430 msgid "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux kernel source directory I<Documentation/filesystems/> (on older kernels, these files are directly under the I<Documentation/> directory, and I<mandatory-locking.txt> is called I<mandatory.txt>)"
6431 msgstr "Linux カーネルソースの I<Documentation/filesystems/> ディレクトリ内の I<locks.txt>, I<mandatory-locking.txt>, I<dnotify.txt> (以前のカーネルでは、これらのファイルは I<Documentation/> ディレクトリ直下にあり、 I<mandatory-locking.txt> は I<mandatory.txt> という名前であった)"
6432
6433 #. type: TH
6434 #: build/C/man3/fexecve.3:25
6435 #, no-wrap
6436 msgid "FEXECVE"
6437 msgstr "FEXECVE"
6438
6439 #. type: Plain text
6440 #: build/C/man3/fexecve.3:28
6441 msgid "fexecve - execute program specified via file descriptor"
6442 msgstr "fexecve - ファイルディスクリプターで指定されたプログラムを実行する"
6443
6444 #. type: Plain text
6445 #: build/C/man3/fexecve.3:33
6446 #, no-wrap
6447 msgid "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const >I<envp>B<[]);>\n"
6448 msgstr "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const >I<envp>B<[]);>\n"
6449
6450 #. type: Plain text
6451 #: build/C/man3/fexecve.3:41
6452 msgid "B<fexecve>():"
6453 msgstr "B<fexecve>():"
6454
6455 #. type: Plain text
6456 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
6457 msgid "_GNU_SOURCE"
6458 msgstr "_GNU_SOURCE"
6459
6460 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
6461 #.  but Linux doesn't support this flag yet.
6462 #. type: Plain text
6463 #: build/C/man3/fexecve.3:67
6464 msgid "B<fexecve>()  performs the same task as B<execve>(2), with the difference that the file to be executed is specified via a file descriptor, I<fd>, rather than via a pathname.  The file descriptor I<fd> must be opened read-only, and the caller must have permission to execute the file that it refers to."
6465 msgstr "B<fexecve>()  は B<execve>(2)  と同じ作業を行う。違うのは、 実行するファイルを、パス名ではなく、 ファイルディスクリプター I<fd> を用いて指定する点である。 ファイルディスクリプター I<fd> は、読み込み専用でオープンされていなければならず、 呼び出し元はファイルディスクリプターが参照するファイルに対する 実行許可を持っていなければならない。"
6466
6467 #. type: Plain text
6468 #: build/C/man3/fexecve.3:74
6469 msgid "A successful call to B<fexecve>()  never returns.  On error, the function does return, with a result value of -1, and I<errno> is set appropriately."
6470 msgstr "B<fexecve>()  は呼び出しに成功した場合、戻ることはない。 エラーの場合、返り値 -1 で関数が返り、 I<errno> が適切に設定される。"
6471
6472 #. type: Plain text
6473 #: build/C/man3/fexecve.3:78
6474 msgid "Errors are as for B<execve>(2), with the following additions:"
6475 msgstr "エラーは B<execve>(2)  と同じだが、以下のエラーが追加になっている:"
6476
6477 #. type: Plain text
6478 #: build/C/man3/fexecve.3:86
6479 msgid "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is NULL."
6480 msgstr "I<fd> が有効なファイルディスクリプターでない。または I<argv> が NULL である。または I<envp> が NULL である。"
6481
6482 #. type: Plain text
6483 #: build/C/man3/fexecve.3:91
6484 msgid "The I</proc> filesystem could not be accessed."
6485 msgstr "I</proc> ファイルシステムにアクセスできなかった。"
6486
6487 #. type: Plain text
6488 #: build/C/man3/fexecve.3:94
6489 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
6490 msgstr "B<fexecve>()  は glibc 2.3.2 以降で実装されている。"
6491
6492 #. type: Plain text
6493 #: build/C/man3/fexecve.3:99
6494 msgid "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not widely available on other systems.  It is specified in POSIX.1-2008."
6495 msgstr "POSIX.1-2008.  この関数は POSIX.1-2001 では規定されておらず、 他のシステムで広く利用できるわけではない。 POSIX.1-2008 で規定されている。"
6496
6497 #.  FIXME .
6498 #.  With the addition of the execveat(2), fexecve() can be implemented
6499 #.  even where /proc is unavailable. Review future glibc releases to
6500 #.  see if the implementation is changed to use execveat(2).
6501 #. type: Plain text
6502 #: build/C/man3/fexecve.3:111
6503 msgid "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so I</proc> needs to be mounted and available at the time of the call."
6504 msgstr "Linux では、 B<fexecve>()  は B<proc>(5)  ファイルシステムを使って実装されている。 そのため、この関数を呼び出す時点では I</proc> がマウントされて利用可能となっている必要がある。"
6505
6506 #. type: Plain text
6507 #: build/C/man3/fexecve.3:128
6508 msgid "The idea behind B<fexecve>()  is to allow the caller to verify (checksum) the contents of an executable before executing it.  Simply opening the file, checksumming the contents, and then doing an B<execve>(2)  would not suffice, since, between the two steps, the filename, or a directory prefix of the pathname, could have been exchanged (by, for example, modifying the target of a symbolic link).  B<fexecve>()  does not mitigate the problem that the I<contents> of a file could be changed between the checksumming and the call to B<fexecve>(); for that, the solution is to ensure that the permissions on the file prevent it from being modified by malicious users."
6509 msgstr "B<fexecve>() の裏にある考えは、呼び出し元が、ファイルを実行する前に実行ファイルの内容を検査 (チェックサムを確認) できるようにすることである。単に、ファイルをオープンして内容のチェックサムを検査し、それから B<execve>(2) を行うのは十分ではない。なぜなら、2 つのステップの間で、ファイル名や、パス名のディレクトリの前の方が入れ換えられる可能性があるからだ (例えば、シンボリックリンクのリンク先を変更するなど)。B<fexecve>() は、チェックサムの検査と B<fexecve>() の呼び出しの間で、ファイルのI<内容>を変更できる可能性があるという問題への対策にはならない。この問題に対する対応策は、確実に、ファイルのアクセス許可を設定し、悪意のあるユーザーがファイルを変更できないようにすることである。"
6510
6511 #. type: Plain text
6512 #: build/C/man3/fexecve.3:146
6513 msgid "The natural idiom when using B<fexecve>()  is to set the close-on-exec flag on I<fd>, so that the file descriptor does not leak through to the program that is executed.  This approach is natural for two reasons.  First, it prevents file descriptors being consumed unnecessarily.  (The executed program normally has no need of a file descriptor that refers to the program itself.)  Second, if B<fexecve>()  is used recursively, employing the close-on-exec flag prevents the file descriptor exhaustion that would result from the fact that each step in the recursion would cause one more file descriptor to be passed to the new program.  (But see BUGS.)"
6514 msgstr "B<fexecve>() を使用する際の理にかなった方法は、 I<fd> に close-on-exec フラグをセットし、 実行するプログラムを通じてそのファイルディスクリプターが外部にもれないようにすることである。 この方法は 2 つの理由から理にかなっている。 1 つ目は、 これにより不必要にファイルディスクリプターが消費されるのを防ぐことができる (実行されるプログラムは普通プログラム自身が参照するファイルを参照する必要はない)。 2 つ目は、 B<fexecve>() が再帰的に使用された場合、 close-on-exec フラグを利用することで、 再帰の各ステップで新しいプログラムに一つ余計にファイルディスクリプターが渡されることによる、 ファイルディスクリプターの枯渇を防ぐことができる (ただし「バグ」を参照)。"
6515
6516 #. type: Plain text
6517 #: build/C/man3/fexecve.3:165
6518 msgid "If I<fd> refers to a script (i.e., it is an executable text file that names a script interpreter with a first line that begins with the characters I<#!>)  and the close-on-exec flag has been set for I<fd>, then B<fexecve>()  fails with the error B<ENOENT>.  This error occurs because, by the time the script interpreter is executed, I<fd> has already been closed because of the close-on-exec flag.  Thus, the close-on-exec flag can't be set on I<fd> if it refers to a script, leading to the problems described in NOTES."
6519 msgstr "I<fd> がスクリプトを参照していて (つまり、 最初の行に文字 I<#!> で始まるスクリプトインタープリターの指示がある実行テキストファイルである)、 I<fd> に close-on-exec フラグがセットされていた場合、 B<fexecve>() はエラー B<ENOENT> で失敗する。 このエラーが起こるのは、 スクリプトインタープリターが実行される時点までに、 close-on-exec フラグにより I<fd> がすでにクローズされてしまっているからである。 そのため、 スクリプトを参照する場合には、 close-on-exec フラグを I<fd> にセットすることはできず、 「注意」の節で説明されている問題が起こり得る。"
6520
6521 #. type: Plain text
6522 #: build/C/man3/fexecve.3:168
6523 msgid "B<execve>(2), B<execveat>(2)"
6524 msgstr "B<execve>(2), B<execveat>(2)"
6525
6526 #. type: TH
6527 #: build/C/man2/flock.2:35
6528 #, no-wrap
6529 msgid "FLOCK"
6530 msgstr "FLOCK"
6531
6532 #. type: TH
6533 #: build/C/man2/flock.2:35 build/C/man2/uname.2:27
6534 #, no-wrap
6535 msgid "2014-09-21"
6536 msgstr "2014-09-21"
6537
6538 #. type: Plain text
6539 #: build/C/man2/flock.2:38
6540 msgid "flock - apply or remove an advisory lock on an open file"
6541 msgstr "flock - オープンされたファイルに対するアドバイザリロックの適用、解除を行う"
6542
6543 #. type: Plain text
6544 #: build/C/man2/flock.2:40
6545 msgid "B<#include E<lt>sys/file.hE<gt>>"
6546 msgstr "B<#include E<lt>sys/file.hE<gt>>"
6547
6548 #. type: Plain text
6549 #: build/C/man2/flock.2:42
6550 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6551 msgstr "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6552
6553 #. type: Plain text
6554 #: build/C/man2/flock.2:48
6555 msgid "Apply or remove an advisory lock on the open file specified by I<fd>.  The argument I<operation> is one of the following:"
6556 msgstr "オープンされたファイルにアドバイザリロック (advisory lock) の適用 や解除を行う。 ファイルは I<fd> で指定する。引き数 I<operation> には以下のいずれか一つを指定する:"
6557
6558 #. type: TP
6559 #: build/C/man2/flock.2:49
6560 #, no-wrap
6561 msgid "B<LOCK_SH>"
6562 msgstr "B<LOCK_SH>"
6563
6564 #. type: Plain text
6565 #: build/C/man2/flock.2:54
6566 msgid "Place a shared lock.  More than one process may hold a shared lock for a given file at a given time."
6567 msgstr "共有ロックを適用する。 指定したファイルに対して、 一つ以上のプロセスが同時に共有ロックを保持することができる。"
6568
6569 #. type: TP
6570 #: build/C/man2/flock.2:54
6571 #, no-wrap
6572 msgid "B<LOCK_EX>"
6573 msgstr "B<LOCK_EX>"
6574
6575 #. type: Plain text
6576 #: build/C/man2/flock.2:59
6577 msgid "Place an exclusive lock.  Only one process may hold an exclusive lock for a given file at a given time."
6578 msgstr "排他ロックを適用する。 指定したファイルに対して、 ただ一つのプロセスだけが同時に排他ロックを保持することができる。"
6579
6580 #. type: TP
6581 #: build/C/man2/flock.2:59
6582 #, no-wrap
6583 msgid "B<LOCK_UN>"
6584 msgstr "B<LOCK_UN>"
6585
6586 #. type: Plain text
6587 #: build/C/man2/flock.2:62
6588 msgid "Remove an existing lock held by this process."
6589 msgstr "このプロセスが保持している既存のロックを解除する。"
6590
6591 #. type: Plain text
6592 #: build/C/man2/flock.2:71
6593 msgid "A call to B<flock>()  may block if an incompatible lock is held by another process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with any of the above operations."
6594 msgstr "B<flock>()  を呼び出したときに、指定したロック種別と異なるロックが別プロセスによって 保持されていると、 B<flock>()  は停止 (block) されることがある。 非停止 (nonblocking) タイプの要求を行うためには、 上記の操作 (operation) に B<LOCK_NB> を論理和の形で指定する。"
6595
6596 #. type: Plain text
6597 #: build/C/man2/flock.2:73
6598 msgid "A single file may not simultaneously have both shared and exclusive locks."
6599 msgstr "一つのファイルに共有ロックと排他ロックを同時に設定することはできない。"
6600
6601 #. type: Plain text
6602 #: build/C/man2/flock.2:88
6603 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."
6604 msgstr "B<flock>() によって作られるロックは、 オープンファイル記述 (open file description) (B<open>(2) 参照) と関連付けられる。 したがって、ファイルディスクリプターの複製 (B<fork>(2)  や B<dup>(2)  などにより作成される) は同じロックを参照し、 これらのファイルディスクリプターのどれを使っても このロックを変更したり解放したりできる。 また、ロックの解放は、 上記の複数のファイルディスクリプターのいずれかに対して 明示的に B<LOCK_UN> 操作を指示した場合か、これらのファイルディスクリプターがすべて 閉じられた場合に行われる。"
6605
6606 #. type: Plain text
6607 #: build/C/man2/flock.2:97
6608 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."
6609 msgstr "あるプロセスが B<open>(2)  (もしくは同様の方法) を使って同じファイルに対して 複数のディスクリプターを取得した場合、 B<flock>()  はこれら複数のディスクリプターを各々独立のものとして扱う。 これらのファイルディスクリプターの一つを使ってファイルをロックしようと した際、そのロック要求は、呼び出し元のプロセスがそのファイルの別の ディスクリプター経由ですでに設定しているロックによって拒否される場合がある。"
6610
6611 #. type: Plain text
6612 #: build/C/man2/flock.2:104
6613 msgid "A process may hold only one type of lock (shared or exclusive)  on a file.  Subsequent B<flock>()  calls on an already locked file will convert an existing lock to the new lock mode."
6614 msgstr "一つのプロセスは、一つのファイルに対して (共有ロックと排他ロックのうち)  いずれか一種類のロックしか設定できない。 既にロックされたファイルに対して B<flock>()  を呼び出すと、既存のロックを新しいロックモードに変更することになる。"
6615
6616 #. type: Plain text
6617 #: build/C/man2/flock.2:109
6618 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6619 msgstr "B<flock>()  により作成されたロックは B<execve>(2)  の前後で保存される。"
6620
6621 #. type: Plain text
6622 #: build/C/man2/flock.2:112
6623 msgid "A shared or exclusive lock can be placed on a file regardless of the mode in which the file was opened."
6624 msgstr "共有ロックも排他ロックも、ファイルがどのモードでオープンされたかに 関係なく適用することができる。"
6625
6626 #. type: Plain text
6627 #: build/C/man2/flock.2:122
6628 msgid "I<fd> is not an open file descriptor."
6629 msgstr "I<fd> がオープンされたファイルディスクリプターではない。"
6630
6631 #. type: Plain text
6632 #: build/C/man2/flock.2:127
6633 msgid "While waiting to acquire a lock, the call was interrupted by delivery of a signal caught by a handler; see B<signal>(7)."
6634 msgstr "ロックの獲得を待っている間に、ハンドラにより捕捉されたシグナルを 受信し、 B<flock>()  が中断された。 B<signal>(7)  参照。"
6635
6636 #. type: Plain text
6637 #: build/C/man2/flock.2:131
6638 msgid "I<operation> is invalid."
6639 msgstr "I<oepration> が無効である。"
6640
6641 #. type: Plain text
6642 #: build/C/man2/flock.2:134
6643 msgid "The kernel ran out of memory for allocating lock records."
6644 msgstr "ロックレコードを割り当てるためのメモリが不足している。"
6645
6646 #. type: TP
6647 #: build/C/man2/flock.2:134
6648 #, no-wrap
6649 msgid "B<EWOULDBLOCK>"
6650 msgstr "B<EWOULDBLOCK>"
6651
6652 #. type: Plain text
6653 #: build/C/man2/flock.2:139
6654 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6655 msgstr "指定したファイルがロックされており、 B<LOCK_NB> フラグが指定されている。"
6656
6657 #. type: Plain text
6658 #: build/C/man2/flock.2:148
6659 msgid "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most UNIX systems."
6660 msgstr "4.4BSD (B<flock>()  コールは 4.2BSD で最初に登場した)。 B<fcntl>(2)  で実装されているものなどを含めると、 B<flock>()  の機能はほとんどの UNIX システムで実装されている。"
6661
6662 #.  E.g., according to the flock(2) man page, FreeBSD since at least 5.3
6663 #. type: Plain text
6664 #: build/C/man2/flock.2:171
6665 msgid "Since kernel 2.0, B<flock>()  is implemented as a system call in its own right rather than being emulated in the GNU C library as a call to B<fcntl>(2).  With this implementation, there is no interaction between the types of lock placed by B<flock>()  and B<fcntl>(2), and B<flock>()  does not detect deadlock.  (Note, however, that on some systems, such as the modern BSDs, B<flock>()  and B<fcntl>(2)  locks I<do> interact with one another.)"
6666 msgstr "kernel 2.0 以降では、 B<flock>()  は、GNU C ライブラリでの B<fcntl>(2)  を呼び出してのエミュレーションではなく、 それ自体がシステムコールとして実装されている。 この実装では、 B<flock>()  と B<fcntl>(2)  で適用されるロックの種別には相互作用がなくなり、 B<flock>()  がデッドロックを検出しなくなる。 (ただし、最近の BSD などいくつかのシステムでは、 B<flock>() と B<fcntl>(2) ロックが互いに影響することが「ある」という点に注意すること。)"
6667
6668 #.  commit 5eebde23223aeb0ad2d9e3be6590ff8bbfab0fc2
6669 #. type: Plain text
6670 #: build/C/man2/flock.2:202
6671 msgid "In Linux kernels up to 2.6.11, B<flock>()  does not lock files over NFS (i.e., the scope of locks was limited to the local system).  Instead, one could use B<fcntl>(2)  byte-range locking, which does work over NFS, given a sufficiently recent version of Linux and a server which supports locking.  Since Linux 2.6.12, NFS clients support B<flock>()  locks by emulating them as byte-range locks on the entire file.  This means that B<fcntl>(2)  and B<flock>()  locks I<do> interact with one another over NFS.  Since Linux 2.6.37, the kernel supports a compatibility mode that allows B<flock>()  locks (and also B<fcntl>(2)  byte region locks) to be treated as local; see the discussion of the I<local_lock> option in B<nfs>(5)."
6672 msgstr "バージョン 2.6.11 以前の Linux カーネルでは、 B<flock>() は NFS 上のファイルのロックを行わない (つまり、ロックの対象はローカルシステムに限定されていた)。 その代わり、十分に最近のバージョンの Linux とロックをサポートするサーバーであれば、 B<fcntl>(2) のバイト範囲ロックを使うことができた。 B<fcntl>(2) のバイト範囲ロックは NFS 上で動作する。 Linux 2.6.12 以降では、NFS クライアントは、 ファイル全体に対するバイト範囲ロックでエミュレートすることで、 B<flock>() ロックをサポートしている。 これは、B<fcntl>(2) と B<flock>() ロックが NFS 上では互いに影響しあうことを意味する。 Linux 2.6.37 以降では、 B<flock>() ロック (と B<fcntl>(2) のバイト範囲ロック) をローカルシステムに対するものとして扱う互換性モードが、 カーネルでサポートされている。 B<nfs>(5) の I<local_lock> オプションの議論を参照。"
6673
6674 #. type: Plain text
6675 #: build/C/man2/flock.2:208
6676 msgid "B<flock>()  places advisory locks only; given suitable permissions on a file, a process is free to ignore the use of B<flock>()  and perform I/O on the file."
6677 msgstr "B<flock>()  アドバイザリロックだけを適用する。したがって、ファイルに適切なアクセス権を 付与していれば、プロセスは B<flock>()  の使用に無視して、ファイルへの入出力を行うことができる。"
6678
6679 #. type: Plain text
6680 #: build/C/man2/flock.2:221
6681 msgid "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to forked processes and B<dup>(2).  On systems that implement B<flock>()  using B<fcntl>(2), the semantics of B<flock>()  will be different from those described in this manual page."
6682 msgstr "B<flock>()  と B<fcntl>(2)  は fork されたプロセスと B<dup>(2)  で違った動作をする。 B<flock>()  を B<fcntl>(2)  を使って実装しているシステムでは、 B<flock>()  の動作はこのマニュアルページに記載されているものとは違うだろう。"
6683
6684 #.  Kernel 2.5.21 changed things a little: during lock conversion
6685 #.  it is now the highest priority process that will get the lock -- mtk
6686 #. type: Plain text
6687 #: build/C/man2/flock.2:234
6688 msgid "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to be atomic: the existing lock is first removed, and then a new lock is established.  Between these two steps, a pending lock request by another process may be granted, with the result that the conversion either blocks, or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, and occurs on many other implementations.)"
6689 msgstr "ロックの変換 (共有ロックから排他ロックへ、もしくはその反対) がアトミックに 行われることは保証されていない: 既存のロックがまず削除され、それから新しい ロックが設定される。この 2つのステップの間に、他のプロセスからの処理待ちの ロック要求が認められるかもしれず、結果として変換は停止 (block) したり、 (B<LOCK_NB> が指定された場合には) 失敗したりする。 (これは元々の BSD の動作であり、多くの他の実装でも起こる。)"
6690
6691 #. type: Plain text
6692 #: build/C/man2/flock.2:243
6693 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)"
6694 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)"
6695
6696 #. type: Plain text
6697 #: build/C/man2/flock.2:248
6698 msgid "I<Documentation/filesystems/locks.txt> in the Linux kernel source tree (I<Documentation/locks.txt> in older kernels)"
6699 msgstr "Linux カーネルソース内の I<Documentation/filesystems/locks.txt> (以前のカーネルでは I<Documentation/locks.txt>)"
6700
6701 #. type: TH
6702 #: build/C/man2/fork.2:39
6703 #, no-wrap
6704 msgid "FORK"
6705 msgstr "FORK"
6706
6707 #. type: TH
6708 #: build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/swapon.2:42
6709 #, no-wrap
6710 msgid "2014-05-28"
6711 msgstr "2014-05-28"
6712
6713 #. type: Plain text
6714 #: build/C/man2/fork.2:42
6715 msgid "fork - create a child process"
6716 msgstr "fork - 子プロセスを生成する"
6717
6718 #. type: Plain text
6719 #: build/C/man2/fork.2:46
6720 msgid "B<pid_t fork(void);>"
6721 msgstr "B<pid_t fork(void);>"
6722
6723 #. type: Plain text
6724 #: build/C/man2/fork.2:52
6725 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:"
6726 msgstr "B<fork>()  は呼び出し元プロセスを複製して新しいプロセスを生成する。 I<child> で参照される新しいプロセスは、以下の点を除き、 I<parent> で参照される呼び出し元プロセスの完全な複製である:"
6727
6728 #. type: Plain text
6729 #: build/C/man2/fork.2:56
6730 msgid "The child has its own unique process ID, and this PID does not match the ID of any existing process group (B<setpgid>(2))."
6731 msgstr "子プロセスは独自のプロセス ID を持ち、 この PID は既存のどのプロセスグループ (B<setpgid>(2))  の ID とも一致しない。"
6732
6733 #. type: Plain text
6734 #: build/C/man2/fork.2:58
6735 msgid "The child's parent process ID is the same as the parent's process ID."
6736 msgstr "子プロセスの親プロセス ID は、親プロセスのプロセス ID と同じである。"
6737
6738 #. type: Plain text
6739 #: build/C/man2/fork.2:62
6740 msgid "The child does not inherit its parent's memory locks (B<mlock>(2), B<mlockall>(2))."
6741 msgstr "子プロセスは親プロセスのメモリロック (B<mlock>(2), B<mlockall>(2))  を引き継がない。"
6742
6743 #. type: Plain text
6744 #: build/C/man2/fork.2:68
6745 msgid "Process resource utilizations (B<getrusage>(2))  and CPU time counters (B<times>(2))  are reset to zero in the child."
6746 msgstr "プロセスの資源利用量 (B<getrusage>(2))  と CPU タイムカウンタ (B<times>(2))  が、子プロセスでは 0 にリセットされる。"
6747
6748 #. type: Plain text
6749 #: build/C/man2/fork.2:71
6750 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6751 msgstr "子プロセスの処理待ちのシグナルの集合 (B<sigpending>(2))  は、初期状態では空になる。"
6752
6753 #. type: Plain text
6754 #: build/C/man2/fork.2:74
6755 msgid "The child does not inherit semaphore adjustments from its parent (B<semop>(2))."
6756 msgstr "子プロセスは親プロセスからセマフォ調整 (B<semop>(2))  を引き継がない。"
6757
6758 #. type: Plain text
6759 #: build/C/man2/fork.2:82
6760 msgid "The child does not inherit process-associated record locks from its parent (B<fcntl>(2)).  (On the other hand, it does inherit B<fcntl>(2)  open file description locks and B<flock>(2)  locks from its parent.)"
6761 msgstr "子プロセスは親プロセスからプロセスに関連付けられたレコードロックを引き継がない (B<fcntl>(2))。 (一方、子プロセスは親プロセスから B<fcntl>(2) オープンファイル記述ロックと B<flock>(2) ロックを引き継ぐ。)"
6762
6763 #. type: Plain text
6764 #: build/C/man2/fork.2:87
6765 msgid "The child does not inherit timers from its parent (B<setitimer>(2), B<alarm>(2), B<timer_create>(2))."
6766 msgstr "子プロセスは親プロセスからタイマー (B<setitimer>(2), B<alarm>(2), B<timer_create>(2))  を引き継がない。"
6767
6768 #. type: Plain text
6769 #: build/C/man2/fork.2:94
6770 msgid "The child does not inherit outstanding asynchronous I/O operations from its parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6771 msgstr "子プロセスは親プロセスから主だった非同期 I/O 操作を引き継がない (B<aio_read>(3), B<aio_write>(3)  参照)。 また、親プロセスから非同期 I/O コンテキストを引き継がない (B<io_setup>(2)  参照)。"
6772
6773 #. type: Plain text
6774 #: build/C/man2/fork.2:99
6775 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:"
6776 msgstr "上記のリストにあるプロセス属性は、POSIX.1-2001 で全て指定されている。 親プロセスと子プロセスは、以下の Linux 固有のプロセス属性も異なる:"
6777
6778 #. type: Plain text
6779 #: build/C/man2/fork.2:106
6780 msgid "The child does not inherit directory change notifications (dnotify)  from its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6781 msgstr "子プロセスは親プロセスからディレクトリ変更通知 (dnotify)  (B<fcntl>(2)  における B<F_NOTIFY> の説明を参照) を引き継がない。"
6782
6783 #. type: Plain text
6784 #: build/C/man2/fork.2:112
6785 msgid "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does not receive a signal when its parent terminates."
6786 msgstr "B<prctl>(2)  の B<PR_SET_PDEATHSIG> の設定がリセットされ、子プロセスは親プロセスが終了したときに シグナルを受信しない。"
6787
6788 #. type: Plain text
6789 #: build/C/man2/fork.2:119
6790 msgid "The default timer slack value is set to the parent's current timer slack value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6791 msgstr "timer slack value のデフォルト値には、親プロセスの現在の timer slack value が設定される。 B<prctl>(2) の B<PR_SET_TIMERSLACK> の説明を参照。"
6792
6793 #. type: Plain text
6794 #: build/C/man2/fork.2:125
6795 msgid "Memory mappings that have been marked with the B<madvise>(2)  B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6796 msgstr "B<madvise>(2)  の B<MADV_DONTFORK> フラグでマークされたメモリマッピングは、 B<fork>()  によって引き継がれない。"
6797
6798 #. type: Plain text
6799 #: build/C/man2/fork.2:130
6800 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6801 msgstr "子プロセスの終了シグナルは常に B<SIGCHLD> である (B<clone>(2)  を参照)。"
6802
6803 #. type: Plain text
6804 #: build/C/man2/fork.2:136
6805 msgid "The port access permission bits set by B<ioperm>(2)  are not inherited by the child; the child must turn on any bits that it requires using B<ioperm>(2)."
6806 msgstr "B<ioperm>(2) で設定されるポートアクセス許可ビットは、子プロセスには継承されない。子プロセスでは、 B<ioperm>(2) を使って必要なビットをセットしなければならない。"
6807
6808 #. type: Plain text
6809 #: build/C/man2/fork.2:147
6810 msgid "The child process is created with a single thread\\(emthe one that called B<fork>().  The entire virtual address space of the parent is replicated in the child, including the states of mutexes, condition variables, and other pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for dealing with problems that this can cause."
6811 msgstr "子プロセスはシングルスレッドで生成される。つまり、 B<fork>()  を呼び出したスレッドとなる。 親プロセスの仮想アドレス空間全体が子プロセスに複製される。 これにはミューテックス (mutex) の状態・条件変数・ pthread オブジェクトが含まれる。 これが引き起こす問題を扱うには、 B<pthread_atfork>(3)  を使うと良いだろう。"
6812
6813 #. type: Plain text
6814 #: build/C/man2/fork.2:161
6815 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))."
6816 msgstr "子プロセスは親プロセスが持つ オープンファイルディスクリプターの集合のコピーを引き継ぐ。 子プロセスの各ファイルディスクリプターは、 親プロセスのファイルディスクリプターに対応する 同じオープンファイル記述 (file description) を参照する (B<open>(2)  を参照)。 これは 2 つのディスクリプターが、ファイル状態フラグ・ 現在のファイルオフセット、シグナル駆動 (signal-driven) I/O 属性 (B<fcntl>(2)  における B<F_SETOWN>, B<F_SETSIG> の説明を参照) を共有することを意味する。"
6817
6818 #. type: Plain text
6819 #: build/C/man2/fork.2:170
6820 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>)."
6821 msgstr "子プロセスは親プロセスが持つオープンメッセージキューディスクリプター (B<mq_overview>(7)  を参照) の集合のコピーを引き継ぐ。 子プロセスの各ディスクリプターは、 親プロセスのディスクリプターに対応する 同じオープンメッセージキューディスクリプターを参照する。 これは 2 つのディスクリプターが同じフラグ (I<mq_flags>)  を共有することを意味する。"
6822
6823 #. type: Plain text
6824 #: build/C/man2/fork.2:178
6825 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."
6826 msgstr "子プロセスは、親プロセスのオープン済みのディレクトリストリームの集合 (B<opendir>(3)  参照) のコピーを継承する。 POSIX.1-2001 では、親プロセスと子プロセス間の対応するディレクトリストリーム はディレクトリストリームの位置 (positioning) を共有してもよいとされている。 Linux/glibc ではディレクトリストリームの位置の共有は行われていない。"
6827
6828 #. type: Plain text
6829 #: build/C/man2/fork.2:185
6830 msgid "On success, the PID of the child process is returned in the parent, and 0 is returned in the child.  On failure, -1 is returned in the parent, no child process is created, and I<errno> is set appropriately."
6831 msgstr "成功した場合、親プロセスには子プロセスの PID が返され、 子プロセスには 0 が返される。 失敗した場合、親プロセスに -1 が返され、子プロセスは生成されず、 I<errno> が適切に設定される。"
6832
6833 #. type: Plain text
6834 #: build/C/man2/fork.2:191
6835 msgid "B<fork>()  cannot allocate sufficient memory to copy the parent's page tables and allocate a task structure for the child."
6836 msgstr "親プロセスのページテーブルのコピーと 子プロセスのタスク構造に生成に必要なメモリを B<fork>()  が割り当てることができなかった。"
6837
6838 #.  NOTE! The following should match the description in pthread_create(3)
6839 #. type: Plain text
6840 #: build/C/man2/fork.2:209
6841 msgid "A system-imposed limit on the number of threads was encountered.  There are a number of limits that may trigger this error: the B<RLIMIT_NPROC> soft resource limit (set via B<setrlimit>(2)), which limits the number of processes and threads for a real user ID, was reached; the kernel's system-wide limit on the number of processes and threads, I</proc/sys/kernel/threads-max>, was reached (see B<proc>(5)); or the maximum number of PIDs, I</proc/sys/kernel/pid_max>, was reached (see B<proc>(5))."
6842 msgstr "システムで設定されたスレッド数の上限に達していた。 このエラーの原因となる上限値はいくつかある。 実ユーザー ID 当たりのプロセス数とスレッド数の上限である、ソフトリソース上限 B<RLIMIT_NPROC> に達していた (B<setrlimit>(2) で設定できる)。 カーネルのシステム全体のプロセスとスレッドの上限数である I</proc/sys/kernel/threads-max> が達していた (B<proc>(5) 参照)。 PID の最大値 I</proc/sys/kernel/pid_max> に達していた (B<proc>(5) 参照)。"
6843
6844 #. type: Plain text
6845 #: build/C/man2/fork.2:216
6846 msgid "The caller is operating under the B<SCHED_DEADLINE> scheduling policy and does not have the reset-on-fork flag set.  See B<sched>(7)."
6847 msgstr "呼び出し元は、スケジューリングポリシー B<SCHED_DEADLINE> で動作しており、かつ reset-on-fork フラグがセットされていない。 B<sched>(7) 参照。"
6848
6849 #. type: Plain text
6850 #: build/C/man2/fork.2:220
6851 msgid "B<fork>()  failed to allocate the necessary kernel structures because memory is tight."
6852 msgstr "メモリが足りないために、 B<fork>()  は必要なカーネル構造体を割り当てることができなかった。"
6853
6854 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
6855 #. type: Plain text
6856 #: build/C/man2/fork.2:226
6857 msgid "B<fork>()  is not supported on this platform (for example, hardware without a Memory-Management Unit)."
6858 msgstr ""
6859 "B<fork>() はこのプラットフォームではサポートされていない\n"
6860 "(例えば、メモリ管理ユニット (MMU) がないハードウェア)。"
6861
6862 #. type: Plain text
6863 #: build/C/man2/fork.2:235
6864 msgid "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the only penalty that it incurs is the time and memory required to duplicate the parent's page tables, and to create a unique task structure for the child."
6865 msgstr "Linux では、 B<fork>()  を 書き込み時コピー (copy-on-write) ページを用いて実装している。 したがって、fork を行うことの唯一のデメリットは、 親プロセスのページテーブルを複製と 子プロセス自身のタスク構造の作成のための時間とメモリが必要なことである。"
6866
6867 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6868 #.  and does some magic to ensure that getpid(2) returns the right value.
6869 #. type: Plain text
6870 #: build/C/man2/fork.2:259
6871 msgid "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system call, the glibc B<fork>()  wrapper that is provided as part of the NPTL threading implementation invokes B<clone>(2)  with flags that provide the same effect as the traditional system call.  (A call to B<fork>()  is equivalent to a call to B<clone>(2)  specifying I<flags> as just B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been established using B<pthread_atfork>(3)."
6872 msgstr ""
6873 "glibc 2.3.3 以降では、 NPTL スレッド実装の一部として提供されている\n"
6874 "glibc のB<fork>() ラッパー関数は、 カーネルの B<fork>() システムコール\n"
6875 "を起動するのではなく、B<clone>(2) を起動する。\n"
6876 "B<clone>(2) に渡すフラグとして、伝統的な B<fork>() システムコールと\n"
6877 "同じ効果が得られるようなフラグが指定される (B<fork>() の呼び出しは、\n"
6878 "I<flags> に B<SIGCHLD> だけを指定して B<clone>(2) を呼び出すのと等価である)。\n"
6879 "glibc のラッパー関数は B<pthread_atfork>(3) を使って設定されている\n"
6880 "任意の fork ハンドラを起動する。"
6881
6882 #. type: Plain text
6883 #: build/C/man2/fork.2:264
6884 msgid "See B<pipe>(2)  and B<wait>(2)."
6885 msgstr "B<pipe>(2)  および B<wait>(2)  を参照。"
6886
6887 #. type: Plain text
6888 #: build/C/man2/fork.2:275
6889 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)"
6890 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)"
6891
6892 #. type: TH
6893 #: build/C/man3/fpathconf.3:41
6894 #, no-wrap
6895 msgid "FPATHCONF"
6896 msgstr "FPATHCONF"
6897
6898 #. type: Plain text
6899 #: build/C/man3/fpathconf.3:44
6900 msgid "fpathconf, pathconf - get configuration values for files"
6901 msgstr "fpathconf, pathconf - ファイルの設定値を取得する"
6902
6903 #. type: Plain text
6904 #: build/C/man3/fpathconf.3:49
6905 #, no-wrap
6906 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6907 msgstr "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6908
6909 #. type: Plain text
6910 #: build/C/man3/fpathconf.3:51
6911 #, no-wrap
6912 msgid "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
6913 msgstr "B<long pathconf(const char *>I<path>B<, int >I<name>B<);>\n"
6914
6915 #. type: Plain text
6916 #: build/C/man3/fpathconf.3:58
6917 msgid "B<fpathconf>()  gets a value for the configuration option I<name> for the open file descriptor I<fd>."
6918 msgstr "B<fpathconf>()  はオープンされているファイルデスクリプター I<fd> に対して設定されているオプション I<name> の値を取得する。"
6919
6920 #. type: Plain text
6921 #: build/C/man3/fpathconf.3:64
6922 msgid "B<pathconf>()  gets a value for configuration option I<name> for the filename I<path>."
6923 msgstr "B<pathconf>()  はファイル名 I<path> に対して設定されているオプション I<name> の値を取得する。"
6924
6925 #. type: Plain text
6926 #: build/C/man3/fpathconf.3:73
6927 msgid "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum values; if an application wants to take advantage of values which may change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may yield more liberal results."
6928 msgstr "対応するマクロのうち I<E<lt>unistd.hE<gt>> で定義されているものは最小値である。アプリケーションによってはこれらの 値を変更してより有利な動作を行おうとするものがある。この場合でも B<fpathconf>()  または B<pathconf>()  は呼び出すことができる。この場合はより大きな値が返ることになろう。"
6929
6930 #. type: Plain text
6931 #: build/C/man3/fpathconf.3:78
6932 msgid "Setting I<name> equal to one of the following constants returns the following configuration options:"
6933 msgstr "I<name> を以下の定数のどれかにすると、対応する設定オプションが返される。"
6934
6935 #. type: TP
6936 #: build/C/man3/fpathconf.3:78
6937 #, no-wrap
6938 msgid "B<_PC_LINK_MAX>"
6939 msgstr "B<_PC_LINK_MAX>"
6940
6941 #. type: Plain text
6942 #: build/C/man3/fpathconf.3:88
6943 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>."
6944 msgstr "ファイルへのリンクの最大数を返す。 I<fd> または I<path> がディレクトリの場合は、この値はディレクトリ全体に適用される。対応する マクロは B<_POSIX_LINK_MAX> である。"
6945
6946 #. type: TP
6947 #: build/C/man3/fpathconf.3:88
6948 #, no-wrap
6949 msgid "B<_PC_MAX_CANON>"
6950 msgstr "B<_PC_MAX_CANON>"
6951
6952 #. type: Plain text
6953 #: build/C/man3/fpathconf.3:97
6954 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>."
6955 msgstr "フォーマット付き入力行の最大長を返す。このとき I<fd> または I<path> は端末を参照していなければならない。 対応するマクロは B<_POSIX_MAX_CANON> である。"
6956
6957 #. type: TP
6958 #: build/C/man3/fpathconf.3:97
6959 #, no-wrap
6960 msgid "B<_PC_MAX_INPUT>"
6961 msgstr "B<_PC_MAX_INPUT>"
6962
6963 #. type: Plain text
6964 #: build/C/man3/fpathconf.3:106
6965 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>."
6966 msgstr "入力行の最大長を返す。このとき I<fd> または I<path> は端末を参照していなければならない。 対応するマクロは B<_POSIX_MAX_INPUT> である。"
6967
6968 #. type: TP
6969 #: build/C/man3/fpathconf.3:106
6970 #, no-wrap
6971 msgid "B<_PC_NAME_MAX>"
6972 msgstr "B<_PC_NAME_MAX>"
6973
6974 #. type: Plain text
6975 #: build/C/man3/fpathconf.3:115
6976 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>."
6977 msgstr "ディレクトリ I<path> または I<fd> 内に、そのプロセスが作成することができるファイル名の最大長を返す。 対応するマクロは B<_POSIX_NAME_MAX> である。"
6978
6979 #. type: TP
6980 #: build/C/man3/fpathconf.3:115
6981 #, no-wrap
6982 msgid "B<_PC_PATH_MAX>"
6983 msgstr "B<_PC_PATH_MAX>"
6984
6985 #. type: Plain text
6986 #: build/C/man3/fpathconf.3:124
6987 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>."
6988 msgstr "I<path> または I<fd> がカレントディレクトリの場合、相対パス名の最大長を返す。 対応するマクロは B<_POSIX_PATH_MAX> である。"
6989
6990 #. type: TP
6991 #: build/C/man3/fpathconf.3:124
6992 #, no-wrap
6993 msgid "B<_PC_PIPE_BUF>"
6994 msgstr "B<_PC_PIPE_BUF>"
6995
6996 #. type: Plain text
6997 #: build/C/man3/fpathconf.3:133
6998 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 B<_POSIX_PIPE_BUF>."
6999 msgstr "パイプ (pipe) バッファーのサイズを返す。このとき I<fd> はパイプか FIFO を参照していなければならず、 I<path> は FIFO を参照していなければならない。 対応するマクロは B<_POSIX_PIPE_BUF> である。"
7000
7001 #. type: TP
7002 #: build/C/man3/fpathconf.3:133
7003 #, no-wrap
7004 msgid "B<_PC_CHOWN_RESTRICTED>"
7005 msgstr "B<_PC_CHOWN_RESTRICTED>"
7006
7007 #. type: Plain text
7008 #: build/C/man3/fpathconf.3:146
7009 msgid "returns nonzero if the B<chown>(2)  call may not be used on this file.  If I<fd> or I<path> refer to a directory, then this applies to all files in that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
7010 msgstr "このファイルに対する B<chown>(2)  の呼び出しが許されていない場合には 0 以外の値を返す。 I<fd> または I<path> がディレクトリを参照している場合は、この制限はそのディレクトリのすべて のファイルに適用される。 対応するマクロは B<_POSIX_CHOWN_RESTRICTED> である。"
7011
7012 #. type: TP
7013 #: build/C/man3/fpathconf.3:146
7014 #, no-wrap
7015 msgid "B<_PC_NO_TRUNC>"
7016 msgstr "B<_PC_NO_TRUNC>"
7017
7018 #. type: Plain text
7019 #: build/C/man3/fpathconf.3:153
7020 msgid "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
7021 msgstr "アクセス中のファイル名が B<_POSIX_NAME_MAX> よりも長く、エラーとなる場合には 0 以外の値を返す。 対応するマクロは B<_POSIX_NAME_MAX> である。"
7022
7023 #. type: TP
7024 #: build/C/man3/fpathconf.3:153
7025 #, no-wrap
7026 msgid "B<_PC_VDISABLE>"
7027 msgstr "B<_PC_VDISABLE>"
7028
7029 #. type: Plain text
7030 #: build/C/man3/fpathconf.3:160
7031 msgid "returns nonzero if special character processing can be disabled, where I<fd> or I<path> must refer to a terminal."
7032 msgstr "特殊文字 (special character) の処理が許されていない場合は 0 以外の値を 返す。このとき I<fd> または I<path> は端末を参照していなければならない。"
7033
7034 #. type: Plain text
7035 #: build/C/man3/fpathconf.3:169
7036 msgid "The limit is returned, if one exists.  If the system does not have a limit for the requested resource, -1 is returned, and I<errno> is unchanged.  If there is an error, -1 is returned, and I<errno> is set to reflect the nature of the error."
7037 msgstr "(存在していれば) 制限値が返される。要求されたリソースへのシステムの制 限が存在していなければ -1 が返され、 I<errno> は変更されない。エラーが起こった場合には -1 が返され、 I<errno> がエラーに対応した値に設定される。"
7038
7039 #. type: Plain text
7040 #: build/C/man3/fpathconf.3:177
7041 msgid "Files with name lengths longer than the value returned for I<name> equal to B<_PC_NAME_MAX> may exist in the given directory."
7042 msgstr "I<name> に B<_PC_NAME_MAX> を入れて返された値よりも長いファイル名を持つファイルが、与えられたディ レクトリに存在するかもしれない。"
7043
7044 #. type: Plain text
7045 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:338
7046 msgid "Some returned values may be huge; they are not suitable for allocating memory."
7047 msgstr "いくつかの返り値はとても大きくなることがある。これらを使って メモリの割り当てを行うのは適当ではない。"
7048
7049 #. type: Plain text
7050 #: build/C/man3/fpathconf.3:186
7051 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<confstr>(3), B<sysconf>(3)"
7052 msgstr "B<getconf>(1), B<open>(2), B<statfs>(2), B<confstr>(3), B<sysconf>(3)"
7053
7054 #. type: TH
7055 #: build/C/man2/fsync.2:38
7056 #, no-wrap
7057 msgid "FSYNC"
7058 msgstr "FSYNC"
7059
7060 #. type: Plain text
7061 #: build/C/man2/fsync.2:41
7062 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
7063 msgstr "fsync - メモリ上にあるファイルの内容をストレージデバイス上のものと同期させる"
7064
7065 #. type: Plain text
7066 #: build/C/man2/fsync.2:45
7067 msgid "B<int fsync(int >I<fd>B<);>"
7068 msgstr "B<int fsync(int >I<fd>B<);>"
7069
7070 #. type: Plain text
7071 #: build/C/man2/fsync.2:47
7072 msgid "B<int fdatasync(int >I<fd>B<);>"
7073 msgstr "B<int fdatasync(int >I<fd>B<);>"
7074
7075 #. type: Plain text
7076 #: build/C/man2/fsync.2:55
7077 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
7078 msgstr "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
7079
7080 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
7081 #. type: Plain text
7082 #: build/C/man2/fsync.2:58
7083 #, no-wrap
7084 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
7085 msgstr "         || /* glibc 2.8 以降では: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
7086
7087 #. type: Plain text
7088 #: build/C/man2/fsync.2:61
7089 msgid "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7090 msgstr "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7091
7092 #. type: Plain text
7093 #: build/C/man2/fsync.2:74
7094 msgid "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., modified buffer cache pages for) the file referred to by the file descriptor I<fd> to the disk device (or other permanent storage device) so that all changed information can be retrieved even after the system crashed or was rebooted.  This includes writing through or flushing a disk cache if present.  The call blocks until the device reports that the transfer has completed.  It also flushes metadata information associated with the file (see B<stat>(2))."
7095 msgstr ""
7096 "B<fsync>() は、ファイルディスクリプター I<fd> で参照されるファイルの、メモリ内で存在す\n"
7097 "る修正されたデータ (つまり修正されたバッファーキャッシュページ) を、ディスクデ\n"
7098 "バイス(またはその他の永続ストレージデバイス) に転送 (「フラッシュ」) し、これ\n"
7099 "により、システムがクラッシュしたり、再起動された後も、変更された全ての情報が\n"
7100 "取り出せるようになる。「フラッシュ」には、ライトスルー (write through) や\n"
7101 "(存在する場合には) ディスクキャッシュのフラッシュも含まれる。この呼び出しは\n"
7102 "転送が終わったとデバイスが報告するまでブロックする。またファイルに結びついた\n"
7103 "メタデータ情報 (B<stat>(2) 参照) もフラッシュする。"
7104
7105 #. type: Plain text
7106 #: build/C/man2/fsync.2:82
7107 msgid "Calling B<fsync>()  does not necessarily ensure that the entry in the directory containing the file has also reached disk.  For that an explicit B<fsync>()  on a file descriptor for the directory is also needed."
7108 msgstr "B<fsync>()  の呼び出しは、ファイルが存在しているディレクトリのエントリがディスクへ 書き込まれたことを保証するわけではない。 保証するためには明示的にそのディレクトリのファイルディスクリプターに対しても B<fsync>()  する必要がある。"
7109
7110 #. type: Plain text
7111 #: build/C/man2/fsync.2:103
7112 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."
7113 msgstr "B<fdatasync>()  は B<fsync>()  と同様であるが、メタデータの扱いが異なる。 B<fdatasync>()  は、それ以降のデータ読み込みを正しく扱うためにそのメタデータが必要に ならない限り、変更されたメタデータをフラッシュしない。 例えば、 st_atime や st_mtime (それぞれ最終アクセス時刻、最終修正時刻; B<stat>(2)  参照) の変更はフラッシュを必要としない。 なぜならこれらはそれ以降のデータ読み込みを正しく扱うために 必要ではないからである。 一方、ファイルサイズ (B<ftruncate>(2)  では I<st_size>)  の変更はメタデータのフラッシュが必要である。"
7114
7115 #. type: Plain text
7116 #: build/C/man2/fsync.2:108
7117 msgid "The aim of B<fdatasync>()  is to reduce disk activity for applications that do not require all metadata to be synchronized with the disk."
7118 msgstr "B<fdatasync>()  の狙いは、全てのメタデータをディスクと同期する必要のない アプリケーションに対して、ディスクアクセスを減らすことである。"
7119
7120 #. type: Plain text
7121 #: build/C/man2/fsync.2:113
7122 msgid "On success, these system calls return zero.  On error, -1 is returned, and I<errno> is set appropriately."
7123 msgstr "成功した場合、これらのシステムコールはゼロを返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
7124
7125 #. type: Plain text
7126 #: build/C/man2/fsync.2:118
7127 msgid "I<fd> is not a valid open file descriptor."
7128 msgstr "I<fd> が有効なオープンされたディスクリプターでない。"
7129
7130 #. type: Plain text
7131 #: build/C/man2/fsync.2:121
7132 msgid "An error occurred during synchronization."
7133 msgstr "同期操作の間にエラーが発生した。"
7134
7135 #. type: TP
7136 #: build/C/man2/fsync.2:121
7137 #, no-wrap
7138 msgid "B<EROFS>, B<EINVAL>"
7139 msgstr "B<EROFS>, B<EINVAL>"
7140
7141 #. type: Plain text
7142 #: build/C/man2/fsync.2:125
7143 msgid "I<fd> is bound to a special file which does not support synchronization."
7144 msgstr "I<fd> が同期操作をサポートしてない特殊なファイルを参照している。"
7145
7146 #. type: Plain text
7147 #: build/C/man2/fsync.2:127
7148 msgid "4.3BSD, POSIX.1-2001."
7149 msgstr "4.3BSD, POSIX.1-2001."
7150
7151 #. type: SH
7152 #: build/C/man2/fsync.2:127
7153 #, no-wrap
7154 msgid "AVAILABILITY"
7155 msgstr "可用性"
7156
7157 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
7158 #.  -1: unavailable, 0: ask using sysconf().
7159 #.  glibc defines them to 1.
7160 #. type: Plain text
7161 #: build/C/man2/fsync.2:140
7162 msgid "On POSIX systems on which B<fdatasync>()  is available, B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value greater than 0.  (See also B<sysconf>(3).)"
7163 msgstr "B<fdatasync>()  が利用可能な POSIX システムでは、 B<_POSIX_SYNCHRONIZED_IO> が I<E<lt>unistd.hE<gt>> で 0 より大きな値に定義される (B<sysconf>(3)  参照)。"
7164
7165 #. type: Plain text
7166 #: build/C/man2/fsync.2:146
7167 msgid "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file descriptor."
7168 msgstr ""
7169 "(Linux はそうではないが) いくつかの UNIX システムでは\n"
7170 "I<fd> がI<書き込み可能な>ファイルディスクリプターでなければならない。"
7171
7172 #. type: Plain text
7173 #: build/C/man2/fsync.2:152
7174 msgid "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and so has no performance advantage."
7175 msgstr "Linux 2.2 以前では、 B<fdatasync>()  は B<fsync>()  と等価であり、性能面でのメリットはない。"
7176
7177 #. type: Plain text
7178 #: build/C/man2/fsync.2:162
7179 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."
7180 msgstr ""
7181 "古いカーネルやあまり使われていないファイルシステムの B<fsync>() の実装では、\n"
7182 "ディスクキャッシュをフラッシュする方法が分からない場合がある。そのような場合\n"
7183 "には、安全に操作が行われることを保証するため、B<hdparm>(8) や B<sdparm>(8) を\n"
7184 "使ってディスクキャッシュを無効にする必要がある。"
7185
7186 #. type: Plain text
7187 #: build/C/man2/fsync.2:170
7188 msgid "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), B<mount>(8), B<sync>(1)"
7189 msgstr "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), B<mount>(8), B<sync>(1)"
7190
7191 #. type: TH
7192 #: build/C/man3/get_nprocs_conf.3:26
7193 #, no-wrap
7194 msgid "GET_NPROCS"
7195 msgstr "GET_NPROCS"
7196
7197 #. type: TH
7198 #: build/C/man3/get_nprocs_conf.3:26
7199 #, no-wrap
7200 msgid "2012-03-20"
7201 msgstr "2012-03-20"
7202
7203 #. type: Plain text
7204 #: build/C/man3/get_nprocs_conf.3:29
7205 msgid "get_nprocs, get_nprocs_conf - get number of processors"
7206 msgstr "get_nprocs, get_nprocs_conf - プロセッサ数を取得する"
7207
7208 #. type: Plain text
7209 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
7210 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
7211 msgstr "B<#include E<lt>sys/sysinfo.hE<gt>>"
7212
7213 #. type: Plain text
7214 #: build/C/man3/get_nprocs_conf.3:33
7215 msgid "B<int get_nprocs(void);>"
7216 msgstr "B<int get_nprocs(void);>"
7217
7218 #. type: Plain text
7219 #: build/C/man3/get_nprocs_conf.3:35
7220 msgid "B<int get_nprocs_conf(void);>"
7221 msgstr "B<int get_nprocs_conf(void);>"
7222
7223 #. type: Plain text
7224 #: build/C/man3/get_nprocs_conf.3:39
7225 msgid "The function B<get_nprocs_conf>()  returns the number of processors configured by the operating system."
7226 msgstr ""
7227 "B<get_nprocs_conf>() 関数は、オペレーティングシステムで\n"
7228 "設定されているプロセッサ数を返す。"
7229
7230 #. type: Plain text
7231 #: build/C/man3/get_nprocs_conf.3:46
7232 msgid "The function B<get_nprocs>()  returns the number of processors currently available in the system.  This may be less than the number returned by B<get_nprocs_conf>()  because processors may be offline (e.g., on hotpluggable systems)."
7233 msgstr ""
7234 "B<get_nprocs>() 関数は、システムで現在利用可能なプロセッサ数を返す。\n"
7235 "(例えば、ホットプラグが可能なシステムでは)\n"
7236 "オフラインになっているプロセッサがある場合があるので、\n"
7237 "この数は B<get_nprocs_conf>() が返す数より小さい場合がある。"
7238
7239 #. type: Plain text
7240 #: build/C/man3/get_nprocs_conf.3:48
7241 msgid "As given in DESCRIPTION."
7242 msgstr "「説明」の節で説明した通りである。"
7243
7244 #. type: Plain text
7245 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
7246 msgid "These functions are GNU extensions."
7247 msgstr "これらの関数は GNU による拡張である。"
7248
7249 #.  glibc 2.15
7250 #. type: Plain text
7251 #: build/C/man3/get_nprocs_conf.3:57
7252 msgid "The current implementation of these functions is rather expensive, since they open and parse files in the I</sys> filesystem each time they are called."
7253 msgstr ""
7254 "これらの関数の現在の実装はかなりコストがかかる実装になっている。\n"
7255 "関数が呼ばれる度に I</sys> ファイルシステム内のファイルをオープンして\n"
7256 "解析するようになっているからである。"
7257
7258 #. type: Plain text
7259 #: build/C/man3/get_nprocs_conf.3:62
7260 msgid "The following B<sysconf>(3)  calls make use of the functions documented on this page to return the same information."
7261 msgstr ""
7262 "以下の B<sysconf>(3) の呼び出しで、このページに書かれている関数を使った\n"
7263 "場合に返されるのと同じ情報を得ることができる。"
7264
7265 #. type: Plain text
7266 #: build/C/man3/get_nprocs_conf.3:66
7267 #, no-wrap
7268 msgid ""
7269 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
7270 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
7271 msgstr ""
7272 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
7273 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
7274
7275 #. type: Plain text
7276 #: build/C/man3/get_nprocs_conf.3:73
7277 msgid "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  can be used."
7278 msgstr ""
7279 "以下の例は、 B<get_nprocs>() と B<get_nprocs_conf>() が\n"
7280 "どのように利用できるかを示すものである。"
7281
7282 #. type: Plain text
7283 #: build/C/man3/get_nprocs_conf.3:77
7284 #, no-wrap
7285 msgid ""
7286 "#include E<lt>stdio.hE<gt>\n"
7287 "#include E<lt>sys/sysinfo.hE<gt>\n"
7288 msgstr ""
7289 "#include E<lt>stdio.hE<gt>\n"
7290 "#include E<lt>sys/sysinfo.hE<gt>\n"
7291
7292 #. type: Plain text
7293 #: build/C/man3/get_nprocs_conf.3:86
7294 #, no-wrap
7295 msgid ""
7296 "int\n"
7297 "main(int argc, char *argv[])\n"
7298 "{\n"
7299 "    printf(\"This system has %d processors configured and \"\n"
7300 "            \"%d processors available.\\en\",\n"
7301 "            get_nprocs_conf(), get_nprocs());\n"
7302 "    return 0;\n"
7303 "}\n"
7304 msgstr ""
7305 "int\n"
7306 "main(int argc, char *argv[])\n"
7307 "{\n"
7308 "    printf(\"This system has %d processors configured and \"\n"
7309 "            \"%d processors available.\\en\",\n"
7310 "            get_nprocs_conf(), get_nprocs());\n"
7311 "    return 0;\n"
7312 "}\n"
7313
7314 #. type: TH
7315 #: build/C/man2/get_thread_area.2:8
7316 #, no-wrap
7317 msgid "GET_THREAD_AREA"
7318 msgstr "GET_THREAD_AREA"
7319
7320 #. type: TH
7321 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
7322 #, no-wrap
7323 msgid "2012-07-13"
7324 msgstr "2012-07-13"
7325
7326 #. type: Plain text
7327 #: build/C/man2/get_thread_area.2:11
7328 msgid "get_thread_area - get a thread-local storage (TLS) area"
7329 msgstr "get_thread_area - スレッド局所記憶 (TLS) 領域を取り出す"
7330
7331 #. type: Plain text
7332 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
7333 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
7334 msgstr "B<#include E<lt>asm/ldt.hE<gt>>"
7335
7336 #. type: Plain text
7337 #: build/C/man2/get_thread_area.2:17
7338 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7339 msgstr "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7340
7341 #. type: Plain text
7342 #: build/C/man2/get_thread_area.2:20 build/C/man2/gettid.2:38
7343 #: build/C/man2/set_thread_area.2:20 build/C/man2/sysctl.2:44
7344 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
7345 msgstr "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。"
7346
7347 #. type: Plain text
7348 #: build/C/man2/get_thread_area.2:29
7349 msgid "B<get_thread_area>()  returns an entry in the current thread's thread-local storage (TLS) array.  The index of the entry corresponds to the value of I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in bounds, B<get_thread_area>()  copies the corresponding TLS entry into the area pointed to by I<u_info>."
7350 msgstr "B<get_thread_area>()  は、カレントスレッドのスレッド局所記憶 (thread-local storage; TLS) 配列の中のエントリを返す。 エントリのインデックスは、ユーザーから引き数として渡される I<u_info-E<gt>entry_number> の値に対応している。 値が範囲内にある場合、 B<get_thread_info>()  は対応する TLS エントリを I<u_info> で指された領域にコピーする。"
7351
7352 #. type: Plain text
7353 #: build/C/man2/get_thread_area.2:35
7354 msgid "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and sets I<errno> appropriately."
7355 msgstr "成功した場合、 B<get_thread_area>()  は 0 を返す。 そうでない場合、 -1 を返し、 I<errno> に適切な値をセットする。"
7356
7357 #. type: Plain text
7358 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7359 msgid "I<u_info> is an invalid pointer."
7360 msgstr "I<u_info> が不正なポインタである。"
7361
7362 #. type: Plain text
7363 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7364 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7365 msgstr "I<u_info-E<gt>entry_number> が範囲外である。"
7366
7367 #. type: Plain text
7368 #: build/C/man2/get_thread_area.2:46
7369 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7370 msgstr "B<get_thread_area>()  は Linux 2.5.32 で初めて登場した。"
7371
7372 #. type: Plain text
7373 #: build/C/man2/get_thread_area.2:50
7374 msgid "B<get_thread_area>()  is Linux-specific and should not be used in programs that are intended to be portable."
7375 msgstr "B<get_thread_area>()  は Linux 独自の関数であり、 移植を意図したプログラムでは使用すべきではない。"
7376
7377 #. type: Plain text
7378 #: build/C/man2/get_thread_area.2:55
7379 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)."
7380 msgstr "このシステムコールは通常はスレッドライブラリでのみ使用されることを目的として用意されているため、 glibc はこのシステムコールに対するラッパー関数を提供していない。おそらくないと思うが、このシステムコールを直接呼び出したい場合は B<syscall>(2) を使うこと。"
7381
7382 #. type: Plain text
7383 #: build/C/man2/get_thread_area.2:58
7384 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7385 msgstr "B<modify_ldt>(2), B<set_thread_area>(2)"
7386
7387 #. type: TH
7388 #: build/C/man3/getcwd.3:32
7389 #, no-wrap
7390 msgid "GETCWD"
7391 msgstr "GETCWD"
7392
7393 #. type: Plain text
7394 #: build/C/man3/getcwd.3:35
7395 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7396 msgstr "getcwd, getwd, get_current_dir_name - カレントワーキングディレクトリ名の取得"
7397
7398 #. type: Plain text
7399 #: build/C/man3/getcwd.3:40
7400 #, no-wrap
7401 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7402 msgstr "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7403
7404 #. type: Plain text
7405 #: build/C/man3/getcwd.3:42
7406 #, no-wrap
7407 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7408 msgstr "B<char *getwd(char *>I<buf>B<);>\n"
7409
7410 #. type: Plain text
7411 #: build/C/man3/getcwd.3:44
7412 #, no-wrap
7413 msgid "B<char *get_current_dir_name(void);>\n"
7414 msgstr "B<char *get_current_dir_name(void);>\n"
7415
7416 #. type: Plain text
7417 #: build/C/man3/getcwd.3:52
7418 msgid "B<get_current_dir_name>():"
7419 msgstr "B<get_current_dir_name>():"
7420
7421 #. type: Plain text
7422 #: build/C/man3/getcwd.3:57
7423 msgid "B<getwd>():"
7424 msgstr "B<getwd>():"
7425
7426 #. type: Plain text
7427 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59
7428 #: build/C/man2/vfork.2:54
7429 #, no-wrap
7430 msgid ""
7431 "_BSD_SOURCE ||\n"
7432 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7433 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7434 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7435 msgstr ""
7436 "_BSD_SOURCE ||\n"
7437 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7438 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7439 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7440
7441 #. type: Plain text
7442 #: build/C/man3/getcwd.3:72 build/C/man3/getdtablesize.3:54
7443 #: build/C/man2/getpagesize.2:52 build/C/man3/ualarm.3:55
7444 #: build/C/man3/usleep.3:64 build/C/man2/vfork.2:59
7445 msgid "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7446 msgstr "glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7447
7448 #. type: Plain text
7449 #: build/C/man3/getcwd.3:82
7450 msgid "These functions return a null-terminated string containing an absolute pathname that is the current working directory of the calling process.  The pathname is returned as the function result and via the argument I<buf>, if present."
7451 msgstr "これらの関数は、呼び出したプロセスのカレントワーキングディレクトリの 絶対パス名 (absolute pathname) が入った文字列を返す。 返される文字列はヌルで終端される。 パス名は関数の結果として返され、引数 I<buf> がある場合は I<buf> 経由でも返される。"
7452
7453 #. type: Plain text
7454 #: build/C/man3/getcwd.3:90
7455 msgid "The B<getcwd>()  function copies an absolute pathname of the current working directory to the array pointed to by I<buf>, which is of length I<size>."
7456 msgstr "B<getcwd>()  関数はカレントワーキングディレクトリの絶対パス名を I<buf> で示された I<size> 長の配列にコピーする。"
7457
7458 #. type: Plain text
7459 #: build/C/man3/getcwd.3:100
7460 msgid "If the length of the absolute pathname of the current working directory, including the terminating null byte, exceeds I<size> bytes, NULL is returned, and I<errno> is set to B<ERANGE>; an application should check for this error, and allocate a larger buffer if necessary."
7461 msgstr "終端のヌルバイトも含めた、カレントワーキングディレクトリの 絶対パス名の長さが I<size> バイトを超えている場合は、返り値として NULL が返り I<errno> に B<ERANGE> がセットされる。 アプリケーションはこのエラーをチェックし、 必要に応じてより長いバッファーを用意すべきである。"
7462
7463 #. type: Plain text
7464 #: build/C/man3/getcwd.3:118
7465 msgid "As an extension to the POSIX.1-2001 standard, glibc's B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> is NULL.  In this case, the allocated buffer has the length I<size> unless I<size> is zero, when I<buf> is allocated as big as necessary.  The caller should B<free>(3)  the returned buffer."
7466 msgstr "POSIX.1-2001 標準の拡張として、 glibc では I<buf> が NULL の場合、 B<getcwd>()  は必要なバッファーを B<malloc>(3)  を用いて動的に割り当てる。 この場合、 I<size> が 0 の場合を除き、バッファーの長さは I<size> となる。 I<size> が 0 の場合には必要な大きさが確保される。 呼び出し側で、返されたバッファーを B<free>(3)  すべきである。"
7467
7468 #. type: Plain text
7469 #: build/C/man3/getcwd.3:131
7470 msgid "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold the absolute pathname of the current working directory.  If the environment variable B<PWD> is set, and its value is correct, then that value will be returned.  The caller should B<free>(3)  the returned buffer."
7471 msgstr "B<get_current_dir_name>()  はカレントワーキングディレクトリの絶対パス名を収めるのに 十分な大きさの配列を B<malloc>(3)  で獲得する。環境変数 B<PWD> が設定されておりその値が正しければ、その値が返される。 呼び出し側で、返されたバッファーを B<free>(3)  すべきである。"
7472
7473 #. type: Plain text
7474 #: build/C/man3/getcwd.3:156
7475 msgid "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of the absolute pathname of the current working directory, including the terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> may not be a compile-time constant; furthermore, its value may depend on the filesystem, see B<pathconf>(3).)  For portability and security reasons, use of B<getwd>()  is deprecated."
7476 msgstr "B<getwd>()  は B<malloc>(3)  によるメモリ獲得を一切行なわない。 I<buf> 引数は少なくとも B<PATH_MAX> バイトの長さを持つ配列へのポインタである必要がある。 終端のヌルバイトも含めた、カレントワーキングディレクトリの 絶対パス名の長さが B<PATH_MAX> バイトを超えている場合、 NULL が返され、 I<errno> に B<ENAMETOOLONG> が設定される。 (システムによっては、 B<PATH_MAX> は必ずしもコンパイル時に決まる定数ではない点に注意すること。 また、ファイルシステムに依存する場合もある。 B<pathconf>(3)  を参照。)  移植性とセキュリティ上の理由から、 B<getwd>()  の利用は推奨されない。"
7477
7478 #. type: Plain text
7479 #: build/C/man3/getcwd.3:165
7480 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>."
7481 msgstr "成功すると、これらの関数はカレントワーキングディレクトリの絶対パス名 が入った文字列へのポインタを返す。 B<getcwd>()  と B<getwd>()  の場合、返り値は I<buf> と同じ値になる。"
7482
7483 #. type: Plain text
7484 #: build/C/man3/getcwd.3:172
7485 msgid "On failure, these functions return NULL, and I<errno> is set to indicate the error.  The contents of the array pointed to by I<buf> are undefined on error."
7486 msgstr "失敗した場合、これらの関数は NULL を返し、 I<errno> にエラーを示す値を設定する。 I<buf> が指す配列の内容は未定義である。"
7487
7488 #. type: Plain text
7489 #: build/C/man3/getcwd.3:176
7490 msgid "Permission to read or search a component of the filename was denied."
7491 msgstr "ファイル名の構成要素に対する読み込みあるいは検索の権限がない。"
7492
7493 #. type: Plain text
7494 #: build/C/man3/getcwd.3:180
7495 msgid "I<buf> points to a bad address."
7496 msgstr "I<buf> が不正なアドレスを指している。"
7497
7498 #. type: Plain text
7499 #: build/C/man3/getcwd.3:187
7500 msgid "The I<size> argument is zero and I<buf> is not a null pointer."
7501 msgstr "I<size> 引数が 0 かつ、 I<buf> 引数がヌルポインタでない。"
7502
7503 #. type: TP
7504 #: build/C/man3/getcwd.3:187
7505 #, no-wrap
7506 msgid "EINVAL"
7507 msgstr "B<EINVAL>"
7508
7509 #. type: Plain text
7510 #: build/C/man3/getcwd.3:192
7511 msgid "B<getwd>(): I<buf> is NULL."
7512 msgstr "B<getwd>(): I<buf> が NULL である。"
7513
7514 #. type: TP
7515 #: build/C/man3/getcwd.3:192
7516 #, no-wrap
7517 msgid "ENAMETOOLONG"
7518 msgstr "B<ENAMETOOLONG>"
7519
7520 #. type: Plain text
7521 #: build/C/man3/getcwd.3:198
7522 msgid "B<getwd>(): The size of the null-terminated absolute pathname string exceeds B<PATH_MAX> bytes."
7523 msgstr "B<getwd>(): 絶対パス名が入ったヌル終端された文字列の長さが B<PATH_MAX> バイトを超えている。"
7524
7525 #. type: Plain text
7526 #: build/C/man3/getcwd.3:201
7527 msgid "The current working directory has been unlinked."
7528 msgstr "カレントワーキングディレクトリが削除されている。"
7529
7530 #. type: TP
7531 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
7532 #, no-wrap
7533 msgid "B<ERANGE>"
7534 msgstr "B<ERANGE>"
7535
7536 #. type: Plain text
7537 #: build/C/man3/getcwd.3:208
7538 msgid "The I<size> argument is less than the length of the absolute pathname of the working directory, including the terminating null byte.  You need to allocate a bigger array and try again."
7539 msgstr "I<size> 引数の値がワーキングディレクトリの絶対パス名の長さより小さい。 長さには文字列の終端バイトも含まれる。 より大きい配列を確保してもう一度実行する必要がある。"
7540
7541 #. type: Plain text
7542 #: build/C/man3/getcwd.3:216
7543 msgid "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7544 msgstr "B<getcwd>()  は POSIX.1-2001 に準拠している。 POSIX.1-2001 は、 I<buf> が NULL の場合の B<getcwd>()  の動作を規定しないままとしている。"
7545
7546 #. type: Plain text
7547 #: build/C/man3/getcwd.3:227
7548 msgid "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 removes the specification of B<getwd>().  Use B<getcwd>()  instead.  POSIX.1-2001 does not define any errors for B<getwd>()."
7549 msgstr "B<getwd>()  は POSIX.1-2001 に存在しているが、「過去の名残(LEGACY)」とされている。 POSIX.1-2008 では、 B<getwd>()  の仕様が削除されている。 代わりに B<getcwd>()  を使うこと。 POSIX.1-2001 は B<getwd>()  に関するエラーを定義していない。"
7550
7551 #. type: Plain text
7552 #: build/C/man3/getcwd.3:230
7553 msgid "B<get_current_dir_name>()  is a GNU extension."
7554 msgstr "B<get_current_dir_name>()  は GNU 拡張である。"
7555
7556 #. type: Plain text
7557 #: build/C/man3/getcwd.3:241
7558 msgid "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On older systems it would query I</proc/self/cwd>.  If both system call and proc filesystem are missing, a generic implementation is called.  Only in that case can these calls fail under Linux with B<EACCES>."
7559 msgstr "Linux では (2.1.92 以降)、 B<getcwd>()  はシステムコールである。 古いシステムでは I</proc/self/cwd> を参照する。 システムコールも proc ファイルシステムもない場合、 一般的な実装が呼び出される。 この場合においてのみ、(Linux では) この関数は B<EACCES> で失敗する可能性がある。"
7560
7561 #. type: Plain text
7562 #: build/C/man3/getcwd.3:249
7563 msgid "These functions are often used to save the location of the current working directory for the purpose of returning to it later.  Opening the current directory (\".\") and calling B<fchdir>(2)  to return is usually a faster and more reliable alternative when sufficiently many file descriptors are available, especially on platforms other than Linux."
7564 msgstr "これらの関数はしばしばカレントワーキングディレクトリの位置を保存し、 後で戻ってくるために利用される。 未使用のファイルディスクリプターが十分ある場合は、 現在のディレクトリ (\".\") を開いて B<fchdir>(2)  を呼び出すほうが普通は高速で信頼性がある。 特に Linux 以外のプラットフォームの場合はそうである。"
7565
7566 #. type: Plain text
7567 #: build/C/man3/getcwd.3:256
7568 msgid "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), B<malloc>(3)"
7569 msgstr "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), B<malloc>(3)"
7570
7571 #. type: TH
7572 #: build/C/man2/getdomainname.2:29
7573 #, no-wrap
7574 msgid "GETDOMAINNAME"
7575 msgstr "GETDOMAINNAME"
7576
7577 #. type: TH
7578 #: build/C/man2/getdomainname.2:29
7579 #, no-wrap
7580 msgid "2012-10-25"
7581 msgstr "2012-10-25"
7582
7583 #. type: Plain text
7584 #: build/C/man2/getdomainname.2:32
7585 msgid "getdomainname, setdomainname - get/set NIS domain name"
7586 msgstr "getdomainname, setdomainname - NIS ドメイン名の取得・設定をする"
7587
7588 #. type: Plain text
7589 #: build/C/man2/getdomainname.2:36
7590 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7591 msgstr "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7592
7593 #. type: Plain text
7594 #: build/C/man2/getdomainname.2:38
7595 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7596 msgstr "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7597
7598 #. type: Plain text
7599 #: build/C/man2/getdomainname.2:47
7600 msgid "B<getdomainname>(), B<setdomainname>():"
7601 msgstr "B<getdomainname>(), B<setdomainname>():"
7602
7603 #. type: Plain text
7604 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54
7605 #: build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7606 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7607 msgstr "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7608
7609 #. type: Plain text
7610 #: build/C/man2/getdomainname.2:54
7611 msgid "These functions are used to access or to change the NIS domain name of the host system."
7612 msgstr "これらの関数は、ホストシステムの NIS ドメイン名を取得・変更するために使われる。"
7613
7614 #. type: Plain text
7615 #: build/C/man2/getdomainname.2:65
7616 msgid "B<setdomainname>()  sets the domain name to the value given in the character array I<name>.  The I<len> argument specifies the number of bytes in I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7617 msgstr "B<setdomainname>()  は、ドメイン名を、文字配列 I<name> で指定された値に設定する。 引き数 I<len> には、 I<name> のバイト数を指定する (そのため、 I<name> では文字列終端のヌルバイトは必要ない)。"
7618
7619 #. type: Plain text
7620 #: build/C/man2/getdomainname.2:75
7621 msgid "B<getdomainname>()  returns the null-terminated domain name in the character array I<name>, which has a length of I<len> bytes.  If the null-terminated domain name requires more than I<len> bytes, B<getdomainname>()  returns the first I<len> bytes (glibc) or gives an error (libc)."
7622 msgstr "B<getdomainname>()  は、NULL 終端されたドメイン名を、 I<len> バイトの長さの文字配列 I<name> に格納して返す。ヌル終端されたドメイン名が I<len> バイトより長い場合、 B<getdomainname>()  は、(glibc では) 始めの I<len> バイトを返し、(libc では) エラーとなる。"
7623
7624 #. type: Plain text
7625 #: build/C/man2/getdomainname.2:83
7626 msgid "B<setdomainname>()  can fail with the following errors:"
7627 msgstr "B<setdomainname>()  は以下のエラーで失敗する可能性がある。"
7628
7629 #. type: Plain text
7630 #: build/C/man2/getdomainname.2:87
7631 msgid "I<name> pointed outside of user address space."
7632 msgstr "I<name> がユーザーアドレス空間の外を指した。"
7633
7634 #. type: Plain text
7635 #: build/C/man2/getdomainname.2:91
7636 msgid "I<len> was negative or too large."
7637 msgstr "I<len> が負であるか、長すぎる。"
7638
7639 #. type: Plain text
7640 #: build/C/man2/getdomainname.2:96
7641 msgid "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> capability)."
7642 msgstr "B<setdomainname>()  において、呼び出した人に特権がない (Linux では B<CAP_SYS_ADMIN> ケーパビリティ (capability) がない)。"
7643
7644 #. type: Plain text
7645 #: build/C/man2/getdomainname.2:99
7646 msgid "B<getdomainname>()  can fail with the following errors:"
7647 msgstr "B<getdomainname>()  は以下のエラーで失敗する可能性がある。"
7648
7649 #. type: Plain text
7650 #: build/C/man2/getdomainname.2:110
7651 msgid "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer than I<len> bytes."
7652 msgstr "libc での B<getdomainname>()  において、 I<name> が NULL であるか、 I<len> バイトより長い。"
7653
7654 #.  But they appear on most systems...
7655 #. type: Plain text
7656 #: build/C/man2/getdomainname.2:113
7657 msgid "POSIX does not specify these calls."
7658 msgstr "POSIX では、これら関数は定義されていない。"
7659
7660 #. type: Plain text
7661 #: build/C/man2/getdomainname.2:117
7662 msgid "Since Linux 1.0, the limit on the length of a domain name, including the terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7663 msgstr "Linux 1.0 以降では、ドメイン名の長さの上限は 終端のヌルバイトを含めて 64 バイトである。 もっと古いカーネルでは 8 バイトであった。"
7664
7665 #. type: Plain text
7666 #: build/C/man2/getdomainname.2:127
7667 msgid "On most Linux architectures (including x86), there is no B<getdomainname>()  system call; instead, glibc implements B<getdomainname>()  as a library function that returns a copy of the I<domainname> field returned from a call to B<uname>(2)."
7668 msgstr "(x86 を含む) Linux のほとんどのアーキテクチャでは、 B<getdomainname>()  というシステムコールは存在しない。 その代わり、glibc で B<getdomainname>()  がライブラリ関数として実装されており、この関数は B<uname>(2)  の呼び出しで返された I<domainname> フィールドのコピーを返す。"
7669
7670 #. type: Plain text
7671 #: build/C/man2/getdomainname.2:131
7672 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7673 msgstr "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7674
7675 #. type: TH
7676 #: build/C/man3/getdtablesize.3:27
7677 #, no-wrap
7678 msgid "GETDTABLESIZE"
7679 msgstr "GETDTABLESIZE"
7680
7681 #. type: Plain text
7682 #: build/C/man3/getdtablesize.3:30
7683 msgid "getdtablesize - get descriptor table size"
7684 msgstr "getdtablesize - ディスクリプターテーブルのサイズを取得する"
7685
7686 #. type: Plain text
7687 #: build/C/man3/getdtablesize.3:34
7688 msgid "B<int getdtablesize(void);>"
7689 msgstr "B<int getdtablesize(void);>"
7690
7691 #. type: Plain text
7692 #: build/C/man3/getdtablesize.3:41
7693 msgid "B<getdtablesize>():"
7694 msgstr "B<getdtablesize>():"
7695
7696 #. type: Plain text
7697 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7698 #, no-wrap
7699 msgid ""
7700 "_BSD_SOURCE ||\n"
7701 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7702 msgstr ""
7703 "_BSD_SOURCE ||\n"
7704 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7705
7706 #. type: Plain text
7707 #: build/C/man3/getdtablesize.3:61
7708 msgid "B<getdtablesize>()  returns the maximum number of files a process can have open, one more than the largest possible value for a file descriptor."
7709 msgstr "B<getdtablesize>()  は 1 つのプロセスのオープンできるファイル数の最大値を返す。 返り値はファイルディスクリプターの取り得る最大値より 1 大きい値である。"
7710
7711 #. type: Plain text
7712 #: build/C/man3/getdtablesize.3:63
7713 msgid "The current limit on the number of open files per process."
7714 msgstr "プロセス毎にオープンできるファイル数の現在の制限値。"
7715
7716 #. type: Plain text
7717 #: build/C/man3/getdtablesize.3:69
7718 msgid "On Linux, B<getdtablesize>()  can return any of the errors described for B<getrlimit>(2); see NOTES below."
7719 msgstr "Linux では、 B<getdtablesize>()  は B<getrlimit>(2)  で説明されているエラーを返すことがある。 下記の「注意」を参照のこと。"
7720
7721 #. type: Plain text
7722 #: build/C/man3/getdtablesize.3:74
7723 msgid "The B<getdtablesize>()  function is thread-safe."
7724 msgstr "B<getdtablesize>() 関数はスレッドセーフである。"
7725
7726 #. type: Plain text
7727 #: build/C/man3/getdtablesize.3:82
7728 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."
7729 msgstr "SVr4, 4.4BSD (B<getdtablesize>()  関数は 4.2BSD で最初に現われた)。 これは POSIX.1-2001 で規定されていないので、 移植性のあるアプリケーションはこの呼び出しの代わりに I<sysconf(_SC_OPEN_MAX)> を使うべきである。"
7730
7731 #.  The libc4 and libc5 versions return
7732 #.  .B OPEN_MAX
7733 #.  (set to 256 since Linux 0.98.4).
7734 #. type: Plain text
7735 #: build/C/man3/getdtablesize.3:95
7736 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."
7737 msgstr "B<getdtablesize>()  は libc のライブラリ関数として実装されている。glibc 版は B<getrlimit>(2)  を呼び出して、現在の B<RLIMIT_NOFILE> を返す。 呼び出しに失敗した場合は B<OPEN_MAX> を返す。"
7738
7739 #. type: Plain text
7740 #: build/C/man3/getdtablesize.3:100
7741 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7742 msgstr "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7743
7744 #. type: TH
7745 #: build/C/man3/gethostid.3:29
7746 #, no-wrap
7747 msgid "GETHOSTID"
7748 msgstr "GETHOSTID"
7749
7750 #. type: Plain text
7751 #: build/C/man3/gethostid.3:32
7752 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7753 msgstr "gethostid, sethostid - 現在のホストの固有の識別子を取得/設定する"
7754
7755 #. type: Plain text
7756 #: build/C/man3/gethostid.3:36
7757 msgid "B<long gethostid(void);>"
7758 msgstr "B<long gethostid(void);>"
7759
7760 #. type: Plain text
7761 #: build/C/man3/gethostid.3:38
7762 msgid "B<int sethostid(long >I<hostid>B<);>"
7763 msgstr "B<int sethostid(long >I<hostid>B<);>"
7764
7765 #. type: Plain text
7766 #: build/C/man3/gethostid.3:47
7767 msgid "B<gethostid>():"
7768 msgstr "B<gethostid>():"
7769
7770 #. type: Plain text
7771 #: build/C/man3/gethostid.3:52
7772 msgid "B<sethostid>():"
7773 msgstr "B<sethostid>():"
7774
7775 #. type: Plain text
7776 #: build/C/man3/gethostid.3:67
7777 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."
7778 msgstr "B<gethostid>()  と B<sethostid>()  は、それぞれ、現在使用しているホストに固有の 32 ビットの識別子の 取得/設定を行う。 この 32 ビットの識別子は、現在存在している全ての UNIX システム の中で唯一になるように決められる。通常は B<gethostbyname>(3)  により返されるローカルマシンの Internet アドレスが代わりに使用され、 普通は識別子をあえて設定する必要はない。"
7779
7780 #. type: Plain text
7781 #: build/C/man3/gethostid.3:71
7782 msgid "The B<sethostid>()  call is restricted to the superuser."
7783 msgstr "B<sethostid>()  はスーパーユーザーしか使用できない。"
7784
7785 #. type: Plain text
7786 #: build/C/man3/gethostid.3:75
7787 msgid "B<gethostid>()  returns the 32-bit identifier for the current host as set by B<sethostid>()."
7788 msgstr "B<gethostid>()  は、 B<sethostid>()  によって設定された、現在使用しているホストの 32 ビットの識別子の値を返す。"
7789
7790 #. type: Plain text
7791 #: build/C/man3/gethostid.3:81
7792 msgid "On success, B<sethostid>()  returns 0; on error, -1 is returned, and I<errno> is set to indicate the error."
7793 msgstr "成功すると、 B<sethostid>()  は 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
7794
7795 #. type: Plain text
7796 #: build/C/man3/gethostid.3:84
7797 msgid "B<sethostid>()  can fail with the following errors:"
7798 msgstr "B<sethostid>()  は以下のエラーで失敗する可能性がある。"
7799
7800 #. type: Plain text
7801 #: build/C/man3/gethostid.3:88
7802 msgid "The caller did not have permission to write to the file used to store the host ID."
7803 msgstr "呼び出し元がホスト ID を保存するのに使用されるファイルへの 書き込み許可を持っていなかった。"
7804
7805 #. type: Plain text
7806 #: build/C/man3/gethostid.3:92
7807 msgid "The calling process's effective user or group ID is not the same as its corresponding real ID."
7808 msgstr "呼び出し元プロセスの実効 UID/GID が対応する実 UID/GID と同じではない。"
7809
7810 #. type: Plain text
7811 #: build/C/man3/gethostid.3:102
7812 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>()."
7813 msgstr "4.2BSD。4.4BSD ではこれらの関数はなくなった。 SVr4 には B<gethostid>()  は含まれているが、 B<sethostid>()  は含まれていない。 POSIX.1-2001 では、 B<gethostid>()  は規定されているが、 B<sethostid>()  は規定されていない。"
7814
7815 #.  libc5 used /etc/hostid; libc4 didn't have these functions
7816 #. type: Plain text
7817 #: build/C/man3/gethostid.3:111
7818 msgid "In the glibc implementation, the I<hostid> is stored in the file I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> was used.)"
7819 msgstr "glibc の実装では、 I<hostid> はファイル I</etc/hostid> に保存される (バージョン 2.2 より前の glibc では、 I</var/adm/hostid> が使用されていた)。"
7820
7821 #. type: Plain text
7822 #: build/C/man3/gethostid.3:122
7823 msgid "In the glibc implementation, if B<gethostid>()  cannot open the file containing the host ID, then it obtains the hostname using B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order to obtain the host's IPv4 address, and returns a value obtained by bit-twiddling the IPv4 address.  (This value may not be unique.)"
7824 msgstr "glibc の実装では、ホスト ID を保存したファイルを オープンできなかった場合、 B<gethostid>()  は B<gethostname>(2)  を使ってホスト名を入手し、そのホスト名を B<gethostbyname_r>(3)  に渡しホストの IPv4 アドレスを取得して、 その IPv4 アドレスのビット入れ替えを行った値を返す。"
7825
7826 #. type: Plain text
7827 #: build/C/man3/gethostid.3:124
7828 msgid "It is impossible to ensure that the identifier is globally unique."
7829 msgstr "識別子が世界中で一意であることを保証することはできない。"
7830
7831 #. type: Plain text
7832 #: build/C/man3/gethostid.3:127
7833 msgid "B<hostid>(1), B<gethostbyname>(3)"
7834 msgstr "B<hostid>(1), B<gethostbyname>(3)"
7835
7836 #. type: TH
7837 #: build/C/man2/gethostname.2:32
7838 #, no-wrap
7839 msgid "GETHOSTNAME"
7840 msgstr "GETHOSTNAME"
7841
7842 #. type: Plain text
7843 #: build/C/man2/gethostname.2:35
7844 msgid "gethostname, sethostname - get/set hostname"
7845 msgstr "gethostname, sethostname - ホスト名の取得・設定をする"
7846
7847 #. type: Plain text
7848 #: build/C/man2/gethostname.2:39
7849 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7850 msgstr "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7851
7852 #. type: Plain text
7853 #: build/C/man2/gethostname.2:41
7854 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7855 msgstr "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7856
7857 #. type: Plain text
7858 #: build/C/man2/gethostname.2:50
7859 msgid "B<gethostname>():"
7860 msgstr "B<gethostname>():"
7861
7862 #. type: Plain text
7863 #: build/C/man2/gethostname.2:53
7864 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7865 msgstr "glibc 2.12 以降: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7866
7867 #. type: Plain text
7868 #: build/C/man2/gethostname.2:55
7869 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7870 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7871
7872 #. type: Plain text
7873 #: build/C/man2/gethostname.2:58
7874 msgid "B<sethostname>():"
7875 msgstr "B<sethostname>():"
7876
7877 #. type: Plain text
7878 #: build/C/man2/gethostname.2:66
7879 msgid "These system calls are used to access or to change the hostname of the current processor."
7880 msgstr "これらのシステムコールは、現在のプロセッサのホスト名を取得・変更するために 使用される。"
7881
7882 #. type: Plain text
7883 #: build/C/man2/gethostname.2:77
7884 msgid "B<sethostname>()  sets the hostname to the value given in the character array I<name>.  The I<len> argument specifies the number of bytes in I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7885 msgstr "B<sethostname>()  は、ホスト名を、文字配列 I<name> で指定された値に設定する。 引き数 I<len> には、 I<name> のバイト数を指定する (そのため、 I<name> では文字列終端のヌルバイトは必要ない)。"
7886
7887 #. type: Plain text
7888 #: build/C/man2/gethostname.2:89
7889 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."
7890 msgstr "B<gethostname>()  は、NULL 終端されたホスト名を、 I<len> バイトの長さの文字配列 I<name> に格納して返す。ヌル終端されたホスト名が格納先のバッファーよりも長い場合は、 ホスト名は切り詰められ、エラーは返されない (下記の「注意」の節を参照)。 POSIX.1-2001 では、結果の切り詰めが発生した場合に、 返されたバッファーに終端のヌルバイトが含まれているかどうかは 規定されていない。"
7891
7892 #. type: Plain text
7893 #: build/C/man2/gethostname.2:99
7894 msgid "I<name> is an invalid address."
7895 msgstr "I<name> が不正なアドレスである。"
7896
7897 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
7898 #.  unsigned type; can occur for the underlying system call.
7899 #. type: Plain text
7900 #: build/C/man2/gethostname.2:109
7901 msgid "I<len> is negative or, for B<sethostname>(), I<len> is larger than the maximum allowed size."
7902 msgstr "I<len> が負である。 B<sethostname>()  において I<len> が許容された最大サイズを越えている。"
7903
7904 #. type: Plain text
7905 #: build/C/man2/gethostname.2:117
7906 msgid "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before version 2.1, glibc uses B<EINVAL> for this case.)"
7907 msgstr "(glibc B<gethostname>()  で)  I<len> が実際のホスト名の長さよりも小さい (glibc バージョン 2.1 より前では、この状況で B<EINVAL> が使用される)。"
7908
7909 #. type: Plain text
7910 #: build/C/man2/gethostname.2:124
7911 msgid "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> capability."
7912 msgstr "B<sethostname>()  において、呼び出した人が B<CAP_SYS_ADMIN> ケーパビリティ (capability) を持っていなかった。"
7913
7914 #. type: Plain text
7915 #: build/C/man2/gethostname.2:130
7916 msgid "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 specifies B<gethostname>()  but not B<sethostname>()."
7917 msgstr "SVr4, 4.4BSD (これらのインタフェースは 4.2BSD で初めて登場した)。 POSIX.1-2001 では B<gethostname>()  については規定しているが、 B<sethostname>()  は規定していない。"
7918
7919 #. type: Plain text
7920 #: build/C/man2/gethostname.2:140
7921 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)."
7922 msgstr "SUSv2 では「ホスト名が 255 バイトに制限される」ことを保証している。 POSIX.1-2001 では「ホスト名 (終端のヌルバイトは含まない) が B<HOST_NAME_MAX> バイトに制限される」ことを保証している。 Linux では、 B<HOST_NAME_MAX> は 64 に定義されており、 Linux 1.0 以降ではこれが上限となってきた (もっと古いカーネルでは 8 バイトの上限が適用されていた)。"
7923
7924 #. type: Plain text
7925 #: build/C/man2/gethostname.2:163
7926 msgid "The GNU C library does not employ the B<gethostname>()  system call; instead, it implements B<gethostname>()  as a library function that calls B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> field into I<name>.  Having performed the copy, the function then checks if the length of the I<nodename> was greater than or equal to I<len>, and if it is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in this case, a terminating null byte is not included in the returned I<name>."
7927 msgstr "GNU C ライブラリは、 B<gethostname>()  システムコールを利用していない。その代わり、 B<gethostname>()  をライブラリ関数として実装しており、 この関数は B<uname>(2)  を呼び出し、 B<uname>(2)  が返した I<nodename> フィールド (の最大 I<len> バイト) を I<name> にコピーする。 コピーを行った際に、この関数は I<nodename> の長さが I<len> 以上かの確認を行い、 I<len> 以上の場合には -1 を返し、 I<errno> に B<ENAMETOOLONG> を設定する。 この場合、返された I<name> には終端のヌルバイトは含まれない。"
7928
7929 #.  At least glibc 2.0 and 2.1, older versions not checked
7930 #. type: Plain text
7931 #: build/C/man2/gethostname.2:176
7932 msgid "Versions of glibc before 2.2 handle the case where the length of the I<nodename> was greater than or equal to I<len> differently: nothing is copied into I<name> and the function returns -1 with I<errno> set to B<ENAMETOOLONG>."
7933 msgstr "バージョン 2.2 より前の glibc では、 I<nodename> の長さが I<len> 以上の場合の扱いが異なる; I<len> 以上の場合には、 I<name> には何もコピーせず、関数は -1 を返し、 I<errno> に B<ENAMETOOLONG> を設定する。"
7934
7935 #. type: Plain text
7936 #: build/C/man2/gethostname.2:180
7937 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7938 msgstr "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7939
7940 #. type: TH
7941 #: build/C/man3/getlogin.3:28
7942 #, no-wrap
7943 msgid "GETLOGIN"
7944 msgstr "GETLOGIN"
7945
7946 #. type: TH
7947 #: build/C/man3/getlogin.3:28
7948 #, no-wrap
7949 msgid "2013-04-19"
7950 msgstr "2013-04-19"
7951
7952 #. type: Plain text
7953 #: build/C/man3/getlogin.3:31
7954 msgid "getlogin, getlogin_r, cuserid - get username"
7955 msgstr "getlogin, getlogin_r, cuserid - ユーザー名を取得する"
7956
7957 #. type: Plain text
7958 #: build/C/man3/getlogin.3:35
7959 msgid "B<char *getlogin(void);>"
7960 msgstr "B<char *getlogin(void);>"
7961
7962 #. type: Plain text
7963 #: build/C/man3/getlogin.3:37
7964 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7965 msgstr "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7966
7967 #. type: Plain text
7968 #: build/C/man3/getlogin.3:39
7969 msgid "B<#include E<lt>stdio.hE<gt>>"
7970 msgstr "B<#include E<lt>stdio.hE<gt>>"
7971
7972 #. type: Plain text
7973 #: build/C/man3/getlogin.3:41
7974 msgid "B<char *cuserid(char *>I<string>B<);>"
7975 msgstr "B<char *cuserid(char *>I<string>B<);>"
7976
7977 #. type: Plain text
7978 #: build/C/man3/getlogin.3:49
7979 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7980 msgstr "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7981
7982 #. type: Plain text
7983 #: build/C/man3/getlogin.3:52
7984 msgid "B<cuserid>(): _XOPEN_SOURCE"
7985 msgstr "B<cuserid>(): _XOPEN_SOURCE"
7986
7987 #. type: Plain text
7988 #: build/C/man3/getlogin.3:61
7989 msgid "B<getlogin>()  returns a pointer to a string containing the name of the user logged in on the controlling terminal of the process, or a null pointer if this information cannot be determined.  The string is statically allocated and might be overwritten on subsequent calls to this function or to B<cuserid>()."
7990 msgstr "B<getlogin>()  は、現在のプロセスの制御端末にログインしているユーザー名の文字列への ポインタを返す。ユーザー名が決定できない場合はヌルポインタを返す。 文字列は静的領域に割り当てられており、この後でこの関数や B<cuserid>()  が呼び出された際に上書きされることがある。"
7991
7992 #. type: Plain text
7993 #: build/C/man3/getlogin.3:67
7994 msgid "B<getlogin_r>()  returns this same username in the array I<buf> of size I<bufsize>."
7995 msgstr "B<getlogin_r>()  は、上記の同じユーザー名を、大きさ I<bufsize> の配列 I<buf> に入れて返す。"
7996
7997 #. type: Plain text
7998 #: build/C/man3/getlogin.3:79
7999 msgid "B<cuserid>()  returns a pointer to a string containing a username associated with the effective user ID of the process.  If I<string> is not a null pointer, it should be an array that can hold at least B<L_cuserid> characters; the string is returned in this array.  Otherwise, a pointer to a string in a static area is returned.  This string is statically allocated and might be overwritten on subsequent calls to this function or to B<getlogin>()."
8000 msgstr "B<cuserid>()  は、現在のプロセスの実効ユーザーID に対応するユーザー名の 文字列へのポインタを返す。 I<string> がヌルポインタ以外の場合、I<string> は少なくとも B<L_cuserid> 文字を保持できる配列でなければならない。 I<string> が ヌルポインタの場合には、静的領域に置かれた文字列への ポインタが返される。この文字列は静的領域に割り当てられており、後で この関数や B<getlogin>()  が呼び出された際に上書きされることがある。"
8001
8002 #. type: Plain text
8003 #: build/C/man3/getlogin.3:83
8004 msgid "The macro B<L_cuserid> is an integer constant that indicates how long an array you might need to store a username.  B<L_cuserid> is declared in I<E<lt>stdio.hE<gt>>."
8005 msgstr "マクロ B<L_cuserid> は integer の定数で、ユーザー名を保持するために 必要な配列の長さを示す。 B<L_cuserid> は B<stdio.h> で宣言されて いる。"
8006
8007 #. type: Plain text
8008 #: build/C/man3/getlogin.3:90
8009 msgid "These functions let your program identify positively the user who is running (B<cuserid>())  or the user who logged in this session (B<getlogin>()).  (These can differ when set-user-ID programs are involved.)"
8010 msgstr "これらの関数を使うと、プログラムを実行しているユーザー (B<cuserid>())  や このセッションにログインしているユーザー (B<getlogin>())  を明確に特定することができる (ただし set-user-ID プログラムでは、状況が違うこともある)。"
8011
8012 #. type: Plain text
8013 #: build/C/man3/getlogin.3:95
8014 msgid "For most purposes, it is more useful to use the environment variable B<LOGNAME> to find out who the user is.  This is more flexible precisely because the user can set B<LOGNAME> arbitrarily."
8015 msgstr "たいていの目的では、ユーザーの特定には環境変数 B<LOGNAME> を調べ るほうが便利である。LOGNAME 変数はユーザーが自由に設定できるので より柔軟な対応が可能になる。"
8016
8017 #. type: Plain text
8018 #: build/C/man3/getlogin.3:103
8019 msgid "B<getlogin>()  returns a pointer to the username when successful, and NULL on failure, with I<errno> set to indicate the cause of the error.  B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
8020 msgstr "B<getlogin>()  は成功した場合はユーザー名へのポインタを返す。 失敗した場合は NULL を返し、 I<errno> にエラーの原因を示す値を設定する。 B<getlogin_r>()  は成功すると 0 を返し、失敗すると 0 以外を返す。"
8021
8022 #. type: Plain text
8023 #: build/C/man3/getlogin.3:105
8024 msgid "POSIX specifies"
8025 msgstr "POSIX では以下のエラーが規定されている:"
8026
8027 #. type: Plain text
8028 #: build/C/man3/getlogin.3:108
8029 msgid "The calling process already has the maximum allowed number of open files."
8030 msgstr "呼び出し元プロセスがオープンしているファイル数がすでにプロセスあたりの 上限に達している。"
8031
8032 #. type: Plain text
8033 #: build/C/man3/getlogin.3:111
8034 msgid "The system already has the maximum allowed number of open files."
8035 msgstr "システム全体でオープンしているファイル数がすでに上限に達している。"
8036
8037 #. type: TP
8038 #: build/C/man3/getlogin.3:111
8039 #, no-wrap
8040 msgid "B<ENXIO>"
8041 msgstr "B<ENXIO>"
8042
8043 #. type: Plain text
8044 #: build/C/man3/getlogin.3:114
8045 msgid "The calling process has no controlling terminal."
8046 msgstr "呼び出し元プロセスには制御端末がない。"
8047
8048 #. type: Plain text
8049 #: build/C/man3/getlogin.3:120
8050 msgid "(getlogin_r)  The length of the username, including the terminating null byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
8051 msgstr "(getlogin_r)  (終端のヌルバイト (\\(aq\\e0\\(aq) も含めた) ユーザー名の長さが I<bufsize> よりも長い。"
8052
8053 #. type: Plain text
8054 #: build/C/man3/getlogin.3:122
8055 msgid "Linux/glibc also has"
8056 msgstr "Linux/glibc には以下のエラーもある。"
8057
8058 #. type: Plain text
8059 #: build/C/man3/getlogin.3:125
8060 msgid "There was no corresponding entry in the utmp-file."
8061 msgstr "utmp ファイルに対応するエントリがなかった。"
8062
8063 #. type: Plain text
8064 #: build/C/man3/getlogin.3:128
8065 msgid "Insufficient memory to allocate passwd structure."
8066 msgstr "passwd 構造体を割り当てるのに十分なメモリがない。"
8067
8068 #. type: TP
8069 #: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:109
8070 #: build/C/man2/ioctl.2:113 build/C/man3/tcgetpgrp.3:95
8071 #, no-wrap
8072 msgid "B<ENOTTY>"
8073 msgstr "B<ENOTTY>"
8074
8075 #. type: Plain text
8076 #: build/C/man3/getlogin.3:132
8077 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
8078 msgstr "標準入力が端末を参照していない (「バグ」の節を参照)。"
8079
8080 #. type: TP
8081 #: build/C/man3/getlogin.3:133
8082 #, no-wrap
8083 msgid "I</etc/passwd>"
8084 msgstr "I</etc/passwd>"
8085
8086 #. type: Plain text
8087 #: build/C/man3/getlogin.3:136
8088 msgid "password database file"
8089 msgstr "パスワードデータベースのファイル"
8090
8091 #. type: TP
8092 #: build/C/man3/getlogin.3:136
8093 #, no-wrap
8094 msgid "I</var/run/utmp>"
8095 msgstr "I</var/run/utmp>"
8096
8097 #. type: Plain text
8098 #: build/C/man3/getlogin.3:140
8099 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
8100 msgstr "(伝統的には I</etc/utmp> が使われている; libc の中には I</var/adm/utmp> を使うものもある)"
8101
8102 #. type: Plain text
8103 #: build/C/man3/getlogin.3:145
8104 msgid "The B<getlogin>()  function is not thread-safe."
8105 msgstr "B<getlogin>() 関数はスレッドセーフではない。"
8106
8107 #. type: Plain text
8108 #: build/C/man3/getlogin.3:149
8109 msgid "The B<getlogin_r>()  function is thread-safe."
8110 msgstr "B<getlogin_r>() 関数はスレッドセーフである。"
8111
8112 #. type: Plain text
8113 #: build/C/man3/getlogin.3:154
8114 msgid "The B<cuserid>()  function is thread-safe with exceptions.  It is not thread-safe if called with a NULL parameter."
8115 msgstr "B<cuserid>() 関数は、例外付きのスレッドセーフである。 パラメーター NULL で呼び出した場合はスレッドセーフではない。"
8116
8117 #. type: Plain text
8118 #: build/C/man3/getlogin.3:159
8119 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
8120 msgstr "B<getlogin>()  と B<getlogin_r>()  は POSIX.1-2001 で規定されている。"
8121
8122 #. type: Plain text
8123 #: build/C/man3/getlogin.3:170
8124 msgid "System V has a B<cuserid>()  function which uses the real user ID rather than the effective user ID.  The B<cuserid>()  function was included in the 1988 version of POSIX, but removed from the 1990 version.  It was present in SUSv2, but removed in POSIX.1-2001."
8125 msgstr "System V にも B<cuserid>()  があるが、 これは実効ユーザー ID ではなく、実ユーザー ID を使用する。 B<cuserid>()  関数は 1988 年版の POSIX には含まれていたが、 1990 年版では削除された。 SUSv2 に存在したが、POSIX.1-2001 で削除された。"
8126
8127 #. type: Plain text
8128 #: build/C/man3/getlogin.3:177
8129 msgid "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with a session, even if it has no controlling terminal."
8130 msgstr "OpenBSD には B<getlogin>()  と B<setlogin>()  があり、 セッションに対応したユーザー名がある。制御端末がない セッションの場合であっても、対応するユーザー名がある。"
8131
8132 #. type: Plain text
8133 #: build/C/man3/getlogin.3:189
8134 msgid "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it does not work at all, because some program messed up the utmp file.  Often, it gives only the first 8 characters of the login name.  The user currently logged in on the controlling terminal of our program need not be the user who started it.  Avoid B<getlogin>()  for security-related purposes."
8135 msgstr "残念ながら、 B<getlogin>() をだますのはそれほど難しいことではない。別のプログラムが utmp ファイルを 壊してしまうと、全く動作しないこともある。またログイン名の最初の 8 文字 しか返さないことも多い。また、プログラムの制御端末に現在ログインしているユーザーは、プログラムを実行したユーザーでない場合もある。 セキュリティの絡む用途には B<getlogin>() を用いるべきではない。"
8136
8137 #. type: Plain text
8138 #: build/C/man3/getlogin.3:199
8139 msgid "Note that glibc does not follow the POSIX specification and uses I<stdin> instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is redirected.)"
8140 msgstr "glibc は POSIX 仕様には従っておらず、 I</dev/tty> ではなく I<標準入力 (stdin)> を使う。これはバグである。 (SunOS 5.8 や HP-UX 11.11 や FreeBSD 4.8 といった他の最近のシステムはいずれも、 I<標準入力> がリダイレクトされた場合でもログイン名を返す。)"
8141
8142 #. type: Plain text
8143 #: build/C/man3/getlogin.3:209
8144 msgid "Nobody knows precisely what B<cuserid>()  does; avoid it in portable programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if that is what you meant.  B<Do not use> B<cuserid>()."
8145 msgstr "B<cuserid>()  が何を行っているのか、実際のところを知っている者は誰もいない; 移植性が求められるプログラムでは B<cuserid>()  は使うべきではない。 というかどんなプログラムでも使うべきではない: 代わりに I<getpwuid(geteuid())> を用いるべきである (これが意図していることならば、だが)。 B<cuserid>()  は「使わない」こと。"
8146
8147 #. type: Plain text
8148 #: build/C/man3/getlogin.3:213
8149 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8150 msgstr "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8151
8152 #. type: TH
8153 #: build/C/man3/getopt.3:41
8154 #, no-wrap
8155 msgid "GETOPT"
8156 msgstr "GETOPT"
8157
8158 #. type: TH
8159 #: build/C/man3/getopt.3:41 build/C/man2/ioctl.2:41 build/C/man3/sysconf.3:27
8160 #, no-wrap
8161 msgid "2014-12-31"
8162 msgstr "2014-12-31"
8163
8164 #. type: Plain text
8165 #: build/C/man3/getopt.3:45
8166 msgid "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - Parse command-line options"
8167 msgstr "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - コマンドラインオプションを解釈する"
8168
8169 #. type: Plain text
8170 #: build/C/man3/getopt.3:51
8171 #, no-wrap
8172 msgid ""
8173 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8174 "B<           const char *>I<optstring>B<);>\n"
8175 msgstr ""
8176 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8177 "B<           const char *>I<optstring>B<);>\n"
8178
8179 #. type: Plain text
8180 #: build/C/man3/getopt.3:54
8181 #, no-wrap
8182 msgid ""
8183 "B<extern char *>I<optarg>B<;>\n"
8184 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8185 msgstr ""
8186 "B<extern char *>I<optarg>B<;>\n"
8187 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8188
8189 #. type: Plain text
8190 #: build/C/man3/getopt.3:56
8191 #, no-wrap
8192 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8193 msgstr "B<#include E<lt>getopt.hE<gt>>\n"
8194
8195 #. type: Plain text
8196 #: build/C/man3/getopt.3:60
8197 #, no-wrap
8198 msgid ""
8199 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8200 "B<           const char *>I<optstring>B<,>\n"
8201 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8202 msgstr ""
8203 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8204 "B<           const char *>I<optstring>B<,>\n"
8205 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8206
8207 #. type: Plain text
8208 #: build/C/man3/getopt.3:64
8209 #, no-wrap
8210 msgid ""
8211 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8212 "B<           const char *>I<optstring>B<,>\n"
8213 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8214 msgstr ""
8215 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8216 "B<           const char *>I<optstring>B<,>\n"
8217 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8218
8219 #. type: Plain text
8220 #: build/C/man3/getopt.3:74
8221 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8222 msgstr "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8223
8224 #. type: Plain text
8225 #: build/C/man3/getopt.3:78
8226 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8227 msgstr "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8228
8229 #. type: Plain text
8230 #: build/C/man3/getopt.3:99
8231 msgid "The B<getopt>()  function parses the command-line arguments.  Its arguments I<argc> and I<argv> are the argument count and array as passed to the I<main>()  function on program invocation.  An element of I<argv> that starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option element.  The characters of this element (aside from the initial \\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, it returns successively each of the option characters from each of the option elements."
8232 msgstr "B<getopt>()  関数はコマンドライン引き数を解釈する。 B<getopt>()  がとる引き数 I<argc> と I<argv> は、それぞれプログラムの起動時に I<main>()  関数に渡された引き数の個数と配列である。 I<argv> の要素のうち \\(aq-\\(aq で始まるもの (かつ \"-\" 単独や \"--\" 単独ではないもの) は オプション要素 (option element) とみなされる。 この要素から先頭の \\(aq-\\(aq を除いた文字は オプション文字 (option character) とされる。 B<getopt>()  は、繰り返し呼び出されるごとに、次のオプション文字を返す。"
8233
8234 #. type: Plain text
8235 #: build/C/man3/getopt.3:108
8236 msgid "The variable I<optind> is the index of the next element to be processed in I<argv>.  The system initializes this value to 1.  The caller can reset it to 1 to restart scanning of the same I<argv>, or when scanning a new argument vector."
8237 msgstr "変数 I<optind> は、 I<argv> の次に処理される要素のインデックスである。 システムによりこの変数の値は 1 に初期化される。 呼び出し側でこの値を 1 にリセットすることで、同じ I<argv> のスキャンをやり直したり、新しい引き数ベクトルをスキャンすることができる。"
8238
8239 #. type: Plain text
8240 #: build/C/man3/getopt.3:118
8241 msgid "If B<getopt>()  finds another option character, it returns that character, updating the external variable I<optind> and a static variable I<nextchar> so that the next call to B<getopt>()  can resume the scan with the following option character or I<argv>-element."
8242 msgstr "新たなオプション文字を見つけると、 B<getopt>()  はその文字を返し、 外部変数 I<optind> とスタティックな変数 I<nextchar> を更新する。 これらによって、 B<getopt>()  は次回の呼び出しの際に、 以降のオプション文字や I<argv> 要素のスキャンを継続できる。"
8243
8244 #. type: Plain text
8245 #: build/C/man3/getopt.3:124
8246 msgid "If there are no more option characters, B<getopt>()  returns -1.  Then I<optind> is the index in I<argv> of the first I<argv>-element that is not an option."
8247 msgstr "オプション文字がそれ以上見つからなくなると、 B<getopt>()  は -1 を返す。そして I<optind> は、I<argv> の要素のうち、 オプションでない最初の要素を示すようになる。"
8248
8249 #. type: Plain text
8250 #: build/C/man3/getopt.3:151
8251 msgid "I<optstring> is a string containing the legitimate option characters.  If such a character is followed by a colon, the option requires an argument, so B<getopt>()  places a pointer to the following text in the same I<argv>-element, or the text of the following I<argv>-element, in I<optarg>.  Two colons mean an option takes an optional arg; if there is text in the current I<argv>-element (i.e., in the same word as the option name itself, for example, \"-oarg\"), then it is returned in I<optarg>, otherwise I<optarg> is set to zero.  This is a GNU extension.  If I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is treated as the long option B<--foo>.  (The B<-W> option is reserved by POSIX.2 for implementation extensions.)  This behavior is a GNU extension, not available with libraries before glibc 2."
8252 msgstr "I<optstring> は受け付けるオプション文字からなる文字列である。 文字のあとにコロン (:) が置かれている場合は、 オプションには引き数が必要であることを示す。 このとき B<getopt>()  は、現在注目している I<argv> 要素で、オプション文字に引き続くテキストへのポインタか、 あるいは次の I<argv> 要素のテキストへのポインタを I<optarg> に代入する。 2 個連続してコロンが置かれている場合は、 そのオプションは引き数をとってもとらなくてもよい。 現在の I<argv> 要素にテキストがあれば (つまり、\"-oarg\" のように、オプション名自身と同じワード内に テキストがある場合)、それが I<optarg> に返される。 なければ I<optarg> は 0 に設定される。 これは GNU による拡張である。 I<optstring> に B<W> とそれに続くセミコロンが入っていると、 B<-W foo> は長いオプション B<--foo> と同じように扱われる (POSIX.2 は B<-W> オプションを実装依存の拡張として予約している)。 この動作は GNU による拡張であり、glibc 2 以前のライブラリでは 利用できない。"
8253
8254 #. type: Plain text
8255 #: build/C/man3/getopt.3:169
8256 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."
8257 msgstr "デフォルトでは B<getopt>()  は I<argv> をスキャンする際に順序を変更し、 オプション以外の要素を最後に移動する。 他にも 2 つのモードが実装されている。 I<optstring> の先頭文字が \\(aq+\\(aq であるか、環境変数 B<POSIXLY_CORRECT> が設定されている場合には、オプションを対象とする動作は、 非オプションの引き数が現れた段階で終了する。 I<optstring> の先頭文字が \\(aq-\\(aq である場合には、 オプションでない I<argv> 要素は、 文字コード 1 のオプションであるかのように扱われる (これを用いるプログラムは、 オプションや I<argv> 要素を任意の順序で受け入れ、かつそれらの順序が 意味を持つように書かれている必要がある)。 \"--\" は特殊な引き数で、スキャンのモードによらず、 オプションのスキャンを強制的に終了させる。"
8258
8259 #. type: Plain text
8260 #: build/C/man3/getopt.3:177
8261 msgid "If B<getopt>()  does not recognize an option character, it prints an error message to I<stderr>, stores the character in I<optopt>, and returns \\(aq?\\(aq.  The calling program may prevent the error message by setting I<opterr> to 0."
8262 msgstr "認識できないオプション文字があると、 B<getopt>()  はエラーメッセージを標準エラー出力 I<stderr> に表示し、 その文字を I<optopt> に保存して \\(aq?\\(aq を返す。 呼び出したプログラムで I<opterr> を 0 にしておけば、 エラーメッセージの表示を抑制できる。"
8263
8264 #. type: Plain text
8265 #: build/C/man3/getopt.3:196
8266 msgid "If B<getopt>()  finds an option character in I<argv> that was not included in I<optstring>, or if it detects a missing option argument, it returns \\(aq?\\(aq and sets the external variable I<optopt> to the actual option character.  If the first character (following any optional \\(aq+\\(aq or \\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a missing option argument.  If an error was detected, and the first character of I<optstring> is not a colon, and the external variable I<opterr> is nonzero (which is the default), B<getopt>()  prints an error message."
8267 msgstr "B<getopt>()  は I<argv> の中に I<optstring> にないオプション文字を見つけた場合、 またはオプション引き数が足りないことが分かった場合、 \\&\\(aq?\\(aq を返して外部変数 I<optopt> をそのオプション文字に設定する。 I<optstring> の (上で説明したオプションで指定できる \\&\\(aq+\\(aq または \\(aq-\\(aq 後に続く) 最初の文字が コロン (\\(aq:\\(aq) のとき、 B<getopt>()  はオプション引き数が足りない場合に \\(aq?\\(aq ではなく \\(aq:\\(aq を返す。 エラーを見つけた場合で、かつ I<optstring> の最初の文字がコロンでなく、 かつ外部変数 I<opterr> が 0 でない場合 (これがデフォルト)、 B<getopt>()  はエラーメッセージを表示する。"
8268
8269 #. type: SS
8270 #: build/C/man3/getopt.3:196
8271 #, no-wrap
8272 msgid "getopt_long() and getopt_long_only()"
8273 msgstr "getopt_long() と getopt_long_only()"
8274
8275 #. type: Plain text
8276 #: build/C/man3/getopt.3:212
8277 msgid "The B<getopt_long>()  function works like B<getopt>()  except that it also accepts long options, started with two dashes.  (If the program accepts only long options, then I<optstring> should be specified as an empty string (\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation is unique or is an exact match for some defined option.  A long option may take a parameter, of the form B<--arg=param> or B<--arg param>."
8278 msgstr "B<getopt_long>()  関数は、長いオプション (2 つのダッシュ \"--\" で始まるオプション) を 受け入れることを除いて B<getopt>()  と同じように動作する (プログラムに長いオプションだけが渡された場合、 I<optstring> は NULL ではなく空文字列 (\"\") となる)。 長いオプションの名前は、他と重ならない範囲において短縮できる。 あるいは定義されたオプションに正確にマッチするものでも (当然) かまわない。 長いオプションは引き数を取ることができ、 B<--arg=param> または B<--arg param> と言う形式で指定する。"
8279
8280 #. type: Plain text
8281 #: build/C/man3/getopt.3:219
8282 msgid "I<longopts> is a pointer to the first element of an array of I<struct option> declared in I<E<lt>getopt.hE<gt>> as"
8283 msgstr "I<longopts> は I<struct option> の要素からなる配列の、先頭要素へのポインタである。 I<struct option> は I<E<lt>getopt.hE<gt>> で以下のように定義されている。"
8284
8285 #. type: Plain text
8286 #: build/C/man3/getopt.3:228
8287 #, no-wrap
8288 msgid ""
8289 "struct option {\n"
8290 "    const char *name;\n"
8291 "    int         has_arg;\n"
8292 "    int        *flag;\n"
8293 "    int         val;\n"
8294 "};\n"
8295 msgstr ""
8296 "struct option {\n"
8297 "    const char *name;\n"
8298 "    int         has_arg;\n"
8299 "    int        *flag;\n"
8300 "    int         val;\n"
8301 "};\n"
8302
8303 #. type: Plain text
8304 #: build/C/man3/getopt.3:232
8305 msgid "The meanings of the different fields are:"
8306 msgstr "それぞれのフィールドの意味は以下の通り。"
8307
8308 #. type: TP
8309 #: build/C/man3/getopt.3:232
8310 #, no-wrap
8311 msgid "I<name>"
8312 msgstr "I<name>"
8313
8314 #. type: Plain text
8315 #: build/C/man3/getopt.3:235
8316 msgid "is the name of the long option."
8317 msgstr "長いオプションの名前。"
8318
8319 #. type: TP
8320 #: build/C/man3/getopt.3:235
8321 #, no-wrap
8322 msgid "I<has_arg>"
8323 msgstr "I<has_arg>"
8324
8325 #. type: Plain text
8326 #: build/C/man3/getopt.3:241
8327 msgid "is: B<no_argument> (or 0) if the option does not take an argument; B<required_argument> (or 1) if the option requires an argument; or B<optional_argument> (or 2) if the option takes an optional argument."
8328 msgstr "B<no_argument> (または 0) なら、オプションは引き数をとらない。 B<required_argument> (または 1) なら、オプションは引き数を必要とする。 B<optional_argument> (または 2) なら、オプションは引き数をとっても とらなくても良い。"
8329
8330 #. type: TP
8331 #: build/C/man3/getopt.3:241
8332 #, no-wrap
8333 msgid "I<flag>"
8334 msgstr "I<flag>"
8335
8336 #. type: Plain text
8337 #: build/C/man3/getopt.3:255
8338 msgid "specifies how results are returned for a long option.  If I<flag> is NULL, then B<getopt_long>()  returns I<val>.  (For example, the calling program may set I<val> to the equivalent short option character.)  Otherwise, B<getopt_long>()  returns 0, and I<flag> points to a variable which is set to I<val> if the option is found, but left unchanged if the option is not found."
8339 msgstr "長いオプションに対する結果の返し方を指定する。I<flag> が NULL なら B<getopt_long>()  は I<val> を返す (例えば呼び出し元のプログラムは、 I<val> に等価なオプション文字を代入することができる)。 NULL 以外の場合には、 B<getopt_long>()  は 0 を返す。 このときオプションが見つかると I<flag> がポイントする変数に I<val> が代入される。見つからないとこの変数は変更されない。"
8340
8341 #. type: TP
8342 #: build/C/man3/getopt.3:255
8343 #, no-wrap
8344 msgid "I<val>"
8345 msgstr "I<val>"
8346
8347 #. type: Plain text
8348 #: build/C/man3/getopt.3:259
8349 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8350 msgstr "返り値、または I<flag> がポイントする変数へロードされる値。"
8351
8352 #. type: Plain text
8353 #: build/C/man3/getopt.3:261
8354 msgid "The last element of the array has to be filled with zeros."
8355 msgstr "配列の最後の要素は、全て 0 で埋められていなければならない。"
8356
8357 #. type: Plain text
8358 #: build/C/man3/getopt.3:265
8359 msgid "If I<longindex> is not NULL, it points to a variable which is set to the index of the long option relative to I<longopts>."
8360 msgstr "I<longindex> は、NULL でなければ、 長いオプションのインデックスを I<longopts> からの相対位置として保持している変数へのポインタとなる。"
8361
8362 #. type: Plain text
8363 #: build/C/man3/getopt.3:274
8364 msgid "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as \"--\" can indicate a long option.  If an option that starts with \\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short option, it is parsed as a short option instead."
8365 msgstr "B<getopt_long_only>()  は B<getopt_long>()  と同様の動作をするが、 \\(aq-\\(aq も \"--\" と同様に、 長いオプションとして扱われる。\\(aq-\\(aq で始まる (\"--\" 以外の) オプションが、長いものにはマッチしないが短いものに マッチする場合においては、それは短いオプションとして解釈される。"
8366
8367 #. type: Plain text
8368 #: build/C/man3/getopt.3:292
8369 msgid "If an option was successfully found, then B<getopt>()  returns the option character.  If all command-line options have been parsed, then B<getopt>()  returns -1.  If B<getopt>()  encounters an option character that was not in I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an option with a missing argument, then the return value depends on the first character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is returned; otherwise \\(aq?\\(aq is returned."
8370 msgstr "オプションが正常に見つかれば B<getopt>()  はそのオプション文字を返す。 すべてのコマンドラインオプションの解析が終わったら、 B<getopt>()  は -1 を返す。 I<optstring> に含まれないオプション文字が見つかると、\\(aq?\\(aq を返す。 引き数が足りないオプションが見つかった場合、 返り値は I<optstring> の最初の文字による異なる: 最初の文字が \\(aq:\\(aq であれば \\(aq:\\(aq を返し、 それ以外の場合は \\(aq?\\(aq を返す。"
8371
8372 #. type: Plain text
8373 #: build/C/man3/getopt.3:304
8374 msgid "B<getopt_long>()  and B<getopt_long_only>()  also return the option character when a short option is recognized.  For a long option, they return I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an extraneous parameter."
8375 msgstr "B<getopt_long>()  と B<getopt_long_only>()  も、 短いオプション文字を認識した場合にはその文字を返す。 長いオプションに対しては、 I<flag> が NULL なら I<val> を返し、 I<flag> が NULL 以外なら 0 を返す。 エラーと -1 の返り値は B<getopt>()  と同じである。 さらに \\(aq?\\(aq は、マッチが確定できない場合や余分なパラメーターがある場合にも返る。"
8376
8377 #. type: SH
8378 #: build/C/man3/getopt.3:304
8379 #, no-wrap
8380 msgid "ENVIRONMENT"
8381 msgstr "環境"
8382
8383 #. type: TP
8384 #: build/C/man3/getopt.3:305
8385 #, no-wrap
8386 msgid "B<POSIXLY_CORRECT>"
8387 msgstr "B<POSIXLY_CORRECT>"
8388
8389 #. type: Plain text
8390 #: build/C/man3/getopt.3:309
8391 msgid "If this is set, then option processing stops as soon as a nonoption argument is encountered."
8392 msgstr "これが設定されていると、非オプションの引き数に到達した時点でオプション に対する操作が停止される。"
8393
8394 #. type: TP
8395 #: build/C/man3/getopt.3:309
8396 #, no-wrap
8397 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8398 msgstr "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8399
8400 #. type: Plain text
8401 #: build/C/man3/getopt.3:318
8402 msgid "This variable was used by B<bash>(1)  2.0 to communicate to glibc which arguments are the results of wildcard expansion and so should not be considered as options.  This behavior was removed in B<bash>(1)  version 2.01, but the support remains in glibc."
8403 msgstr "この変数は B<bash>(1)  2.0 が glibc と通信するために用いられた。 どの引き数がワイルドカードを展開した結果で、 したがってオプションとみなすべきでないかを知らせるものである。 この機能は B<bash>(1)  のバージョン 2.01 で削除されたが、glibc にはまだ残っている。"
8404
8405 #. type: TP
8406 #: build/C/man3/getopt.3:319
8407 #, no-wrap
8408 msgid "B<getopt>():"
8409 msgstr "B<getopt>():"
8410
8411 #. type: Plain text
8412 #: build/C/man3/getopt.3:329
8413 msgid "POSIX.2 and POSIX.1-2001, provided the environment variable B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really const, because we permute them.  We pretend they're const in the prototype to be compatible with other systems."
8414 msgstr "環境変数 B<POSIXLY_CORRECT> が設定されている場合は POSIX.2 と POSIX.1-2001 に準拠する。 他の場合は I<argv> の要素は本当の意味での定数にはならない。 なぜなら順序が変更されてしまうからである。 ただしそれらは、プロトタイプでは定数であるかのようにしてある。 これは他のシステムとの互換性のためである。"
8415
8416 #. type: Plain text
8417 #: build/C/man3/getopt.3:333
8418 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8419 msgstr "I<optstring> で \\(aq+\\(aq や \\(aq-\\(aq を使うのは GNU による拡張である."
8420
8421 #. type: Plain text
8422 #: build/C/man3/getopt.3:347
8423 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>>."
8424 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>> で宣言を行うことを認めていない。"
8425
8426 #. type: TP
8427 #: build/C/man3/getopt.3:347
8428 #, no-wrap
8429 msgid "B<getopt_long>() and B<getopt_long_only>():"
8430 msgstr "B<getopt_long>(), B<getopt_long_only>():"
8431
8432 #. type: Plain text
8433 #: build/C/man3/getopt.3:369
8434 msgid "A program that scans multiple argument vectors, or rescans the same vector more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq and \\(aq-\\(aq at the start of I<optstring>, or changes the value of B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by resetting I<optind> to 0, rather than the traditional value of 1.  (Resetting to 0 forces the invocation of an internal initialization routine that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in I<optstring>.)"
8435 msgstr "複数の引き数ベクトルをスキャンしたり、同じ引き数ベクトルを二回以上 スキャンするようなプログラムで、 I<optstring> の先頭で \\(aq+\\(aq や \\(aq-\\(aq といった GNU による拡張機能を使用したり、 引き数ベクトルの切り替え時に B<POSIXLY_CORRECT> の値を変更したりする場合には、 I<optind> を伝統的な 1 ではなく 0 にリセットすることで B<getopt>()  を再初期化しなければならない (0 にリセットすることで、 B<POSIXLY_CORRECT> や I<optstring> の GNU 拡張機能のチェックを行う内部初期化ルーチンが起動される)。"
8436
8437 #. type: Plain text
8438 #: build/C/man3/getopt.3:376
8439 msgid "The POSIX.2 specification of B<getopt>()  has a technical error described in POSIX.2 Interpretation 150.  The GNU implementation (and probably all other implementations) implements the correct behavior rather than that specified."
8440 msgstr "POSIX.2 における B<getopt>()  の仕様には技術的な問題があり、 その内容は POSIX.2 Interpretation 150 に記されている。 GNU による実装では (おそらく他のすべての実装でも)、 仕様と異なる正しい動作をするように実装されている。"
8441
8442 #. type: SS
8443 #: build/C/man3/getopt.3:377
8444 #, no-wrap
8445 msgid "getopt()"
8446 msgstr "getopt()"
8447
8448 #. type: Plain text
8449 #: build/C/man3/getopt.3:385
8450 msgid "The following trivial example program uses B<getopt>()  to handle two program options: I<-n>, with no associated value; and I<-t val>, which expects an associated value."
8451 msgstr "以下に示す簡単なサンプルプログラムでは、 二種類のプログラムオプションを扱うのに B<getopt>()  を使用している。一つは値を伴わない I<-n> で、もう一つは対応する値が必要な I<-t val> である。"
8452
8453 #. type: Plain text
8454 #: build/C/man3/getopt.3:390
8455 #, no-wrap
8456 msgid ""
8457 "#include E<lt>unistd.hE<gt>\n"
8458 "#include E<lt>stdlib.hE<gt>\n"
8459 "#include E<lt>stdio.hE<gt>\n"
8460 msgstr ""
8461 "#include E<lt>unistd.hE<gt>\n"
8462 "#include E<lt>stdlib.hE<gt>\n"
8463 "#include E<lt>stdio.hE<gt>\n"
8464
8465 #. type: Plain text
8466 #: build/C/man3/getopt.3:396
8467 #, no-wrap
8468 msgid ""
8469 "int\n"
8470 "main(int argc, char *argv[])\n"
8471 "{\n"
8472 "    int flags, opt;\n"
8473 "    int nsecs, tfnd;\n"
8474 msgstr ""
8475 "int\n"
8476 "main(int argc, char *argv[])\n"
8477 "{\n"
8478 "    int flags, opt;\n"
8479 "    int nsecs, tfnd;\n"
8480
8481 #. type: Plain text
8482 #: build/C/man3/getopt.3:415
8483 #, no-wrap
8484 msgid ""
8485 "    nsecs = 0;\n"
8486 "    tfnd = 0;\n"
8487 "    flags = 0;\n"
8488 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8489 "        switch (opt) {\n"
8490 "        case \\(aqn\\(aq:\n"
8491 "            flags = 1;\n"
8492 "            break;\n"
8493 "        case \\(aqt\\(aq:\n"
8494 "            nsecs = atoi(optarg);\n"
8495 "            tfnd = 1;\n"
8496 "            break;\n"
8497 "        default: /* \\(aq?\\(aq */\n"
8498 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8499 "                    argv[0]);\n"
8500 "            exit(EXIT_FAILURE);\n"
8501 "        }\n"
8502 "    }\n"
8503 msgstr ""
8504 "    nsecs = 0;\n"
8505 "    tfnd = 0;\n"
8506 "    flags = 0;\n"
8507 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8508 "        switch (opt) {\n"
8509 "        case \\(aqn\\(aq:\n"
8510 "            flags = 1;\n"
8511 "            break;\n"
8512 "        case \\(aqt\\(aq:\n"
8513 "            nsecs = atoi(optarg);\n"
8514 "            tfnd = 1;\n"
8515 "            break;\n"
8516 "        default: /* \\(aq?\\(aq */\n"
8517 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8518 "                    argv[0]);\n"
8519 "            exit(EXIT_FAILURE);\n"
8520 "        }\n"
8521 "    }\n"
8522
8523 #. type: Plain text
8524 #: build/C/man3/getopt.3:418
8525 #, no-wrap
8526 msgid ""
8527 "    printf(\"flags=%d; tfnd=%d; nsecs=%d; optind=%d\\en\",\n"
8528 "            flags, tfnd, nsecs, optind);\n"
8529 msgstr ""
8530 "    printf(\"flags=%d; tfnd=%d; nsecs=%d; optind=%d\\en\",\n"
8531 "            flags, tfnd, nsecs, optind);\n"
8532
8533 #. type: Plain text
8534 #: build/C/man3/getopt.3:423
8535 #, no-wrap
8536 msgid ""
8537 "    if (optind E<gt>= argc) {\n"
8538 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8539 "        exit(EXIT_FAILURE);\n"
8540 "    }\n"
8541 msgstr ""
8542 "    if (optind E<gt>= argc) {\n"
8543 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8544 "        exit(EXIT_FAILURE);\n"
8545 "    }\n"
8546
8547 #. type: Plain text
8548 #: build/C/man3/getopt.3:425
8549 #, no-wrap
8550 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8551 msgstr "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8552
8553 #. type: Plain text
8554 #: build/C/man3/getopt.3:427
8555 #, no-wrap
8556 msgid "    /* Other code omitted */\n"
8557 msgstr "    /* Other code omitted */\n"
8558
8559 #. type: SS
8560 #: build/C/man3/getopt.3:431
8561 #, no-wrap
8562 msgid "getopt_long()"
8563 msgstr "getopt_long()"
8564
8565 #. type: Plain text
8566 #: build/C/man3/getopt.3:435
8567 msgid "The following example program illustrates the use of B<getopt_long>()  with most of its features."
8568 msgstr "以下は、 B<getopt_long>()  の使用法を、ほぼすべての機能について示したプログラムの例である。"
8569
8570 #. type: Plain text
8571 #: build/C/man3/getopt.3:440
8572 #, no-wrap
8573 msgid ""
8574 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8575 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8576 "#include E<lt>getopt.hE<gt>\n"
8577 msgstr ""
8578 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8579 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8580 "#include E<lt>getopt.hE<gt>\n"
8581
8582 #. type: Plain text
8583 #: build/C/man3/getopt.3:446
8584 #, no-wrap
8585 msgid ""
8586 "int\n"
8587 "main(int argc, char **argv)\n"
8588 "{\n"
8589 "    int c;\n"
8590 "    int digit_optind = 0;\n"
8591 msgstr ""
8592 "int\n"
8593 "main(int argc, char **argv) {\n"
8594 "    int c;\n"
8595 "    int digit_optind = 0;\n"
8596
8597 #. type: Plain text
8598 #: build/C/man3/getopt.3:459
8599 #, no-wrap
8600 msgid ""
8601 "    while (1) {\n"
8602 "        int this_option_optind = optind ? optind : 1;\n"
8603 "        int option_index = 0;\n"
8604 "        static struct option long_options[] = {\n"
8605 "            {\"add\",     required_argument, 0,  0 },\n"
8606 "            {\"append\",  no_argument,       0,  0 },\n"
8607 "            {\"delete\",  required_argument, 0,  0 },\n"
8608 "            {\"verbose\", no_argument,       0,  0 },\n"
8609 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8610 "            {\"file\",    required_argument, 0,  0 },\n"
8611 "            {0,         0,                 0,  0 }\n"
8612 "        };\n"
8613 msgstr ""
8614 "    while (1) {\n"
8615 "        int this_option_optind = optind ? optind : 1;\n"
8616 "        int option_index = 0;\n"
8617 "        static struct option long_options[] = {\n"
8618 "            {\"add\",     required_argument, 0,  0 },\n"
8619 "            {\"append\",  no_argument,       0,  0 },\n"
8620 "            {\"delete\",  required_argument, 0,  0 },\n"
8621 "            {\"verbose\", no_argument,       0,  0 },\n"
8622 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8623 "            {\"file\",    required_argument, 0,  0 },\n"
8624 "            {0,         0,                 0,  0 }\n"
8625 "        };\n"
8626
8627 #. type: Plain text
8628 #: build/C/man3/getopt.3:464
8629 #, no-wrap
8630 msgid ""
8631 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8632 "                 long_options, &option_index);\n"
8633 "        if (c == -1)\n"
8634 "            break;\n"
8635 msgstr ""
8636 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8637 "                 long_options, &option_index);\n"
8638 "        if (c == -1)\n"
8639 "            break;\n"
8640
8641 #. type: Plain text
8642 #: build/C/man3/getopt.3:472
8643 #, no-wrap
8644 msgid ""
8645 "        switch (c) {\n"
8646 "        case 0:\n"
8647 "            printf(\"option %s\", long_options[option_index].name);\n"
8648 "            if (optarg)\n"
8649 "                printf(\" with arg %s\", optarg);\n"
8650 "            printf(\"\\en\");\n"
8651 "            break;\n"
8652 msgstr ""
8653 "        switch (c) {\n"
8654 "        case 0:\n"
8655 "            printf(\"option %s\", long_options[option_index].name);\n"
8656 "            if (optarg)\n"
8657 "                printf(\" with arg %s\", optarg);\n"
8658 "            printf(\"\\en\");\n"
8659 "            break;\n"
8660
8661 #. type: Plain text
8662 #: build/C/man3/getopt.3:481
8663 #, no-wrap
8664 msgid ""
8665 "        case \\(aq0\\(aq:\n"
8666 "        case \\(aq1\\(aq:\n"
8667 "        case \\(aq2\\(aq:\n"
8668 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8669 "              printf(\"digits occur in two different argv-elements.\\en\");\n"
8670 "            digit_optind = this_option_optind;\n"
8671 "            printf(\"option %c\\en\", c);\n"
8672 "            break;\n"
8673 msgstr ""
8674 "        case \\(aq0\\(aq:\n"
8675 "        case \\(aq1\\(aq:\n"
8676 "        case \\(aq2\\(aq:\n"
8677 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8678 "              printf(\"digits occur in two different argv-elements.\\en\");\n"
8679 "            digit_optind = this_option_optind;\n"
8680 "            printf(\"option %c\\en\", c);\n"
8681 "            break;\n"
8682
8683 #. type: Plain text
8684 #: build/C/man3/getopt.3:485
8685 #, no-wrap
8686 msgid ""
8687 "        case \\(aqa\\(aq:\n"
8688 "            printf(\"option a\\en\");\n"
8689 "            break;\n"
8690 msgstr ""
8691 "        case \\(aqa\\(aq:\n"
8692 "            printf(\"option a\\en\");\n"
8693 "            break;\n"
8694
8695 #. type: Plain text
8696 #: build/C/man3/getopt.3:489
8697 #, no-wrap
8698 msgid ""
8699 "        case \\(aqb\\(aq:\n"
8700 "            printf(\"option b\\en\");\n"
8701 "            break;\n"
8702 msgstr ""
8703 "        case \\(aqb\\(aq:\n"
8704 "            printf(\"option b\\en\");\n"
8705 "            break;\n"
8706
8707 #. type: Plain text
8708 #: build/C/man3/getopt.3:493
8709 #, no-wrap
8710 msgid ""
8711 "        case \\(aqc\\(aq:\n"
8712 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8713 "            break;\n"
8714 msgstr ""
8715 "        case \\(aqc\\(aq:\n"
8716 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8717 "            break;\n"
8718
8719 #. type: Plain text
8720 #: build/C/man3/getopt.3:497
8721 #, no-wrap
8722 msgid ""
8723 "        case \\(aqd\\(aq:\n"
8724 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8725 "            break;\n"
8726 msgstr ""
8727 "        case \\(aqd\\(aq:\n"
8728 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8729 "            break;\n"
8730
8731 #. type: Plain text
8732 #: build/C/man3/getopt.3:500
8733 #, no-wrap
8734 msgid ""
8735 "        case \\(aq?\\(aq:\n"
8736 "            break;\n"
8737 msgstr ""
8738 "        case \\(aq?\\(aq:\n"
8739 "            break;\n"
8740
8741 #. type: Plain text
8742 #: build/C/man3/getopt.3:505
8743 #, no-wrap
8744 msgid ""
8745 "        default:\n"
8746 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8747 "        }\n"
8748 "    }\n"
8749 msgstr ""
8750 "        default:\n"
8751 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8752 "        }\n"
8753 "    }\n"
8754
8755 #. type: Plain text
8756 #: build/C/man3/getopt.3:512
8757 #, no-wrap
8758 msgid ""
8759 "    if (optind E<lt> argc) {\n"
8760 "        printf(\"non-option ARGV-elements: \");\n"
8761 "        while (optind E<lt> argc)\n"
8762 "            printf(\"%s \", argv[optind++]);\n"
8763 "        printf(\"\\en\");\n"
8764 "    }\n"
8765 msgstr ""
8766 "    if (optind E<lt> argc) {\n"
8767 "        printf(\"non-option ARGV-elements: \");\n"
8768 "        while (optind E<lt> argc)\n"
8769 "            printf(\"%s \", argv[optind++]);\n"
8770 "        printf(\"\\en\");\n"
8771 "    }\n"
8772
8773 #. type: Plain text
8774 #: build/C/man3/getopt.3:518
8775 msgid "B<getsubopt>(3)"
8776 msgstr "B<getsubopt>(3)"
8777
8778 #. type: TH
8779 #: build/C/man2/getpagesize.2:25
8780 #, no-wrap
8781 msgid "GETPAGESIZE"
8782 msgstr "GETPAGESIZE"
8783
8784 #. type: Plain text
8785 #: build/C/man2/getpagesize.2:28
8786 msgid "getpagesize - get memory page size"
8787 msgstr "getpagesize - メモリのページサイズを取得する"
8788
8789 #. type: Plain text
8790 #: build/C/man2/getpagesize.2:32
8791 msgid "B<int getpagesize(void);>"
8792 msgstr "B<int getpagesize(void);>"
8793
8794 #. type: Plain text
8795 #: build/C/man2/getpagesize.2:39
8796 msgid "B<getpagesize>():"
8797 msgstr "B<getpagesize>():"
8798
8799 #.  .SH HISTORY
8800 #.  This call first appeared in 4.2BSD.
8801 #. type: Plain text
8802 #: build/C/man2/getpagesize.2:64
8803 msgid "The function B<getpagesize>()  returns the number of bytes in a memory page, where \"page\" is a fixed-length block, the unit for memory allocation and file mapping performed by B<mmap>(2)."
8804 msgstr ""
8805 "B<getpagesize>() 関数はメモリページの大きさをバイト数で返す。\n"
8806 "ここでいう「ページ」は固定長のブロックであり、\n"
8807 "B<mmap>(2) で実行されるメモリ割り当てとファイルマッピングの単位である。"
8808
8809 #. type: Plain text
8810 #: build/C/man2/getpagesize.2:71
8811 msgid "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
8812 msgstr ""
8813 "SVr4, 4.4BSD, SUSv2.\n"
8814 "SUSv2 では B<getpagesize>() システムコールは「過去の遺物 (LEGACY)」とされており、\n"
8815 "POSIX.1-2001 からは外されている。 HP-UX にはこのシステムコールは存在しない。"
8816
8817 #. type: Plain text
8818 #: build/C/man2/getpagesize.2:76
8819 msgid "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of B<getpagesize>():"
8820 msgstr ""
8821 "移植性が必要なアプリケーションでは、\n"
8822 "B<getpagesize>() ではなく I<sysconf(_SC_PAGESIZE)> を利用すべきである。"
8823
8824 #. type: Plain text
8825 #: build/C/man2/getpagesize.2:81
8826 #, no-wrap
8827 msgid ""
8828 "#include E<lt>unistd.hE<gt>\n"
8829 "long sz = sysconf(_SC_PAGESIZE);\n"
8830 msgstr ""
8831 "#include E<lt>unistd.hE<gt>\n"
8832 "long sz = sysconf(_SC_PAGESIZE);\n"
8833
8834 #. type: Plain text
8835 #: build/C/man2/getpagesize.2:88
8836 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
8837 msgstr ""
8838 "(ほとんどのシステムでは B<_SC_PAGESIZE> の同義語として\n"
8839 "B<_SC_PAGE_SIZE> を使用することができる。)"
8840
8841 #. type: Plain text
8842 #: build/C/man2/getpagesize.2:108
8843 msgid "Whether B<getpagesize>()  is present as a Linux system call depends on the architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose value depends on the architecture and machine model.  Generally, one uses binaries that are dependent on the architecture but not on the machine model, in order to have a single binary distribution per architecture.  This means that a user program should not find B<PAGE_SIZE> at compile time from a header file, but use an actual system call, at least for those architectures (like sun4) where this dependency exists.  Here glibc 2.0 fails because its B<getpagesize>()  returns a statically derived value, and does not use a system call.  Things are OK in glibc 2.1."
8844 msgstr "B<getpagesize>()  が Linux のシステムコールとして存在するかどうかは、そのアーキテクチャに 依存している。 システムコールとして存在する場合には、カーネルシンボルの B<PAGE_SIZE> を返す。 B<PAGE_SIZE> の値は、アーキテクチャとマシンモデルに依存する。 一般に、バイナリは、アーキテクチャごとに1つのバイナリ配布で済ませるために、 アーキテクチャには依存しているがマシンモデルには依存していない。 つまり、ユーザープログラムはコンパイル時にヘッダーファイルから B<PAGE_SIZE> を見つけて使用すべきではない。 少なくとも、マシンモデルについても依存性が存在する (sun4 のような)  アーキテクチャにおいては本物のシステムコールを使用する必要がある。 尚、 glibc 2.0 では、 B<getpagesize>()  がシステムコールを使用せず、固定の値を返すために、この方法は 失敗する。glibc 2.1 では大丈夫である。"
8845
8846 #. type: Plain text
8847 #: build/C/man2/getpagesize.2:111
8848 msgid "B<mmap>(2), B<sysconf>(3)"
8849 msgstr "B<mmap>(2), B<sysconf>(3)"
8850
8851 #. type: TH
8852 #: build/C/man2/gettid.2:26
8853 #, no-wrap
8854 msgid "GETTID"
8855 msgstr "GETTID"
8856
8857 #. type: TH
8858 #: build/C/man2/gettid.2:26
8859 #, no-wrap
8860 msgid "2014-02-11"
8861 msgstr "2014-02-11"
8862
8863 #. type: Plain text
8864 #: build/C/man2/gettid.2:29
8865 msgid "gettid - get thread identification"
8866 msgstr "gettid - スレッドID を取得する"
8867
8868 #. type: Plain text
8869 #: build/C/man2/gettid.2:32
8870 #, no-wrap
8871 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
8872 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
8873
8874 #. type: Plain text
8875 #: build/C/man2/gettid.2:34
8876 #, no-wrap
8877 msgid "B<pid_t gettid(void);>\n"
8878 msgstr "B<pid_t gettid(void);>\n"
8879
8880 #. type: Plain text
8881 #: build/C/man2/gettid.2:50
8882 msgid "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded process, the thread ID is equal to the process ID (PID, as returned by B<getpid>(2)).  In a multithreaded process, all threads have the same PID, but each one has a unique TID.  For further details, see the discussion of B<CLONE_THREAD> in B<clone>(2)."
8883 msgstr "B<gettid>()  は呼び出し元のスレッド ID (TID) を返す。 シングルスレッドのプロセスでは、スレッド ID は (B<getpid>(2)  が返すプロセス ID (PID) と等しい。 マルチスレッドのプロセスでは、全てのスレッドは同じ PID を持つが、 それぞれのスレッドは一意な TID を持つ。 さらなる詳細は、 B<clone>(2)  の B<CLONE_THREAD> についての議論を参照すること。"
8884
8885 #. type: Plain text
8886 #: build/C/man2/gettid.2:52
8887 msgid "On success, returns the thread ID of the calling process."
8888 msgstr "成功の場合、呼び出し元のプロセスのスレッドID を返す。"
8889
8890 #. type: Plain text
8891 #: build/C/man2/gettid.2:54
8892 msgid "This call is always successful."
8893 msgstr "このコールは常に成功する。"
8894
8895 #. type: Plain text
8896 #: build/C/man2/gettid.2:58
8897 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
8898 msgstr "B<gettid>()  システムコールは、カーネル 2.4.11 の Linux で初めて登場した。"
8899
8900 #. type: Plain text
8901 #: build/C/man2/gettid.2:62
8902 msgid "B<gettid>()  is Linux-specific and should not be used in programs that are intended to be portable."
8903 msgstr "B<gettid>()  は Linux 固有であり、 移植を想定したプログラムでは使用すべきではない。"
8904
8905 #.  FIXME . See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
8906 #.  "gettid() should have a wrapper"
8907 #. type: Plain text
8908 #: build/C/man2/gettid.2:67
8909 msgid "Glibc does not provide a wrapper for this system call; call it using B<syscall>(2)."
8910 msgstr "glibc はこのシステムコールに対するラッパー関数を提供していない。 このシステムコールは呼び出すには B<syscall>(2)  を使うこと。"
8911
8912 #. type: Plain text
8913 #: build/C/man2/gettid.2:71
8914 msgid "The thread ID returned by this call is not the same thing as a POSIX thread ID (i.e., the opaque value returned by B<pthread_self>(3))."
8915 msgstr "このシステムコールが返すスレッド ID は POSIX スレッド ID (B<pthread_self>(3)  が返す曖昧な値) と同じものではない。"
8916
8917 #.  .BR kcmp (2),
8918 #.  .BR move_pages (2),
8919 #.  .BR migrate_pages (2),
8920 #.  .BR process_vm_readv (2),
8921 #.  .BR ptrace (2),
8922 #. type: Plain text
8923 #: build/C/man2/gettid.2:90
8924 msgid "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), B<tgkill>(2), B<timer_create>(2)"
8925 msgstr "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), B<tgkill>(2), B<timer_create>(2)"
8926
8927 #. type: TH
8928 #: build/C/man3/getumask.3:28
8929 #, no-wrap
8930 msgid "GETUMASK"
8931 msgstr "GETUMASK"
8932
8933 #. type: TH
8934 #: build/C/man3/getumask.3:28
8935 #, no-wrap
8936 msgid "2010-09-10"
8937 msgstr "2010-09-10"
8938
8939 #. type: Plain text
8940 #: build/C/man3/getumask.3:31
8941 msgid "getumask - get file creation mask"
8942 msgstr "getumask - ファイル作成マスクを取得する"
8943
8944 #. type: Plain text
8945 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50
8946 #: build/C/man2/umask.2:39 build/C/man2/vfork.2:33
8947 msgid "B<#include E<lt>sys/types.hE<gt>>"
8948 msgstr "B<#include E<lt>sys/types.hE<gt>>"
8949
8950 #. type: Plain text
8951 #: build/C/man3/getumask.3:37 build/C/man2/umask.2:41
8952 msgid "B<#include E<lt>sys/stat.hE<gt>>"
8953 msgstr "B<#include E<lt>sys/stat.hE<gt>>"
8954
8955 #. type: Plain text
8956 #: build/C/man3/getumask.3:39
8957 msgid "B<mode_t getumask(void);>"
8958 msgstr "B<mode_t getumask(void);>"
8959
8960 #. type: Plain text
8961 #: build/C/man3/getumask.3:42
8962 msgid "This function returns the current file creation mask.  It is equivalent to"
8963 msgstr "この関数は現在のファイル作成マスクを返す。 基本的には以下と等価である。"
8964
8965 #. type: Plain text
8966 #: build/C/man3/getumask.3:51
8967 #, no-wrap
8968 msgid ""
8969 "mode_t getumask(void)\n"
8970 "{\n"
8971 "    mode_t mask = umask( 0 );\n"
8972 "    umask(mask);\n"
8973 "    return mask;\n"
8974 "}\n"
8975 msgstr ""
8976 "mode_t getumask(void)\n"
8977 "{\n"
8978 "    mode_t mask = umask( 0 );\n"
8979 "    umask(mask);\n"
8980 "    return mask;\n"
8981 "}\n"
8982
8983 #. type: Plain text
8984 #: build/C/man3/getumask.3:58
8985 msgid "except that it is documented to be thread-safe (that is, shares a lock with the B<umask>(2)  library call)."
8986 msgstr "ドキュメントによると、この関数は スレッドセーフである (B<umask>(2)  ライブラリコールとロックを共有する)  点が異なる。"
8987
8988 #. type: Plain text
8989 #: build/C/man3/getumask.3:60
8990 msgid "This is a vaporware GNU extension."
8991 msgstr "ドキュメントに書いてあるだけの GNU 拡張である。"
8992
8993 #. type: Plain text
8994 #: build/C/man3/getumask.3:63
8995 msgid "This function is documented but not implemented yet in glibc, as at version 2.9."
8996 msgstr "バージョン 2.9 時点の glibc では、 この関数についての記載はあるが、まだ実装されていない。"
8997
8998 #. type: Plain text
8999 #: build/C/man3/getumask.3:65
9000 msgid "B<umask>(2)"
9001 msgstr "B<umask>(2)"
9002
9003 #. type: TH
9004 #: build/C/man3/getusershell.3:30
9005 #, no-wrap
9006 msgid "GETUSERSHELL"
9007 msgstr "GETUSERSHELL"
9008
9009 #. type: TH
9010 #: build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
9011 #, no-wrap
9012 msgid "2013-06-21"
9013 msgstr "2013-06-21"
9014
9015 #. type: Plain text
9016 #: build/C/man3/getusershell.3:33
9017 msgid "getusershell, setusershell, endusershell - get permitted user shells"
9018 msgstr "getusershell, setusershell, endusershell - 許可されたユーザーシェルを得る"
9019
9020 #. type: Plain text
9021 #: build/C/man3/getusershell.3:38
9022 #, no-wrap
9023 msgid "B<char *getusershell(void);>\n"
9024 msgstr "B<char *getusershell(void);>\n"
9025
9026 #. type: Plain text
9027 #: build/C/man3/getusershell.3:40
9028 #, no-wrap
9029 msgid "B<void setusershell(void);>\n"
9030 msgstr "B<void setusershell(void);>\n"
9031
9032 #. type: Plain text
9033 #: build/C/man3/getusershell.3:42
9034 #, no-wrap
9035 msgid "B<void endusershell(void);>\n"
9036 msgstr "B<void endusershell(void);>\n"
9037
9038 #. type: Plain text
9039 #: build/C/man3/getusershell.3:53
9040 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
9041 msgstr "B<getusershell>(), B<setusershell>(), B<endusershell>():"
9042
9043 #. type: Plain text
9044 #: build/C/man3/getusershell.3:75
9045 msgid "The B<getusershell>()  function returns the next line from the file I</etc/shells>, opening the file if necessary.  The line should contain the pathname of a valid user shell.  If I</etc/shells> does not exist or is unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were listed in the file."
9046 msgstr "B<getusershell>()  関数は I</etc/shells> ファイルから (開く必要があればこのファイルを開いてから) 現在行の次の一行を返す。 返された行の中身は有効なユーザーシェルのうちの一つのパス名である。 (訳注. 一行に付き一つのシェルのパス名が書かれている。)  もし I</etc/shells> が存在しないか、読み込み不可の場合には、 B<getusershell>()  は I</bin/sh> と I</bin/csh> がファイルに記されているかのようにふるまう。"
9047
9048 #. type: Plain text
9049 #: build/C/man3/getusershell.3:80
9050 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
9051 msgstr "B<setusershell>()  関数は I</etc/shells> ファイルの ファイルポインタを先頭に戻す。"
9052
9053 #. type: Plain text
9054 #: build/C/man3/getusershell.3:85
9055 msgid "The B<endusershell>()  function closes I</etc/shells>."
9056 msgstr "B<endusershell>()  関数は I</etc/shells> ファイルを閉じる。"
9057
9058 #. type: Plain text
9059 #: build/C/man3/getusershell.3:89
9060 msgid "The B<getusershell>()  function returns NULL on end-of-file."
9061 msgstr "B<getusershell>() 関数はファイルの終端では NULL を返す。"
9062
9063 #. type: Plain text
9064 #: build/C/man3/getusershell.3:92
9065 #, no-wrap
9066 msgid "/etc/shells\n"
9067 msgstr "/etc/shells\n"
9068
9069 #. type: Plain text
9070 #: build/C/man3/getusershell.3:101
9071 msgid "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions are not thread-safe."
9072 msgstr "関数 B<getusershell>(), B<setusershell>(), B<endusershell>() はスレッドセーフではない。"
9073
9074 #. type: Plain text
9075 #: build/C/man3/getusershell.3:103
9076 msgid "4.3BSD."
9077 msgstr "4.3BSD."
9078
9079 #. type: Plain text
9080 #: build/C/man3/getusershell.3:105
9081 msgid "B<shells>(5)"
9082 msgstr "B<shells>(5)"
9083
9084 #. type: TH
9085 #: build/C/man2/idle.2:32
9086 #, no-wrap
9087 msgid "IDLE"
9088 msgstr "IDLE"
9089
9090 #. type: TH
9091 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
9092 #, no-wrap
9093 msgid "2012-12-31"
9094 msgstr "2012-12-31"
9095
9096 #. type: Plain text
9097 #: build/C/man2/idle.2:35
9098 msgid "idle - make process 0 idle"
9099 msgstr "idle - ID 0 のプロセスをアイドル状態にする"
9100
9101 #. type: Plain text
9102 #: build/C/man2/idle.2:39
9103 msgid "B<int idle(void);>"
9104 msgstr "B<int idle(void);>"
9105
9106 #. type: Plain text
9107 #: build/C/man2/idle.2:46
9108 msgid "B<idle>()  is an internal system call used during bootstrap.  It marks the process's pages as swappable, lowers its priority, and enters the main scheduling loop.  B<idle>()  never returns."
9109 msgstr "B<idle>()  はブートストラップ時に使用される、内部システムコールである。 プロセスのページをスワップ可能に設定し、優先度を下げ、メインのスケジュー ル処理のためのループへ移行する。 従って B<idle>()  は return することはない。"
9110
9111 #. type: Plain text
9112 #: build/C/man2/idle.2:52
9113 msgid "Only process 0 may call B<idle>().  Any user process, even a process with superuser permission, will receive B<EPERM>."
9114 msgstr "ID 0 のプロセスのみが B<idle>()  を使用することができる。 他のユーザープロセスはたとえそれがスーパーユーザー権限を持っていたとして も B<EPERM> を受け取る。"
9115
9116 #. type: Plain text
9117 #: build/C/man2/idle.2:55
9118 msgid "B<idle>()  never returns for process 0, and always returns -1 for a user process."
9119 msgstr "B<idle>()  ID 0 のプロセスに対しては return しない。それ以外のユーザープロセスには 常に -1 を返す。"
9120
9121 #. type: Plain text
9122 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
9123 msgid "Always, for a user process."
9124 msgstr "ユーザープロセスに対しては、常にこのエラーとなる。"
9125
9126 #. type: Plain text
9127 #: build/C/man2/idle.2:61
9128 msgid "Since Linux 2.3.13, this system call does not exist anymore."
9129 msgstr "Linux 2.3.13 以降では、もはやこのシステムコールは存在しない。"
9130
9131 #. type: Plain text
9132 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:90
9133 msgid "This function is Linux-specific, and should not be used in programs intended to be portable."
9134 msgstr "この関数は Linux 特有であり、移植を意図したプログラムでは 使用すべきでない。"
9135
9136 #. type: TH
9137 #: build/C/man2/ioctl.2:41
9138 #, no-wrap
9139 msgid "IOCTL"
9140 msgstr "IOCTL"
9141
9142 #. type: Plain text
9143 #: build/C/man2/ioctl.2:44
9144 msgid "ioctl - control device"
9145 msgstr "ioctl - デバイスを制御する"
9146
9147 #. type: Plain text
9148 #: build/C/man2/ioctl.2:46
9149 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
9150 msgstr "B<#include E<lt>sys/ioctl.hE<gt>>"
9151
9152 #.  POSIX says 'request' is int, but glibc has the above
9153 #.  See https://bugzilla.kernel.org/show_bug.cgi?id=42705
9154 #. type: Plain text
9155 #: build/C/man2/ioctl.2:50
9156 msgid "B<int ioctl(int >I<fd>B<, unsigned long >I<request>B<, ...);>"
9157 msgstr "B<int ioctl(int >I<fd>B<, unsigned long >I<request>B<, ...);>"
9158
9159 #. type: Plain text
9160 #: build/C/man2/ioctl.2:61
9161 msgid "The B<ioctl>()  function manipulates the underlying device parameters of special files.  In particular, many operating characteristics of character special files (e.g., terminals) may be controlled with B<ioctl>()  requests.  The argument I<fd> must be an open file descriptor."
9162 msgstr "B<ioctl>()  関数はスペシャルファイルを構成するデバイスのパラメーターを 操作する。特に、キャラクタ型のスペシャルファイル (例えば端末 (terminal))  の多くの動作特性を B<ioctl>()  リクエストによって制御することができる。引き数 I<fd> はオープンされたファイルディスクリプターでなければならない。"
9163
9164 #. type: Plain text
9165 #: build/C/man2/ioctl.2:69
9166 msgid "The second argument is a device-dependent request code.  The third argument is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from the days before B<void *> was valid C), and will be so named for this discussion."
9167 msgstr "2 番目の引き数は、デバイス依存のリクエストコードである。 3 番目の引き数は、メモリへの型を指定しないポインタである。 この引き数は伝統的に (C で B<void *> という書き方が有効になる前から)  B<char *>I<argp> と表記されている。したがって、この文章でもそう名付けることとする。"
9168
9169 #. type: Plain text
9170 #: build/C/man2/ioctl.2:85
9171 msgid "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> parameter or I<out> parameter, and the size of the argument I<argp> in bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are located in the file I<E<lt>sys/ioctl.hE<gt>>."
9172 msgstr "B<ioctl>()  の I<request> には、 その引き数が I<入力> パラメーターと I<出力> パラメーターのどちらであるかの区別や、 I<argp> 引き数のバイト単位のサイズ、といった情報がエンコードされている。 B<ioctl>()  の I<request> を指定するためのマクロ (macro) と定義は I<E<lt>sys/ioctl.hE<gt>> ファイルにある。"
9173
9174 #. type: Plain text
9175 #: build/C/man2/ioctl.2:94
9176 msgid "Usually, on success zero is returned.  A few B<ioctl>()  requests use the return value as an output parameter and return a nonnegative value on success.  On error, -1 is returned, and I<errno> is set appropriately."
9177 msgstr "たいていの場合、成功するとゼロが返される。 ただし、 B<ioctl>()  リクエストの中にはパラメーターの出力に返り値を使用しているものが若干あり、 その場合は、成功したときに非負の値が返される。 エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
9178
9179 #. type: Plain text
9180 #: build/C/man2/ioctl.2:99 build/C/man2/truncate.2:192
9181 msgid "I<fd> is not a valid descriptor."
9182 msgstr "I<fd> が無効なディスクリプターである。"
9183
9184 #. type: Plain text
9185 #: build/C/man2/ioctl.2:103
9186 msgid "I<argp> references an inaccessible memory area."
9187 msgstr "I<argp> がアクセス不可能なメモリを参照している。"
9188
9189 #. type: Plain text
9190 #: build/C/man2/ioctl.2:109
9191 msgid "I<request> or I<argp> is not valid."
9192 msgstr "I<request> または I<argp> が不正である。"
9193
9194 #. type: Plain text
9195 #: build/C/man2/ioctl.2:113
9196 msgid "I<fd> is not associated with a character special device."
9197 msgstr "I<fd> がキャラクタ型のスペシャルデバイスを参照していない。"
9198
9199 #. type: Plain text
9200 #: build/C/man2/ioctl.2:119
9201 msgid "The specified request does not apply to the kind of object that the descriptor I<fd> references."
9202 msgstr "指定されたリクエストはディスクリプター I<fd> が参照する種類のオブジェクトには適用することができない。"
9203
9204 #. type: Plain text
9205 #: build/C/man2/ioctl.2:134
9206 msgid "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary according to the device driver in question (the call is used as a catch-all for operations that don't cleanly fit the UNIX stream I/O model).  See B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9207 msgstr "どれか一つの標準に対応しているわけではない。 B<ioctl>()  の引き数、返り値、解釈は、処理対象のデバイスドライバごとに 異なる (この関数は UNIX の ストリーム I/O モデル に きちんと適合していない操作のための便利屋として使用される)。 よく知られている B<ioctl>()  のリストについては B<ioctl_list>(2)  を参照すること。 B<ioctl>()  関数コールは Version 7 AT&T UNIX で登場した。"
9208
9209 #. type: Plain text
9210 #: build/C/man2/ioctl.2:142
9211 msgid "In order to use this call, one needs an open file descriptor.  Often the B<open>(2)  call has unwanted side effects, that can be avoided under Linux by giving it the B<O_NONBLOCK> flag."
9212 msgstr "このシステムコールを使うには、オープンされたファイルディスクリプターが 必要である。 B<open>(2)  コールはしばしば望んでいない副作用を伴うことがあるが、Linux では B<open>(2)  に B<O_NONBLOCK> フラグをつけることでこの副作用を避けることができる。"
9213
9214 #.  .BR mt (4),
9215 #. type: Plain text
9216 #: build/C/man2/ioctl.2:150
9217 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9218 msgstr "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9219
9220 #. type: TH
9221 #: build/C/man2/ioctl_list.2:30
9222 #, no-wrap
9223 msgid "IOCTL_LIST"
9224 msgstr "IOCTL_LIST"
9225
9226 #. type: TH
9227 #: build/C/man2/ioctl_list.2:30
9228 #, no-wrap
9229 msgid "2013-09-17"
9230 msgstr "2013-09-17"
9231
9232 #. type: Plain text
9233 #: build/C/man2/ioctl_list.2:33
9234 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9235 msgstr "ioctl_list - Linux/i386 カーネルの ioctl のリスト"
9236
9237 #. type: Plain text
9238 #: build/C/man2/ioctl_list.2:40
9239 msgid "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel 1.3.27.  It contains 421 ioctls from I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical value, its name, and its argument type are given."
9240 msgstr "この文章は ioctl リスト 1.3.27、つまり Linux/i386 カーネル 1.3.27 に おける ioctl コールの一覧です。このリストは I<E<lt>/usr/include/{asm,linux}/*.hE<gt>> にある 421 の ioctl を含んでいます。全ての ioctl に対して、数値、名称、 引き数の型を列挙してあります。"
9241
9242 #. type: Plain text
9243 #: build/C/man2/ioctl_list.2:48
9244 msgid "An argument type of I<const struct foo\\ *> means the argument is input to the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If the kernel uses the argument for both input and output, this is marked with I<//\\ I-O>."
9245 msgstr "引き数型 I<const struct foo\\ *> は、その引き数がカーネルへの入力である事を意味します。また、 I<struct foo\\ *> は、その引き数がカーネルからの出力である事を意味します。 カーネルがその引き数を入力と出力の両方に使用する場合は、 I<//\\ I-O> マークを付けてあります。"
9246
9247 #. type: Plain text
9248 #: build/C/man2/ioctl_list.2:53
9249 msgid "Some ioctls take more arguments or return more values than a single structure.  These are marked I<//\\ MORE> and documented further in a separate section."
9250 msgstr "いくつかの ioctl は複数の構造体の引き数を必要としたり、値を返したり します。これらには I<//\\ MORE> マークを付けて、 さらに分離したセクションで説明してあります。"
9251
9252 #. type: Plain text
9253 #: build/C/man2/ioctl_list.2:55
9254 msgid "This list is very incomplete."
9255 msgstr "このリストは不完全です。"
9256
9257 #. type: SS
9258 #: build/C/man2/ioctl_list.2:55
9259 #, no-wrap
9260 msgid "ioctl structure"
9261 msgstr "ioctl の構造"
9262
9263 #.  added two sections - aeb
9264 #. type: Plain text
9265 #: build/C/man2/ioctl_list.2:60
9266 msgid "Ioctl command values are 32-bit constants.  In principle these constants are completely arbitrary, but people have tried to build some structure into them."
9267 msgstr "ioctl コマンドの値は 32 ビットの定数です。 原則として、これらの定数は全く任意のものですが、 設計者は何らかの構造をこれらの定数に組み込もうとしています。"
9268
9269 #. type: Plain text
9270 #: build/C/man2/ioctl_list.2:79
9271 msgid "The old Linux situation was that of mostly 16-bit constants, where the last byte is a serial number, and the preceding byte(s) give a type indicating the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = \\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value 0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades driver."
9272 msgstr "昔の Linux では、大部分は 16 ビットの定数であり、 下位バイトはシリアル番号で、上位バイトはドライバのタイプを表していました。 メジャー番号が使われることもありました: 0x03 が B<HDIO_*> ioctl, 0x06 が B<LP*> ioctl などです。 1 文字以上の ASCII 文字列が使われることもありました。 たとえば B<TCGETS> の値は 0x00005401 であり、 0x54 = \\(aqT\\(aq でターミナルドライバを表します。 B<CYGETTIMEOUT> の値は 0x00435906 であり、 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq で cyclades ドライバを表します。"
9273
9274 #. type: Plain text
9275 #: build/C/man2/ioctl_list.2:87
9276 msgid "Later (0.98p5) some more information was built into the number.  One has 2 direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by 14 size bits (giving the size of the argument), followed by an 8-bit type (collecting the ioctls in groups for a common purpose or a common driver), and an 8-bit serial number."
9277 msgstr "後の時代 (0.98p5) になると、 より多くの情報が数値に組み込まれるようになりました。 1 つの数値は、読み書きの方向を表す 2 ビット (00: 読み書きなし, 01: 書き込み, 10: 読み込み, 11: 読み込み/書き込み)、 (引き数のサイズを表す) 14 ビット、 (共通の目的または共通のドライバで ioctl をグループにするための)  8 ビットのタイプ、8 ビットのシリアル番号から構成されます。"
9278
9279 #. type: Plain text
9280 #: build/C/man2/ioctl_list.2:98
9281 msgid "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use I<sizeof(size)> so that size is a misnomer here: this third argument is a data type."
9282 msgstr "この構造を記述するマクロは I<E<lt>asm/ioctl.hE<gt>> にあり、 B<_IO(type,nr)> と B<{_IOR,_IOW,_IOWR}(type,nr,size)> です。 これらのマクロは I<sizeof(size)> を使うので、 ここで size という名前にしているのは間違っています: この 3 つ目の引き数はデータタイプです。"
9283
9284 #. type: Plain text
9285 #: build/C/man2/ioctl_list.2:103
9286 msgid "Note that the size bits are very unreliable: in lots of cases they are wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or because of legacy values."
9287 msgstr "size ビットは全く当てにならない点に注意して下さい: 多くの場合、間違っています。 これは I<sizeof(sizeof(struct))> を使ったバグを含んだマクロや、過去から受け継いだ値が原因です。"
9288
9289 #. type: Plain text
9290 #: build/C/man2/ioctl_list.2:107
9291 msgid "Thus, it seems that the new structure only gave disadvantages: it does not help in checking, but it causes varying values for the various architectures."
9292 msgstr "したがって、新しい構造は不都合な点しかないように思われます: この構造はチェックの手助けにはならず、 様々なアーキテクチャによって値を変化させてしまいます。"
9293
9294 #. type: Plain text
9295 #: build/C/man2/ioctl_list.2:113
9296 msgid "Decent ioctls return 0 on success and -1 on error, while any output value is stored via the argument.  However, quite a few ioctls in fact return an output value.  This is not yet indicated below."
9297 msgstr "きちんとした ioctl は、成功した場合は 0 を返し、 エラーの場合は -1 を返します。 また出力値は引き数に格納します。 しかし実際は、かなり多くの ioctl が出力値を返します。 これは今のところ以下では示されていません。"
9298
9299 #. type: Plain text
9300 #: build/C/man2/ioctl_list.2:115
9301 msgid "// Main table."
9302 msgstr "// Main table."
9303
9304 #. type: Plain text
9305 #: build/C/man2/ioctl_list.2:117
9306 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9307 msgstr "// E<lt>include/asm-i386/socket.hE<gt>"
9308
9309 #. type: tbl table
9310 #: build/C/man2/ioctl_list.2:119
9311 #, no-wrap
9312 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9313 msgstr "0x00008901\tFIOSETOWN\tconst int *\n"
9314
9315 #. type: tbl table
9316 #: build/C/man2/ioctl_list.2:120
9317 #, no-wrap
9318 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9319 msgstr "0x00008902\tSIOCSPGRP\tconst int *\n"
9320
9321 #. type: tbl table
9322 #: build/C/man2/ioctl_list.2:121
9323 #, no-wrap
9324 msgid "0x00008903\tFIOGETOWN\tint *\n"
9325 msgstr "0x00008903\tFIOGETOWN\tint *\n"
9326
9327 #. type: tbl table
9328 #: build/C/man2/ioctl_list.2:122
9329 #, no-wrap
9330 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9331 msgstr "0x00008904\tSIOCGPGRP\tint *\n"
9332
9333 #. type: tbl table
9334 #: build/C/man2/ioctl_list.2:123
9335 #, no-wrap
9336 msgid "0x00008905\tSIOCATMAR\tint *\n"
9337 msgstr "0x00008905\tSIOCATMAR\tint *\n"
9338
9339 #. type: tbl table
9340 #: build/C/man2/ioctl_list.2:124
9341 #, no-wrap
9342 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9343 msgstr "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9344
9345 #. type: Plain text
9346 #: build/C/man2/ioctl_list.2:128
9347 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9348 msgstr "// E<lt>include/asm-i386/termios.hE<gt>"
9349
9350 #. type: tbl table
9351 #: build/C/man2/ioctl_list.2:130
9352 #, no-wrap
9353 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9354 msgstr "0x00005401\tTCGETS\tstruct termios *\n"
9355
9356 #. type: tbl table
9357 #: build/C/man2/ioctl_list.2:131
9358 #, no-wrap
9359 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9360 msgstr "0x00005402\tTCSETS\tconst struct termios *\n"
9361
9362 #. type: tbl table
9363 #: build/C/man2/ioctl_list.2:132
9364 #, no-wrap
9365 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9366 msgstr "0x00005403\tTCSETSW\tconst struct termios *\n"
9367
9368 #. type: tbl table
9369 #: build/C/man2/ioctl_list.2:133
9370 #, no-wrap
9371 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9372 msgstr "0x00005404\tTCSETSF\tconst struct termios *\n"
9373
9374 #. type: tbl table
9375 #: build/C/man2/ioctl_list.2:134
9376 #, no-wrap
9377 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9378 msgstr "0x00005405\tTCGETA\tstruct termio *\n"
9379
9380 #. type: tbl table
9381 #: build/C/man2/ioctl_list.2:135
9382 #, no-wrap
9383 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9384 msgstr "0x00005406\tTCSETA\tconst struct termio *\n"
9385
9386 #. type: tbl table
9387 #: build/C/man2/ioctl_list.2:136
9388 #, no-wrap
9389 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9390 msgstr "0x00005407\tTCSETAW\tconst struct termio *\n"
9391
9392 #. type: tbl table
9393 #: build/C/man2/ioctl_list.2:137
9394 #, no-wrap
9395 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9396 msgstr "0x00005408\tTCSETAF\tconst struct termio *\n"
9397
9398 #. type: tbl table
9399 #: build/C/man2/ioctl_list.2:138
9400 #, no-wrap
9401 msgid "0x00005409\tTCSBRK\tint\n"
9402 msgstr "0x00005409\tTCSBRK\tint\n"
9403
9404 #. type: tbl table
9405 #: build/C/man2/ioctl_list.2:139
9406 #, no-wrap
9407 msgid "0x0000540A\tTCXONC\tint\n"
9408 msgstr "0x0000540A\tTCXONC\tint\n"
9409
9410 #. type: tbl table
9411 #: build/C/man2/ioctl_list.2:140
9412 #, no-wrap
9413 msgid "0x0000540B\tTCFLSH\tint\n"
9414 msgstr "0x0000540B\tTCFLSH\tint\n"
9415
9416 #. type: tbl table
9417 #: build/C/man2/ioctl_list.2:141
9418 #, no-wrap
9419 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9420 msgstr "0x0000540C\tTIOCEXCL\tvoid\n"
9421
9422 #. type: tbl table
9423 #: build/C/man2/ioctl_list.2:142
9424 #, no-wrap
9425 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9426 msgstr "0x0000540D\tTIOCNXCL\tvoid\n"
9427
9428 #. type: tbl table
9429 #: build/C/man2/ioctl_list.2:143
9430 #, no-wrap
9431 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9432 msgstr "0x0000540E\tTIOCSCTTY\tint\n"
9433
9434 #. type: tbl table
9435 #: build/C/man2/ioctl_list.2:144
9436 #, no-wrap
9437 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9438 msgstr "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9439
9440 #. type: tbl table
9441 #: build/C/man2/ioctl_list.2:145
9442 #, no-wrap
9443 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9444 msgstr "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9445
9446 #. type: tbl table
9447 #: build/C/man2/ioctl_list.2:146
9448 #, no-wrap
9449 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9450 msgstr "0x00005411\tTIOCOUTQ\tint *\n"
9451
9452 #. type: tbl table
9453 #: build/C/man2/ioctl_list.2:147
9454 #, no-wrap
9455 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9456 msgstr "0x00005412\tTIOCSTI\tconst char *\n"
9457
9458 #. type: tbl table
9459 #: build/C/man2/ioctl_list.2:148
9460 #, no-wrap
9461 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9462 msgstr "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9463
9464 #. type: tbl table
9465 #: build/C/man2/ioctl_list.2:149
9466 #, no-wrap
9467 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9468 msgstr "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9469
9470 #. type: tbl table
9471 #: build/C/man2/ioctl_list.2:150
9472 #, no-wrap
9473 msgid "0x00005415\tTIOCMGET\tint *\n"
9474 msgstr "0x00005415\tTIOCMGET\tint *\n"
9475
9476 #. type: tbl table
9477 #: build/C/man2/ioctl_list.2:151
9478 #, no-wrap
9479 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9480 msgstr "0x00005416\tTIOCMBIS\tconst int *\n"
9481
9482 #. type: tbl table
9483 #: build/C/man2/ioctl_list.2:152
9484 #, no-wrap
9485 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9486 msgstr "0x00005417\tTIOCMBIC\tconst int *\n"
9487
9488 #. type: tbl table
9489 #: build/C/man2/ioctl_list.2:153
9490 #, no-wrap
9491 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9492 msgstr "0x00005418\tTIOCMSET\tconst int *\n"
9493
9494 #. type: tbl table
9495 #: build/C/man2/ioctl_list.2:154
9496 #, no-wrap
9497 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9498 msgstr "0x00005419\tTIOCGSOFTCAR\tint *\n"
9499
9500 #. type: tbl table
9501 #: build/C/man2/ioctl_list.2:155
9502 #, no-wrap
9503 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9504 msgstr "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9505
9506 #. type: tbl table
9507 #: build/C/man2/ioctl_list.2:156
9508 #, no-wrap
9509 msgid "0x0000541B\tFIONREAD\tint *\n"
9510 msgstr "0x0000541B\tFIONREAD\tint *\n"
9511
9512 #. type: tbl table
9513 #: build/C/man2/ioctl_list.2:157
9514 #, no-wrap
9515 msgid "0x0000541B\tTIOCINQ\tint *\n"
9516 msgstr "0x0000541B\tTIOCINQ\tint *\n"
9517
9518 #. type: tbl table
9519 #: build/C/man2/ioctl_list.2:158
9520 #, no-wrap
9521 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9522 msgstr "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9523
9524 #. type: tbl table
9525 #: build/C/man2/ioctl_list.2:159
9526 #, no-wrap
9527 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9528 msgstr "0x0000541D\tTIOCCONS\tvoid\n"
9529
9530 #. type: tbl table
9531 #: build/C/man2/ioctl_list.2:160
9532 #, no-wrap
9533 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9534 msgstr "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9535
9536 #. type: tbl table
9537 #: build/C/man2/ioctl_list.2:161
9538 #, no-wrap
9539 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9540 msgstr "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9541
9542 #. type: tbl table
9543 #: build/C/man2/ioctl_list.2:162
9544 #, no-wrap
9545 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9546 msgstr "0x00005420\tTIOCPKT\tconst int *\n"
9547
9548 #. type: tbl table
9549 #: build/C/man2/ioctl_list.2:163
9550 #, no-wrap
9551 msgid "0x00005421\tFIONBIO\tconst int *\n"
9552 msgstr "0x00005421\tFIONBIO\tconst int *\n"
9553
9554 #. type: tbl table
9555 #: build/C/man2/ioctl_list.2:164
9556 #, no-wrap
9557 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
9558 msgstr "0x00005422\tTIOCNOTTY\tvoid\n"
9559
9560 #. type: tbl table
9561 #: build/C/man2/ioctl_list.2:165
9562 #, no-wrap
9563 msgid "0x00005423\tTIOCSETD\tconst int *\n"
9564 msgstr "0x00005423\tTIOCSETD\tconst int *\n"
9565
9566 #. type: tbl table
9567 #: build/C/man2/ioctl_list.2:166
9568 #, no-wrap
9569 msgid "0x00005424\tTIOCGETD\tint *\n"
9570 msgstr "0x00005424\tTIOCGETD\tint *\n"
9571
9572 #. type: tbl table
9573 #: build/C/man2/ioctl_list.2:167
9574 #, no-wrap
9575 msgid "0x00005425\tTCSBRKP\tint\n"
9576 msgstr "0x00005425\tTCSBRKP\tint\n"
9577
9578 #. type: tbl table
9579 #: build/C/man2/ioctl_list.2:168
9580 #, no-wrap
9581 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9582 msgstr "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9583
9584 #. type: tbl table
9585 #: build/C/man2/ioctl_list.2:169
9586 #, no-wrap
9587 msgid "0x00005450\tFIONCLEX\tvoid\n"
9588 msgstr "0x00005450\tFIONCLEX\tvoid\n"
9589
9590 #. type: tbl table
9591 #: build/C/man2/ioctl_list.2:170
9592 #, no-wrap
9593 msgid "0x00005451\tFIOCLEX\tvoid\n"
9594 msgstr "0x00005451\tFIOCLEX\tvoid\n"
9595
9596 #. type: tbl table
9597 #: build/C/man2/ioctl_list.2:171
9598 #, no-wrap
9599 msgid "0x00005452\tFIOASYNC\tconst int *\n"
9600 msgstr "0x00005452\tFIOASYNC\tconst int *\n"
9601
9602 #. type: tbl table
9603 #: build/C/man2/ioctl_list.2:172
9604 #, no-wrap
9605 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
9606 msgstr "0x00005453\tTIOCSERCONFIG\tvoid\n"
9607
9608 #. type: tbl table
9609 #: build/C/man2/ioctl_list.2:173
9610 #, no-wrap
9611 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
9612 msgstr "0x00005454\tTIOCSERGWILD\tint *\n"
9613
9614 #. type: tbl table
9615 #: build/C/man2/ioctl_list.2:174
9616 #, no-wrap
9617 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
9618 msgstr "0x00005455\tTIOCSERSWILD\tconst int *\n"
9619
9620 #. type: tbl table
9621 #: build/C/man2/ioctl_list.2:175
9622 #, no-wrap
9623 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9624 msgstr "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9625
9626 #. type: tbl table
9627 #: build/C/man2/ioctl_list.2:176
9628 #, no-wrap
9629 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9630 msgstr "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9631
9632 #. type: tbl table
9633 #: build/C/man2/ioctl_list.2:177
9634 #, no-wrap
9635 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9636 msgstr "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9637
9638 #. type: tbl table
9639 #: build/C/man2/ioctl_list.2:178
9640 #, no-wrap
9641 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
9642 msgstr "0x00005459\tTIOCSERGETLSR\tint *\n"
9643
9644 #. type: tbl table
9645 #: build/C/man2/ioctl_list.2:185
9646 #, no-wrap
9647 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9648 msgstr "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9649
9650 #. type: tbl table
9651 #: build/C/man2/ioctl_list.2:186
9652 #, no-wrap
9653 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9654 msgstr "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9655
9656 #. type: Plain text
9657 #: build/C/man2/ioctl_list.2:190
9658 msgid "// E<lt>include/linux/ax25.hE<gt>"
9659 msgstr "// E<lt>include/linux/ax25.hE<gt>"
9660
9661 #. type: tbl table
9662 #: build/C/man2/ioctl_list.2:192
9663 #, no-wrap
9664 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9665 msgstr "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9666
9667 #. type: tbl table
9668 #: build/C/man2/ioctl_list.2:193
9669 #, no-wrap
9670 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9671 msgstr "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9672
9673 #. type: tbl table
9674 #: build/C/man2/ioctl_list.2:194
9675 #, no-wrap
9676 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9677 msgstr "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9678
9679 #. type: tbl table
9680 #: build/C/man2/ioctl_list.2:195
9681 #, no-wrap
9682 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9683 msgstr "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9684
9685 #. type: tbl table
9686 #: build/C/man2/ioctl_list.2:196
9687 #, no-wrap
9688 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9689 msgstr "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9690
9691 #. type: tbl table
9692 #: build/C/man2/ioctl_list.2:197
9693 #, no-wrap
9694 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9695 msgstr "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9696
9697 #. type: tbl table
9698 #: build/C/man2/ioctl_list.2:201
9699 #, no-wrap
9700 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9701 msgstr "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9702
9703 #. type: Plain text
9704 #: build/C/man2/ioctl_list.2:205
9705 msgid "// E<lt>include/linux/cdk.hE<gt>"
9706 msgstr "// E<lt>include/linux/cdk.hE<gt>"
9707
9708 #. type: tbl table
9709 #: build/C/man2/ioctl_list.2:207
9710 #, no-wrap
9711 msgid "0x00007314\tSTL_BINTR\tvoid\n"
9712 msgstr "0x00007314\tSTL_BINTR\tvoid\n"
9713
9714 #. type: tbl table
9715 #: build/C/man2/ioctl_list.2:208
9716 #, no-wrap
9717 msgid "0x00007315\tSTL_BSTART\tvoid\n"
9718 msgstr "0x00007315\tSTL_BSTART\tvoid\n"
9719
9720 #. type: tbl table
9721 #: build/C/man2/ioctl_list.2:209
9722 #, no-wrap
9723 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
9724 msgstr "0x00007316\tSTL_BSTOP\tvoid\n"
9725
9726 #. type: tbl table
9727 #: build/C/man2/ioctl_list.2:210
9728 #, no-wrap
9729 msgid "0x00007317\tSTL_BRESET\tvoid\n"
9730 msgstr "0x00007317\tSTL_BRESET\tvoid\n"
9731
9732 #. type: Plain text
9733 #: build/C/man2/ioctl_list.2:214
9734 msgid "// E<lt>include/linux/cdrom.hE<gt>"
9735 msgstr "// E<lt>include/linux/cdrom.hE<gt>"
9736
9737 #. type: tbl table
9738 #: build/C/man2/ioctl_list.2:216
9739 #, no-wrap
9740 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
9741 msgstr "0x00005301\tCDROMPAUSE\tvoid\n"
9742
9743 #. type: tbl table
9744 #: build/C/man2/ioctl_list.2:217
9745 #, no-wrap
9746 msgid "0x00005302\tCDROMRESUME\tvoid\n"
9747 msgstr "0x00005302\tCDROMRESUME\tvoid\n"
9748
9749 #. type: tbl table
9750 #: build/C/man2/ioctl_list.2:218
9751 #, no-wrap
9752 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9753 msgstr "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9754
9755 #. type: tbl table
9756 #: build/C/man2/ioctl_list.2:219
9757 #, no-wrap
9758 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9759 msgstr "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9760
9761 #. type: tbl table
9762 #: build/C/man2/ioctl_list.2:220
9763 #, no-wrap
9764 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9765 msgstr "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9766
9767 #. type: tbl table
9768 #: build/C/man2/ioctl_list.2:224
9769 #, no-wrap
9770 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9771 msgstr "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9772
9773 #. type: tbl table
9774 #: build/C/man2/ioctl_list.2:228
9775 #, no-wrap
9776 msgid "0x00005307\tCDROMSTOP\tvoid\n"
9777 msgstr "0x00005307\tCDROMSTOP\tvoid\n"
9778
9779 #. type: tbl table
9780 #: build/C/man2/ioctl_list.2:229
9781 #, no-wrap
9782 msgid "0x00005308\tCDROMSTART\tvoid\n"
9783 msgstr "0x00005308\tCDROMSTART\tvoid\n"
9784
9785 #. type: tbl table
9786 #: build/C/man2/ioctl_list.2:230
9787 #, no-wrap
9788 msgid "0x00005309\tCDROMEJECT\tvoid\n"
9789 msgstr "0x00005309\tCDROMEJECT\tvoid\n"
9790
9791 #. type: tbl table
9792 #: build/C/man2/ioctl_list.2:231
9793 #, no-wrap
9794 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9795 msgstr "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9796
9797 #. type: tbl table
9798 #: build/C/man2/ioctl_list.2:232
9799 #, no-wrap
9800 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9801 msgstr "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9802
9803 #. type: tbl table
9804 #: build/C/man2/ioctl_list.2:233
9805 #, no-wrap
9806 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9807 msgstr "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9808
9809 #. type: tbl table
9810 #: build/C/man2/ioctl_list.2:234
9811 #, no-wrap
9812 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9813 msgstr "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9814
9815 #. type: tbl table
9816 #: build/C/man2/ioctl_list.2:235
9817 #, no-wrap
9818 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9819 msgstr "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9820
9821 #. type: tbl table
9822 #: build/C/man2/ioctl_list.2:236
9823 #, no-wrap
9824 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
9825 msgstr "0x0000530F\tCDROMEJECT_SW\tint\n"
9826
9827 #. type: tbl table
9828 #: build/C/man2/ioctl_list.2:240
9829 #, no-wrap
9830 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9831 msgstr "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9832
9833 #. type: tbl table
9834 #: build/C/man2/ioctl_list.2:244
9835 #, no-wrap
9836 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9837 msgstr "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9838
9839 #. type: tbl table
9840 #: build/C/man2/ioctl_list.2:245
9841 #, no-wrap
9842 msgid "0x00005312\tCDROMRESET\tvoid\n"
9843 msgstr "0x00005312\tCDROMRESET\tvoid\n"
9844
9845 #. type: tbl table
9846 #: build/C/man2/ioctl_list.2:246
9847 #, no-wrap
9848 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9849 msgstr "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9850
9851 #. type: tbl table
9852 #: build/C/man2/ioctl_list.2:247
9853 #, no-wrap
9854 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9855 msgstr "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9856
9857 #. type: tbl table
9858 #: build/C/man2/ioctl_list.2:248
9859 #, no-wrap
9860 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9861 msgstr "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9862
9863 #. type: tbl table
9864 #: build/C/man2/ioctl_list.2:249
9865 #, no-wrap
9866 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9867 msgstr "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9868
9869 #. type: Plain text
9870 #: build/C/man2/ioctl_list.2:253
9871 msgid "// E<lt>include/linux/cm206.hE<gt>"
9872 msgstr "// E<lt>include/linux/cm206.hE<gt>"
9873
9874 #. type: tbl table
9875 #: build/C/man2/ioctl_list.2:255
9876 #, no-wrap
9877 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
9878 msgstr "0x00002000\tCM206CTL_GET_STAT\tint\n"
9879
9880 #. type: tbl table
9881 #: build/C/man2/ioctl_list.2:256
9882 #, no-wrap
9883 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9884 msgstr "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9885
9886 #. type: Plain text
9887 #: build/C/man2/ioctl_list.2:260
9888 msgid "// E<lt>include/linux/cyclades.hE<gt>"
9889 msgstr "// E<lt>include/linux/cyclades.hE<gt>"
9890
9891 #. type: tbl table
9892 #: build/C/man2/ioctl_list.2:262
9893 #, no-wrap
9894 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9895 msgstr "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9896
9897 #. type: tbl table
9898 #: build/C/man2/ioctl_list.2:263
9899 #, no-wrap
9900 msgid "0x00435902\tCYGETTHRESH\tint *\n"
9901 msgstr "0x00435902\tCYGETTHRESH\tint *\n"
9902
9903 #. type: tbl table
9904 #: build/C/man2/ioctl_list.2:264
9905 #, no-wrap
9906 msgid "0x00435903\tCYSETTHRESH\tint\n"
9907 msgstr "0x00435903\tCYSETTHRESH\tint\n"
9908
9909 #. type: tbl table
9910 #: build/C/man2/ioctl_list.2:265
9911 #, no-wrap
9912 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
9913 msgstr "0x00435904\tCYGETDEFTHRESH\tint *\n"
9914
9915 #. type: tbl table
9916 #: build/C/man2/ioctl_list.2:266
9917 #, no-wrap
9918 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
9919 msgstr "0x00435905\tCYSETDEFTHRESH\tint\n"
9920
9921 #. type: tbl table
9922 #: build/C/man2/ioctl_list.2:267
9923 #, no-wrap
9924 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
9925 msgstr "0x00435906\tCYGETTIMEOUT\tint *\n"
9926
9927 #. type: tbl table
9928 #: build/C/man2/ioctl_list.2:268
9929 #, no-wrap
9930 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
9931 msgstr "0x00435907\tCYSETTIMEOUT\tint\n"
9932
9933 #. type: tbl table
9934 #: build/C/man2/ioctl_list.2:269
9935 #, no-wrap
9936 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9937 msgstr "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9938
9939 #. type: tbl table
9940 #: build/C/man2/ioctl_list.2:270
9941 #, no-wrap
9942 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9943 msgstr "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9944
9945 #. type: Plain text
9946 #: build/C/man2/ioctl_list.2:274
9947 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
9948 msgstr "// E<lt>include/linux/ext2_fs.hE<gt>"
9949
9950 #. type: tbl table
9951 #: build/C/man2/ioctl_list.2:276
9952 #, no-wrap
9953 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9954 msgstr "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9955
9956 #. type: tbl table
9957 #: build/C/man2/ioctl_list.2:277
9958 #, no-wrap
9959 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9960 msgstr "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9961
9962 #. type: tbl table
9963 #: build/C/man2/ioctl_list.2:278
9964 #, no-wrap
9965 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9966 msgstr "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9967
9968 #. type: tbl table
9969 #: build/C/man2/ioctl_list.2:279
9970 #, no-wrap
9971 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9972 msgstr "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9973
9974 #. type: Plain text
9975 #: build/C/man2/ioctl_list.2:283
9976 msgid "// E<lt>include/linux/fd.hE<gt>"
9977 msgstr "// E<lt>include/linux/fd.hE<gt>"
9978
9979 #. type: tbl table
9980 #: build/C/man2/ioctl_list.2:285
9981 #, no-wrap
9982 msgid "0x00000000\tFDCLRPRM\tvoid\n"
9983 msgstr "0x00000000\tFDCLRPRM\tvoid\n"
9984
9985 #. type: tbl table
9986 #: build/C/man2/ioctl_list.2:286
9987 #, no-wrap
9988 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9989 msgstr "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9990
9991 #. type: tbl table
9992 #: build/C/man2/ioctl_list.2:287
9993 #, no-wrap
9994 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9995 msgstr "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9996
9997 #. type: tbl table
9998 #: build/C/man2/ioctl_list.2:288
9999 #, no-wrap
10000 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
10001 msgstr "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
10002
10003 #. type: tbl table
10004 #: build/C/man2/ioctl_list.2:289
10005 #, no-wrap
10006 msgid "0x00000004\tFDMSGON\tvoid\n"
10007 msgstr "0x00000004\tFDMSGON\tvoid\n"
10008
10009 #. type: tbl table
10010 #: build/C/man2/ioctl_list.2:290
10011 #, no-wrap
10012 msgid "0x00000005\tFDMSGOFF\tvoid\n"
10013 msgstr "0x00000005\tFDMSGOFF\tvoid\n"
10014
10015 #. type: tbl table
10016 #: build/C/man2/ioctl_list.2:291
10017 #, no-wrap
10018 msgid "0x00000006\tFDFMTBEG\tvoid\n"
10019 msgstr "0x00000006\tFDFMTBEG\tvoid\n"
10020
10021 #. type: tbl table
10022 #: build/C/man2/ioctl_list.2:292
10023 #, no-wrap
10024 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
10025 msgstr "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
10026
10027 #. type: tbl table
10028 #: build/C/man2/ioctl_list.2:293
10029 #, no-wrap
10030 msgid "0x00000008\tFDFMTEND\tvoid\n"
10031 msgstr "0x00000008\tFDFMTEND\tvoid\n"
10032
10033 #. type: tbl table
10034 #: build/C/man2/ioctl_list.2:294
10035 #, no-wrap
10036 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
10037 msgstr "0x0000000A\tFDSETEMSGTRESH\tint\n"
10038
10039 #. type: tbl table
10040 #: build/C/man2/ioctl_list.2:295
10041 #, no-wrap
10042 msgid "0x0000000B\tFDFLUSH\tvoid\n"
10043 msgstr "0x0000000B\tFDFLUSH\tvoid\n"
10044
10045 #. type: tbl table
10046 #: build/C/man2/ioctl_list.2:296
10047 #, no-wrap
10048 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10049 msgstr "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10050
10051 #. type: tbl table
10052 #: build/C/man2/ioctl_list.2:297
10053 #, no-wrap
10054 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10055 msgstr "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10056
10057 #. type: tbl table
10058 #: build/C/man2/ioctl_list.2:298
10059 #, no-wrap
10060 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10061 msgstr "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10062
10063 #. type: tbl table
10064 #: build/C/man2/ioctl_list.2:299
10065 #, no-wrap
10066 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10067 msgstr "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10068
10069 #. type: tbl table
10070 #: build/C/man2/ioctl_list.2:300
10071 #, no-wrap
10072 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10073 msgstr "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10074
10075 #. type: tbl table
10076 #: build/C/man2/ioctl_list.2:301
10077 #, no-wrap
10078 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10079 msgstr "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10080
10081 #. type: tbl table
10082 #: build/C/man2/ioctl_list.2:302
10083 #, no-wrap
10084 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10085 msgstr "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10086
10087 #. type: tbl table
10088 #: build/C/man2/ioctl_list.2:303
10089 #, no-wrap
10090 msgid "0x00000018\tFDRESET\tint\n"
10091 msgstr "0x00000018\tFDRESET\tint\n"
10092
10093 #. type: tbl table
10094 #: build/C/man2/ioctl_list.2:304
10095 #, no-wrap
10096 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10097 msgstr "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10098
10099 #. type: tbl table
10100 #: build/C/man2/ioctl_list.2:305
10101 #, no-wrap
10102 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10103 msgstr "0x0000001B\tFDWERRORCLR\tvoid\n"
10104
10105 #. type: tbl table
10106 #: build/C/man2/ioctl_list.2:306
10107 #, no-wrap
10108 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10109 msgstr "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10110
10111 #. type: tbl table
10112 #: build/C/man2/ioctl_list.2:310
10113 #, no-wrap
10114 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10115 msgstr "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10116
10117 #. type: tbl table
10118 #: build/C/man2/ioctl_list.2:311
10119 #, no-wrap
10120 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10121 msgstr "0x00000028\tFDTWADDLE\tvoid\n"
10122
10123 #. type: Plain text
10124 #: build/C/man2/ioctl_list.2:315
10125 msgid "// E<lt>include/linux/fs.hE<gt>"
10126 msgstr "// E<lt>include/linux/fs.hE<gt>"
10127
10128 #. type: tbl table
10129 #: build/C/man2/ioctl_list.2:317
10130 #, no-wrap
10131 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10132 msgstr "0x0000125D\tBLKROSET\tconst int *\n"
10133
10134 #. type: tbl table
10135 #: build/C/man2/ioctl_list.2:318
10136 #, no-wrap
10137 msgid "0x0000125E\tBLKROGET\tint *\n"
10138 msgstr "0x0000125E\tBLKROGET\tint *\n"
10139
10140 #. type: tbl table
10141 #: build/C/man2/ioctl_list.2:319
10142 #, no-wrap
10143 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10144 msgstr "0x0000125F\tBLKRRPART\tvoid\n"
10145
10146 #. type: tbl table
10147 #: build/C/man2/ioctl_list.2:320
10148 #, no-wrap
10149 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10150 msgstr "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10151
10152 #. type: tbl table
10153 #: build/C/man2/ioctl_list.2:321
10154 #, no-wrap
10155 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10156 msgstr "0x00001261\tBLKFLSBUF\tvoid\n"
10157
10158 #. type: tbl table
10159 #: build/C/man2/ioctl_list.2:322
10160 #, no-wrap
10161 msgid "0x00001262\tBLKRASET\tint\n"
10162 msgstr "0x00001262\tBLKRASET\tint\n"
10163
10164 #. type: tbl table
10165 #: build/C/man2/ioctl_list.2:323
10166 #, no-wrap
10167 msgid "0x00001263\tBLKRAGET\tint *\n"
10168 msgstr "0x00001263\tBLKRAGET\tint *\n"
10169
10170 #. type: tbl table
10171 #: build/C/man2/ioctl_list.2:324
10172 #, no-wrap
10173 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10174 msgstr "0x00000001\tFIBMAP\tint *\t// I-O\n"
10175
10176 #. type: tbl table
10177 #: build/C/man2/ioctl_list.2:325
10178 #, no-wrap
10179 msgid "0x00000002\tFIGETBSZ\tint *\n"
10180 msgstr "0x00000002\tFIGETBSZ\tint *\n"
10181
10182 #. type: Plain text
10183 #: build/C/man2/ioctl_list.2:329
10184 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10185 msgstr "// E<lt>include/linux/hdreg.hE<gt>"
10186
10187 #. type: tbl table
10188 #: build/C/man2/ioctl_list.2:331
10189 #, no-wrap
10190 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10191 msgstr "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10192
10193 #. type: tbl table
10194 #: build/C/man2/ioctl_list.2:332
10195 #, no-wrap
10196 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10197 msgstr "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10198
10199 #. type: tbl table
10200 #: build/C/man2/ioctl_list.2:333
10201 #, no-wrap
10202 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10203 msgstr "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10204
10205 #. type: tbl table
10206 #: build/C/man2/ioctl_list.2:334
10207 #, no-wrap
10208 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10209 msgstr "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10210
10211 #. type: tbl table
10212 #: build/C/man2/ioctl_list.2:335
10213 #, no-wrap
10214 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10215 msgstr "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10216
10217 #. type: tbl table
10218 #: build/C/man2/ioctl_list.2:336
10219 #, no-wrap
10220 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10221 msgstr "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10222
10223 #. type: tbl table
10224 #: build/C/man2/ioctl_list.2:337
10225 #, no-wrap
10226 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10227 msgstr "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10228
10229 #. type: tbl table
10230 #: build/C/man2/ioctl_list.2:338
10231 #, no-wrap
10232 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10233 msgstr "0x0000030B\tHDIO_GET_DMA\tint *\n"
10234
10235 #. type: tbl table
10236 #: build/C/man2/ioctl_list.2:339
10237 #, no-wrap
10238 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10239 msgstr "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10240
10241 #. type: tbl table
10242 #: build/C/man2/ioctl_list.2:340
10243 #, no-wrap
10244 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10245 msgstr "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10246
10247 #. type: tbl table
10248 #: build/C/man2/ioctl_list.2:341
10249 #, no-wrap
10250 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10251 msgstr "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10252
10253 #. type: tbl table
10254 #: build/C/man2/ioctl_list.2:342
10255 #, no-wrap
10256 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10257 msgstr "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10258
10259 #. type: tbl table
10260 #: build/C/man2/ioctl_list.2:343
10261 #, no-wrap
10262 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10263 msgstr "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10264
10265 #. type: tbl table
10266 #: build/C/man2/ioctl_list.2:344
10267 #, no-wrap
10268 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10269 msgstr "0x00000325\tHDIO_SET_NOWERR\tint\n"
10270
10271 #. type: tbl table
10272 #: build/C/man2/ioctl_list.2:345
10273 #, no-wrap
10274 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10275 msgstr "0x00000326\tHDIO_SET_DMA\tint\n"
10276
10277 #. type: Plain text
10278 #: build/C/man2/ioctl_list.2:349
10279 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10280 msgstr "// E<lt>include/linux/if_eql.hE<gt>"
10281
10282 #. type: tbl table
10283 #: build/C/man2/ioctl_list.2:351
10284 #, no-wrap
10285 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10286 msgstr "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10287
10288 #. type: tbl table
10289 #: build/C/man2/ioctl_list.2:352
10290 #, no-wrap
10291 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10292 msgstr "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10293
10294 #. type: tbl table
10295 #: build/C/man2/ioctl_list.2:353
10296 #, no-wrap
10297 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10298 msgstr "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10299
10300 #. type: tbl table
10301 #: build/C/man2/ioctl_list.2:354
10302 #, no-wrap
10303 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10304 msgstr "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10305
10306 #. type: tbl table
10307 #: build/C/man2/ioctl_list.2:355
10308 #, no-wrap
10309 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10310 msgstr "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10311
10312 #. type: tbl table
10313 #: build/C/man2/ioctl_list.2:356
10314 #, no-wrap
10315 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10316 msgstr "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10317
10318 #. type: Plain text
10319 #: build/C/man2/ioctl_list.2:360
10320 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10321 msgstr "// E<lt>include/linux/if_plip.hE<gt>"
10322
10323 #. type: tbl table
10324 #: build/C/man2/ioctl_list.2:362
10325 #, no-wrap
10326 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10327 msgstr "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10328
10329 #. type: Plain text
10330 #: build/C/man2/ioctl_list.2:366
10331 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10332 msgstr "// E<lt>include/linux/if_ppp.hE<gt>"
10333
10334 #. type: tbl table
10335 #: build/C/man2/ioctl_list.2:368
10336 #, no-wrap
10337 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10338 msgstr "0x00005490\tPPPIOCGFLAGS\tint *\n"
10339
10340 #. type: tbl table
10341 #: build/C/man2/ioctl_list.2:369
10342 #, no-wrap
10343 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10344 msgstr "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10345
10346 #. type: tbl table
10347 #: build/C/man2/ioctl_list.2:370
10348 #, no-wrap
10349 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10350 msgstr "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10351
10352 #. type: tbl table
10353 #: build/C/man2/ioctl_list.2:371
10354 #, no-wrap
10355 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10356 msgstr "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10357
10358 #. type: tbl table
10359 #: build/C/man2/ioctl_list.2:372
10360 #, no-wrap
10361 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10362 msgstr "0x00005494\tPPPIOCGUNIT\tint *\n"
10363
10364 #. type: tbl table
10365 #: build/C/man2/ioctl_list.2:373
10366 #, no-wrap
10367 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10368 msgstr "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10369
10370 #. type: tbl table
10371 #: build/C/man2/ioctl_list.2:374
10372 #, no-wrap
10373 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10374 msgstr "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10375
10376 #. type: tbl table
10377 #: build/C/man2/ioctl_list.2:375
10378 #, no-wrap
10379 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10380 msgstr "0x00005498\tPPPIOCGDEBUG\tint *\n"
10381
10382 #. type: tbl table
10383 #: build/C/man2/ioctl_list.2:376
10384 #, no-wrap
10385 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10386 msgstr "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10387
10388 #. type: tbl table
10389 #: build/C/man2/ioctl_list.2:377
10390 #, no-wrap
10391 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10392 msgstr "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10393
10394 #. type: tbl table
10395 #: build/C/man2/ioctl_list.2:378
10396 #, no-wrap
10397 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10398 msgstr "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10399
10400 #. type: tbl table
10401 #: build/C/man2/ioctl_list.2:379
10402 #, no-wrap
10403 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10404 msgstr "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10405
10406 #. type: tbl table
10407 #: build/C/man2/ioctl_list.2:380
10408 #, no-wrap
10409 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10410 msgstr "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10411
10412 #. type: tbl table
10413 #: build/C/man2/ioctl_list.2:381
10414 #, no-wrap
10415 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10416 msgstr "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10417
10418 #. type: tbl table
10419 #: build/C/man2/ioctl_list.2:382
10420 #, no-wrap
10421 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10422 msgstr "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10423
10424 #. type: Plain text
10425 #: build/C/man2/ioctl_list.2:386
10426 msgid "// E<lt>include/linux/ipx.hE<gt>"
10427 msgstr "// E<lt>include/linux/ipx.hE<gt>"
10428
10429 #. type: tbl table
10430 #: build/C/man2/ioctl_list.2:388
10431 #, no-wrap
10432 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10433 msgstr "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10434
10435 #. type: tbl table
10436 #: build/C/man2/ioctl_list.2:389
10437 #, no-wrap
10438 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10439 msgstr "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10440
10441 #. type: tbl table
10442 #: build/C/man2/ioctl_list.2:390
10443 #, no-wrap
10444 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10445 msgstr "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10446
10447 #. type: Plain text
10448 #: build/C/man2/ioctl_list.2:394
10449 msgid "// E<lt>include/linux/kd.hE<gt>"
10450 msgstr "// E<lt>include/linux/kd.hE<gt>"
10451
10452 #. type: tbl table
10453 #: build/C/man2/ioctl_list.2:396
10454 #, no-wrap
10455 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10456 msgstr "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10457
10458 #. type: tbl table
10459 #: build/C/man2/ioctl_list.2:397
10460 #, no-wrap
10461 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10462 msgstr "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10463
10464 #. type: tbl table
10465 #: build/C/man2/ioctl_list.2:401
10466 #, no-wrap
10467 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10468 msgstr "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10469
10470 #. type: tbl table
10471 #: build/C/man2/ioctl_list.2:402
10472 #, no-wrap
10473 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10474 msgstr "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10475
10476 #. type: tbl table
10477 #: build/C/man2/ioctl_list.2:406
10478 #, no-wrap
10479 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10480 msgstr "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10481
10482 #. type: tbl table
10483 #: build/C/man2/ioctl_list.2:407
10484 #, no-wrap
10485 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10486 msgstr "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10487
10488 #. type: tbl table
10489 #: build/C/man2/ioctl_list.2:411
10490 #, no-wrap
10491 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10492 msgstr "0x00004B2F\tKIOCSOUND\tint\n"
10493
10494 #. type: tbl table
10495 #: build/C/man2/ioctl_list.2:412
10496 #, no-wrap
10497 msgid "0x00004B30\tKDMKTONE\tint\n"
10498 msgstr "0x00004B30\tKDMKTONE\tint\n"
10499
10500 #. type: tbl table
10501 #: build/C/man2/ioctl_list.2:413
10502 #, no-wrap
10503 msgid "0x00004B31\tKDGETLED\tchar *\n"
10504 msgstr "0x00004B31\tKDGETLED\tchar *\n"
10505
10506 #. type: tbl table
10507 #: build/C/man2/ioctl_list.2:414
10508 #, no-wrap
10509 msgid "0x00004B32\tKDSETLED\tint\n"
10510 msgstr "0x00004B32\tKDSETLED\tint\n"
10511
10512 #. type: tbl table
10513 #: build/C/man2/ioctl_list.2:415
10514 #, no-wrap
10515 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10516 msgstr "0x00004B33\tKDGKBTYPE\tchar *\n"
10517
10518 #. type: tbl table
10519 #: build/C/man2/ioctl_list.2:416
10520 #, no-wrap
10521 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10522 msgstr "0x00004B34\tKDADDIO\tint\t// MORE\n"
10523
10524 #. type: tbl table
10525 #: build/C/man2/ioctl_list.2:417
10526 #, no-wrap
10527 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10528 msgstr "0x00004B35\tKDDELIO\tint\t// MORE\n"
10529
10530 #. type: tbl table
10531 #: build/C/man2/ioctl_list.2:418
10532 #, no-wrap
10533 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10534 msgstr "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10535
10536 #. type: tbl table
10537 #: build/C/man2/ioctl_list.2:419
10538 #, no-wrap
10539 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10540 msgstr "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10541
10542 #. type: tbl table
10543 #: build/C/man2/ioctl_list.2:420
10544 #, no-wrap
10545 msgid "0x00004B3A\tKDSETMODE\tint\n"
10546 msgstr "0x00004B3A\tKDSETMODE\tint\n"
10547
10548 #. type: tbl table
10549 #: build/C/man2/ioctl_list.2:421
10550 #, no-wrap
10551 msgid "0x00004B3B\tKDGETMODE\tint *\n"
10552 msgstr "0x00004B3B\tKDGETMODE\tint *\n"
10553
10554 #. type: tbl table
10555 #: build/C/man2/ioctl_list.2:422
10556 #, no-wrap
10557 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10558 msgstr "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10559
10560 #. type: tbl table
10561 #: build/C/man2/ioctl_list.2:423
10562 #, no-wrap
10563 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10564 msgstr "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10565
10566 #. type: tbl table
10567 #: build/C/man2/ioctl_list.2:424
10568 #, no-wrap
10569 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10570 msgstr "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10571
10572 #. type: tbl table
10573 #: build/C/man2/ioctl_list.2:428
10574 #, no-wrap
10575 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10576 msgstr "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10577
10578 #. type: tbl table
10579 #: build/C/man2/ioctl_list.2:429
10580 #, no-wrap
10581 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10582 msgstr "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10583
10584 #. type: tbl table
10585 #: build/C/man2/ioctl_list.2:430
10586 #, no-wrap
10587 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10588 msgstr "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10589
10590 #. type: tbl table
10591 #: build/C/man2/ioctl_list.2:434
10592 #, no-wrap
10593 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10594 msgstr "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10595
10596 #. type: tbl table
10597 #: build/C/man2/ioctl_list.2:435
10598 #, no-wrap
10599 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10600 msgstr "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10601
10602 #. type: tbl table
10603 #: build/C/man2/ioctl_list.2:436
10604 #, no-wrap
10605 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10606 msgstr "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10607
10608 #. type: tbl table
10609 #: build/C/man2/ioctl_list.2:437
10610 #, no-wrap
10611 msgid "0x00004B44\tKDGKBMODE\tint *\n"
10612 msgstr "0x00004B44\tKDGKBMODE\tint *\n"
10613
10614 #. type: tbl table
10615 #: build/C/man2/ioctl_list.2:438
10616 #, no-wrap
10617 msgid "0x00004B45\tKDSKBMODE\tint\n"
10618 msgstr "0x00004B45\tKDSKBMODE\tint\n"
10619
10620 #. type: tbl table
10621 #: build/C/man2/ioctl_list.2:439
10622 #, no-wrap
10623 msgid "0x00004B62\tKDGKBMETA\tint *\n"
10624 msgstr "0x00004B62\tKDGKBMETA\tint *\n"
10625
10626 #. type: tbl table
10627 #: build/C/man2/ioctl_list.2:440
10628 #, no-wrap
10629 msgid "0x00004B63\tKDSKBMETA\tint\n"
10630 msgstr "0x00004B63\tKDSKBMETA\tint\n"
10631
10632 #. type: tbl table
10633 #: build/C/man2/ioctl_list.2:441
10634 #, no-wrap
10635 msgid "0x00004B64\tKDGKBLED\tint *\n"
10636 msgstr "0x00004B64\tKDGKBLED\tint *\n"
10637
10638 #. type: tbl table
10639 #: build/C/man2/ioctl_list.2:442
10640 #, no-wrap
10641 msgid "0x00004B65\tKDSKBLED\tint\n"
10642 msgstr "0x00004B65\tKDSKBLED\tint\n"
10643
10644 #. type: tbl table
10645 #: build/C/man2/ioctl_list.2:443
10646 #, no-wrap
10647 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10648 msgstr "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10649
10650 #. type: tbl table
10651 #: build/C/man2/ioctl_list.2:444
10652 #, no-wrap
10653 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10654 msgstr "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10655
10656 #. type: tbl table
10657 #: build/C/man2/ioctl_list.2:445
10658 #, no-wrap
10659 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10660 msgstr "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10661
10662 #. type: tbl table
10663 #: build/C/man2/ioctl_list.2:446
10664 #, no-wrap
10665 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10666 msgstr "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10667
10668 #. type: tbl table
10669 #: build/C/man2/ioctl_list.2:447
10670 #, no-wrap
10671 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10672 msgstr "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10673
10674 #. type: tbl table
10675 #: build/C/man2/ioctl_list.2:448
10676 #, no-wrap
10677 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10678 msgstr "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10679
10680 #. type: tbl table
10681 #: build/C/man2/ioctl_list.2:449
10682 #, no-wrap
10683 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10684 msgstr "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10685
10686 #. type: tbl table
10687 #: build/C/man2/ioctl_list.2:450
10688 #, no-wrap
10689 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10690 msgstr "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10691
10692 #. type: tbl table
10693 #: build/C/man2/ioctl_list.2:451
10694 #, no-wrap
10695 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
10696 msgstr "0x00004B4E\tKDSIGACCEPT\tint\n"
10697
10698 #. type: Plain text
10699 #: build/C/man2/ioctl_list.2:455
10700 msgid "// E<lt>include/linux/lp.hE<gt>"
10701 msgstr "// E<lt>include/linux/lp.hE<gt>"
10702
10703 #. type: tbl table
10704 #: build/C/man2/ioctl_list.2:457
10705 #, no-wrap
10706 msgid "0x00000601\tLPCHAR\tint\n"
10707 msgstr "0x00000601\tLPCHAR\tint\n"
10708
10709 #. type: tbl table
10710 #: build/C/man2/ioctl_list.2:458
10711 #, no-wrap
10712 msgid "0x00000602\tLPTIME\tint\n"
10713 msgstr "0x00000602\tLPTIME\tint\n"
10714
10715 #. type: tbl table
10716 #: build/C/man2/ioctl_list.2:459
10717 #, no-wrap
10718 msgid "0x00000604\tLPABORT\tint\n"
10719 msgstr "0x00000604\tLPABORT\tint\n"
10720
10721 #. type: tbl table
10722 #: build/C/man2/ioctl_list.2:460
10723 #, no-wrap
10724 msgid "0x00000605\tLPSETIRQ\tint\n"
10725 msgstr "0x00000605\tLPSETIRQ\tint\n"
10726
10727 #. type: tbl table
10728 #: build/C/man2/ioctl_list.2:461
10729 #, no-wrap
10730 msgid "0x00000606\tLPGETIRQ\tint *\n"
10731 msgstr "0x00000606\tLPGETIRQ\tint *\n"
10732
10733 #. type: tbl table
10734 #: build/C/man2/ioctl_list.2:462
10735 #, no-wrap
10736 msgid "0x00000608\tLPWAIT\tint\n"
10737 msgstr "0x00000608\tLPWAIT\tint\n"
10738
10739 #. type: tbl table
10740 #: build/C/man2/ioctl_list.2:463
10741 #, no-wrap
10742 msgid "0x00000609\tLPCAREFUL\tint\n"
10743 msgstr "0x00000609\tLPCAREFUL\tint\n"
10744
10745 #. type: tbl table
10746 #: build/C/man2/ioctl_list.2:464
10747 #, no-wrap
10748 msgid "0x0000060A\tLPABORTOPEN\tint\n"
10749 msgstr "0x0000060A\tLPABORTOPEN\tint\n"
10750
10751 #. type: tbl table
10752 #: build/C/man2/ioctl_list.2:465
10753 #, no-wrap
10754 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
10755 msgstr "0x0000060B\tLPGETSTATUS\tint *\n"
10756
10757 #. type: tbl table
10758 #: build/C/man2/ioctl_list.2:466
10759 #, no-wrap
10760 msgid "0x0000060C\tLPRESET\tvoid\n"
10761 msgstr "0x0000060C\tLPRESET\tvoid\n"
10762
10763 #. type: tbl table
10764 #: build/C/man2/ioctl_list.2:467
10765 #, no-wrap
10766 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10767 msgstr "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10768
10769 #. type: Plain text
10770 #: build/C/man2/ioctl_list.2:471
10771 msgid "// E<lt>include/linux/mroute.hE<gt>"
10772 msgstr "// E<lt>include/linux/mroute.hE<gt>"
10773
10774 #. type: tbl table
10775 #: build/C/man2/ioctl_list.2:473
10776 #, no-wrap
10777 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10778 msgstr "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10779
10780 #. type: tbl table
10781 #: build/C/man2/ioctl_list.2:474
10782 #, no-wrap
10783 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10784 msgstr "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10785
10786 #. type: Plain text
10787 #: build/C/man2/ioctl_list.2:478
10788 msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
10789 msgstr "// E<lt>include/linux/msdos_fs.hE<gt>"
10790
10791 #. type: tbl table
10792 #: build/C/man2/ioctl_list.2:480
10793 #, no-wrap
10794 msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
10795 msgstr "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
10796
10797 #. type: tbl table
10798 #: build/C/man2/ioctl_list.2:481
10799 #, no-wrap
10800 msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
10801 msgstr "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
10802
10803 #. type: tbl table
10804 #: build/C/man2/ioctl_list.2:482
10805 #, no-wrap
10806 msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
10807 msgstr "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
10808
10809 #. type: tbl table
10810 #: build/C/man2/ioctl_list.2:483
10811 #, no-wrap
10812 msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
10813 msgstr "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
10814
10815 #. type: Plain text
10816 #: build/C/man2/ioctl_list.2:487
10817 msgid "// E<lt>include/linux/mtio.hE<gt>"
10818 msgstr "// E<lt>include/linux/mtio.hE<gt>"
10819
10820 #. type: tbl table
10821 #: build/C/man2/ioctl_list.2:489
10822 #, no-wrap
10823 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10824 msgstr "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10825
10826 #. type: tbl table
10827 #: build/C/man2/ioctl_list.2:490
10828 #, no-wrap
10829 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10830 msgstr "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10831
10832 #. type: tbl table
10833 #: build/C/man2/ioctl_list.2:491
10834 #, no-wrap
10835 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10836 msgstr "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10837
10838 #. type: tbl table
10839 #: build/C/man2/ioctl_list.2:492
10840 #, no-wrap
10841 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10842 msgstr "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10843
10844 #. type: tbl table
10845 #: build/C/man2/ioctl_list.2:493
10846 #, no-wrap
10847 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10848 msgstr "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10849
10850 #. type: Plain text
10851 #: build/C/man2/ioctl_list.2:497
10852 msgid "// E<lt>include/linux/netrom.hE<gt>"
10853 msgstr "// E<lt>include/linux/netrom.hE<gt>"
10854
10855 #. type: tbl table
10856 #: build/C/man2/ioctl_list.2:499
10857 #, no-wrap
10858 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10859 msgstr "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10860
10861 #. type: tbl table
10862 #: build/C/man2/ioctl_list.2:500
10863 #, no-wrap
10864 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10865 msgstr "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10866
10867 #. type: tbl table
10868 #: build/C/man2/ioctl_list.2:501
10869 #, no-wrap
10870 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10871 msgstr "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10872
10873 #. type: tbl table
10874 #: build/C/man2/ioctl_list.2:502
10875 #, no-wrap
10876 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10877 msgstr "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10878
10879 #. type: Plain text
10880 #: build/C/man2/ioctl_list.2:506
10881 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
10882 msgstr "// E<lt>include/linux/sbpcd.hE<gt>"
10883
10884 #. type: tbl table
10885 #: build/C/man2/ioctl_list.2:508
10886 #, no-wrap
10887 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
10888 msgstr "0x00009000\tDDIOCSDBG\tconst int *\n"
10889
10890 #. type: tbl table
10891 #: build/C/man2/ioctl_list.2:509
10892 #, no-wrap
10893 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10894 msgstr "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10895
10896 #. type: Plain text
10897 #: build/C/man2/ioctl_list.2:513
10898 msgid "// E<lt>include/linux/scc.hE<gt>"
10899 msgstr "// E<lt>include/linux/scc.hE<gt>"
10900
10901 #. type: tbl table
10902 #: build/C/man2/ioctl_list.2:515
10903 #, no-wrap
10904 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
10905 msgstr "0x00005470\tTIOCSCCINI\tvoid\n"
10906
10907 #. type: tbl table
10908 #: build/C/man2/ioctl_list.2:516
10909 #, no-wrap
10910 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10911 msgstr "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10912
10913 #. type: tbl table
10914 #: build/C/man2/ioctl_list.2:517
10915 #, no-wrap
10916 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10917 msgstr "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10918
10919 #. type: tbl table
10920 #: build/C/man2/ioctl_list.2:518
10921 #, no-wrap
10922 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10923 msgstr "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10924
10925 #. type: tbl table
10926 #: build/C/man2/ioctl_list.2:519
10927 #, no-wrap
10928 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10929 msgstr "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10930
10931 #. type: Plain text
10932 #: build/C/man2/ioctl_list.2:523
10933 msgid "// E<lt>include/linux/scsi.hE<gt>"
10934 msgstr "// E<lt>include/linux/scsi.hE<gt>"
10935
10936 #. type: tbl table
10937 #: build/C/man2/ioctl_list.2:525
10938 #, no-wrap
10939 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10940 msgstr "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10941
10942 #. type: tbl table
10943 #: build/C/man2/ioctl_list.2:526
10944 #, no-wrap
10945 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10946 msgstr "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10947
10948 #. type: tbl table
10949 #: build/C/man2/ioctl_list.2:527
10950 #, no-wrap
10951 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10952 msgstr "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10953
10954 #. type: tbl table
10955 #: build/C/man2/ioctl_list.2:531
10956 #, no-wrap
10957 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10958 msgstr "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10959
10960 #. type: Plain text
10961 #: build/C/man2/ioctl_list.2:535
10962 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
10963 msgstr "// E<lt>include/linux/smb_fs.hE<gt>"
10964
10965 #. type: tbl table
10966 #: build/C/man2/ioctl_list.2:537
10967 #, no-wrap
10968 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10969 msgstr "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10970
10971 #. type: Plain text
10972 #: build/C/man2/ioctl_list.2:541
10973 msgid "// E<lt>include/linux/sockios.hE<gt>"
10974 msgstr "// E<lt>include/linux/sockios.hE<gt>"
10975
10976 #. type: tbl table
10977 #: build/C/man2/ioctl_list.2:543
10978 #, no-wrap
10979 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10980 msgstr "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10981
10982 #. type: tbl table
10983 #: build/C/man2/ioctl_list.2:544
10984 #, no-wrap
10985 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10986 msgstr "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10987
10988 #. type: tbl table
10989 #: build/C/man2/ioctl_list.2:545
10990 #, no-wrap
10991 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
10992 msgstr "0x00008910\tSIOCGIFNAME\tchar []\n"
10993
10994 #. type: tbl table
10995 #: build/C/man2/ioctl_list.2:546
10996 #, no-wrap
10997 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
10998 msgstr "0x00008911\tSIOCSIFLINK\tvoid\n"
10999
11000 #. type: tbl table
11001 #: build/C/man2/ioctl_list.2:547
11002 #, no-wrap
11003 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
11004 msgstr "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
11005
11006 #. type: tbl table
11007 #: build/C/man2/ioctl_list.2:548
11008 #, no-wrap
11009 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
11010 msgstr "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
11011
11012 #. type: tbl table
11013 #: build/C/man2/ioctl_list.2:549
11014 #, no-wrap
11015 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
11016 msgstr "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
11017
11018 #. type: tbl table
11019 #: build/C/man2/ioctl_list.2:550
11020 #, no-wrap
11021 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
11022 msgstr "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
11023
11024 #. type: tbl table
11025 #: build/C/man2/ioctl_list.2:551
11026 #, no-wrap
11027 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
11028 msgstr "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
11029
11030 #. type: tbl table
11031 #: build/C/man2/ioctl_list.2:552
11032 #, no-wrap
11033 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11034 msgstr "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11035
11036 #. type: tbl table
11037 #: build/C/man2/ioctl_list.2:553
11038 #, no-wrap
11039 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11040 msgstr "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11041
11042 #. type: tbl table
11043 #: build/C/man2/ioctl_list.2:554
11044 #, no-wrap
11045 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11046 msgstr "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11047
11048 #. type: tbl table
11049 #: build/C/man2/ioctl_list.2:555
11050 #, no-wrap
11051 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11052 msgstr "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11053
11054 #. type: tbl table
11055 #: build/C/man2/ioctl_list.2:556
11056 #, no-wrap
11057 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11058 msgstr "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11059
11060 #. type: tbl table
11061 #: build/C/man2/ioctl_list.2:557
11062 #, no-wrap
11063 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11064 msgstr "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11065
11066 #. type: tbl table
11067 #: build/C/man2/ioctl_list.2:558
11068 #, no-wrap
11069 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11070 msgstr "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11071
11072 #. type: tbl table
11073 #: build/C/man2/ioctl_list.2:559
11074 #, no-wrap
11075 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11076 msgstr "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11077
11078 #. type: tbl table
11079 #: build/C/man2/ioctl_list.2:560
11080 #, no-wrap
11081 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11082 msgstr "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11083
11084 #. type: tbl table
11085 #: build/C/man2/ioctl_list.2:561
11086 #, no-wrap
11087 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11088 msgstr "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11089
11090 #. type: tbl table
11091 #: build/C/man2/ioctl_list.2:562
11092 #, no-wrap
11093 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11094 msgstr "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11095
11096 #. type: tbl table
11097 #: build/C/man2/ioctl_list.2:563
11098 #, no-wrap
11099 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11100 msgstr "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11101
11102 #. type: tbl table
11103 #: build/C/man2/ioctl_list.2:567
11104 #, no-wrap
11105 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11106 msgstr "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11107
11108 #. type: tbl table
11109 #: build/C/man2/ioctl_list.2:568
11110 #, no-wrap
11111 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11112 msgstr "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11113
11114 #. type: tbl table
11115 #: build/C/man2/ioctl_list.2:569
11116 #, no-wrap
11117 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
11118 msgstr "0x00008925\tSIOCGIFENCAP\tint *\n"
11119
11120 #. type: tbl table
11121 #: build/C/man2/ioctl_list.2:570
11122 #, no-wrap
11123 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11124 msgstr "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11125
11126 #. type: tbl table
11127 #: build/C/man2/ioctl_list.2:571
11128 #, no-wrap
11129 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11130 msgstr "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11131
11132 #. type: tbl table
11133 #: build/C/man2/ioctl_list.2:572
11134 #, no-wrap
11135 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11136 msgstr "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11137
11138 #. type: tbl table
11139 #: build/C/man2/ioctl_list.2:573
11140 #, no-wrap
11141 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11142 msgstr "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11143
11144 #. type: tbl table
11145 #: build/C/man2/ioctl_list.2:574
11146 #, no-wrap
11147 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11148 msgstr "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11149
11150 #. type: tbl table
11151 #: build/C/man2/ioctl_list.2:575
11152 #, no-wrap
11153 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11154 msgstr "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11155
11156 #. type: tbl table
11157 #: build/C/man2/ioctl_list.2:576
11158 #, no-wrap
11159 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11160 msgstr "0x00008940\tSIOCADDRTOLD\tvoid\n"
11161
11162 #. type: tbl table
11163 #: build/C/man2/ioctl_list.2:577
11164 #, no-wrap
11165 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11166 msgstr "0x00008941\tSIOCDELRTOLD\tvoid\n"
11167
11168 #. type: tbl table
11169 #: build/C/man2/ioctl_list.2:578
11170 #, no-wrap
11171 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11172 msgstr "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11173
11174 #. type: tbl table
11175 #: build/C/man2/ioctl_list.2:579
11176 #, no-wrap
11177 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11178 msgstr "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11179
11180 #. type: tbl table
11181 #: build/C/man2/ioctl_list.2:580
11182 #, no-wrap
11183 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11184 msgstr "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11185
11186 #. type: tbl table
11187 #: build/C/man2/ioctl_list.2:581
11188 #, no-wrap
11189 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11190 msgstr "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11191
11192 #. type: tbl table
11193 #: build/C/man2/ioctl_list.2:582
11194 #, no-wrap
11195 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11196 msgstr "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11197
11198 #. type: tbl table
11199 #: build/C/man2/ioctl_list.2:583
11200 #, no-wrap
11201 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11202 msgstr "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11203
11204 #. type: tbl table
11205 #: build/C/man2/ioctl_list.2:584
11206 #, no-wrap
11207 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11208 msgstr "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11209
11210 #. type: tbl table
11211 #: build/C/man2/ioctl_list.2:585
11212 #, no-wrap
11213 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11214 msgstr "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11215
11216 #. type: Plain text
11217 #: build/C/man2/ioctl_list.2:589
11218 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11219 msgstr "// E<lt>include/linux/soundcard.hE<gt>"
11220
11221 #. type: tbl table
11222 #: build/C/man2/ioctl_list.2:591
11223 #, no-wrap
11224 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11225 msgstr "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11226
11227 #. type: tbl table
11228 #: build/C/man2/ioctl_list.2:592
11229 #, no-wrap
11230 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11231 msgstr "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11232
11233 #. type: tbl table
11234 #: build/C/man2/ioctl_list.2:596
11235 #, no-wrap
11236 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11237 msgstr "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11238
11239 #. type: tbl table
11240 #: build/C/man2/ioctl_list.2:597
11241 #, no-wrap
11242 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11243 msgstr "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11244
11245 #. type: tbl table
11246 #: build/C/man2/ioctl_list.2:598
11247 #, no-wrap
11248 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11249 msgstr "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11250
11251 #. type: tbl table
11252 #: build/C/man2/ioctl_list.2:599
11253 #, no-wrap
11254 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11255 msgstr "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11256
11257 #. type: tbl table
11258 #: build/C/man2/ioctl_list.2:600
11259 #, no-wrap
11260 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11261 msgstr "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11262
11263 #. type: tbl table
11264 #: build/C/man2/ioctl_list.2:604
11265 #, no-wrap
11266 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11267 msgstr "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11268
11269 #. type: tbl table
11270 #: build/C/man2/ioctl_list.2:608
11271 #, no-wrap
11272 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11273 msgstr "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11274
11275 #. type: tbl table
11276 #: build/C/man2/ioctl_list.2:609
11277 #, no-wrap
11278 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11279 msgstr "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11280
11281 #. type: tbl table
11282 #: build/C/man2/ioctl_list.2:610
11283 #, no-wrap
11284 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11285 msgstr "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11286
11287 #. type: tbl table
11288 #: build/C/man2/ioctl_list.2:611
11289 #, no-wrap
11290 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11291 msgstr "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11292
11293 #. type: tbl table
11294 #: build/C/man2/ioctl_list.2:612
11295 #, no-wrap
11296 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11297 msgstr "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11298
11299 #. type: tbl table
11300 #: build/C/man2/ioctl_list.2:613
11301 #, no-wrap
11302 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11303 msgstr "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11304
11305 #. type: tbl table
11306 #: build/C/man2/ioctl_list.2:614
11307 #, no-wrap
11308 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11309 msgstr "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11310
11311 #. type: tbl table
11312 #: build/C/man2/ioctl_list.2:615
11313 #, no-wrap
11314 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11315 msgstr "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11316
11317 #. type: tbl table
11318 #: build/C/man2/ioctl_list.2:616
11319 #, no-wrap
11320 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11321 msgstr "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11322
11323 #. type: tbl table
11324 #: build/C/man2/ioctl_list.2:617
11325 #, no-wrap
11326 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11327 msgstr "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11328
11329 #. type: tbl table
11330 #: build/C/man2/ioctl_list.2:621
11331 #, no-wrap
11332 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11333 msgstr "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11334
11335 #. type: tbl table
11336 #: build/C/man2/ioctl_list.2:625
11337 #, no-wrap
11338 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11339 msgstr "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11340
11341 #. type: tbl table
11342 #: build/C/man2/ioctl_list.2:626
11343 #, no-wrap
11344 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11345 msgstr "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11346
11347 #. type: tbl table
11348 #: build/C/man2/ioctl_list.2:627
11349 #, no-wrap
11350 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11351 msgstr "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11352
11353 #. type: tbl table
11354 #: build/C/man2/ioctl_list.2:628
11355 #, no-wrap
11356 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11357 msgstr "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11358
11359 #. type: tbl table
11360 #: build/C/man2/ioctl_list.2:629
11361 #, no-wrap
11362 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11363 msgstr "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11364
11365 #. type: tbl table
11366 #: build/C/man2/ioctl_list.2:630
11367 #, no-wrap
11368 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11369 msgstr "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11370
11371 #. type: tbl table
11372 #: build/C/man2/ioctl_list.2:631
11373 #, no-wrap
11374 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11375 msgstr "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11376
11377 #. type: tbl table
11378 #: build/C/man2/ioctl_list.2:632
11379 #, no-wrap
11380 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11381 msgstr "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11382
11383 #. type: tbl table
11384 #: build/C/man2/ioctl_list.2:633
11385 #, no-wrap
11386 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11387 msgstr "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11388
11389 #. type: tbl table
11390 #: build/C/man2/ioctl_list.2:634
11391 #, no-wrap
11392 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11393 msgstr "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11394
11395 #. type: tbl table
11396 #: build/C/man2/ioctl_list.2:635
11397 #, no-wrap
11398 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11399 msgstr "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11400
11401 #. type: tbl table
11402 #: build/C/man2/ioctl_list.2:639
11403 #, no-wrap
11404 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11405 msgstr "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11406
11407 #. type: tbl table
11408 #: build/C/man2/ioctl_list.2:643
11409 #, no-wrap
11410 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11411 msgstr "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11412
11413 #. type: tbl table
11414 #: build/C/man2/ioctl_list.2:644
11415 #, no-wrap
11416 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11417 msgstr "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11418
11419 #. type: tbl table
11420 #: build/C/man2/ioctl_list.2:645
11421 #, no-wrap
11422 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11423 msgstr "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11424
11425 #. type: tbl table
11426 #: build/C/man2/ioctl_list.2:646
11427 #, no-wrap
11428 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11429 msgstr "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11430
11431 #. type: tbl table
11432 #: build/C/man2/ioctl_list.2:647
11433 #, no-wrap
11434 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11435 msgstr "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11436
11437 #. type: tbl table
11438 #: build/C/man2/ioctl_list.2:648
11439 #, no-wrap
11440 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11441 msgstr "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11442
11443 #. type: tbl table
11444 #: build/C/man2/ioctl_list.2:649
11445 #, no-wrap
11446 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11447 msgstr "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11448
11449 #. type: tbl table
11450 #: build/C/man2/ioctl_list.2:650
11451 #, no-wrap
11452 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11453 msgstr "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11454
11455 #. type: tbl table
11456 #: build/C/man2/ioctl_list.2:651
11457 #, no-wrap
11458 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11459 msgstr "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11460
11461 #. type: tbl table
11462 #: build/C/man2/ioctl_list.2:652
11463 #, no-wrap
11464 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11465 msgstr "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11466
11467 #. type: tbl table
11468 #: build/C/man2/ioctl_list.2:653
11469 #, no-wrap
11470 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11471 msgstr "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11472
11473 #. type: tbl table
11474 #: build/C/man2/ioctl_list.2:654
11475 #, no-wrap
11476 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11477 msgstr "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11478
11479 #. type: tbl table
11480 #: build/C/man2/ioctl_list.2:658
11481 #, no-wrap
11482 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11483 msgstr "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11484
11485 #. type: tbl table
11486 #: build/C/man2/ioctl_list.2:659
11487 #, no-wrap
11488 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11489 msgstr "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11490
11491 #. type: tbl table
11492 #: build/C/man2/ioctl_list.2:660
11493 #, no-wrap
11494 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11495 msgstr "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11496
11497 #. type: tbl table
11498 #: build/C/man2/ioctl_list.2:661
11499 #, no-wrap
11500 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11501 msgstr "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11502
11503 #. type: tbl table
11504 #: build/C/man2/ioctl_list.2:662
11505 #, no-wrap
11506 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11507 msgstr "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11508
11509 #. type: tbl table
11510 #: build/C/man2/ioctl_list.2:663
11511 #, no-wrap
11512 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11513 msgstr "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11514
11515 #. type: tbl table
11516 #: build/C/man2/ioctl_list.2:664
11517 #, no-wrap
11518 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11519 msgstr "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11520
11521 #. type: tbl table
11522 #: build/C/man2/ioctl_list.2:665
11523 #, no-wrap
11524 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11525 msgstr "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11526
11527 #. type: tbl table
11528 #: build/C/man2/ioctl_list.2:666
11529 #, no-wrap
11530 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11531 msgstr "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11532
11533 #. type: tbl table
11534 #: build/C/man2/ioctl_list.2:670
11535 #, no-wrap
11536 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11537 msgstr "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11538
11539 #. type: tbl table
11540 #: build/C/man2/ioctl_list.2:671
11541 #, no-wrap
11542 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11543 msgstr "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11544
11545 #. type: tbl table
11546 #: build/C/man2/ioctl_list.2:675
11547 #, no-wrap
11548 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11549 msgstr "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11550
11551 #. type: tbl table
11552 #: build/C/man2/ioctl_list.2:676
11553 #, no-wrap
11554 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11555 msgstr "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11556
11557 #. type: tbl table
11558 #: build/C/man2/ioctl_list.2:680
11559 #, no-wrap
11560 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11561 msgstr "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11562
11563 #. type: tbl table
11564 #: build/C/man2/ioctl_list.2:681
11565 #, no-wrap
11566 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11567 msgstr "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11568
11569 #. type: tbl table
11570 #: build/C/man2/ioctl_list.2:685
11571 #, no-wrap
11572 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11573 msgstr "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11574
11575 #. type: tbl table
11576 #: build/C/man2/ioctl_list.2:686
11577 #, no-wrap
11578 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11579 msgstr "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11580
11581 #. type: tbl table
11582 #: build/C/man2/ioctl_list.2:687
11583 #, no-wrap
11584 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11585 msgstr "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11586
11587 #. type: tbl table
11588 #: build/C/man2/ioctl_list.2:688
11589 #, no-wrap
11590 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11591 msgstr "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11592
11593 #. type: tbl table
11594 #: build/C/man2/ioctl_list.2:689
11595 #, no-wrap
11596 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11597 msgstr "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11598
11599 #. type: tbl table
11600 #: build/C/man2/ioctl_list.2:690
11601 #, no-wrap
11602 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11603 msgstr "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11604
11605 #. type: tbl table
11606 #: build/C/man2/ioctl_list.2:691
11607 #, no-wrap
11608 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11609 msgstr "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11610
11611 #. type: tbl table
11612 #: build/C/man2/ioctl_list.2:692
11613 #, no-wrap
11614 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11615 msgstr "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11616
11617 #. type: tbl table
11618 #: build/C/man2/ioctl_list.2:693
11619 #, no-wrap
11620 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11621 msgstr "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11622
11623 #. type: tbl table
11624 #: build/C/man2/ioctl_list.2:694
11625 #, no-wrap
11626 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11627 msgstr "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11628
11629 #. type: tbl table
11630 #: build/C/man2/ioctl_list.2:695
11631 #, no-wrap
11632 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11633 msgstr "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11634
11635 #. type: tbl table
11636 #: build/C/man2/ioctl_list.2:696
11637 #, no-wrap
11638 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11639 msgstr "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11640
11641 #. type: tbl table
11642 #: build/C/man2/ioctl_list.2:697
11643 #, no-wrap
11644 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11645 msgstr "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11646
11647 #. type: tbl table
11648 #: build/C/man2/ioctl_list.2:698
11649 #, no-wrap
11650 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11651 msgstr "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11652
11653 #. type: tbl table
11654 #: build/C/man2/ioctl_list.2:699
11655 #, no-wrap
11656 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11657 msgstr "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11658
11659 #. type: tbl table
11660 #: build/C/man2/ioctl_list.2:700
11661 #, no-wrap
11662 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11663 msgstr "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11664
11665 #. type: tbl table
11666 #: build/C/man2/ioctl_list.2:701
11667 #, no-wrap
11668 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11669 msgstr "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11670
11671 #. type: tbl table
11672 #: build/C/man2/ioctl_list.2:702
11673 #, no-wrap
11674 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11675 msgstr "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11676
11677 #. type: tbl table
11678 #: build/C/man2/ioctl_list.2:703
11679 #, no-wrap
11680 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11681 msgstr "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11682
11683 #. type: tbl table
11684 #: build/C/man2/ioctl_list.2:704
11685 #, no-wrap
11686 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11687 msgstr "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11688
11689 #. type: tbl table
11690 #: build/C/man2/ioctl_list.2:705
11691 #, no-wrap
11692 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11693 msgstr "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11694
11695 #. type: tbl table
11696 #: build/C/man2/ioctl_list.2:706
11697 #, no-wrap
11698 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11699 msgstr "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11700
11701 #. type: tbl table
11702 #: build/C/man2/ioctl_list.2:707
11703 #, no-wrap
11704 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11705 msgstr "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11706
11707 #. type: tbl table
11708 #: build/C/man2/ioctl_list.2:708
11709 #, no-wrap
11710 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11711 msgstr "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11712
11713 #. type: tbl table
11714 #: build/C/man2/ioctl_list.2:709
11715 #, no-wrap
11716 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11717 msgstr "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11718
11719 #. type: tbl table
11720 #: build/C/man2/ioctl_list.2:710
11721 #, no-wrap
11722 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11723 msgstr "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11724
11725 #. type: tbl table
11726 #: build/C/man2/ioctl_list.2:711
11727 #, no-wrap
11728 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11729 msgstr "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11730
11731 #. type: tbl table
11732 #: build/C/man2/ioctl_list.2:715
11733 #, no-wrap
11734 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11735 msgstr "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11736
11737 #. type: tbl table
11738 #: build/C/man2/ioctl_list.2:716
11739 #, no-wrap
11740 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11741 msgstr "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11742
11743 #. type: tbl table
11744 #: build/C/man2/ioctl_list.2:717
11745 #, no-wrap
11746 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11747 msgstr "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11748
11749 #. type: tbl table
11750 #: build/C/man2/ioctl_list.2:718
11751 #, no-wrap
11752 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11753 msgstr "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11754
11755 #. type: tbl table
11756 #: build/C/man2/ioctl_list.2:719
11757 #, no-wrap
11758 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11759 msgstr "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11760
11761 #. type: tbl table
11762 #: build/C/man2/ioctl_list.2:720
11763 #, no-wrap
11764 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11765 msgstr "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11766
11767 #. type: tbl table
11768 #: build/C/man2/ioctl_list.2:721
11769 #, no-wrap
11770 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11771 msgstr "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11772
11773 #. type: tbl table
11774 #: build/C/man2/ioctl_list.2:722
11775 #, no-wrap
11776 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11777 msgstr "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11778
11779 #. type: tbl table
11780 #: build/C/man2/ioctl_list.2:723
11781 #, no-wrap
11782 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11783 msgstr "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11784
11785 #. type: tbl table
11786 #: build/C/man2/ioctl_list.2:724
11787 #, no-wrap
11788 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11789 msgstr "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11790
11791 #. type: tbl table
11792 #: build/C/man2/ioctl_list.2:725
11793 #, no-wrap
11794 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11795 msgstr "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11796
11797 #. type: tbl table
11798 #: build/C/man2/ioctl_list.2:726
11799 #, no-wrap
11800 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11801 msgstr "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11802
11803 #. type: tbl table
11804 #: build/C/man2/ioctl_list.2:727
11805 #, no-wrap
11806 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11807 msgstr "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11808
11809 #. type: tbl table
11810 #: build/C/man2/ioctl_list.2:728
11811 #, no-wrap
11812 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11813 msgstr "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11814
11815 #. type: tbl table
11816 #: build/C/man2/ioctl_list.2:729
11817 #, no-wrap
11818 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11819 msgstr "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11820
11821 #. type: tbl table
11822 #: build/C/man2/ioctl_list.2:730
11823 #, no-wrap
11824 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11825 msgstr "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11826
11827 #. type: tbl table
11828 #: build/C/man2/ioctl_list.2:731
11829 #, no-wrap
11830 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11831 msgstr "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11832
11833 #. type: tbl table
11834 #: build/C/man2/ioctl_list.2:732
11835 #, no-wrap
11836 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11837 msgstr "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11838
11839 #. type: tbl table
11840 #: build/C/man2/ioctl_list.2:733
11841 #, no-wrap
11842 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11843 msgstr "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11844
11845 #. type: tbl table
11846 #: build/C/man2/ioctl_list.2:734
11847 #, no-wrap
11848 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11849 msgstr "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11850
11851 #. type: tbl table
11852 #: build/C/man2/ioctl_list.2:735
11853 #, no-wrap
11854 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11855 msgstr "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11856
11857 #. type: Plain text
11858 #: build/C/man2/ioctl_list.2:739
11859 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
11860 msgstr "// E<lt>include/linux/umsdos_fs.hE<gt>"
11861
11862 #. type: tbl table
11863 #: build/C/man2/ioctl_list.2:741
11864 #, no-wrap
11865 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11866 msgstr "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11867
11868 #. type: tbl table
11869 #: build/C/man2/ioctl_list.2:742
11870 #, no-wrap
11871 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11872 msgstr "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11873
11874 #. type: tbl table
11875 #: build/C/man2/ioctl_list.2:743
11876 #, no-wrap
11877 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11878 msgstr "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11879
11880 #. type: tbl table
11881 #: build/C/man2/ioctl_list.2:744
11882 #, no-wrap
11883 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11884 msgstr "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11885
11886 #. type: tbl table
11887 #: build/C/man2/ioctl_list.2:745
11888 #, no-wrap
11889 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11890 msgstr "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11891
11892 #. type: tbl table
11893 #: build/C/man2/ioctl_list.2:746
11894 #, no-wrap
11895 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11896 msgstr "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11897
11898 #. type: tbl table
11899 #: build/C/man2/ioctl_list.2:747
11900 #, no-wrap
11901 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11902 msgstr "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11903
11904 #. type: tbl table
11905 #: build/C/man2/ioctl_list.2:748
11906 #, no-wrap
11907 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11908 msgstr "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11909
11910 #. type: tbl table
11911 #: build/C/man2/ioctl_list.2:749
11912 #, no-wrap
11913 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11914 msgstr "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11915
11916 #. type: tbl table
11917 #: build/C/man2/ioctl_list.2:750
11918 #, no-wrap
11919 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11920 msgstr "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11921
11922 #. type: tbl table
11923 #: build/C/man2/ioctl_list.2:751
11924 #, no-wrap
11925 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11926 msgstr "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11927
11928 #. type: Plain text
11929 #: build/C/man2/ioctl_list.2:755
11930 msgid "// E<lt>include/linux/vt.hE<gt>"
11931 msgstr "// E<lt>include/linux/vt.hE<gt>"
11932
11933 #. type: tbl table
11934 #: build/C/man2/ioctl_list.2:757
11935 #, no-wrap
11936 msgid "0x00005600\tVT_OPENQRY\tint *\n"
11937 msgstr "0x00005600\tVT_OPENQRY\tint *\n"
11938
11939 #. type: tbl table
11940 #: build/C/man2/ioctl_list.2:758
11941 #, no-wrap
11942 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11943 msgstr "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11944
11945 #. type: tbl table
11946 #: build/C/man2/ioctl_list.2:759
11947 #, no-wrap
11948 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11949 msgstr "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11950
11951 #. type: tbl table
11952 #: build/C/man2/ioctl_list.2:760
11953 #, no-wrap
11954 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11955 msgstr "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11956
11957 #. type: tbl table
11958 #: build/C/man2/ioctl_list.2:761
11959 #, no-wrap
11960 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
11961 msgstr "0x00005604\tVT_SENDSIG\tvoid\n"
11962
11963 #. type: tbl table
11964 #: build/C/man2/ioctl_list.2:762
11965 #, no-wrap
11966 msgid "0x00005605\tVT_RELDISP\tint\n"
11967 msgstr "0x00005605\tVT_RELDISP\tint\n"
11968
11969 #. type: tbl table
11970 #: build/C/man2/ioctl_list.2:763
11971 #, no-wrap
11972 msgid "0x00005606\tVT_ACTIVATE\tint\n"
11973 msgstr "0x00005606\tVT_ACTIVATE\tint\n"
11974
11975 #. type: tbl table
11976 #: build/C/man2/ioctl_list.2:764
11977 #, no-wrap
11978 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
11979 msgstr "0x00005607\tVT_WAITACTIVE\tint\n"
11980
11981 #. type: tbl table
11982 #: build/C/man2/ioctl_list.2:765
11983 #, no-wrap
11984 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
11985 msgstr "0x00005608\tVT_DISALLOCATE\tint\n"
11986
11987 #. type: tbl table
11988 #: build/C/man2/ioctl_list.2:766
11989 #, no-wrap
11990 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11991 msgstr "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11992
11993 #. type: tbl table
11994 #: build/C/man2/ioctl_list.2:767
11995 #, no-wrap
11996 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11997 msgstr "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11998
11999 #. type: Plain text
12000 #: build/C/man2/ioctl_list.2:774
12001 msgid "// More arguments.  Some ioctl's take a pointer to a structure which contains additional pointers.  These are documented here in alphabetical order."
12002 msgstr "// More arguments.  いくつかの ioctl は追加のポインタを含む構造体へのポインタを使用します。 ここでこれらをアルファベット順に説明します。"
12003
12004 #. type: Plain text
12005 #: build/C/man2/ioctl_list.2:782
12006 msgid "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ *>.  The I<buf> field points to an output buffer of length I<nframes\\ * CD_FRAMESIZE_RAW>."
12007 msgstr "B<CDROMREADAUDIO> は入力ポインタ I<const struct cdrom_read_audio\\ *> を使用します。 I<buf> フィールドは大きさ I<nframes\\ * CD_FRAMESIZE_RAW> の出力バッファーへのポインタです。"
12008
12009 #. type: Plain text
12010 #: build/C/man2/ioctl_list.2:798
12011 msgid "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They use the same pointer as an output pointer to I<char []>.  The length varies by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical value 2048)."
12012 msgstr "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, B<CDROMREADRAW> は入力ポインタ I<const struct cdrom_msf\\ *> を使用します。これらは同じポインタを I<char []> への出力ポインタとして使用します。 長さは要求によって変化します。 B<CDROMREADMODE1> には、多くのデバイスが CD_FRAMESIZE を使用しますが、光学記憶装置 (光ディスク) のドライバは OPT_BLOCKSIZE を使用します (どちらも同じ値で 2048 です)。"
12013
12014 #. type: Plain text
12015 #: build/C/man2/ioctl_list.2:804
12016 #, no-wrap
12017 msgid ""
12018 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
12019 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12020 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12021 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12022 msgstr ""
12023 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
12024 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12025 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12026 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12027
12028 #. type: Plain text
12029 #: build/C/man2/ioctl_list.2:818
12030 msgid "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  The I<ifr_data> field is a pointer to another structure as follows:"
12031 msgstr "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, B<EQL_GETMASTERCFG>, B<EQL_SETMASTERCFG> は I<struct ifreq\\ *> を使用します。 I<ifr_data> フィールドは以下に示す別の構造体へのポインタです:"
12032
12033 #. type: Plain text
12034 #: build/C/man2/ioctl_list.2:826
12035 #, no-wrap
12036 msgid ""
12037 "    EQL_ENSLAVE         const struct slaving_request *\n"
12038 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12039 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12040 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12041 "    EQL_GETMASTERCFG    struct master_config *\n"
12042 "    EQL_SETMASTERCFG    const struct master_config *\n"
12043 msgstr ""
12044 "    EQL_ENSLAVE         const struct slaving_request *\n"
12045 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12046 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12047 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12048 "    EQL_GETMASTERCFG    struct master_config *\n"
12049 "    EQL_SETMASTERCFG    const struct master_config *\n"
12050
12051 #. type: Plain text
12052 #: build/C/man2/ioctl_list.2:843
12053 msgid "B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an output buffer of length I<length>."
12054 msgstr "B<FDRAWCMD> は I<struct floppy raw_cmd\\ *> を使用します。 I<flags & FD_RAW_WRITE> がゼロ以外の場合、 I<data> は大きさ I<length> の入力バッファーへのポインタになります。 I<flags & FD_RAW_READ> がゼロ以外の場合、 I<data> は大きさ I<length> の出力バッファーへのポインタになります。"
12055
12056 #. type: Plain text
12057 #: build/C/man2/ioctl_list.2:859
12058 msgid "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to a buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> and an input buffer for B<PIO_FONTX>."
12059 msgstr "B<GIO_FONTX>, B<PIO_FONTX> はそれぞれ I<struct console_font_desc\\ *> と I<const struct console_font_desc\\ *> を使用します。 I<chardata> は I<char [charcount]> バッファーへのポインタです。 これは B<GIO_FONTX> の出力バッファーと B<PIO_FONTX> の入力バッファーです。"
12060
12061 #. type: Plain text
12062 #: build/C/man2/ioctl_list.2:875
12063 msgid "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> and an input buffer for B<PIO_UNIMAP>."
12064 msgstr "B<GIO_UNIMAP>, B<PIO_UNIMAP> はそれぞれ I<struct unimapdesc\\ *> と I<const struct unimapdesc\\ *> を使用します。 I<entries> は I<struct unipair [entry_ct]> バッファーへのポインタです。 これは B<GIO_UNIMAP> の出力バッファーと B<PIO_UNIMAP> の入力バッファーです。"
12065
12066 #. type: Plain text
12067 #: build/C/man2/ioctl_list.2:879
12068 msgid "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O ports.  They are essentially alternate interfaces to 'ioperm'."
12069 msgstr "KDADDIO, KDDELIO, KDDISABIO, KDENABIO は I/O ポートへのアクセスを 可能/不可能にします。これらは本質的に、'ioperm' への別の インターフェースです。"
12070
12071 #. type: Plain text
12072 #: build/C/man2/ioctl_list.2:885
12073 msgid "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O port access.  They are not implemented in the kernel."
12074 msgstr "B<KDMAPDISP>, B<KDUNMAPDISP> はメモリマッピングや I/O ポートへのアクセスを可能/不可能にします。 これらはカーネルに実装されていません。"
12075
12076 #. type: Plain text
12077 #: build/C/man2/ioctl_list.2:893
12078 msgid "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a length.  It uses the same pointer as an output pointer to a I<char []> buffer of this length."
12079 msgstr "B<SCSI_IOCTL_PROBE_HOST> は入力ポインタ I<const int\\ *> を大きさとして使用します。これは同じ大きさの I<char []> バッファー への出力ポインタとしても使用します。"
12080
12081 #. type: Plain text
12082 #: build/C/man2/ioctl_list.2:899
12083 msgid "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on the protocol:"
12084 msgstr "B<SIOCADDRT>, B<SIOCDELRT> は型が以下のプロトコルに依存する入力ポインタを使用します:"
12085
12086 #. type: Plain text
12087 #: build/C/man2/ioctl_list.2:904
12088 #, no-wrap
12089 msgid ""
12090 "    Most protocols      const struct rtentry *\n"
12091 "    AX.25               const struct ax25_route *\n"
12092 "    NET/ROM             const struct nr_route_struct *\n"
12093 msgstr ""
12094 "    Most protocols      const struct rtentry *\n"
12095 "    AX.25               const struct ax25_route *\n"
12096 "    NET/ROM             const struct nr_route_struct *\n"
12097
12098 #. type: Plain text
12099 #: build/C/man2/ioctl_list.2:915
12100 msgid "B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to a buffer of length I<ifc_len> bytes, into which the kernel writes a list of type I<struct ifreq []>."
12101 msgstr "B<SIOCGIFCONF> は I<struct ifconf\\ *> を使用します。この I<ifc_buf> フィールドは長さ I<ifc_len> バイトのバッファーへのポインタです。 これにカーネルが I<struct ifreq []> 型のリストへ書き込みます。"
12102
12103 #. type: Plain text
12104 #: build/C/man2/ioctl_list.2:918
12105 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12106 msgstr "B<SIOCSIFHWADDR> は型が以下のプロトコルに依存する入力ポインタを使用します:"
12107
12108 #. type: Plain text
12109 #: build/C/man2/ioctl_list.2:922
12110 #, no-wrap
12111 msgid ""
12112 "    Most protocols      const struct ifreq *\n"
12113 "    AX.25               const char [AX25_ADDR_LEN]\n"
12114 msgstr ""
12115 "    Most protocols      const struct ifreq *\n"
12116 "    AX.25               const char [AX25_ADDR_LEN]\n"
12117
12118 #. type: Plain text
12119 #: build/C/man2/ioctl_list.2:937
12120 msgid "B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several independent subcases.  In the table below, I<N + foo> means I<foo> after an N-byte pad.  I<struct selection> is implicitly defined in I<drivers/char/selection.c>"
12121 msgstr "B<TIOCLINUX> は I<const char\\ *> を使用します。このポインタをいくつかの 独立したサブクラスを識別する為に使用します。以下のテーブルの中で、 I<N + foo> は N バイトの詰めものの後にある I<foo> を意味します。 I<struct selection> は暗黙的に I<drivers/char/selection.c> の中で定義されています。"
12122
12123 #. type: Plain text
12124 #: build/C/man2/ioctl_list.2:946
12125 #, no-wrap
12126 msgid ""
12127 "    TIOCLINUX-2         1 + const struct selection *\n"
12128 "    TIOCLINUX-3         void\n"
12129 "    TIOCLINUX-4         void\n"
12130 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12131 "    TIOCLINUX-6         char *\n"
12132 "    TIOCLINUX-7         char *\n"
12133 "    TIOCLINUX-10        1 + const char *\n"
12134 msgstr ""
12135 "    TIOCLINUX-2         1 + const struct selection *\n"
12136 "    TIOCLINUX-3         void\n"
12137 "    TIOCLINUX-4         void\n"
12138 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12139 "    TIOCLINUX-6         char *\n"
12140 "    TIOCLINUX-7         char *\n"
12141 "    TIOCLINUX-10        1 + const char *\n"
12142
12143 #. type: Plain text
12144 #: build/C/man2/ioctl_list.2:949
12145 msgid "// Duplicate ioctls"
12146 msgstr "// Duplicate ioctls"
12147
12148 #. type: Plain text
12149 #: build/C/man2/ioctl_list.2:954
12150 msgid "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and B<SIOCPROTOPRIVATE>."
12151 msgstr "このリストは B<SIOCDEVPRIVATE> から B<SIOCPROTOPRIVATE> の範囲の ioctl を含んでいません。"
12152
12153 #. type: tbl table
12154 #: build/C/man2/ioctl_list.2:956
12155 #, no-wrap
12156 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12157 msgstr "0x00000001\tFDSETPRM\tFIBMAP\n"
12158
12159 #. type: tbl table
12160 #: build/C/man2/ioctl_list.2:957
12161 #, no-wrap
12162 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12163 msgstr "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12164
12165 #. type: tbl table
12166 #: build/C/man2/ioctl_list.2:958
12167 #, no-wrap
12168 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12169 msgstr "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12170
12171 #. type: tbl table
12172 #: build/C/man2/ioctl_list.2:959
12173 #, no-wrap
12174 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12175 msgstr "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12176
12177 #. type: tbl table
12178 #: build/C/man2/ioctl_list.2:960
12179 #, no-wrap
12180 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12181 msgstr "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12182
12183 #. type: tbl table
12184 #: build/C/man2/ioctl_list.2:961
12185 #, no-wrap
12186 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12187 msgstr "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12188
12189 #. type: Plain text
12190 #: build/C/man2/ioctl_list.2:965
12191 msgid "B<ioctl>(2)"
12192 msgstr "B<ioctl>(2)"
12193
12194 #. type: TH
12195 #: build/C/man2/ioperm.2:34
12196 #, no-wrap
12197 msgid "IOPERM"
12198 msgstr "IOPERM"
12199
12200 #. type: Plain text
12201 #: build/C/man2/ioperm.2:37
12202 msgid "ioperm - set port input/output permissions"
12203 msgstr "ioperm - ポートの入出力許可を設定する"
12204
12205 #. type: Plain text
12206 #: build/C/man2/ioperm.2:40
12207 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12208 msgstr "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12209
12210 #. type: Plain text
12211 #: build/C/man2/ioperm.2:42
12212 msgid "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int >I<turn_on>B<);>"
12213 msgstr "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int >I<turn_on>B<);>"
12214
12215 #. type: Plain text
12216 #: build/C/man2/ioperm.2:56
12217 msgid "B<ioperm>()  sets the port access permission bits for the calling thread for I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, then permission for the specified bits is enabled; otherwise it is disabled.  If I<turn_on> is nonzero, the calling thread must be privileged (B<CAP_SYS_RAWIO>)."
12218 msgstr "B<ioperm>()  は、引き数 I<from> の I/O ポートアドレスから I<num> ビット分の領域に対する、呼び出し元スレッドのアクセス許可ビットを設定する。 I<turn_on> が 0 以外の場合、指定されたビットに対応する許可が有効になる。 I<turn_on> が 0 以外の場合、呼び出し元プロセスは特権 (B<CAP_SYS_RAWIO>)  を持っていなければならない。"
12219
12220 #. type: Plain text
12221 #: build/C/man2/ioperm.2:65
12222 msgid "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in this manner.  For more ports, the B<iopl>(2)  system call had to be used (with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be specified."
12223 msgstr "Linux 2.6.8 より前のバージョンでは、この方法で設定できるのは 0x3ff 番地までの I/Oポートに限られていた。これよりも大きなアドレスのポートに対しては B<iopl>(2) 関数を使わなければならなかった。Linux 2.6.8 以降では、65,536 個の I/O ポートを指定できる。"
12224
12225 #. type: Plain text
12226 #: build/C/man2/ioperm.2:75
12227 msgid "Permissions are not inherited by the child created by B<fork>(2); following a B<fork>(2)  the child must turn on those permissions that it needs.  Permissions are preserved across B<execve>(2); this is useful for giving port access permissions to unprivileged programs."
12228 msgstr "アクセス権は B<fork>(2)  で作成された子プロセスには継承されない。子プロセスでは、B<fork>(2) の後で必要なアクセス権を有効にしなければならない。 B<execve>(2)  の前後でアクセス権は保存される。この機能は 非特権プログラムにポートへのアクセス権を 与えるのに使用できる。"
12229
12230 #. type: Plain text
12231 #: build/C/man2/ioperm.2:79
12232 msgid "This call is mostly for the i386 architecture.  On many other architectures it does not exist or will always return an error."
12233 msgstr "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
12234
12235 #. type: Plain text
12236 #: build/C/man2/ioperm.2:91
12237 msgid "Invalid values for I<from> or I<num>."
12238 msgstr "I<from> または I<num> の値が不正である。"
12239
12240 #. type: Plain text
12241 #: build/C/man2/ioperm.2:94
12242 msgid "(on PowerPC) This call is not supported."
12243 msgstr "(PowerPC で) このシステムコールはサポートしていない。"
12244
12245 #.  Could not allocate I/O bitmap.
12246 #. type: Plain text
12247 #: build/C/man2/ioperm.2:98
12248 msgid "Out of memory."
12249 msgstr "メモリ不足。"
12250
12251 #. type: Plain text
12252 #: build/C/man2/ioperm.2:101
12253 msgid "The calling thread has insufficient privilege."
12254 msgstr "呼び出し元スレッドに十分な権限がなかった。"
12255
12256 #. type: Plain text
12257 #: build/C/man2/ioperm.2:105
12258 msgid "B<ioperm>()  is Linux-specific and should not be used in programs intended to be portable."
12259 msgstr "B<ioperm>()  は Linux 特有の関数であり、移植を意図したプログラムで 使用してはならない。"
12260
12261 #. type: Plain text
12262 #: build/C/man2/ioperm.2:109
12263 msgid "The I</proc/ioports> file shows the I/O ports that are currently allocated on the system."
12264 msgstr "I</proc/ioports> ファイルには、現在このシステムに割り当てられている I/O ポートが表示される。"
12265
12266 #. type: Plain text
12267 #: build/C/man2/ioperm.2:117
12268 msgid "Glibc has an B<ioperm>()  prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it is available on i386 only."
12269 msgstr "glibc2 には I<E<lt>sys/io.hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方に B<ioperm>() のプロトタイプがある。 後者は i386 のみで利用可能なので、使用すべきではない。"
12270
12271 #. type: Plain text
12272 #: build/C/man2/ioperm.2:121
12273 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12274 msgstr "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12275
12276 #. type: TH
12277 #: build/C/man3/lockf.3:28
12278 #, no-wrap
12279 msgid "LOCKF"
12280 msgstr "LOCKF"
12281
12282 #. type: TH
12283 #: build/C/man3/lockf.3:28
12284 #, no-wrap
12285 msgid "2014-06-13"
12286 msgstr "2014-06-13"
12287
12288 #. type: Plain text
12289 #: build/C/man3/lockf.3:31
12290 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12291 msgstr "lockf - オープンされたファイルに対する POSIX ロックの適用・テスト・解除を行う"
12292
12293 #. type: Plain text
12294 #: build/C/man3/lockf.3:35
12295 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12296 msgstr "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12297
12298 #. type: Plain text
12299 #: build/C/man3/lockf.3:42
12300 msgid "B<lockf>():"
12301 msgstr "B<lockf>():"
12302
12303 #. type: Plain text
12304 #: build/C/man3/lockf.3:46
12305 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12306 msgstr "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12307
12308 #. type: Plain text
12309 #: build/C/man3/lockf.3:69
12310 msgid "Apply, test or remove a POSIX lock on a section of an open file.  The file is specified by I<fd>, a file descriptor open for writing, the action by I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, where I<pos> is the current file position, and if I<len> is zero, the section extends from the current file position to infinity, encompassing the present and future end-of-file positions.  In all cases, the section may extend past current end-of-file."
12311 msgstr "オープンされたファイルのセクションに対して、 POSIX ロックの適用・テスト・解除をする。 ファイルは I<fd> で指定される。 I<fd> は書き込みのためにオープンしたファイルディスクリプターである。 アクションは I<cmd> で指定される。 I<pos> を現在のファイル位置とすると、 I<len> が正の場合、セクションはバイト位置 I<pos>..I<pos>+I<len>-1 となり、 I<len> が負の場合、セクションはバイト位置 I<pos>-I<len>..I<pos>-1 となる。 I<len> が 0 の場合、セクションは現在のファイル位置から無限大までとなる (つまり現在の、あるいは変更された場合は将来の、ファイル終端位置まで)。 どの場合においても、セクションは以前のファイル終端よりも拡大されうる。"
12312
12313 #. type: Plain text
12314 #: build/C/man3/lockf.3:84
12315 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."
12316 msgstr "Linux では、 B<lockf>()  は単に B<fcntl>(2)  のロックへのインターフェースである。 多くの他のシステムで B<lockf>()  はこのように実装されているが、 POSIX.1-2001 では B<lockf>()  と B<fcntl>(2)  のロックとの関係は規定されていない。 おそらく、移植性が必要なアプリケーションでは、 B<lockf>()  と B<fcntl>(2)  のロックを混ぜて呼び出すのは避けるべきであろう。"
12317
12318 #. type: Plain text
12319 #: build/C/man3/lockf.3:86
12320 msgid "Valid operations are given below:"
12321 msgstr "有効なオプションを以下に挙げる。"
12322
12323 #. type: TP
12324 #: build/C/man3/lockf.3:86
12325 #, no-wrap
12326 msgid "B<F_LOCK>"
12327 msgstr "B<F_LOCK>"
12328
12329 #. type: Plain text
12330 #: build/C/man3/lockf.3:96
12331 msgid "Set an exclusive lock on the specified section of the file.  If (part of) this section is already locked, the call blocks until the previous lock is released.  If this section overlaps an earlier locked section, both are merged.  File locks are released as soon as the process holding the locks closes some file descriptor for the file.  A child process does not inherit these locks."
12332 msgstr "ファイルの指定されたセクションに排他ロックを設定する。 そのセクション (の一部) が既にロックされていた場合、 前のロックが解除されるまで関数の呼び出しがブロックされる。 このセクションが前にロックされているセクションと重なった場合、 2 つのセクションは結合される。 ロックを保持しているプロセスが、 そのファイルのファイルディスクリプターをクローズすると、 ファイルロックは解放される。 子プロセスはロックを継承しない。"
12333
12334 #. type: TP
12335 #: build/C/man3/lockf.3:96
12336 #, no-wrap
12337 msgid "B<F_TLOCK>"
12338 msgstr "B<F_TLOCK>"
12339
12340 #. type: Plain text
12341 #: build/C/man3/lockf.3:102
12342 msgid "Same as B<F_LOCK> but the call never blocks and returns an error instead if the file is already locked."
12343 msgstr "B<F_LOCK> と同様であるが、ファイルが既にロックされている場合、 関数の呼び出しはブロックを行わずにエラーを返す。"
12344
12345 #. type: TP
12346 #: build/C/man3/lockf.3:102
12347 #, no-wrap
12348 msgid "B<F_ULOCK>"
12349 msgstr "B<F_ULOCK>"
12350
12351 #. type: Plain text
12352 #: build/C/man3/lockf.3:106
12353 msgid "Unlock the indicated section of the file.  This may cause a locked section to be split into two locked sections."
12354 msgstr "ファイルの指定されたセクションのロックを解除する。 これによりロックされたセクションが 2 つに分割されるかもしれない。"
12355
12356 #. type: TP
12357 #: build/C/man3/lockf.3:106
12358 #, no-wrap
12359 msgid "B<F_TEST>"
12360 msgstr "B<F_TEST>"
12361
12362 #. type: Plain text
12363 #: build/C/man3/lockf.3:116
12364 msgid "Test the lock: return 0 if the specified section is unlocked or locked by this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other systems), if another process holds a lock."
12365 msgstr "次のようにロックのテストをする。 指定されたセクションがロックされていないか、 このプロセスによりロックされている場合、0 を返す。 他のプロセスがロックを保持している場合、-1 を返し、 I<errno> を B<EAGAIN> (いくつかの他のシステムでは B<EACCES>)  に設定する。"
12366
12367 #. type: Plain text
12368 #: build/C/man3/lockf.3:130
12369 msgid "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the operation is prohibited because the file has been memory-mapped by another process."
12370 msgstr "ロックされたファイルに対して、 B<F_TLOCK> または B<F_TEST> が指定されている。 または、ファイルが他のプロセスによりメモリーマップされており、 指定された操作が禁止されている。"
12371
12372 #. type: Plain text
12373 #: build/C/man3/lockf.3:142
12374 msgid "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> and I<fd> is not a writable file descriptor."
12375 msgstr "I<fd> がオープンされたファイルのディスクリプターではない。 または、 I<cmd> が B<F_LOCK> か B<F_TLOCK> で、 I<fd> が書き込み可能なファイルディスクリプターでない。"
12376
12377 #. type: Plain text
12378 #: build/C/man3/lockf.3:147
12379 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12380 msgstr "コマンドが B<F_LOCK> であり、このロック操作を行うとデッドロックが発生してしまう。"
12381
12382 #. type: Plain text
12383 #: build/C/man3/lockf.3:151
12384 msgid "An invalid operation was specified in I<cmd>."
12385 msgstr "I<cmd> に無効な操作が指定された。"
12386
12387 #. type: Plain text
12388 #: build/C/man3/lockf.3:154
12389 msgid "Too many segment locks open, lock table is full."
12390 msgstr "非常に多くのセグメントロックが開かれ、ロックテーブルが一杯である。"
12391
12392 #. type: Plain text
12393 #: build/C/man3/lockf.3:159
12394 msgid "The B<lockf>()  function is thread-safe."
12395 msgstr "B<lockf>() 関数はスレッドセーフである。"
12396
12397 #. type: Plain text
12398 #: build/C/man3/lockf.3:161
12399 msgid "SVr4, POSIX.1-2001."
12400 msgstr "SVr4, POSIX.1-2001."
12401
12402 #. type: Plain text
12403 #: build/C/man3/lockf.3:164
12404 msgid "B<fcntl>(2), B<flock>(2)"
12405 msgstr "B<fcntl>(2), B<flock>(2)"
12406
12407 #. type: Plain text
12408 #: build/C/man3/lockf.3:176
12409 msgid "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source directory I<Documentation/filesystems> (on older kernels, these files are directly under the I<Documentation> directory, and I<mandatory-locking.txt> is called I<mandatory.txt>)"
12410 msgstr "Linux カーネルソースの I<Documentation/filesystems> ディレクトリにある I<locks.txt> と I<mandatory-locking.txt> (以前のカーネルでは、これらのファイルは I<Documentation> ディレクトリ直下にあり、 I<mandatory-locking.txt> は I<mandatory.txt> という名前であった。)"
12411
12412 #. type: TH
12413 #: build/C/man2/mincore.2:34
12414 #, no-wrap
12415 msgid "MINCORE"
12416 msgstr "MINCORE"
12417
12418 #. type: TH
12419 #: build/C/man2/mincore.2:34
12420 #, no-wrap
12421 msgid "2008-04-22"
12422 msgstr "2008-04-22"
12423
12424 #. type: Plain text
12425 #: build/C/man2/mincore.2:37
12426 msgid "mincore - determine whether pages are resident in memory"
12427 msgstr "mincore - ページがメモリ内にあるかどうかを判定する"
12428
12429 #. type: Plain text
12430 #: build/C/man2/mincore.2:41
12431 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12432 msgstr "B<#include E<lt>sys/mman.hE<gt>>"
12433
12434 #. type: Plain text
12435 #: build/C/man2/mincore.2:43
12436 msgid "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char *>I<vec>B<);>"
12437 msgstr "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char *>I<vec>B<);>"
12438
12439 #. type: Plain text
12440 #: build/C/man2/mincore.2:51
12441 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12442 msgstr "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12443
12444 #. type: Plain text
12445 #: build/C/man2/mincore.2:62
12446 msgid "B<mincore>()  returns a vector that indicates whether pages of the calling process's virtual memory are resident in core (RAM), and so will not cause a disk access (page fault) if referenced.  The kernel returns residency information about the pages starting at the address I<addr>, and continuing for I<length> bytes."
12447 msgstr "B<mincore>()  は、呼び出し元プロセスの仮想メモリのページがコア (RAM) 内に存在し、 ページ参照時にディスクアクセス (ページフォールト) を起こさないか どうかを示すベクトルを返す。カーネルは、アドレス I<addr> から始まる I<length> バイトの範囲のページに関する存在情報を返す。"
12448
12449 #. type: Plain text
12450 #: build/C/man2/mincore.2:76
12451 msgid "The I<addr> argument must be a multiple of the system page size.  The I<length> argument need not be a multiple of the page size, but since residency information is returned for whole pages, I<length> is effectively rounded up to the next multiple of the page size.  One may obtain the page size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12452 msgstr "I<addr> 引き数はシステムのページサイズの倍数でなければならない。 I<length> 引き数はページサイズの倍数である必要はないが、 ページ全体に関する存在情報が返されるので、事実上 I<length> はページサイズの倍数に切り上げられることになる。 ページサイズ (B<PAGE_SIZE>)  は I<sysconf(_SC_PAGESIZE)> を使って入手できる。"
12453
12454 #. type: Plain text
12455 #: build/C/man2/mincore.2:94
12456 msgid "The I<vec> argument must point to an array containing at least I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant bit of each byte will be set if the corresponding page is currently resident in memory, and be clear otherwise.  (The settings of the other bits in each byte are undefined; these bits are reserved for possible later use.)  Of course the information returned in I<vec> is only a snapshot: pages that are not locked in memory can come and go at any moment, and the contents of I<vec> may already be stale by the time this call returns."
12457 msgstr "I<vec> 引き数は、少なくとも I<(length+PAGE_SIZE-1) / PAGE_SIZE> バイトが格納できる配列を指していなければならない。 この呼び出しが返るとき、 各バイトの最下位ビットは、対応するページがメモリ内にそのとき存在すれば セットされ、そうでない場合はクリアされる (各バイトのその他のビットは未定義であり、これらのビットは将来の使用に そなえて予約されている)。 もちろん、 I<vec> で返された情報はスナップショットでしかない。 メモリ内にロックされていないページは、任意の時点でメモリ内に 入ったり出たりでき、この呼び出しが返るときには I<vec> の内容はすでに古くなっているかもしれない。"
12458
12459 #. type: Plain text
12460 #: build/C/man2/mincore.2:101
12461 msgid "On success, B<mincore>()  returns zero.  On error, -1 is returned, and I<errno> is set appropriately."
12462 msgstr "成功した場合、 B<mincore>()  は 0 を返す。 エラーの場合は -1 を返して、 I<errno> を適切な値に設定する。"
12463
12464 #. type: Plain text
12465 #: build/C/man2/mincore.2:104
12466 msgid "B<EAGAIN> kernel is temporarily out of resources."
12467 msgstr "B<EAGAIN> カーネルが一時的にリソースを使い果たしている。"
12468
12469 #. type: Plain text
12470 #: build/C/man2/mincore.2:108
12471 msgid "I<vec> points to an invalid address."
12472 msgstr "I<vec> が無効なアドレスを指している。"
12473
12474 #. type: Plain text
12475 #: build/C/man2/mincore.2:112
12476 msgid "I<addr> is not a multiple of the page size."
12477 msgstr "I<addr> がページサイズの倍数でない。"
12478
12479 #. type: Plain text
12480 #: build/C/man2/mincore.2:124
12481 msgid "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a negative value is specified for I<length>, since that value will be interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the error B<EINVAL> was returned for this condition."
12482 msgstr "I<length> が (I<TASK_SIZE> - I<addr>)  より大きい。 (I<length> に負の値が指定された場合、 その値が大きな符号なし整数として解釈されるために起こることがある。)  Linux 2.6.11 以前では、この条件の場合はエラー B<EINVAL> が返されていた。"
12483
12484 #. type: Plain text
12485 #: build/C/man2/mincore.2:132
12486 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
12487 msgstr "I<addr> から I<addr> + I<length> の間にマップされていないメモリがあった。"
12488
12489 #. type: Plain text
12490 #: build/C/man2/mincore.2:134
12491 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
12492 msgstr "Linux 2.3.99pre1 と glibc 2.2 から利用可能である。"
12493
12494 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
12495 #.  AIX 5.1, SunOS 4.1
12496 #.  .SH HISTORY
12497 #.  The
12498 #.  .BR mincore ()
12499 #.  function first appeared in 4.4BSD.
12500 #. type: Plain text
12501 #: build/C/man2/mincore.2:144
12502 msgid "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on all UNIX implementations."
12503 msgstr "B<mincore>()  は POSIX.1-2001 に記述されておらず、 全ての UNIX 実装で利用可能であるわけではない。"
12504
12505 #.  Linux (up to now, 2.6.5),
12506 #.  .B mincore
12507 #.  does not return correct information for MAP_PRIVATE mappings:
12508 #.  for a MAP_PRIVATE file mapping,
12509 #.  .B mincore
12510 #.  returns the residency of the file pages, rather than any
12511 #.  modified process-private pages that have been copied on write;
12512 #.  for a MAP_PRIVATE mapping of
12513 #.  .IR /dev/zero ,
12514 #.  .B mincore
12515 #.  always reports pages as nonresident;
12516 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
12517 #.  .B mincore
12518 #.  always fails with the error
12519 #.  .BR ENOMEM .
12520 #. type: Plain text
12521 #: build/C/man2/mincore.2:166
12522 msgid "Before kernel 2.6.21, B<mincore>()  did not return correct information for B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using B<remap_file_pages>(2))."
12523 msgstr "カーネル 2.6.21 より前は、 B<mincore>()  は、 B<MAP_PRIVATE> マッピングや非線形マッピング (B<remap_file_pages>(2)  を使って作成される) について正しい情報を返さなかった。"
12524
12525 #. type: Plain text
12526 #: build/C/man2/mincore.2:169
12527 msgid "B<mlock>(2), B<mmap>(2)"
12528 msgstr "B<mlock>(2), B<mmap>(2)"
12529
12530 #. type: TH
12531 #: build/C/man2/mkdir.2:11
12532 #, no-wrap
12533 msgid "MKDIR"
12534 msgstr "MKDIR"
12535
12536 #. type: Plain text
12537 #: build/C/man2/mkdir.2:14
12538 msgid "mkdir, mkdirat - create a directory"
12539 msgstr "mkdir, mkdirat - ディレクトリを作成する"
12540
12541 #.  .B #include <unistd.h>
12542 #. type: Plain text
12543 #: build/C/man2/mkdir.2:19
12544 #, no-wrap
12545 msgid ""
12546 "B<#include E<lt>sys/stat.hE<gt>>\n"
12547 "B<#include E<lt>sys/types.hE<gt>>\n"
12548 msgstr ""
12549 "B<#include E<lt>sys/stat.hE<gt>>\n"
12550 "B<#include E<lt>sys/types.hE<gt>>\n"
12551
12552 #. type: Plain text
12553 #: build/C/man2/mkdir.2:21
12554 #, no-wrap
12555 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12556 msgstr "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12557
12558 #. type: Plain text
12559 #: build/C/man2/mkdir.2:24
12560 #, no-wrap
12561 msgid ""
12562 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
12563 "B<#include E<lt>sys/stat.hE<gt>>\n"
12564 msgstr ""
12565 "B<#include E<lt>fcntl.hE<gt>           >/* AT_* 定数の定義 */\n"
12566 "B<#include E<lt>sys/stat.hE<gt>>\n"
12567
12568 #. type: Plain text
12569 #: build/C/man2/mkdir.2:26
12570 #, no-wrap
12571 msgid "B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12572 msgstr "B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12573
12574 #. type: Plain text
12575 #: build/C/man2/mkdir.2:34
12576 msgid "B<mkdirat>():"
12577 msgstr "B<mkdirat>():"
12578
12579 #. type: Plain text
12580 #: build/C/man2/mkdir.2:51
12581 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
12582 msgstr "B<mkdir>()  は I<pathname> で示される名前のディレクトリを作成しようとする。"
12583
12584 #. type: Plain text
12585 #: build/C/man2/mkdir.2:61
12586 msgid "The argument I<mode> specifies the permissions to use.  It is modified by the process's I<umask> in the usual way: the permissions of the created directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created directory depend on the operating system.  For Linux, see below."
12587 msgstr "I<mode> 引き数は、作成されたディレクトリの許可属性を決定するのに使われる。 この値に、通常通りプロセスの I<umask> による修正が加えられる。 したがって、作成されたディレクトリの許可属性は (I<mode> & ~I<umask> & 0777)  となる。 作成されたディレクトリのその他のモードビットはオペレーティングシステムに 依存する。Linux の場合は、以下の通りである。"
12588
12589 #. type: Plain text
12590 #: build/C/man2/mkdir.2:71
12591 msgid "The newly created directory will be owned by the effective user ID of the process.  If the directory containing the file has the set-group-ID bit set, or if the filesystem is mounted with BSD group semantics (I<mount -o bsdgroups> or, synonymously I<mount -o grpid>), the new directory will inherit the group ownership from its parent; otherwise it will be owned by the effective group ID of the process."
12592 msgstr "新しく作成されたディレクトリの所有者はプロセスの実効ユーザー ID に設定される。 新たに作成されたディレクトリが含まれる親ディレクトリに set group ID ビットがセットされていたり、ファイルシステムが BSD の グループセマンティクス (I<mount -o bsdgroups> あるいは、同じ意味の I<mount -o grpid>)  に従ってマウントされている場合には、 新たに作成されたディレクトリのグループ所有権は親ディレクトリの ものが継承される (親ディレクトリと同じになる)。 それ以外の場合は、グループ所有権はプロセスの実効グループ ID となる。"
12593
12594 #. type: Plain text
12595 #: build/C/man2/mkdir.2:76
12596 msgid "If the parent directory has the set-group-ID bit set, then so will the newly created directory."
12597 msgstr "もし親ディレクトリに set group ID ビットがセットされていれば新しく作成される ディレクトリにも set group ID ビットがセットされる。"
12598
12599 #. type: SS
12600 #: build/C/man2/mkdir.2:76
12601 #, no-wrap
12602 msgid "mkdirat()"
12603 msgstr "mkdirat()"
12604
12605 #. type: Plain text
12606 #: build/C/man2/mkdir.2:82
12607 msgid "The B<mkdirat>()  system call operates in exactly the same way as B<mkdir>(), except for the differences described here."
12608 msgstr "B<mkdirat>() システムコールは B<mkdir>() と全く同様に動作するが、以下で説明する点が異なる。"
12609
12610 #. type: Plain text
12611 #: build/C/man2/mkdir.2:92
12612 msgid "If the pathname given in I<pathname> is relative, then it is interpreted relative to the directory referred to by the file descriptor I<dirfd> (rather than relative to the current working directory of the calling process, as is done by B<mkdir>()  for a relative pathname)."
12613 msgstr "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<mkdir>() に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。"
12614
12615 #. type: Plain text
12616 #: build/C/man2/mkdir.2:104
12617 msgid "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current working directory of the calling process (like B<mkdir>())."
12618 msgstr "I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 (B<mkdir>() と同様に) I<pathname> は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。"
12619
12620 #. type: Plain text
12621 #: build/C/man2/mkdir.2:115
12622 msgid "See B<openat>(2)  for an explanation of the need for B<mkdirat>()."
12623 msgstr "B<mkdirat>() の必要性についての説明については B<openat>(2) を参照。"
12624
12625 #. type: Plain text
12626 #: build/C/man2/mkdir.2:122
12627 msgid "B<mkdir>()  and B<mkdirat>()  return zero on success, or -1 if an error occurred (in which case, I<errno> is set appropriately)."
12628 msgstr "B<mkdir>() と B<mkdirat>() は成功した場合 0 を、失敗した場合 -1 を返す (また、 I<errno> がエラーの内容にしたがって適切に設定される)。"
12629
12630 #. type: Plain text
12631 #: build/C/man2/mkdir.2:131
12632 msgid "The parent directory does not allow write permission to the process, or one of the directories in I<pathname> did not allow search permission.  (See also B<path_resolution>(7).)"
12633 msgstr "プロセスが親ディレクトリへの書き込み許可を持たない、もしくは I<pathname> 中のディレクトリのどれかに検索許可属性が無い (B<path_resolution>(7)  も参照)。"
12634
12635 #. type: TP
12636 #: build/C/man2/mkdir.2:131
12637 #, no-wrap
12638 msgid "B<EDQUOT>"
12639 msgstr "B<EDQUOT>"
12640
12641 #. type: Plain text
12642 #: build/C/man2/mkdir.2:135
12643 msgid "The user's quota of disk blocks or inodes on the filesystem has been exhausted."
12644 msgstr "ディスクブロックか inode がそのファイルシステムのユーザークォータに達していた。"
12645
12646 #. type: TP
12647 #: build/C/man2/mkdir.2:135
12648 #, no-wrap
12649 msgid "B<EEXIST>"
12650 msgstr "B<EEXIST>"
12651
12652 #. type: Plain text
12653 #: build/C/man2/mkdir.2:142
12654 msgid "I<pathname> already exists (not necessarily as a directory).  This includes the case where I<pathname> is a symbolic link, dangling or not."
12655 msgstr "I<pathname> が既に存在している(ただしそれがディレクトリであるとは限らない)。 I<pathname> がシンボリックリンクの場合も (その指定先が存在するかどうかに関らず)エラーになる。"
12656
12657 #. type: TP
12658 #: build/C/man2/mkdir.2:149
12659 #, no-wrap
12660 msgid "B<EMLINK>"
12661 msgstr "B<EMLINK>"
12662
12663 #. type: Plain text
12664 #: build/C/man2/mkdir.2:153
12665 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
12666 msgstr "親ディレクトリへのリンク数が B<LINK_MAX> を超えてしまう。"
12667
12668 #. type: Plain text
12669 #: build/C/man2/mkdir.2:156
12670 msgid "I<pathname> was too long."
12671 msgstr "I<pathname> が長すぎる。"
12672
12673 #. type: Plain text
12674 #: build/C/man2/mkdir.2:161
12675 msgid "A directory component in I<pathname> does not exist or is a dangling symbolic link."
12676 msgstr "I<pathname> の構成要素のディレクトリのいずれかが存在しないか、 またはリンク先が存在しないシンボリックリンクである。"
12677
12678 #. type: TP
12679 #: build/C/man2/mkdir.2:164 build/C/man2/mkdir.2:169
12680 #, no-wrap
12681 msgid "B<ENOSPC>"
12682 msgstr "B<ENOSPC>"
12683
12684 #. type: Plain text
12685 #: build/C/man2/mkdir.2:169
12686 msgid "The device containing I<pathname> has no room for the new directory."
12687 msgstr "I<pathname> を含むデバイスに新たにディレクトリを作成する空きが無い。"
12688
12689 #. type: Plain text
12690 #: build/C/man2/mkdir.2:173
12691 msgid "The new directory cannot be created because the user's disk quota is exhausted."
12692 msgstr "もしくはユーザーのディスク quota が使い切られているため、 新たにディレクトリを作成することができない。"
12693
12694 #. type: Plain text
12695 #: build/C/man2/mkdir.2:183
12696 msgid "The filesystem containing I<pathname> does not support the creation of directories."
12697 msgstr "I<pathname> を含むファイルシステムがディレクトリの作成をサポートしていない。"
12698
12699 #. type: Plain text
12700 #: build/C/man2/mkdir.2:187
12701 msgid "I<pathname> refers to a file on a read-only filesystem."
12702 msgstr "I<pathname> が読み出し専用ファイルシステム上のファイルを指している。"
12703
12704 #. type: Plain text
12705 #: build/C/man2/mkdir.2:190
12706 msgid "The following additional errors can occur for B<mkdirat>():"
12707 msgstr "B<mkdirat>() では以下のエラーも発生する。"
12708
12709 #. type: Plain text
12710 #: build/C/man2/mkdir.2:204
12711 msgid "B<mkdirat>()  was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4."
12712 msgstr "B<mkdirat>()  はカーネル 2.6.16 で Linux に追加された。 ライブラリによるサポートはバージョン 2.4 で glibc に追加された。"
12713
12714 #.  SVr4 documents additional EIO, EMULTIHOP
12715 #. type: Plain text
12716 #: build/C/man2/mkdir.2:208
12717 msgid "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
12718 msgstr "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
12719
12720 #. type: Plain text
12721 #: build/C/man2/mkdir.2:211
12722 msgid "B<mkdirat>(): POSIX.1-2008."
12723 msgstr "B<mkdirat>(): POSIX.1-2008."
12724
12725 #. type: Plain text
12726 #: build/C/man2/mkdir.2:219
12727 msgid "Under Linux, apart from the permission bits, only the B<S_ISVTX> mode bit is honored.  That is, under Linux the created directory actually gets mode (I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
12728 msgstr "Linux では、許可ビット以外で意味を持つのは、 B<S_ISVTX> モードビットだけである。 つまり、Linux では作成されたディレクトリは実際には (I<mode> & ~I<umask> & 01777)  のモードを持つことになる。 B<stat>(2)  を参照のこと。"
12729
12730 #. type: Plain text
12731 #: build/C/man2/mkdir.2:223
12732 msgid "There are many infelicities in the protocol underlying NFS.  Some of these affect B<mkdir>()."
12733 msgstr "NFS を実現しているプロトコルには多くの不備が存在し、 それら中には B<mkdir>()  に影響を与えるものもある。"
12734
12735 #. type: Plain text
12736 #: build/C/man2/mkdir.2:236
12737 msgid "On older kernels where B<mkdirat>()  is unavailable, the glibc wrapper function falls back to the use of B<mkdir>().  When I<pathname> is a relative pathname, glibc constructs a pathname based on the symbolic link in I</proc/self/fd> that corresponds to the I<dirfd> argument."
12738 msgstr "B<mkdirat>() が利用できない古いカーネルでは、 glibc ラッパー関数は B<mkdir>() を使用するモードにフォールバックする。 I<pathname> が相対パスの場合、 glibc は I<dirfd> 引き数に対応する I</proc/self/fd> のシンボリックリンクに基づいてパス名を構成する。"
12739
12740 #. type: Plain text
12741 #: build/C/man2/mkdir.2:247
12742 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)"
12743 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)"
12744
12745 #. type: TH
12746 #: build/C/man2/nice.2:31
12747 #, no-wrap
12748 msgid "NICE"
12749 msgstr "NICE"
12750
12751 #. type: TH
12752 #: build/C/man2/nice.2:31
12753 #, no-wrap
12754 msgid "2014-04-28"
12755 msgstr "2014-04-28"
12756
12757 #. type: Plain text
12758 #: build/C/man2/nice.2:34
12759 msgid "nice - change process priority"
12760 msgstr "nice - プロセスの優先度を変更する"
12761
12762 #. type: Plain text
12763 #: build/C/man2/nice.2:38
12764 msgid "B<int nice(int >I<inc>B<);>"
12765 msgstr "B<int nice(int >I<inc>B<);>"
12766
12767 #. type: Plain text
12768 #: build/C/man2/nice.2:46
12769 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12770 msgstr "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12771
12772 #. type: Plain text
12773 #: build/C/man2/nice.2:56
12774 msgid "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher nice value means a low priority.)  Only the super\\%user may specify a negative increment, or priority increase.  The range for nice values is described in B<getpriority>(2)."
12775 msgstr "B<nice>()  は I<inc> の値を B<nice> を呼んだプロセスの nice 値に加える (nice 値が大きい数値ほど低い優先度を表す)。 負の数を指定する、つまり、以前よりも優先度を上げるという指定ができるのは スーパーユーザーだけである。 nice 値の範囲については B<getpriority>(2)  で説明されている。"
12776
12777 #. type: Plain text
12778 #: build/C/man2/nice.2:61
12779 msgid "On success, the new nice value is returned (but see NOTES below).  On error, -1 is returned, and I<errno> is set appropriately."
12780 msgstr "成功した場合、新しい nice 値が返る (但し、下記の「注意」を参照)。 失敗した場合 -1 が返り、 I<errno> がエラーの内容に従って設定される。"
12781
12782 #. type: Plain text
12783 #: build/C/man2/nice.2:75
12784 msgid "The calling process attempted to increase its priority by supplying a negative I<inc> but has insufficient privileges.  Under Linux, the B<CAP_SYS_NICE> capability is required.  (But see the discussion of the B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
12785 msgstr "スーパーユーザー以外が I<inc> に負の数値を指定して優先度を上げようとした。 呼び出し元のプロセスが I<inc> に負の数値を指定して優先度を上げようとしたが、 十分な権限を持っていなかった。 Linux では B<CAP_SYS_NICE> ケーパビリティが必要である。 (B<setrlimit>(2)  のリソース上限 B<RLIMIT_NICE> に関する議論も参照のこと)。"
12786
12787 #. type: Plain text
12788 #: build/C/man2/nice.2:82
12789 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."
12790 msgstr "SVr4, 4.3BSD, POSIX.1-2001.  しかし、Linux と (2.2.4より古い) (g)libc では返り値は標準と異なる。 詳細は以下を参照のこと。 SVr4 には他に B<EINVAL> エラーコードについての記述がある。"
12791
12792 #. type: Plain text
12793 #: build/C/man2/nice.2:92
12794 msgid "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice value.  However, the Linux syscall and the B<nice>()  library function provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on success.  The new nice value can be found using B<getpriority>(2)."
12795 msgstr "SUSv2 と POSIX 1003.1-2003 では、 B<nice>()  は新しい nice 値を返すと規定されている。 一方、Linux システムコールと (2.2.4 より古い) (g)libc ライブラリ関数は 成功時に 0 を返す。新しい nice 値は B<getpriority>(2)  を使って取得できる。"
12796
12797 #. type: Plain text
12798 #: build/C/man2/nice.2:105
12799 msgid "Since glibc 2.2.4, B<nice>()  is implemented as a library function that calls B<getpriority>(2)  to obtain the new nice value to be returned to the caller.  With this implementation, a successful call can legitimately return -1.  To reliably detect an error, set I<errno> to 0 before the call, and check its value when B<nice>()  returns -1."
12800 msgstr "glibc 2.2.4 以降では、 B<nice>()  は B<getpriority>(2)  を呼び出すライブラリ関数として実装されており、 呼び出し元に返す新しい nice 値を B<getpriority>(2)  を呼び出して取得するようになっている。 この実装では、正常な動作でも -1 が返される可能性がある。 確実にエラーを検出するためには、 呼び出しの前に I<errno> に 0 を設定し、 B<nice>()  が -1 を返したときに errno をチェックすると良い。"
12801
12802 #. type: Plain text
12803 #: build/C/man2/nice.2:113
12804 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
12805 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
12806
12807 #. type: TH
12808 #: build/C/man2/pread.2:25
12809 #, no-wrap
12810 msgid "PREAD"
12811 msgstr "PREAD"
12812
12813 #. type: Plain text
12814 #: build/C/man2/pread.2:28
12815 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
12816 msgstr "pread, pwrite - 指定したオフセットでファイルディスクリプターを読み書きする"
12817
12818 #. type: Plain text
12819 #: build/C/man2/pread.2:33
12820 msgid "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t >I<offset>B<);>"
12821 msgstr "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t >I<offset>B<);>"
12822
12823 #. type: Plain text
12824 #: build/C/man2/pread.2:36
12825 msgid "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, off_t >I<offset>B<);>"
12826 msgstr "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, off_t >I<offset>B<);>"
12827
12828 #. type: Plain text
12829 #: build/C/man2/pread.2:46
12830 msgid "B<pread>(), B<pwrite>():"
12831 msgstr "B<pread>(), B<pwrite>():"
12832
12833 #. type: Plain text
12834 #: build/C/man2/pread.2:48
12835 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12836 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12837
12838 #. type: Plain text
12839 #: build/C/man2/pread.2:64
12840 msgid "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset I<offset> (from the start of the file) into the buffer starting at I<buf>.  The file offset is not changed."
12841 msgstr "B<pread>()  は、ファイルディスクリプター I<fd> の (ファイルの先頭からの) オフセット I<offset> から最大 I<count> バイトをバッファー I<buf> へ読み込む。ファイルオフセットは変化しない。"
12842
12843 #. type: Plain text
12844 #: build/C/man2/pread.2:75
12845 msgid "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> to the file descriptor I<fd> at offset I<offset>.  The file offset is not changed."
12846 msgstr "B<pwrite>()  は、バッファー I<buf> から最大 I<count> バイトをファイルディスクリプター I<fd> のオフセット I<offset> に書き込む。ファイルオフセットは変化しない。"
12847
12848 #. type: Plain text
12849 #: build/C/man2/pread.2:79
12850 msgid "The file referenced by I<fd> must be capable of seeking."
12851 msgstr "I<fd> で参照されるファイルはシーク (seek) 可能でなければならない。"
12852
12853 #. type: Plain text
12854 #: build/C/man2/pread.2:89
12855 msgid "On success, the number of bytes read or written is returned (zero indicates that nothing was written, in the case of B<pwrite>(), or end of file, in the case of B<pread>()), or -1 on error, in which case I<errno> is set to indicate the error."
12856 msgstr "成功した場合、読み書きを行ったバイト数が返される (ゼロは、 B<pwrite>()  の場合には何も書かれなかったことを意味し、 B<pread>()  の場合にはファイル の末尾に達したことを意味する)。 エラーの場合は -1 が返され、 I<errno> がそのエラーを示すように設定される。"
12857
12858 #. type: Plain text
12859 #: build/C/man2/pread.2:104
12860 msgid "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error specified for B<write>(2)  or B<lseek>(2)."
12861 msgstr "B<pread>()  では、 B<read>(2)  および B<lseek>(2)  で規定された全てのエラーが発生する可能性があり、 I<errno> にはエラーを示す値が設定される。 B<pwrite>()  では、 B<write>(2)  および B<lseek>(2)  で規定された全てのエラーが発生する可能性があり、 I<errno> にはエラーを示す値が設定される。"
12862
12863 #. type: Plain text
12864 #: build/C/man2/pread.2:115
12865 msgid "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version 2.1.60; the entries in the i386 system call table were added in 2.1.69.  C library support (including emulation using B<lseek>(2)  on older kernels without the system calls) was added in glibc 2.1."
12866 msgstr "システムコール B<pread>()  と B<pwrite>()  は Linux にバージョン 2.1.60 で追加された。 i386 のシステムコールのエントリは 2.1.69 で追加された。 (システムコールを持たない古いカーネルでの B<lseek>(2)  を使ったエミュレーションを含めると)  C ライブラリにおけるサポートは glibc 2.1 で追加された。"
12867
12868 #. type: Plain text
12869 #: build/C/man2/pread.2:125
12870 msgid "The B<pread>()  and B<pwrite>()  system calls are especially useful in multithreaded applications.  They allow multiple threads to perform I/O on the same file descriptor without being affected by changes to the file offset by other threads."
12871 msgstr "システムコール B<pread>() と B<pwrite>() は、特にマルチスレッドアプリケーションで役に立つ。 これらを使うと、 他のスレッドによるファイルオフセットの変更の影響を受けることなく、 複数のスレッドが同じファイルディスクリプターに対して入出力を行うことができる。"
12872
12873 #. type: Plain text
12874 #: build/C/man2/pread.2:141
12875 msgid "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper functions transparently deal with the change."
12876 msgstr ""
12877 "Linux では、裏で呼び出されるシステムコールの名前がカーネル 2.6 で変更された。\n"
12878 "B<pread>() は B<pread64>() になり、 B<pwrite>() は B<pwrite64>() になった。\n"
12879 "システムコールの番号は変更されていない。\n"
12880 "glibc の B<pread>() と B<pwrite>() のラッパー関数はこれらの変更を吸収している。"
12881
12882 #. type: Plain text
12883 #: build/C/man2/pread.2:146 build/C/man2/truncate.2:253
12884 msgid "On some 32-bit architectures, the calling signature for these system calls differ, for the reasons described in B<syscall>(2)."
12885 msgstr "いくつかの 32 ビットアーキテクチャでは、これらのシステムコールの呼び出し時のシグネチャーが違っています。理由は B<syscall>(2) で説明されている通りです。"
12886
12887 #.  FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=43178
12888 #. type: Plain text
12889 #: build/C/man2/pread.2:158
12890 msgid "POSIX requires that opening a file with the B<O_APPEND> flag should have no effect on the location at which B<pwrite>()  writes data.  However, on Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to the end of the file, regardless of the value of I<offset>."
12891 msgstr ""
12892 "POSIX では、B<O_APPEND> フラグを指定してファイルをオープンした場合、\n"
12893 "B<pwrite>() がデータを書き込む位置に影響を及ぼさないことが\n"
12894 "求められている。しかし、 Linux では、ファイルを B<O_APPEND> 付きで\n"
12895 "オープンした場合、 I<offset> の値に関わらず、\n"
12896 "B<pwrite>() はファイルの末尾にデータを追記する。"
12897
12898 #. type: Plain text
12899 #: build/C/man2/pread.2:163
12900 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
12901 msgstr "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
12902
12903 #. type: TH
12904 #: build/C/man2/set_thread_area.2:8
12905 #, no-wrap
12906 msgid "SET_THREAD_AREA"
12907 msgstr "SET_THREAD_AREA"
12908
12909 #. type: Plain text
12910 #: build/C/man2/set_thread_area.2:11
12911 msgid "set_thread_area - set a thread local storage (TLS) area"
12912 msgstr "set_thread_area - スレッド局所記憶 (TLS) 領域を設定する"
12913
12914 #. type: Plain text
12915 #: build/C/man2/set_thread_area.2:17
12916 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
12917 msgstr "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
12918
12919 #. type: Plain text
12920 #: build/C/man2/set_thread_area.2:33
12921 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."
12922 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 配列にコピーする。"
12923
12924 #. type: Plain text
12925 #: build/C/man2/set_thread_area.2:44
12926 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."
12927 msgstr "I<entry_number> として -1 が渡された場合、 B<set_thread_area>()  は未使用 (free) の TLS エントリを使用する。 未使用の TLS エントリがあった場合、どのエントリが変更されたかが分かる ように終了時に I<u_info-E<gt>entry_number> の値が変更される。"
12928
12929 #. type: Plain text
12930 #: build/C/man2/set_thread_area.2:49
12931 msgid "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> set appropriately."
12932 msgstr "B<set_thread_area>()  は成功した場合 0 を返す。失敗した場合は -1 を返し、 I<errno> を適切に設定する。"
12933
12934 #. type: TP
12935 #: build/C/man2/set_thread_area.2:56
12936 #, no-wrap
12937 msgid "B<ESRCH>"
12938 msgstr "B<ESRCH>"
12939
12940 #. type: Plain text
12941 #: build/C/man2/set_thread_area.2:59
12942 msgid "A free TLS entry could not be located."
12943 msgstr "未使用の TLS エントリが見つからなかった。"
12944
12945 #. type: Plain text
12946 #: build/C/man2/set_thread_area.2:63
12947 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
12948 msgstr "B<set_thread_area>()  は Linux 2.5.29 で初めて登場した。"
12949
12950 #. type: Plain text
12951 #: build/C/man2/set_thread_area.2:67
12952 msgid "B<set_thread_area>()  is Linux-specific and should not be used in programs that are intended to be portable."
12953 msgstr "B<set_thread_area>()  は Linux 独自であり、移植を意図したプログラムでは使用すべきではない。"
12954
12955 #. type: Plain text
12956 #: build/C/man2/set_thread_area.2:72
12957 msgid "Glibc does not provide a wrapper for this system call, since it is generally intended only for use by threading libraries.  In the unlikely event that you want to call it directly, use B<syscall>(2)."
12958 msgstr "このシステムコールは通常はスレッドライブラリでのみ使用されることを目的として用意されているため、 glibc はこのシステムコールに対するラッパー関数を提供していない。おそらくないと思うが、このシステムコールを直接呼び出したい場合は B<syscall>(2) を使うこと。"
12959
12960 #. type: Plain text
12961 #: build/C/man2/set_thread_area.2:74
12962 msgid "B<get_thread_area>(2)"
12963 msgstr "B<get_thread_area>(2)"
12964
12965 #. type: TH
12966 #: build/C/man2/setup.2:34
12967 #, no-wrap
12968 msgid "SETUP"
12969 msgstr "SETUP"
12970
12971 #. type: TH
12972 #: build/C/man2/setup.2:34
12973 #, no-wrap
12974 msgid "2008-12-03"
12975 msgstr "2008-12-03"
12976
12977 #. type: Plain text
12978 #: build/C/man2/setup.2:37
12979 msgid "setup - setup devices and filesystems, mount root filesystem"
12980 msgstr "setup - デバイスとファイルシステムの初期化を行い、 ルートファイルシステムのマウントを行う"
12981
12982 #. type: Plain text
12983 #: build/C/man2/setup.2:41
12984 msgid "B<int setup(void);>"
12985 msgstr "B<int setup(void);>"
12986
12987 #. type: Plain text
12988 #: build/C/man2/setup.2:47
12989 msgid "B<setup>()  is called once from within I<linux/init/main.c>.  It calls initialization functions for devices and filesystems configured into the kernel and then mounts the root filesystem."
12990 msgstr "B<setup>()  は I<linux/init/main.c> の中で一度だけ呼ばれる。 カーネル内部のデバイスとファイルシステムの初期化関数を呼び、 ルートファイルシステムのマウントを行う。"
12991
12992 #. type: Plain text
12993 #: build/C/man2/setup.2:53
12994 msgid "No user process may call B<setup>().  Any user process, even a process with superuser permission, will receive B<EPERM>."
12995 msgstr "ユーザープロセスからは B<setup>()  を呼びだすことはできない。 ユーザープロセスからのアクセスは、たとえそのプロセスが スーパーユーザー権限を持っていても B<EPERM> を受け取ることになる。"
12996
12997 #. type: Plain text
12998 #: build/C/man2/setup.2:56
12999 msgid "B<setup>()  always returns -1 for a user process."
13000 msgstr "B<setup>()  はユーザープロセスに対して常に -1 を返す。"
13001
13002 #. type: Plain text
13003 #: build/C/man2/setup.2:62
13004 msgid "Since Linux 2.1.121, no such function exists anymore."
13005 msgstr "Linux 2.1.121 以降では、もはやこの関数は存在しない。"
13006
13007 #. type: Plain text
13008 #: build/C/man2/setup.2:65
13009 msgid "This function is Linux-specific, and should not be used in programs intended to be portable, or indeed in any programs at all."
13010 msgstr "この関数は Linux に特有のものであり、移植を考慮したプログラムでは 用いるべきではない。それどころか、あらゆるプログラムで用いるべきではない。"
13011
13012 #. type: Plain text
13013 #: build/C/man2/setup.2:72
13014 msgid "The calling sequence varied: at some times B<setup>()  has had a single argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
13015 msgstr "呼び出し手続きは変化してきた。 ある時は B<setup>() は一つの引数 I<void\\ *BIOS> を取っており、またある時には I<int magic> を一つの引数として取っていた。"
13016
13017 #. type: TH
13018 #: build/C/man5/shells.5:28
13019 #, no-wrap
13020 msgid "SHELLS"
13021 msgstr "SHELLS"
13022
13023 #. type: Plain text
13024 #: build/C/man5/shells.5:31
13025 msgid "shells - pathnames of valid login shells"
13026 msgstr "shells - ログインシェルとして有効なファイルのパス名"
13027
13028 #. type: Plain text
13029 #: build/C/man5/shells.5:37
13030 msgid "I</etc/shells> is a text file which contains the full pathnames of valid login shells.  This file is consulted by B<chsh>(1)  and available to be queried by other programs."
13031 msgstr "I</etc/shells> はログインシェルとして有効なファイルのフルパスが書かれた テキストファイルである。 B<chsh>(1)  はこのファイルを参照する。 他のプログラムもこのファイルを参照できる。"
13032
13033 #. type: Plain text
13034 #: build/C/man5/shells.5:43
13035 msgid "Be aware that there are programs which consult this file to find out if a user is a normal user; for example, FTP daemons traditionally disallow access to users with shells not included in this file."
13036 msgstr "注意して欲しいのだが、プログラムによっては、 ユーザーが通常のユーザーかどうかを判断する際に、このファイルの内容を参考にすることがある。例えば FTP デーモンは、ログインシェルがこのファイルに書かれていないユーザーからのアクセスを許さないのが以前から一般的である。"
13037
13038 #. type: Plain text
13039 #: build/C/man5/shells.5:45
13040 msgid "I</etc/shells>"
13041 msgstr "I</etc/shells>"
13042
13043 #. type: Plain text
13044 #: build/C/man5/shells.5:48
13045 msgid "I</etc/shells> may contain the following paths:"
13046 msgstr "I</etc/shells> には以下のようなパスが含まれているだろう。"
13047
13048 #. type: Plain text
13049 #: build/C/man5/shells.5:51
13050 msgid "I</bin/sh>"
13051 msgstr "I</bin/sh>"
13052
13053 #. type: Plain text
13054 #: build/C/man5/shells.5:53
13055 msgid "I</bin/bash>"
13056 msgstr "I</bin/bash>"
13057
13058 #. type: Plain text
13059 #: build/C/man5/shells.5:55
13060 msgid "I</bin/csh>"
13061 msgstr "I</bin/csh>"
13062
13063 #. type: Plain text
13064 #: build/C/man5/shells.5:59
13065 msgid "B<chsh>(1), B<getusershell>(3)"
13066 msgstr "B<chsh>(1), B<getusershell>(3)"
13067
13068 #. type: TH
13069 #: build/C/man3/sleep.3:26
13070 #, no-wrap
13071 msgid "SLEEP"
13072 msgstr "SLEEP"
13073
13074 #. type: TH
13075 #: build/C/man3/sleep.3:26
13076 #, no-wrap
13077 msgid "2010-02-03"
13078 msgstr "2010-02-03"
13079
13080 #. type: Plain text
13081 #: build/C/man3/sleep.3:29
13082 msgid "sleep - sleep for the specified number of seconds"
13083 msgstr "sleep - 指定の秒数の間だけ休止する"
13084
13085 #. type: Plain text
13086 #: build/C/man3/sleep.3:34
13087 #, no-wrap
13088 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13089 msgstr "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13090
13091 #. type: Plain text
13092 #: build/C/man3/sleep.3:40
13093 msgid "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have elapsed or a signal arrives which is not ignored."
13094 msgstr "B<sleep>()  は、呼び出したスレッドを I<seconds> 秒間または無視されないシグナルが到着するまで休止する。"
13095
13096 #. type: Plain text
13097 #: build/C/man3/sleep.3:44
13098 msgid "Zero if the requested time has elapsed, or the number of seconds left to sleep, if the call was interrupted by a signal handler."
13099 msgstr "要求された時間が過ぎた場合はゼロを返す。 呼び出しがシグナルハンドラーに割り込まれた場合は、 休止の残り時間を返す。"
13100
13101 #. type: Plain text
13102 #: build/C/man3/sleep.3:55
13103 msgid "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  and B<sleep>()  is a bad idea."
13104 msgstr "B<sleep>()  は B<SIGALRM> を用いて実装されている。そのため、 B<alarm>(2)  と B<sleep>()  を混ぜて使用するのは、まずい考えである。"
13105
13106 #. type: Plain text
13107 #: build/C/man3/sleep.3:61
13108 msgid "Using B<longjmp>(3)  from a signal handler or modifying the handling of B<SIGALRM> while sleeping will cause undefined results."
13109 msgstr "休止中にシグナルハンドラーから B<longjmp>(3)  を使用することや B<SIGALRM> のハンドリングを変更することは、定義されていない結果を生む。"
13110
13111 #. type: Plain text
13112 #: build/C/man3/sleep.3:66
13113 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13114 msgstr "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13115
13116 #. type: TH
13117 #: build/C/man3/swab.3:31
13118 #, no-wrap
13119 msgid "SWAB"
13120 msgstr "SWAB"
13121
13122 #. type: TH
13123 #: build/C/man3/swab.3:31
13124 #, no-wrap
13125 msgid "2014-02-25"
13126 msgstr "2014-02-25"
13127
13128 #. type: Plain text
13129 #: build/C/man3/swab.3:34
13130 msgid "swab - swap adjacent bytes"
13131 msgstr "swab - 隣接するバイトを交換する"
13132
13133 #. type: Plain text
13134 #: build/C/man3/swab.3:38
13135 #, no-wrap
13136 msgid ""
13137 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13138 "B<#include E<lt>unistd.hE<gt>>\n"
13139 msgstr ""
13140 "B<#define _XOPEN_SOURCE>       /* feature_test_macros(7) 参照 */\n"
13141 "B<#include E<lt>unistd.hE<gt>>\n"
13142
13143 #. type: Plain text
13144 #: build/C/man3/swab.3:40
13145 #, no-wrap
13146 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13147 msgstr "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13148
13149 #. type: Plain text
13150 #: build/C/man3/swab.3:55
13151 msgid "The B<swab>()  function copies I<n> bytes from the array pointed to by I<from> to the array pointed to by I<to>, exchanging adjacent even and odd bytes.  This function is used to exchange data between machines that have different low/high byte ordering."
13152 msgstr "B<swab>()  関数は、I<from> で指された配列から I<n> バイトを I<to> で指された配列に、隣接した偶数/奇数バイトを交換しながらコピーする。 この関数は異なるバイトオーダーを持つマシン間でのデータ交換に 使用される。"
13153
13154 #. type: Plain text
13155 #: build/C/man3/swab.3:68
13156 msgid "This function does nothing when I<n> is negative.  When I<n> is positive and odd, it handles I<n-1> bytes as above, and does something unspecified with the last byte.  (In other words, I<n> should be even.)"
13157 msgstr "I<n> が負の数の場合、この関数は何もしない。 I<n> が正でかつ奇数の場合、I<n-1> バイトは上記の通り扱い、 最後のバイトについては未規定の動作をする (言い換えれば、I<n> は偶数にするべきである)。"
13158
13159 #. type: Plain text
13160 #: build/C/man3/swab.3:72
13161 msgid "The B<swab>()  function returns no value."
13162 msgstr "B<swab>()  関数は、値を返さない。"
13163
13164 #. type: Plain text
13165 #: build/C/man3/swab.3:77
13166 msgid "The B<swab>()  function is thread-safe."
13167 msgstr "B<swab>() 関数はスレッドセーフである。"
13168
13169 #. type: Plain text
13170 #: build/C/man3/swab.3:81
13171 msgid "B<bstring>(3)"
13172 msgstr "B<bstring>(3)"
13173
13174 #. type: TH
13175 #: build/C/man2/swapon.2:42
13176 #, no-wrap
13177 msgid "SWAPON"
13178 msgstr "SWAPON"
13179
13180 #. type: Plain text
13181 #: build/C/man2/swapon.2:45
13182 msgid "swapon, swapoff - start/stop swapping to file/device"
13183 msgstr "swapon, swapoff - ファイル/デバイスへのスワップを開始/停止する"
13184
13185 #. type: Plain text
13186 #: build/C/man2/swapon.2:49
13187 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13188 msgstr "B<#include E<lt>sys/swap.hE<gt>>"
13189
13190 #. type: Plain text
13191 #: build/C/man2/swapon.2:51
13192 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13193 msgstr "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13194
13195 #. type: Plain text
13196 #: build/C/man2/swapon.2:53
13197 msgid "B<int swapoff(const char *>I<path>B<);>"
13198 msgstr "B<int swapoff(const char *>I<path>B<);>"
13199
13200 #. type: Plain text
13201 #: build/C/man2/swapon.2:60
13202 msgid "B<swapon>()  sets the swap area to the file or block device specified by I<path>.  B<swapoff>()  stops swapping to the file or block device specified by I<path>."
13203 msgstr "B<swapon>()  は I<path> で指定されたファイルやブロックデバイスにスワップ領域を設定する。 B<swapoff>()  は I<path> で指定されたファイルやブロックデバイスへのスワップを停止する。"
13204
13205 #. type: Plain text
13206 #: build/C/man2/swapon.2:70
13207 msgid "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  I<swapflags> argument, the new swap area will have a higher priority than default.  The priority is encoded within I<swapflags> as:"
13208 msgstr ""
13209 "B<swapon>() の I<swapflags> 引き数に B<SWAP_FLAG_PREFER> フラグが指定された場合、\n"
13210 "新しいスワップ領域はデフォルトよりも高い優先度を持つ。\n"
13211 "優先度は以下のように変換されて I<swapflags> に指定する。"
13212
13213 #. type: Plain text
13214 #: build/C/man2/swapon.2:73
13215 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13216 msgstr "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13217
13218 #. type: Plain text
13219 #: build/C/man2/swapon.2:85
13220 msgid "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  I<swapflags> argument, freed swap pages will be discarded before they are reused, if the swap device supports the discard or trim operation.  (This may improve performance on some Solid State Devices, but often it does not.)  See also NOTES."
13221 msgstr ""
13222 "B<SWAP_FLAG_DISCARD> フラグが B<swapon>() の I<swapflags> 引き数に指定された場合、\n"
13223 "スワップデバイスが破棄 (discard) 操作や trim 操作をサポートしている場合には、\n"
13224 "解放されたスワップページは再利用される前に破棄される\n"
13225 "(これにより、SSD (Solid State Device) によっては性能が向上することがあるが、\n"
13226 "たいていは性能の向上はない)。\n"
13227 "「注意」も参照のこと。"
13228
13229 #. type: Plain text
13230 #: build/C/man2/swapon.2:89
13231 msgid "These functions may be used only by a privileged process (one having the B<CAP_SYS_ADMIN> capability)."
13232 msgstr "これらの関数は特権プロセス (B<CAP_SYS_ADMIN> ケーパビリティ (capability) を持つプロセス) のみが使用できる。"
13233
13234 #. type: SS
13235 #: build/C/man2/swapon.2:89
13236 #, no-wrap
13237 msgid "Priority"
13238 msgstr "優先度"
13239
13240 #. type: Plain text
13241 #: build/C/man2/swapon.2:94
13242 msgid "Each swap area has a priority, either high or low.  The default priority is low.  Within the low-priority areas, newer areas are even lower priority than older areas."
13243 msgstr "それぞれのスワップ領域は高 (high) と低 (low) のどちらかの優先度を持つ。 デフォルトの優先度は低である。 低い優先度の領域において、新しい領域は古い領域よりさらに低い 優先度を持つ。"
13244
13245 #. type: Plain text
13246 #: build/C/man2/swapon.2:100
13247 msgid "All priorities set with I<swapflags> are high-priority, higher than default.  They may have any nonnegative value chosen by the caller.  Higher numbers mean higher priority."
13248 msgstr "I<swapflags> が設定されたものは全て高い優先度となり、デフォルトよりも高い優先度を持つ。 使用者はそれらに負でない値が指定できる。 大きな数字は高い優先度を意味する。"
13249
13250 #. type: Plain text
13251 #: build/C/man2/swapon.2:108
13252 msgid "Swap pages are allocated from areas in priority order, highest priority first.  For areas with different priorities, a higher-priority area is exhausted before using a lower-priority area.  If two or more areas have the same priority, and it is the highest priority available, pages are allocated on a round-robin basis between them."
13253 msgstr "高い優先度の領域から順にスワップページとして使用される。 より低い優先度の領域を使用する前により高い優先度の 領域を使い切る。もし二つ以上の領域が同じ優先度を持ち、 使える中で一番高い優先度であれば、それらのページは間で ラウンドロビン方式で配分される。"
13254
13255 #. type: Plain text
13256 #: build/C/man2/swapon.2:111
13257 msgid "As of Linux 1.3.6, the kernel usually follows these rules, but there are exceptions."
13258 msgstr "Linux 1.3.6 において、カーネルは通常はこれらの規則に従っている。 しかし例外も存在している。"
13259
13260 #. type: Plain text
13261 #: build/C/man2/swapon.2:124
13262 msgid "(for B<swapon>())  The specified I<path> is already being used as a swap area."
13263 msgstr "(B<swapon>()  において) 指定された I<path> が既にスワップ領域として使用されている。"
13264
13265 #. type: Plain text
13266 #: build/C/man2/swapon.2:129
13267 msgid "The file I<path> exists, but refers neither to a regular file nor to a block device;"
13268 msgstr "ファイル I<path> は存在するが、通常のファイルもブロックデバイスも参照していない。"
13269
13270 #. type: Plain text
13271 #: build/C/man2/swapon.2:134
13272 msgid "(B<swapon>())  The indicated path does not contain a valid swap signature or resides on an in-memory filesystem such as tmpfs."
13273 msgstr "(B<swapon>()) 指定されたパスが有効なスワップの署名 (signature) を含んでいないか、tmpfs のようなインメモリファイルシステム上にある。"
13274
13275 #. type: TP
13276 #: build/C/man2/swapon.2:134
13277 #, no-wrap
13278 msgid "B<EINVAL> (since Linux 3.4)"
13279 msgstr "B<EINVAL> (Linux 3.4 以降)"
13280
13281 #. type: Plain text
13282 #: build/C/man2/swapon.2:139
13283 msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
13284 msgstr "(B<swapon>()) I<flags> に無効なフラグ値が指定された。"
13285
13286 #. type: Plain text
13287 #: build/C/man2/swapon.2:144
13288 msgid "(B<swapoff>())  I<path> is not currently a swap area."
13289 msgstr "(B<swapoff>()) I<path> が現在スワップ領域ではない。"
13290
13291 #. type: Plain text
13292 #: build/C/man2/swapon.2:152
13293 msgid "The file I<path> does not exist."
13294 msgstr "ファイル I<path> が存在しない。"
13295
13296 #. type: Plain text
13297 #: build/C/man2/swapon.2:155
13298 msgid "The system has insufficient memory to start swapping."
13299 msgstr "スワップを開始するのに十分なメモリーがシステムにない。"
13300
13301 #. type: Plain text
13302 #: build/C/man2/swapon.2:162
13303 msgid "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, the maximum number of swap files are already in use; see NOTES below."
13304 msgstr "使用者が B<CAP_SYS_ADMIN> ケーパビリティを持っていない。 もしくは、最大数のスワップファイルがすでに使用されている (下記の「注意」の節を参照)。"
13305
13306 #. type: Plain text
13307 #: build/C/man2/swapon.2:168
13308 msgid "These functions are Linux-specific and should not be used in programs intended to be portable.  The second I<swapflags> argument was introduced in Linux 1.3.2."
13309 msgstr "これらの関数は Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 二番目の I<swapflags> 引き数は Linux 1.3.2 から導入された。"
13310
13311 #. type: Plain text
13312 #: build/C/man2/swapon.2:171
13313 msgid "The partition or path must be prepared with B<mkswap>(8)."
13314 msgstr "パーティションやパスは B<mkswap>(8)  によって準備されていなければならない。"
13315
13316 #. type: Plain text
13317 #: build/C/man2/swapon.2:191
13318 msgid "There is an upper limit on the number of swap files that may be used, defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel is built with the B<CONFIG_MIGRATION> option (which reserves two swap table entries for the page migration features of B<mbind>(2)  and B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
13319 msgstr "使用できるスワップファイルの数には上限があり、その上限は カーネル定数 B<MAX_SWAPFILES> で定義される。 B<MAX_SWAPFILES> の値は、カーネル 2.4.10 より前では 8、 カーネル 2.4.10 以降では 32 である。 カーネル 2.6.18 以降では、カーネルが B<CONFIG_MIGRATION> オプションを有効にして作成された場合、 この上限が 2 少ない値 (つまり 30) となる (このカーネルでは、 B<mbind>(2)  と B<migrate_pages>(2)  のページマイグレーション機能用にスワップテーブルのエントリーが 二つ予約される)。 カーネル 2.6.32 以降では、カーネルが B<CONFIG_MEMORY_FAILURE> オプションを有効にして作成された場合、 この上限がさらに 1 少ない値となる。"
13320
13321 #.  To be precise: 2.6.35.5
13322 #. type: Plain text
13323 #: build/C/man2/swapon.2:202
13324 msgid "Discard of swap pages was introduced in kernel 2.6.29, then made conditional on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the entire swap area when B<swapon>()  is called, even if that flag bit is not set."
13325 msgstr ""
13326 "スワップページの破棄は、カーネル 2.6.29 で導入され、その後カーネル 2.6.36 で\n"
13327 "B<SWAP_FLAG_DISCARD> フラグが指定された場合にだけ実行されるようになったが、\n"
13328 "今でも、このフラグビットが指定されていない場合であっても、\n"
13329 "B<swapon> が呼び出された際にスワップ領域全体の破棄が行われる。"
13330
13331 #. type: Plain text
13332 #: build/C/man2/swapon.2:206
13333 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13334 msgstr "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13335
13336 #. type: TH
13337 #: build/C/man2/syscall.2:42
13338 #, no-wrap
13339 msgid "SYSCALL"
13340 msgstr "SYSCALL"
13341
13342 #. type: Plain text
13343 #: build/C/man2/syscall.2:45
13344 msgid "syscall - indirect system call"
13345 msgstr "syscall - 間接システムコール"
13346
13347 #. type: Plain text
13348 #: build/C/man2/syscall.2:50
13349 #, no-wrap
13350 msgid ""
13351 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
13352 "B<#include E<lt>unistd.hE<gt>>\n"
13353 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
13354 msgstr ""
13355 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
13356 "B<#include E<lt>unistd.hE<gt>>\n"
13357 "B<#include E<lt>sys/syscall.hE<gt>   >/* SYS_xxx の定義用 */\n"
13358
13359 #. type: Plain text
13360 #: build/C/man2/syscall.2:52
13361 #, no-wrap
13362 msgid "B<long syscall(long >I<number>B<, ...);>\n"
13363 msgstr "B<long syscall(long >I<number>B<, ...);>\n"
13364
13365 #. type: Plain text
13366 #: build/C/man2/syscall.2:64
13367 msgid "B<syscall>()  is a small library function that invokes the system call whose assembly language interface has the specified I<number> with the specified arguments.  Employing B<syscall>()  is useful, for example, when invoking a system call that has no wrapper function in the C library."
13368 msgstr "B<syscall>() は、システムコールを起動する小さなライブラリ関数で、 I<number> で指定されたアセンブリ言語インターフェースのシステムコールを、指定された引き数をつけて実行する。 B<syscall>() が役に立つのは、例えば C ライブラリにラッパー関数が存在しないシステムコールを呼び出したい場合である。"
13369
13370 #. type: Plain text
13371 #: build/C/man2/syscall.2:71
13372 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."
13373 msgstr "B<syscall>() は、システムコールを行う前に CPU レジスタを保存し、システムコールから返った際にレジスタを復元し、エラーが発生した場合はシステムコールが返したエラーコードを B<errno>(3) に格納する。"
13374
13375 #. type: Plain text
13376 #: build/C/man2/syscall.2:74
13377 msgid "Symbolic constants for system call numbers can be found in the header file I<E<lt>sys/syscall.hE<gt>>."
13378 msgstr "システムコールのシンボル定数は、ヘッダファイル I<E<lt>sys/syscall.hE<gt>> に書かれている。"
13379
13380 #. type: Plain text
13381 #: build/C/man2/syscall.2:80
13382 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>."
13383 msgstr "返り値は呼び出されたシステムコールによって定義される。 一般に、返り値 0 は成功を表す。 -1 はエラーを表し、エラーコードは I<errno> に入れられる。"
13384
13385 #. type: Plain text
13386 #: build/C/man2/syscall.2:84
13387 msgid "B<syscall>()  first appeared in 4BSD."
13388 msgstr "B<syscall>()  は 4BSD で最初に登場した。"
13389
13390 #. type: SS
13391 #: build/C/man2/syscall.2:84
13392 #, no-wrap
13393 msgid "Architecture-specific requirements"
13394 msgstr "アーキテクチャ固有の要件"
13395
13396 #. type: Plain text
13397 #: build/C/man2/syscall.2:95
13398 msgid "Each architecture ABI has its own requirements on how system call arguments are passed to the kernel.  For system calls that have a glibc wrapper (e.g., most system calls), glibc handles the details of copying arguments to the right registers in a manner suitable for the architecture.  However, when using B<syscall>()  to make a system call, the caller might need to handle architecture-dependent details; this requirement is most commonly encountered on certain 32-bit architectures."
13399 msgstr ""
13400 "各アーキテクチャの ABI には、 システムコールの引き数のカーネルへの渡し方に関する独自の要件がある。\n"
13401 "(ほとんどのシステムコールのように) glibc ラッパー関数があるシステムコールでは、 glibc が詳細を処理し、アーキテクチャに応じた方法で引き数が適切なレジスタにコピーされる。 しかし、 システムコールを呼び出すのに B<syscall>() を使う場合には、 呼び出し側でアーキテクチャ依存の詳細を処理しなければならない場合がある。 これはいくつかの 32 ビットアーキテクチャでは非常によくあることだ。"
13402
13403 #. type: Plain text
13404 #: build/C/man2/syscall.2:106
13405 msgid "For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value (e.g., I<long long>)  must be aligned to an even register pair.  Thus, using B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  system call would be invoked as follows on the ARM architecture with the EABI:"
13406 msgstr "例えば、ARM アーキテクチャの Embedded ABI (EABI) では、 (I<long long> などの) 64 ビット値は偶数番地のレジスタのペアに境界があっていなければならない。したがって、 glibc が提供するラッパー関数ではなく B<syscall>() を使う場合には、 B<readahead>() システムコールは ARM アーキテクチャの EABI では以下のようにして起動されることになる。"
13407
13408 #. type: Plain text
13409 #: build/C/man2/syscall.2:113
13410 #, no-wrap
13411 msgid ""
13412 "syscall(SYS_readahead, fd, 0,\n"
13413 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
13414 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
13415 "        count);\n"
13416 msgstr ""
13417 "syscall(SYS_readahead, fd, 0,\n"
13418 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
13419 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
13420 "        count);\n"
13421
13422 #. type: Plain text
13423 #: build/C/man2/syscall.2:127
13424 msgid "Since the offset argument is 64 bits, and the first argument (I<fd>)  is passed in I<r0>, the caller must manually split and align the 64-bit value so that it is passed in the I<r2>/I<r3> register pair.  That means inserting a dummy value into I<r1> (the second argument of 0)."
13425 msgstr "オフセット引き数は 64 ビットで、最初の引き数 (I<fd>) は I<r0> で渡されるので、呼び出し側では手動で 64 ビット値を分割して境界を合わせて、 64 ビット値が I<r2>/I<r3> レジスタペアで渡されるようにしなければならない。このため、 I<r1> (2 番目の引数 0) としてダミー値を挿入している。"
13426
13427 #.  Mike Frysinger: this issue ends up forcing MIPS
13428 #.  O32 to take 7 arguments to syscall()
13429 #. type: Plain text
13430 #: build/C/man2/syscall.2:132
13431 msgid "Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the 32-bit ABI, and on Xtensa."
13432 msgstr "同様のことが、 MIPS の O32 ABI、 PowerPC の 32 ビット ABI や Xtensa でも起こりうる。"
13433
13434 #. type: Plain text
13435 #: build/C/man2/syscall.2:143
13436 msgid "The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), B<sync_file_range>(2), and B<truncate64>(2)."
13437 msgstr "次のシステムコールに影響がある: B<fadvise64_64>(2), B<ftruncate64>(2), B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), B<sync_file_range>(2), B<truncate64>(2)"
13438
13439 #. type: SS
13440 #: build/C/man2/syscall.2:143
13441 #, no-wrap
13442 msgid "Architecture calling conventions"
13443 msgstr "アーキテクチャ毎の呼び出し規約"
13444
13445 #. type: Plain text
13446 #: build/C/man2/syscall.2:147
13447 msgid "Every architecture has its own way of invoking and passing arguments to the kernel.  The details for various architectures are listed in the two tables below."
13448 msgstr "各アーキテクチャには、それぞれ独自のシステムコール起動方法とカーネルへの引き数の渡し方がある。 各種のアーキテクチャの詳細を以下の 2 つの表にまとめる。"
13449
13450 #. type: Plain text
13451 #: build/C/man2/syscall.2:154
13452 msgid "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 B<vdso>(7)), the register used to indicate the system call number, and the register used to return the system call result."
13453 msgstr "最初の表は、 カーネルモードに遷移するのに使用される命令、 システムコール番号を示すのに使用されるレジスタ、 システムコールの結果を返すのに使用されるレジスタの一覧である (なお、 ここに載っているカーネルモードに遷移するのに使用される命令は、 カーネルモードに遷移する最速や最善の方法でない場合もあるので、 B<vdso>(7) を参照する必要があるかもしれない)。"
13454
13455 #. type: tbl table
13456 #: build/C/man2/syscall.2:159
13457 #, no-wrap
13458 msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
13459 msgstr "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
13460
13461 #. type: tbl table
13462 #: build/C/man2/syscall.2:161
13463 #, no-wrap
13464 msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
13465 msgstr "arm/OABI\tswi NR\t-\ta1\tNR はシステムコール番号\n"
13466
13467 #. type: tbl table
13468 #: build/C/man2/syscall.2:162
13469 #, no-wrap
13470 msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
13471 msgstr "arm/EABI\tswi 0x0\tr7\tr0\n"
13472
13473 #. type: tbl table
13474 #: build/C/man2/syscall.2:163
13475 #, no-wrap
13476 msgid "arm64\tsvc #0\tx8\tx0\n"
13477 msgstr "arm64\tsvc #0\tx8\tx0\n"
13478
13479 #. type: tbl table
13480 #: build/C/man2/syscall.2:164
13481 #, no-wrap
13482 msgid "blackfin\texcpt 0x0\tP0\tR0\n"
13483 msgstr "blackfin\texcpt 0x0\tP0\tR0\n"
13484
13485 #. type: tbl table
13486 #: build/C/man2/syscall.2:165
13487 #, no-wrap
13488 msgid "i386\tint $0x80\teax\teax\n"
13489 msgstr "i386\tint $0x80\teax\teax\n"
13490
13491 #. type: tbl table
13492 #: build/C/man2/syscall.2:166
13493 #, no-wrap
13494 msgid "ia64\tbreak 0x100000\tr15\tr8\tSee below\n"
13495 msgstr "ia64\tbreak 0x100000\tr15\tr8\t下記参照\n"
13496
13497 #. type: tbl table
13498 #: build/C/man2/syscall.2:167
13499 #, no-wrap
13500 msgid "mips\tsyscall\tv0\tv0\tSee below\n"
13501 msgstr "mips\tsyscall\tv0\tv0\t下記参照\n"
13502
13503 #. type: tbl table
13504 #: build/C/man2/syscall.2:168
13505 #, no-wrap
13506 msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
13507 msgstr "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
13508
13509 #. type: tbl table
13510 #: build/C/man2/syscall.2:169
13511 #, no-wrap
13512 msgid "s390\tsvc 0\tr1\tr2\tSee below\n"
13513 msgstr "s390\tsvc 0\tr1\tr2\t下記参照\n"
13514
13515 #. type: tbl table
13516 #: build/C/man2/syscall.2:170
13517 #, no-wrap
13518 msgid "s390x\tsvc 0\tr1\tr2\tSee below\n"
13519 msgstr "s390\tsvc 0\tr1\tr2\t下記参照\n"
13520
13521 #. type: tbl table
13522 #: build/C/man2/syscall.2:171
13523 #, no-wrap
13524 msgid "sparc/32\tt 0x10\tg1\to0\n"
13525 msgstr "sparc/32\tt 0x10\tg1\to0\n"
13526
13527 #. type: tbl table
13528 #: build/C/man2/syscall.2:172
13529 #, no-wrap
13530 msgid "sparc/64\tt 0x6d\tg1\to0\n"
13531 msgstr "sparc/64\tt 0x6d\tg1\to0\n"
13532
13533 #. type: tbl table
13534 #: build/C/man2/syscall.2:173
13535 #, no-wrap
13536 msgid "x86_64\tsyscall\trax\trax\n"
13537 msgstr "x86_64\tsyscall\trax\trax\n"
13538
13539 #. type: Plain text
13540 #: build/C/man2/syscall.2:178
13541 msgid "For s390 and s390x, NR (the system call number)  may be passed directly with \"svc NR\" if it is less than 256."
13542 msgstr "s390 と s390x では、 NR (システムコール番号) が 256 未満の場合 \"svc NR\" で NR が直接渡される場合がある。"
13543
13544 #. type: Plain text
13545 #: build/C/man2/syscall.2:186
13546 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 uses I<a3>."
13547 msgstr "少ないがいくつかのアーキテクチャーでは、 システムコールの失敗を示す単純な真偽値がレジスターを使って通知される。この用途に ia64 は I<r10> を使用し、 mips は I<a3> を使用する。"
13548
13549 #. type: Plain text
13550 #: build/C/man2/syscall.2:192
13551 msgid "The second table shows the registers used to pass the system call arguments."
13552 msgstr "2 つ目の表は、システムコールの引き数を渡すのに使用されるレジスタの一覧である。"
13553
13554 #. type: tbl table
13555 #: build/C/man2/syscall.2:197
13556 #, no-wrap
13557 msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\tNotes\n"
13558 msgstr "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\t備考\n"
13559
13560 #. type: tbl table
13561 #: build/C/man2/syscall.2:199
13562 #, no-wrap
13563 msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
13564 msgstr "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
13565
13566 #. type: tbl table
13567 #: build/C/man2/syscall.2:200
13568 #, no-wrap
13569 msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
13570 msgstr "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
13571
13572 #. type: tbl table
13573 #: build/C/man2/syscall.2:201
13574 #, no-wrap
13575 msgid "arm64\tx0\tx1\tx2\tx3\tx4\tx5\t-\n"
13576 msgstr "arm64\tx0\tx1\tx2\tx3\tx4\tx5\t-\n"
13577
13578 #. type: tbl table
13579 #: build/C/man2/syscall.2:202
13580 #, no-wrap
13581 msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
13582 msgstr "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
13583
13584 #. type: tbl table
13585 #: build/C/man2/syscall.2:203
13586 #, no-wrap
13587 msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
13588 msgstr "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
13589
13590 #. type: tbl table
13591 #: build/C/man2/syscall.2:204
13592 #, no-wrap
13593 msgid "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
13594 msgstr "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
13595
13596 #. type: tbl table
13597 #: build/C/man2/syscall.2:205
13598 #, no-wrap
13599 msgid "mips/o32\ta0\ta1\ta2\ta3\t-\t-\t-\tSee below\n"
13600 msgstr "mips/o32\ta0\ta1\ta2\ta3\t-\t-\t-\t下記参照\n"
13601
13602 #. type: tbl table
13603 #: build/C/man2/syscall.2:206
13604 #, no-wrap
13605 msgid "mips/n32,64\ta0\ta1\ta2\ta3\ta4\ta5\t-\n"
13606 msgstr "mips/n32,64\ta0\ta1\ta2\ta3\ta4\ta5\t-\n"
13607
13608 #. type: tbl table
13609 #: build/C/man2/syscall.2:207
13610 #, no-wrap
13611 msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
13612 msgstr "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
13613
13614 #. type: tbl table
13615 #: build/C/man2/syscall.2:208
13616 #, no-wrap
13617 msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13618 msgstr "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13619
13620 #. type: tbl table
13621 #: build/C/man2/syscall.2:209
13622 #, no-wrap
13623 msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13624 msgstr "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13625
13626 #. type: tbl table
13627 #: build/C/man2/syscall.2:210
13628 #, no-wrap
13629 msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
13630 msgstr "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
13631
13632 #. type: tbl table
13633 #: build/C/man2/syscall.2:211
13634 #, no-wrap
13635 msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
13636 msgstr "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
13637
13638 #. type: tbl table
13639 #: build/C/man2/syscall.2:212
13640 #, no-wrap
13641 msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
13642 msgstr "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
13643
13644 #. type: Plain text
13645 #: build/C/man2/syscall.2:217
13646 msgid "The mips/o32 system call convention passes arguments 5 through 8 on the user stack."
13647 msgstr "mips/o32 のシステムコールの規約では、 ユーザースタックに引き数を 5 個から 8 個渡す。"
13648
13649 #. type: Plain text
13650 #: build/C/man2/syscall.2:224
13651 msgid "Note that these tables don't cover the entire calling convention\\(emsome architectures may indiscriminately clobber other registers not listed here."
13652 msgstr "これらの表にはすべての呼び出し規約が記載されているわけではない点に注意すること \\(em アーキテクチャによっては、ここに記載されていない他のレジスタが見境なく上書きされる場合もある。"
13653
13654 #. type: Plain text
13655 #: build/C/man2/syscall.2:231
13656 #, no-wrap
13657 msgid ""
13658 "#define _GNU_SOURCE\n"
13659 "#include E<lt>unistd.hE<gt>\n"
13660 "#include E<lt>sys/syscall.hE<gt>\n"
13661 "#include E<lt>sys/types.hE<gt>\n"
13662 "#include E<lt>signal.hE<gt>\n"
13663 msgstr ""
13664 "#define _GNU_SOURCE\n"
13665 "#include E<lt>unistd.hE<gt>\n"
13666 "#include E<lt>sys/syscall.hE<gt>\n"
13667 "#include E<lt>sys/types.hE<gt>\n"
13668 "#include E<lt>signal.hE<gt>\n"
13669
13670 #. type: Plain text
13671 #: build/C/man2/syscall.2:236
13672 #, no-wrap
13673 msgid ""
13674 "int\n"
13675 "main(int argc, char *argv[])\n"
13676 "{\n"
13677 "    pid_t tid;\n"
13678 msgstr ""
13679 "int\n"
13680 "main(int argc, char *argv[])\n"
13681 "{\n"
13682 "    pid_t tid;\n"
13683
13684 #. type: Plain text
13685 #: build/C/man2/syscall.2:240
13686 #, no-wrap
13687 msgid ""
13688 "    tid = syscall(SYS_gettid);\n"
13689 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
13690 "}\n"
13691 msgstr ""
13692 "    tid = syscall(SYS_gettid);\n"
13693 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
13694 "}\n"
13695
13696 #. type: Plain text
13697 #: build/C/man2/syscall.2:247
13698 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<errno>(3), B<vdso>(7)"
13699 msgstr "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<errno>(3), B<vdso>(7)"
13700
13701 #. type: TH
13702 #: build/C/man2/syscalls.2:31
13703 #, no-wrap
13704 msgid "SYSCALLS"
13705 msgstr "SYSCALLS"
13706
13707 #. type: Plain text
13708 #: build/C/man2/syscalls.2:34
13709 msgid "syscalls - Linux system calls"
13710 msgstr "syscalls - Linux のシステムコール"
13711
13712 #. type: Plain text
13713 #: build/C/man2/syscalls.2:36
13714 msgid "Linux system calls."
13715 msgstr "Linux のシステムコール。"
13716
13717 #. type: Plain text
13718 #: build/C/man2/syscalls.2:39
13719 msgid "The system call is the fundamental interface between an application and the Linux kernel."
13720 msgstr "システムコールは、アプリケーションと Linux カーネルとの間の 基本的なインタフェースである。"
13721
13722 #. type: SS
13723 #: build/C/man2/syscalls.2:39
13724 #, no-wrap
13725 msgid "System calls and library wrapper functions"
13726 msgstr "システムコールとライブラリのラッパー関数"
13727
13728 #. type: Plain text
13729 #: build/C/man2/syscalls.2:49
13730 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."
13731 msgstr "システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ)  経由で起動される。 システムコールの直接起動については、詳細は B<intro>(2)  を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。 例えば、glibc には B<truncate>()  という関数があり、この関数は \"truncate\" システムコールを起動する。"
13732
13733 #. type: Plain text
13734 #: build/C/man2/syscalls.2:67
13735 msgid "Often the glibc wrapper function is quite thin, doing little work other than copying arguments to the right registers before invoking the system call, and then setting I<errno> appropriately after the system call has returned.  (These are the same steps that are performed by B<syscall>(2), which can be used to invoke system calls for which no wrapper function is provided.)  Note: system calls indicate a failure by returning a negative error number to the caller; when this happens, the wrapper function negates the returned error number (to make it positive), copies it to I<errno>, and returns -1 to the caller of the wrapper."
13736 msgstr "たいていの場合、glibc のラッパー関数はかなり簡単なもので、 システムコールを起動する前に引き数を適切なレジスタにコピーし、 システムコールが返った後は I<errno> を適切に設定する以外は、ほとんど処理を行わない (これらは、ラッパー関数が提供されていない場合に システムコールを起動するのに使用する B<syscall>(2)  により実行される処理と同じである)。 [注意] システムコールは失敗を示すのに負のエラー番号を呼び出し元に返す。 失敗が起こった際には、ラッパー関数は返されたエラー番号を反転して (正の値に変換し)、それを I<errno> にコピーし、ラッパー関数の呼び出し元に -1 を返す。"
13737
13738 #. type: Plain text
13739 #: build/C/man2/syscalls.2:79
13740 msgid "Sometimes, however, the wrapper function does some extra work before invoking the system call.  For example, nowadays there are (for reasons described below) two related system calls, B<truncate>(2)  and B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which of those system calls are provided by the kernel and determines which should be employed."
13741 msgstr "しかしながら、時には、ラッパー関数がシステムコールを起動する前に 何らかの追加の処理を行う場合がある。 例えば、現在、 二つの関連するシステムコール B<truncate>(2)  と B<truncate64>(2)  があり、glibc のラッパー関数 B<truncate>()  は、カーネルがこれらのシステムコールのうちどちらを提供しているかをチェックし、 どちらを採用するかを決定する。"
13742
13743 #. type: SS
13744 #: build/C/man2/syscalls.2:79
13745 #, no-wrap
13746 msgid "System call list"
13747 msgstr "システムコールのリスト"
13748
13749 #. type: Plain text
13750 #: build/C/man2/syscalls.2:87
13751 msgid "Below is a list of the Linux system calls.  In the list, the I<Kernel> column indicates the kernel version for those system calls that were new in Linux 2.2, or have appeared since that kernel version.  Note the following points:"
13752 msgstr "以下は Linux のシステムコールのリストである。 このリストで、 I<Kernel> の列は、Linux 2.2 以降で登場したシステムコールが 登場したカーネルバージョンを示す。 以下に詳細な説明を記す。"
13753
13754 #. type: Plain text
13755 #: build/C/man2/syscalls.2:90
13756 msgid "Where no kernel version is indicated, the system call appeared in kernel 1.0 or earlier."
13757 msgstr "カーネルバージョンがない場合、そのシステムコールは カーネル 1.0 もしくはそれ以前に登場した。"
13758
13759 #. type: Plain text
13760 #: build/C/man2/syscalls.2:96
13761 msgid "Where a system call is marked \"1.2\" this means the system call probably appeared in a 1.1.x kernel version, and first appeared in a stable kernel with 1.2.  (Development of the 1.2 kernel was initiated from a branch of kernel 1.0.6 via the 1.1.x unstable kernel series.)"
13762 msgstr "システムコールに \"1.2\" と書かれている場合、 そのシステムコールがおそらくバージョン 1.1.x のカーネルで登場し、 安定版のカーネルでは 1.2 で初めて登場したことを意味する。 (バージョン 1.2 のカーネルは、カーネル 1.0.6 から分岐し、 バージョン 1.1.x の不安定版のカーネル系列として開発された。)"
13763
13764 #.  Was kernel 2.0 started from a branch of 1.2.10?
13765 #.  At least from the timestamps of the tarballs of
13766 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
13767 #.  fact the diff doesn't seem very clear, the
13768 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
13769 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
13770 #.  timestamps of some files in 1.3.0 seem to be older
13771 #.  than those in 1.2.10.  All of this suggests
13772 #.  that there might not have been a clean branch point.
13773 #. type: Plain text
13774 #: build/C/man2/syscalls.2:112
13775 msgid "Where a system call is marked \"2.0\" this means the system call probably appeared in a 1.3.x kernel version, and first appeared in a stable kernel with 2.0.  (Development of the 2.0 kernel was initiated from a branch of kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel series.)"
13776 msgstr "システムコールに \"2.0\" と書かれている場合、 そのシステムコールがおそらくバージョン 1.3.x のカーネルで登場し、 安定版のカーネルでは 2.0 で初めて登場したことを意味する。 (バージョン 2.0 のカーネルは、バージョン 1.2.10 あたりのカーネル 1.2.x から分岐し、バージョン 1.3.x の不安定版のカーネル系列として開発された。)"
13777
13778 #. type: Plain text
13779 #: build/C/man2/syscalls.2:118
13780 msgid "Where a system call is marked \"2.2\" this means the system call probably appeared in a 2.1.x kernel version, and first appeared in a stable kernel with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of kernel 2.0.21 via the 2.1.x unstable kernel series.)"
13781 msgstr "システムコールに \"2.2\" と書かれている場合、 そのシステムコールがおそらくバージョン 2.1.x のカーネルで登場し、 安定版のカーネルでは 2.2.0 で初めて登場したことを意味する。 (バージョン 2.2 のカーネルは、カーネル 2.0.21 から分岐し、 バージョン 2.1.x の不安定版のカーネル系列として開発された。)"
13782
13783 #. type: Plain text
13784 #: build/C/man2/syscalls.2:124
13785 msgid "Where a system call is marked \"2.4\" this means the system call probably appeared in a 2.3.x kernel version, and first appeared in a stable kernel with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of kernel 2.2.8 via the 2.3.x unstable kernel series.)"
13786 msgstr "システムコールに \"2.4\" と書かれている場合、 そのシステムコールがおそらくバージョン 2.3.x のカーネルで登場し、 安定版のカーネルでは 2.4.0 で初めて登場したことを意味する。 (バージョン 2.4 のカーネルは、カーネル 2.2.8 から分岐し、 バージョン 2.3.x の不安定版のカーネル系列として開発された。)"
13787
13788 #. type: Plain text
13789 #: build/C/man2/syscalls.2:130
13790 msgid "Where a system call is marked \"2.6\" this means the system call probably appeared in a 2.5.x kernel version, and first appeared in a stable kernel with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of kernel 2.4.15 via the 2.5.x unstable kernel series.)"
13791 msgstr "システムコールに \"2.6\" と書かれている場合、 そのシステムコールがおそらくバージョン 2.5.x のカーネルで登場し、 安定版のカーネルでは 2.6.0 で初めて登場したことを意味する。 (バージョン 2.6 のカーネルは、カーネル 2.4.15 から分岐し、 バージョン 2.5.x の不安定版のカーネル系列として開発された。)"
13792
13793 #. type: Plain text
13794 #: build/C/man2/syscalls.2:137
13795 msgid "Starting with kernel 2.6.0, the development model changed, and new system calls may appear in each 2.6.x release.  In this case, the exact version number where the system call appeared is shown.  This convention continues with the 3.x kernel series, which followed on from kernel 2.6.39."
13796 msgstr ""
13797 "カーネル 2.6.0 から開発モデルは変更され、新しいシステムコールが\n"
13798 "個々の 2.6.x のリリースでも登場するようになった。\n"
13799 "その場合、このリストでは、システムコールが登場した\n"
13800 "厳密なバージョン番号が記載されている。この慣習は、カーネル 2.6.39 の\n"
13801 "後継となるバージョン 3.x 系列のカーネルでも継続されている。"
13802
13803 #. type: Plain text
13804 #: build/C/man2/syscalls.2:145
13805 msgid "In some cases, a system call was added to a stable kernel series after it branched from the previous stable kernel series, and then backported into the earlier stable kernel series.  For example some system calls that appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  When this is so, the version where the system call appeared in both of the major kernel series is listed."
13806 msgstr "前の安定版カーネル系列から分岐した後に安定版カーネル系列にシステムコール が追加された場合、以前の安定版カーネル系列にそのシステムコールが 移植 (backport) されることがある。 例えば、2.6.x で登場したシステムコールのいくつかは、 2.4.15 以降の 2.4.x リリースにも backport された。 この場合、システムコールが登場したバージョンとして、 両方の安定版系列のバージョンが記載されている。"
13807
13808 #.  Looking at scripts/checksyscalls.sh in the kernel source is
13809 #.  instructive about x86 specifics.
13810 #. type: Plain text
13811 #: build/C/man2/syscalls.2:152
13812 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:"
13813 msgstr ""
13814 "カーネル 3.15 で利用可能なシステムコールのリストを以下に示す\n"
13815 "(それ以前のカーネルでだけ利用可能なものも少数だが含まれる):"
13816
13817 #. type: tbl table
13818 #: build/C/man2/syscalls.2:157
13819 #, no-wrap
13820 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
13821 msgstr "B<System call>\tB<Kernel>\tB<Notes>\n"
13822
13823 #. type: tbl table
13824 #: build/C/man2/syscalls.2:159
13825 #, no-wrap
13826 msgid "B<_llseek>(2)\t1.2\n"
13827 msgstr "B<_llseek>(2)\t1.2\n"
13828
13829 #. type: tbl table
13830 #: build/C/man2/syscalls.2:160
13831 #, no-wrap
13832 msgid "B<_newselect>(2)\t2.0\n"
13833 msgstr "B<_newselect>(2)\t2.0\n"
13834
13835 #. type: tbl table
13836 #: build/C/man2/syscalls.2:161
13837 #, no-wrap
13838 msgid "B<_sysctl>(2)\t2.0\n"
13839 msgstr "B<_sysctl>(2)\t2.0\n"
13840
13841 #. type: tbl table
13842 #: build/C/man2/syscalls.2:162
13843 #, no-wrap
13844 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
13845 msgstr "B<accept>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
13846
13847 #. type: tbl table
13848 #: build/C/man2/syscalls.2:163
13849 #, no-wrap
13850 msgid "B<accept4>(2)\t2.6.28\n"
13851 msgstr "B<accept4>(2)\t2.6.28\n"
13852
13853 #. type: tbl table
13854 #: build/C/man2/syscalls.2:164
13855 #, no-wrap
13856 msgid "B<access>(2)\t1.0\n"
13857 msgstr "B<access>(2)\t1.0\n"
13858
13859 #. type: tbl table
13860 #: build/C/man2/syscalls.2:165
13861 #, no-wrap
13862 msgid "B<acct>(2)\t1.0\n"
13863 msgstr "B<acct>(2)\t1.0\n"
13864
13865 #. type: tbl table
13866 #: build/C/man2/syscalls.2:166
13867 #, no-wrap
13868 msgid "B<add_key>(2)\t2.6.11\n"
13869 msgstr "B<add_key>(2)\t2.6.11\n"
13870
13871 #. type: tbl table
13872 #: build/C/man2/syscalls.2:167
13873 #, no-wrap
13874 msgid "B<adjtimex>(2)\t1.0\n"
13875 msgstr "B<adjtimex>(2)\t1.0\n"
13876
13877 #. type: tbl table
13878 #: build/C/man2/syscalls.2:168
13879 #, no-wrap
13880 msgid "B<alarm>(2)\t1.0\n"
13881 msgstr "B<alarm>(2)\t1.0\n"
13882
13883 #. type: tbl table
13884 #: build/C/man2/syscalls.2:169
13885 #, no-wrap
13886 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13887 msgstr "B<alloc_hugepages>(2)\t2.5.36\t2.5.44 で削除\n"
13888
13889 #. type: tbl table
13890 #: build/C/man2/syscalls.2:170
13891 #, no-wrap
13892 msgid "B<bdflush>(2)\t1.2\tT{\n"
13893 msgstr "B<bdflush>(2)\t1.2\tT{\n"
13894
13895 #. type: tbl table
13896 #: build/C/man2/syscalls.2:171
13897 #, no-wrap
13898 msgid "Deprecated (does nothing)\n"
13899 msgstr "2.6 以降で非推奨\n"
13900
13901 #. type: tbl table
13902 #: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:185
13903 #: build/C/man2/syscalls.2:320 build/C/man2/syscalls.2:393
13904 #: build/C/man2/syscalls.2:409 build/C/man2/syscalls.2:422
13905 #, no-wrap
13906 msgid ".br\n"
13907 msgstr ".br\n"
13908
13909 #. type: tbl table
13910 #: build/C/man2/syscalls.2:173
13911 #, no-wrap
13912 msgid "since 2.6\n"
13913 msgstr "(何もしない)\n"
13914
13915 #. type: tbl table
13916 #: build/C/man2/syscalls.2:174 build/C/man2/syscalls.2:187
13917 #: build/C/man2/syscalls.2:322 build/C/man2/syscalls.2:395
13918 #: build/C/man2/syscalls.2:411 build/C/man2/syscalls.2:424
13919 #: build/C/man2/syscalls.2:601
13920 #, no-wrap
13921 msgid "T}\n"
13922 msgstr "T}\n"
13923
13924 #. type: tbl table
13925 #: build/C/man2/syscalls.2:175
13926 #, no-wrap
13927 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
13928 msgstr "B<bind>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
13929
13930 #. type: tbl table
13931 #: build/C/man2/syscalls.2:176
13932 #, no-wrap
13933 msgid "B<bpf>(2)\t3.18\n"
13934 msgstr "B<bpf>(2)\t3.18\n"
13935
13936 #. type: tbl table
13937 #: build/C/man2/syscalls.2:177
13938 #, no-wrap
13939 msgid "B<brk>(2)\t1.0\n"
13940 msgstr "B<brk>(2)\t1.0\n"
13941
13942 #. type: tbl table
13943 #: build/C/man2/syscalls.2:178
13944 #, no-wrap
13945 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
13946 msgstr "B<cacheflush>(2)\t1.2\tx86 にはない\n"
13947
13948 #. type: tbl table
13949 #: build/C/man2/syscalls.2:179
13950 #, no-wrap
13951 msgid "B<capget>(2)\t2.2\n"
13952 msgstr "B<capget>(2)\t2.2\n"
13953
13954 #. type: tbl table
13955 #: build/C/man2/syscalls.2:180
13956 #, no-wrap
13957 msgid "B<capset>(2)\t2.2\n"
13958 msgstr "B<capset>(2)\t2.2\n"
13959
13960 #. type: tbl table
13961 #: build/C/man2/syscalls.2:181
13962 #, no-wrap
13963 msgid "B<chdir>(2)\t1.0\n"
13964 msgstr "B<chdir>(2)\t1.0\n"
13965
13966 #. type: tbl table
13967 #: build/C/man2/syscalls.2:182
13968 #, no-wrap
13969 msgid "B<chmod>(2)\t1.0\n"
13970 msgstr "B<chmod>(2)\t1.0\n"
13971
13972 #. type: tbl table
13973 #: build/C/man2/syscalls.2:183
13974 #, no-wrap
13975 msgid "B<chown>(2)\t2.2\tT{\n"
13976 msgstr "B<chown>(2)\t2.2\tT{\n"
13977
13978 #. type: tbl table
13979 #: build/C/man2/syscalls.2:184 build/C/man2/syscalls.2:319
13980 #, no-wrap
13981 msgid "See B<chown>(2) for\n"
13982 msgstr "バージョン毎の詳細は\n"
13983
13984 #. type: tbl table
13985 #: build/C/man2/syscalls.2:186 build/C/man2/syscalls.2:321
13986 #, no-wrap
13987 msgid "version details\n"
13988 msgstr "B<chown>(2) を参照。\n"
13989
13990 #. type: tbl table
13991 #: build/C/man2/syscalls.2:188
13992 #, no-wrap
13993 msgid "B<chown32>(2)\t2.4\n"
13994 msgstr "B<chown32>(2)\t2.4\n"
13995
13996 #. type: tbl table
13997 #: build/C/man2/syscalls.2:189
13998 #, no-wrap
13999 msgid "B<chroot>(2)\t1.0\n"
14000 msgstr "B<chroot>(2)\t1.0\n"
14001
14002 #. type: tbl table
14003 #: build/C/man2/syscalls.2:190
14004 #, no-wrap
14005 msgid "B<clock_adjtime>(2)\t2.6.39\n"
14006 msgstr "B<clock_adjtime>(2)\t2.6.39\n"
14007
14008 #. type: tbl table
14009 #: build/C/man2/syscalls.2:191
14010 #, no-wrap
14011 msgid "B<clock_getres>(2)\t2.6\n"
14012 msgstr "B<clock_getres>(2)\t2.6\n"
14013
14014 #. type: tbl table
14015 #: build/C/man2/syscalls.2:192
14016 #, no-wrap
14017 msgid "B<clock_gettime>(2)\t2.6\n"
14018 msgstr "B<clock_gettime>(2)\t2.6\n"
14019
14020 #. type: tbl table
14021 #: build/C/man2/syscalls.2:193
14022 #, no-wrap
14023 msgid "B<clock_nanosleep>(2)\t2.6\n"
14024 msgstr "B<clock_nanosleep>(2)\t2.6\n"
14025
14026 #. type: tbl table
14027 #: build/C/man2/syscalls.2:194
14028 #, no-wrap
14029 msgid "B<clock_settime>(2)\t2.6\n"
14030 msgstr "B<clock_settime>(2)\t2.6\n"
14031
14032 #. type: tbl table
14033 #: build/C/man2/syscalls.2:195
14034 #, no-wrap
14035 msgid "B<clone>(2)\t1.0\n"
14036 msgstr "B<clone>(2)\t1.0\n"
14037
14038 #. type: tbl table
14039 #: build/C/man2/syscalls.2:196
14040 #, no-wrap
14041 msgid "B<close>(2)\t1.0\n"
14042 msgstr "B<close>(2)\t1.0\n"
14043
14044 #. type: tbl table
14045 #: build/C/man2/syscalls.2:197
14046 #, no-wrap
14047 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14048 msgstr "B<connect>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
14049
14050 #. type: tbl table
14051 #: build/C/man2/syscalls.2:198
14052 #, no-wrap
14053 msgid "B<creat>(2)\t1.0\n"
14054 msgstr "B<creat>(2)\t1.0\n"
14055
14056 #. type: tbl table
14057 #: build/C/man2/syscalls.2:199
14058 #, no-wrap
14059 msgid "B<create_module>(2)\t1.0\tRemoved in 2.6\n"
14060 msgstr "B<create_module>(2)\t1.0\t2.6 で削除\n"
14061
14062 #. type: tbl table
14063 #: build/C/man2/syscalls.2:200
14064 #, no-wrap
14065 msgid "B<delete_module>(2)\t1.0\n"
14066 msgstr "B<delete_module>(2)\t1.0\n"
14067
14068 #. type: tbl table
14069 #: build/C/man2/syscalls.2:201
14070 #, no-wrap
14071 msgid "B<dup>(2)\t1.0\n"
14072 msgstr "B<dup>(2)\t1.0\n"
14073
14074 #. type: tbl table
14075 #: build/C/man2/syscalls.2:202
14076 #, no-wrap
14077 msgid "B<dup2>(2)\t1.0\n"
14078 msgstr "B<dup2>(2)\t1.0\n"
14079
14080 #. type: tbl table
14081 #: build/C/man2/syscalls.2:203
14082 #, no-wrap
14083 msgid "B<dup3>(2)\t2.6.27\n"
14084 msgstr "B<dup3>(2)\t2.6.27\n"
14085
14086 #. type: tbl table
14087 #: build/C/man2/syscalls.2:204
14088 #, no-wrap
14089 msgid "B<epoll_create>(2)\t2.6\n"
14090 msgstr "B<epoll_create>(2)\t2.6\n"
14091
14092 #. type: tbl table
14093 #: build/C/man2/syscalls.2:205
14094 #, no-wrap
14095 msgid "B<epoll_create1>(2)\t2.6.27\n"
14096 msgstr "B<epoll_create1>(2)\t2.6.27\n"
14097
14098 #. type: tbl table
14099 #: build/C/man2/syscalls.2:206
14100 #, no-wrap
14101 msgid "B<epoll_ctl>(2)\t2.6\n"
14102 msgstr "B<epoll_ctl>(2)\t2.6\n"
14103
14104 #. type: tbl table
14105 #: build/C/man2/syscalls.2:207
14106 #, no-wrap
14107 msgid "B<epoll_pwait>(2)\t2.6.19\n"
14108 msgstr "B<epoll_pwait>(2)\t2.6.19\n"
14109
14110 #. type: tbl table
14111 #: build/C/man2/syscalls.2:208
14112 #, no-wrap
14113 msgid "B<epoll_wait>(2)\t2.6\n"
14114 msgstr "B<epoll_wait>(2)\t2.6\n"
14115
14116 #. type: tbl table
14117 #: build/C/man2/syscalls.2:209
14118 #, no-wrap
14119 msgid "B<eventfd>(2)\t2.6.22\n"
14120 msgstr "B<eventfd>(2)\t2.6.22\n"
14121
14122 #. type: tbl table
14123 #: build/C/man2/syscalls.2:210
14124 #, no-wrap
14125 msgid "B<eventfd2>(2)\t2.6.27\n"
14126 msgstr "B<eventfd2>(2)\t2.6.27\n"
14127
14128 #. type: tbl table
14129 #: build/C/man2/syscalls.2:211
14130 #, no-wrap
14131 msgid "B<execve>(2)\t1.0\n"
14132 msgstr "B<execve>(2)\t1.0\n"
14133
14134 #. type: tbl table
14135 #: build/C/man2/syscalls.2:212
14136 #, no-wrap
14137 msgid "B<execveat>(2)\t3.19\n"
14138 msgstr "B<execveat>(2)\t3.19\n"
14139
14140 #. type: tbl table
14141 #: build/C/man2/syscalls.2:213
14142 #, no-wrap
14143 msgid "B<exit>(2)\t1.0\n"
14144 msgstr "B<exit>(2)\t1.0\n"
14145
14146 #. type: tbl table
14147 #: build/C/man2/syscalls.2:214
14148 #, no-wrap
14149 msgid "B<exit_group>(2)\t2.6\n"
14150 msgstr "B<exit_group>(2)\t2.6\n"
14151
14152 #. type: tbl table
14153 #: build/C/man2/syscalls.2:215
14154 #, no-wrap
14155 msgid "B<faccessat>(2)\t2.6.16\n"
14156 msgstr "B<faccessat>(2)\t2.6.16\n"
14157
14158 #. type: tbl table
14159 #: build/C/man2/syscalls.2:216
14160 #, no-wrap
14161 msgid "B<fadvise64>(2)\t2.6\n"
14162 msgstr "B<fadvise64>(2)\t2.6\n"
14163
14164 #.  Implements \fBposix_fadvise\fP(2)
14165 #. type: tbl table
14166 #: build/C/man2/syscalls.2:218
14167 #, no-wrap
14168 msgid "B<fadvise64_64>(2)\t2.6\n"
14169 msgstr "B<fadvise64_64>(2)\t2.6\n"
14170
14171 #. type: tbl table
14172 #: build/C/man2/syscalls.2:219
14173 #, no-wrap
14174 msgid "B<fallocate>(2)\t2.6.23\n"
14175 msgstr "B<fallocate>(2)\t2.6.23\n"
14176
14177 #. type: tbl table
14178 #: build/C/man2/syscalls.2:220
14179 #, no-wrap
14180 msgid "B<fanotify_init>(2)\t2.6.37\n"
14181 msgstr "B<fanotify_init>(2)\t2.6.37\n"
14182
14183 #. type: tbl table
14184 #: build/C/man2/syscalls.2:221
14185 #, no-wrap
14186 msgid "B<fanotify_mark>(2)\t2.6.37\n"
14187 msgstr "B<fanotify_mark>(2)\t2.6.37\n"
14188
14189 #.  The fanotify calls were added in Linux 2.6.36,
14190 #.  but disabled while the API was finalized.
14191 #. type: tbl table
14192 #: build/C/man2/syscalls.2:224
14193 #, no-wrap
14194 msgid "B<fchdir>(2)\t1.0\n"
14195 msgstr "B<fchdir>(2)\t1.0\n"
14196
14197 #. type: tbl table
14198 #: build/C/man2/syscalls.2:225
14199 #, no-wrap
14200 msgid "B<fchmod>(2)\t1.0\n"
14201 msgstr "B<fchmod>(2)\t1.0\n"
14202
14203 #. type: tbl table
14204 #: build/C/man2/syscalls.2:226
14205 #, no-wrap
14206 msgid "B<fchmodat>(2)\t2.6.16\n"
14207 msgstr "B<fchmodat>(2)\t2.6.16\n"
14208
14209 #. type: tbl table
14210 #: build/C/man2/syscalls.2:227
14211 #, no-wrap
14212 msgid "B<fchown>(2)\t1.0\n"
14213 msgstr "B<fchown>(2)\t1.0\n"
14214
14215 #. type: tbl table
14216 #: build/C/man2/syscalls.2:228
14217 #, no-wrap
14218 msgid "B<fchown32>(2)\t2.4\n"
14219 msgstr "B<fchown32>(2)\t2.4\n"
14220
14221 #. type: tbl table
14222 #: build/C/man2/syscalls.2:229
14223 #, no-wrap
14224 msgid "B<fchownat>(2)\t2.6.16\n"
14225 msgstr "B<fchownat>(2)\t2.6.16\n"
14226
14227 #. type: tbl table
14228 #: build/C/man2/syscalls.2:230
14229 #, no-wrap
14230 msgid "B<fcntl>(2)\t1.0\n"
14231 msgstr "B<fcntl>(2)\t1.0\n"
14232
14233 #. type: tbl table
14234 #: build/C/man2/syscalls.2:231
14235 #, no-wrap
14236 msgid "B<fcntl64>(2)\t2.4\n"
14237 msgstr "B<fcntl64>(2)\t2.4\n"
14238
14239 #. type: tbl table
14240 #: build/C/man2/syscalls.2:232
14241 #, no-wrap
14242 msgid "B<fdatasync>(2)\t2.0\n"
14243 msgstr "B<fdatasync>(2)\t2.0\n"
14244
14245 #. type: tbl table
14246 #: build/C/man2/syscalls.2:233
14247 #, no-wrap
14248 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
14249 msgstr "B<fgetxattr>(2)\t2.6; 2.4.18\n"
14250
14251 #. type: tbl table
14252 #: build/C/man2/syscalls.2:234
14253 #, no-wrap
14254 msgid "B<finit_module>(2)\t3.8\n"
14255 msgstr "B<finit_module>(2)\t3.8\n"
14256
14257 #. type: tbl table
14258 #: build/C/man2/syscalls.2:235
14259 #, no-wrap
14260 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
14261 msgstr "B<flistxattr>(2)\t2.6; 2.4.18\n"
14262
14263 #. type: tbl table
14264 #: build/C/man2/syscalls.2:236
14265 #, no-wrap
14266 msgid "B<flock>(2)\t2.0\n"
14267 msgstr "B<flock>(2)\t2.0\n"
14268
14269 #. type: tbl table
14270 #: build/C/man2/syscalls.2:237
14271 #, no-wrap
14272 msgid "B<fork>(2)\t1.0\n"
14273 msgstr "B<fork>(2)\t1.0\n"
14274
14275 #. type: tbl table
14276 #: build/C/man2/syscalls.2:238
14277 #, no-wrap
14278 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14279 msgstr "B<free_hugepages>(2)\t2.5.36\t2.5.44 で削除\n"
14280
14281 #. type: tbl table
14282 #: build/C/man2/syscalls.2:239
14283 #, no-wrap
14284 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
14285 msgstr "B<fremovexattr>(2)\t2.6; 2.4.18\n"
14286
14287 #. type: tbl table
14288 #: build/C/man2/syscalls.2:240
14289 #, no-wrap
14290 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
14291 msgstr "B<fsetxattr>(2)\t2.6; 2.4.18\n"
14292
14293 #. type: tbl table
14294 #: build/C/man2/syscalls.2:241
14295 #, no-wrap
14296 msgid "B<fstat>(2)\t1.0\n"
14297 msgstr "B<fstat>(2)\t1.0\n"
14298
14299 #. type: tbl table
14300 #: build/C/man2/syscalls.2:242
14301 #, no-wrap
14302 msgid "B<fstat64>(2)\t2.4\n"
14303 msgstr "B<fstat64>(2)\t2.4\n"
14304
14305 #. type: tbl table
14306 #: build/C/man2/syscalls.2:243
14307 #, no-wrap
14308 msgid "B<fstatat64>(2)\t2.6.16\n"
14309 msgstr "B<fstatat64>(2)\t2.6.16\n"
14310
14311 #. type: tbl table
14312 #: build/C/man2/syscalls.2:244
14313 #, no-wrap
14314 msgid "B<fstatfs>(2)\t1.0\n"
14315 msgstr "B<fstatfs>(2)\t1.0\n"
14316
14317 #. type: tbl table
14318 #: build/C/man2/syscalls.2:245
14319 #, no-wrap
14320 msgid "B<fstatfs64>(2)\t2.6\n"
14321 msgstr "B<fstatfs64>(2)\t2.6\n"
14322
14323 #. type: tbl table
14324 #: build/C/man2/syscalls.2:246
14325 #, no-wrap
14326 msgid "B<fsync>(2)\t1.0\n"
14327 msgstr "B<fsync>(2)\t1.0\n"
14328
14329 #. type: tbl table
14330 #: build/C/man2/syscalls.2:247
14331 #, no-wrap
14332 msgid "B<ftruncate>(2)\t1.0\n"
14333 msgstr "B<ftruncate>(2)\t1.0\n"
14334
14335 #. type: tbl table
14336 #: build/C/man2/syscalls.2:248
14337 #, no-wrap
14338 msgid "B<ftruncate64>(2)\t2.4\n"
14339 msgstr "B<ftruncate64>(2)\t2.4\n"
14340
14341 #. type: tbl table
14342 #: build/C/man2/syscalls.2:249
14343 #, no-wrap
14344 msgid "B<futex>(2)\t2.6\n"
14345 msgstr "B<futex>(2)\t2.6\n"
14346
14347 #. type: tbl table
14348 #: build/C/man2/syscalls.2:250
14349 #, no-wrap
14350 msgid "B<futimesat>(2)\t2.6.16\n"
14351 msgstr "B<futimesat>(2)\t2.6.16\n"
14352
14353 #. type: tbl table
14354 #: build/C/man2/syscalls.2:251
14355 #, no-wrap
14356 msgid "B<get_kernel_syms>(2)\t1.0\tRemoved in 2.6\n"
14357 msgstr "B<get_kernel_syms>(2)\t1.0\t2.6 で削除\n"
14358
14359 #. type: tbl table
14360 #: build/C/man2/syscalls.2:252
14361 #, no-wrap
14362 msgid "B<get_mempolicy>(2)\t2.6.6\n"
14363 msgstr "B<get_mempolicy>(2)\t2.6.6\n"
14364
14365 #. type: tbl table
14366 #: build/C/man2/syscalls.2:253
14367 #, no-wrap
14368 msgid "B<get_robust_list>(2)\t2.6.17\n"
14369 msgstr "B<get_robust_list>(2)\t2.6.17\n"
14370
14371 #. type: tbl table
14372 #: build/C/man2/syscalls.2:254
14373 #, no-wrap
14374 msgid "B<get_thread_area>(2)\t2.6\n"
14375 msgstr "B<get_thread_area>(2)\t2.6\n"
14376
14377 #. type: tbl table
14378 #: build/C/man2/syscalls.2:255
14379 #, no-wrap
14380 msgid "B<getcpu>(2)\t2.6.19\n"
14381 msgstr "B<getcpu>(2)\t2.6.19\n"
14382
14383 #. type: tbl table
14384 #: build/C/man2/syscalls.2:256
14385 #, no-wrap
14386 msgid "B<getcwd>(2)\t2.2\n"
14387 msgstr "B<getcwd>(2)\t2.2\n"
14388
14389 #. type: tbl table
14390 #: build/C/man2/syscalls.2:257
14391 #, no-wrap
14392 msgid "B<getdents>(2)\t2.0\n"
14393 msgstr "B<getdents>(2)\t2.0\n"
14394
14395 #. type: tbl table
14396 #: build/C/man2/syscalls.2:258
14397 #, no-wrap
14398 msgid "B<getdents64>(2)\t2.4\n"
14399 msgstr "B<getdents64>(2)\t2.4\n"
14400
14401 #. type: tbl table
14402 #: build/C/man2/syscalls.2:259
14403 #, no-wrap
14404 msgid "B<getegid>(2)\t1.0\n"
14405 msgstr "B<getegid>(2)\t1.0\n"
14406
14407 #. type: tbl table
14408 #: build/C/man2/syscalls.2:260
14409 #, no-wrap
14410 msgid "B<getegid32>(2)\t2.4\n"
14411 msgstr "B<getegid32>(2)\t2.4\n"
14412
14413 #. type: tbl table
14414 #: build/C/man2/syscalls.2:261
14415 #, no-wrap
14416 msgid "B<geteuid>(2)\t1.0\n"
14417 msgstr "B<geteuid>(2)\t1.0\n"
14418
14419 #. type: tbl table
14420 #: build/C/man2/syscalls.2:262
14421 #, no-wrap
14422 msgid "B<geteuid32>(2)\t2.4\n"
14423 msgstr "B<geteuid32>(2)\t2.4\n"
14424
14425 #. type: tbl table
14426 #: build/C/man2/syscalls.2:263
14427 #, no-wrap
14428 msgid "B<getgid>(2)\t1.0\n"
14429 msgstr "B<getgid>(2)\t1.0\n"
14430
14431 #. type: tbl table
14432 #: build/C/man2/syscalls.2:264
14433 #, no-wrap
14434 msgid "B<getgid32>(2)\t2.4\n"
14435 msgstr "B<getgid32>(2)\t2.4\n"
14436
14437 #. type: tbl table
14438 #: build/C/man2/syscalls.2:265
14439 #, no-wrap
14440 msgid "B<getgroups>(2)\t1.0\n"
14441 msgstr "B<getgroups>(2)\t1.0\n"
14442
14443 #. type: tbl table
14444 #: build/C/man2/syscalls.2:266
14445 #, no-wrap
14446 msgid "B<getgroups32>(2)\t2.4\n"
14447 msgstr "B<getgroups32>(2)\t2.4\n"
14448
14449 #. type: tbl table
14450 #: build/C/man2/syscalls.2:267
14451 #, no-wrap
14452 msgid "B<getitimer>(2)\t1.0\n"
14453 msgstr "B<getitimer>(2)\t1.0\n"
14454
14455 #. type: tbl table
14456 #: build/C/man2/syscalls.2:268
14457 #, no-wrap
14458 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14459 msgstr "B<getpeername>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
14460
14461 #. type: tbl table
14462 #: build/C/man2/syscalls.2:269
14463 #, no-wrap
14464 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
14465 msgstr "B<getpagesize>(2)\t2.0\tx86 にはない\n"
14466
14467 #. type: tbl table
14468 #: build/C/man2/syscalls.2:270
14469 #, no-wrap
14470 msgid "B<getpgid>(2)\t1.0\n"
14471 msgstr "B<getpgid>(2)\t1.0\n"
14472
14473 #. type: tbl table
14474 #: build/C/man2/syscalls.2:271
14475 #, no-wrap
14476 msgid "B<getpgrp>(2)\t1.0\n"
14477 msgstr "B<getpgrp>(2)\t1.0\n"
14478
14479 #. type: tbl table
14480 #: build/C/man2/syscalls.2:272
14481 #, no-wrap
14482 msgid "B<getpid>(2)\t1.0\n"
14483 msgstr "B<getpid>(2)\t1.0\n"
14484
14485 #. type: tbl table
14486 #: build/C/man2/syscalls.2:273
14487 #, no-wrap
14488 msgid "B<getppid>(2)\t1.0\n"
14489 msgstr "B<getppid>(2)\t1.0\n"
14490
14491 #. type: tbl table
14492 #: build/C/man2/syscalls.2:274
14493 #, no-wrap
14494 msgid "B<getpriority>(2)\t1.0\n"
14495 msgstr "B<getpriority>(2)\t1.0\n"
14496
14497 #. type: tbl table
14498 #: build/C/man2/syscalls.2:275
14499 #, no-wrap
14500 msgid "B<getrandom>(2)\t3.17\n"
14501 msgstr "B<getrandom>(2)\t3.17\n"
14502
14503 #. type: tbl table
14504 #: build/C/man2/syscalls.2:276
14505 #, no-wrap
14506 msgid "B<getresgid>(2)\t2.2\n"
14507 msgstr "B<getresgid>(2)\t2.2\n"
14508
14509 #. type: tbl table
14510 #: build/C/man2/syscalls.2:277
14511 #, no-wrap
14512 msgid "B<getresgid32>(2)\t2.4\n"
14513 msgstr "B<getresgid32>(2)\t2.4\n"
14514
14515 #. type: tbl table
14516 #: build/C/man2/syscalls.2:278
14517 #, no-wrap
14518 msgid "B<getresuid>(2)\t2.2\n"
14519 msgstr "B<getresuid>(2)\t2.2\n"
14520
14521 #. type: tbl table
14522 #: build/C/man2/syscalls.2:279
14523 #, no-wrap
14524 msgid "B<getresuid32>(2)\t2.4\n"
14525 msgstr "B<getresuid32>(2)\t2.4\n"
14526
14527 #. type: tbl table
14528 #: build/C/man2/syscalls.2:280
14529 #, no-wrap
14530 msgid "B<getrlimit>(2)\t1.0\n"
14531 msgstr "B<getrlimit>(2)\t1.0\n"
14532
14533 #. type: tbl table
14534 #: build/C/man2/syscalls.2:281
14535 #, no-wrap
14536 msgid "B<getrusage>(2)\t1.0\n"
14537 msgstr "B<getrusage>(2)\t1.0\n"
14538
14539 #. type: tbl table
14540 #: build/C/man2/syscalls.2:282
14541 #, no-wrap
14542 msgid "B<getsid>(2)\t2.0\n"
14543 msgstr "B<getsid>(2)\t2.0\n"
14544
14545 #. type: tbl table
14546 #: build/C/man2/syscalls.2:283
14547 #, no-wrap
14548 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14549 msgstr "B<getsockname>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
14550
14551 #. type: tbl table
14552 #: build/C/man2/syscalls.2:284
14553 #, no-wrap
14554 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14555 msgstr "B<getsockopt>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
14556
14557 #. type: tbl table
14558 #: build/C/man2/syscalls.2:285
14559 #, no-wrap
14560 msgid "B<gettid>(2)\t2.4.11\n"
14561 msgstr "B<gettid>(2)\t2.4.11\n"
14562
14563 #. type: tbl table
14564 #: build/C/man2/syscalls.2:286
14565 #, no-wrap
14566 msgid "B<gettimeofday>(2)\t1.0\n"
14567 msgstr "B<gettimeofday>(2)\t1.0\n"
14568
14569 #. type: tbl table
14570 #: build/C/man2/syscalls.2:287
14571 #, no-wrap
14572 msgid "B<getuid>(2)\t1.0\n"
14573 msgstr "B<getuid>(2)\t1.0\n"
14574
14575 #. type: tbl table
14576 #: build/C/man2/syscalls.2:288
14577 #, no-wrap
14578 msgid "B<getuid32>(2)\t2.4\n"
14579 msgstr "B<getuid32>(2)\t2.4\n"
14580
14581 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
14582 #. type: tbl table
14583 #: build/C/man2/syscalls.2:290
14584 #, no-wrap
14585 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
14586 msgstr "B<getxattr>(2)\t2.6; 2.4.18\n"
14587
14588 #. type: tbl table
14589 #: build/C/man2/syscalls.2:291
14590 #, no-wrap
14591 msgid "B<init_module>(2)\t1.0\n"
14592 msgstr "B<init_module>(2)\t1.0\n"
14593
14594 #. type: tbl table
14595 #: build/C/man2/syscalls.2:292
14596 #, no-wrap
14597 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
14598 msgstr "B<inotify_add_watch>(2)\t2.6.13\n"
14599
14600 #. type: tbl table
14601 #: build/C/man2/syscalls.2:293
14602 #, no-wrap
14603 msgid "B<inotify_init>(2)\t2.6.13\n"
14604 msgstr "B<inotify_init>(2)\t2.6.13\n"
14605
14606 #. type: tbl table
14607 #: build/C/man2/syscalls.2:294
14608 #, no-wrap
14609 msgid "B<inotify_init1>(2)\t2.6.27\n"
14610 msgstr "B<inotify_init1>(2)\t2.6.27\n"
14611
14612 #. type: tbl table
14613 #: build/C/man2/syscalls.2:295
14614 #, no-wrap
14615 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
14616 msgstr "B<inotify_rm_watch>(2)\t2.6.13\n"
14617
14618 #. type: tbl table
14619 #: build/C/man2/syscalls.2:296
14620 #, no-wrap
14621 msgid "B<io_cancel>(2)\t2.6\n"
14622 msgstr "B<io_cancel>(2)\t2.6\n"
14623
14624 #. type: tbl table
14625 #: build/C/man2/syscalls.2:297
14626 #, no-wrap
14627 msgid "B<io_destroy>(2)\t2.6\n"
14628 msgstr "B<io_destroy>(2)\t2.6\n"
14629
14630 #. type: tbl table
14631 #: build/C/man2/syscalls.2:298
14632 #, no-wrap
14633 msgid "B<io_getevents>(2)\t2.6\n"
14634 msgstr "B<io_getevents>(2)\t2.6\n"
14635
14636 #. type: tbl table
14637 #: build/C/man2/syscalls.2:299
14638 #, no-wrap
14639 msgid "B<io_setup>(2)\t2.6\n"
14640 msgstr "B<io_setup>(2)\t2.6\n"
14641
14642 #. type: tbl table
14643 #: build/C/man2/syscalls.2:300
14644 #, no-wrap
14645 msgid "B<io_submit>(2)\t2.6\n"
14646 msgstr "B<io_submit>(2)\t2.6\n"
14647
14648 #. type: tbl table
14649 #: build/C/man2/syscalls.2:301
14650 #, no-wrap
14651 msgid "B<ioctl>(2)\t1.0\n"
14652 msgstr "B<ioctl>(2)\t1.0\n"
14653
14654 #. type: tbl table
14655 #: build/C/man2/syscalls.2:302
14656 #, no-wrap
14657 msgid "B<ioperm>(2)\t1.0\n"
14658 msgstr "B<ioperm>(2)\t1.0\n"
14659
14660 #. type: tbl table
14661 #: build/C/man2/syscalls.2:303
14662 #, no-wrap
14663 msgid "B<iopl>(2)\t1.0\n"
14664 msgstr "B<iopl>(2)\t1.0\n"
14665
14666 #. type: tbl table
14667 #: build/C/man2/syscalls.2:304
14668 #, no-wrap
14669 msgid "B<ioprio_get>(2)\t2.6.13\n"
14670 msgstr "B<ioprio_get>(2)\t2.6.13\n"
14671
14672 #. type: tbl table
14673 #: build/C/man2/syscalls.2:305
14674 #, no-wrap
14675 msgid "B<ioprio_set>(2)\t2.6.13\n"
14676 msgstr "B<ioprio_set>(2)\t2.6.13\n"
14677
14678 #. type: tbl table
14679 #: build/C/man2/syscalls.2:306
14680 #, no-wrap
14681 msgid "B<ipc>(2)\t1.0\n"
14682 msgstr "B<ipc>(2)\t1.0\n"
14683
14684 #.  Implements System V IPC calls
14685 #. type: tbl table
14686 #: build/C/man2/syscalls.2:308
14687 #, no-wrap
14688 msgid "B<kcmp>(2)\t3.5\n"
14689 msgstr "B<kcmp>(2)\t3.5\n"
14690
14691 #. type: tbl table
14692 #: build/C/man2/syscalls.2:309
14693 #, no-wrap
14694 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
14695 msgstr "B<kern_features>(2)\t3.7\tSparc64\n"
14696
14697 #.  FIXME . document kern_features():
14698 #.  commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb
14699 #. type: tbl table
14700 #: build/C/man2/syscalls.2:312
14701 #, no-wrap
14702 msgid "B<kexec_file_load>(2)\t3.17\n"
14703 msgstr "B<kexec_file_load>(2)\t3.17\n"
14704
14705 #. type: tbl table
14706 #: build/C/man2/syscalls.2:313
14707 #, no-wrap
14708 msgid "B<kexec_load>(2)\t2.6.13\n"
14709 msgstr "B<kexec_load>(2)\t2.6.13\n"
14710
14711 #.  The entry in the syscall table was reserved starting in 2.6.7
14712 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
14713 #. type: tbl table
14714 #: build/C/man2/syscalls.2:316
14715 #, no-wrap
14716 msgid "B<keyctl>(2)\t2.6.11\n"
14717 msgstr "B<keyctl>(2)\t2.6.11\n"
14718
14719 #. type: tbl table
14720 #: build/C/man2/syscalls.2:317
14721 #, no-wrap
14722 msgid "B<kill>(2)\t1.0\n"
14723 msgstr "B<kill>(2)\t1.0\n"
14724
14725 #. type: tbl table
14726 #: build/C/man2/syscalls.2:318
14727 #, no-wrap
14728 msgid "B<lchown>(2)\t1.0\tT{\n"
14729 msgstr "B<lchown>(2)\t1.0\tT{\n"
14730
14731 #. type: tbl table
14732 #: build/C/man2/syscalls.2:323
14733 #, no-wrap
14734 msgid "B<lchown32>(2)\t2.4\n"
14735 msgstr "B<lchown32>(2)\t2.4\n"
14736
14737 #. type: tbl table
14738 #: build/C/man2/syscalls.2:324
14739 #, no-wrap
14740 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14741 msgstr "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14742
14743 #. type: tbl table
14744 #: build/C/man2/syscalls.2:325
14745 #, no-wrap
14746 msgid "B<link>(2)\t1.0\n"
14747 msgstr "B<link>(2)\t1.0\n"
14748
14749 #. type: tbl table
14750 #: build/C/man2/syscalls.2:326
14751 #, no-wrap
14752 msgid "B<linkat>(2)\t2.6.16\n"
14753 msgstr "B<linkat>(2)\t2.6.16\n"
14754
14755 #. type: tbl table
14756 #: build/C/man2/syscalls.2:327
14757 #, no-wrap
14758 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14759 msgstr "B<listen>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
14760
14761 #. type: tbl table
14762 #: build/C/man2/syscalls.2:328
14763 #, no-wrap
14764 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
14765 msgstr "B<listxattr>(2)\t2.6; 2.4.18\n"
14766
14767 #. type: tbl table
14768 #: build/C/man2/syscalls.2:329
14769 #, no-wrap
14770 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
14771 msgstr "B<llistxattr>(2)\t2.6; 2.4.18\n"
14772
14773 #. type: tbl table
14774 #: build/C/man2/syscalls.2:330
14775 #, no-wrap
14776 msgid "B<lookup_dcookie>(2)\t2.6\n"
14777 msgstr "B<lookup_dcookie>(2)\t2.6\n"
14778
14779 #. type: tbl table
14780 #: build/C/man2/syscalls.2:331
14781 #, no-wrap
14782 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14783 msgstr "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14784
14785 #. type: tbl table
14786 #: build/C/man2/syscalls.2:332
14787 #, no-wrap
14788 msgid "B<lseek>(2)\t1.0\n"
14789 msgstr "B<lseek>(2)\t1.0\n"
14790
14791 #. type: tbl table
14792 #: build/C/man2/syscalls.2:333
14793 #, no-wrap
14794 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14795 msgstr "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14796
14797 #. type: tbl table
14798 #: build/C/man2/syscalls.2:334
14799 #, no-wrap
14800 msgid "B<lstat>(2)\t1.0\n"
14801 msgstr "B<lstat>(2)\t1.0\n"
14802
14803 #. type: tbl table
14804 #: build/C/man2/syscalls.2:335
14805 #, no-wrap
14806 msgid "B<lstat64>(2)\t2.4\n"
14807 msgstr "B<lstat64>(2)\t2.4\n"
14808
14809 #. type: tbl table
14810 #: build/C/man2/syscalls.2:336
14811 #, no-wrap
14812 msgid "B<madvise>(2)\t2.4\n"
14813 msgstr "B<madvise>(2)\t2.4\n"
14814
14815 #. type: tbl table
14816 #: build/C/man2/syscalls.2:337
14817 #, no-wrap
14818 msgid "B<mbind>(2)\t2.6.6\n"
14819 msgstr "B<mbind>(2)\t2.6.6\n"
14820
14821 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
14822 #. type: tbl table
14823 #: build/C/man2/syscalls.2:339
14824 #, no-wrap
14825 msgid "B<memfd_create>(2)\t3.17\n"
14826 msgstr "B<memfd_create>(2)\t3.17\n"
14827
14828 #. type: tbl table
14829 #: build/C/man2/syscalls.2:340
14830 #, no-wrap
14831 msgid "B<migrate_pages>(2)\t2.6.16\n"
14832 msgstr "B<migrate_pages>(2)\t2.6.16\n"
14833
14834 #. type: tbl table
14835 #: build/C/man2/syscalls.2:341
14836 #, no-wrap
14837 msgid "B<mincore>(2)\t2.4\n"
14838 msgstr "B<mincore>(2)\t2.4\n"
14839
14840 #. type: tbl table
14841 #: build/C/man2/syscalls.2:342
14842 #, no-wrap
14843 msgid "B<mkdir>(2)\t1.0\n"
14844 msgstr "B<mkdir>(2)\t1.0\n"
14845
14846 #. type: tbl table
14847 #: build/C/man2/syscalls.2:343
14848 #, no-wrap
14849 msgid "B<mkdirat>(2)\t2.6.16\n"
14850 msgstr "B<mkdirat>(2)\t2.6.16\n"
14851
14852 #. type: tbl table
14853 #: build/C/man2/syscalls.2:344
14854 #, no-wrap
14855 msgid "B<mknod>(2)\t1.0\n"
14856 msgstr "B<mknod>(2)\t1.0\n"
14857
14858 #. type: tbl table
14859 #: build/C/man2/syscalls.2:345
14860 #, no-wrap
14861 msgid "B<mknodat>(2)\t2.6.16\n"
14862 msgstr "B<mknodat>(2)\t2.6.16\n"
14863
14864 #. type: tbl table
14865 #: build/C/man2/syscalls.2:346
14866 #, no-wrap
14867 msgid "B<mlock>(2)\t2.0\n"
14868 msgstr "B<mlock>(2)\t2.0\n"
14869
14870 #. type: tbl table
14871 #: build/C/man2/syscalls.2:347
14872 #, no-wrap
14873 msgid "B<mlockall>(2)\t2.0\n"
14874 msgstr "B<mlockall>(2)\t2.0\n"
14875
14876 #. type: tbl table
14877 #: build/C/man2/syscalls.2:348
14878 #, no-wrap
14879 msgid "B<mmap>(2)\t1.0\n"
14880 msgstr "B<mmap>(2)\t1.0\n"
14881
14882 #. type: tbl table
14883 #: build/C/man2/syscalls.2:349
14884 #, no-wrap
14885 msgid "B<mmap2>(2)\t2.4\n"
14886 msgstr "B<mmap2>(2)\t2.4\n"
14887
14888 #. type: tbl table
14889 #: build/C/man2/syscalls.2:350
14890 #, no-wrap
14891 msgid "B<modify_ldt>(2)\t1.0\n"
14892 msgstr "B<modify_ldt>(2)\t1.0\n"
14893
14894 #. type: tbl table
14895 #: build/C/man2/syscalls.2:351
14896 #, no-wrap
14897 msgid "B<mount>(2)\t1.0\n"
14898 msgstr "B<mount>(2)\t1.0\n"
14899
14900 #. type: tbl table
14901 #: build/C/man2/syscalls.2:352
14902 #, no-wrap
14903 msgid "B<move_pages>(2)\t2.6.18\n"
14904 msgstr "B<move_pages>(2)\t2.6.18\n"
14905
14906 #. type: tbl table
14907 #: build/C/man2/syscalls.2:353
14908 #, no-wrap
14909 msgid "B<mprotect>(2)\t1.0\n"
14910 msgstr "B<mprotect>(2)\t1.0\n"
14911
14912 #. type: tbl table
14913 #: build/C/man2/syscalls.2:354
14914 #, no-wrap
14915 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
14916 msgstr "B<mq_getsetattr>(2)\t2.6.6\n"
14917
14918 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
14919 #. type: tbl table
14920 #: build/C/man2/syscalls.2:356
14921 #, no-wrap
14922 msgid "B<mq_notify>(2)\t2.6.6\n"
14923 msgstr "B<mq_notify>(2)\t2.6.6\n"
14924
14925 #. type: tbl table
14926 #: build/C/man2/syscalls.2:357
14927 #, no-wrap
14928 msgid "B<mq_open>(2)\t2.6.6\n"
14929 msgstr "B<mq_open>(2)\t2.6.6\n"
14930
14931 #. type: tbl table
14932 #: build/C/man2/syscalls.2:358
14933 #, no-wrap
14934 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
14935 msgstr "B<mq_timedreceive>(2)\t2.6.6\n"
14936
14937 #. type: tbl table
14938 #: build/C/man2/syscalls.2:359
14939 #, no-wrap
14940 msgid "B<mq_timedsend>(2)\t2.6.6\n"
14941 msgstr "B<mq_timedsend>(2)\t2.6.6\n"
14942
14943 #. type: tbl table
14944 #: build/C/man2/syscalls.2:360
14945 #, no-wrap
14946 msgid "B<mq_unlink>(2)\t2.6.6\n"
14947 msgstr "B<mq_unlink>(2)\t2.6.6\n"
14948
14949 #. type: tbl table
14950 #: build/C/man2/syscalls.2:361
14951 #, no-wrap
14952 msgid "B<mremap>(2)\t2.0\n"
14953 msgstr "B<mremap>(2)\t2.0\n"
14954
14955 #. type: tbl table
14956 #: build/C/man2/syscalls.2:362
14957 #, no-wrap
14958 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14959 msgstr "B<msgctl>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
14960
14961 #. type: tbl table
14962 #: build/C/man2/syscalls.2:363
14963 #, no-wrap
14964 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14965 msgstr "B<msgget>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
14966
14967 #. type: tbl table
14968 #: build/C/man2/syscalls.2:364
14969 #, no-wrap
14970 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14971 msgstr "B<msgrcv>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
14972
14973 #. type: tbl table
14974 #: build/C/man2/syscalls.2:365
14975 #, no-wrap
14976 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14977 msgstr "B<msgsnd>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
14978
14979 #. type: tbl table
14980 #: build/C/man2/syscalls.2:366
14981 #, no-wrap
14982 msgid "B<msync>(2)\t2.0\n"
14983 msgstr "B<msync>(2)\t2.0\n"
14984
14985 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
14986 #.              PowerPC, but unimplemented?
14987 #. type: tbl table
14988 #: build/C/man2/syscalls.2:369
14989 #, no-wrap
14990 msgid "B<munlock>(2)\t2.0\n"
14991 msgstr "B<munlock>(2)\t2.0\n"
14992
14993 #. type: tbl table
14994 #: build/C/man2/syscalls.2:370
14995 #, no-wrap
14996 msgid "B<munlockall>(2)\t2.0\n"
14997 msgstr "B<munlockall>(2)\t2.0\n"
14998
14999 #. type: tbl table
15000 #: build/C/man2/syscalls.2:371
15001 #, no-wrap
15002 msgid "B<munmap>(2)\t1.0\n"
15003 msgstr "B<munmap>(2)\t1.0\n"
15004
15005 #. type: tbl table
15006 #: build/C/man2/syscalls.2:372
15007 #, no-wrap
15008 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
15009 msgstr "B<name_to_handle_at>(2)\t2.6.39\n"
15010
15011 #. type: tbl table
15012 #: build/C/man2/syscalls.2:373
15013 #, no-wrap
15014 msgid "B<nanosleep>(2)\t2.0\n"
15015 msgstr "B<nanosleep>(2)\t2.0\n"
15016
15017 #. type: tbl table
15018 #: build/C/man2/syscalls.2:374
15019 #, no-wrap
15020 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
15021 msgstr "B<nfsservctl>(2)\t2.2\t3.1 で削除\n"
15022
15023 #. type: tbl table
15024 #: build/C/man2/syscalls.2:375
15025 #, no-wrap
15026 msgid "B<nice>(2)\t1.0\n"
15027 msgstr "B<nice>(2)\t1.0\n"
15028
15029 #. type: tbl table
15030 #: build/C/man2/syscalls.2:376
15031 #, no-wrap
15032 msgid "B<oldfstat>(2)\t1.0\n"
15033 msgstr "B<oldfstat>(2)\t1.0\n"
15034
15035 #. type: tbl table
15036 #: build/C/man2/syscalls.2:377
15037 #, no-wrap
15038 msgid "B<oldlstat>(2)\t1.0\n"
15039 msgstr "B<oldlstat>(2)\t1.0\n"
15040
15041 #. type: tbl table
15042 #: build/C/man2/syscalls.2:378
15043 #, no-wrap
15044 msgid "B<oldolduname>(2)\t1.0\n"
15045 msgstr "B<oldolduname>(2)\t1.0\n"
15046
15047 #. type: tbl table
15048 #: build/C/man2/syscalls.2:379
15049 #, no-wrap
15050 msgid "B<oldstat>(2)\t1.0\n"
15051 msgstr "B<oldstat>(2)\t1.0\n"
15052
15053 #. type: tbl table
15054 #: build/C/man2/syscalls.2:380
15055 #, no-wrap
15056 msgid "B<olduname>(2)\t1.0\n"
15057 msgstr "B<olduname>(2)\t1.0\n"
15058
15059 #. type: tbl table
15060 #: build/C/man2/syscalls.2:381
15061 #, no-wrap
15062 msgid "B<open>(2)\t1.0\n"
15063 msgstr "B<open>(2)\t1.0\n"
15064
15065 #. type: tbl table
15066 #: build/C/man2/syscalls.2:382
15067 #, no-wrap
15068 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
15069 msgstr "B<open_by_handle_at>(2)\t2.6.39\n"
15070
15071 #. type: tbl table
15072 #: build/C/man2/syscalls.2:383
15073 #, no-wrap
15074 msgid "B<openat>(2)\t2.6.16\n"
15075 msgstr "B<openat>(2)\t2.6.16\n"
15076
15077 #. type: tbl table
15078 #: build/C/man2/syscalls.2:384
15079 #, no-wrap
15080 msgid "B<pause>(2)\t1.0\n"
15081 msgstr "B<pause>(2)\t1.0\n"
15082
15083 #. type: tbl table
15084 #: build/C/man2/syscalls.2:385
15085 #, no-wrap
15086 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
15087 msgstr "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tx86 にはない\n"
15088
15089 #.  Alpha, PowerPC, ARM; not x86
15090 #. type: tbl table
15091 #: build/C/man2/syscalls.2:387
15092 #, no-wrap
15093 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
15094 msgstr "B<pciconfig_read>(2)\t2.0.26; 2.2\tx86 にはない\n"
15095
15096 #.  , PowerPC, ARM; not x86
15097 #. type: tbl table
15098 #: build/C/man2/syscalls.2:389
15099 #, no-wrap
15100 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
15101 msgstr "B<pciconfig_write>(2)\t2.0.26; 2.2\tx86 にはない\n"
15102
15103 #.  , PowerPC, ARM; not x86
15104 #. type: tbl table
15105 #: build/C/man2/syscalls.2:391
15106 #, no-wrap
15107 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
15108 msgstr "B<perf_event_open>(2)\t2.6.31\tT{\n"
15109
15110 #. type: tbl table
15111 #: build/C/man2/syscalls.2:392
15112 #, no-wrap
15113 msgid "Was perf_counter_open() in\n"
15114 msgstr "2.6.31 では perf_counter_open() であった;\n"
15115
15116 #. type: tbl table
15117 #: build/C/man2/syscalls.2:394
15118 #, no-wrap
15119 msgid "2.6.31; renamed in 2.6.32\n"
15120 msgstr "2.6.32 で名称変更\n"
15121
15122 #. type: tbl table
15123 #: build/C/man2/syscalls.2:396
15124 #, no-wrap
15125 msgid "B<personality>(2)\t1.2\n"
15126 msgstr "B<personality>(2)\t1.2\n"
15127
15128 #. type: tbl table
15129 #: build/C/man2/syscalls.2:397
15130 #, no-wrap
15131 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
15132 msgstr "B<perfctr>(2)\t2.2\tSparc; 2.6.34 で削除\n"
15133
15134 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
15135 #. type: tbl table
15136 #: build/C/man2/syscalls.2:399
15137 #, no-wrap
15138 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
15139 msgstr "B<perfmonctl>(2)\t2.4\tia64\n"
15140
15141 #. type: tbl table
15142 #: build/C/man2/syscalls.2:400
15143 #, no-wrap
15144 msgid "B<pipe>(2)\t1.0\n"
15145 msgstr "B<pipe>(2)\t1.0\n"
15146
15147 #. type: tbl table
15148 #: build/C/man2/syscalls.2:401
15149 #, no-wrap
15150 msgid "B<pipe2>(2)\t2.6.27\n"
15151 msgstr "B<pipe2>(2)\t2.6.27\n"
15152
15153 #. type: tbl table
15154 #: build/C/man2/syscalls.2:402
15155 #, no-wrap
15156 msgid "B<pivot_root>(2)\t2.4\n"
15157 msgstr "B<pivot_root>(2)\t2.4\n"
15158
15159 #. type: tbl table
15160 #: build/C/man2/syscalls.2:403
15161 #, no-wrap
15162 msgid "B<poll>(2)\t2.0.36; 2.2\n"
15163 msgstr "B<poll>(2)\t2.0.36; 2.2\n"
15164
15165 #. type: tbl table
15166 #: build/C/man2/syscalls.2:404
15167 #, no-wrap
15168 msgid "B<ppc_rtas>(2)\t2.6.2\tPowerPC only\n"
15169 msgstr "B<ppc_rtas>(2)\t2.6.2\tPowerPC のみ\n"
15170
15171 #. type: tbl table
15172 #: build/C/man2/syscalls.2:405
15173 #, no-wrap
15174 msgid "B<ppoll>(2)\t2.6.16\n"
15175 msgstr "B<ppoll>(2)\t2.6.16\n"
15176
15177 #. type: tbl table
15178 #: build/C/man2/syscalls.2:406
15179 #, no-wrap
15180 msgid "B<prctl>(2)\t2.2\n"
15181 msgstr "B<prctl>(2)\t2.2\n"
15182
15183 #. type: tbl table
15184 #: build/C/man2/syscalls.2:407
15185 #, no-wrap
15186 msgid "B<pread64>(2)\t\tT{\n"
15187 msgstr "B<pread64>(2)\t\tT{\n"
15188
15189 #. type: tbl table
15190 #: build/C/man2/syscalls.2:408
15191 #, no-wrap
15192 msgid "Added as \"pread\" in 2.2;\n"
15193 msgstr "2.2 で \"pread\" として追加;\n"
15194
15195 #. type: tbl table
15196 #: build/C/man2/syscalls.2:410
15197 #, no-wrap
15198 msgid "renamed \"pread64\" in 2.6\n"
15199 msgstr "2.6 で \"pread64\" に名称変更\n"
15200
15201 #. type: tbl table
15202 #: build/C/man2/syscalls.2:412
15203 #, no-wrap
15204 msgid "B<preadv>(2)\t2.6.30\n"
15205 msgstr "B<preadv>(2)\t2.6.30\n"
15206
15207 #. type: tbl table
15208 #: build/C/man2/syscalls.2:413
15209 #, no-wrap
15210 msgid "B<prlimit>(2)\t2.6.36\n"
15211 msgstr "B<prlimit>(2)\t2.6.36\n"
15212
15213 #. type: tbl table
15214 #: build/C/man2/syscalls.2:414
15215 #, no-wrap
15216 msgid "B<prlimit64>(2)\t2.6.36\n"
15217 msgstr "B<prlimit64>(2)\t2.6.36\n"
15218
15219 #. type: tbl table
15220 #: build/C/man2/syscalls.2:415
15221 #, no-wrap
15222 msgid "B<process_vm_readv>(2)\t3.2\n"
15223 msgstr "B<process_vm_readv>(2)\t3.2\n"
15224
15225 #. type: tbl table
15226 #: build/C/man2/syscalls.2:416
15227 #, no-wrap
15228 msgid "B<process_vm_writev>(2)\t3.2\n"
15229 msgstr "B<process_vm_writev>(2)\t3.2\n"
15230
15231 #. type: tbl table
15232 #: build/C/man2/syscalls.2:417
15233 #, no-wrap
15234 msgid "B<pselect6>(2)\t2.6.16\n"
15235 msgstr "B<pselect6>(2)\t2.6.16\n"
15236
15237 #.  Implements \fBpselect\fP(2)
15238 #. type: tbl table
15239 #: build/C/man2/syscalls.2:419
15240 #, no-wrap
15241 msgid "B<ptrace>(2)\t1.0\n"
15242 msgstr "B<ptrace>(2)\t1.0\n"
15243
15244 #. type: tbl table
15245 #: build/C/man2/syscalls.2:420
15246 #, no-wrap
15247 msgid "B<pwrite64>(2)\t\tT{\n"
15248 msgstr "B<pwrite64>(2)\t\tT{\n"
15249
15250 #. type: tbl table
15251 #: build/C/man2/syscalls.2:421
15252 #, no-wrap
15253 msgid "Added as \"pwrite\" in 2.2;\n"
15254 msgstr "2.2 で \"pwrite\" として追加;\n"
15255
15256 #. type: tbl table
15257 #: build/C/man2/syscalls.2:423
15258 #, no-wrap
15259 msgid "renamed \"pwrite64\" in 2.6\n"
15260 msgstr "2.6 で \"pwrite64\" に名称変更\n"
15261
15262 #. type: tbl table
15263 #: build/C/man2/syscalls.2:425
15264 #, no-wrap
15265 msgid "B<pwritev>(2)\t2.6.30\n"
15266 msgstr "B<pwritev>(2)\t2.6.30\n"
15267
15268 #. type: tbl table
15269 #: build/C/man2/syscalls.2:426
15270 #, no-wrap
15271 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
15272 msgstr "B<query_module>(2)\t2.2\t2.6 で削除\n"
15273
15274 #. type: tbl table
15275 #: build/C/man2/syscalls.2:427
15276 #, no-wrap
15277 msgid "B<quotactl>(2)\t1.0\n"
15278 msgstr "B<quotactl>(2)\t1.0\n"
15279
15280 #. type: tbl table
15281 #: build/C/man2/syscalls.2:428
15282 #, no-wrap
15283 msgid "B<read>(2)\t1.0\n"
15284 msgstr "B<read>(2)\t1.0\n"
15285
15286 #. type: tbl table
15287 #: build/C/man2/syscalls.2:429
15288 #, no-wrap
15289 msgid "B<readahead>(2)\t2.4.13\n"
15290 msgstr "B<readahead>(2)\t2.4.13\n"
15291
15292 #. type: tbl table
15293 #: build/C/man2/syscalls.2:430
15294 #, no-wrap
15295 msgid "B<readdir>(2)\t1.0\n"
15296 msgstr "B<readdir>(2)\t1.0\n"
15297
15298 #.  Supersedes \fBgetdents\fP(2)
15299 #. type: tbl table
15300 #: build/C/man2/syscalls.2:432
15301 #, no-wrap
15302 msgid "B<readlink>(2)\t1.0\n"
15303 msgstr "B<readlink>(2)\t1.0\n"
15304
15305 #. type: tbl table
15306 #: build/C/man2/syscalls.2:433
15307 #, no-wrap
15308 msgid "B<readlinkat>(2)\t2.6.16\n"
15309 msgstr "B<readlinkat>(2)\t2.6.16\n"
15310
15311 #. type: tbl table
15312 #: build/C/man2/syscalls.2:434
15313 #, no-wrap
15314 msgid "B<readv>(2)\t2.0\n"
15315 msgstr "B<readv>(2)\t2.0\n"
15316
15317 #. type: tbl table
15318 #: build/C/man2/syscalls.2:435
15319 #, no-wrap
15320 msgid "B<reboot>(2)\t1.0\n"
15321 msgstr "B<reboot>(2)\t1.0\n"
15322
15323 #. type: tbl table
15324 #: build/C/man2/syscalls.2:436
15325 #, no-wrap
15326 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15327 msgstr "B<recv>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15328
15329 #. type: tbl table
15330 #: build/C/man2/syscalls.2:437
15331 #, no-wrap
15332 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15333 msgstr "B<recvfrom>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15334
15335 #. type: tbl table
15336 #: build/C/man2/syscalls.2:438
15337 #, no-wrap
15338 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15339 msgstr "B<recvmsg>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15340
15341 #. type: tbl table
15342 #: build/C/man2/syscalls.2:439
15343 #, no-wrap
15344 msgid "B<recvmmsg>(2)\t2.6.33\n"
15345 msgstr "B<recvmmsg>(2)\t2.6.33\n"
15346
15347 #. type: tbl table
15348 #: build/C/man2/syscalls.2:440
15349 #, no-wrap
15350 msgid "B<remap_file_pages>(2)\t2.6\tDeprecated since 3.16\n"
15351 msgstr "B<remap_file_pages>(2)\t2.6\t3.16 以降では非推奨\n"
15352
15353 #. type: tbl table
15354 #: build/C/man2/syscalls.2:441
15355 #, no-wrap
15356 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
15357 msgstr "B<removexattr>(2)\t2.6; 2.4.18\n"
15358
15359 #. type: tbl table
15360 #: build/C/man2/syscalls.2:442
15361 #, no-wrap
15362 msgid "B<rename>(2)\t1.0\n"
15363 msgstr "B<rename>(2)\t1.0\n"
15364
15365 #. type: tbl table
15366 #: build/C/man2/syscalls.2:443
15367 #, no-wrap
15368 msgid "B<renameat>(2)\t2.6.16\n"
15369 msgstr "B<renameat>(2)\t2.6.16\n"
15370
15371 #. type: tbl table
15372 #: build/C/man2/syscalls.2:444
15373 #, no-wrap
15374 msgid "B<renameat2>(2)\t3.15\n"
15375 msgstr "B<renameat2>(2)\t3.15\n"
15376
15377 #. type: tbl table
15378 #: build/C/man2/syscalls.2:445
15379 #, no-wrap
15380 msgid "B<request_key>(2)\t2.6.11\n"
15381 msgstr "B<request_key>(2)\t2.6.11\n"
15382
15383 #. type: tbl table
15384 #: build/C/man2/syscalls.2:446
15385 #, no-wrap
15386 msgid "B<restart_syscall>(2)\t2.6\n"
15387 msgstr "B<restart_syscall>(2)\t2.6\n"
15388
15389 #. type: tbl table
15390 #: build/C/man2/syscalls.2:447
15391 #, no-wrap
15392 msgid "B<rmdir>(2)\t1.0\n"
15393 msgstr "B<rmdir>(2)\t1.0\n"
15394
15395 #. type: tbl table
15396 #: build/C/man2/syscalls.2:448
15397 #, no-wrap
15398 msgid "B<rt_sigaction>(2)\t2.2\n"
15399 msgstr "B<rt_sigaction>(2)\t2.2\n"
15400
15401 #. type: tbl table
15402 #: build/C/man2/syscalls.2:449
15403 #, no-wrap
15404 msgid "B<rt_sigpending>(2)\t2.2\n"
15405 msgstr "B<rt_sigpending>(2)\t2.2\n"
15406
15407 #. type: tbl table
15408 #: build/C/man2/syscalls.2:450
15409 #, no-wrap
15410 msgid "B<rt_sigprocmask>(2)\t2.2\n"
15411 msgstr "B<rt_sigprocmask>(2)\t2.2\n"
15412
15413 #. type: tbl table
15414 #: build/C/man2/syscalls.2:451
15415 #, no-wrap
15416 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
15417 msgstr "B<rt_sigqueueinfo>(2)\t2.2\n"
15418
15419 #. type: tbl table
15420 #: build/C/man2/syscalls.2:452
15421 #, no-wrap
15422 msgid "B<rt_sigreturn>(2)\t2.2\n"
15423 msgstr "B<rt_sigreturn>(2)\t2.2\n"
15424
15425 #. type: tbl table
15426 #: build/C/man2/syscalls.2:453
15427 #, no-wrap
15428 msgid "B<rt_sigsuspend>(2)\t2.2\n"
15429 msgstr "B<rt_sigsuspend>(2)\t2.2\n"
15430
15431 #. type: tbl table
15432 #: build/C/man2/syscalls.2:454
15433 #, no-wrap
15434 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
15435 msgstr "B<rt_sigtimedwait>(2)\t2.2\n"
15436
15437 #. type: tbl table
15438 #: build/C/man2/syscalls.2:455
15439 #, no-wrap
15440 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
15441 msgstr "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
15442
15443 #. type: tbl table
15444 #: build/C/man2/syscalls.2:456
15445 #, no-wrap
15446 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
15447 msgstr "B<s390_runtime_instr>(2)\t3.7\ts390 のみ\n"
15448
15449 #. type: tbl table
15450 #: build/C/man2/syscalls.2:457
15451 #, no-wrap
15452 msgid "B<s390_pci_mmio_read>(2)\t3.19\ts390 only\n"
15453 msgstr "B<s390_pci_mmio_read>(2)\t3.19\ts390 のみ\n"
15454
15455 #. type: tbl table
15456 #: build/C/man2/syscalls.2:458
15457 #, no-wrap
15458 msgid "B<s390_pci_mmio_write>(2)\t3.19\ts390 only\n"
15459 msgstr "B<s390_pci_mmio_write>(2)\t3.19\ts390 のみ\n"
15460
15461 #. type: tbl table
15462 #: build/C/man2/syscalls.2:459
15463 #, no-wrap
15464 msgid "B<sched_get_priority_max>(2)\t2.0\n"
15465 msgstr "B<sched_get_priority_max>(2)\t2.0\n"
15466
15467 #. type: tbl table
15468 #: build/C/man2/syscalls.2:460
15469 #, no-wrap
15470 msgid "B<sched_get_priority_min>(2)\t2.0\n"
15471 msgstr "B<sched_get_priority_min>(2)\t2.0\n"
15472
15473 #. type: tbl table
15474 #: build/C/man2/syscalls.2:461
15475 #, no-wrap
15476 msgid "B<sched_getaffinity>(2)\t2.6\n"
15477 msgstr "B<sched_getaffinity>(2)\t2.6\n"
15478
15479 #. type: tbl table
15480 #: build/C/man2/syscalls.2:462
15481 #, no-wrap
15482 msgid "B<sched_getattr>(2)\t3.14\n"
15483 msgstr "B<sched_getattr>(2)\t3.14\n"
15484
15485 #. type: tbl table
15486 #: build/C/man2/syscalls.2:463
15487 #, no-wrap
15488 msgid "B<sched_getparam>(2)\t2.0\n"
15489 msgstr "B<sched_getparam>(2)\t2.0\n"
15490
15491 #. type: tbl table
15492 #: build/C/man2/syscalls.2:464
15493 #, no-wrap
15494 msgid "B<sched_getscheduler>(2)\t2.0\n"
15495 msgstr "B<sched_getscheduler>(2)\t2.0\n"
15496
15497 #. type: tbl table
15498 #: build/C/man2/syscalls.2:465
15499 #, no-wrap
15500 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
15501 msgstr "B<sched_rr_get_interval>(2)\t2.0\n"
15502
15503 #. type: tbl table
15504 #: build/C/man2/syscalls.2:466
15505 #, no-wrap
15506 msgid "B<sched_setaffinity>(2)\t2.6\n"
15507 msgstr "B<sched_setaffinity>(2)\t2.6\n"
15508
15509 #. type: tbl table
15510 #: build/C/man2/syscalls.2:467
15511 #, no-wrap
15512 msgid "B<sched_setattr>(2)\t3.14\n"
15513 msgstr "B<sched_setattr>(2)\t3.14\n"
15514
15515 #. type: tbl table
15516 #: build/C/man2/syscalls.2:468
15517 #, no-wrap
15518 msgid "B<sched_setparam>(2)\t2.0\n"
15519 msgstr "B<sched_setparam>(2)\t2.0\n"
15520
15521 #. type: tbl table
15522 #: build/C/man2/syscalls.2:469
15523 #, no-wrap
15524 msgid "B<sched_setscheduler>(2)\t2.0\n"
15525 msgstr "B<sched_setscheduler>(2)\t2.0\n"
15526
15527 #. type: tbl table
15528 #: build/C/man2/syscalls.2:470
15529 #, no-wrap
15530 msgid "B<sched_yield>(2)\t2.0\n"
15531 msgstr "B<sched_yield>(2)\t2.0\n"
15532
15533 #. type: tbl table
15534 #: build/C/man2/syscalls.2:471
15535 #, no-wrap
15536 msgid "B<seccomp>(2)\t3.17\n"
15537 msgstr "B<seccomp>(2)\t3.17\n"
15538
15539 #. type: tbl table
15540 #: build/C/man2/syscalls.2:472
15541 #, no-wrap
15542 msgid "B<select>(2)\t1.0\n"
15543 msgstr "B<select>(2)\t1.0\n"
15544
15545 #. type: tbl table
15546 #: build/C/man2/syscalls.2:473
15547 #, no-wrap
15548 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15549 msgstr "B<semctl>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15550
15551 #. type: tbl table
15552 #: build/C/man2/syscalls.2:474
15553 #, no-wrap
15554 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15555 msgstr "B<semget>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15556
15557 #. type: tbl table
15558 #: build/C/man2/syscalls.2:475
15559 #, no-wrap
15560 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15561 msgstr "B<semop>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15562
15563 #. type: tbl table
15564 #: build/C/man2/syscalls.2:476
15565 #, no-wrap
15566 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
15567 msgstr "B<semtimedop>(2)\t2.6; 2.4.22\n"
15568
15569 #. type: tbl table
15570 #: build/C/man2/syscalls.2:477
15571 #, no-wrap
15572 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15573 msgstr "B<send>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15574
15575 #. type: tbl table
15576 #: build/C/man2/syscalls.2:478
15577 #, no-wrap
15578 msgid "B<sendfile>(2)\t2.2\n"
15579 msgstr "B<sendfile>(2)\t2.2\n"
15580
15581 #. type: tbl table
15582 #: build/C/man2/syscalls.2:479
15583 #, no-wrap
15584 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
15585 msgstr "B<sendfile64>(2)\t2.6; 2.4.19\n"
15586
15587 #. type: tbl table
15588 #: build/C/man2/syscalls.2:480
15589 #, no-wrap
15590 msgid "B<sendmmsg>(2)\t3.0\n"
15591 msgstr "B<sendmmsg>(2)\t3.0\n"
15592
15593 #. type: tbl table
15594 #: build/C/man2/syscalls.2:481
15595 #, no-wrap
15596 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15597 msgstr "B<sendmsg>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15598
15599 #. type: tbl table
15600 #: build/C/man2/syscalls.2:482
15601 #, no-wrap
15602 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15603 msgstr "B<sendto>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15604
15605 #. type: tbl table
15606 #: build/C/man2/syscalls.2:483
15607 #, no-wrap
15608 msgid "B<set_mempolicy>(2)\t2.6.6\n"
15609 msgstr "B<set_mempolicy>(2)\t2.6.6\n"
15610
15611 #. type: tbl table
15612 #: build/C/man2/syscalls.2:484
15613 #, no-wrap
15614 msgid "B<set_robust_list>(2)\t2.6.17\n"
15615 msgstr "B<set_robust_list>(2)\t2.6.17\n"
15616
15617 #. type: tbl table
15618 #: build/C/man2/syscalls.2:485
15619 #, no-wrap
15620 msgid "B<set_thread_area>(2)\t2.6\n"
15621 msgstr "B<set_thread_area>(2)\t2.6\n"
15622
15623 #. type: tbl table
15624 #: build/C/man2/syscalls.2:486
15625 #, no-wrap
15626 msgid "B<set_tid_address>(2)\t2.6\n"
15627 msgstr "B<set_tid_address>(2)\t2.6\n"
15628
15629 #.  See http://lkml.org/lkml/2005/8/1/83
15630 #.  "[PATCH] remove sys_set_zone_reclaim()"
15631 #. type: tbl table
15632 #: build/C/man2/syscalls.2:489
15633 #, no-wrap
15634 msgid "B<setdomainname>(2)\t1.0\n"
15635 msgstr "B<setdomainname>(2)\t1.0\n"
15636
15637 #. type: tbl table
15638 #: build/C/man2/syscalls.2:490
15639 #, no-wrap
15640 msgid "B<setfsgid>(2)\t1.2\n"
15641 msgstr "B<setfsgid>(2)\t1.2\n"
15642
15643 #. type: tbl table
15644 #: build/C/man2/syscalls.2:491
15645 #, no-wrap
15646 msgid "B<setfsgid32>(2)\t2.4\n"
15647 msgstr "B<setfsgid32>(2)\t2.4\n"
15648
15649 #. type: tbl table
15650 #: build/C/man2/syscalls.2:492
15651 #, no-wrap
15652 msgid "B<setfsuid>(2)\t1.2\n"
15653 msgstr "B<setfsuid>(2)\t1.2\n"
15654
15655 #. type: tbl table
15656 #: build/C/man2/syscalls.2:493
15657 #, no-wrap
15658 msgid "B<setfsuid32>(2)\t2.4\n"
15659 msgstr "B<setfsuid32>(2)\t2.4\n"
15660
15661 #. type: tbl table
15662 #: build/C/man2/syscalls.2:494
15663 #, no-wrap
15664 msgid "B<setgid>(2)\t1.0\n"
15665 msgstr "B<setgid>(2)\t1.0\n"
15666
15667 #. type: tbl table
15668 #: build/C/man2/syscalls.2:495
15669 #, no-wrap
15670 msgid "B<setgid32>(2)\t2.4\n"
15671 msgstr "B<setgid32>(2)\t2.4\n"
15672
15673 #. type: tbl table
15674 #: build/C/man2/syscalls.2:496
15675 #, no-wrap
15676 msgid "B<setgroups>(2)\t1.0\n"
15677 msgstr "B<setgroups>(2)\t1.0\n"
15678
15679 #. type: tbl table
15680 #: build/C/man2/syscalls.2:497
15681 #, no-wrap
15682 msgid "B<setgroups32>(2)\t2.4\n"
15683 msgstr "B<setgroups32>(2)\t2.4\n"
15684
15685 #. type: tbl table
15686 #: build/C/man2/syscalls.2:498
15687 #, no-wrap
15688 msgid "B<sethostname>(2)\t1.0\n"
15689 msgstr "B<sethostname>(2)\t1.0\n"
15690
15691 #. type: tbl table
15692 #: build/C/man2/syscalls.2:499
15693 #, no-wrap
15694 msgid "B<setitimer>(2)\t1.0\n"
15695 msgstr "B<setitimer>(2)\t1.0\n"
15696
15697 #. type: tbl table
15698 #: build/C/man2/syscalls.2:500
15699 #, no-wrap
15700 msgid "B<setns>(2)\t3.0\n"
15701 msgstr "B<setns>(2)\t3.0\n"
15702
15703 #. type: tbl table
15704 #: build/C/man2/syscalls.2:501
15705 #, no-wrap
15706 msgid "B<setpgid>(2)\t1.0\n"
15707 msgstr "B<setpgid>(2)\t1.0\n"
15708
15709 #. type: tbl table
15710 #: build/C/man2/syscalls.2:502
15711 #, no-wrap
15712 msgid "B<setpriority>(2)\t1.0\n"
15713 msgstr "B<setpriority>(2)\t1.0\n"
15714
15715 #. type: tbl table
15716 #: build/C/man2/syscalls.2:503
15717 #, no-wrap
15718 msgid "B<setregid>(2)\t1.0\n"
15719 msgstr "B<setregid>(2)\t1.0\n"
15720
15721 #. type: tbl table
15722 #: build/C/man2/syscalls.2:504
15723 #, no-wrap
15724 msgid "B<setregid32>(2)\t2.4\n"
15725 msgstr "B<setregid32>(2)\t2.4\n"
15726
15727 #. type: tbl table
15728 #: build/C/man2/syscalls.2:505
15729 #, no-wrap
15730 msgid "B<setresgid>(2)\t2.2\n"
15731 msgstr "B<setresgid>(2)\t2.2\n"
15732
15733 #. type: tbl table
15734 #: build/C/man2/syscalls.2:506
15735 #, no-wrap
15736 msgid "B<setresgid32>(2)\t2.4\n"
15737 msgstr "B<setresgid32>(2)\t2.4\n"
15738
15739 #. type: tbl table
15740 #: build/C/man2/syscalls.2:507
15741 #, no-wrap
15742 msgid "B<setresuid>(2)\t2.2\n"
15743 msgstr "B<setresuid>(2)\t2.2\n"
15744
15745 #. type: tbl table
15746 #: build/C/man2/syscalls.2:508
15747 #, no-wrap
15748 msgid "B<setresuid32>(2)\t2.4\n"
15749 msgstr "B<setresuid32>(2)\t2.4\n"
15750
15751 #. type: tbl table
15752 #: build/C/man2/syscalls.2:509
15753 #, no-wrap
15754 msgid "B<setreuid>(2)\t1.0\n"
15755 msgstr "B<setreuid>(2)\t1.0\n"
15756
15757 #. type: tbl table
15758 #: build/C/man2/syscalls.2:510
15759 #, no-wrap
15760 msgid "B<setreuid32>(2)\t2.4\n"
15761 msgstr "B<setreuid32>(2)\t2.4\n"
15762
15763 #. type: tbl table
15764 #: build/C/man2/syscalls.2:511
15765 #, no-wrap
15766 msgid "B<setrlimit>(2)\t1.0\n"
15767 msgstr "B<setrlimit>(2)\t1.0\n"
15768
15769 #. type: tbl table
15770 #: build/C/man2/syscalls.2:512
15771 #, no-wrap
15772 msgid "B<setsid>(2)\t1.0\n"
15773 msgstr "B<setsid>(2)\t1.0\n"
15774
15775 #. type: tbl table
15776 #: build/C/man2/syscalls.2:513
15777 #, no-wrap
15778 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15779 msgstr "B<setsockopt>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15780
15781 #. type: tbl table
15782 #: build/C/man2/syscalls.2:514
15783 #, no-wrap
15784 msgid "B<settimeofday>(2)\t1.0\n"
15785 msgstr "B<settimeofday>(2)\t1.0\n"
15786
15787 #. type: tbl table
15788 #: build/C/man2/syscalls.2:515
15789 #, no-wrap
15790 msgid "B<setuid>(2)\t1.0\n"
15791 msgstr "B<setuid>(2)\t1.0\n"
15792
15793 #. type: tbl table
15794 #: build/C/man2/syscalls.2:516
15795 #, no-wrap
15796 msgid "B<setuid32>(2)\t2.4\n"
15797 msgstr "B<setuid32>(2)\t2.4\n"
15798
15799 #. type: tbl table
15800 #: build/C/man2/syscalls.2:517
15801 #, no-wrap
15802 msgid "B<setup>(2)\t1.0\tRemoved in 2.2\n"
15803 msgstr "B<setup>(2)\t1.0\t2.2 で削除\n"
15804
15805 #. type: tbl table
15806 #: build/C/man2/syscalls.2:518
15807 #, no-wrap
15808 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
15809 msgstr "B<setxattr>(2)\t2.6; 2.4.18\n"
15810
15811 #. type: tbl table
15812 #: build/C/man2/syscalls.2:519
15813 #, no-wrap
15814 msgid "B<sgetmask>(2)\t1.0\n"
15815 msgstr "B<sgetmask>(2)\t1.0\n"
15816
15817 #. type: tbl table
15818 #: build/C/man2/syscalls.2:520
15819 #, no-wrap
15820 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15821 msgstr "B<shmat>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15822
15823 #. type: tbl table
15824 #: build/C/man2/syscalls.2:521
15825 #, no-wrap
15826 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15827 msgstr "B<shmctl>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15828
15829 #. type: tbl table
15830 #: build/C/man2/syscalls.2:522
15831 #, no-wrap
15832 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15833 msgstr "B<shmdt>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15834
15835 #. type: tbl table
15836 #: build/C/man2/syscalls.2:523
15837 #, no-wrap
15838 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15839 msgstr "B<shmget>(2)\t2.0\tB<ipc>(2) の「注意」の節を参照\n"
15840
15841 #. type: tbl table
15842 #: build/C/man2/syscalls.2:524
15843 #, no-wrap
15844 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15845 msgstr "B<shutdown>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15846
15847 #. type: tbl table
15848 #: build/C/man2/syscalls.2:525
15849 #, no-wrap
15850 msgid "B<sigaction>(2)\t1.0\n"
15851 msgstr "B<sigaction>(2)\t1.0\n"
15852
15853 #. type: tbl table
15854 #: build/C/man2/syscalls.2:526
15855 #, no-wrap
15856 msgid "B<sigaltstack>(2)\t2.2\n"
15857 msgstr "B<sigaltstack>(2)\t2.2\n"
15858
15859 #. type: tbl table
15860 #: build/C/man2/syscalls.2:527
15861 #, no-wrap
15862 msgid "B<signal>(2)\t1.0\n"
15863 msgstr "B<signal>(2)\t1.0\n"
15864
15865 #. type: tbl table
15866 #: build/C/man2/syscalls.2:528
15867 #, no-wrap
15868 msgid "B<signalfd>(2)\t2.6.22\n"
15869 msgstr "B<signalfd>(2)\t2.6.22\n"
15870
15871 #. type: tbl table
15872 #: build/C/man2/syscalls.2:529
15873 #, no-wrap
15874 msgid "B<signalfd4>(2)\t2.6.27\n"
15875 msgstr "B<signalfd4>(2)\t2.6.27\n"
15876
15877 #. type: tbl table
15878 #: build/C/man2/syscalls.2:530
15879 #, no-wrap
15880 msgid "B<sigpending>(2)\t1.0\n"
15881 msgstr "B<sigpending>(2)\t1.0\n"
15882
15883 #. type: tbl table
15884 #: build/C/man2/syscalls.2:531
15885 #, no-wrap
15886 msgid "B<sigprocmask>(2)\t1.0\n"
15887 msgstr "B<sigprocmask>(2)\t1.0\n"
15888
15889 #. type: tbl table
15890 #: build/C/man2/syscalls.2:532
15891 #, no-wrap
15892 msgid "B<sigreturn>(2)\t1.0\n"
15893 msgstr "B<sigreturn>(2)\t1.0\n"
15894
15895 #. type: tbl table
15896 #: build/C/man2/syscalls.2:533
15897 #, no-wrap
15898 msgid "B<sigsuspend>(2)\t1.0\n"
15899 msgstr "B<sigsuspend>(2)\t1.0\n"
15900
15901 #. type: tbl table
15902 #: build/C/man2/syscalls.2:534
15903 #, no-wrap
15904 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15905 msgstr "B<socket>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15906
15907 #. type: tbl table
15908 #: build/C/man2/syscalls.2:535
15909 #, no-wrap
15910 msgid "B<socketcall>(2)\t1.0\n"
15911 msgstr "B<socketcall>(2)\t1.0\n"
15912
15913 #.  Implements BSD socket calls
15914 #. type: tbl table
15915 #: build/C/man2/syscalls.2:537
15916 #, no-wrap
15917 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15918 msgstr "B<socketpair>(2)\t2.0\tB<socketcall>(2) の「注意」の節を参照\n"
15919
15920 #. type: tbl table
15921 #: build/C/man2/syscalls.2:538
15922 #, no-wrap
15923 msgid "B<splice>(2)\t2.6.17\n"
15924 msgstr "B<splice>(2)\t2.6.17\n"
15925
15926 #. type: tbl table
15927 #: build/C/man2/syscalls.2:539
15928 #, no-wrap
15929 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
15930 msgstr "B<spu_create>(2)\t2.6.16\tPowerPC のみ\n"
15931
15932 #. type: tbl table
15933 #: build/C/man2/syscalls.2:540
15934 #, no-wrap
15935 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
15936 msgstr "B<spu_run>(2)\t2.6.16\tPowerPC のみ\n"
15937
15938 #. type: tbl table
15939 #: build/C/man2/syscalls.2:541
15940 #, no-wrap
15941 msgid "B<ssetmask>(2)\t1.0\n"
15942 msgstr "B<ssetmask>(2)\t1.0\n"
15943
15944 #. type: tbl table
15945 #: build/C/man2/syscalls.2:542
15946 #, no-wrap
15947 msgid "B<stat>(2)\t1.0\n"
15948 msgstr "B<stat>(2)\t1.0\n"
15949
15950 #. type: tbl table
15951 #: build/C/man2/syscalls.2:543
15952 #, no-wrap
15953 msgid "B<stat64>(2)\t2.4\n"
15954 msgstr "B<stat64>(2)\t2.4\n"
15955
15956 #. type: tbl table
15957 #: build/C/man2/syscalls.2:544
15958 #, no-wrap
15959 msgid "B<statfs>(2)\t1.0\n"
15960 msgstr "B<statfs>(2)\t1.0\n"
15961
15962 #. type: tbl table
15963 #: build/C/man2/syscalls.2:545
15964 #, no-wrap
15965 msgid "B<statfs64>(2)\t2.6\n"
15966 msgstr "B<statfs64>(2)\t2.6\n"
15967
15968 #. type: tbl table
15969 #: build/C/man2/syscalls.2:546
15970 #, no-wrap
15971 msgid "B<stime>(2)\t1.0\n"
15972 msgstr "B<stime>(2)\t1.0\n"
15973
15974 #. type: tbl table
15975 #: build/C/man2/syscalls.2:547
15976 #, no-wrap
15977 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC only\n"
15978 msgstr "B<subpage_prot>(2)\t2.6.25\tPowerPC のみ\n"
15979
15980 #. type: tbl table
15981 #: build/C/man2/syscalls.2:548
15982 #, no-wrap
15983 msgid "B<swapoff>(2)\t1.0\n"
15984 msgstr "B<swapoff>(2)\t1.0\n"
15985
15986 #. type: tbl table
15987 #: build/C/man2/syscalls.2:549
15988 #, no-wrap
15989 msgid "B<swapon>(2)\t1.0\n"
15990 msgstr "B<swapon>(2)\t1.0\n"
15991
15992 #. type: tbl table
15993 #: build/C/man2/syscalls.2:550
15994 #, no-wrap
15995 msgid "B<symlink>(2)\t1.0\n"
15996 msgstr "B<symlink>(2)\t1.0\n"
15997
15998 #. type: tbl table
15999 #: build/C/man2/syscalls.2:551
16000 #, no-wrap
16001 msgid "B<symlinkat>(2)\t2.6.16\n"
16002 msgstr "B<symlinkat>(2)\t2.6.16\n"
16003
16004 #. type: tbl table
16005 #: build/C/man2/syscalls.2:552
16006 #, no-wrap
16007 msgid "B<sync>(2)\t1.0\n"
16008 msgstr "B<sync>(2)\t1.0\n"
16009
16010 #. type: tbl table
16011 #: build/C/man2/syscalls.2:553
16012 #, no-wrap
16013 msgid "B<sync_file_range>(2)\t2.6.17\n"
16014 msgstr "B<sync_file_range>(2)\t2.6.17\n"
16015
16016 #. type: tbl table
16017 #: build/C/man2/syscalls.2:554
16018 #, no-wrap
16019 msgid "B<sync_file_range2>(2)\t2.6.22\n"
16020 msgstr "B<sync_file_range2>(2)\t2.6.22\n"
16021
16022 #.  PowerPC, ARM, tile
16023 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
16024 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
16025 #. type: tbl table
16026 #: build/C/man2/syscalls.2:558
16027 #, no-wrap
16028 msgid "B<syncfs>(2)\t2.6.39\n"
16029 msgstr "B<syncfs>(2)\t2.6.39\n"
16030
16031 #. type: tbl table
16032 #: build/C/man2/syscalls.2:559
16033 #, no-wrap
16034 msgid "B<sysfs>(2)\t1.2\n"
16035 msgstr "B<sysfs>(2)\t1.2\n"
16036
16037 #. type: tbl table
16038 #: build/C/man2/syscalls.2:560
16039 #, no-wrap
16040 msgid "B<sysinfo>(2)\t1.0\n"
16041 msgstr "B<sysinfo>(2)\t1.0\n"
16042
16043 #. type: tbl table
16044 #: build/C/man2/syscalls.2:561
16045 #, no-wrap
16046 msgid "B<syslog>(2)\t1.0\n"
16047 msgstr "B<syslog>(2)\t1.0\n"
16048
16049 #.  glibc interface is \fBklogctl\fP(3)
16050 #. type: tbl table
16051 #: build/C/man2/syscalls.2:563
16052 #, no-wrap
16053 msgid "B<tee>(2)\t2.6.17\n"
16054 msgstr "B<tee>(2)\t2.6.17\n"
16055
16056 #. type: tbl table
16057 #: build/C/man2/syscalls.2:564
16058 #, no-wrap
16059 msgid "B<tgkill>(2)\t2.6\n"
16060 msgstr "B<tgkill>(2)\t2.6\n"
16061
16062 #. type: tbl table
16063 #: build/C/man2/syscalls.2:565
16064 #, no-wrap
16065 msgid "B<time>(2)\t1.0\n"
16066 msgstr "B<time>(2)\t1.0\n"
16067
16068 #. type: tbl table
16069 #: build/C/man2/syscalls.2:566
16070 #, no-wrap
16071 msgid "B<timer_create>(2)\t2.6\n"
16072 msgstr "B<timer_create>(2)\t2.6\n"
16073
16074 #. type: tbl table
16075 #: build/C/man2/syscalls.2:567
16076 #, no-wrap
16077 msgid "B<timer_delete>(2)\t2.6\n"
16078 msgstr "B<timer_delete>(2)\t2.6\n"
16079
16080 #. type: tbl table
16081 #: build/C/man2/syscalls.2:568
16082 #, no-wrap
16083 msgid "B<timer_getoverrun>(2)\t2.6\n"
16084 msgstr "B<timer_getoverrun>(2)\t2.6\n"
16085
16086 #. type: tbl table
16087 #: build/C/man2/syscalls.2:569
16088 #, no-wrap
16089 msgid "B<timer_gettime>(2)\t2.6\n"
16090 msgstr "B<timer_gettime>(2)\t2.6\n"
16091
16092 #. type: tbl table
16093 #: build/C/man2/syscalls.2:570
16094 #, no-wrap
16095 msgid "B<timer_settime>(2)\t2.6\n"
16096 msgstr "B<timer_settime>(2)\t2.6\n"
16097
16098 #. type: tbl table
16099 #: build/C/man2/syscalls.2:571
16100 #, no-wrap
16101 msgid "B<timerfd_create>(2)\t2.6.25\n"
16102 msgstr "B<timerfd_create>(2)\t2.6.25\n"
16103
16104 #. type: tbl table
16105 #: build/C/man2/syscalls.2:572
16106 #, no-wrap
16107 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
16108 msgstr "B<timerfd_gettime>(2)\t2.6.25\n"
16109
16110 #. type: tbl table
16111 #: build/C/man2/syscalls.2:573
16112 #, no-wrap
16113 msgid "B<timerfd_settime>(2)\t2.6.25\n"
16114 msgstr "B<timerfd_settime>(2)\t2.6.25\n"
16115
16116 #. type: tbl table
16117 #: build/C/man2/syscalls.2:574
16118 #, no-wrap
16119 msgid "B<times>(2)\t1.0\n"
16120 msgstr "B<times>(2)\t1.0\n"
16121
16122 #. type: tbl table
16123 #: build/C/man2/syscalls.2:575
16124 #, no-wrap
16125 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
16126 msgstr "B<tkill>(2)\t2.6; 2.4.22\n"
16127
16128 #. type: tbl table
16129 #: build/C/man2/syscalls.2:576
16130 #, no-wrap
16131 msgid "B<truncate>(2)\t1.0\n"
16132 msgstr "B<truncate>(2)\t1.0\n"
16133
16134 #. type: tbl table
16135 #: build/C/man2/syscalls.2:577
16136 #, no-wrap
16137 msgid "B<truncate64>(2)\t2.4\n"
16138 msgstr "B<truncate64>(2)\t2.4\n"
16139
16140 #. type: tbl table
16141 #: build/C/man2/syscalls.2:578
16142 #, no-wrap
16143 msgid "B<ugetrlimit>(2)\t2.4\n"
16144 msgstr "B<ugetrlimit>(2)\t2.4\n"
16145
16146 #. type: tbl table
16147 #: build/C/man2/syscalls.2:579
16148 #, no-wrap
16149 msgid "B<umask>(2)\t1.0\n"
16150 msgstr "B<umask>(2)\t1.0\n"
16151
16152 #. type: tbl table
16153 #: build/C/man2/syscalls.2:580
16154 #, no-wrap
16155 msgid "B<umount>(2)\t1.0\n"
16156 msgstr "B<umount>(2)\t1.0\n"
16157
16158 #.  sys_oldumount() -- __NR_umount
16159 #. type: tbl table
16160 #: build/C/man2/syscalls.2:582
16161 #, no-wrap
16162 msgid "B<umount2>(2)\t2.2\n"
16163 msgstr "B<umount2>(2)\t2.2\n"
16164
16165 #.  sys_umount() -- __NR_umount2
16166 #. type: tbl table
16167 #: build/C/man2/syscalls.2:584
16168 #, no-wrap
16169 msgid "B<uname>(2)\t1.0\n"
16170 msgstr "B<uname>(2)\t1.0\n"
16171
16172 #. type: tbl table
16173 #: build/C/man2/syscalls.2:585
16174 #, no-wrap
16175 msgid "B<unlink>(2)\t1.0\n"
16176 msgstr "B<unlink>(2)\t1.0\n"
16177
16178 #. type: tbl table
16179 #: build/C/man2/syscalls.2:586
16180 #, no-wrap
16181 msgid "B<unlinkat>(2)\t2.6.16\n"
16182 msgstr "B<unlinkat>(2)\t2.6.16\n"
16183
16184 #. type: tbl table
16185 #: build/C/man2/syscalls.2:587
16186 #, no-wrap
16187 msgid "B<unshare>(2)\t2.6.16\n"
16188 msgstr "B<unshare>(2)\t2.6.16\n"
16189
16190 #. type: tbl table
16191 #: build/C/man2/syscalls.2:588
16192 #, no-wrap
16193 msgid "B<uselib>(2)\t1.0\n"
16194 msgstr "B<uselib>(2)\t1.0\n"
16195
16196 #. type: tbl table
16197 #: build/C/man2/syscalls.2:589
16198 #, no-wrap
16199 msgid "B<ustat>(2)\t1.0\n"
16200 msgstr "B<ustat>(2)\t1.0\n"
16201
16202 #. type: tbl table
16203 #: build/C/man2/syscalls.2:590
16204 #, no-wrap
16205 msgid "B<utime>(2)\t1.0\n"
16206 msgstr "B<utime>(2)\t1.0\n"
16207
16208 #. type: tbl table
16209 #: build/C/man2/syscalls.2:591
16210 #, no-wrap
16211 msgid "B<utimensat>(2)\t2.6.22\n"
16212 msgstr "B<utimensat>(2)\t2.6.22\n"
16213
16214 #. type: tbl table
16215 #: build/C/man2/syscalls.2:592
16216 #, no-wrap
16217 msgid "B<utimes>(2)\t2.2\n"
16218 msgstr "B<utimes>(2)\t2.2\n"
16219
16220 #. type: tbl table
16221 #: build/C/man2/syscalls.2:593
16222 #, no-wrap
16223 msgid "B<utrap_install>(2)\t2.2\tSparc only\n"
16224 msgstr "B<utrap_install>(2)\t2.2\tSparc のみ\n"
16225
16226 #.  FIXME . document utrap_install()
16227 #.  There's a man page for Solaris 5.11
16228 #. type: tbl table
16229 #: build/C/man2/syscalls.2:596
16230 #, no-wrap
16231 msgid "B<vfork>(2)\t2.2\n"
16232 msgstr "B<vfork>(2)\t2.2\n"
16233
16234 #. type: tbl table
16235 #: build/C/man2/syscalls.2:597
16236 #, no-wrap
16237 msgid "B<vhangup>(2)\t1.0\n"
16238 msgstr "B<vhangup>(2)\t1.0\n"
16239
16240 #. type: tbl table
16241 #: build/C/man2/syscalls.2:598
16242 #, no-wrap
16243 msgid "B<vm86old>(2)\t1.0\tT{\n"
16244 msgstr "B<vm86old>(2)\t1.0\tT{\n"
16245
16246 #. type: tbl table
16247 #: build/C/man2/syscalls.2:599
16248 #, no-wrap
16249 msgid "Was \"vm86\"; renamed in\n"
16250 msgstr "以前は \"vm86\";\n"
16251
16252 #. type: tbl table
16253 #: build/C/man2/syscalls.2:600
16254 #, no-wrap
16255 msgid "2.0.28/2.2\n"
16256 msgstr "2.0.28/2.2 で改名された\n"
16257
16258 #. type: tbl table
16259 #: build/C/man2/syscalls.2:602
16260 #, no-wrap
16261 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
16262 msgstr "B<vm86>(2)\t2.0.28; 2.2\n"
16263
16264 #. type: tbl table
16265 #: build/C/man2/syscalls.2:603
16266 #, no-wrap
16267 msgid "B<vmsplice>(2)\t2.6.17\n"
16268 msgstr "B<vmsplice>(2)\t2.6.17\n"
16269
16270 #. type: tbl table
16271 #: build/C/man2/syscalls.2:604
16272 #, no-wrap
16273 msgid "B<wait4>(2)\t1.0\n"
16274 msgstr "B<wait4>(2)\t1.0\n"
16275
16276 #. type: tbl table
16277 #: build/C/man2/syscalls.2:605
16278 #, no-wrap
16279 msgid "B<waitid>(2)\t2.6.10\n"
16280 msgstr "B<waitid>(2)\t2.6.10\n"
16281
16282 #. type: tbl table
16283 #: build/C/man2/syscalls.2:606
16284 #, no-wrap
16285 msgid "B<waitpid>(2)\t1.0\n"
16286 msgstr "B<waitpid>(2)\t1.0\n"
16287
16288 #. type: tbl table
16289 #: build/C/man2/syscalls.2:607
16290 #, no-wrap
16291 msgid "B<write>(2)\t1.0\n"
16292 msgstr "B<write>(2)\t1.0\n"
16293
16294 #. type: tbl table
16295 #: build/C/man2/syscalls.2:608
16296 #, no-wrap
16297 msgid "B<writev>(2)\t2.0\n"
16298 msgstr "B<writev>(2)\t2.0\n"
16299
16300 #. type: Plain text
16301 #: build/C/man2/syscalls.2:617
16302 msgid "On many platforms, including x86-32, socket calls are all multiplexed (via glibc wrapper functions) through B<socketcall>(2)  and similarly System\\ V IPC calls are multiplexed through B<ipc>(2)."
16303 msgstr "x86-32 を含む多くのプラットフォームでは、ソケット関連のシステムコールは (glibc のラッパー関数を介してだが) すべて B<socketcall>(2) 経由に多重されている。 同様に、System\\ V IPC 関連のシステムコールは B<ipc>(2) 経由に多重されている。"
16304
16305 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
16306 #.  __NR_break is 17 on Linux 2.6.22/i386
16307 #.  __NR_ftime is 35 on Linux 2.6.22/i386
16308 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
16309 #.  __NR_gtty is 32 on Linux 2.6.22/i386
16310 #.  __NR_idle is 112 on Linux 2.6.22/i386
16311 #.  __NR_lock is 53 on Linux 2.6.22/i386
16312 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
16313 #.  __NR_mpx is 66 on Linux 2.6.22/i386
16314 #.  Slot has been reused
16315 #.  __NR_prof is 44 on Linux 2.6.22/i386
16316 #.  __NR_profil is 98 on Linux 2.6.22/i386
16317 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
16318 #.  __NR_security is 223 on Linux 2.4/i386
16319 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
16320 #.  on a couple of 2.6 architectures
16321 #.  __NR_stty is 31 on Linux 2.6.22/i386
16322 #.  The security call is for future use.
16323 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
16324 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
16325 #.  __NR_vserver is 273 on Linux 2.6.22/i386
16326 #. type: Plain text
16327 #: build/C/man2/syscalls.2:662
16328 msgid "Although slots are reserved for them in the system call table, the following system calls are not implemented in the standard kernel: B<afs_syscall>(2), B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), B<profil>(3), and B<ulimit>(3)  exist as library routines.  The slot for B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are for kernels patched to support STREAMS, and may never be in the standard kernel."
16329 msgstr ""
16330 "以下のシステムコールは、システムコールテーブルにスロットが予約されているが、\n"
16331 "標準のカーネルには実装されていない:\n"
16332 "B<afs_syscall>(2), B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2),\n"
16333 "B<idle>(2), B<lock>(2), B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2),\n"
16334 "B<profil>(2), B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2),\n"
16335 "B<ulimit>(2), B<vserver>(2) (B<unimplemented>(2) も参照)。\n"
16336 "しかし、B<ftime>(3), B<profil>(3), B<ulimit>(3) はライブラリルーチンとして\n"
16337 "実装されている。 B<phys>(2) 用の場所は 2.1.116 以降では B<umount>(2) 用に\n"
16338 "使用されている; 将来においても B<phys>(2) は実装されない。\n"
16339 "B<getpmsg>(2) と B<putpmsg>(2) は STREAMS 対応のパッチが適用された\n"
16340 "カーネル用であり、標準のカーネルに登場することはないかもしれない。"
16341
16342 #. type: Plain text
16343 #: build/C/man2/syscalls.2:667
16344 msgid "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed in 2.6.16; this system call was never available to user space."
16345 msgstr "B<set_zone_reclaim>(2) は少しの間だけ存在した。 Linux 2.6.13 で追加され、2.6.16 で削除された。このシステムコールがユーザー空間から使える状態になったことはない。"
16346
16347 #. type: Plain text
16348 #: build/C/man2/syscalls.2:684
16349 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."
16350 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 ビットシステムコールのフルセットも含まれている。"
16351
16352 #. type: Plain text
16353 #: build/C/man2/syscalls.2:703
16354 msgid "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 structures or scalar values passed to the system call.  Because of these changes, there are now various groups of related system calls (e.g., B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but which vary in details such as the size of their arguments.  (As noted earlier, applications are generally unaware of this: the glibc wrapper functions do some work to ensure that the right system call is invoked, and that ABI compatibility is preserved for old binaries.)  Examples of systems calls that exist in multiple versions are the following:"
16355 msgstr "時間の経過とともに、いくつかのシステムコールではインタフェースの 変更が必要になってきた。 こうした変更の理由の一つは、システムコールに渡される構造体やスカラー値 のサイズを増やす必要があることだった。 これらの変更の結果、現在では、同様の処理を実行するが 引き数のサイズなどの詳細は異なる、一連のシステムコール群が いくつか存在する (例えば、 B<truncate>(2)  と B<truncate64>(2))。 (すでに述べたように、 一般にはアプリケーションがこのことを意識することはない。 glibc のラッパー関数が、適切なシステムコールを起動し、古いバイナリに 対して ABI レベルでの互換性を保持することを保証する処理を行っている。)  複数のバージョンが存在するシステムコールの例を以下に挙げる。"
16356
16357 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
16358 #.  The stat system calls deal with three different data structures,
16359 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
16360 #. type: Plain text
16361 #: build/C/man2/syscalls.2:724
16362 msgid "By now there are three different versions of B<stat>(2): I<sys_stat>()  (slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
16363 msgstr "これまでに、 B<stat>(2)  には 3 種類の異なるバージョンが存在する。 I<sys_stat>()  (スロットは I<__NR_oldstat>)、 I<sys_newstat>()  (スロットは I<__NR_stat>)、 I<sys_stat64>()  (カーネル 2.4 で導入; スロットは I<__NR_stat64>)。 3つのうち最後のものが最新である。 B<lstat>(2)  と B<fstat>(2)  についても同様である。"
16364
16365 #. type: Plain text
16366 #: build/C/man2/syscalls.2:735
16367 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>()."
16368 msgstr "また、 I<__NR_oldolduname>, I<__NR_olduname>, I<__NR_uname> という定義は、それぞれ I<sys_olduname>(), I<sys_uname>(), I<sys_newuname>()  というルーチンを参照している。"
16369
16370 #. type: Plain text
16371 #: build/C/man2/syscalls.2:742
16372 msgid "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
16373 msgstr "Linux 2.0 では、 B<vm86>(2)  の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ I<sys_vm86old>(), I<sys_vm86>()  という名前である。"
16374
16375 #. type: Plain text
16376 #: build/C/man2/syscalls.2:753
16377 msgid "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and the new kernel routines being named I<sys_old_getrlimit>()  (slot I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
16378 msgstr "Linux 2.4 では、 B<getrlimit>(2)  の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ I<sys_old_getrlimit>()  (スロットは I<__NR_getrlimit>), I<sys_getrlimit>()  (スロットは I<__NR_ugetrlimit>)  という名前である。"
16379
16380 #.  64-bit off_t changes: ftruncate64, *stat64,
16381 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
16382 #. type: Plain text
16383 #: build/C/man2/syscalls.2:765
16384 msgid "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To support this change, a range of system calls were added (e.g., B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), superseding earlier calls of the same name without the \"32\" suffix."
16385 msgstr "Linux 2.4 で、ユーザー ID とグループ ID のサイズが 16 ビットから 32 ビットに増えた。 この変更に対応するため、いくつかのシステムコールが追加された (B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)  など)。 これらのシステムコールが、末尾の \"32\" が付かない同名の 古いバージョンに代わって使われるようになった。"
16386
16387 #. type: Plain text
16388 #: build/C/man2/syscalls.2:782
16389 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."
16390 msgstr "Linux 2.4 では、32 ビットアーキテクチャ上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや ファイルオフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイルオフセットとサイズを扱う システムコールの置き換えが必要となった。その結果、 B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), B<stat64>(2), B<statfs64>(2)  と、ファイルディスクリプターやシンボリックリンクで同じ機能を持つ システムコールが追加された。 これらのシステムコールが、末尾の \"64\" が付かない同名の 古いバージョンに代わって使われるようになった。 但し、\"stat\" 系のシステムコールはその限りではない。"
16391
16392 #. type: Plain text
16393 #: build/C/man2/syscalls.2:786
16394 msgid "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 calls exist, the other versions are obsolete."
16395 msgstr "64-bit ファイルアクセスと 32-bit UID のみを持つ 新しいプラットフォーム (alpha, ia64, s390x など) では、 *64 や *32 という名前のシステムコールはない。 *64 や *32 というシステムコールが存在する場合、 *64 や *32 がついていないシステムコールは廃止扱いである。"
16396
16397 #. type: Plain text
16398 #: build/C/man2/syscalls.2:794
16399 msgid "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of real-time signals (see B<signal>(7)).  These system calls supersede the older system calls of the same name without the \"rt_\" prefix."
16400 msgstr "リアルタイムシグナル (B<signal>(7)  参照) への対応を追加するために、 I<rt_sig*> 系のシステムコールがカーネル 2.2 で追加された。 これらのシステムコールが、先頭に \"rt_\" が付かない同名の 古いバージョンに代わって使われるようになった。"
16401
16402 #.  (used by libc 6)
16403 #.  .PP
16404 #.  Two system call numbers,
16405 #.  .IR __NR__llseek
16406 #.  and
16407 #.  .IR __NR__sysctl
16408 #.  have an additional underscore absent in
16409 #.  .IR sys_llseek ()
16410 #.  and
16411 #.  .IR sys_sysctl ().
16412 #.  In kernel 2.1.81,
16413 #.  .BR lchown (2)
16414 #.  and
16415 #.  .BR chown (2)
16416 #.  were swapped; that is,
16417 #.  .BR lchown (2)
16418 #.  was added with the semantics that were then current for
16419 #.  .BR chown (2),
16420 #.  and the semantics of the latter call were changed to what
16421 #.  they are today.
16422 #. type: Plain text
16423 #: build/C/man2/syscalls.2:844
16424 msgid "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, which caused problems in the way argument passing on the i386 used to be set up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a argument block) instead.  These days passing five arguments is not a problem any more, and there is a I<__NR__newselect> that corresponds directly to I<sys_select>()  and similarly I<__NR_mmap2>."
16425 msgstr "B<select>(2)  と B<mmap>(2)  は 5つもしくはそれ以上の引き数を使用しており、 i386 では引き数の受け渡しに問題が生じる。 そのため、他のアーキテクチャでは I<__NR_select> と I<__NR_mmap> に対応する I<sys_select>()  と I<sys_mmap>()  が存在するが、i386 では代わりに I<old_select>()  と I<old_mmap>()  というルーチンがある (これらのルーチンは引き数ブロックへのポインタを使用する)。 現在では 5つの引き数を渡すことはもはや問題ではなくなっており、 I<__NR__newselect> は I<sys_select>()  に直接対応するようになっている。 I<__NR_mmap2> についても同様である。"
16426
16427 #. type: Plain text
16428 #: build/C/man2/syscalls.2:851
16429 msgid "B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<errno>(3), B<libc>(7), B<vdso>(7)"
16430 msgstr "B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<errno>(3), B<libc>(7), B<vdso>(7)"
16431
16432 #. type: TH
16433 #: build/C/man3/sysconf.3:27
16434 #, no-wrap
16435 msgid "SYSCONF"
16436 msgstr "SYSCONF"
16437
16438 #. type: Plain text
16439 #: build/C/man3/sysconf.3:30
16440 msgid "sysconf - get configuration information at run time"
16441 msgstr "sysconf - 動作中に設定情報を取得する"
16442
16443 #. type: Plain text
16444 #: build/C/man3/sysconf.3:35
16445 #, no-wrap
16446 msgid "B<long sysconf(int >I<name>B<);>\n"
16447 msgstr "B<long sysconf(int >I<name>B<);>\n"
16448
16449 #. type: Plain text
16450 #: build/C/man3/sysconf.3:40
16451 msgid "POSIX allows an application to test at compile or run time whether certain options are supported, or what the value is of certain configurable constants or limits."
16452 msgstr "POSIX では、アプリケーションがコンパイル時や実行時に、 特定のオプションがサポートされているかや、 設定可能な特定の定数や制限 (limits) がどんな値かをテストすることができる。"
16453
16454 #. type: Plain text
16455 #: build/C/man3/sysconf.3:46
16456 msgid "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or I<E<lt>limits.hE<gt>> and testing the value of certain macros."
16457 msgstr "コンパイル時に行うには、 I<E<lt>unistd.hE<gt>> と I<E<lt>limits.hE<gt>> の両方もしくは一方をインクルードし、 特定のマクロの値を確認する。"
16458
16459 #. type: Plain text
16460 #: build/C/man3/sysconf.3:56
16461 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)."
16462 msgstr "実行時には、ここで説明する関数 B<sysconf>()  を使って数値を問い合わせることができる。 ファイルが存在するファイルシステムに関する数値は、 B<fpathconf>(3)  と B<pathconf>(3)  を使って確認できる。 文字列の値は B<confstr>(3)  を使って確認できる。"
16463
16464 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
16465 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
16466 #. type: Plain text
16467 #: build/C/man3/sysconf.3:61
16468 msgid "The values obtained from these functions are system configuration constants.  They do not change during the lifetime of a process."
16469 msgstr "これらの関数で取得される値は設定可能なシステム定数である。 これらはプロセスの生存期間の間は変化しない。"
16470
16471 #.  and 999 to indicate support for options no longer present in the latest
16472 #.  standard. (?)
16473 #. type: Plain text
16474 #: build/C/man3/sysconf.3:84
16475 msgid "For options, typically, there is a constant B<_POSIX_FOO> that may be defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run time.  If it is defined to -1, then the option is not supported.  If it is defined to 0, then relevant functions and headers exist, but one has to ask at run time what degree of support is available.  If it is defined to a value other than -1 or 0, then the option is supported.  Usually the value (such as 200112L) indicates the year and month of the POSIX revision describing the option.  Glibc uses the value 1 to indicate support as long as the POSIX revision has not been published yet.  The B<sysconf>()  argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
16476 msgstr "オプションを確認できるように、たいていは I<E<lt>unistd.hE<gt>> で定数 B<_POSIX_FOO> が定義されている。 定義されていないときは、実行時に問い合わせを行う必要がある。 その値が -1 に定義されているときは、そのオプションはサポートされていない。 0 に定義されているときは、関連する関数やヘッダファイルが存在するが、 どの程度サポートされているかは実行時に確認しなければならない。 -1 でも 0 でもない値に定義されているときは、そのオプションがサポート されている。通常は、そのオプションについて記載した POSIX の改訂年月 を示す値になっている (例えば 200112L)。 glibc では 1 が設定されていると、そのオプションはサポートされているが、 POSIX の改訂版がまだ発行されていないことを示す。 B<sysconf>()  の引き数には B<_SC_FOO> を指定する。 オプションのリストについては B<posixoptions>(7)  を参照のこと。"
16477
16478 #. type: Plain text
16479 #: build/C/man3/sysconf.3:104
16480 msgid "For variables or limits, typically, there is a constant B<_FOO>, maybe defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is unspecified.  If the constant is defined, it gives a guaranteed value, and a greater value might actually be supported.  If an application wants to take advantage of values which may change between systems, a call to B<sysconf>()  can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
16481 msgstr "変数や制限を確認できるように、たいていは、 I<E<lt>limits.hE<gt>> で定数 B<_FOO> が、 I<E<lt>unistd.hE<gt>> で B<_POSIX_FOO> が定義されている。 制限が規定されていない場合は定数は定義されない。 定数が定義されているときには、その定数は保証できる値であり、 実際にはもっと大きな値がサポートされていることもある。 アプリケーションがシステム毎に変化する値を利用したい場合には、 B<sysconf>()  を呼び出すことで実現できる。 B<sysconf>()  の引き数には B<_SC_FOO> を指定する。"
16482
16483 #. type: SS
16484 #: build/C/man3/sysconf.3:104
16485 #, no-wrap
16486 msgid "POSIX.1 variables"
16487 msgstr "POSIX.1 変数"
16488
16489 #. type: Plain text
16490 #: build/C/man3/sysconf.3:109
16491 msgid "We give the name of the variable, the name of the B<sysconf>()  argument used to inquire about its value, and a short description."
16492 msgstr "変数名、その値を取得するのに使われる B<sysconf>()  のパラメーター名、簡単な説明を以下に示す。"
16493
16494 #.  [for the moment: only the things that are unconditionally present]
16495 #.  .TP
16496 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
16497 #.  (if _POSIX_ASYNCHRONOUS_IO)
16498 #.  Maximum number of I/O operations in a single list I/O call.
16499 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
16500 #.  .TP
16501 #.  .BR AIO_MAX " - " _SC_AIO_MAX
16502 #.  (if _POSIX_ASYNCHRONOUS_IO)
16503 #.  Maximum number of outstanding asynchronous I/O operations.
16504 #.  Must not be less than _POSIX_AIO_MAX.
16505 #.  .TP
16506 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
16507 #.  (if _POSIX_ASYNCHRONOUS_IO)
16508 #.  The maximum amount by which a process can decrease its
16509 #.  asynchronous I/O priority level from its own scheduling priority.
16510 #.  Must be nonnegative.
16511 #. type: Plain text
16512 #: build/C/man3/sysconf.3:128
16513 msgid "First, the POSIX.1 compatible values."
16514 msgstr "まず POSIX.1 互換の変数を示す。"
16515
16516 #. type: TP
16517 #: build/C/man3/sysconf.3:128
16518 #, no-wrap
16519 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
16520 msgstr "B<ARG_MAX> - B<_SC_ARG_MAX>"
16521
16522 #. type: Plain text
16523 #: build/C/man3/sysconf.3:136
16524 msgid "The maximum length of the arguments to the B<exec>(3)  family of functions.  Must not be less than B<_POSIX_ARG_MAX> (4096)."
16525 msgstr "B<exec>(3)  関数群の引き数の最大長。 B<_POSIX_ARG_MAX> (4096) 未満であってはならない。"
16526
16527 #. type: TP
16528 #: build/C/man3/sysconf.3:136
16529 #, no-wrap
16530 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16531 msgstr "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16532
16533 #. type: Plain text
16534 #: build/C/man3/sysconf.3:142
16535 msgid "The maximum number of simultaneous processes per user ID.  Must not be less than B<_POSIX_CHILD_MAX> (25)."
16536 msgstr "ユーザーID あたりの同時に存在できるプロセスの最大数。 B<_POSIX_CHILD_MAX> (25) 未満であってはならない。"
16537
16538 #. type: TP
16539 #: build/C/man3/sysconf.3:142
16540 #, no-wrap
16541 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16542 msgstr "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16543
16544 #. type: Plain text
16545 #: build/C/man3/sysconf.3:150
16546 msgid "Maximum length of a hostname, not including the terminating null byte, as returned by B<gethostname>(2).  Must not be less than B<_POSIX_HOST_NAME_MAX> (255)."
16547 msgstr "B<gethostname>(2)  で返されるホスト名の最大長。末尾のヌルバイトは長さに含まれない。 B<_POSIX_HOST_NAME_MAX> (255) 未満であってはならない。"
16548
16549 #. type: TP
16550 #: build/C/man3/sysconf.3:150
16551 #, no-wrap
16552 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16553 msgstr "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16554
16555 #. type: Plain text
16556 #: build/C/man3/sysconf.3:156
16557 msgid "Maximum length of a login name, including the terminating null byte.  Must not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
16558 msgstr "ログイン名の長さの最大値。末尾のヌルバイトも長さに含まれる。 B<_POSIX_LOGIN_NAME_MAX> (9) 未満であってはならない。"
16559
16560 #. type: TP
16561 #: build/C/man3/sysconf.3:156
16562 #, no-wrap
16563 msgid "B<NGROUPS_MAX> - B<_SC_NGROUPS_MAX>"
16564 msgstr "B<NGROUPS_MAX> - B<_SC_NGROUPS_MAX>"
16565
16566 #. type: Plain text
16567 #: build/C/man3/sysconf.3:159
16568 msgid "Maximum number of supplementary group IDs."
16569 msgstr "補助グループ ID の最大数。"
16570
16571 #. type: TP
16572 #: build/C/man3/sysconf.3:159
16573 #, no-wrap
16574 msgid "clock ticks - B<_SC_CLK_TCK>"
16575 msgstr "clock ticks - B<_SC_CLK_TCK>"
16576
16577 #. type: Plain text
16578 #: build/C/man3/sysconf.3:168
16579 msgid "The number of clock ticks per second.  The corresponding variable is obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
16580 msgstr "1秒あたりのクロックティック数。 対応する変数は廃止された。この変数は当然ながら B<CLK_TCK> と呼ばれていた。 (注意: マクロ B<CLOCKS_PER_SEC> からは情報は得られない: この値は 1000000 でなければならない)"
16581
16582 #. type: TP
16583 #: build/C/man3/sysconf.3:168
16584 #, no-wrap
16585 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16586 msgstr "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16587
16588 #. type: Plain text
16589 #: build/C/man3/sysconf.3:174
16590 msgid "The maximum number of files that a process can have open at any time.  Must not be less than B<_POSIX_OPEN_MAX> (20)."
16591 msgstr "一つのプロセスが同時にオープンできるファイル数の上限。 B<_POSIX_OPEN_MAX> (20) 未満であってはならない。"
16592
16593 #. type: TP
16594 #: build/C/man3/sysconf.3:174
16595 #, no-wrap
16596 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
16597 msgstr "B<PAGESIZE> - B<_SC_PAGESIZE>"
16598
16599 #. type: Plain text
16600 #: build/C/man3/sysconf.3:179
16601 msgid "Size of a page in bytes.  Must not be less than 1.  (Some systems use PAGE_SIZE instead.)"
16602 msgstr "バイト単位でのページサイズ。 1 より小さくなってはならない。 (この代わりに PAGE_SIZE を使うシステムもある)"
16603
16604 #. type: TP
16605 #: build/C/man3/sysconf.3:179 build/C/man3/sysconf.3:266
16606 #, no-wrap
16607 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16608 msgstr "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16609
16610 #. type: Plain text
16611 #: build/C/man3/sysconf.3:188
16612 msgid "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
16613 msgstr "B<regexec>(3)  と B<regcomp>(3)  で許容されている BRE (Basic Regular Expression; 基本正規表現)  の繰り返し出現回数の最大値。 B<_POSIX2_RE_DUP_MAX> (255) 未満であってはならない。"
16614
16615 #. type: TP
16616 #: build/C/man3/sysconf.3:188
16617 #, no-wrap
16618 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16619 msgstr "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16620
16621 #. type: Plain text
16622 #: build/C/man3/sysconf.3:197
16623 msgid "The maximum number of streams that a process can have open at any time.  If defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must not be less than B<_POSIX_STREAM_MAX> (8)."
16624 msgstr "一つのプロセスが同時にオープンできるストリーム数の上限。 定義されていた場合には、この値は標準 C マクロの B<FOPEN_MAX> と同じである。 B<_POSIX_STREAM_MAX> (8) 未満であってはならない。"
16625
16626 #. type: TP
16627 #: build/C/man3/sysconf.3:197
16628 #, no-wrap
16629 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16630 msgstr "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16631
16632 #. type: Plain text
16633 #: build/C/man3/sysconf.3:205
16634 msgid "The maximum number of symbolic links seen in a pathname before resolution returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
16635 msgstr "パス名の解決時に現れてもよいシンボリックリンクの最大数。 この数を超えると、パス名解決時に B<ELOOP> が返される。 B<_POSIX_SYMLOOP_MAX> (8) 未満であってはならない。"
16636
16637 #. type: TP
16638 #: build/C/man3/sysconf.3:205
16639 #, no-wrap
16640 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16641 msgstr "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16642
16643 #. type: Plain text
16644 #: build/C/man3/sysconf.3:212
16645 msgid "The maximum length of terminal device name, including the terminating null byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
16646 msgstr "端末デバイス名の最大長。長さには末尾のヌルバイトも含まれる。 B<_POSIX_TTY_NAME_MAX> (9) 未満であってはならない。"
16647
16648 #. type: TP
16649 #: build/C/man3/sysconf.3:212
16650 #, no-wrap
16651 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16652 msgstr "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16653
16654 #. type: Plain text
16655 #: build/C/man3/sysconf.3:218
16656 msgid "The maximum number of bytes in a timezone name.  Must not be less than B<_POSIX_TZNAME_MAX> (6)."
16657 msgstr "タイムゾーン名として使えるバイト数の最大値。 B<_POSIX_TZNAME_MAX> (6) 未満であってはならない。"
16658
16659 #. type: TP
16660 #: build/C/man3/sysconf.3:218
16661 #, no-wrap
16662 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
16663 msgstr "B<_POSIX_VERSION> - B<_SC_VERSION>"
16664
16665 #. type: Plain text
16666 #: build/C/man3/sysconf.3:226
16667 msgid "indicates the year and month the POSIX.1 standard was approved in the format B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
16668 msgstr "POSIX.1 標準が承認された年月。 B<YYYYMML> という書式である。 B<199009L> という値は、1990年 9月 改訂であることを示す。"
16669
16670 #. type: SS
16671 #: build/C/man3/sysconf.3:226
16672 #, no-wrap
16673 msgid "POSIX.2 variables"
16674 msgstr "POSIX.2 変数"
16675
16676 #. type: Plain text
16677 #: build/C/man3/sysconf.3:228
16678 msgid "Next, the POSIX.2 values, giving limits for utilities."
16679 msgstr "次に、POSIX.2 の値を示す。 これらは各ユーティリティに対する制限を指定する。"
16680
16681 #. type: TP
16682 #: build/C/man3/sysconf.3:228
16683 #, no-wrap
16684 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16685 msgstr "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16686
16687 #. type: Plain text
16688 #: build/C/man3/sysconf.3:235
16689 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
16690 msgstr "B<bc>(1)  ユーティリティで許容される I<obase> の最大値。"
16691
16692 #. type: TP
16693 #: build/C/man3/sysconf.3:235
16694 #, no-wrap
16695 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16696 msgstr "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16697
16698 #. type: Plain text
16699 #: build/C/man3/sysconf.3:239
16700 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
16701 msgstr "B<bc>(1)  で許容される一つの配列中の要素数の最大値。"
16702
16703 #. type: TP
16704 #: build/C/man3/sysconf.3:239
16705 #, no-wrap
16706 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16707 msgstr "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16708
16709 #. type: Plain text
16710 #: build/C/man3/sysconf.3:245
16711 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
16712 msgstr "B<bc>(1)  で許される I<scale> の最大値。"
16713
16714 #. type: TP
16715 #: build/C/man3/sysconf.3:245
16716 #, no-wrap
16717 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16718 msgstr "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16719
16720 #. type: Plain text
16721 #: build/C/man3/sysconf.3:249
16722 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
16723 msgstr "B<bc>(1)  で許容される文字列の最大長。"
16724
16725 #. type: TP
16726 #: build/C/man3/sysconf.3:249
16727 #, no-wrap
16728 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16729 msgstr "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16730
16731 #. type: Plain text
16732 #: build/C/man3/sysconf.3:255
16733 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,"
16734 msgstr "ロケール定義ファイル中の B<LC_COLLATE order> キーワードのエントリに割り当て可能な重みの最大値。"
16735
16736 #. type: TP
16737 #: build/C/man3/sysconf.3:255
16738 #, no-wrap
16739 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
16740 msgstr "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
16741
16742 #. type: Plain text
16743 #: build/C/man3/sysconf.3:260
16744 msgid "is the maximum number of expressions which can be nested within parentheses by B<expr>(1)."
16745 msgstr "B<expr>(1)  において、括弧で入れ子にできる式の最大数。"
16746
16747 #. type: TP
16748 #: build/C/man3/sysconf.3:260
16749 #, no-wrap
16750 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
16751 msgstr "B<LINE_MAX> - B<_SC_LINE_MAX>"
16752
16753 #. type: Plain text
16754 #: build/C/man3/sysconf.3:266
16755 msgid "The maximum length of a utility's input line, either from standard input or from a file.  This includes space for a trailing newline."
16756 msgstr "ユーティリティの入力行の最大長。標準入力だけでなく、ファイルからの入力にも 適用される。長さには行の末尾の改行文字も含まれる。"
16757
16758 #. type: Plain text
16759 #: build/C/man3/sysconf.3:272
16760 msgid "The maximum number of repeated occurrences of a regular expression when the interval notation B<\\e{m,n\\e}> is used."
16761 msgstr "正規表現で区間表記 (interval notation)  B<\\e{m,n\\e}> が使用されたときに許容される繰り返し出現回数の最大値。"
16762
16763 #. type: TP
16764 #: build/C/man3/sysconf.3:272
16765 #, no-wrap
16766 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
16767 msgstr "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
16768
16769 #. type: Plain text
16770 #: build/C/man3/sysconf.3:276
16771 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
16772 msgstr "POSIX.2 標準のバージョン。YYYYMML という書式で表記される。"
16773
16774 #. type: TP
16775 #: build/C/man3/sysconf.3:276
16776 #, no-wrap
16777 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
16778 msgstr "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
16779
16780 #. type: Plain text
16781 #: build/C/man3/sysconf.3:280
16782 msgid "indicates whether the POSIX.2 C language development facilities are supported."
16783 msgstr "POSIX.2 の C 言語開発機能がサポートされているかを示す。"
16784
16785 #. type: TP
16786 #: build/C/man3/sysconf.3:280
16787 #, no-wrap
16788 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
16789 msgstr "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
16790
16791 #. type: Plain text
16792 #: build/C/man3/sysconf.3:284
16793 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
16794 msgstr "POSIX.2 の FORTRAN 開発ユーティリティがサポートされているかを示す。"
16795
16796 #. type: TP
16797 #: build/C/man3/sysconf.3:284
16798 #, no-wrap
16799 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
16800 msgstr "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
16801
16802 #. type: Plain text
16803 #: build/C/man3/sysconf.3:287
16804 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
16805 msgstr "POSIX.2 の FORTRAN ランタイムユーティリティがサポートされているかを示す。"
16806
16807 #. type: TP
16808 #: build/C/man3/sysconf.3:287
16809 #, no-wrap
16810 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
16811 msgstr "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
16812
16813 #. type: Plain text
16814 #: build/C/man3/sysconf.3:292
16815 msgid "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is supported."
16816 msgstr "B<localedef>(1)  を使った、POSIX.2 のロケールの作成をサポートしているかを示す。"
16817
16818 #. type: TP
16819 #: build/C/man3/sysconf.3:292
16820 #, no-wrap
16821 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
16822 msgstr "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
16823
16824 #. type: Plain text
16825 #: build/C/man3/sysconf.3:296
16826 msgid "indicates whether the POSIX.2 software development utilities option is supported."
16827 msgstr "POSIX.2 ソフトウェア開発ユーティリティオプションがサポートされているかを示す。"
16828
16829 #. type: Plain text
16830 #: build/C/man3/sysconf.3:298
16831 msgid "These values also exist, but may not be standard."
16832 msgstr "以下の値も存在するが、標準には含まれていない。"
16833
16834 #. type: TP
16835 #: build/C/man3/sysconf.3:298
16836 #, no-wrap
16837 msgid " - B<_SC_PHYS_PAGES>"
16838 msgstr " - B<_SC_PHYS_PAGES>"
16839
16840 #. type: Plain text
16841 #: build/C/man3/sysconf.3:305
16842 msgid "The number of pages of physical memory.  Note that it is possible for the product of this value and the value of B<_SC_PAGESIZE> to overflow."
16843 msgstr "物理メモリのページ数。 この値と B<_SC_PAGESIZE> 値の積は桁溢れする可能性があるので注意すること。"
16844
16845 #. type: TP
16846 #: build/C/man3/sysconf.3:305
16847 #, no-wrap
16848 msgid " - B<_SC_AVPHYS_PAGES>"
16849 msgstr " - B<_SC_AVPHYS_PAGES>"
16850
16851 #. type: Plain text
16852 #: build/C/man3/sysconf.3:308
16853 msgid "The number of currently available pages of physical memory."
16854 msgstr "現在利用可能な物理メモリのページ数。"
16855
16856 #. type: TP
16857 #: build/C/man3/sysconf.3:308
16858 #, no-wrap
16859 msgid " - B<_SC_NPROCESSORS_CONF>"
16860 msgstr " - B<_SC_NPROCESSORS_CONF>"
16861
16862 #. type: Plain text
16863 #: build/C/man3/sysconf.3:311
16864 msgid "The number of processors configured."
16865 msgstr "設定されたプロセッサ数。"
16866
16867 #. type: TP
16868 #: build/C/man3/sysconf.3:311
16869 #, no-wrap
16870 msgid " - B<_SC_NPROCESSORS_ONLN>"
16871 msgstr " - B<_SC_NPROCESSORS_ONLN>"
16872
16873 #. type: Plain text
16874 #: build/C/man3/sysconf.3:314
16875 msgid "The number of processors currently online (available)."
16876 msgstr "現在オンラインの (利用可能な) プロセッサ数。"
16877
16878 #. type: Plain text
16879 #: build/C/man3/sysconf.3:327
16880 msgid "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  Otherwise, the value returned is the value of the system resource and I<errno> is not changed.  In the case of options, a positive value is returned if a queried option is available, and -1 if it is not.  In the case of limits, -1 means that there is no definite limit."
16881 msgstr "I<name> が不正な場合、-1 が返され、 I<errno> に B<EINVAL> が設定される。 それ以外の場合、システムリソースの値が返り値として返され、 I<errno> は変更されない。問い合わせがオプションに関するものであれば、 そのオプションが利用できる場合には正の値が返され、 利用できない場合には -1 が返される。 問い合わせが制限に関するものであれば、その制限が設定されていない場合に -1 が返される。"
16882
16883 #. type: Plain text
16884 #: build/C/man3/sysconf.3:335
16885 msgid "It is difficult to use B<ARG_MAX> because it is not specified how much of the argument space for B<exec>(3)  is consumed by the user's environment variables."
16886 msgstr "B<ARG_MAX> を使うのは難しい、なぜなら、 B<exec>(3)  の引き数領域 (argument space) のうちどれくらいが ユーザーの環境変数によって使われるかは分からないからである。"
16887
16888 #. type: Plain text
16889 #: build/C/man3/sysconf.3:347
16890 msgid "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<confstr>(3), B<fpathconf>(3), B<pathconf>(3), B<posixoptions>(7)"
16891 msgstr "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<confstr>(3), B<fpathconf>(3), B<pathconf>(3), B<posixoptions>(7)"
16892
16893 #. type: TH
16894 #: build/C/man2/sysctl.2:30
16895 #, no-wrap
16896 msgid "SYSCTL"
16897 msgstr "SYSCTL"
16898
16899 #. type: TH
16900 #: build/C/man2/sysctl.2:30
16901 #, no-wrap
16902 msgid "2012-12-22"
16903 msgstr "2012-12-22"
16904
16905 #. type: Plain text
16906 #: build/C/man2/sysctl.2:33
16907 msgid "sysctl - read/write system parameters"
16908 msgstr "sysctl - システムパラメーターを読み書きする"
16909
16910 #. type: Plain text
16911 #: build/C/man2/sysctl.2:38
16912 #, no-wrap
16913 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
16914 msgstr "B<#include E<lt>linux/sysctl.hE<gt>>\n"
16915
16916 #. type: Plain text
16917 #: build/C/man2/sysctl.2:40
16918 #, no-wrap
16919 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
16920 msgstr "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
16921
16922 #. type: Plain text
16923 #: build/C/man2/sysctl.2:47
16924 msgid "B<Do not use this system call!> See NOTES."
16925 msgstr "B<このシステムコールを使用しないこと!> 「注意」の節を参照。"
16926
16927 #. type: Plain text
16928 #: build/C/man2/sysctl.2:54
16929 msgid "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, the hostname, or the maximum number of open files.  The argument has the form"
16930 msgstr "B<_sysctl>()  コールはカーネルパラメーターを読み書きする。例えば、 ホストネームや同時にオープンできるファイルの最大数など。 引き数は以下の形式である。"
16931
16932 #. type: Plain text
16933 #: build/C/man2/sysctl.2:66
16934 #, no-wrap
16935 msgid ""
16936 "struct __sysctl_args {\n"
16937 "    int    *name;    /* integer vector describing variable */\n"
16938 "    int     nlen;    /* length of this vector */\n"
16939 "    void   *oldval;  /* 0 or address where to store old value */\n"
16940 "    size_t *oldlenp; /* available room for old value,\n"
16941 "                        overwritten by actual size of old value */\n"
16942 "    void   *newval;  /* 0 or address of new value */\n"
16943 "    size_t  newlen;  /* size of new value */\n"
16944 "};\n"
16945 msgstr ""
16946 "struct __sysctl_args {\n"
16947 "    int    *name;    /* integer vector describing variable */\n"
16948 "    int     nlen;    /* length of this vector */\n"
16949 "    void   *oldval;  /* 0 or address where to store old value */\n"
16950 "    size_t *oldlenp; /* available room for old value,\n"
16951 "                        overwritten by actual size of old value */\n"
16952 "    void   *newval;  /* 0 or address of new value */\n"
16953 "    size_t  newlen;  /* size of new value */\n"
16954 "};\n"
16955
16956 #. type: Plain text
16957 #: build/C/man2/sysctl.2:74
16958 msgid "This call does a search in a tree structure, possibly resembling a directory tree under I</proc/sys>, and if the requested item is found calls some appropriate routine to read or modify the value."
16959 msgstr "このコールは I</proc/sys> の下のディレクトリツリーに似た木構造(tree structure)を検索する。 そして、要求された項目が見つかった場合は適切なルーチンを呼び出して 値を読んだり修正したりする。"
16960
16961 #. type: Plain text
16962 #: build/C/man2/sysctl.2:81
16963 msgid "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of -1 is returned and I<errno> is set to indicate the error."
16964 msgstr "成功した場合は B<_sysctl>()  は 0 を返す。失敗した場合、-1 が返され、 I<errno> がそのエラーを示す値に設定される。"
16965
16966 #. type: Plain text
16967 #: build/C/man2/sysctl.2:88
16968 msgid "The invocation asked for the previous value by setting I<oldval> non-NULL, but allowed zero room in I<oldlenp>."
16969 msgstr "I<oldval> に NULL でない値を設定して、以前の値を要求しているのに、 I<oldlenp> に空きがない。"
16970
16971 #. type: Plain text
16972 #: build/C/man2/sysctl.2:92
16973 msgid "I<name> was not found."
16974 msgstr "I<name> が見つからなかった。"
16975
16976 #. type: TP
16977 #: build/C/man2/sysctl.2:92
16978 #, no-wrap
16979 msgid "B<EACCES>, B<EPERM>"
16980 msgstr "B<EACCES> か B<EPERM>"
16981
16982 #. type: Plain text
16983 #: build/C/man2/sysctl.2:100
16984 msgid "No search permission for one of the encountered \"directories\", or no read permission where I<oldval> was nonzero, or no write permission where I<newval> was nonzero."
16985 msgstr "「ディレクトリ」のどれかに検索許可がなかったか、 I<oldval> が 0 でないのに読み込み許可がなかったか、 I<newval> が 0 でないのに書き込み許可がなかった。"
16986
16987 #. type: Plain text
16988 #: build/C/man2/sysctl.2:114
16989 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."
16990 msgstr "このコールは Linux 特有であり、移植を意図したプログラムで使用しては いけない。 B<sysctl>()  コールは Linux のバージョン 1.3.57 から存在している。 これは 4.4BSD に由来している。Linux は I</proc/sys> に写し(mirror)をもっており、項目の名前の付け方が Linux と 4.4BSD では 異っている。しかし B<sysctl>()  関数の宣言は両方で同じである。"
16991
16992 #.  See http://lwn.net/Articles/247243/
16993 #.  Though comments in suggest that it is needed by old glibc binaries,
16994 #.  so maybe it's not going away.
16995 #. type: Plain text
16996 #: build/C/man2/sysctl.2:131
16997 msgid "Glibc does not provide a wrapper for this system call; call it using B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has long been discouraged, and it is so unloved that B<it is likely to disappear in a future kernel version>.  Since Linux 2.6.24, uses of this system call result in warnings in the kernel log.  Remove it from your programs now; use the I</proc/sys> interface instead."
16998 msgstr "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>(2) を使って呼び出すこと。というよりは・・・このシステムコールを呼び出さないこと。 長い間このシステムコールの使用は非推奨とされており、 「将来のバージョンのカーネルで削除されるようだ」と言われるほどである。 あなたのプログラムにこのシステムコールがあれば、すぐにでも削除すること。 代わりに I</proc/sys> インターフェースを使用すること。"
16999
17000 #. type: Plain text
17001 #: build/C/man2/sysctl.2:135
17002 msgid "This system call is available only if the kernel was configured with the B<CONFIG_SYSCTL_SYSCALL> option."
17003 msgstr "このシステムコールは、カーネルの B<CONFIG_SYSCTL_SYSCALL> オプションが有効になっている場合のみ利用できる。"
17004
17005 #. type: Plain text
17006 #: build/C/man2/sysctl.2:138
17007 msgid "The object names vary between kernel versions, making this system call worthless for applications."
17008 msgstr "オブジェクトの名前は、カーネルのバージョンごとに異なっている。 このため、このシステムコールはアプリケーションにとって 無価値なものとなっている。"
17009
17010 #. type: Plain text
17011 #: build/C/man2/sysctl.2:140
17012 msgid "Not all available objects are properly documented."
17013 msgstr "全ての可能な項目が正確に記述されているわけではない。"
17014
17015 #. type: Plain text
17016 #: build/C/man2/sysctl.2:143
17017 msgid "It is not yet possible to change operating system by writing to I</proc/sys/kernel/ostype>."
17018 msgstr "今のところ I</proc/sys/kernel/ostype> に書き込むことでオペーレーティングシステムを変えることはできない。"
17019
17020 #. type: Plain text
17021 #: build/C/man2/sysctl.2:152
17022 #, no-wrap
17023 msgid ""
17024 "#define _GNU_SOURCE\n"
17025 "#include E<lt>unistd.hE<gt>\n"
17026 "#include E<lt>sys/syscall.hE<gt>\n"
17027 "#include E<lt>string.hE<gt>\n"
17028 "#include E<lt>stdio.hE<gt>\n"
17029 "#include E<lt>stdlib.hE<gt>\n"
17030 "#include E<lt>linux/sysctl.hE<gt>\n"
17031 msgstr ""
17032 "#define _GNU_SOURCE\n"
17033 "#include E<lt>unistd.hE<gt>\n"
17034 "#include E<lt>sys/syscall.hE<gt>\n"
17035 "#include E<lt>string.hE<gt>\n"
17036 "#include E<lt>stdio.hE<gt>\n"
17037 "#include E<lt>stdlib.hE<gt>\n"
17038 "#include E<lt>linux/sysctl.hE<gt>\n"
17039
17040 #. type: Plain text
17041 #: build/C/man2/sysctl.2:154
17042 #, no-wrap
17043 msgid "int _sysctl(struct __sysctl_args *args );\n"
17044 msgstr "int _sysctl(struct __sysctl_args *args );\n"
17045
17046 #. type: Plain text
17047 #: build/C/man2/sysctl.2:156
17048 #, no-wrap
17049 msgid "#define OSNAMESZ 100\n"
17050 msgstr "#define OSNAMESZ 100\n"
17051
17052 #. type: Plain text
17053 #: build/C/man2/sysctl.2:164
17054 #, no-wrap
17055 msgid ""
17056 "int\n"
17057 "main(void)\n"
17058 "{\n"
17059 "    struct __sysctl_args args;\n"
17060 "    char osname[OSNAMESZ];\n"
17061 "    size_t osnamelth;\n"
17062 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
17063 msgstr ""
17064 "int\n"
17065 "main(void)\n"
17066 "{\n"
17067 "    struct __sysctl_args args;\n"
17068 "    char osname[OSNAMESZ];\n"
17069 "    size_t osnamelth;\n"
17070 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
17071
17072 #. type: Plain text
17073 #: build/C/man2/sysctl.2:170
17074 #, no-wrap
17075 msgid ""
17076 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
17077 "    args.name = name;\n"
17078 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
17079 "    args.oldval = osname;\n"
17080 "    args.oldlenp = &osnamelth;\n"
17081 msgstr ""
17082 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
17083 "    args.name = name;\n"
17084 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
17085 "    args.oldval = osname;\n"
17086 "    args.oldlenp = &osnamelth;\n"
17087
17088 #. type: Plain text
17089 #: build/C/man2/sysctl.2:172
17090 #, no-wrap
17091 msgid "    osnamelth = sizeof(osname);\n"
17092 msgstr "    osnamelth = sizeof(osname);\n"
17093
17094 #. type: Plain text
17095 #: build/C/man2/sysctl.2:180
17096 #, no-wrap
17097 msgid ""
17098 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
17099 "        perror(\"_sysctl\");\n"
17100 "        exit(EXIT_FAILURE);\n"
17101 "    }\n"
17102 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
17103 "    exit(EXIT_SUCCESS);\n"
17104 "}\n"
17105 msgstr ""
17106 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
17107 "        perror(\"_sysctl\");\n"
17108 "        exit(EXIT_FAILURE);\n"
17109 "    }\n"
17110 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
17111 "    exit(EXIT_SUCCESS);\n"
17112 "}\n"
17113
17114 #. type: Plain text
17115 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:92
17116 msgid "B<proc>(5)"
17117 msgstr "B<proc>(5)"
17118
17119 #. type: TH
17120 #: build/C/man2/sysinfo.2:14
17121 #, no-wrap
17122 msgid "SYSINFO"
17123 msgstr "SYSINFO"
17124
17125 #. type: Plain text
17126 #: build/C/man2/sysinfo.2:17
17127 msgid "sysinfo - returns information on overall system statistics"
17128 msgstr "sysinfo - システム全体の統計情報を返す。"
17129
17130 #. type: Plain text
17131 #: build/C/man2/sysinfo.2:21
17132 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
17133 msgstr "B<int sysinfo(struct sysinfo *>I<info>B<);>"
17134
17135 #. type: Plain text
17136 #: build/C/man2/sysinfo.2:25
17137 msgid "Until Linux 2.3.16, B<sysinfo>()  used to return information in the following structure:"
17138 msgstr "Linux 2.3.16 までは B<sysinfo>()  は以下の構造体に情報を入れて返す。"
17139
17140 #. type: Plain text
17141 #: build/C/man2/sysinfo.2:40
17142 #, no-wrap
17143 msgid ""
17144 "struct sysinfo {\n"
17145 "    long uptime;             /* Seconds since boot */\n"
17146 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17147 "    unsigned long totalram;  /* Total usable main memory size */\n"
17148 "    unsigned long freeram;   /* Available memory size */\n"
17149 "    unsigned long sharedram; /* Amount of shared memory */\n"
17150 "    unsigned long bufferram; /* Memory used by buffers */\n"
17151 "    unsigned long totalswap; /* Total swap space size */\n"
17152 "    unsigned long freeswap;  /* swap space still available */\n"
17153 "    unsigned short procs;    /* Number of current processes */\n"
17154 "    char _f[22];             /* Pads structure to 64 bytes */\n"
17155 "};\n"
17156 msgstr ""
17157 "struct sysinfo {\n"
17158 "    long uptime;             /* Seconds since boot */\n"
17159 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17160 "    unsigned long totalram;  /* Total usable main memory size */\n"
17161 "    unsigned long freeram;   /* Available memory size */\n"
17162 "    unsigned long sharedram; /* Amount of shared memory */\n"
17163 "    unsigned long bufferram; /* Memory used by buffers */\n"
17164 "    unsigned long totalswap; /* Total swap space size */\n"
17165 "    unsigned long freeswap;  /* swap space still available */\n"
17166 "    unsigned short procs;    /* Number of current processes */\n"
17167 "    char _f[22];             /* Pads structure to 64 bytes */\n"
17168 "};\n"
17169
17170 #. type: Plain text
17171 #: build/C/man2/sysinfo.2:44
17172 msgid "and the sizes were given in bytes."
17173 msgstr "ここでバイト単位で与えられる。"
17174
17175 #. type: Plain text
17176 #: build/C/man2/sysinfo.2:47
17177 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
17178 msgstr "Linux 2.3.23 (i386)、2.3.48 (全てのアーキテクチャ) からは構造体は"
17179
17180 #. type: Plain text
17181 #: build/C/man2/sysinfo.2:65
17182 #, no-wrap
17183 msgid ""
17184 "struct sysinfo {\n"
17185 "    long uptime;             /* Seconds since boot */\n"
17186 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17187 "    unsigned long totalram;  /* Total usable main memory size */\n"
17188 "    unsigned long freeram;   /* Available memory size */\n"
17189 "    unsigned long sharedram; /* Amount of shared memory */\n"
17190 "    unsigned long bufferram; /* Memory used by buffers */\n"
17191 "    unsigned long totalswap; /* Total swap space size */\n"
17192 "    unsigned long freeswap;  /* swap space still available */\n"
17193 "    unsigned short procs;    /* Number of current processes */\n"
17194 "    unsigned long totalhigh; /* Total high memory size */\n"
17195 "    unsigned long freehigh;  /* Available high memory size */\n"
17196 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
17197 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
17198 "};\n"
17199 msgstr ""
17200 "struct sysinfo {\n"
17201 "    long uptime;             /* Seconds since boot */\n"
17202 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17203 "    unsigned long totalram;  /* Total usable main memory size */\n"
17204 "    unsigned long freeram;   /* Available memory size */\n"
17205 "    unsigned long sharedram; /* Amount of shared memory */\n"
17206 "    unsigned long bufferram; /* Memory used by buffers */\n"
17207 "    unsigned long totalswap; /* Total swap space size */\n"
17208 "    unsigned long freeswap;  /* swap space still available */\n"
17209 "    unsigned short procs;    /* Number of current processes */\n"
17210 "    unsigned long totalhigh; /* Total high memory size */\n"
17211 "    unsigned long freehigh;  /* Available high memory size */\n"
17212 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
17213 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
17214 "};\n"
17215
17216 #. type: Plain text
17217 #: build/C/man2/sysinfo.2:69
17218 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
17219 msgstr "となり、大きさは I<mem_unit> バイトの倍数で与えられる。"
17220
17221 #. type: Plain text
17222 #: build/C/man2/sysinfo.2:74
17223 msgid "B<sysinfo>()  provides a simple way of getting overall system statistics.  This is more portable than reading I</dev/kmem>."
17224 msgstr "B<sysinfo>()  はシステム全体の統計を取得する簡単な方法を提供する。 これは I</dev/kmem> を読むよりも移植性の高い方法である。"
17225
17226 #. type: Plain text
17227 #: build/C/man2/sysinfo.2:83
17228 msgid "pointer to I<struct\\ sysinfo> is invalid"
17229 msgstr "I<sysinfo 構造体> へのポインターが不正である。"
17230
17231 #. type: Plain text
17232 #: build/C/man2/sysinfo.2:87
17233 msgid "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6."
17234 msgstr "0.98.pl6 以降の Linux カーネルに B<sysinfo>() システムコールは存在する。"
17235
17236 #. type: TH
17237 #: build/C/man3/tcgetpgrp.3:25
17238 #, no-wrap
17239 msgid "TCGETPGRP"
17240 msgstr "TCGETPGRP"
17241
17242 #. type: TH
17243 #: build/C/man3/tcgetpgrp.3:25
17244 #, no-wrap
17245 msgid "2014-01-13"
17246 msgstr "2014-01-13"
17247
17248 #. type: Plain text
17249 #: build/C/man3/tcgetpgrp.3:28
17250 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
17251 msgstr "tcgetpgrp, tcsetpgrp - 端末のフォアグラウンドプロセスグループの 取得/設定を行う"
17252
17253 #. type: Plain text
17254 #: build/C/man3/tcgetpgrp.3:32
17255 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
17256 msgstr "B<pid_t tcgetpgrp(int >I<fd>B<);>"
17257
17258 #. type: Plain text
17259 #: build/C/man3/tcgetpgrp.3:34
17260 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
17261 msgstr "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
17262
17263 #.  The process itself may be a background process.
17264 #. type: Plain text
17265 #: build/C/man3/tcgetpgrp.3:42
17266 msgid "The function B<tcgetpgrp>()  returns the process group ID of the foreground process group on the terminal associated to I<fd>, which must be the controlling terminal of the calling process."
17267 msgstr "関数 B<tcgetpgrp>()  は、 I<fd> に対応する端末のフォアグラウンドプロセスグループの プロセスグループ ID を返す。 I<fd> で指定された端末は、呼び出しを行うプロセスの制御端末でなければならない。"
17268
17269 #. type: Plain text
17270 #: build/C/man3/tcgetpgrp.3:55
17271 msgid "The function B<tcsetpgrp>()  makes the process group with process group ID I<pgrp> the foreground process group on the terminal associated to I<fd>, which must be the controlling terminal of the calling process, and still be associated with its session.  Moreover, I<pgrp> must be a (nonempty) process group belonging to the same session as the calling process."
17272 msgstr "関数 B<tcsetpgrp>()  は、プロセスグループID が I<pgrp> のプロセスグループを I<fd> に対応する端末のフォアグラウンドプロセスグループにする。 このとき、 I<fd> は B<tcsetpgrp>()  を呼び出すプロセスの制御端末でなければならない。 さらに、 I<pgrp> は、呼び出しを行うプロセスと同じセッションに 属する (メンバが空でない) プロセスグループでなければならない。"
17273
17274 #. type: Plain text
17275 #: build/C/man3/tcgetpgrp.3:64
17276 msgid "If B<tcsetpgrp>()  is called by a member of a background process group in its session, and the calling process is not blocking or ignoring B<SIGTTOU>, a B<SIGTTOU> signal is sent to all members of this background process group."
17277 msgstr "B<tcsetpgrp>()  がセッションに属するバックグラウンドグループプロセスのメンバから 呼び出され、かつ呼び出しを行うプロセスが B<SIGTTOU> をブロックしたり 無視したりするようになっていない場合、 B<SIGTTOU> シグナルは バックグラウンドプロセスグループの全てのメンバに送られる。"
17278
17279 #. type: Plain text
17280 #: build/C/man3/tcgetpgrp.3:79
17281 msgid "When I<fd> refers to the controlling terminal of the calling process, the function B<tcgetpgrp>()  will return the foreground process group ID of that terminal if there is one, and some value larger than 1 that is not presently a process group ID otherwise.  When I<fd> does not refer to the controlling terminal of the calling process, -1 is returned, and I<errno> is set appropriately."
17282 msgstr "I<fd> が呼び出しを行ったプロセスの制御端末を参照している場合、関数 B<tcgetpgrp>()  は、その制御端末のフォアグラウンドプロセスグループがあれば そのプロセスグループの ID を返す。 そのようなプロセスグループがなければ、現在プロセスグループ ID として使用されていない、1より大きな何らかの値が返される。 I<fd> が呼び出しを行ったプロセスの制御端末を参照していない場合、 -1 が返され、 I<errno> が適切に設定される。"
17283
17284 #. type: Plain text
17285 #: build/C/man3/tcgetpgrp.3:86
17286 msgid "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and I<errno> is set appropriately."
17287 msgstr "成功した場合、 B<tcsetpgrp>()  は 0 を返す。そうでない場合、 -1 を返し、 I<errno> を適切に設定する。"
17288
17289 #. type: Plain text
17290 #: build/C/man3/tcgetpgrp.3:95
17291 msgid "I<pgrp> has an unsupported value."
17292 msgstr "I<pgrp> が無効な値である。"
17293
17294 #. type: Plain text
17295 #: build/C/man3/tcgetpgrp.3:104
17296 msgid "The calling process does not have a controlling terminal, or it has one but it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling terminal is no longer associated with the session of the calling process."
17297 msgstr "呼び出しを行ったプロセスが制御端末を持っていない、もしくは 制御端末を持っているが I<fd> で参照されるものとは異なる、 B<tcsetpgrp>()  の場合は、 I<fd> で指定された制御端末がすでに呼び出しを行ったプロセスのセッション と関係のないものになっている際にも、このエラーとなる。"
17298
17299 #. type: Plain text
17300 #: build/C/man3/tcgetpgrp.3:109
17301 msgid "I<pgrp> has a supported value, but is not the process group ID of a process in the same session as the calling process."
17302 msgstr "I<pgrp> が有効な値だが、呼び出しを行ったプロセスと同じセッションに属する プロセスのプロセスグループ ID には該当するものがない。"
17303
17304 #. type: Plain text
17305 #: build/C/man3/tcgetpgrp.3:116
17306 msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
17307 msgstr "関数 B<tcgetpgrp>() と B<tcsetpgrp>() はスレッドセーフである。"
17308
17309 #. type: Plain text
17310 #: build/C/man3/tcgetpgrp.3:124
17311 msgid "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> ioctls."
17312 msgstr "この関数は B<TIOCGPGRP> と B<TIOCGSID> の ioctl 経由で実現されている。"
17313
17314 #. type: SS
17315 #: build/C/man3/tcgetpgrp.3:124 build/C/man2/vfork.2:234
17316 #, no-wrap
17317 msgid "History"
17318 msgstr "歴史"
17319
17320 #. type: Plain text
17321 #: build/C/man3/tcgetpgrp.3:127
17322 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
17323 msgstr "これらの ioctl は 4.2BSD で登場した。 これらの関数は POSIX で考案されたものである。"
17324
17325 #. type: Plain text
17326 #: build/C/man3/tcgetpgrp.3:131
17327 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
17328 msgstr "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
17329
17330 #. type: TH
17331 #: build/C/man2/truncate.2:43
17332 #, no-wrap
17333 msgid "TRUNCATE"
17334 msgstr "TRUNCATE"
17335
17336 #. type: Plain text
17337 #: build/C/man2/truncate.2:46
17338 msgid "truncate, ftruncate - truncate a file to a specified length"
17339 msgstr "truncate, ftruncate - 指定した長さにファイルを切り詰める"
17340
17341 #. type: Plain text
17342 #: build/C/man2/truncate.2:52
17343 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
17344 msgstr "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
17345
17346 #. type: Plain text
17347 #: build/C/man2/truncate.2:54
17348 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
17349 msgstr "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
17350
17351 #. type: Plain text
17352 #: build/C/man2/truncate.2:63
17353 msgid "B<truncate>():"
17354 msgstr "B<truncate>():"
17355
17356 #. type: Plain text
17357 #: build/C/man2/truncate.2:71
17358 msgid "B<ftruncate>():"
17359 msgstr "B<ftruncate>():"
17360
17361 #. type: Plain text
17362 #: build/C/man2/truncate.2:76
17363 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
17364 msgstr "|| /* glibc 2.3.5 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
17365
17366 #. type: Plain text
17367 #: build/C/man2/truncate.2:91
17368 msgid "The B<truncate>()  and B<ftruncate>()  functions cause the regular file named by I<path> or referenced by I<fd> to be truncated to a size of precisely I<length> bytes."
17369 msgstr "B<truncate>()  は I<path> で指定されるファイルを、 B<ftruncate>()  は I<fd> で参照されるファイルを I<length> バイトの長さになるように延長する、もしくは切り詰める。"
17370
17371 #. type: Plain text
17372 #: build/C/man2/truncate.2:95
17373 msgid "If the file previously was larger than this size, the extra data is lost.  If the file previously was shorter, it is extended, and the extended part reads as null bytes (\\(aq\\e0\\(aq)."
17374 msgstr "もし切り詰める前のファイルが I<length> より長ければ、length バイトを越える部分のデータは失われる。 もし切り詰める前のファイルが I<length> より短かければ、伸張される。 伸張された部分を読んだ場合はヌルバイト (\\(aq\\e0\\(aq) の列が返される。"
17375
17376 #. type: Plain text
17377 #: build/C/man2/truncate.2:97
17378 msgid "The file offset is not changed."
17379 msgstr "ファイルオフセットは変更されない。"
17380
17381 #. type: Plain text
17382 #: build/C/man2/truncate.2:104
17383 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."
17384 msgstr "大きさが変更されると、ファイルの st_ctime と st_mtime フィールド (それぞれ最終状態変更時刻、最終修正時刻; B<stat>(2)  参照) が更新される。 また、set-user-ID と set-group-ID の許可ビットがクリアされるかもしれない。"
17385
17386 #. type: Plain text
17387 #: build/C/man2/truncate.2:110
17388 msgid "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), the file must be writable."
17389 msgstr "B<ftruncate>()  の場合、ファイルは書き込み用に開いていなければならない。 B<truncate>()  の場合、ファイルは書き込み可能でなければならない。"
17390
17391 #. type: Plain text
17392 #: build/C/man2/truncate.2:118
17393 msgid "For B<truncate>():"
17394 msgstr "B<truncate>()  では以下のエラーコードが定義されている。"
17395
17396 #. type: Plain text
17397 #: build/C/man2/truncate.2:124
17398 msgid "Search permission is denied for a component of the path prefix, or the named file is not writable by the user.  (See also B<path_resolution>(7).)"
17399 msgstr "パスで指定されているディレクトリに検索許可のないものがある (訳注:x ビットが立っていない)。 あるいは、指定されたファイルに対する書き込み許可を持っていない。 (B<path_resolution>(7)  も参照のこと)"
17400
17401 #. type: Plain text
17402 #: build/C/man2/truncate.2:129
17403 msgid "The argument I<path> points outside the process's allocated address space."
17404 msgstr "引き数 I<path> がプロセスに割り当てられているアドレス空間外を指している。"
17405
17406 #. type: TP
17407 #: build/C/man2/truncate.2:129
17408 #, no-wrap
17409 msgid "B<EFBIG>"
17410 msgstr "B<EFBIG>"
17411
17412 #. type: Plain text
17413 #: build/C/man2/truncate.2:134
17414 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
17415 msgstr "引き数 I<length> が最大ファイルサイズより大きい。(XSI)"
17416
17417 #. type: Plain text
17418 #: build/C/man2/truncate.2:141
17419 msgid "While blocked waiting to complete, the call was interrupted by a signal handler; see B<fcntl>(2)  and B<signal>(7)."
17420 msgstr "完了待ちで停止 (block) している間に、呼び出しが シグナルハンドラにより割り込まれた。 B<fcntl>(2)  と B<signal>(7)  を参照。"
17421
17422 #. type: Plain text
17423 #: build/C/man2/truncate.2:146
17424 msgid "The argument I<length> is negative or larger than the maximum file size."
17425 msgstr "引き数 I<length> が負数であるか、最大ファイルサイズより大きい。"
17426
17427 #. type: Plain text
17428 #: build/C/man2/truncate.2:149
17429 msgid "An I/O error occurred updating the inode."
17430 msgstr "inode の更新時に I/O エラーが発生した。"
17431
17432 #. type: Plain text
17433 #: build/C/man2/truncate.2:152
17434 msgid "The named file is a directory."
17435 msgstr "指定されたファイルはディレクトリである。"
17436
17437 #. type: Plain text
17438 #: build/C/man2/truncate.2:155
17439 msgid "Too many symbolic links were encountered in translating the pathname."
17440 msgstr "パス名を解釈する際にシンボリックリンクが多すぎた。"
17441
17442 #. type: Plain text
17443 #: build/C/man2/truncate.2:159
17444 msgid "A component of a pathname exceeded 255 characters, or an entire pathname exceeded 1023 characters."
17445 msgstr "パス名中のディレクトリ名が 255 文字を越えている、もしくはパス名全体が 1023 文字を越えている。"
17446
17447 #. type: Plain text
17448 #: build/C/man2/truncate.2:162
17449 msgid "The named file does not exist."
17450 msgstr "指定された名前のファイルが存在しない。"
17451
17452 #.  This happens for at least MSDOS and VFAT filesystems
17453 #.  on kernel 2.6.13
17454 #. type: Plain text
17455 #: build/C/man2/truncate.2:171
17456 msgid "The underlying filesystem does not support extending a file beyond its current size."
17457 msgstr "下層にあるファイルシステムでは、現在のファイル長を越えて ファイルを伸長することができない。"
17458
17459 #. type: Plain text
17460 #: build/C/man2/truncate.2:175
17461 msgid "The operation was prevented by a file seal; see B<fcntl>(2)."
17462 msgstr "操作が file seal により禁止されている。 B<fcntl>(2) 参照。"
17463
17464 #. type: Plain text
17465 #: build/C/man2/truncate.2:181
17466 msgid "The file is a pure procedure (shared text) file that is being executed."
17467 msgstr "指定されたファイルは実行されているファイルである。"
17468
17469 #. type: Plain text
17470 #: build/C/man2/truncate.2:188
17471 msgid "For B<ftruncate>()  the same errors apply, but instead of things that can be wrong with I<path>, we now have things that can be wrong with the file descriptor, I<fd>:"
17472 msgstr "B<ftruncate>()  にも同様のエラーが適用される。 但し、 I<path> に関するエラーの場合は、ファイルディスクリプター I<fd> に関するエラーとなる。"
17473
17474 #. type: TP
17475 #: build/C/man2/truncate.2:192
17476 #, no-wrap
17477 msgid "B<EBADF> or B<EINVAL>"
17478 msgstr "B<EBADF> または B<EINVAL>"
17479
17480 #. type: Plain text
17481 #: build/C/man2/truncate.2:196
17482 msgid "I<fd> is not open for writing."
17483 msgstr "I<fd> で指定されているものが書き込みモードで開かれていない。"
17484
17485 #. type: Plain text
17486 #: build/C/man2/truncate.2:200
17487 msgid "I<fd> does not reference a regular file."
17488 msgstr "I<fd> が通常のファイルを参照していない。"
17489
17490 #.  POSIX.1-1996 has
17491 #.  .BR ftruncate ().
17492 #.  POSIX.1-2001 also has
17493 #.  .BR truncate (),
17494 #.  as an XSI extension.
17495 #.  .LP
17496 #.  SVr4 documents additional
17497 #.  .BR truncate ()
17498 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
17499 #.  .BR ftruncate ()
17500 #.  an additional EAGAIN error condition.
17501 #. type: Plain text
17502 #: build/C/man2/truncate.2:213
17503 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
17504 msgstr "4.4BSD, SVr4, POSIX.1-2001 (これらのコールは 4.2BSD で初めて登場した)。"
17505
17506 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
17507 #. type: Plain text
17508 #: build/C/man2/truncate.2:234
17509 msgid "The details in DESCRIPTION are for XSI-compliant systems.  For non-XSI-compliant systems, the POSIX standard allows two behaviors for B<ftruncate>()  when I<length> exceeds the file length (note that B<truncate>()  is not specified at all in such an environment): either returning an error, or extending the file.  Like most UNIX implementations, Linux follows the XSI requirement when dealing with native filesystems.  However, some nonnative filesystems do not permit B<truncate>()  and B<ftruncate>()  to be used to extend a file beyond its current length: a notable example on Linux is VFAT."
17510 msgstr ""
17511 "「説明」の節で述べた詳細は XSI 準拠のシステムについてのものである。\n"
17512 "XSI 非準拠のシステムの場合、POSIX 標準は B<ftruncate>() に対して I<length> が\n"
17513 "ファイルの長さより長かった場合、 エラーを返すかファイルを伸張するかの二つの\n"
17514 "動作を許容している。 B<truncate>() に対しては全く規定されていない。\n"
17515 "ほとんどの UNIX 実装と同様、Linux はネイティブ (Linux 由来) の ファイルシステム\n"
17516 "の扱いでは XSI 要求仕様にしたがっている。 しかしながら、いくつかの非ネイティブ\n"
17517 "のファイルシステムでは、 B<truncate>() や B<ftruncate>() を使って現在のファイル\n"
17518 "長を越えてファイルを伸長することができない。 Linux での有名な例としては\n"
17519 "VFAT がある。"
17520
17521 #. type: Plain text
17522 #: build/C/man2/truncate.2:248
17523 msgid "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not designed to handle large file offsets.  Consequently, Linux 2.4 added B<truncate64>()  and B<ftruncate64>()  system calls that handle large files.  However, these details can be ignored by applications using glibc, whose wrapper functions transparently employ the more recent system calls where they are available."
17524 msgstr ""
17525 "元々の Linux の B<truncate>() と B<ftruncate>() システムコールは\n"
17526 "大きなファイルオフセットを扱えるように設計されていなかった。\n"
17527 "その結果、大きなファイルファイルを扱うことができる B<truncate64>() と B<ftruncate64>()\n"
17528 "システムコールが Linux 2.4 で追加された。\n"
17529 "ただし、glibc を使ったアプリケーションではこれらの詳細は気にする必要はない。\n"
17530 "glibc のラッパー関数は新しいシステムコールが利用できる場合にはそれらを利用する\n"
17531 "ようになっているからである。"
17532
17533 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
17534 #. type: Plain text
17535 #: build/C/man2/truncate.2:261
17536 msgid "A header file bug in glibc 2.12 meant that the minimum value of B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was 200809L instead of 200112L.  This has been fixed in later glibc versions."
17537 msgstr "glibc 2.12 のヘッダファイルにはバグがあり、 B<ftruncate>()  の宣言を公開するのに必要な B<_POSIX_C_SOURCE> の最小値が 200112L ではなく 200809L となっていた。 このバグは、これ以降のバージョンの glibc では修正されている。"
17538
17539 #. type: Plain text
17540 #: build/C/man2/truncate.2:265
17541 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17542 msgstr "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17543
17544 #. type: TH
17545 #: build/C/man3/ualarm.3:24
17546 #, no-wrap
17547 msgid "UALARM"
17548 msgstr "UALARM"
17549
17550 #. type: TH
17551 #: build/C/man3/ualarm.3:24
17552 #, no-wrap
17553 msgid "2013-12-23"
17554 msgstr "2013-12-23"
17555
17556 #. type: Plain text
17557 #: build/C/man3/ualarm.3:27
17558 msgid "ualarm - schedule signal after given number of microseconds"
17559 msgstr "ualarm - 指定したマイクロ秒後にシグナルを送る予定をする"
17560
17561 #. type: Plain text
17562 #: build/C/man3/ualarm.3:32
17563 #, no-wrap
17564 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17565 msgstr "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17566
17567 #. type: Plain text
17568 #: build/C/man3/ualarm.3:40
17569 msgid "B<ualarm>():"
17570 msgstr "B<ualarm>():"
17571
17572 #. type: Plain text
17573 #: build/C/man3/ualarm.3:69
17574 msgid "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the invoking process after (not less than)  I<usecs> microseconds.  The delay may be lengthened slightly by any system activity or by the time spent processing the call or by the granularity of system timers."
17575 msgstr "B<ualarm>()  関数は、呼び出し元のプロセスに対して I<usecs> マイクロ秒 (以上) 後に B<SIGALRM> シグナルを送る。 遅れはシステムの活性度・呼び出しの処理時間・ システムタイマーの粒度によって長くなるかもしれない。"
17576
17577 #. type: Plain text
17578 #: build/C/man3/ualarm.3:73
17579 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
17580 msgstr "捕捉または無視されない限り、 B<SIGALRM> シグナルはプロセスを終了させる。"
17581
17582 #. type: Plain text
17583 #: build/C/man3/ualarm.3:81
17584 msgid "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be sent every I<interval> microseconds after the first."
17585 msgstr "I<interval> 引き数が 0 でない場合、最初の B<SIGALRM> シグナルの後、 さらに I<interval> マイクロ秒毎に SIGALRM シグナルが送られる。"
17586
17587 #. type: Plain text
17588 #: build/C/man3/ualarm.3:84
17589 msgid "This function returns the number of microseconds remaining for any alarm that was previously set, or 0 if no alarm was pending."
17590 msgstr "この関数は、過去に設定された alarm の残りマイクロ秒数を返す。 実行中の alarm がない場合は 0 を返す。"
17591
17592 #. type: Plain text
17593 #: build/C/man3/ualarm.3:88
17594 msgid "Interrupted by a signal."
17595 msgstr "シグナルによって割り込まれた。"
17596
17597 #. type: Plain text
17598 #: build/C/man3/ualarm.3:92
17599 msgid "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that is considered an error.)"
17600 msgstr "I<usecs> または I<interval> が 1000000 未満でない (これがエラーとして扱われるシステムの場合)。"
17601
17602 #. type: Plain text
17603 #: build/C/man3/ualarm.3:97
17604 msgid "The B<ualarm>()  function is thread-safe."
17605 msgstr "B<ualarm>() 関数はスレッドセーフである。"
17606
17607 #. type: Plain text
17608 #: build/C/man3/ualarm.3:105
17609 msgid "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and POSIX do not define any errors."
17610 msgstr "4.3BSD, POSIX.1-2001.  POSIX.1-2001 では B<ualarm>()  は過去のものとされている。 POSIX.1-2008 では、 B<ualarm>()  の仕様が削除されている。 4.3BSD, SUSv2, POSIX はエラーを定義していない。"
17611
17612 #.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
17613 #. type: Plain text
17614 #: build/C/man3/ualarm.3:112
17615 msgid "POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  On Linux (and probably most other systems), the effect is to cancel any pending alarm."
17616 msgstr "POSIX.1-2001 では、 I<usecs> 引き数が 0 の場合、何が起こるかは規定されていない。 Linux (やおそらく他ほとんどのシステム) では、 I<usecs> 引き数が 0 の場合、処理待ちのアラームがキャンセルされる。"
17617
17618 #. type: Plain text
17619 #: build/C/man3/ualarm.3:125
17620 msgid "The type I<useconds_t> is an unsigned integer type capable of holding integers in the range [0,1000000].  On the original BSD implementation, and in glibc before version 2.1, the arguments to B<ualarm>()  were instead typed as I<unsigned int>.  Programs will be more portable if they never mention I<useconds_t> explicitly."
17621 msgstr "I<useconds_t> 型は [0,1000000] の範囲の整数を保持できる符号なし整数型である。 もともとの BSD での実装や、バージョン 2.1 より前の glibc では、 B<ualarm>()  の引き数の型は I<unsigned int> であった。 プログラム中に明示的に I<useconds_t> と書かない方が、移植性が高くなる。"
17622
17623 #. type: Plain text
17624 #: build/C/man3/ualarm.3:139
17625 msgid "The interaction of this function with other timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
17626 msgstr "この関数と B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  のような他のタイマー関数との相互作用は規定されていない。"
17627
17628 #. type: Plain text
17629 #: build/C/man3/ualarm.3:147
17630 msgid "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers (B<timer_create>(2), etc.)  instead."
17631 msgstr "この関数は廃止予定である。 代わりに B<setitimer>(2)  もしくは POSIX インターバルタイマ (B<timer_create>(2)  など) を使うこと。"
17632
17633 #. type: Plain text
17634 #: build/C/man3/ualarm.3:155
17635 msgid "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), B<setitimer>(2), B<usleep>(3), B<time>(7)"
17636 msgstr "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), B<setitimer>(2), B<usleep>(3), B<time>(7)"
17637
17638 #. type: TH
17639 #: build/C/man2/umask.2:34
17640 #, no-wrap
17641 msgid "UMASK"
17642 msgstr "UMASK"
17643
17644 #. type: TH
17645 #: build/C/man2/umask.2:34
17646 #, no-wrap
17647 msgid "2008-01-09"
17648 msgstr "2008-01-09"
17649
17650 #. type: Plain text
17651 #: build/C/man2/umask.2:37
17652 msgid "umask - set file mode creation mask"
17653 msgstr "umask - ファイルモード作成マスクを設定する"
17654
17655 #. type: Plain text
17656 #: build/C/man2/umask.2:43
17657 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
17658 msgstr "B<mode_t umask(mode_t >I<mask>B<);>"
17659
17660 #. type: Plain text
17661 #: build/C/man2/umask.2:50
17662 msgid "B<umask>()  sets the calling process's file mode creation mask (umask) to I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), and returns the previous value of the mask."
17663 msgstr "B<umask>()  は、呼び出し元プロセスのファイルモード作成マスク (umask) を I<mask> & 0777 に設定し (I<umask> のファイル許可に対応するビットのみを使用する)、 変更前のマスク値を返す。"
17664
17665 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
17666 #.  but NOT the System V IPC *get() calls
17667 #. type: Plain text
17668 #: build/C/man2/umask.2:65
17669 msgid "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that create files to modify the permissions placed on newly created files or directories.  Specifically, permissions in the umask are turned off from the I<mode> argument to B<open>(2)  and B<mkdir>(2)."
17670 msgstr "umask は、 B<open>(2), B<mkdir>(2)  やファイル作成を行うその他のシステムコールで、 新しく作成されるファイルやディレクトリの許可 (permission) を 修正するために使用される。 具体的には umask に設定されている許可が B<open>(2)  や B<mkdir>(2)  の I<mode> 引き数から取り消される。"
17671
17672 #. type: Plain text
17673 #: build/C/man2/umask.2:70
17674 msgid "The constants that should be used to specify I<mask> are described under B<stat>(2)."
17675 msgstr "I<mask> に指定するのに使用すべき定数については B<stat>(2)  で説明されている。"
17676
17677 #. type: Plain text
17678 #: build/C/man2/umask.2:79
17679 msgid "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> (octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is specified as:"
17680 msgstr "プロセスの umask のよくあるデフォルト値は I<S_IWGRP\\ |\\ S_IWOTH> (8進で 022) である。 新しいファイルを作成する際に B<open>(2)  の I<mode> 引き数に"
17681
17682 #. type: Plain text
17683 #: build/C/man2/umask.2:82
17684 #, no-wrap
17685 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
17686 msgstr "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
17687
17688 #. type: Plain text
17689 #: build/C/man2/umask.2:86
17690 msgid "(octal 0666) when creating a new file, the permissions on the resulting file will be:"
17691 msgstr "を指定するというよくあるケースでは、作成されたファイルは"
17692
17693 #. type: Plain text
17694 #: build/C/man2/umask.2:89
17695 #, no-wrap
17696 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
17697 msgstr "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
17698
17699 #. type: Plain text
17700 #: build/C/man2/umask.2:92
17701 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
17702 msgstr "という許可を持つことになる (なぜなら 0666 & ~022 = 0644、つまり rw-r--r--)。"
17703
17704 #. type: Plain text
17705 #: build/C/man2/umask.2:95
17706 msgid "This system call always succeeds and the previous value of the mask is returned."
17707 msgstr "このシステムコールは必ず成功し、以前の umask 値を返す。"
17708
17709 #. type: Plain text
17710 #: build/C/man2/umask.2:103
17711 msgid "A child process created via B<fork>(2)  inherits its parent's umask.  The umask is left unchanged by B<execve>(2)."
17712 msgstr "B<fork>(2)  で作成された子プロセスは、親プロセスの umask を継承する。 B<execve>(2)  によって umask は変更されない。"
17713
17714 #. type: Plain text
17715 #: build/C/man2/umask.2:118
17716 msgid "The umask setting also affects the permissions assigned to POSIX IPC objects (B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and UNIX domain sockets (B<unix>(7))  created by the process.  The umask does not affect the permissions assigned to System\\ V IPC objects created by the process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
17717 msgstr "umask の設定は、そのプロセスが生成する POSIX IPC オブジェクト (B<mq_open>(3), B<sem_open>(3), B<shm_open>(3))  や FIFO (B<mkfifo>(3))、 UNIX ドメインソケット (B<unix>(7))  に設定される許可にも影響を与える。 一方、umask は、そのプロセスが (B<msgget>(2), B<semget>(2), B<shmget>(2)  を使って) 生成する System\\ V IPC オブジェクトに設定される許可には 影響を与えない。"
17718
17719 #. type: Plain text
17720 #: build/C/man2/umask.2:124
17721 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
17722 msgstr "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
17723
17724 #. type: TH
17725 #: build/C/man2/uname.2:27
17726 #, no-wrap
17727 msgid "UNAME"
17728 msgstr "UNAME"
17729
17730 #. type: Plain text
17731 #: build/C/man2/uname.2:30
17732 msgid "uname - get name and information about current kernel"
17733 msgstr "uname - 現在稼働中のカーネルについての名前と情報を得る"
17734
17735 #. type: Plain text
17736 #: build/C/man2/uname.2:32
17737 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
17738 msgstr "B<#include E<lt>sys/utsname.hE<gt>>"
17739
17740 #. type: Plain text
17741 #: build/C/man2/uname.2:34
17742 msgid "B<int uname(struct utsname *>I<buf>B<);>"
17743 msgstr "B<int uname(struct utsname *>I<buf>B<);>"
17744
17745 #. type: Plain text
17746 #: build/C/man2/uname.2:42
17747 msgid "B<uname>()  returns system information in the structure pointed to by I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
17748 msgstr "B<uname>()  は I<buf> で指される構造体にシステム情報を返す。 I<utsname> 構造体は I<E<lt>sys/utsname.hE<gt>> で以下のように定義されている。"
17749
17750 #. type: Plain text
17751 #: build/C/man2/uname.2:56
17752 #, no-wrap
17753 msgid ""
17754 "struct utsname {\n"
17755 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
17756 "    char nodename[];   /* Name within \"some implementation-defined\n"
17757 "                          network\" */\n"
17758 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
17759 "    char version[];    /* Operating system version */\n"
17760 "    char machine[];    /* Hardware identifier */\n"
17761 "#ifdef _GNU_SOURCE\n"
17762 "    char domainname[]; /* NIS or YP domain name */\n"
17763 "#endif\n"
17764 "};\n"
17765 msgstr ""
17766 "struct utsname {\n"
17767 "    char sysname[];    /* OS の名前 (例: \"Linux\") */\n"
17768 "    char nodename[];   /* 「実装時に定義された、何らかの\n"
17769 "                          ネットワーク」におけるマシン名 */\n"
17770 "    char release[];    /* オペレーションシステムのリリース番号 (例: \"2.6.28\") */\n"
17771 "    char version[];    /* オペレーティングシステムのバージョン */\n"
17772 "    char machine[];    /* ハードウェア識別子 */\n"
17773 "#ifdef _GNU_SOURCE\n"
17774 "    char domainname[]; /* NIS や YP のドメイン名 */\n"
17775 "#endif\n"
17776 "};\n"
17777
17778 #. type: Plain text
17779 #: build/C/man2/uname.2:63
17780 msgid "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
17781 msgstr "I<struct utsname> にある配列の長さは指定されていない (「注意」の節を参照)。 フィールドはヌルバイト (\\(aq\\e0\\(aq) で終端される。"
17782
17783 #. type: Plain text
17784 #: build/C/man2/uname.2:73
17785 msgid "I<buf> is not valid."
17786 msgstr "I<buf> が有効でない。"
17787
17788 #. type: Plain text
17789 #: build/C/man2/uname.2:78
17790 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
17791 msgstr "SVr4, POSIX.1-2001.  4.3BSD には B<uname>()  コールがない。"
17792
17793 #. type: Plain text
17794 #: build/C/man2/uname.2:82
17795 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
17796 msgstr "I<domainname> メンバー (NIS または YP ドメイン名) は GNU の拡張である。"
17797
17798 #. type: Plain text
17799 #: build/C/man2/uname.2:98
17800 msgid "This is a system call, and the operating system presumably knows its name, release and version.  It also knows what hardware it runs on.  So, four of the fields of the struct are meaningful.  On the other hand, the field I<nodename> is meaningless: it gives the name of the present machine in some undefined network, but typically machines are in more than one network and have several names.  Moreover, the kernel has no way of knowing about such things, so it has to be told what to answer here.  The same holds for the additional I<domainname> field."
17801 msgstr "これはシステムコールであり、OS は名前・リリース・バージョンなどを たぶん分かっているだろう。 さらにそれが稼働しているハードウェアも分かっているだろう。 よって構造体の 4 つのフィールドには意味がある。 一方、I<nodename> フィールドには意味がない: このフィールドは現在のマシンの (定義されていない)  どこかのネットワークにおける名前を与えるが、 通常マシンは複数のネットワークに属し、複数の名前を持つ。 さらに、カーネルはこのような情報を知る術を持たないので、 ここでの答えは前もって教えてやらなければならない。 これは追加フィールドである I<domainname> についても同様である。"
17802
17803 #. type: Plain text
17804 #: build/C/man2/uname.2:116
17805 msgid "To this end, Linux uses the system calls B<sethostname>(2)  and B<setdomainname>(2).  Note that there is no standard that says that the hostname set by B<sethostname>(2)  is the same string as the I<nodename> field of the struct returned by B<uname>()  (indeed, some systems allow a 256-byte hostname and an 8-byte nodename), but this is true on Linux.  The same holds for B<setdomainname>(2)  and the I<domainname> field."
17806 msgstr "このため Linux ではシステムコール B<sethostname>(2)  と B<setdomainname>(2)  が使われる。 「B<sethostname>(2)  で設定されるホスト名は、 B<uname>()  で返される構造体の I<nodename> フィールドと同じ文字列である」 と規定している標準規格はない (実際、256 バイトのホスト名と 8 バイトのノード名を許可しているシステムもある)。 しかし、Linux では同じ文字列が返される。 B<setdomainname>(2)  と I<domainname> フィールドについても同じことが成り立つ。"
17807
17808 #. type: Plain text
17809 #: build/C/man2/uname.2:131
17810 msgid "The length of the fields in the struct varies.  Some operating systems or libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it is a bad idea to use any of these constants; just use sizeof(...).  Often 257 is chosen in order to have room for an internet hostname."
17811 msgstr "構造体のフィールドの長さはさまざまである。 OS やライブラリの中には、 ハードコードされた 9, 33, 65, 257 などの値を使っているものもある。 また B<SYS_NMLN>, B<_SYS_NMLN>, B<UTSLEN>, B<_UTSNAME_LENGTH> などを使っているシステムもある。 はっきり言って、これらの定数を使うのは悪い考え方であり、 sizeof(...) を使うべきである。 インターネットホスト名で使う領域を持たせるために、 257 が選ばれることが多い。"
17812
17813 #. type: Plain text
17814 #: build/C/man2/uname.2:138
17815 msgid "Part of the utsname information is also accessible via I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, I<domainname>}."
17816 msgstr "utsname の情報は、 I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, I<domainname>} を使ってアクセスすることもできる。"
17817
17818 #.  That was back before Linux 1.0
17819 #.  That was also back before Linux 1.0
17820 #. type: Plain text
17821 #: build/C/man2/uname.2:167
17822 msgid "Over time, increases in the size of the I<utsname> structure have led to three successive versions of B<uname>(): I<sys_olduname>()  (slot I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for all fields; the second used 65; the third also uses 65 but adds the I<domainname> field.  The glibc B<uname>()  wrapper function hides these details from applications, invoking the most recent version of the system call provided by the kernel."
17823 msgstr "時間の経過とともに、 I<utsname> 構造体のサイズが大きくなり、この影響で B<uname>()  には 3つのバージョンが存在する: I<sys_olduname>()  (スロットは I<__NR_oldolduname>)、 I<sys_uname>()  (スロットは I<__NR_olduname>)、 I<sys_newuname>()  (スロットは I<__NR_uname>)。 I<sys_olduname>()  はすべてのフィールドが長さ 9 を使っていた。 I<sys_uname>()  は長さ 65 を使っていた。 I<sys_newuname>()  も長さ 65 を使っているが、 I<domainname> フィールドが追加されている。 glibc の B<uname>()  ラッパー関数は、これらの詳細をアプリケーションから隠蔽し、 カーネルが提供しているシステムコールのうち最新のバージョンを起動する。"
17824
17825 #. type: Plain text
17826 #: build/C/man2/uname.2:172
17827 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
17828 msgstr "B<uname>(1), B<getdomainname>(2), B<gethostname>(2), B<namespaces>(7)"
17829
17830 #. type: TH
17831 #: build/C/man2/uselib.2:31
17832 #, no-wrap
17833 msgid "USELIB"
17834 msgstr "USELIB"
17835
17836 #. type: TH
17837 #: build/C/man2/uselib.2:31
17838 #, no-wrap
17839 msgid "2005-01-09"
17840 msgstr "2005-01-09"
17841
17842 #. type: Plain text
17843 #: build/C/man2/uselib.2:34
17844 msgid "uselib - load shared library"
17845 msgstr "uselib - 共有ライブラリを選択する"
17846
17847 #. type: Plain text
17848 #: build/C/man2/uselib.2:38
17849 msgid "B<int uselib(const char *>I<library>B<);>"
17850 msgstr "B<int uselib(const char *>I<library>B<);>"
17851
17852 #. type: Plain text
17853 #: build/C/man2/uselib.2:48
17854 msgid "The system call B<uselib>()  serves to load a shared library to be used by the calling process.  It is given a pathname.  The address where to load is found in the library itself.  The library can have any recognized binary format."
17855 msgstr "システムコール B<uselib>()  は、呼び出し元プロセスが使用する 共有ライブラリをロードする際に使用される。 このシステムコールにはライブラリのパス名を指定する。 ライブラリをロードするアドレスはライブラリ自身に書かれている。 ライブラリは認識可能なバイナリ形式であればどんな形式でもよい。"
17856
17857 #. type: Plain text
17858 #: build/C/man2/uselib.2:59
17859 msgid "In addition to all of the error codes returned by B<open>(2)  and B<mmap>(2), the following may also be returned:"
17860 msgstr "B<open>(2)  と B<mmap>(2)  が返すエラーコードに加えて、以下のエラーコードが設定されることがある。"
17861
17862 #. type: Plain text
17863 #: build/C/man2/uselib.2:67
17864 msgid "The library specified by I<library> does not have read or execute permission, or the caller does not have search permission for one of the directories in the path prefix.  (See also B<path_resolution>(7).)"
17865 msgstr "I<library> で指定されたライブラリに対する読み込み許可、または実行許可がない。 もしくは I<library> が存在するディレクトリかその上位のいずれかに対する検索許可がない (B<path_resolution>(7)  も参照)。"
17866
17867 #. type: Plain text
17868 #: build/C/man2/uselib.2:76
17869 msgid "The file specified by I<library> is not an executable of a known type; for example, it does not have the correct magic numbers."
17870 msgstr "I<library> で指定されたファイルが、実行可能ファイルと認識されるファイル種別ではない。 例えば、正しいマジックナンバーが付いていない。"
17871
17872 #. type: Plain text
17873 #: build/C/man2/uselib.2:80
17874 msgid "B<uselib>()  is Linux-specific, and should not be used in programs intended to be portable."
17875 msgstr "B<uselib>()  は Linux 特有の関数であり、移植性を持たせたいプログラム には使用すべきでない。"
17876
17877 #. type: Plain text
17878 #: build/C/man2/uselib.2:85
17879 msgid "B<uselib>()  was used by early libc startup code to load the shared libraries with names found in an array of names in the binary."
17880 msgstr "初期の libc の起動コードは、 B<uselib>()  を使って、 バイナリ中のリストに書かれている共有ライブラリを リスト中のそのままの名前でロードしていた。"
17881
17882 #.  libc 4.3.1f - changelog 1993-03-02
17883 #.  libc 4.3.4 - changelog 1993-04-21
17884 #. type: Plain text
17885 #: build/C/man2/uselib.2:95
17886 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 names are looked for in the directories found in B<LD_LIBRARY_PATH>, and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
17887 msgstr "libc 4.3.2 以降では、これらの名前の前に \"/usr/lib\", \"/lib\", \"\" を つけて共有ライブラリを探すようになった。 libc 4.3.4 以降では、これらの名前の共有ライブラリをまず B<LD_LIBRARY_PATH> で指定されたディレクトリで探し、見つからなければ、 名前の前に \"/usr/lib\", \"/lib\", \"/\" をつけて探す。"
17888
17889 #. type: Plain text
17890 #: build/C/man2/uselib.2:100
17891 msgid "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this dynamic library can load the remaining libraries needed (again using this call).  This is also the state of affairs in libc5."
17892 msgstr "libc 4.4.4 以降では、ライブラリ \"/lib/ld.so\" だけがロードされ、その後で この動的ライブラリが (このシステムコールをもう一度使って)  必要な残りのライブラリをロードできるようになっている。"
17893
17894 #. type: Plain text
17895 #: build/C/man2/uselib.2:102
17896 msgid "glibc2 does not use this call."
17897 msgstr "glibc2 は、このシステムコールを使用しない。"
17898
17899 #. type: Plain text
17900 #: build/C/man2/uselib.2:112
17901 msgid "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
17902 msgstr "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
17903
17904 #. type: TH
17905 #: build/C/man3/usleep.3:33
17906 #, no-wrap
17907 msgid "USLEEP"
17908 msgstr "USLEEP"
17909
17910 #. type: TH
17911 #: build/C/man3/usleep.3:33
17912 #, no-wrap
17913 msgid "2013-12-10"
17914 msgstr "2013-12-10"
17915
17916 #. type: Plain text
17917 #: build/C/man3/usleep.3:36
17918 msgid "usleep - suspend execution for microsecond intervals"
17919 msgstr "usleep - マイクロ秒単位で実行を延期する"
17920
17921 #. type: Plain text
17922 #: build/C/man3/usleep.3:41
17923 #, no-wrap
17924 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
17925 msgstr "B<int usleep(useconds_t >I<usec>B<);>\n"
17926
17927 #. type: Plain text
17928 #: build/C/man3/usleep.3:49
17929 msgid "B<usleep>():"
17930 msgstr "B<usleep>():"
17931
17932 #. type: Plain text
17933 #: build/C/man3/usleep.3:75
17934 msgid "The B<usleep>()  function suspends execution of the calling thread for (at least) I<usec> microseconds.  The sleep may be lengthened slightly by any system activity or by the time spent processing the call or by the granularity of system timers."
17935 msgstr "B<usleep>()  関数は (少なくとも) I<usec>マイクロ秒の間、 呼び出し元スレッドの実行を延期する。 システムの動作状況や呼び出しによる時間の消費やシステムタイマの粒度によって、 停止時間は設定した値よりも少し延ばされるかもしれない。"
17936
17937 #. type: Plain text
17938 #: build/C/man3/usleep.3:82
17939 msgid "The B<usleep>()  function returns 0 on success.  On error, -1 is returned, with I<errno> set to indicate the cause of the error."
17940 msgstr "B<usleep>() 関数は成功すると 0 を返す。 エラーの場合、 -1 が返され、 I<errno> にエラーの原因を示す値が設定される。"
17941
17942 #. type: Plain text
17943 #: build/C/man3/usleep.3:87
17944 msgid "Interrupted by a signal; see B<signal>(7)."
17945 msgstr "シグナルによって中断された。 B<signal>(7)  参照。"
17946
17947 #. type: Plain text
17948 #: build/C/man3/usleep.3:91
17949 msgid "I<usec> is not smaller than 1000000.  (On systems where that is considered an error.)"
17950 msgstr "I<usec> が 1000000 以上だった。 (これをエラーとみなすシステムのみ)"
17951
17952 #. type: Plain text
17953 #: build/C/man3/usleep.3:96
17954 msgid "The B<usleep>()  function is thread-safe."
17955 msgstr "B<usleep>() 関数はスレッドセーフである。"
17956
17957 #. type: Plain text
17958 #: build/C/man3/usleep.3:103
17959 msgid "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of B<usleep>()."
17960 msgstr "4.3BSD, POSIX.1-2001.  POSIX.1-2001 では、この関数は過去のものと宣言されている。 代わりに B<nanosleep>(2)  を使うこと。 POSIX.1-2008 では、 B<usleep>()  の規定が削除されている。"
17961
17962 #. type: Plain text
17963 #: build/C/man3/usleep.3:110
17964 msgid "On the original BSD implementation, and in glibc before version 2.2.2, the return type of this function is I<void>.  The POSIX version returns I<int>, and this is also the prototype used since glibc 2.2.2."
17965 msgstr "もともとの BSD の実装や、バージョン 2.2.2 より前の glibc では、 この関数の返り値の型は I<void> である。 POSIX 版は I<int> を返し、このプロトタイプは glibc 2.2.2 以降で使用されている。"
17966
17967 #. type: Plain text
17968 #: build/C/man3/usleep.3:114
17969 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
17970 msgstr "エラーとして B<EINVAL> を返すというのは SUSv2 と POSIX.1-2001 でのみ文書化されている。"
17971
17972 #. type: Plain text
17973 #: build/C/man3/usleep.3:122
17974 msgid "The type I<useconds_t> is an unsigned integer type capable of holding integers in the range [0,1000000].  Programs will be more portable if they never mention this type explicitly.  Use"
17975 msgstr "I<useconds_t> 型は [0,1000000] の範囲の整数を扱うことができる 符号なし整数型である。 明示的にこの型を使わないことでプログラムの移植性がより高まる。 以下のように使うこと。"
17976
17977 #. type: Plain text
17978 #: build/C/man3/usleep.3:130
17979 #, no-wrap
17980 msgid ""
17981 "#include E<lt>unistd.hE<gt>\n"
17982 "\\&...\n"
17983 "    unsigned int usecs;\n"
17984 "\\&...\n"
17985 "    usleep(usecs);\n"
17986 msgstr ""
17987 "#include E<lt>unistd.hE<gt>\n"
17988 "\\&...\n"
17989 "    unsigned int usecs;\n"
17990 "\\&...\n"
17991 "    usleep(usecs);\n"
17992
17993 #. type: Plain text
17994 #: build/C/man3/usleep.3:147
17995 msgid "The interaction of this function with the B<SIGALRM> signal, and with other timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), B<ualarm>(3)  is unspecified."
17996 msgstr "この関数と、 B<SIGALRM> シグナルあるいは B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), B<ualarm>(3)  といったその他のタイマー関数を同時に使った場合の動作は未定義である。"
17997
17998 #. type: Plain text
17999 #: build/C/man3/usleep.3:156
18000 msgid "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
18001 msgstr "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
18002
18003 #. type: TH
18004 #: build/C/man2/vfork.2:28
18005 #, no-wrap
18006 msgid "VFORK"
18007 msgstr "VFORK"
18008
18009 #. type: TH
18010 #: build/C/man2/vfork.2:28
18011 #, no-wrap
18012 msgid "2012-08-05"
18013 msgstr "2012-08-05"
18014
18015 #. type: Plain text
18016 #: build/C/man2/vfork.2:31
18017 msgid "vfork - create a child process and block parent"
18018 msgstr "vfork - 子プロセスを生成し親プロセスを停止させる"
18019
18020 #. type: Plain text
18021 #: build/C/man2/vfork.2:37
18022 msgid "B<pid_t vfork(void);>"
18023 msgstr "B<pid_t vfork(void);>"
18024
18025 #. type: Plain text
18026 #: build/C/man2/vfork.2:44
18027 msgid "B<vfork>():"
18028 msgstr "B<vfork>():"
18029
18030 #. type: SS
18031 #: build/C/man2/vfork.2:63
18032 #, no-wrap
18033 msgid "Standard description"
18034 msgstr "規格の説明"
18035
18036 #. type: Plain text
18037 #: build/C/man2/vfork.2:82
18038 msgid "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), except that the behavior is undefined if the process created by B<vfork>()  either modifies any data other than a variable of type I<pid_t> used to store the return value from B<vfork>(), or returns from the function in which B<vfork>()  was called, or calls any other function before successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of functions."
18039 msgstr "(POSIX.1 より引用)  B<vfork>()  関数は B<fork>(2)  と同じ働きをするが、 B<vfork>()  で作成されたプロセスが B<vfork>()  からの返り値を格納している I<pid_t> 型の変数以外を変更したり、 B<vfork>()  を呼び出している関数から return したり、 B<_exit>(2)  や B<exec>(3)  族の関数をコールする前に他の関数をコールした場合の動作が 未定義であるという点が異なる。"
18040
18041 #. type: SS
18042 #: build/C/man2/vfork.2:82
18043 #, no-wrap
18044 msgid "Linux description"
18045 msgstr "LINUX での説明"
18046
18047 #. type: Plain text
18048 #: build/C/man2/vfork.2:89
18049 msgid "B<vfork>(), just like B<fork>(2), creates a child process of the calling process.  For details and return value and errors, see B<fork>(2)."
18050 msgstr "B<vfork>()  は B<fork>(2)  と全く同じように呼び出したプロセスの子プロセスを生成する。 詳しい説明と返り値、エラーについては B<fork>(2)  を参照すること。"
18051
18052 #. type: Plain text
18053 #: build/C/man2/vfork.2:98
18054 msgid "B<vfork>()  is a special case of B<clone>(2).  It is used to create new processes without copying the page tables of the parent process.  It may be useful in performance-sensitive applications where a child is created which then immediately issues an B<execve>(2)."
18055 msgstr "B<vfork>()  は B<clone>(2)  の特殊な場合である。 親プロセスのページテーブルのコピーを行わずに新しいプロセスを 作成するために使用する。これは性能に敏感なアプリケーションにおいて 子プロセスを生成してすぐに B<execve>(2)  する場合に有用かもしれない。"
18056
18057 #. type: Plain text
18058 #: build/C/man2/vfork.2:115
18059 msgid "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended until the child terminates (either normally, by calling B<_exit>(2), or abnormally, after delivery of a fatal signal), or it makes a call to B<execve>(2).  Until that point, the child shares all memory with its parent, including the stack.  The child must not return from the current function or call B<exit>(3), but may call B<_exit>(2)."
18060 msgstr ""
18061 "B<vfork>() は B<fork>(2) と違い、子プロセスが終了するか、\n"
18062 "B<execve>(2) をコールするまで呼び出し元のスレッドを停止 (suspend) させる。\n"
18063 "子プロセスの終了は、B<_exit>(2) の呼び出しによる通常終了、致命的なシグナルの\n"
18064 "配送後の異常終了の二つのケースがある。\n"
18065 "この時点までは、子プロセスはスタックを含む全てのメモリを親プロセスと共有する。\n"
18066 "子プロセスは現在の関数から return してはならず、\n"
18067 "B<exit>(3) もコールしてはならないが、B<_exit>(2) ならばコールしてもよい。"
18068
18069 #. type: Plain text
18070 #: build/C/man2/vfork.2:126
18071 msgid "As with B<fork>(2), the child process created by B<vfork>()  inherits copies of various of the caller's process attributes (e.g., file descriptors, signal dispositions, and current working directory); the B<vfork>()  call differs only in the treatment of the virtual address space, as described above."
18072 msgstr ""
18073 "B<fork>(2) と同様に、 B<vfork>() で作成された子プロセスは、\n"
18074 "(ファイルディスクリプター、シグナル配送定義、カレントワーキングディレクトリなどの)\n"
18075 "呼び出し元のプロセスの各種の属性を継承する。\n"
18076 "B<vfork>() では、上で説明した仮想アドレス空間の扱いだけが異なる。"
18077
18078 #. type: Plain text
18079 #: build/C/man2/vfork.2:132
18080 msgid "Signals sent to the parent arrive after the child releases the parent's memory (i.e., after the child terminates or calls B<execve>(2))."
18081 msgstr ""
18082 "親プロセスへ送られたシグナルは、子プロセスが親プロセスのメモリを解放した後\n"
18083 "(すなわち、子プロセスが終了するか B<execve>(2) を呼んだ後) に到着する。"
18084
18085 #. type: SS
18086 #: build/C/man2/vfork.2:132
18087 #, no-wrap
18088 msgid "Historic description"
18089 msgstr "歴史的な説明"
18090
18091 #. type: Plain text
18092 #: build/C/man2/vfork.2:159
18093 msgid "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the only penalty incurred by B<fork>(2)  is the time and memory required to duplicate the parent's page tables, and to create a unique task structure for the child.  However, in the bad old days a B<fork>(2)  would require making a complete copy of the caller's data space, often needlessly, since usually immediately afterward an B<exec>(3)  is done.  Thus, for greater efficiency, BSD introduced the B<vfork>()  system call, which did not fully copy the address space of the parent process, but borrowed the parent's memory and thread of control until a call to B<execve>(2)  or an exit occurred.  The parent process was suspended while the child was using its resources.  The use of B<vfork>()  was tricky: for example, not modifying data in the parent process depended on knowing which variables were held in a register."
18094 msgstr "Linux において B<fork>(2)  は書き込み時コピー (copy-on-write) ページを使用して実装されている。 そのため B<fork>(2)  を使用することによって被る損害は親プロセスのページテーブルを 複製するために必要な時間とメモリだけである。 しかしながら、忌しき昔には B<fork>(2)  は呼び出したプロセスのデータ空間の全てのコピーしていたが、 これはしばしば不必要であった。なぜなら、たいていはすぐ後に B<exec>(3)  を実行していたからである。 この場合の効率を上げるために BSD は B<vfork>()  システムコールを導入して親プロセスのアドレス空間を完全にコピー するかわりに、 B<execve>(2)  をコールするか exit が起きるまで親プロセスのメモリと制御スレッド を借りるようにした。 親プロセスは子プロセスがその資源を使用している間は停止された。 B<vfork>()  は使いにくいものであった: 例えば、親プロセスの変数を変更しな いようにするためにはどの変数がレジスタに保持されているかを知らな ければならなかった。"
18095
18096 #. type: Plain text
18097 #: build/C/man2/vfork.2:163
18098 msgid "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the specification of B<vfork>()."
18099 msgstr ""
18100 "4.3BSD; POSIX.1-2001 (廃止予定とされている)。\n"
18101 "POSIX.1-2008 では B<vfork>() の規定が削除されている。"
18102
18103 #.  In AIXv3.1 vfork is equivalent to fork.
18104 #. type: Plain text
18105 #: build/C/man2/vfork.2:174
18106 msgid "The requirements put on B<vfork>()  by the standards are weaker than those put on B<fork>(2), so an implementation where the two are synonymous is compliant.  In particular, the programmer cannot rely on the parent remaining blocked until the child either terminates or calls B<execve>(2), and cannot rely on any specific behavior with respect to shared memory."
18107 msgstr ""
18108 "B<vfork>() コールは他のオペレーティングシステムの同名のコールと ちょっと似\n"
18109 "ているかもしれない。規格が B<vfork>() に要求していることは、 B<fork>(2) に要\n"
18110 "求していることよりは弱い。したがって、 両者を同じものとして実装しても、規格に\n"
18111 "準拠していることになる。 特にプログラマーは、子プロセスが終了するか\n"
18112 "B<execve>(2) を呼び出すまで親プロセスが停止していることや、メモリを共有するこ\n"
18113 "とによる特殊な動作をあてにすべきではない。"
18114
18115 #. type: Plain text
18116 #: build/C/man2/vfork.2:193
18117 msgid "Some consider the semantics of B<vfork>()  to be an architectural blemish, and the 4.2BSD man page stated: \"This system call will be eliminated when proper system sharing mechanisms are implemented.  Users should not depend on the memory sharing semantics of B<vfork>()  as it will, in that case, be made synonymous to B<fork>(2).\" However, even though modern memory management hardware has decreased the performance difference between B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other systems have retained B<vfork>():"
18118 msgstr ""
18119 "B<vfork>() の動作は構造的な欠陥と考える人もいるだろうし、\n"
18120 "BSD のマニュアルには、「このシステムコールは妥当なシステム共有機構が実装さ\n"
18121 "れた場合には削除される。ユーザーは B<vfork>() のメモリ共有機能に依存するべき\n"
18122 "ではない。何故ならば、このシステムコール が削除された場合には、それは\n"
18123 "B<fork>(2) の同義語とされるからである。」と書かれている。しかしながら、\n"
18124 "最近のメモリ管理ハードウェアにより B<fork>(2) と B<vfork>() の間の性能差が\n"
18125 "減ったとはいえ、 Linux や他のシステムで B<vfork>() が残されているのには\n"
18126 "いくつか理由がある:"
18127
18128 #. type: Plain text
18129 #: build/C/man2/vfork.2:197
18130 msgid "Some performance-critical applications require the small performance advantage conferred by B<vfork>()."
18131 msgstr ""
18132 "性能に厳しいアプリケーションでは、 B<vfork>() により得られる\n"
18133 "小さな性能上のメリットが必要な場合がある。"
18134
18135 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
18136 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
18137 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
18138 #. type: Plain text
18139 #: build/C/man2/vfork.2:213
18140 msgid "B<vfork>()  can be implemented on systems that lack a memory-management unit (MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 removed B<vfork>()  from the standard; the POSIX rationale for the B<posix_spawn>(3)  function notes that that function, which provides functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be implementable on systems that lack an MMU.)"
18141 msgstr ""
18142 "B<vfork>() はメモリ管理ユニット (MMU) を持たないシステムでも実装すること\n"
18143 "ができるが、そのようなシステムで B<fork>(2) を実装することはできない。\n"
18144 "(POSIX.1-2008 では B<vfork>() が標準から削除された。\n"
18145 "B<posix_spawn>(3) 関数の POSIX の原理 (rationale) には、\n"
18146 "B<fork>(2)+B<exec>(3) と等価な機能を提供する B<posix_spawn>(3) は、\n"
18147 "MMU を持たないシステムでも実装できるように設計されたとの注記がある。)"
18148
18149 #. type: SS
18150 #: build/C/man2/vfork.2:213
18151 #, no-wrap
18152 msgid "Linux notes"
18153 msgstr "Linux での注意"
18154
18155 #. type: Plain text
18156 #: build/C/man2/vfork.2:224
18157 msgid "Fork handlers established using B<pthread_atfork>(3)  are not called when a multithreaded program employing the NPTL threading library calls B<vfork>().  Fork handlers are called in this case in a program using the LinuxThreads threading library.  (See B<pthreads>(7)  for a description of Linux threading libraries.)"
18158 msgstr "B<pthread_atfork>(3)  を使って設定された fork ハンドラは NPTL スレッドライブラリコールを採用したマルチスレッドプログラムでは 呼び出されない。一方、LinuxThreads スレッドライブラリを使った プログラムでは、fork ハンドラは呼び出される。 (Linux のスレッドライブラリの説明は B<pthreads>(7)  を参照。)"
18159
18160 #. type: Plain text
18161 #: build/C/man2/vfork.2:232
18162 msgid "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> specified as:"
18163 msgstr ""
18164 "B<vfork>() の呼び出しは、以下の I<flags> を指定して B<clone>(2) を呼び出す\n"
18165 "のと等価である。"
18166
18167 #. type: Plain text
18168 #: build/C/man2/vfork.2:234
18169 #, no-wrap
18170 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
18171 msgstr "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
18172
18173 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
18174 #.  present, but definitely on its way out'.
18175 #. type: Plain text
18176 #: build/C/man2/vfork.2:252
18177 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."
18178 msgstr "B<vfork>()  システムコールは 3.0BSD に現われた。 4.4BSD において B<fork>(2)  の同義語となったが、NetBSD では再び導入された。 E<.UR http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE> を参照。 Linux では 2.2.0-pre6 あたりまでは B<fork>(2)  と等価であった。(i386 では) 2.2.0-pre9 から (他のアーキテクチャでは 少し遅れて) 独立したシステムコールとなった。 glibc でのサポートは glibc-2.0.112 で追加された。"
18179
18180 #.  As far as I can tell, the following is not true in 2.6.19:
18181 #.  Currently (Linux 2.3.25),
18182 #.  .BR strace (1)
18183 #.  cannot follow
18184 #.  .BR vfork ()
18185 #.  and requires a kernel patch.
18186 #. type: Plain text
18187 #: build/C/man2/vfork.2:273
18188 msgid "Details of the signal handling are obscure and differ between systems.  The BSD man page states: \"To avoid a possible deadlock situation, processes that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input attempts result in an end-of-file indication.\""
18189 msgstr "シグナルの扱いの詳細は不明瞭でシステムごとに異っている。 BSD のマニュアルには、 「デッドロック状態になる可能性があるので B<vfork>()  の途中の子プロセスに B<SIGTTOU> や B<SIGTTIN> シグナルを送信してはならない; さらに出力や I<ioctl> は許されるが、入力を試みた場合には結果はファイル終端 (EOF) になる。」 と書かれている。"
18190
18191 #. type: Plain text
18192 #: build/C/man2/vfork.2:279
18193 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
18194 msgstr "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
18195
18196 #. type: TH
18197 #: build/C/man2/vhangup.2:28
18198 #, no-wrap
18199 msgid "VHANGUP"
18200 msgstr "VHANGUP"
18201
18202 #. type: TH
18203 #: build/C/man2/vhangup.2:28
18204 #, no-wrap
18205 msgid "2007-07-26"
18206 msgstr "2007-07-26"
18207
18208 #. type: Plain text
18209 #: build/C/man2/vhangup.2:31
18210 msgid "vhangup - virtually hangup the current terminal"
18211 msgstr "vhangup - 現在の端末を仮想的に (virtualy) ハングアップ (hangup) させる"
18212
18213 #. type: Plain text
18214 #: build/C/man2/vhangup.2:35
18215 msgid "B<int vhangup(void);>"
18216 msgstr "B<int vhangup(void);>"
18217
18218 #. type: Plain text
18219 #: build/C/man2/vhangup.2:44
18220 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
18221 msgstr "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
18222
18223 #. type: Plain text
18224 #: build/C/man2/vhangup.2:50
18225 msgid "B<vhangup>()  simulates a hangup on the current terminal.  This call arranges for other users to have a ``clean'' terminal at login time."
18226 msgstr "B<vhangup>()  は現在の端末 (terminal) でハングアップをシミュレートする。このコールは他のユーザーがログインした時に綺麗 (clean) な端末を得ることができるよう手配する。"
18227
18228 #. type: Plain text
18229 #: build/C/man2/vhangup.2:63
18230 msgid "The calling process has insufficient privilege to call B<vhangup>(); the B<CAP_SYS_TTY_CONFIG> capability is required."
18231 msgstr "呼び出し元プロセスに B<vhangup>()  を呼び出すための十分な特権がない。 B<CAP_SYS_TTY_CONFIG> ケーパビリティ (capability) が必要である。"
18232
18233 #. type: Plain text
18234 #: build/C/man2/vhangup.2:66
18235 msgid "This call is Linux-specific, and should not be used in programs intended to be portable."
18236 msgstr "このコールは Linux 特有であり、移植を意図したプログラムで 使用してはいけない。"
18237
18238 #. type: Plain text
18239 #: build/C/man2/vhangup.2:69
18240 msgid "B<capabilities>(7), B<init>(1)"
18241 msgstr "B<capabilities>(7), B<init>(1)"
18242
18243 #. type: TH
18244 #: build/C/man2/execveat.2:26
18245 #, no-wrap
18246 msgid "EXECVEAT"
18247 msgstr "EXECVEAT"
18248
18249 #. type: Plain text
18250 #: build/C/man2/execveat.2:29
18251 msgid "execveat - execute program relative to a directory file descriptor"
18252 msgstr "execveat - ディレクトリファイルディスクリプターからの相対パスで指定されるプログラムを実行する"
18253
18254 #. type: Plain text
18255 #: build/C/man2/execveat.2:33
18256 msgid "B<int execveat(int >I<dirfd>B<, const char *>I<pathname>B<,>"
18257 msgstr "B<int execveat(int >I<dirfd>B<, const char *>I<pathname>B<,>"
18258
18259 #. type: Plain text
18260 #: build/C/man2/execveat.2:35
18261 msgid "B< char *const >I<argv>B<[], char *const >I<envp>B<[],>"
18262 msgstr "B< char *const >I<argv>B<[], char *const >I<envp>B<[],>"
18263
18264 #. type: Plain text
18265 #: build/C/man2/execveat.2:37
18266 msgid "B< int >I<flags>B<);>"
18267 msgstr "B< int >I<flags>B<);>"
18268
18269 #.  commit 51f39a1f0cea1cacf8c787f652f26dfee9611874
18270 #. type: Plain text
18271 #: build/C/man2/execveat.2:48
18272 msgid "The B<execveat>()  system call executes the program referred to by the combination of I<dirfd> and I<pathname>.  It operates in exactly the same way as B<execve>(2), except for the differences described in this manual page."
18273 msgstr "B<execveat>() システムコールは I<dirfd> と I<pathname> の組み合わせで参照されるプログラムを実行する。 B<execve>(2) と全く同様に動作するが、 以下で説明する点が異なる。"
18274
18275 #. type: Plain text
18276 #: build/C/man2/execveat.2:58
18277 msgid "If the pathname given in I<pathname> is relative, then it is interpreted relative to the directory referred to by the file descriptor I<dirfd> (rather than relative to the current working directory of the calling process, as is done by B<execve>(2)  for a relative pathname)."
18278 msgstr "I<pathname> で指定されたパス名が相対パスの場合、このパス名はファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<execve>(2) に相対パス名を渡した場合のように、呼び出したプロセスのカレントワーキングディレクトリに対する相対パスではない)。"
18279
18280 #. type: Plain text
18281 #: build/C/man2/execveat.2:70
18282 msgid "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current working directory of the calling process (like B<execve>(2))."
18283 msgstr "I<pathname> で指定されたパス名が相対パスで、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 (B<execve>(2) と同様に) I<pathname> は呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。"
18284
18285 #. type: Plain text
18286 #: build/C/man2/execveat.2:86
18287 msgid "If I<pathname> is an empty string and the B<AT_EMPTY_PATH> flag is specified, then the file descriptor I<dirfd> specifies the file to be executed (i.e., I<dirfd> refers to an executable file, rather than a directory)."
18288 msgstr "I<pathname> が空文字列で、 B<AT_EMPTY_PATH> フラグが指定されている場合、 ファイルディスクリプター I<dirfd> は実行するファイルを指定する (すなわち I<dirfd> はディレクトリではなく実行ファイルを参照する)。"
18289
18290 #. type: Plain text
18291 #: build/C/man2/execveat.2:90
18292 msgid "The I<flags> argument is a bit mask that can include zero or more of the following flags:"
18293 msgstr "I<flags> 引き数は、以下に示す値の 0 個以上を指定できるビットマスクである。"
18294
18295 #. type: TP
18296 #: build/C/man2/execveat.2:90
18297 #, no-wrap
18298 msgid "B<AT_EMPTY_PATH>"
18299 msgstr "B<AT_EMPTY_PATH>"
18300
18301 #. type: Plain text
18302 #: build/C/man2/execveat.2:100
18303 msgid "If I<pathname> is an empty string, operate on the file referred to by I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> flag)."
18304 msgstr "I<pathname> が空文字列の場合、 I<dirfd> が参照するファイルに対して動作を行う (I<dirfd> は B<open>(2() B<O_PATH> フラグを使って取得できる)。"
18305
18306 #. type: Plain text
18307 #: build/C/man2/execveat.2:108
18308 msgid "If the file identified by I<dirfd> and a non-NULL I<pathname> is a symbolic link, then the call fails with the error B<ELOOP>."
18309 msgstr "I<dirfd> と NULL でない I<pathname> で指定されたファイルがシンボリックリンクの場合、 呼び出しはエラー B<ELOOP> で失敗する。"
18310
18311 #. type: Plain text
18312 #: build/C/man2/execveat.2:115
18313 msgid "On success, B<execveat>()  does not return.  On error, -1 is returned, and I<errno> is set appropriately."
18314 msgstr "成功すると B<execveat>()  は返らない。エラーの場合は -1 を返し、 I<errno> を適切に設定する。"
18315
18316 #. type: Plain text
18317 #: build/C/man2/execveat.2:122
18318 msgid "The same errors that occur for B<execve>(2)  can also occur for B<execveat>().  The following additional errors can occur for B<execveat>():"
18319 msgstr "B<execve>() で発生するのと同じエラーが B<execveat>() でも起こる。 B<execveat>() では以下のエラーも発生する。"
18320
18321 #. type: Plain text
18322 #: build/C/man2/execveat.2:140
18323 msgid "I<flags> includes B<AT_SYMLINK_NOFOLLOW> and the file identified by I<dirfd> and a non-NULL I<pathname> is a symbolic link."
18324 msgstr "I<flags> に B<AT_SYMLINK_NOFOLLOW> が指定されていて、 I<dirfd> と NULL でない I<pathname> で指定されたファイルがシンボリックリンクである。"
18325
18326 #. type: Plain text
18327 #: build/C/man2/execveat.2:154
18328 msgid "The program identified by I<dirfd> and I<pathname> requires the use of an interpreter program (such as a script starting with \"#!\"), but the file descriptor I<dirfd> was opened with the B<O_CLOEXEC> flag, with the result that the program file is inaccessible to the launched interpreter.  See BUGS."
18329 msgstr "I<dirfd> と I<pathname> で指定されるプログラムはインタープリタープログラムを使用する必要があるが (例えば \"#!\" で始まるスクリプト)、 ファイルディスクリプター I<dirfd> が B<O_CLOEXEC> フラグ付きでオープンされており、 その結果プログラムファイルは起動されたインタープリターにアクセスできないことになる。 「バグ」を参照。"
18330
18331 #.  FIXME . check for glibc support in a future release
18332 #. type: Plain text
18333 #: build/C/man2/execveat.2:165
18334 msgid "B<execveat>()  was added to Linux in kernel 3.19.  GNU C library support is pending."
18335 msgstr "B<execveat>()  はバージョン 3.19 で Linux に追加された。 GNU C ライブラリによるサポートは検討中である。"
18336
18337 #. type: Plain text
18338 #: build/C/man2/execveat.2:169
18339 msgid "The B<execveat>()  system call is Linux-specific."
18340 msgstr "B<execveat>() システムコールは Linux 固有である。"
18341
18342 #. type: Plain text
18343 #: build/C/man2/execveat.2:179
18344 msgid "In addition to the reasons explained in B<openat>(2), the B<execveat>()  system call is also needed to allow B<fexecve>(3)  to be implemented on systems that do not have the I</proc> filesystem mounted."
18345 msgstr "B<openat>(2) で説明されている理由に加え、 B<execveat>() システムコールは、 B<fexecve>(3) を I</proc> ファイルシステムがマウントされていないシステムで実装するためにも必要である。"
18346
18347 #. type: Plain text
18348 #: build/C/man2/execveat.2:202
18349 msgid "When asked to execute a script file, the I<argv[0]> that is passed to the script interpreter is a string of the form I</dev/fd/N> or I</dev/fd/N/P>, where I<N> is the number of the file descriptor passed via the I<dirfd> argument.  A string of the first form occurs when B<AT_EMPTY_PATH> is employed.  A string of the second form occurs when the script is specified via both I<dirfd> and I<pathname>; in this case, I<P> is the value given in I<pathname>."
18350 msgstr "スクリプトファイルを実行するように要求された際、 スクリプトインタープリターに渡される I<argv[0]> は、 I</dev/fd/N> 形式または I</dev/fd/N/P> 形式の文字列である。 ここで I<N> は I<dirfd> 引き数で渡されたファイルディスクリプター数である。 最初の形式の文字列となるのは、 B<AT_EMPTY_PATH> が使用された場合である。 2 番目の形式の文字列になるのは、 スクリプトが I<dirfd> と I<pathname> の両方を使って指定された場合である。 このとき I<P> は I<pathname> に指定された値である。"
18351
18352 #. type: Plain text
18353 #: build/C/man2/execveat.2:210
18354 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.)"
18355 msgstr "B<fexecve>(3) で説明されているのと同じ理由で、 B<execveat>(2) を使う際の理にかなった方法は I<dirfd> に close-on-exec フラグをセットすることである (ただし「バグ」を参照のこと)。"
18356
18357 #. type: Plain text
18358 #: build/C/man2/execveat.2:215
18359 msgid "The B<ENOENT> error described above means that it is not possible to set the close-on-exec flag on the file descriptor given to a call of the form:"
18360 msgstr "上記で説明したエラー B<ENOENT> は、 以下の形式の呼び出しに渡すファイルディスクリプターで close-on-exec フラグをセットできないことを意味している。"
18361
18362 #. type: Plain text
18363 #: build/C/man2/execveat.2:217
18364 #, no-wrap
18365 msgid "    execveat(fd, \"\", argv, envp, AT_EMPTY_PATH);\n"
18366 msgstr "    execveat(fd, \"\", argv, envp, AT_EMPTY_PATH);\n"
18367
18368 #
18369 #.  For an example, see Michael Kerrisk's 2015-01-10 reply in this LKML
18370 #.  thread (http://thread.gmane.org/gmane.linux.kernel/1836105/focus=20229):
18371 #.      Subject: [PATCHv10 man-pages 5/5] execveat.2: initial man page.\"                        for execveat(2
18372 #.      Date: Mon, 24 Nov 2014 11:53:59 +0000
18373 #. type: Plain text
18374 #: build/C/man2/execveat.2:229
18375 msgid "However, the inability to set the close-on-exec flag means that a file descriptor referring to the script leaks through to the script itself.  As well as wasting a file descriptor, this leakage can lead to file-descriptor exhaustion in scenarios where scripts recursively employ B<execveat>()."
18376 msgstr "しかしながら、 close-on-exec フラグをセットできないということは、 スクリプトを参照するファイルディスクリプターはスクリプト自身に見えてしまうということである。 ファイルディスクリプターを無駄に使うだけでなく、 ファイルディスクリプターが見えてしまうことにより、 スクリプトが B<execveat>() を再帰的に利用する状況ではファイルディスクリプターの枯渇につながる可能性がある。"
18377
18378 #. type: Plain text
18379 #: build/C/man2/execveat.2:233
18380 msgid "B<execve>(2), B<openat>(2), B<fexecve>(3)"
18381 msgstr "B<execve>(2), B<openat>(2), B<fexecve>(3)"