OSDN Git Service

(split) LDP: Support po4a.
[linuxjm/LDP_man-pages.git] / po4a / man2 / 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: 2012-03-19 23:50+0900\n"
10 "PO-Revision-Date: 2012-03-21 23:57+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/arch_prctl.2:24
20 #, no-wrap
21 msgid "ARCH_PRCTL"
22 msgstr "ARCH_PRCTL"
23
24 #. type: TH
25 #: build/C/man2/arch_prctl.2:24
26 #, no-wrap
27 msgid "2007-12-26"
28 msgstr "2007-12-26"
29
30 #. type: TH
31 #: build/C/man2/arch_prctl.2:24 build/C/man2/futex.2:17
32 #: build/C/man2/kexec_load.2:25 build/C/man2/lookup_dcookie.2:27
33 #: build/C/man2/modify_ldt.2:25 build/C/man2/nfsservctl.2:8
34 #: build/C/man2/outb.2:28 build/C/man2/pciconfig_read.2:5
35 #: build/C/man2/personality.2:30 build/C/man2/pivot_root.2:7
36 #: build/C/man2/ptrace.2:45 build/C/man2/quotactl.2:25
37 #: build/C/man2/sendfile.2:15 build/C/man2/set_tid_address.2:23
38 #: build/C/man2/splice.2:26 build/C/man2/tee.2:26 build/C/man2/vm86.2:26
39 #: build/C/man2/vmsplice.2:26
40 #, no-wrap
41 msgid "Linux"
42 msgstr "Linux"
43
44 #. type: TH
45 #: build/C/man2/arch_prctl.2:24 build/C/man2/futex.2:17
46 #: build/C/man2/kexec_load.2:25 build/C/man2/lookup_dcookie.2:27
47 #: build/C/man2/modify_ldt.2:25 build/C/man2/nfsservctl.2:8
48 #: build/C/man2/outb.2:28 build/C/man2/pciconfig_read.2:5
49 #: build/C/man2/personality.2:30 build/C/man2/pivot_root.2:7
50 #: build/C/man2/ptrace.2:45 build/C/man2/quotactl.2:25
51 #: build/C/man2/sendfile.2:15 build/C/man2/set_tid_address.2:23
52 #: build/C/man2/splice.2:26 build/C/man2/tee.2:26 build/C/man2/vm86.2:26
53 #: build/C/man2/vmsplice.2:26
54 #, no-wrap
55 msgid "Linux Programmer's Manual"
56 msgstr "Linux Programmer's Manual"
57
58 #. type: SH
59 #: build/C/man2/arch_prctl.2:25 build/C/man2/futex.2:18
60 #: build/C/man2/kexec_load.2:26 build/C/man2/lookup_dcookie.2:28
61 #: build/C/man2/modify_ldt.2:26 build/C/man2/nfsservctl.2:9
62 #: build/C/man2/outb.2:29 build/C/man2/pciconfig_read.2:6
63 #: build/C/man2/personality.2:31 build/C/man2/pivot_root.2:8
64 #: build/C/man2/ptrace.2:46 build/C/man2/quotactl.2:26
65 #: build/C/man2/sendfile.2:16 build/C/man2/set_tid_address.2:24
66 #: build/C/man2/splice.2:27 build/C/man2/tee.2:27 build/C/man2/vm86.2:27
67 #: build/C/man2/vmsplice.2:27
68 #, no-wrap
69 msgid "NAME"
70 msgstr "名前"
71
72 #. type: Plain text
73 #: build/C/man2/arch_prctl.2:27
74 msgid "arch_prctl - set architecture-specific thread state"
75 msgstr "arch_prctl - アーキテクチャ固有のスレッド状態を設定する"
76
77 #. type: SH
78 #: build/C/man2/arch_prctl.2:27 build/C/man2/futex.2:20
79 #: build/C/man2/kexec_load.2:28 build/C/man2/lookup_dcookie.2:30
80 #: build/C/man2/modify_ldt.2:28 build/C/man2/nfsservctl.2:11
81 #: build/C/man2/pciconfig_read.2:8 build/C/man2/personality.2:33
82 #: build/C/man2/pivot_root.2:10 build/C/man2/ptrace.2:48
83 #: build/C/man2/quotactl.2:28 build/C/man2/sendfile.2:18
84 #: build/C/man2/set_tid_address.2:26 build/C/man2/splice.2:29
85 #: build/C/man2/tee.2:29 build/C/man2/vm86.2:29 build/C/man2/vmsplice.2:29
86 #, no-wrap
87 msgid "SYNOPSIS"
88 msgstr "書式"
89
90 #. type: Plain text
91 #: build/C/man2/arch_prctl.2:30
92 #, no-wrap
93 msgid "B<#include E<lt>asm/prctl.hE<gt>>\n"
94 msgstr "B<#include E<lt>asm/prctl.hE<gt>>\n"
95
96 #. type: Plain text
97 #: build/C/man2/arch_prctl.2:32
98 #, no-wrap
99 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
100 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
101
102 #. type: Plain text
103 #: build/C/man2/arch_prctl.2:35
104 #, no-wrap
105 msgid ""
106 "B<int arch_prctl(int >I<code>B<, unsigned long >I<addr>B<);>\n"
107 "B<int arch_prctl(int >I<code>B<, unsigned long *>I<addr>B<);>\n"
108 msgstr "B<int arch_prctl(int >I<code>B<, unsigned long *>I<addr>B<);>\n"
109
110 #.  Return type was long before glibc 2.7
111 #. type: SH
112 #: build/C/man2/arch_prctl.2:36 build/C/man2/futex.2:32
113 #: build/C/man2/kexec_load.2:35 build/C/man2/lookup_dcookie.2:32
114 #: build/C/man2/modify_ldt.2:34 build/C/man2/nfsservctl.2:18
115 #: build/C/man2/outb.2:33 build/C/man2/pciconfig_read.2:19
116 #: build/C/man2/personality.2:37 build/C/man2/pivot_root.2:12
117 #: build/C/man2/ptrace.2:55 build/C/man2/quotactl.2:36
118 #: build/C/man2/sendfile.2:43 build/C/man2/set_tid_address.2:32
119 #: build/C/man2/splice.2:39 build/C/man2/tee.2:38 build/C/man2/vm86.2:35
120 #: build/C/man2/vmsplice.2:39
121 #, no-wrap
122 msgid "DESCRIPTION"
123 msgstr "説明"
124
125 #. type: Plain text
126 #: build/C/man2/arch_prctl.2:51
127 msgid ""
128 "The B<arch_prctl>()  function sets architecture-specific process or thread "
129 "state.  I<code> selects a subfunction and passes argument I<addr> to it; "
130 "I<addr> is interpreted as either an I<unsigned long> for the \"set\" "
131 "operations, or as an I<unsigned long *>, for the \"get\" operations."
132 msgstr ""
133 "B<arch_prctl>()  関数はアーキテクチャ固有のプロセス状態またはスレッド状態を設"
134 "定する。 I<code> は副機能を選択し、引き数 I<addr> を副機能に渡す。 I<addr> "
135 "は、\"set\" 操作では I<unsigned long> として、\"get\" 操作では I<unsigned "
136 "long *> として解釈される。"
137
138 #. type: Plain text
139 #: build/C/man2/arch_prctl.2:53
140 msgid "Sub functions for x86-64 are:"
141 msgstr "x86-64 の副機能は以下の通り:"
142
143 #. type: TP
144 #: build/C/man2/arch_prctl.2:53
145 #, no-wrap
146 msgid "B<ARCH_SET_FS>"
147 msgstr "B<ARCH_SET_FS>"
148
149 #. type: Plain text
150 #: build/C/man2/arch_prctl.2:59
151 msgid "Set the 64-bit base for the I<FS> register to I<addr>."
152 msgstr "I<FS> レジスタの 64 ビットベースを I<addr> に設定する。"
153
154 #. type: TP
155 #: build/C/man2/arch_prctl.2:59
156 #, no-wrap
157 msgid "B<ARCH_GET_FS>"
158 msgstr "B<ARCH_GET_FS>"
159
160 #. type: Plain text
161 #: build/C/man2/arch_prctl.2:67
162 msgid ""
163 "Return the 64-bit base value for the I<FS> register of the current thread in "
164 "the I<unsigned long> pointed to by I<addr>."
165 msgstr ""
166 "現在のスレッドの I<FS> レジスタの 64 ビットベース値を、 I<addr> が指す "
167 "I<unsigned long> の領域に格納する。"
168
169 #. type: TP
170 #: build/C/man2/arch_prctl.2:67
171 #, no-wrap
172 msgid "B<ARCH_SET_GS>"
173 msgstr "B<ARCH_SET_GS>"
174
175 #. type: Plain text
176 #: build/C/man2/arch_prctl.2:73
177 msgid "Set the 64-bit base for the I<GS> register to I<addr>."
178 msgstr "I<GS> レジスタの 64 ビットベースを I<addr> に設定する。"
179
180 #. type: TP
181 #: build/C/man2/arch_prctl.2:73
182 #, no-wrap
183 msgid "B<ARCH_GET_GS>"
184 msgstr "B<ARCH_GET_GS>"
185
186 #. type: Plain text
187 #: build/C/man2/arch_prctl.2:81
188 msgid ""
189 "Return the 64-bit base value for the I<GS> register of the current thread in "
190 "the I<unsigned long> pointed to by I<addr>."
191 msgstr ""
192 "現在のスレッドの I<GS> レジスタの 64 ビットベース値を、 I<addr> が指す "
193 "I<unsigned long> の領域に格納する。"
194
195 #. type: SH
196 #: build/C/man2/arch_prctl.2:81 build/C/man2/futex.2:173
197 #: build/C/man2/kexec_load.2:110 build/C/man2/lookup_dcookie.2:43
198 #: build/C/man2/modify_ldt.2:96 build/C/man2/nfsservctl.2:48
199 #: build/C/man2/pciconfig_read.2:47 build/C/man2/personality.2:55
200 #: build/C/man2/pivot_root.2:95 build/C/man2/ptrace.2:399
201 #: build/C/man2/sendfile.2:104 build/C/man2/set_tid_address.2:80
202 #: build/C/man2/splice.2:127 build/C/man2/tee.2:85 build/C/man2/vm86.2:52
203 #: build/C/man2/vmsplice.2:113
204 #, no-wrap
205 msgid "RETURN VALUE"
206 msgstr "返り値"
207
208 #. type: Plain text
209 #: build/C/man2/arch_prctl.2:87
210 msgid ""
211 "On success, B<arch_prctl>()  returns 0; on error, -1 is returned, and "
212 "I<errno> is set to indicate the error."
213 msgstr ""
214 "成功すると、 B<arch_prctl>()  は 0 を返す。エラーの場合、-1 を返し、 "
215 "I<errno> をエラーを示す値に設定する。"
216
217 #. type: SH
218 #: build/C/man2/arch_prctl.2:87 build/C/man2/futex.2:210
219 #: build/C/man2/kexec_load.2:117 build/C/man2/lookup_dcookie.2:50
220 #: build/C/man2/modify_ldt.2:106 build/C/man2/pciconfig_read.2:74
221 #: build/C/man2/personality.2:62 build/C/man2/pivot_root.2:99
222 #: build/C/man2/ptrace.2:412 build/C/man2/quotactl.2:425
223 #: build/C/man2/sendfile.2:111 build/C/man2/set_tid_address.2:83
224 #: build/C/man2/splice.2:142 build/C/man2/tee.2:100 build/C/man2/vm86.2:57
225 #: build/C/man2/vmsplice.2:122
226 #, no-wrap
227 msgid "ERRORS"
228 msgstr "エラー"
229
230 #. type: TP
231 #: build/C/man2/arch_prctl.2:88 build/C/man2/futex.2:222
232 #: build/C/man2/lookup_dcookie.2:51 build/C/man2/modify_ldt.2:107
233 #: build/C/man2/ptrace.2:417 build/C/man2/quotactl.2:426
234 #: build/C/man2/sendfile.2:121 build/C/man2/vm86.2:58
235 #, no-wrap
236 msgid "B<EFAULT>"
237 msgstr "B<EFAULT>"
238
239 #. type: Plain text
240 #: build/C/man2/arch_prctl.2:92
241 msgid ""
242 "I<addr> points to an unmapped address or is outside the process address "
243 "space."
244 msgstr ""
245 "I<addr> がアンマップされたアドレスを指しているか、プロセスのアドレス空間の外"
246 "にある。"
247
248 #. type: TP
249 #: build/C/man2/arch_prctl.2:92 build/C/man2/futex.2:227
250 #: build/C/man2/kexec_load.2:122 build/C/man2/lookup_dcookie.2:54
251 #: build/C/man2/modify_ldt.2:111 build/C/man2/pciconfig_read.2:75
252 #: build/C/man2/personality.2:63 build/C/man2/pivot_root.2:108
253 #: build/C/man2/ptrace.2:428 build/C/man2/quotactl.2:432
254 #: build/C/man2/quotactl.2:499 build/C/man2/sendfile.2:124
255 #: build/C/man2/splice.2:147 build/C/man2/tee.2:101
256 #: build/C/man2/vmsplice.2:127
257 #, no-wrap
258 msgid "B<EINVAL>"
259 msgstr "B<EINVAL>"
260
261 #. type: Plain text
262 #: build/C/man2/arch_prctl.2:96
263 msgid "I<code> is not a valid subcommand."
264 msgstr "I<code> が有効なサブコマンドでない。"
265
266 #. type: TP
267 #: build/C/man2/arch_prctl.2:96 build/C/man2/kexec_load.2:129
268 #: build/C/man2/lookup_dcookie.2:65 build/C/man2/pciconfig_read.2:102
269 #: build/C/man2/pivot_root.2:114 build/C/man2/ptrace.2:437
270 #: build/C/man2/quotactl.2:454 build/C/man2/vm86.2:66
271 #, no-wrap
272 msgid "B<EPERM>"
273 msgstr "B<EPERM>"
274
275 #.  .SH AUTHOR
276 #.  Man page written by Andi Kleen.
277 #. type: Plain text
278 #: build/C/man2/arch_prctl.2:102
279 msgid "I<addr> is outside the process address space."
280 msgstr "I<addr> がプロセスのアドレス空間の外にある。"
281
282 #. type: SH
283 #: build/C/man2/arch_prctl.2:102 build/C/man2/futex.2:247
284 #: build/C/man2/kexec_load.2:138 build/C/man2/lookup_dcookie.2:78
285 #: build/C/man2/modify_ldt.2:128 build/C/man2/nfsservctl.2:53
286 #: build/C/man2/outb.2:58 build/C/man2/pciconfig_read.2:107
287 #: build/C/man2/personality.2:66 build/C/man2/pivot_root.2:122
288 #: build/C/man2/ptrace.2:453 build/C/man2/sendfile.2:144
289 #: build/C/man2/set_tid_address.2:89 build/C/man2/splice.2:169
290 #: build/C/man2/tee.2:118 build/C/man2/vm86.2:71 build/C/man2/vmsplice.2:142
291 #, no-wrap
292 msgid "CONFORMING TO"
293 msgstr "準拠"
294
295 #. type: Plain text
296 #: build/C/man2/arch_prctl.2:106
297 msgid ""
298 "B<arch_prctl>()  is a Linux/x86-64 extension and should not be used in "
299 "programs intended to be portable."
300 msgstr ""
301 "B<arch_prctl>()  は Linux/x86-64 拡張であり、移植性を意図したプログラムでは使"
302 "うべきでない。"
303
304 #. type: SH
305 #: build/C/man2/arch_prctl.2:106 build/C/man2/futex.2:249
306 #: build/C/man2/kexec_load.2:140 build/C/man2/lookup_dcookie.2:81
307 #: build/C/man2/modify_ldt.2:131 build/C/man2/pivot_root.2:125
308 #: build/C/man2/ptrace.2:455 build/C/man2/sendfile.2:151
309 #: build/C/man2/splice.2:171 build/C/man2/tee.2:120
310 #: build/C/man2/vmsplice.2:144
311 #, no-wrap
312 msgid "NOTES"
313 msgstr "注意"
314
315 #. type: Plain text
316 #: build/C/man2/arch_prctl.2:109
317 msgid ""
318 "B<arch_prctl>()  is only supported on Linux/x86-64 for 64-bit programs "
319 "currently."
320 msgstr ""
321 "B<arch_prctl>()  は現在のところ Linux/x86-64 上の 64 ビットプログラムでのみサ"
322 "ポートされている。"
323
324 #. type: Plain text
325 #: build/C/man2/arch_prctl.2:111
326 msgid "The 64-bit base changes when a new 32-bit segment selector is loaded."
327 msgstr ""
328 "新しい 32 ビットセグメントセレクタがロードされた場合、 64 ビットベースは変更"
329 "される。"
330
331 #. type: Plain text
332 #: build/C/man2/arch_prctl.2:114
333 msgid "B<ARCH_SET_GS> is disabled in some kernels."
334 msgstr "B<ARCH_SET_GS> が無効にされているカーネルもある。"
335
336 #. type: Plain text
337 #: build/C/man2/arch_prctl.2:129
338 msgid ""
339 "Context switches for 64-bit segment bases are rather expensive.  It may be a "
340 "faster alternative to set a 32-bit base using a segment selector by setting "
341 "up an LDT with B<modify_ldt>(2)  or using the B<set_thread_area>(2)  system "
342 "call in kernel 2.5 or later.  B<arch_prctl>()  is only needed when you want "
343 "to set bases that are larger than 4GB.  Memory in the first 2GB of address "
344 "space can be allocated by using B<mmap>(2)  with the B<MAP_32BIT> flag."
345 msgstr ""
346 "64 ビットセグメントベースのコンテキストスイッチは、やや高価である。 LDT を "
347 "B<modify_ldt>(2)  で設定してセグメントセレクタを使うか、 (カーネル 2.5 以降"
348 "の)  B<set_thread_area>(2)  システムコールを使うことにより、 32 ビットベース"
349 "を設定するという高速な代替手段もある。 4GB より大きなベースを設定したい場合に"
350 "のみ、 B<arch_prctl>()  が必要である。 アドレス空間の最初の 2GB にあるメモリ"
351 "は、 B<mmap>(2)  に B<MAP_32BIT> フラグを指定して割り当てることができる。"
352
353 #. type: Plain text
354 #: build/C/man2/arch_prctl.2:134
355 msgid ""
356 "As of version 2.7, glibc provides no prototype for B<arch_prctl>().  You "
357 "have to declare it yourself for now.  This may be fixed in future glibc "
358 "versions."
359 msgstr ""
360 "バージョン 2.7 時点では、glibc には B<arch_prctl>()  のプロトタイプがない。 "
361 "今のところユーザは自分自身で宣言する必要がある。 これは将来の glibc のバー"
362 "ジョンで修正されるかもしれない。"
363
364 #. type: Plain text
365 #: build/C/man2/arch_prctl.2:137
366 msgid "I<FS> may be already used by the threading library."
367 msgstr "I<FS> はスレッドライブラリで既に使われているかもしれない。"
368
369 #. type: SH
370 #: build/C/man2/arch_prctl.2:137 build/C/man2/futex.2:263
371 #: build/C/man2/kexec_load.2:155 build/C/man2/modify_ldt.2:134
372 #: build/C/man2/outb.2:67 build/C/man2/pciconfig_read.2:109
373 #: build/C/man2/pivot_root.2:137 build/C/man2/ptrace.2:530
374 #: build/C/man2/quotactl.2:505 build/C/man2/sendfile.2:193
375 #: build/C/man2/set_tid_address.2:91 build/C/man2/splice.2:225
376 #: build/C/man2/tee.2:196 build/C/man2/vmsplice.2:153
377 #, no-wrap
378 msgid "SEE ALSO"
379 msgstr "関連項目"
380
381 #. type: Plain text
382 #: build/C/man2/arch_prctl.2:142
383 msgid "B<mmap>(2), B<modify_ldt>(2), B<prctl>(2), B<set_thread_area>(2)"
384 msgstr "B<mmap>(2), B<modify_ldt>(2), B<prctl>(2), B<set_thread_area>(2)"
385
386 #. type: Plain text
387 #: build/C/man2/arch_prctl.2:144
388 msgid "AMD X86-64 Programmer's manual"
389 msgstr "AMD X86-64 Programmer's manual"
390
391 #. type: SH
392 #: build/C/man2/arch_prctl.2:144 build/C/man2/futex.2:274
393 #: build/C/man2/kexec_load.2:158 build/C/man2/lookup_dcookie.2:88
394 #: build/C/man2/modify_ldt.2:136 build/C/man2/nfsservctl.2:55
395 #: build/C/man2/outb.2:70 build/C/man2/pciconfig_read.2:111
396 #: build/C/man2/personality.2:70 build/C/man2/pivot_root.2:143
397 #: build/C/man2/ptrace.2:539 build/C/man2/quotactl.2:510
398 #: build/C/man2/sendfile.2:199 build/C/man2/set_tid_address.2:94
399 #: build/C/man2/splice.2:229 build/C/man2/tee.2:199 build/C/man2/vm86.2:74
400 #: build/C/man2/vmsplice.2:156
401 #, no-wrap
402 msgid "COLOPHON"
403 msgstr ""
404
405 #. type: Plain text
406 #: build/C/man2/arch_prctl.2:151 build/C/man2/futex.2:281
407 #: build/C/man2/kexec_load.2:165 build/C/man2/lookup_dcookie.2:95
408 #: build/C/man2/modify_ldt.2:143 build/C/man2/nfsservctl.2:62
409 #: build/C/man2/outb.2:77 build/C/man2/pciconfig_read.2:118
410 #: build/C/man2/personality.2:77 build/C/man2/pivot_root.2:150
411 #: build/C/man2/ptrace.2:546 build/C/man2/quotactl.2:517
412 #: build/C/man2/sendfile.2:206 build/C/man2/set_tid_address.2:101
413 #: build/C/man2/splice.2:236 build/C/man2/tee.2:206 build/C/man2/vm86.2:81
414 #: build/C/man2/vmsplice.2:163
415 msgid ""
416 "This page is part of release 3.35 of the Linux I<man-pages> project.  A "
417 "description of the project, and information about reporting bugs, can be "
418 "found at http://man7.org/linux/man-pages/."
419 msgstr ""
420
421 #. type: TH
422 #: build/C/man2/futex.2:17
423 #, no-wrap
424 msgid "FUTEX"
425 msgstr "FUTEX"
426
427 #. type: TH
428 #: build/C/man2/futex.2:17
429 #, no-wrap
430 msgid "2010-08-29"
431 msgstr "2010-08-29"
432
433 #. type: Plain text
434 #: build/C/man2/futex.2:20
435 msgid "futex - Fast Userspace Locking system call"
436 msgstr "futex - 高速ユーザ空間ロック機構のシステムコール"
437
438 #. type: Plain text
439 #: build/C/man2/futex.2:25
440 #, no-wrap
441 msgid ""
442 "B<#include E<lt>linux/futex.hE<gt>>\n"
443 "B<#include E<lt>sys/time.hE<gt>>\n"
444 msgstr ""
445 "B<#include E<lt>linux/futex.hE<gt>>\n"
446 "B<#include E<lt>sys/time.hE<gt>>\n"
447
448 #. type: Plain text
449 #: build/C/man2/futex.2:28
450 #, no-wrap
451 msgid "B<int futex(int *>I<uaddr>B<, int >I<op>B<, int >I<val>B<, const struct timespec *>I<timeout>B<,>\n"
452 msgstr "B<int futex(int *>I<uaddr>B<, int >I<op>B<, int >I<val>B<, const struct timespec *>I<timeout>B<,>\n"
453
454 #.  int *? void *? u32 *?
455 #. type: Plain text
456 #: build/C/man2/futex.2:31
457 #, no-wrap
458 msgid "B<          int *>I<uaddr2>B<, int >I<val3>B<);>\n"
459 msgstr "B<          int *>I<uaddr2>B<, int >I<val3>B<);>\n"
460
461 #. type: Plain text
462 #: build/C/man2/futex.2:48
463 msgid ""
464 "The B<futex>()  system call provides a method for a program to wait for a "
465 "value at a given address to change, and a method to wake up anyone waiting "
466 "on a particular address (while the addresses for the same memory in separate "
467 "processes may not be equal, the kernel maps them internally so the same "
468 "memory mapped in different locations will correspond for B<futex>()  "
469 "calls).  This system call is typically used to implement the contended case "
470 "of a lock in shared memory, as described in B<futex>(7)."
471 msgstr ""
472 "B<futex>()  システムコールは、 指定したアドレスの値が変更されるのをプログラム"
473 "が待つ手段や 特定のアドレスに対して待機中のプロセスを wake (起床) させる手段"
474 "を提供する (プロセスが異なれば同じメモリに対するアドレスも同じではないかもし"
475 "れないが、 カーネルは異なる位置にマップされた同じメモリを B<futex>()  で使え"
476 "るよう内部でマップする)。 通常は、このシステムコールは B<futex>(7)  に書かれ"
477 "ているように、 共有メモリ中のロックが競合する場合の処理を実装するのに用いられ"
478 "る。"
479
480 #. type: Plain text
481 #: build/C/man2/futex.2:55
482 msgid ""
483 "When a B<futex>(7)  operation did not finish uncontended in userspace, a "
484 "call needs to be made to the kernel to arbitrate.  Arbitration can either "
485 "mean putting the calling process to sleep or, conversely, waking a waiting "
486 "process."
487 msgstr ""
488 "B<futex>(7)  の操作がユーザ空間で競合なく完了しなかった場合、 カーネルに仲裁"
489 "させるためにシステムコールを呼ぶ必要がある。 仲裁というのは、呼び出しプロセス"
490 "を sleep (起床待ち) させたり、反対に 待ちプロセスを wake させたりすることを意"
491 "味する。"
492
493 #. type: Plain text
494 #: build/C/man2/futex.2:62
495 msgid ""
496 "Callers of this function are expected to adhere to the semantics as set out "
497 "in B<futex>(7).  As these semantics involve writing nonportable assembly "
498 "instructions, this in turn probably means that most users will in fact be "
499 "library authors and not general application developers."
500 msgstr ""
501 "この関数を呼び出すプロセスは B<futex>(7)  に記述されているセマンティクスに忠"
502 "実であることが要求される。 このセマンティクスには移植不可能なアセンブリ命令を"
503 "書くことが含まれる。 このことは言い換えると futex のユーザのほとんどは実際は"
504 "ライブラリの作者であり、 一般アプリケーションの開発者ではないということであ"
505 "る。"
506
507 #. type: Plain text
508 #: build/C/man2/futex.2:70
509 msgid ""
510 "The I<uaddr> argument needs to point to an aligned integer which stores the "
511 "counter.  The operation to execute is passed via the I<op> argument, along "
512 "with a value I<val>."
513 msgstr ""
514 "I<uaddr> 引き数は、カウンタを格納する、 アラインメントの揃った int 型変数を指"
515 "している必要がある。 実行する操作は I<op> 引き数を介して、値 I<val> とともに"
516 "渡される。"
517
518 #. type: Plain text
519 #: build/C/man2/futex.2:72
520 msgid "Five operations are currently defined:"
521 msgstr "現在のところ 5 つの操作が定義されている:"
522
523 #. type: TP
524 #: build/C/man2/futex.2:72 build/C/man2/futex.2:177
525 #, no-wrap
526 msgid "B<FUTEX_WAIT>"
527 msgstr "B<FUTEX_WAIT>"
528
529 #. type: Plain text
530 #: build/C/man2/futex.2:90
531 msgid ""
532 "This operation atomically verifies that the futex address I<uaddr> still "
533 "contains the value I<val>, and sleeps awaiting B<FUTEX_WAKE> on this futex "
534 "address.  If the I<timeout> argument is non-NULL, its contents describe the "
535 "maximum duration of the wait, which is infinite otherwise.  The arguments "
536 "I<uaddr2> and I<val3> are ignored."
537 msgstr ""
538 "この操作は futex アドレス I<uaddr> に指定された値 I<val> がまだ格納されている"
539 "かどうかを不可分操作で検証し、 sleep 状態で この futex アドレスに対して "
540 "B<FUTEX_WAKE> が実行されるのを待つ。 I<timeout> 引き数が NULL でない場合、そ"
541 "の内容は 待ち時間の最大値を表す。NULL の場合は無限大を表す。 引き数 "
542 "I<uaddr2> と I<val3> は無視される。"
543
544 #. type: Plain text
545 #: build/C/man2/futex.2:98
546 msgid ""
547 "For B<futex>(7), this call is executed if decrementing the count gave a "
548 "negative value (indicating contention), and will sleep until another process "
549 "releases the futex and executes the B<FUTEX_WAKE> operation."
550 msgstr ""
551 "B<futex>(7)  に照らし合わせると、この呼び出しは カウントのデクリメントで負の"
552 "値 (競合を表す) になった場合に実行され、 別のプロセスがその futex を解放し "
553 "B<FUTEX_WAKE> の操作を実行するまで sleep する。"
554
555 #. type: TP
556 #: build/C/man2/futex.2:98 build/C/man2/futex.2:194
557 #, no-wrap
558 msgid "B<FUTEX_WAKE>"
559 msgstr "B<FUTEX_WAKE>"
560
561 #. type: Plain text
562 #: build/C/man2/futex.2:109
563 msgid ""
564 "This operation wakes at most I<val> processes waiting on this futex address "
565 "(i.e., inside B<FUTEX_WAIT>).  The arguments I<timeout>, I<uaddr2> and "
566 "I<val3> are ignored."
567 msgstr ""
568 "この操作では指定した futex アドレスに対して待ち状態の (すなわち "
569 "B<FUTEX_WAIT> 中の) 最大 I<val> 個のプロセスを wake させる。 引き数 "
570 "I<timeout>, I<uaddr2>, I<val3> は無視される。"
571
572 #. type: Plain text
573 #: build/C/man2/futex.2:115
574 msgid ""
575 "For B<futex>(7), this is executed if incrementing the count showed that "
576 "there were waiters, once the futex value has been set to 1 (indicating that "
577 "it is available)."
578 msgstr ""
579 "B<futex>(4) に照らし合わせると、 この操作は カウントのインクリメントで待ちプ"
580 "ロセスがあると判明し、 futex 値が 1 に設定された (利用可能であることを表す) "
581 "場合に実行される。"
582
583 #. type: TP
584 #: build/C/man2/futex.2:115
585 #, no-wrap
586 msgid "B<FUTEX_FD> (present up to and including Linux 2.6.25)"
587 msgstr "B<FUTEX_FD> (Linux 2.6.25 以前)"
588
589 #.  , suitable for .BR poll (2).
590 #. type: Plain text
591 #: build/C/man2/futex.2:131
592 msgid ""
593 "To support asynchronous wakeups, this operation associates a file descriptor "
594 "with a futex.  If another process executes a B<FUTEX_WAKE>, the process will "
595 "receive the signal number that was passed in I<val>.  The calling process "
596 "must close the returned file descriptor after use.  The arguments "
597 "I<timeout>, I<uaddr2> and I<val3> are ignored."
598 msgstr ""
599 "非同期の wake に対応するため、この操作はファイルディスクリプタを futex に 関"
600 "連づける。 別のプロセスが B<FUTEX_WAKE> を実行すると、プロセスは I<val> で渡"
601 "されたシグナル番号のシグナルを受信する。 呼び出しプロセスは使用後、返された"
602 "ファイルディスクリプタを クローズしなければならない。 引き数 I<timeout>, "
603 "I<uaddr2>, I<val3> は無視される。"
604
605 #. type: Plain text
606 #: build/C/man2/futex.2:136
607 msgid ""
608 "To prevent race conditions, the caller should test if the futex has been "
609 "upped after B<FUTEX_FD> returns."
610 msgstr ""
611 "競合状態を防止するため、呼び出しプロセスは B<FUTEX_FD> が返ったあと futex が "
612 "up されたかどうかを確認しなければならない。"
613
614 #. type: Plain text
615 #: build/C/man2/futex.2:140
616 msgid ""
617 "Because it was inherently racy, B<FUTEX_FD> has been removed from Linux "
618 "2.6.26 onward."
619 msgstr ""
620 "B<FUTEX_FD> はもともと競合が起きやすかったため、 Linux 2.6.26 以降で削除され"
621 "ている。"
622
623 #. type: TP
624 #: build/C/man2/futex.2:140
625 #, no-wrap
626 msgid "B<FUTEX_REQUEUE> (since Linux 2.5.70)"
627 msgstr "B<FUTEX_REQUEUE> (Linux 2.5.70 以降)"
628
629 #. type: Plain text
630 #: build/C/man2/futex.2:155
631 msgid ""
632 "This operation was introduced in order to avoid a \"thundering herd\" effect "
633 "when B<FUTEX_WAKE> is used and all processes woken up need to acquire "
634 "another futex.  This call wakes up I<val> processes, and requeues all other "
635 "waiters on the futex at address I<uaddr2>.  The arguments I<timeout> and "
636 "I<val3> are ignored."
637 msgstr ""
638 "この操作は、 B<FUTEX_WAKE> が使われていて、かつ wake されている全てのプロセス"
639 "が 他の futex を取得する必要がある場合に、 「獣の群れの暴走 (thundering "
640 "herd)」効果を避けるために導入された。 この呼び出しは I<val> 個のプロセスを "
641 "wake し、アドレス I<uaddr2> で futex を待っている他の全てのプロセスを再度"
642 "キューにいれる。 引き数 I<timeout> と I<val3> は無視される。"
643
644 #. type: TP
645 #: build/C/man2/futex.2:155
646 #, no-wrap
647 msgid "B<FUTEX_CMP_REQUEUE> (since Linux 2.6.7)"
648 msgstr "B<FUTEX_CMP_REQUEUE> (Linux 2.6.7 以降)"
649
650 #. type: Plain text
651 #: build/C/man2/futex.2:173
652 msgid ""
653 "There was a race in the intended use of B<FUTEX_REQUEUE>, so "
654 "B<FUTEX_CMP_REQUEUE> was introduced.  This is similar to B<FUTEX_REQUEUE>, "
655 "but first checks whether the location I<uaddr> still contains the value "
656 "I<val3>.  If not, the operation fails with the error B<EAGAIN>.  The "
657 "argument I<timeout> is ignored."
658 msgstr ""
659 "故意に B<FUTEX_REQUEUE> を使う場合に競合が起こるため、 B<FUTEX_CMP_REQUEUE> "
660 "が導入された。これは B<FUTEX_REQUEUE> と似ているが、場所 I<uaddr> に値 "
661 "I<val3> がまだ保持されているかを最初にチェックする。 保持されていない場合、操"
662 "作はエラー B<EAGAIN> で失敗する。引き数 I<timeout> は無視される。"
663
664 #. type: Plain text
665 #: build/C/man2/futex.2:177
666 msgid ""
667 "Depending on which operation was executed, the returned value for a "
668 "successful call can have differing meanings."
669 msgstr "どの操作が実行されたかによって、 成功時の返り値の意味が変わる。"
670
671 #. type: Plain text
672 #: build/C/man2/futex.2:194
673 msgid ""
674 "Returns 0 if the process was woken by a B<FUTEX_WAKE> call.  In case of "
675 "timeout, the operation fails with the error B<ETIMEDOUT>.  If the futex was "
676 "not equal to the expected value, the operation fails with the error "
677 "B<EWOULDBLOCK>.  Signals (see B<signal>(7))  or other spurious wakeups cause "
678 "B<FUTEX_WAIT> to fail with the error B<EINTR>."
679 msgstr ""
680 "プロセスが B<FUTEX_WAKE> の呼び出しで wake すると 0 を返す。 タイムアウトの場"
681 "合、操作はエラー B<ETIMEOUT> で失敗する。 futex が指定された値と等しくない場"
682 "合、 エラー B<EWOULDBLOCK> で失敗する。 シグナルを受信するか (B<signal>(7)  "
683 "参照) 他の偽の wake があった場合には、エラー B<EINTR> で失敗する。"
684
685 #. type: Plain text
686 #: build/C/man2/futex.2:197 build/C/man2/futex.2:203 build/C/man2/futex.2:206
687 msgid "Returns the number of processes woken up."
688 msgstr "wake したプロセスの数を返す。"
689
690 #. type: TP
691 #: build/C/man2/futex.2:197
692 #, no-wrap
693 msgid "B<FUTEX_FD>"
694 msgstr "B<FUTEX_FD>"
695
696 #. type: Plain text
697 #: build/C/man2/futex.2:200
698 msgid "Returns the new file descriptor associated with the futex."
699 msgstr "futex に関連づけられた新たなファイルディスクリプタを返す。"
700
701 #. type: TP
702 #: build/C/man2/futex.2:200
703 #, no-wrap
704 msgid "B<FUTEX_REQUEUE>"
705 msgstr "B<FUTEX_REQUEUE>"
706
707 #. type: TP
708 #: build/C/man2/futex.2:203
709 #, no-wrap
710 msgid "B<FUTEX_CMP_REQUEUE>"
711 msgstr "B<FUTEX_CMP_REQUEUE>"
712
713 #. type: Plain text
714 #: build/C/man2/futex.2:210
715 msgid ""
716 "In the event of an error, all operations return -1, and set I<errno> to "
717 "indicate the error."
718 msgstr ""
719 "エラーの場合、全ての操作で -1 が返り、 I<errno> がエラーの内容を示す値に設定"
720 "される。"
721
722 #. type: TP
723 #: build/C/man2/futex.2:211 build/C/man2/quotactl.2:484
724 #, no-wrap
725 msgid "B<EACCES>"
726 msgstr "B<EACCES>"
727
728 #. type: Plain text
729 #: build/C/man2/futex.2:214
730 msgid "No read access to futex memory."
731 msgstr "futex メモリに読み込みアクセス権がなかった。"
732
733 #. type: TP
734 #: build/C/man2/futex.2:214 build/C/man2/sendfile.2:112
735 #, no-wrap
736 msgid "B<EAGAIN>"
737 msgstr "B<EAGAIN>"
738
739 #. type: Plain text
740 #: build/C/man2/futex.2:222
741 msgid ""
742 "B<FUTEX_CMP_REQUEUE> found an unexpected futex value.  (This probably "
743 "indicates a race; use the safe B<FUTEX_WAKE> now.)"
744 msgstr ""
745 "B<FUTEX_CMP_REQUEUE> で予期しない futex 値が見つかった (これは競合を示してい"
746 "るかもしれない。 この場合は安全な B<FUTEX_WAKE> を使うこと)。"
747
748 #. type: Plain text
749 #: build/C/man2/futex.2:227
750 msgid "Error in getting I<timeout> information from userspace."
751 msgstr "ユーザ空間から I<timeout> の情報を取得する際にエラーが発生した。"
752
753 #. type: Plain text
754 #: build/C/man2/futex.2:230
755 msgid "An operation was not defined or error in page alignment."
756 msgstr ""
757 "操作が定義されていない。またはページ・アラインメントでエラーが発生した。"
758
759 #. type: TP
760 #: build/C/man2/futex.2:230
761 #, no-wrap
762 msgid "B<ENFILE>"
763 msgstr "B<ENFILE>"
764
765 #. type: Plain text
766 #: build/C/man2/futex.2:233
767 msgid "The system limit on the total number of open files has been reached."
768 msgstr "オープンされているファイルの総数がシステムの制限に達した。"
769
770 #. type: TP
771 #: build/C/man2/futex.2:233 build/C/man2/modify_ldt.2:124
772 #: build/C/man2/pciconfig_read.2:90 build/C/man2/quotactl.2:445
773 #: build/C/man2/vm86.2:62
774 #, no-wrap
775 msgid "B<ENOSYS>"
776 msgstr "B<ENOSYS>"
777
778 #. type: Plain text
779 #: build/C/man2/futex.2:237
780 msgid "Invalid operation specified in I<op>."
781 msgstr "I<op> に無効な操作が指定された。"
782
783 #. type: SH
784 #: build/C/man2/futex.2:237 build/C/man2/kexec_load.2:134
785 #: build/C/man2/lookup_dcookie.2:73 build/C/man2/pivot_root.2:119
786 #: build/C/man2/sendfile.2:138 build/C/man2/set_tid_address.2:86
787 #: build/C/man2/splice.2:165 build/C/man2/tee.2:114
788 #: build/C/man2/vmsplice.2:138
789 #, no-wrap
790 msgid "VERSIONS"
791 msgstr "バージョン"
792
793 #. type: Plain text
794 #: build/C/man2/futex.2:247
795 msgid ""
796 "Initial futex support was merged in Linux 2.5.7 but with different semantics "
797 "from what was described above.  A 4-argument system call with the semantics "
798 "described in this page was introduced in Linux 2.5.40.  In Linux 2.5.70 one "
799 "argument was added.  In Linux 2.6.7 a sixth argument was added\\(emmessy, "
800 "especially on the s390 architecture."
801 msgstr ""
802 "最初の futex 対応は Linux 2.5.7 で組み込まれたが、 上記のセマンティクスとは異"
803 "なる。 4 つの引き数のここに書かれているセマンティクスを持つ システムコール"
804 "は、Linux 2.5.40 で導入された。 Linux 2.5.70 では 1 つの引き数が追加された。 "
805 "Linux 2.6.7 では 6 番目の引き数が追加された。 これは汚く、s390 アーキテクチャ"
806 "上の特別のものである。"
807
808 #. type: Plain text
809 #: build/C/man2/futex.2:249 build/C/man2/kexec_load.2:140
810 #: build/C/man2/set_tid_address.2:91 build/C/man2/splice.2:171
811 #: build/C/man2/tee.2:120 build/C/man2/vmsplice.2:144
812 msgid "This system call is Linux-specific."
813 msgstr "このシステムコールは Linux 固有である。"
814
815 #.  .SH "AUTHORS"
816 #.  .PP
817 #.  Futexes were designed and worked on by
818 #.  Hubertus Franke (IBM Thomas J. Watson Research Center),
819 #.  Matthew Kirkwood, Ingo Molnar (Red Hat)
820 #.  and Rusty Russell (IBM Linux Technology Center).
821 #.  This page written by bert hubert.
822 #. type: Plain text
823 #: build/C/man2/futex.2:263
824 msgid ""
825 "To reiterate, bare futexes are not intended as an easy-to-use abstraction "
826 "for end-users.  (There is no wrapper function for this system call in "
827 "glibc.)  Implementors are expected to be assembly literate and to have read "
828 "the sources of the futex userspace library referenced below."
829 msgstr ""
830 "繰り返すが、裸の futex はエンドユーザが容易に使うことのできる概念として 意図"
831 "されたものではない (glibc にはこのシステムコールに対するラッパー関数はな"
832 "い)。 実装者は、アセンブリ言語に慣れており、以下に挙げる futex ユーザ空間ライ"
833 "ブラリの ソースを読み終えていることが要求される。"
834
835 #. type: Plain text
836 #: build/C/man2/futex.2:265
837 msgid "B<futex>(7)"
838 msgstr "B<futex>(7)"
839
840 #. type: Plain text
841 #: build/C/man2/futex.2:268
842 msgid ""
843 "I<Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux> (proceedings "
844 "of the Ottawa Linux Symposium 2002), online at"
845 msgstr ""
846 "I<Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux> (proceedings "
847 "of the Ottawa Linux Symposium 2002), online at"
848
849 #. type: Plain text
850 #: build/C/man2/futex.2:270
851 msgid "http://kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf"
852 msgstr "http://kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf"
853
854 #. type: Plain text
855 #: build/C/man2/futex.2:272
856 msgid "Futex example library, futex-*.tar.bz2 at"
857 msgstr "futex の使用例ライブラリ, futex-*.tar.bz2"
858
859 #. type: Plain text
860 #: build/C/man2/futex.2:274
861 msgid "ftp://ftp.nl.kernel.org/pub/linux/kernel/people/rusty/."
862 msgstr "ftp://ftp.nl.kernel.org/pub/linux/kernel/people/rusty/."
863
864 #. type: TH
865 #: build/C/man2/kexec_load.2:25
866 #, no-wrap
867 msgid "KEXEC_LOAD"
868 msgstr "KEXEC_LOAD"
869
870 #. type: TH
871 #: build/C/man2/kexec_load.2:25
872 #, no-wrap
873 msgid "2010-11-04"
874 msgstr "2010-11-04"
875
876 #. type: Plain text
877 #: build/C/man2/kexec_load.2:28
878 msgid "kexec_load - load a new kernel for later execution"
879 msgstr "kexec_load - load a new kernel for later execution"
880
881 #. type: Plain text
882 #: build/C/man2/kexec_load.2:30
883 msgid "B<#include E<lt>linux/kexec.hE<gt>>"
884 msgstr "B<#include E<lt>linux/kexec.hE<gt>>"
885
886 #. type: Plain text
887 #: build/C/man2/kexec_load.2:32
888 msgid ""
889 "B<long kexec_load(unsigned long >I<entry>B<, unsigned long >I<nr_segments>B<,"
890 ">"
891 msgstr ""
892 "B<long kexec_load(unsigned long >I<entry>B<, unsigned long >I<nr_segments>B<,"
893 ">"
894
895 #. type: Plain text
896 #: build/C/man2/kexec_load.2:35
897 msgid "B< struct kexec_segment *>I<segments>B<, unsigned long >I<flags>B<);>"
898 msgstr "B< struct kexec_segment *>I<segments>B<, unsigned long >I<flags>B<);>"
899
900 #. type: Plain text
901 #: build/C/man2/kexec_load.2:40
902 msgid ""
903 "The B<kexec_load>()  system call loads a new kernel that can be executed "
904 "later by B<reboot>(2)."
905 msgstr ""
906 "The B<kexec_load>()  system call loads a new kernel that can be executed "
907 "later by B<reboot>(2)."
908
909 #. type: Plain text
910 #: build/C/man2/kexec_load.2:46
911 msgid ""
912 "The I<flags> argument is a mask whose high-order bits control the operation "
913 "of the call.  The following values can be specified in I<flags>:"
914 msgstr ""
915 "The I<flags> argument is a mask whose high-order bits control the operation "
916 "of the call.  The following values can be specified in I<flags>:"
917
918 #. type: TP
919 #: build/C/man2/kexec_load.2:46
920 #, no-wrap
921 msgid "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
922 msgstr "B<KEXEC_ON_CRASH> (since Linux 2.6.13)"
923
924 #.  FIXME figure out how this is really used
925 #. type: Plain text
926 #: build/C/man2/kexec_load.2:50
927 msgid "Execute the new kernel automatically on a system crash."
928 msgstr "Execute the new kernel automatically on a system crash."
929
930 #. type: TP
931 #: build/C/man2/kexec_load.2:50
932 #, no-wrap
933 msgid "B<KEXEC_PRESERVE_CONTEXT> (since Linux 2.7.27)"
934 msgstr "B<KEXEC_PRESERVE_CONTEXT> (since Linux 2.7.27)"
935
936 #. type: Plain text
937 #: build/C/man2/kexec_load.2:60
938 msgid ""
939 "Preserve the system hardware and software states before executing the new "
940 "kernel.  This could be used for system suspend.  This flag is only available "
941 "if the kernel was configured with B<CONFIG_KEXEC_JUMP>, and is only "
942 "effective if I<nr_segments> is greater than 0."
943 msgstr ""
944 "Preserve the system hardware and software states before executing the new "
945 "kernel.  This could be used for system suspend.  This flag is only available "
946 "if the kernel was configured with B<CONFIG_KEXEC_JUMP>, and is only "
947 "effective if I<nr_segments> is greater than 0."
948
949 #. type: Plain text
950 #: build/C/man2/kexec_load.2:80
951 msgid ""
952 "The low-order bits of I<flags> contain the architecture of the to-be-"
953 "executed kernel.  Specify (OR) the constant B<KEXEC_ARCH_DEFAULT> to use the "
954 "current architecture, or one of the following architecture constants "
955 "B<KEXEC_ARCH_386>, B<KEXEC_ARCH_X86_64>, B<KEXEC_ARCH_PPC>, "
956 "B<KEXEC_ARCH_PPC64>, B<KEXEC_ARCH_IA_64>, B<KEXEC_ARCH_ARM>, "
957 "B<KEXEC_ARCH_S390>, B<KEXEC_ARCH_SH>, B<KEXEC_ARCH_MIPS>, and "
958 "B<KEXEC_ARCH_MIPS_LE>.  The architecture must be executable on the CPU of "
959 "the system."
960 msgstr ""
961 "The low-order bits of I<flags> contain the architecture of the to-be-"
962 "executed kernel.  Specify (OR) the constant B<KEXEC_ARCH_DEFAULT> to use the "
963 "current architecture, or one of the following architecture constants "
964 "B<KEXEC_ARCH_386>, B<KEXEC_ARCH_X86_64>, B<KEXEC_ARCH_PPC>, "
965 "B<KEXEC_ARCH_PPC64>, B<KEXEC_ARCH_IA_64>, B<KEXEC_ARCH_ARM>, "
966 "B<KEXEC_ARCH_S390>, B<KEXEC_ARCH_SH>, B<KEXEC_ARCH_MIPS>, and "
967 "B<KEXEC_ARCH_MIPS_LE>.  The architecture must be executable on the CPU of "
968 "the system."
969
970 #. type: Plain text
971 #: build/C/man2/kexec_load.2:94
972 msgid ""
973 "The I<entry> argument is the physical entry address in the kernel image.  "
974 "The I<nr_segments> argument is the number of segments pointed to by the "
975 "I<segments> pointer.  The I<segments> argument is an array of "
976 "I<kexec_segment> structures which define the kernel layout:"
977 msgstr ""
978 "The I<entry> argument is the physical entry address in the kernel image.  "
979 "The I<nr_segments> argument is the number of segments pointed to by the "
980 "I<segments> pointer.  The I<segments> argument is an array of "
981 "I<kexec_segment> structures which define the kernel layout:"
982
983 #. type: Plain text
984 #: build/C/man2/kexec_load.2:103
985 #, no-wrap
986 msgid ""
987 "struct kexec_segment {\n"
988 "    void   *buf;        /* Buffer in user space */\n"
989 "    size_t  bufsz;      /* Buffer length in user space */\n"
990 "    void   *mem;        /* Physical address of kernel */\n"
991 "    size_t  memsz;      /* Physical address length */\n"
992 "};\n"
993 msgstr ""
994 "struct kexec_segment {\n"
995 "    void   *buf;        /* Buffer in user space */\n"
996 "    size_t  bufsz;      /* Buffer length in user space */\n"
997 "    void   *mem;        /* Physical address of kernel */\n"
998 "    size_t  memsz;      /* Physical address length */\n"
999 "};\n"
1000
1001 #.  FIXME elaborate on the following:
1002 #. type: Plain text
1003 #: build/C/man2/kexec_load.2:110
1004 msgid ""
1005 "The kernel image defined by I<segments> is copied from the calling process "
1006 "into previously reserved memory."
1007 msgstr ""
1008 "The kernel image defined by I<segments> is copied from the calling process "
1009 "into previously reserved memory."
1010
1011 #. type: Plain text
1012 #: build/C/man2/kexec_load.2:117
1013 msgid ""
1014 "On success, B<kexec_load>()  returns 0.  On error, -1 is returned and "
1015 "I<errno> is set to indicate the error."
1016 msgstr ""
1017 "On success, B<kexec_load>()  returns 0.  On error, -1 is returned and "
1018 "I<errno> is set to indicate the error."
1019
1020 #. type: TP
1021 #: build/C/man2/kexec_load.2:118 build/C/man2/pivot_root.2:104
1022 #: build/C/man2/ptrace.2:413 build/C/man2/quotactl.2:493
1023 #, no-wrap
1024 msgid "B<EBUSY>"
1025 msgstr "B<EBUSY>"
1026
1027 #. type: Plain text
1028 #: build/C/man2/kexec_load.2:122
1029 msgid ""
1030 "Another crash kernel is already being loaded or a crash kernel is already in "
1031 "use."
1032 msgstr ""
1033 "Another crash kernel is already being loaded or a crash kernel is already in "
1034 "use."
1035
1036 #.  KEXEC_SEGMENT_MAX == 16
1037 #. type: Plain text
1038 #: build/C/man2/kexec_load.2:129
1039 msgid "I<flags> is invalid; or I<nr_segments> is too large"
1040 msgstr "I<flags> is invalid; or I<nr_segments> is too large"
1041
1042 #. type: Plain text
1043 #: build/C/man2/kexec_load.2:134
1044 msgid "The caller does not have the B<CAP_SYS_BOOT> capability."
1045 msgstr "The caller does not have the B<CAP_SYS_BOOT> capability."
1046
1047 #. type: Plain text
1048 #: build/C/man2/kexec_load.2:138
1049 msgid "The B<kexec_load>()  system call first appeared in Linux 2.6.13."
1050 msgstr "The B<kexec_load>()  system call first appeared in Linux 2.6.13."
1051
1052 #. type: Plain text
1053 #: build/C/man2/kexec_load.2:145
1054 msgid ""
1055 "Currently, there is no glibc support for B<kexec_load>().  Call it using "
1056 "B<syscall>(2)."
1057 msgstr ""
1058 "Currently, there is no glibc support for B<kexec_load>().  Call it using "
1059 "B<syscall>(2)."
1060
1061 #.  FIXME Andi submitted a patch for this.
1062 #.  Check if it got accepted later.
1063 #. type: Plain text
1064 #: build/C/man2/kexec_load.2:152
1065 msgid ""
1066 "The required constants are in the kernel source file I<linux/kexec.h>, which "
1067 "is not currently exported to glibc.  Therefore, these constants must be "
1068 "defined manually."
1069 msgstr ""
1070 "The required constants are in the kernel source file I<linux/kexec.h>, which "
1071 "is not currently exported to glibc.  Therefore, these constants must be "
1072 "defined manually."
1073
1074 #. type: Plain text
1075 #: build/C/man2/kexec_load.2:155
1076 msgid ""
1077 "This system call is only available if the kernel was configured with "
1078 "B<CONFIG_KEXEC>."
1079 msgstr ""
1080 "This system call is only available if the kernel was configured with "
1081 "B<CONFIG_KEXEC>."
1082
1083 #. type: Plain text
1084 #: build/C/man2/kexec_load.2:158
1085 msgid "B<reboot>(2), B<syscall>(2)"
1086 msgstr "B<reboot>(2), B<syscall>(2)"
1087
1088 #. type: TH
1089 #: build/C/man2/lookup_dcookie.2:27
1090 #, no-wrap
1091 msgid "LOOKUP_DCOOKIE"
1092 msgstr "LOOKUP_DCOOKIE"
1093
1094 #. type: TH
1095 #: build/C/man2/lookup_dcookie.2:27
1096 #, no-wrap
1097 msgid "2004-06-17"
1098 msgstr "2004-06-17"
1099
1100 #. type: Plain text
1101 #: build/C/man2/lookup_dcookie.2:30
1102 msgid "lookup_dcookie - return a directory entry's path"
1103 msgstr "lookup_dcookie - ディレクトリ・エントリのパス名を返す"
1104
1105 #. type: Plain text
1106 #: build/C/man2/lookup_dcookie.2:32
1107 msgid ""
1108 "B<int lookup_dcookie(u64 >I<cookie>B<, char *>I<buffer>B<, size_t >I<len>B<);"
1109 ">"
1110 msgstr ""
1111 "B<int lookup_dcookie(u64 >I<cookie>B<, char *>I<buffer>B<, size_t >I<len>B<);"
1112 ">"
1113
1114 #. type: Plain text
1115 #: build/C/man2/lookup_dcookie.2:38
1116 msgid ""
1117 "Look up the full path of the directory entry specified by the value "
1118 "I<cookie>.  The cookie is an opaque identifier uniquely identifying a "
1119 "particular directory entry.  The buffer given is filled in with the full "
1120 "path of the directory entry."
1121 msgstr ""
1122 "I<cookie> 値で指定されたディレクトリ・エントリのフルパス名を検索する。 "
1123 "cookie は、個々のディレクトリ・エントリを区別する内部識別子 (opaque "
1124 "identifier) である。引き数で指定されたバッファに、ディレクトリ・エントリの フ"
1125 "ルパス名が格納される。"
1126
1127 #. type: Plain text
1128 #: build/C/man2/lookup_dcookie.2:43
1129 msgid ""
1130 "For B<lookup_dcookie>()  to return successfully, the kernel must still hold "
1131 "a cookie reference to the directory entry."
1132 msgstr ""
1133 "B<lookup_dcookie>()  が正常に値を返すためには、カーネルがディレクトリ・エント"
1134 "リへの cookie 参照を 保持していなければならない。"
1135
1136 #. type: Plain text
1137 #: build/C/man2/lookup_dcookie.2:50
1138 msgid ""
1139 "On success, B<lookup_dcookie>()  returns the length of the path string "
1140 "copied into the buffer.  On error, -1 is returned, and I<errno> is set "
1141 "appropriately."
1142 msgstr ""
1143 "成功した場合、 B<lookup_dcookie>()  はバッファにコピーしたパス文字列の長さを"
1144 "返す。 エラーの場合は -1 を返し、 I<errno> に適切な値を設定する。"
1145
1146 #. type: Plain text
1147 #: build/C/man2/lookup_dcookie.2:54
1148 msgid "The buffer was not valid."
1149 msgstr "バッファが有効でなかった。"
1150
1151 #. type: Plain text
1152 #: build/C/man2/lookup_dcookie.2:58
1153 msgid ""
1154 "The kernel has no registered cookie/directory entry mappings at the time of "
1155 "lookup, or the cookie does not refer to a valid directory entry."
1156 msgstr ""
1157 "検索が行われた時、cookie とディレクトリ・エントリのマッピングがカーネルに 登"
1158 "録されていなかったか、または cookie が有効なディレクトリ・エントリを 参照して"
1159 "いない。"
1160
1161 #. type: TP
1162 #: build/C/man2/lookup_dcookie.2:58
1163 #, no-wrap
1164 msgid "B<ENAMETOOLONG>"
1165 msgstr "B<ENAMETOOLONG>"
1166
1167 #. type: Plain text
1168 #: build/C/man2/lookup_dcookie.2:61
1169 msgid "The name could not fit in the buffer."
1170 msgstr "名前がバッファに入り切らなかった。"
1171
1172 #. type: TP
1173 #: build/C/man2/lookup_dcookie.2:61 build/C/man2/sendfile.2:134
1174 #: build/C/man2/splice.2:155 build/C/man2/tee.2:111
1175 #: build/C/man2/vmsplice.2:135
1176 #, no-wrap
1177 msgid "B<ENOMEM>"
1178 msgstr "B<ENOMEM>"
1179
1180 #. type: Plain text
1181 #: build/C/man2/lookup_dcookie.2:65
1182 msgid ""
1183 "The kernel could not allocate memory for the temporary buffer holding the "
1184 "path."
1185 msgstr ""
1186 "カーネルが、パス名を保持する一時バッファ用のメモリを割り当てることが できな"
1187 "かった。"
1188
1189 #. type: Plain text
1190 #: build/C/man2/lookup_dcookie.2:70
1191 msgid ""
1192 "The process does not have the capability B<CAP_SYS_ADMIN> required to look "
1193 "up cookie values."
1194 msgstr ""
1195 "プロセスが cookie 値を検索するのに必要なケーパビリティ B<CAP_SYS_ADMIN> を"
1196 "持っていない。"
1197
1198 #. type: TP
1199 #: build/C/man2/lookup_dcookie.2:70 build/C/man2/quotactl.2:472
1200 #, no-wrap
1201 msgid "B<ERANGE>"
1202 msgstr "B<ERANGE>"
1203
1204 #. type: Plain text
1205 #: build/C/man2/lookup_dcookie.2:73
1206 msgid ""
1207 "The buffer was not large enough to hold the path of the directory entry."
1208 msgstr ""
1209 "バッファが、ディレクトリ・エントリのパス名を収容するのに 十分な大きさではな"
1210 "かった。"
1211
1212 #. type: Plain text
1213 #: build/C/man2/lookup_dcookie.2:78
1214 msgid ""
1215 "Available since Linux 2.5.43.  The B<ENAMETOOLONG> error return was added in "
1216 "2.5.70."
1217 msgstr ""
1218 "Linux 2.5.43 以降で利用できる。 エラー B<ENAMETOOLONG> を返す仕様は 2.5.70 で"
1219 "追加された。"
1220
1221 #. type: Plain text
1222 #: build/C/man2/lookup_dcookie.2:81
1223 msgid "B<lookup_dcookie>()  is Linux-specific."
1224 msgstr "B<lookup_dcookie>()  は Linux 独自の関数である。"
1225
1226 #. type: Plain text
1227 #: build/C/man2/lookup_dcookie.2:85
1228 msgid ""
1229 "B<lookup_dcookie>()  is a special-purpose system call, currently used only "
1230 "by the oprofile profiler.  It relies on a kernel driver to register cookies "
1231 "for directory entries."
1232 msgstr ""
1233 "B<lookup_dcookie>()  は特殊な用途に使われるシステムコールで、現在のところ "
1234 "oprofile profiler で 使われているだけである。"
1235
1236 #. type: Plain text
1237 #: build/C/man2/lookup_dcookie.2:88
1238 msgid ""
1239 "The path returned may be suffixed by the string \" (deleted)\" if the "
1240 "directory entry has been removed."
1241 msgstr ""
1242 "指定されたディレクトリ・エントリが削除されていた場合、返されるパス名の最後に "
1243 "\" (deleted)\" という文字列が付加されることがある。"
1244
1245 #. type: TH
1246 #: build/C/man2/modify_ldt.2:25
1247 #, no-wrap
1248 msgid "MODIFY_LDT"
1249 msgstr "MODIFY_LDT"
1250
1251 #. type: TH
1252 #: build/C/man2/modify_ldt.2:25 build/C/man2/pivot_root.2:7
1253 #, no-wrap
1254 msgid "2007-06-01"
1255 msgstr "2007-06-01"
1256
1257 #. type: Plain text
1258 #: build/C/man2/modify_ldt.2:28
1259 msgid "modify_ldt - get or set ldt"
1260 msgstr "modify_ldt - ldt を設定または取得する"
1261
1262 #. type: Plain text
1263 #: build/C/man2/modify_ldt.2:31
1264 #, no-wrap
1265 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1266 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1267
1268 #. type: Plain text
1269 #: build/C/man2/modify_ldt.2:33
1270 #, no-wrap
1271 msgid "B<int modify_ldt(int >I<func>B<, void *>I<ptr>B<, unsigned long >I<bytecount>B<);>\n"
1272 msgstr "B<int modify_ldt(int >I<func>B<, void *>I<ptr>B<, unsigned long >I<bytecount>B<);>\n"
1273
1274 #. type: Plain text
1275 #: build/C/man2/modify_ldt.2:39
1276 msgid ""
1277 "B<modify_ldt>()  reads or writes the local descriptor table (ldt) for a "
1278 "process.  The ldt is a per-process memory management table used by the i386 "
1279 "processor.  For more information on this table, see an Intel 386 processor "
1280 "handbook."
1281 msgstr ""
1282 "B<modify_ldt>()  はプロセスのローカル・ディスクリプタ・テーブル (local "
1283 "descriptor table; ldt)  を読み書きする。 ldt は i386 プロセッサで使用されるプ"
1284 "ロセスごとのメモリ管理テーブルである。 このテーブルに関してのより詳しい情報"
1285 "は Intel 386 processor handbook を 参照すること。"
1286
1287 #. type: Plain text
1288 #: build/C/man2/modify_ldt.2:49
1289 msgid ""
1290 "When I<func> is 0, B<modify_ldt>()  reads the ldt into the memory pointed to "
1291 "by I<ptr>.  The number of bytes read is the smaller of I<bytecount> and the "
1292 "actual size of the ldt."
1293 msgstr ""
1294 "I<func> が 0 ならば、 B<modify_ldt>()  は ldt を I<ptr> が指しているメモリに"
1295 "読み込む。 読み込むバイト数は実際の ldt のサイズか I<bytecount> より小さい方"
1296 "である。"
1297
1298 #.  FIXME ? say something about func == 2 and func == 0x11?
1299 #.  In Linux 2.4, func == 2 returned "the default ldt"
1300 #.  In Linux 2.6, func == 2 is a nop, returning a zeroed out structure.
1301 #.  Linux 2.4 and 2.6 implement an operation for func == 0x11
1302 #. type: Plain text
1303 #: build/C/man2/modify_ldt.2:67
1304 msgid ""
1305 "When I<func> is 1, B<modify_ldt>()  modifies one ldt entry.  I<ptr> points "
1306 "to a I<user_desc> structure and I<bytecount> must equal the size of this "
1307 "structure."
1308 msgstr ""
1309 "I<func> が 1 ならば、 B<modify_ldt>()  は ldt エントリの一つを変更する。 "
1310 "I<ptr> は I<user_desc> 構造体を指し、 I<bytecount> はこの構造体の大きさに等し"
1311 "くなければならない。"
1312
1313 #. type: Plain text
1314 #: build/C/man2/modify_ldt.2:71
1315 msgid "The I<user_desc> structure is defined in I<E<lt>asm/ldt.hE<gt>> as:"
1316 msgstr ""
1317 "I<user_desc> 構造体は I<E<lt>asm/ldt.hE<gt>> で以下のように定義されている:"
1318
1319 #. type: Plain text
1320 #: build/C/man2/modify_ldt.2:85
1321 #, no-wrap
1322 msgid ""
1323 "struct user_desc {\n"
1324 "    unsigned int  entry_number;\n"
1325 "    unsigned long base_addr;\n"
1326 "    unsigned int  limit;\n"
1327 "    unsigned int  seg_32bit:1;\n"
1328 "    unsigned int  contents:2;\n"
1329 "    unsigned int  read_exec_only:1;\n"
1330 "    unsigned int  limit_in_pages:1;\n"
1331 "    unsigned int  seg_not_present:1;\n"
1332 "    unsigned int  useable:1;\n"
1333 "};\n"
1334 msgstr ""
1335 "struct user_desc {\n"
1336 "    unsigned int  entry_number;\n"
1337 "    unsigned long base_addr;\n"
1338 "    unsigned int  limit;\n"
1339 "    unsigned int  seg_32bit:1;\n"
1340 "    unsigned int  contents:2;\n"
1341 "    unsigned int  read_exec_only:1;\n"
1342 "    unsigned int  limit_in_pages:1;\n"
1343 "    unsigned int  seg_not_present:1;\n"
1344 "    unsigned int  useable:1;\n"
1345 "};\n"
1346
1347 #.  .PP
1348 #.  The ldt is specific for the calling process. Any attempts to change
1349 #.  the ldt to include the address space of another process or the kernel
1350 #.  will result in a segmentation violation when trying to access the memory
1351 #.  outside of the process address space. The memory protection is enforced
1352 #.  at the paging layer.
1353 #. type: Plain text
1354 #: build/C/man2/modify_ldt.2:96
1355 msgid "In Linux 2.4 and earlier, this structure was named I<modify_ldt_ldt_s>."
1356 msgstr ""
1357 "Linux 2.4 以前では、この構造体は I<modify_ldt_ldt_s> という名前であった。"
1358
1359 #. type: Plain text
1360 #: build/C/man2/modify_ldt.2:106
1361 msgid ""
1362 "On success, B<modify_ldt>()  returns either the actual number of bytes read "
1363 "(for reading)  or 0 (for writing).  On failure, B<modify_ldt>()  returns -1 "
1364 "and sets I<errno> to indicate the error."
1365 msgstr ""
1366 "成功した場合は、 B<modify_ldt>()  は (読み込みの場合は) 実際に読み込んだバイ"
1367 "ト数、 または (書き込みの場合は) 0 を返す。 失敗した場合は B<modify_ldt>()  "
1368 "は -1 を返し、 I<errno> をエラーを示す値に設定する。"
1369
1370 #. type: Plain text
1371 #: build/C/man2/modify_ldt.2:111
1372 msgid "I<ptr> points outside the address space."
1373 msgstr "I<ptr> がアドレス空間の外を指している。"
1374
1375 #. type: Plain text
1376 #: build/C/man2/modify_ldt.2:124
1377 msgid ""
1378 "I<ptr> is 0, or I<func> is 1 and I<bytecount> is not equal to the size of "
1379 "the structure I<modify_ldt_ldt_s>, or I<func> is 1 and the new ldt entry has "
1380 "invalid values."
1381 msgstr ""
1382 "I<ptr> が 0 である、 または I<func> が 1 で I<bytecount> が "
1383 "I<modify_ldt_ldt_s> 構造体のサイズと等しくないか、 I<func> が 1 で新しい ldt "
1384 "エントリが無効な値である。"
1385
1386 #. type: Plain text
1387 #: build/C/man2/modify_ldt.2:128
1388 msgid "I<func> is neither 0 nor 1."
1389 msgstr "I<func> が 0 でも 1 でもない。"
1390
1391 #. type: Plain text
1392 #: build/C/man2/modify_ldt.2:131
1393 msgid ""
1394 "This call is Linux-specific and should not be used in programs intended to "
1395 "be portable."
1396 msgstr ""
1397 "このコールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけな"
1398 "い。"
1399
1400 #. type: Plain text
1401 #: build/C/man2/modify_ldt.2:134 build/C/man2/pivot_root.2:128
1402 msgid ""
1403 "Glibc does not provide a wrapper for this system call; call it using "
1404 "B<syscall>(2)."
1405 msgstr ""
1406 "glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
1407 "(2)  を使って呼び出すこと。"
1408
1409 #. type: Plain text
1410 #: build/C/man2/modify_ldt.2:136
1411 msgid "B<vm86>(2)"
1412 msgstr "B<vm86>(2)"
1413
1414 #. type: TH
1415 #: build/C/man2/nfsservctl.2:8
1416 #, no-wrap
1417 msgid "NFSSERVCTL"
1418 msgstr "NFSSERVCTL"
1419
1420 #. type: TH
1421 #: build/C/man2/nfsservctl.2:8
1422 #, no-wrap
1423 msgid "1997-07-16"
1424 msgstr "1997-07-16"
1425
1426 #. type: Plain text
1427 #: build/C/man2/nfsservctl.2:11
1428 msgid "nfsservctl - syscall interface to kernel nfs daemon"
1429 msgstr "nfsservctl - カーネル nfs デーモンのためのインターフェース"
1430
1431 #. type: Plain text
1432 #: build/C/man2/nfsservctl.2:14
1433 #, no-wrap
1434 msgid "B<#include E<lt>linux/nfsd/syscall.hE<gt>>\n"
1435 msgstr "B<#include E<lt>linux/nfsd/syscall.hE<gt>>\n"
1436
1437 #. type: Plain text
1438 #: build/C/man2/nfsservctl.2:17
1439 #, no-wrap
1440 msgid ""
1441 "B<long nfsservctl(int >I<cmd>B<, struct nfsctl_arg *>I<argp>B<,>\n"
1442 "B<                union nfsctl_res *>I<resp>B<);>\n"
1443 msgstr ""
1444 "B<long nfsservctl(int >I<cmd>B<, struct nfsctl_arg *>I<argp>B<,>\n"
1445 "B<                union nfsctl_res *>I<resp>B<);>\n"
1446
1447 #. type: Plain text
1448 #: build/C/man2/nfsservctl.2:30
1449 #, no-wrap
1450 msgid ""
1451 "/*\n"
1452 " * These are the commands understood by nfsctl().\n"
1453 " */\n"
1454 "#define NFSCTL_SVC          0    /* This is a server process. */\n"
1455 "#define NFSCTL_ADDCLIENT    1    /* Add an NFS client. */\n"
1456 "#define NFSCTL_DELCLIENT    2    /* Remove an NFS client. */\n"
1457 "#define NFSCTL_EXPORT       3    /* export a file system. */\n"
1458 "#define NFSCTL_UNEXPORT     4    /* unexport a file system. */\n"
1459 "#define NFSCTL_UGIDUPDATE   5    /* update a client's UID/GID map. */\n"
1460 "#define NFSCTL_GETFH        6    /* get an fh (used by mountd) */\n"
1461 msgstr ""
1462 "/*\n"
1463 " * nfsctl() によって理解されるコマンド\n"
1464 " */\n"
1465 "#define NFSCTL_SVC          0    /* サーバープロセス */\n"
1466 "#define NFSCTL_ADDCLIENT    1    /* NFS クライアントを追加 */\n"
1467 "#define NFSCTL_DELCLIENT    2    /* NFS クライアンドを削除 */\n"
1468 "#define NFSCTL_EXPORT       3    /* ファイルシステムのエクスポート */\n"
1469 "#define NFSCTL_UNEXPORT     4    /* ファイルシステムのアンエクスポート */\n"
1470 "#define NFSCTL_UGIDUPDATE   5    /* UID/GID マップの更新 */\n"
1471 "#define NFSCTL_GETFH        6    /* (mountd で使用される) fh の取得 */\n"
1472
1473 #. type: Plain text
1474 #: build/C/man2/nfsservctl.2:42
1475 #, no-wrap
1476 msgid ""
1477 "struct nfsctl_arg {\n"
1478 "    int                       ca_version;     /* safeguard */\n"
1479 "    union {\n"
1480 "        struct nfsctl_svc     u_svc;\n"
1481 "        struct nfsctl_client  u_client;\n"
1482 "        struct nfsctl_export  u_export;\n"
1483 "        struct nfsctl_uidmap  u_umap;\n"
1484 "        struct nfsctl_fhparm  u_getfh;\n"
1485 "        unsigned int          u_debug;\n"
1486 "    } u;\n"
1487 "}\n"
1488 msgstr ""
1489 "struct nfsctl_arg {\n"
1490 "    int                       ca_version;     /* safeguard */\n"
1491 "    union {\n"
1492 "        struct nfsctl_svc     u_svc;\n"
1493 "        struct nfsctl_client  u_client;\n"
1494 "        struct nfsctl_export  u_export;\n"
1495 "        struct nfsctl_uidmap  u_umap;\n"
1496 "        struct nfsctl_fhparm  u_getfh;\n"
1497 "        unsigned int          u_debug;\n"
1498 "    } u;\n"
1499 "}\n"
1500
1501 #. type: Plain text
1502 #: build/C/man2/nfsservctl.2:47
1503 #, no-wrap
1504 msgid ""
1505 "union nfsctl_res {\n"
1506 "        struct knfs_fh          cr_getfh;\n"
1507 "        unsigned int            cr_debug;\n"
1508 "};\n"
1509 msgstr ""
1510 "union nfsctl_res {\n"
1511 "        struct knfs_fh          cr_getfh;\n"
1512 "        unsigned int            cr_debug;\n"
1513 "};\n"
1514
1515 #. type: Plain text
1516 #: build/C/man2/nfsservctl.2:53 build/C/man2/pivot_root.2:99
1517 #: build/C/man2/vm86.2:57
1518 msgid ""
1519 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1520 "appropriately."
1521 msgstr ""
1522 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
1523 "定される。"
1524
1525 #. type: Plain text
1526 #: build/C/man2/nfsservctl.2:55
1527 msgid "This call is Linux-specific."
1528 msgstr "このコールは Linux 特有である。"
1529
1530 #. type: TH
1531 #: build/C/man2/outb.2:28
1532 #, no-wrap
1533 msgid "OUTB"
1534 msgstr "OUTB"
1535
1536 #. type: TH
1537 #: build/C/man2/outb.2:28
1538 #, no-wrap
1539 msgid "1995-11-29"
1540 msgstr "1995-11-29"
1541
1542 #. type: Plain text
1543 #: build/C/man2/outb.2:33
1544 msgid ""
1545 "outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, "
1546 "outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - port I/O"
1547 msgstr ""
1548 "outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, "
1549 "outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - ポート入出力"
1550
1551 #. type: Plain text
1552 #: build/C/man2/outb.2:38
1553 msgid ""
1554 "This family of functions is used to do low-level port input and output.  The "
1555 "out* functions do port output, the in* functions do port input; the b-suffix "
1556 "functions are byte-width and the w-suffix functions word-width; the _p-"
1557 "suffix functions pause until the I/O completes."
1558 msgstr ""
1559 "この一連の関数はポートに対する低レベルの入出力に使用する。 out* 関数はポート"
1560 "出力、in* 関数はポート入力を行う。 語尾に b がついている関数はバイト単位、w "
1561 "がついている関数はワード単位である。 _p がついている関数は I/O が終了するまで"
1562 "待つ。"
1563
1564 #.  , given the following information
1565 #.  in addition to that given in
1566 #.  .BR outb (9).
1567 #. type: Plain text
1568 #: build/C/man2/outb.2:44
1569 msgid ""
1570 "They are primarily designed for internal kernel use, but can be used from "
1571 "user space."
1572 msgstr ""
1573 "これらの関数はもともとカーネル内部での使用を想定して設計されているが、 ユー"
1574 "ザー空間からでも使用できる。"
1575
1576 #. type: Plain text
1577 #: build/C/man2/outb.2:49
1578 msgid ""
1579 "You compile with B<-O> or B<-O2> or similar.  The functions are defined as "
1580 "inline macros, and will not be substituted in without optimization enabled, "
1581 "causing unresolved references at link time."
1582 msgstr ""
1583 "B<-O> や B<-O2> などを指定してコンパイルすること。 これらの関数はインライン・"
1584 "マクロとして定義されており、 最適化を行わないと関数の展開が行われず、 リンク"
1585 "の時に「解決できない参照(unresolved reference)」が発生する。"
1586
1587 #. type: Plain text
1588 #: build/C/man2/outb.2:58
1589 msgid ""
1590 "You use B<ioperm>(2)  or alternatively B<iopl>(2)  to tell the kernel to "
1591 "allow the user space application to access the I/O ports in question.  "
1592 "Failure to do this will cause the application to receive a segmentation "
1593 "fault."
1594 msgstr ""
1595 "ユーザー空間のアプリケーションが I/O ポートにアクセスすることを カーネルに教"
1596 "えるために B<ioperm>(2)  もしくは B<iopl>(2)  を使用すること。これを忘れると"
1597 "アプリケーションはセグメンテーション違反 (segmentation fault) を受けとること"
1598 "になる。"
1599
1600 #. type: Plain text
1601 #: build/C/man2/outb.2:67
1602 msgid ""
1603 "B<outb>()  and friends are hardware-specific.  The I<value> argument is "
1604 "passed first and the I<port> argument is passed second, which is the "
1605 "opposite order from most DOS implementations."
1606 msgstr ""
1607 "B<outb>()  とその仲間はハードウェア特有である。 I<value> 引数が最初に渡さ"
1608 "れ、 I<port> 引数が二番目に渡される。 この順序はほとんどの DOS での実装とは逆"
1609 "である。"
1610
1611 #. type: Plain text
1612 #: build/C/man2/outb.2:70
1613 msgid "B<ioperm>(2), B<iopl>(2)"
1614 msgstr "B<ioperm>(2), B<iopl>(2)"
1615
1616 #. type: TH
1617 #: build/C/man2/pciconfig_read.2:5
1618 #, no-wrap
1619 msgid "PCICONFIG_READ"
1620 msgstr "PCICONFIG_READ"
1621
1622 #. type: TH
1623 #: build/C/man2/pciconfig_read.2:5
1624 #, no-wrap
1625 msgid "2003-07-14"
1626 msgstr "2003-07-14"
1627
1628 #. type: Plain text
1629 #: build/C/man2/pciconfig_read.2:8
1630 msgid ""
1631 "pciconfig_read, pciconfig_write, pciconfig_iobase - pci device information "
1632 "handling"
1633 msgstr ""
1634 "pciconfig_read, pciconfig_write, pciconfig_iobase - pci デバイス情報を扱う"
1635
1636 #. type: Plain text
1637 #: build/C/man2/pciconfig_read.2:11
1638 #, no-wrap
1639 msgid "B<#include E<lt>pci.hE<gt>>\n"
1640 msgstr "B<#include E<lt>pci.hE<gt>>\n"
1641
1642 #. type: Plain text
1643 #: build/C/man2/pciconfig_read.2:18
1644 #, no-wrap
1645 msgid ""
1646 "B<int pciconfig_read(unsigned long >I<bus>B<, unsigned long >I<dfn>B<,>\n"
1647 "B<          unsigned long >I<off>B<, unsigned long >I<len>B<, void *>I<buf>B<);>\n"
1648 "B<int pciconfig_write(unsigned long >I<bus>B<, unsigned long >I<dfn>B<,>\n"
1649 "B<          unsigned long >I<off>B<, unsigned long >I<len>B<, void *>I<buf>B<);>\n"
1650 "B<int pciconfig_iobase(long >I<which>B<, unsigned long >I<bus>B<,>\n"
1651 "B<          unsigned long >I<devfn>B<);>\n"
1652 msgstr ""
1653 "B<int pciconfig_read(unsigned long >I<bus>B<, unsigned long >I<dfn>B<,>\n"
1654 "B<          unsigned long >I<off>B<, unsigned long >I<len>B<, void *>I<buf>B<);>\n"
1655 "B<int pciconfig_write(unsigned long >I<bus>B<, unsigned long >I<dfn>B<,>\n"
1656 "B<          unsigned long >I<off>B<, unsigned long >I<len>B<, void *>I<buf>B<);>\n"
1657 "B<int pciconfig_iobase(long >I<which>B<, unsigned long >I<bus>B<,>\n"
1658 "B<          unsigned long >I<devfn>B<);>\n"
1659
1660 #. type: Plain text
1661 #: build/C/man2/pciconfig_read.2:24
1662 msgid ""
1663 "Most of the interaction with PCI devices is already handled by the kernel "
1664 "PCI layer, and thus these calls should not normally need to be accessed from "
1665 "userspace."
1666 msgstr ""
1667 "PCI デバイスとのやり取り (interaction) は カーネル PCI レイヤですでに処理され"
1668 "ているので、 通常はこららの関数をユーザ空間からアクセスする必要はない。"
1669
1670 #. type: TP
1671 #: build/C/man2/pciconfig_read.2:24 build/C/man2/pciconfig_read.2:48
1672 #, no-wrap
1673 msgid "B<pciconfig_read>()"
1674 msgstr "B<pciconfig_read>()"
1675
1676 #. type: Plain text
1677 #: build/C/man2/pciconfig_read.2:33
1678 msgid "Reads to I<buf> from device I<dev> at offset I<off> value."
1679 msgstr "デバイス I<dev> のオフセット I<off> の値を I<buf> に読み込む。"
1680
1681 #. type: TP
1682 #: build/C/man2/pciconfig_read.2:33 build/C/man2/pciconfig_read.2:54
1683 #, no-wrap
1684 msgid "B<pciconfig_write>()"
1685 msgstr "B<pciconfig_write>()"
1686
1687 #. type: Plain text
1688 #: build/C/man2/pciconfig_read.2:42
1689 msgid "Writes from I<buf> to device I<dev> at offset I<off> value."
1690 msgstr "デバイス I<dev> のオフセット I<off> に I<buf> の値を書き込む。"
1691
1692 #. type: TP
1693 #: build/C/man2/pciconfig_read.2:42 build/C/man2/pciconfig_read.2:60
1694 #, no-wrap
1695 msgid "B<pciconfig_iobase>()"
1696 msgstr "B<pciconfig_iobase>()"
1697
1698 #. type: Plain text
1699 #: build/C/man2/pciconfig_read.2:47
1700 msgid ""
1701 "You pass it a bus/devfn pair and get a physical address for either the "
1702 "memory offset (for things like prep, this is 0xc0000000), the IO base for "
1703 "PIO cycles, or the ISA holes if any."
1704 msgstr ""
1705 "bus/devfn ペアをこの関数に渡し、 メモリオフセット (prep のようなものでは、こ"
1706 "の値は 0xc0000000 である) と PIO サイクルの IO ベースの物理アドレスを取得す"
1707 "る。 また、もしあるならば ISA hole の物理アドレスを取得する。"
1708
1709 #. type: Plain text
1710 #: build/C/man2/pciconfig_read.2:54 build/C/man2/pciconfig_read.2:60
1711 msgid ""
1712 "On success zero is returned.  On error, -1 is returned and I<errno> is set "
1713 "appropriately."
1714 msgstr ""
1715 "成功した場合、0 が返される。 エラーの場合、-1 が返され、 I<errno> が適切に設"
1716 "定される。"
1717
1718 #. type: Plain text
1719 #: build/C/man2/pciconfig_read.2:74
1720 msgid ""
1721 "Returns information on locations of various I/O regions in physical memory "
1722 "according to the I<which> value.  Values for I<which> are: "
1723 "B<IOBASE_BRIDGE_NUMBER>, B<IOBASE_MEMORY>, B<IOBASE_IO>, B<IOBASE_ISA_IO>, "
1724 "B<IOBASE_ISA_MEM>."
1725 msgstr ""
1726 "I<which> の値に基づいて、物理メモリ内の様々な I/O 領域の位置情報が返される。 "
1727 "I<which> の値は、 B<IOBASE_BRIDGE_NUMBER>, B<IOBASE_MEMORY>, B<IOBASE_IO>, "
1728 "B<IOBASE_ISA_IO>, B<IOBASE_ISA_MEM> である。"
1729
1730 #. type: Plain text
1731 #: build/C/man2/pciconfig_read.2:81
1732 msgid "I<len> value is invalid.  This does not apply to B<pciconfig_iobase>()."
1733 msgstr ""
1734 "I<len> の値が無効である。 このエラーは B<pciconfig_iobase>()  には適用されな"
1735 "い。"
1736
1737 #. type: TP
1738 #: build/C/man2/pciconfig_read.2:81 build/C/man2/ptrace.2:431
1739 #: build/C/man2/sendfile.2:130
1740 #, no-wrap
1741 msgid "B<EIO>"
1742 msgstr "B<EIO>"
1743
1744 #. type: Plain text
1745 #: build/C/man2/pciconfig_read.2:84
1746 msgid "I/O error."
1747 msgstr "I/O エラー。"
1748
1749 #. type: TP
1750 #: build/C/man2/pciconfig_read.2:84
1751 #, no-wrap
1752 msgid "B<ENODEV>"
1753 msgstr "B<ENODEV>"
1754
1755 #. type: Plain text
1756 #: build/C/man2/pciconfig_read.2:90
1757 msgid ""
1758 "For B<pciconfig_iobase>(), \"hose\" value is NULL.  For the other calls, "
1759 "could not find a slot."
1760 msgstr ""
1761 "B<pciconfig_iobase>()  の場合、でホース (hose) の値が NULL である。 他の呼び"
1762 "出しの場合、スロット (slot) が見つからない。"
1763
1764 #. type: Plain text
1765 #: build/C/man2/pciconfig_read.2:95
1766 msgid "The system has not implemented these calls (B<CONFIG_PCI> not defined)."
1767 msgstr ""
1768 "このシステムはこれらの呼び出しを実装していない。 (B<CONFIG_PCI> が定義されて"
1769 "いない)。"
1770
1771 #. type: TP
1772 #: build/C/man2/pciconfig_read.2:95
1773 #, no-wrap
1774 msgid "B<EOPNOTSUPP>"
1775 msgstr "B<EOPNOTSUPP>"
1776
1777 #. type: Plain text
1778 #: build/C/man2/pciconfig_read.2:102
1779 msgid ""
1780 "This return value is only valid for B<pciconfig_iobase>().  It is returned "
1781 "if the value for I<which> is invalid."
1782 msgstr ""
1783 "この返り値は B<pciconfig_iobase>()  でのみ有効である。 このエラーは I<which> "
1784 "の値が無効であるときに返される。"
1785
1786 #. type: Plain text
1787 #: build/C/man2/pciconfig_read.2:107
1788 msgid ""
1789 "User does not have the B<CAP_SYS_ADMIN> capability.  This does not apply to "
1790 "B<pciconfig_iobase>()."
1791 msgstr ""
1792 "ユーザが B<CAP_SYS_ADMIN> 権限を持っていない。 このエラーは "
1793 "B<pciconfig_iobase>()  には適用されない。"
1794
1795 #. type: Plain text
1796 #: build/C/man2/pciconfig_read.2:109
1797 msgid "These calls are Linux-specific, available since Linux 2.0.26/2.1.11."
1798 msgstr ""
1799 "これらの呼び出しは Linux 特有のものであり、 Linux 2.0.26/2.1.11 から使用可能"
1800 "である。"
1801
1802 #. type: Plain text
1803 #: build/C/man2/pciconfig_read.2:111
1804 msgid "B<capabilities>(7)"
1805 msgstr "B<capabilities>(7)"
1806
1807 #. type: TH
1808 #: build/C/man2/personality.2:30
1809 #, no-wrap
1810 msgid "PERSONALITY"
1811 msgstr "PERSONALITY"
1812
1813 #. type: TH
1814 #: build/C/man2/personality.2:30
1815 #, no-wrap
1816 msgid "2003-01-01"
1817 msgstr "2003-01-01"
1818
1819 #. type: Plain text
1820 #: build/C/man2/personality.2:33
1821 msgid "personality - set the process execution domain"
1822 msgstr "personality - プロセスを実行するドメインを設定する"
1823
1824 #. type: Plain text
1825 #: build/C/man2/personality.2:35
1826 msgid "B<#include E<lt>sys/personality.hE<gt>>"
1827 msgstr "B<#include E<lt>sys/personality.hE<gt>>"
1828
1829 #. type: Plain text
1830 #: build/C/man2/personality.2:37
1831 msgid "B<int personality(unsigned long >I<persona>B<);>"
1832 msgstr "B<int personality(unsigned long >I<persona>B<);>"
1833
1834 #. type: Plain text
1835 #: build/C/man2/personality.2:45
1836 msgid ""
1837 "Linux supports different execution domains, or personalities, for each "
1838 "process.  Among other things, execution domains tell Linux how to map signal "
1839 "numbers into signal actions.  The execution domain system allows Linux to "
1840 "provide limited support for binaries compiled under other UNIX-like "
1841 "operating systems."
1842 msgstr ""
1843 "Linux は、プロセス毎の異なる実行ドメイン、すなわち パーソナリティ "
1844 "(personality) をサポートしている。 実行ドメインは Linux にシグナル番号にどの"
1845 "シグナルを割り付けるかを 教えたりする。また、実行ドメイン・システムにより、 "
1846 "Linux は他の UNIX 風のオペレーティング・システムでコンパイルされた バイナリに"
1847 "対する限定的なサポートを提供している。"
1848
1849 #. type: Plain text
1850 #: build/C/man2/personality.2:55
1851 msgid ""
1852 "This function will return the current B<personality>()  when I<persona> "
1853 "equals 0xffffffff.  Otherwise, it will make the execution domain referenced "
1854 "by I<persona> the new execution domain of the calling process."
1855 msgstr ""
1856 "B<personality ()> 関数は、 I<persona> が 0xffffffff の場合は現在の B<パーソナ"
1857 "リティ> を返す。 それ以外の場合、 I<persona> により参照される実行ドメイン"
1858 "を、 呼び出し元のプロセスの新しい実行ドメインとする。"
1859
1860 #. type: Plain text
1861 #: build/C/man2/personality.2:62
1862 msgid ""
1863 "On success, the previous I<persona> is returned.  On error, -1 is returned, "
1864 "and I<errno> is set appropriately."
1865 msgstr ""
1866 "成功した場合、以前の I<persona> が返される。エラーの場合は、-1 が返され、 "
1867 "I<errno> が適切に設定される。"
1868
1869 #. type: Plain text
1870 #: build/C/man2/personality.2:66
1871 msgid "The kernel was unable to change the personality."
1872 msgstr "カーネルがパーソナリティを変更できなかった。"
1873
1874 #. type: Plain text
1875 #: build/C/man2/personality.2:70
1876 msgid ""
1877 "B<personality>()  is Linux-specific and should not be used in programs "
1878 "intended to be portable."
1879 msgstr ""
1880 "B<personality>()  は Linux 固有であり、移植を意図したプログラムで使用すべきで"
1881 "はない。"
1882
1883 #. type: TH
1884 #: build/C/man2/pivot_root.2:7
1885 #, no-wrap
1886 msgid "PIVOT_ROOT"
1887 msgstr "PIVOT_ROOT"
1888
1889 #. type: Plain text
1890 #: build/C/man2/pivot_root.2:10
1891 msgid "pivot_root - change the root file system"
1892 msgstr "pivot_root - root ファイルシステムを変更する"
1893
1894 #. type: Plain text
1895 #: build/C/man2/pivot_root.2:12
1896 msgid ""
1897 "B<int pivot_root(const char *>I<new_root>B<, const char *>I<put_old>B<);>"
1898 msgstr ""
1899 "B<int pivot_root(const char *>I<new_root>B<, const char *>I<put_old>B<);>"
1900
1901 #.  The
1902 #.  .B CAP_SYS_ADMIN
1903 #.  capability is required.
1904 #. type: Plain text
1905 #: build/C/man2/pivot_root.2:21
1906 msgid ""
1907 "B<pivot_root>()  moves the root file system of the calling process to the "
1908 "directory I<put_old> and makes I<new_root> the new root file system of the "
1909 "calling process."
1910 msgstr ""
1911 "B<pivot_root>()  は呼び出し元のプロセスの root ファイルシステムを I<put_old> "
1912 "ディレクトリに移動し、 I<new_root> を呼び出し元のプロセスの新しい root ファイ"
1913 "ルシステムにする。"
1914
1915 #. type: Plain text
1916 #: build/C/man2/pivot_root.2:28
1917 msgid ""
1918 "The typical use of B<pivot_root>()  is during system startup, when the "
1919 "system mounts a temporary root file system (e.g., an B<initrd>), then mounts "
1920 "the real root file system, and eventually turns the latter into the current "
1921 "root of all relevant processes or threads."
1922 msgstr ""
1923 "B<pivot_root>()  の典型的な利用法は、システムの起動中にシステムが一時的な "
1924 "root ファイルシステム (例えば B<initrd>)  をマウントし、これに続いて本当の "
1925 "root ファイルシステムをマウントし、 後者を必要な全てのプロセス・スレッドの カ"
1926 "レント root に変更するような場合である。"
1927
1928 #. type: Plain text
1929 #: build/C/man2/pivot_root.2:40
1930 msgid ""
1931 "B<pivot_root>()  may or may not change the current root and the current "
1932 "working directory of any processes or threads which use the old root "
1933 "directory.  The caller of B<pivot_root>()  must ensure that processes with "
1934 "root or current working directory at the old root operate correctly in "
1935 "either case.  An easy way to ensure this is to change their root and current "
1936 "working directory to I<new_root> before invoking B<pivot_root>()."
1937 msgstr ""
1938 "古い root ディレクトリを使っていた全てのプロセスやスレッドの カレント root と"
1939 "カレントワーキングディレクトリを、 B<pivot_root>()  が変更するかどうかはわか"
1940 "らない。 B<pivot_root>()  の呼びだしプロセスは、古い root やカレントワーキン"
1941 "グディレクトリを使っていた プロセスが、いずれの場合でも正しく動作することを保"
1942 "証しなければならない。 これを簡単に行うには、それらのプロセスの root と カレ"
1943 "ントワーキングディレクトリを B<pivot_root>()  を呼び出す前に I<new_root> に変"
1944 "更しておくことである。"
1945
1946 #. type: Plain text
1947 #: build/C/man2/pivot_root.2:58
1948 msgid ""
1949 "The paragraph above is intentionally vague because the implementation of "
1950 "B<pivot_root>()  may change in the future.  At the time of writing, "
1951 "B<pivot_root>()  changes root and current working directory of each process "
1952 "or thread to I<new_root> if they point to the old root directory.  This is "
1953 "necessary in order to prevent kernel threads from keeping the old root "
1954 "directory busy with their root and current working directory, even if they "
1955 "never access the file system in any way.  In the future, there may be a "
1956 "mechanism for kernel threads to explicitly relinquish any access to the file "
1957 "system, such that this fairly intrusive mechanism can be removed from "
1958 "B<pivot_root>()."
1959 msgstr ""
1960 "上記の段落は、将来 B<pivot_root>()  が変更されるかも知れないことを鑑みて、わ"
1961 "ざと曖昧に書いてある。 本ページを記述している時点では、 B<pivot_root>()  は古"
1962 "い root ディレクトリを用いている全てのプロセス・スレッドの root と カレント"
1963 "ワーキングディレクトリを I<new_root> に変更する。これはカーネルのスレッドが古"
1964 "い root ディレクトリを busy 状態にしないために必要である。これらのスレッドが "
1965 "古いディレクトリを root やカレントワーキングディレクトリとしていると、 ファイ"
1966 "ルシステムに一切アクセスしない場合でも 古い root が busy になってしまうからで"
1967 "ある。 将来は、カーネルスレッドがあらゆるファイルシステムへのアクセスを 明示"
1968 "的に放棄するメカニズムができ、このでしゃばりな機能は B<pivot_root>()  から削"
1969 "除されるかもしれない。"
1970
1971 #. type: Plain text
1972 #: build/C/man2/pivot_root.2:66
1973 msgid ""
1974 "Note that this also applies to the calling process: B<pivot_root>()  may or "
1975 "may not affect its current working directory.  It is therefore recommended "
1976 "to call B<chdir(\"/\")> immediately after B<pivot_root>()."
1977 msgstr ""
1978 "これは呼び出し元のプロセスについても当てはまることに注意。 B<pivot_root>()  "
1979 "がカレントプロセスのカレントワーキングディレクトリに影響するかどうかは 分から"
1980 "ない。したがって B<pivot_root>()  の直後に B<chdir(\"/\")> を呼び出すとよい。"
1981
1982 #. type: Plain text
1983 #: build/C/man2/pivot_root.2:68
1984 msgid "The following restrictions apply to I<new_root> and I<put_old>:"
1985 msgstr "I<new_root> および I<put_old> には以下の制限がある:"
1986
1987 #. type: IP
1988 #: build/C/man2/pivot_root.2:68 build/C/man2/pivot_root.2:70
1989 #: build/C/man2/pivot_root.2:73 build/C/man2/pivot_root.2:77
1990 #, no-wrap
1991 msgid "-"
1992 msgstr "-"
1993
1994 #. type: Plain text
1995 #: build/C/man2/pivot_root.2:70
1996 msgid "They must be directories."
1997 msgstr "ディレクトリでなければならない。"
1998
1999 #. type: Plain text
2000 #: build/C/man2/pivot_root.2:73
2001 msgid ""
2002 "I<new_root> and I<put_old> must not be on the same file system as the "
2003 "current root."
2004 msgstr ""
2005 "I<new_root> と I<put_old> は現在の root と同じファイルシステムにあってはなら"
2006 "ない。"
2007
2008 #. type: Plain text
2009 #: build/C/man2/pivot_root.2:77
2010 msgid ""
2011 "I<put_old> must be underneath I<new_root>, that is, adding a nonzero number "
2012 "of I</..> to the string pointed to by I<put_old> must yield the same "
2013 "directory as I<new_root>."
2014 msgstr ""
2015 "I<put_old> は I<new_root> 以下になければならない。すなわち I<put_old> を差す"
2016 "文字列に 1 個以上の I<../> を付けることによって I<new_root> と同じディレクト"
2017 "リが得られなければならない。"
2018
2019 #. type: Plain text
2020 #: build/C/man2/pivot_root.2:79
2021 msgid "No other file system may be mounted on I<put_old>."
2022 msgstr "他のファイルシステムが I<put_old> にマウントされていてはならない。"
2023
2024 #. type: Plain text
2025 #: build/C/man2/pivot_root.2:83
2026 msgid "See also B<pivot_root>(8)  for additional usage examples."
2027 msgstr "利用例については B<pivot_root>(8)  を参照のこと。"
2028
2029 #. type: Plain text
2030 #: build/C/man2/pivot_root.2:90
2031 msgid ""
2032 "If the current root is not a mount point (e.g., after B<chroot>(2)  or "
2033 "B<pivot_root>(), see also below), not the old root directory, but the mount "
2034 "point of that file system is mounted on I<put_old>."
2035 msgstr ""
2036 "現在の root がマウントポイントではない (B<chroot>(2)  や B<pivot_root>()  の"
2037 "後など。以下も参照) 場合、 古い root ディレクトリではなく、 そのファイルシス"
2038 "テムのマウントポイントが I<put_old> にマウントされる。"
2039
2040 #. type: Plain text
2041 #: build/C/man2/pivot_root.2:95
2042 msgid ""
2043 "I<new_root> does not have to be a mount point.  In this case, I</proc/"
2044 "mounts> will show the mount point of the file system containing I<new_root> "
2045 "as root (I</>)."
2046 msgstr ""
2047 "I<new_root> はマウントポイントでなくてもよい。 この場合 I</proc/mounts> は、 "
2048 "I<new_root> を root (I</>)  とするファイルシステムのマウントポイントを表示す"
2049 "る。"
2050
2051 #. type: Plain text
2052 #: build/C/man2/pivot_root.2:104
2053 msgid ""
2054 "B<pivot_root>()  may return (in I<errno>) any of the errors returned by "
2055 "B<stat>(2).  Additionally, it may return:"
2056 msgstr ""
2057 "B<pivot_root>()  は B<stat>(2)  の返すあらゆるエラーを (I<errno> に) 返す可能"
2058 "性がある。さらに以下を返すことがある:"
2059
2060 #. type: Plain text
2061 #: build/C/man2/pivot_root.2:108
2062 msgid ""
2063 "I<new_root> or I<put_old> are on the current root file system, or a file "
2064 "system is already mounted on I<put_old>."
2065 msgstr ""
2066 "I<new_root> または I<put_old> が、現在の root ファイルシステム上にあるか、既"
2067 "に I<put_old> になんらかのファイルシステムがマウントされている。"
2068
2069 #. type: Plain text
2070 #: build/C/man2/pivot_root.2:111
2071 msgid "I<put_old> is not underneath I<new_root>."
2072 msgstr "I<put_old> が I<new_root> の下層にない。"
2073
2074 #. type: TP
2075 #: build/C/man2/pivot_root.2:111
2076 #, no-wrap
2077 msgid "B<ENOTDIR>"
2078 msgstr "B<ENOTDIR>"
2079
2080 #. type: Plain text
2081 #: build/C/man2/pivot_root.2:114
2082 msgid "I<new_root> or I<put_old> is not a directory."
2083 msgstr "I<new_root> または I<put_old> がディレクトリでない。"
2084
2085 #. type: Plain text
2086 #: build/C/man2/pivot_root.2:119
2087 msgid "The calling process does not have the B<CAP_SYS_ADMIN> capability."
2088 msgstr "呼び出し元のプロセスが B<CAP_SYS_ADMIN> ケーパビリティを持っていない。"
2089
2090 #. type: Plain text
2091 #: build/C/man2/pivot_root.2:122
2092 msgid "B<pivot_root>()  was introduced in Linux 2.3.41."
2093 msgstr "B<pivot_root>()  は Linux 2.3.41 で導入された。"
2094
2095 #. type: Plain text
2096 #: build/C/man2/pivot_root.2:125
2097 msgid "B<pivot_root>()  is Linux-specific and hence is not portable."
2098 msgstr "B<pivot_root>()  は Linux に固有のものなので、移植性はない。"
2099
2100 #. type: SH
2101 #: build/C/man2/pivot_root.2:128 build/C/man2/ptrace.2:518
2102 #, no-wrap
2103 msgid "BUGS"
2104 msgstr "バグ"
2105
2106 #. type: Plain text
2107 #: build/C/man2/pivot_root.2:132
2108 msgid ""
2109 "B<pivot_root>()  should not have to change root and current working "
2110 "directory of all other processes in the system."
2111 msgstr ""
2112 "B<pivot_root>()  はシステムの他のプロセス全ての root と カレントワーキング"
2113 "ディレクトリとを変更しなくてもよいはずである。"
2114
2115 #. type: Plain text
2116 #: build/C/man2/pivot_root.2:137
2117 msgid ""
2118 "Some of the more obscure uses of B<pivot_root>()  may quickly lead to "
2119 "insanity."
2120 msgstr ""
2121 "B<pivot_root>()  の使い方がもうちょっと曖昧になると、 あっという間にわけのわ"
2122 "からない状態になってしまうだろう"
2123
2124 #. type: Plain text
2125 #: build/C/man2/pivot_root.2:143
2126 msgid "B<chdir>(2), B<chroot>(2), B<stat>(2), B<initrd>(4), B<pivot_root>(8)"
2127 msgstr "B<chdir>(2), B<chroot>(2), B<stat>(2), B<initrd>(4), B<pivot_root>(8)"
2128
2129 #. type: TH
2130 #: build/C/man2/ptrace.2:45
2131 #, no-wrap
2132 msgid "PTRACE"
2133 msgstr "PTRACE"
2134
2135 #. type: TH
2136 #: build/C/man2/ptrace.2:45
2137 #, no-wrap
2138 msgid "2009-03-30"
2139 msgstr "2009-03-30"
2140
2141 #. type: Plain text
2142 #: build/C/man2/ptrace.2:48
2143 msgid "ptrace - process trace"
2144 msgstr "ptrace - プロセスのトレース"
2145
2146 #. type: Plain text
2147 #: build/C/man2/ptrace.2:51
2148 #, no-wrap
2149 msgid "B<#include E<lt>sys/ptrace.hE<gt>>\n"
2150 msgstr "B<#include E<lt>sys/ptrace.hE<gt>>\n"
2151
2152 #. type: Plain text
2153 #: build/C/man2/ptrace.2:54
2154 #, no-wrap
2155 msgid ""
2156 "B<long ptrace(enum __ptrace_request >I<request>B<, pid_t >I<pid>B<, >\n"
2157 "B<            void *>I<addr>B<, void *>I<data>B<);>\n"
2158 msgstr ""
2159 "B<long ptrace(enum __ptrace_request >I<request>B<, pid_t >I<pid>B<, >\n"
2160 "B<            void *>I<addr>B<, void *>I<data>B<);>\n"
2161
2162 #. type: Plain text
2163 #: build/C/man2/ptrace.2:63
2164 msgid ""
2165 "The B<ptrace>()  system call provides a means by which a parent process may "
2166 "observe and control the execution of another process, and examine and change "
2167 "its core image and registers.  It is primarily used to implement breakpoint "
2168 "debugging and system call tracing."
2169 msgstr ""
2170 "B<ptrace>()  システムコールは、親プロセスが、別のプロセスの実行の監視/制御を "
2171 "行ったり、コアイメージ (core image) やレジスタの調査/変更を 行ったりする手段"
2172 "を提供する。 B<ptrace>()  は、主にブレークポイントによるデバッグやシステム"
2173 "コールのトレースを 実装するのに用いられる。"
2174
2175 #. type: Plain text
2176 #: build/C/man2/ptrace.2:72
2177 msgid ""
2178 "The parent can initiate a trace by calling B<fork>(2)  and having the "
2179 "resulting child do a B<PTRACE_TRACEME>, followed (typically) by an B<exec>"
2180 "(3).  Alternatively, the parent may commence trace of an existing process "
2181 "using B<PTRACE_ATTACH>."
2182 msgstr ""
2183 "トレースを開始するには、まず親プロセスで B<fork>(2)  を呼び出す。生成された子"
2184 "プロセスで B<PTRACE_TRACEME> を行い、続いて (典型的には)  B<exec>(3)  を行な"
2185 "う。 別の方法としては、 親プロセスが既存のプロセスに対して B<PTRACE_ATTACH> "
2186 "を使用し、トレースを開始する。"
2187
2188 #. type: Plain text
2189 #: build/C/man2/ptrace.2:84
2190 msgid ""
2191 "While being traced, the child will stop each time a signal is delivered, "
2192 "even if the signal is being ignored.  (The exception is B<SIGKILL>, which "
2193 "has its usual effect.)  The parent will be notified at its next B<wait>(2)  "
2194 "and may inspect and modify the child process while it is stopped.  The "
2195 "parent then causes the child to continue, optionally ignoring the delivered "
2196 "signal (or even delivering a different signal instead)."
2197 msgstr ""
2198 "トレースの実行中、子プロセスはシグナルが配送されるたびに、 たとえそのシグナル"
2199 "が無視すべきものであっても停止する (B<SIGKILL> は例外で、通常どおりの効果をも"
2200 "たらす)。 親プロセスには次の B<wait>(2)  で通知され、停止している間に子プロセ"
2201 "スを調べたり修正したりすることができる。 そして親プロセスは子プロセスの実行を"
2202 "再開させるが、配送された シグナルを無視することもできる (あるいは代わりに別の"
2203 "シグナルを 配送することもできる) 。"
2204
2205 #. type: Plain text
2206 #: build/C/man2/ptrace.2:90
2207 msgid ""
2208 "When the parent is finished tracing, it can terminate the child with "
2209 "B<PTRACE_KILL> or cause it to continue executing in a normal, untraced mode "
2210 "via B<PTRACE_DETACH>."
2211 msgstr ""
2212 "親プロセスがトレースを終了する際には、 B<PTRACE_KILL> を使用して子プロセスを"
2213 "終了させることもできるし、 B<PTRACE_DETACH> を用いて通常のトレースなしのモー"
2214 "ドにして、 実行を継続させることもできる。"
2215
2216 #. type: Plain text
2217 #: build/C/man2/ptrace.2:92
2218 msgid "The value of I<request> determines the action to be performed:"
2219 msgstr "I<request> の値がこのシステムコールの動作を決定する:"
2220
2221 #. type: TP
2222 #: build/C/man2/ptrace.2:92
2223 #, no-wrap
2224 msgid "B<PTRACE_TRACEME>"
2225 msgstr "B<PTRACE_TRACEME>"
2226
2227 #. type: Plain text
2228 #: build/C/man2/ptrace.2:111
2229 msgid ""
2230 "Indicates that this process is to be traced by its parent.  Any signal "
2231 "(except B<SIGKILL>)  delivered to this process will cause it to stop and its "
2232 "parent to be notified via B<wait>(2).  Also, all subsequent calls to "
2233 "B<execve>(2)  by this process will cause a B<SIGTRAP> to be sent to it, "
2234 "giving the parent a chance to gain control before the new program begins "
2235 "execution.  A process probably shouldn't make this request if its parent "
2236 "isn't expecting to trace it.  (I<pid>, I<addr>, and I<data> are ignored.)"
2237 msgstr ""
2238 "このプロセスが親プロセスによってトレースされることを表す。 このプロセスに "
2239 "(B<SIGKILL> 以外の) シグナルが配送されると、 プロセスは停止し、親プロセスに "
2240 "B<wait>(2)  を通じて通知される。 また、これ以降はこのプロセスが B<execve>"
2241 "(2)  を呼び出す度に B<SIGTRAP> が送信されるようになる。 これによって、親プロ"
2242 "セスは 新しいプログラムが実行を開始する前に制御することができる。 親プロセス"
2243 "が自プロセスをトレースするつもりがない場合には、 おそらくこのプロセスは本要求"
2244 "を行うべきではないだろう。 (I<pid>, I<addr>, I<data> は無視される。)"
2245
2246 #. type: Plain text
2247 #: build/C/man2/ptrace.2:120
2248 msgid ""
2249 "The above request is used only by the child process; the rest are used only "
2250 "by the parent.  In the following requests, I<pid> specifies the child "
2251 "process to be acted on.  For requests other than B<PTRACE_KILL>, the child "
2252 "process must be stopped."
2253 msgstr ""
2254 "上記の要求は子プロセスだけが行なうものである。 残りは親プロセスだけが行なうも"
2255 "のである。 以下の要求では、I<pid> で操作の対象となる 子プロセスを指定する。 "
2256 "B<PTRACE_KILL> を除き、要求を行なうためには 子プロセスは停止していなければな"
2257 "らない。"
2258
2259 #. type: TP
2260 #: build/C/man2/ptrace.2:120
2261 #, no-wrap
2262 msgid "B<PTRACE_PEEKTEXT>, B<PTRACE_PEEKDATA>"
2263 msgstr "B<PTRACE_PEEKTEXT>, B<PTRACE_PEEKDATA>"
2264
2265 #. type: Plain text
2266 #: build/C/man2/ptrace.2:130
2267 msgid ""
2268 "Reads a word at the location I<addr> in the child's memory, returning the "
2269 "word as the result of the B<ptrace>()  call.  Linux does not have separate "
2270 "text and data address spaces, so the two requests are currently equivalent.  "
2271 "(The argument I<data> is ignored.)"
2272 msgstr ""
2273 "子プロセスのメモリの I<addr> の位置から 1 ワードを読み出す。読み出したワード"
2274 "は B<ptrace>()  の返り値として返される。 Linux ではテキスト (text) とデータ "
2275 "(data) で 同じアドレス空間を使用するため、この 2 つの要求は現在のところ 同じ"
2276 "ものである。 (引き数 I<data> は無視される。)"
2277
2278 #. type: TP
2279 #: build/C/man2/ptrace.2:130
2280 #, no-wrap
2281 msgid "B<PTRACE_PEEKUSER>"
2282 msgstr "B<PTRACE_PEEKUSER>"
2283
2284 #.  PTRACE_PEEKUSR in kernel source, but glibc uses PTRACE_PEEKUSER,
2285 #.  and that is the name that seems common on other systems.
2286 #. type: Plain text
2287 #: build/C/man2/ptrace.2:146
2288 msgid ""
2289 "Reads a word at offset I<addr> in the child's USER area, which holds the "
2290 "registers and other information about the process (see I<E<lt>sys/user."
2291 "hE<gt>>).  The word is returned as the result of the B<ptrace>()  call.  "
2292 "Typically the offset must be word-aligned, though this might vary by "
2293 "architecture.  See NOTES.  (I<data> is ignored.)"
2294 msgstr ""
2295 "子プロセスの USER 領域のオフセット I<addr> の位置から 1 ワードを読み込む。"
2296 "USER 領域にはそのプロセスの レジスタ (registers) などの情報が保持されている "
2297 "(I<E<lt>sys/user.hE<gt>> を参照)。読み込んだワードは B<ptrace>()  コールの結"
2298 "果として返される。 たいていはオフセットはワード境界になければならないが、 "
2299 "アーキテクチャによってはその必要はない。 「注意」の節を参照。 (I<data> は無視"
2300 "される。 )"
2301
2302 #. type: TP
2303 #: build/C/man2/ptrace.2:146
2304 #, no-wrap
2305 msgid "B<PTRACE_POKETEXT>, B<PTRACE_POKEDATA>"
2306 msgstr "B<PTRACE_POKETEXT>, B<PTRACE_POKEDATA>"
2307
2308 #. type: Plain text
2309 #: build/C/man2/ptrace.2:154
2310 msgid ""
2311 "Copies the word I<data> to location I<addr> in the child's memory.  As "
2312 "above, the two requests are currently equivalent."
2313 msgstr ""
2314 "ワード I<data> を子プロセスのメモリの I<addr> の位置へコピーする。上と同様"
2315 "に、現在のところ二つの 要求は同じものである。"
2316
2317 #. type: TP
2318 #: build/C/man2/ptrace.2:154
2319 #, no-wrap
2320 msgid "B<PTRACE_POKEUSER>"
2321 msgstr "B<PTRACE_POKEUSER>"
2322
2323 #.  PTRACE_POKEUSR in kernel source, but glibc uses PTRACE_POKEUSER,
2324 #.  and that is the name that seems common on other systems.
2325 #. type: Plain text
2326 #: build/C/man2/ptrace.2:166
2327 msgid ""
2328 "Copies the word I<data> to offset I<addr> in the child's USER area.  As "
2329 "above, the offset must typically be word-aligned.  In order to maintain the "
2330 "integrity of the kernel, some modifications to the USER area are disallowed."
2331 msgstr ""
2332 "ワード I<data> を子プロセスの USER 領域のオフセット I<addr> の位置にコピーす"
2333 "る。 上と同様に、通常、オフセットはワード境界になければならない。 カーネルの"
2334 "完全性 (integrity) を維持するため、 変更内容によっては USER 領域の変更は禁止"
2335 "されている。"
2336
2337 #. type: TP
2338 #: build/C/man2/ptrace.2:166
2339 #, no-wrap
2340 msgid "B<PTRACE_GETREGS>, B<PTRACE_GETFPREGS>"
2341 msgstr "B<PTRACE_GETREGS>, B<PTRACE_GETFPREGS>"
2342
2343 #. type: Plain text
2344 #: build/C/man2/ptrace.2:173
2345 msgid ""
2346 "Copies the child's general purpose or floating-point registers, "
2347 "respectively, to location I<data> in the parent.  See I<E<lt>sys/user."
2348 "hE<gt>> for information on the format of this data.  (I<addr> is ignored.)"
2349 msgstr ""
2350 "それぞれ、子プロセスの汎用レジスタ、浮動小数点レジスタを親プロセスの I<data> "
2351 "の位置にコピーする。この data の書式に関しては I<E<lt>sys/user.hE<gt>> を参照"
2352 "すること。(I<addr> は無視される。)"
2353
2354 #. type: TP
2355 #: build/C/man2/ptrace.2:173
2356 #, no-wrap
2357 msgid "B<PTRACE_GETSIGINFO> (since Linux 2.3.99-pre6)"
2358 msgstr "B<PTRACE_GETSIGINFO> (Linux 2.3.99-pre6 以降)"
2359
2360 #. type: Plain text
2361 #: build/C/man2/ptrace.2:180
2362 msgid ""
2363 "Retrieve information about the signal that caused the stop.  Copies a "
2364 "I<siginfo_t> structure (see B<sigaction>(2))  from the child to location "
2365 "I<data> in the parent.  (I<addr> is ignored.)"
2366 msgstr ""
2367 "停止の原因となったシグナルに関する情報を取得する。 I<siginfo_t> 構造体 "
2368 "(B<sigaction>(2)  参照) を子プロセスから親プロセスの I<data> の位置にコピーす"
2369 "る。 (I<addr> は無視される。)"
2370
2371 #. type: TP
2372 #: build/C/man2/ptrace.2:180
2373 #, no-wrap
2374 msgid "B<PTRACE_SETREGS>, B<PTRACE_SETFPREGS>"
2375 msgstr "B<PTRACE_SETREGS>, B<PTRACE_SETFPREGS>"
2376
2377 #. type: Plain text
2378 #: build/C/man2/ptrace.2:189
2379 msgid ""
2380 "Copies the child's general purpose or floating-point registers, "
2381 "respectively, from location I<data> in the parent.  As for "
2382 "B<PTRACE_POKEUSER>, some general purpose register modifications may be "
2383 "disallowed.  (I<addr> is ignored.)"
2384 msgstr ""
2385 "それぞれ、子プロセスの汎用レジスタ、浮動小数点レジスタに 親プロセスの "
2386 "I<date> の位置からコピーする。 B<PTRACE_POKEUSER> と同様に、汎用レジスタに"
2387 "よっては 変更が禁止されている場合がある。 (I<addr> は無視される。)"
2388
2389 #. type: TP
2390 #: build/C/man2/ptrace.2:189
2391 #, no-wrap
2392 msgid "B<PTRACE_SETSIGINFO> (since Linux 2.3.99-pre6)"
2393 msgstr "B<PTRACE_SETSIGINFO> (Linux 2.3.99-pre6 以降)"
2394
2395 #. type: Plain text
2396 #: build/C/man2/ptrace.2:201
2397 msgid ""
2398 "Set signal information.  Copies a I<siginfo_t> structure from location "
2399 "I<data> in the parent to the child.  This will only affect signals that "
2400 "would normally be delivered to the child and were caught by the tracer.  It "
2401 "may be difficult to tell these normal signals from synthetic signals "
2402 "generated by B<ptrace>()  itself.  (I<addr> is ignored.)"
2403 msgstr ""
2404 "シグナル情報を設定する。 I<siginfo_t> 構造体を親プロセスのデータ I<data> の位"
2405 "置から 子プロセスにコピーする。 この処理を行うことができるのは、子プロセスに"
2406 "通常は配送されるはずで トレーサに捕捉されたシグナルについてだけである。 これ"
2407 "らの通常のシグナルと B<ptrace>()  自身が発生するシグナルを見分けるのは難しい"
2408 "かもしれない。 (I<addr> は無視される。)"
2409
2410 #. type: TP
2411 #: build/C/man2/ptrace.2:201
2412 #, no-wrap
2413 msgid "B<PTRACE_SETOPTIONS> (since Linux 2.4.6; see BUGS for caveats)"
2414 msgstr "B<PTRACE_SETOPTIONS> (Linux 2.4.6 以降; バグの章にある警告も参照)"
2415
2416 #. type: Plain text
2417 #: build/C/man2/ptrace.2:207
2418 msgid ""
2419 "Sets ptrace options from I<data> in the parent.  (I<addr> is ignored.)  "
2420 "I<data> is interpreted as a bit mask of options, which are specified by the "
2421 "following flags:"
2422 msgstr ""
2423 "親プロセスの I<data> に基づいて ptrace のオプションを設定する (I<addr> は無視"
2424 "される)。 I<data> はオプションのビットマスクとして解釈され、 オプションには以"
2425 "下のフラグを指定できる:"
2426
2427 #. type: TP
2428 #: build/C/man2/ptrace.2:208
2429 #, no-wrap
2430 msgid "B<PTRACE_O_TRACESYSGOOD> (since Linux 2.4.6)"
2431 msgstr "B<PTRACE_O_TRACESYSGOOD> (Linux 2.4.6 以降)"
2432
2433 #. type: Plain text
2434 #: build/C/man2/ptrace.2:216
2435 msgid ""
2436 "When delivering syscall traps, set bit 7 in the signal number (i.e., deliver "
2437 "I<SIGTRAP | 0x80>).  This makes it easy for the tracer to tell the "
2438 "difference between normal traps and those caused by a syscall.  "
2439 "(B<PTRACE_O_TRACESYSGOOD> may not work on all architectures.)"
2440 msgstr ""
2441 "システムコールのトラップが配送されたときに、シグナル番号のビット 7 を設定す"
2442 "る (すなわち、I<SIGTRAP | 0x80> を配送する)。 これにより、トレーサが通常のト"
2443 "ラップとシステムコールによるトラップを 区別しやすくなる。 "
2444 "(B<PTRACE_O_TRACESYSGOOD> はどのアーキテクチャでも動作しない可能性がある。)"
2445
2446 #. type: TP
2447 #: build/C/man2/ptrace.2:216
2448 #, no-wrap
2449 msgid "B<PTRACE_O_TRACEFORK> (since Linux 2.5.46)"
2450 msgstr "B<PTRACE_O_TRACEFORK> (Linux 2.5.46 以降)"
2451
2452 #. type: Plain text
2453 #: build/C/man2/ptrace.2:226
2454 msgid ""
2455 "Stop the child at the next B<fork>(2)  call with I<SIGTRAP | "
2456 "PTRACE_EVENT_FORK\\ E<lt>E<lt>\\ 8> and automatically start tracing the "
2457 "newly forked process, which will start with a B<SIGSTOP>.  The PID for the "
2458 "new process can be retrieved with B<PTRACE_GETEVENTMSG>."
2459 msgstr ""
2460 "次の B<fork>(2)  呼び出し時に I<SIGTRAP | PTRACE_EVENT_FORK\\ E<lt>E<lt>\\ "
2461 "8> で 子プロセスの動作を停止させ、 新たに fork されたプロセスのトレースを自動"
2462 "的に開始し、 B<SIGSTOP> でそのプロセスの実行を開始する。 新しいプロセスの "
2463 "PID は B<PTRACE_GETEVENTMSG> で取得できる。"
2464
2465 #. type: TP
2466 #: build/C/man2/ptrace.2:226
2467 #, no-wrap
2468 msgid "B<PTRACE_O_TRACEVFORK> (since Linux 2.5.46)"
2469 msgstr "B<PTRACE_O_TRACEVFORK> (Linux 2.5.46 以降)"
2470
2471 #. type: Plain text
2472 #: build/C/man2/ptrace.2:235
2473 msgid ""
2474 "Stop the child at the next B<vfork>(2)  call with I<SIGTRAP | "
2475 "PTRACE_EVENT_VFORK\\ E<lt>E<lt>\\ 8> and automatically start tracing the "
2476 "newly vforked process, which will start with a B<SIGSTOP>.  The PID for the "
2477 "new process can be retrieved with B<PTRACE_GETEVENTMSG>."
2478 msgstr ""
2479 "次の B<vfork>(2)  呼び出し時に I<SIGTRAP | PTRACE_EVENT_VFORK\\ E<lt>E<lt>\\ "
2480 "8> で 子プロセスの動作を停止させ、 新たに vfork されたプロセスのトレースを自"
2481 "動的に開始し、 B<SIGSTOP> でそのプロセスの実行を開始する。 新しいプロセスの "
2482 "PID は B<PTRACE_GETEVENTMSG> で取得できる。"
2483
2484 #. type: TP
2485 #: build/C/man2/ptrace.2:235
2486 #, no-wrap
2487 msgid "B<PTRACE_O_TRACECLONE> (since Linux 2.5.46)"
2488 msgstr "B<PTRACE_O_TRACECLONE> (Linux 2.5.46 以降)"
2489
2490 #. type: Plain text
2491 #: build/C/man2/ptrace.2:265
2492 msgid ""
2493 "Stop the child at the next B<clone>(2)  call with I<SIGTRAP | "
2494 "PTRACE_EVENT_CLONE\\ E<lt>E<lt>\\ 8> and automatically start tracing the "
2495 "newly cloned process, which will start with a B<SIGSTOP>.  The PID for the "
2496 "new process can be retrieved with B<PTRACE_GETEVENTMSG>.  This option may "
2497 "not catch B<clone>(2)  calls in all cases.  If the child calls B<clone>(2)  "
2498 "with the B<CLONE_VFORK> flag, B<PTRACE_EVENT_VFORK> will be delivered "
2499 "instead if B<PTRACE_O_TRACEVFORK> is set; otherwise if the child calls "
2500 "B<clone>(2)  with the exit signal set to B<SIGCHLD>, B<PTRACE_EVENT_FORK> "
2501 "will be delivered if B<PTRACE_O_TRACEFORK> is set."
2502 msgstr ""
2503 "次の B<clone>(2)  呼び出し時に I<SIGTRAP | PTRACE_EVENT_CLONE\\ E<lt>E<lt> "
2504 "\\8> で 子プロセスの動作を停止させ、 新たに clone で作成されたプロセスのト"
2505 "レースを自動的に開始し、 B<SIGSTOP> でプロセスの実行を開始する。 新しいプロセ"
2506 "スの PID は B<PTRACE_GETEVENTMSG> で取得できる。 このオプションで全ての "
2507 "B<clone>(2)  コールを捕まえられるわけではない。 子プロセスが B<CLONE_VFORK> "
2508 "フラグ付きで B<clone>(2)  を呼び出した場合、 B<PTRACE_O_TRACEVFORK> が設定さ"
2509 "れていれば代わりに B<PTRACE_EVENT_VFORK> が配送される。 また、子プロセスが終"
2510 "了シグナルを B<SIGCHLD> に設定して B<clone>(2)  を呼び出した場合は、 "
2511 "B<PTRACE_O_TRACEFORK> が設定されていれば B<PTRACE_EVENT_FORK> が配送される。"
2512
2513 #. type: TP
2514 #: build/C/man2/ptrace.2:265
2515 #, no-wrap
2516 msgid "B<PTRACE_O_TRACEEXEC> (since Linux 2.5.46)"
2517 msgstr "B<PTRACE_O_TRACEEXEC> (Linux 2.5.46 以降)"
2518
2519 #. type: Plain text
2520 #: build/C/man2/ptrace.2:270
2521 msgid ""
2522 "Stop the child at the next B<execve>(2)  call with I<SIGTRAP | "
2523 "PTRACE_EVENT_EXEC\\ E<lt>E<lt>\\ 8>."
2524 msgstr ""
2525 "次の B<execve>(2)  呼び出し時に I<SIGTRAP | PTRACE_EVENT_EXEC\\ E<lt>E<lt>\\ "
2526 "8> で子プロセスの動作を停止させる。"
2527
2528 #. type: TP
2529 #: build/C/man2/ptrace.2:270
2530 #, no-wrap
2531 msgid "B<PTRACE_O_TRACEVFORKDONE> (since Linux 2.5.60)"
2532 msgstr "B<PTRACE_O_TRACEVFORKDONE> (Linux 2.5.60 以降)"
2533
2534 #. type: Plain text
2535 #: build/C/man2/ptrace.2:275
2536 msgid ""
2537 "Stop the child at the completion of the next B<vfork>(2)  call with "
2538 "I<SIGTRAP | PTRACE_EVENT_VFORK_DONE\\ E<lt>E<lt>\\ 8>."
2539 msgstr ""
2540 "次の B<vfork>(2)  呼び出し時に I<SIGTRAP | PTRACE_EVENT_VFORK_DONE\\ "
2541 "E<lt>E<lt>\\ 8> で子プロセスの動作を停止させる。"
2542
2543 #. type: TP
2544 #: build/C/man2/ptrace.2:275
2545 #, no-wrap
2546 msgid "B<PTRACE_O_TRACEEXIT> (since Linux 2.5.60)"
2547 msgstr "B<PTRACE_O_TRACEEXIT> (Linux 2.5.60 以降)"
2548
2549 #. type: Plain text
2550 #: build/C/man2/ptrace.2:286
2551 msgid ""
2552 "Stop the child at exit with I<SIGTRAP | PTRACE_EVENT_EXIT\\ E<lt>E<lt>\\ "
2553 "8>.  The child's exit status can be retrieved with B<PTRACE_GETEVENTMSG>.  "
2554 "This stop will be done early during process exit when registers are still "
2555 "available, allowing the tracer to see where the exit occurred, whereas the "
2556 "normal exit notification is done after the process is finished exiting.  "
2557 "Even though context is available, the tracer cannot prevent the exit from "
2558 "happening at this point."
2559 msgstr ""
2560 "終了 (exit) 時に I<SIGTRAP | PTRACE_EVENT_EXIT\\ E<lt>E<lt>\\ 8> で子プロセス"
2561 "の動作を停止させる。子プロセスの終了ステータスは B<PTRACE_GETEVENTMSG> で取得"
2562 "できる。 この停止はレジスタがまだ参照可能であるプロセス終了処理の初期に行わ"
2563 "れ、 トレーサはどこで終了が発生したかを知ることができる。 通常の終了通知 "
2564 "(exit notification) はプロセスの終了処理が完了した後に 行われる。コンテキスト"
2565 "を参照することはできるにも関わらず、 トレーサはこの時点から終了を止めることは"
2566 "できない。"
2567
2568 #. type: TP
2569 #: build/C/man2/ptrace.2:287
2570 #, no-wrap
2571 msgid "B<PTRACE_GETEVENTMSG> (since Linux 2.5.46)"
2572 msgstr "B<PTRACE_GETEVENTMSG> (Linux 2.5.46 以降)"
2573
2574 #. type: Plain text
2575 #: build/C/man2/ptrace.2:307
2576 msgid ""
2577 "Retrieve a message (as an I<unsigned long>)  about the ptrace event that "
2578 "just happened, placing it in the location I<data> in the parent.  For "
2579 "B<PTRACE_EVENT_EXIT> this is the child's exit status.  For "
2580 "B<PTRACE_EVENT_FORK>, B<PTRACE_EVENT_VFORK> and B<PTRACE_EVENT_CLONE> this "
2581 "is the PID of the new process.  Since Linux 2.6.18, the PID of the new "
2582 "process is also available for B<PTRACE_EVENT_VFORK_DONE>.  (I<addr> is "
2583 "ignored.)"
2584 msgstr ""
2585 "発生したばかりの ptrace イベントに関するメッセージを (I<unsigned long> 型で) "
2586 "取得する。 取得したメッセージは親プロセスの I<data> の位置に格納される。 得ら"
2587 "れる内容は、 B<PTRACE_EVENT_EXIT> の場合は子プロセスの終了ステータスであり、 "
2588 "B<PTRACE_EVENT_FORK>, B<PTRACE_EVENT_VFORK>, B<PTRACE_EVENT_CLONE> の場合は新"
2589 "しいプロセスの PID である。 Linux 2.6.18 以降では、新しいプロセスの PID は "
2590 "B<PTRACE_EVENT_VFORK_DONE> で入手できる。 (I<addr> は無視される。)"
2591
2592 #. type: TP
2593 #: build/C/man2/ptrace.2:307
2594 #, no-wrap
2595 msgid "B<PTRACE_CONT>"
2596 msgstr "B<PTRACE_CONT>"
2597
2598 #. type: Plain text
2599 #: build/C/man2/ptrace.2:317
2600 msgid ""
2601 "Restarts the stopped child process.  If I<data> is nonzero and not "
2602 "B<SIGSTOP>, it is interpreted as a signal to be delivered to the child; "
2603 "otherwise, no signal is delivered.  Thus, for example, the parent can "
2604 "control whether a signal sent to the child is delivered or not.  (I<addr> is "
2605 "ignored.)"
2606 msgstr ""
2607 "停止した子プロセスの実行を再開させる。 I<data> がゼロでなく、 B<SIGSTOP> でも"
2608 "なければ、 子プロセスに配送されるシグナルと解釈される。 ゼロや B<SIGSTOP> の"
2609 "場合はシグナルは配送されない。 これを使うと、例えば、親プロセスは 子プロセス"
2610 "に送られたシグナルを実際に配送するかどうかを 制御することができる。(I<addr> "
2611 "は無視される。)"
2612
2613 #. type: TP
2614 #: build/C/man2/ptrace.2:317
2615 #, no-wrap
2616 msgid "B<PTRACE_SYSCALL>, B<PTRACE_SINGLESTEP>"
2617 msgstr "B<PTRACE_SYSCALL>, B<PTRACE_SINGLESTEP>"
2618
2619 #. type: Plain text
2620 #: build/C/man2/ptrace.2:341
2621 msgid ""
2622 "Restarts the stopped child as for B<PTRACE_CONT>, but arranges for the child "
2623 "to be stopped at the next entry to or exit from a system call, or after "
2624 "execution of a single instruction, respectively.  (The child will also, as "
2625 "usual, be stopped upon receipt of a signal.)  From the parent's perspective, "
2626 "the child will appear to have been stopped by receipt of a B<SIGTRAP>.  So, "
2627 "for B<PTRACE_SYSCALL>, for example, the idea is to inspect the arguments to "
2628 "the system call at the first stop, then do another B<PTRACE_SYSCALL> and "
2629 "inspect the return value of the system call at the second stop.  The I<data> "
2630 "argument is treated as for B<PTRACE_CONT>.  (I<addr> is ignored.)"
2631 msgstr ""
2632 "B<PTRACE_CONT> と同様に停止した子プロセスを再開する。ただし、 "
2633 "B<PTRACE_SYSCALL> の場合は子プロセスが 次にシステムコールに入るかシステムコー"
2634 "ルから抜けるかする時に、 B<PTRACE_SINGLESTEP> の場合は 1 命令 (instruction) "
2635 "実行した後に停止させる (通常どおり、子プロセスはシグナルを受け取った場合にも"
2636 "停止する)。 親プロセスから見ると、子プロセスは B<SIGTRAP> を受信して停止した"
2637 "ように見える。そのため、例えば B<PTRACE_SYSCALL> を使うと、1回目の停止で引き"
2638 "数を調べて B<PTRACE_SYSCALL> を実行し、 2回目の停止でシステムコールの返り値を"
2639 "調べる、 というようなことができる。 引き数 I<data> は B<PTRACE_CONT> の場合と"
2640 "同じ様に解釈される。 (I<addr> は無視される。)"
2641
2642 #. type: TP
2643 #: build/C/man2/ptrace.2:341
2644 #, no-wrap
2645 msgid "B<PTRACE_SYSEMU>, B<PTRACE_SYSEMU_SINGLESTEP> (since Linux 2.6.14)"
2646 msgstr "B<PTRACE_SYSEMU>, B<PTRACE_SYSEMU_SINGLESTEP> (Linux 2.6.14 以降)"
2647
2648 #. type: Plain text
2649 #: build/C/man2/ptrace.2:359
2650 msgid ""
2651 "For B<PTRACE_SYSEMU>, continue and stop on entry to the next syscall, which "
2652 "will not be executed.  For B<PTRACE_SYSEMU_SINGLESTEP>, do the same but also "
2653 "singlestep if not a syscall.  This call is used by programs like User Mode "
2654 "Linux that want to emulate all the child's system calls.  The I<data> "
2655 "argument is treated as for B<PTRACE_CONT>.  (I<addr> is ignored; not "
2656 "supported on all architectures.)"
2657 msgstr ""
2658 "B<PTRACE_SYSEMU> は、実行を再開し、次のシステムコールに入る時に停止させる。 "
2659 "システムコールは実行されない。 B<PTRACE_SYSEMU_SINGLESTEP> も同様だが、システ"
2660 "ムコールでない場合には 1 命令 (singlestep) だけ実行した時点でも停止させる。 "
2661 "このコールは User Mode Linux のように子プロセスのシステムコールを全て エミュ"
2662 "レートしようとするプログラムで使用される。 引き数 I<data> は B<PTRACE_CONT> "
2663 "の場合と同じ様に解釈される。 (I<addr> は無視される。 全てのアーキテクチャでサ"
2664 "ポートされているわけではない。)"
2665
2666 #. type: TP
2667 #: build/C/man2/ptrace.2:359
2668 #, no-wrap
2669 msgid "B<PTRACE_KILL>"
2670 msgstr "B<PTRACE_KILL>"
2671
2672 #. type: Plain text
2673 #: build/C/man2/ptrace.2:365
2674 msgid ""
2675 "Sends the child a B<SIGKILL> to terminate it.  (I<addr> and I<data> are "
2676 "ignored.)"
2677 msgstr ""
2678 "子プロセスに B<SIGKILL> を送り終了させる。(I<addr> と I<data> は無視される。)"
2679
2680 #. type: TP
2681 #: build/C/man2/ptrace.2:365
2682 #, no-wrap
2683 msgid "B<PTRACE_ATTACH>"
2684 msgstr "B<PTRACE_ATTACH>"
2685
2686 #. type: Plain text
2687 #: build/C/man2/ptrace.2:386
2688 msgid ""
2689 "Attaches to the process specified in I<pid>, making it a traced \"child\" of "
2690 "the calling process; the behavior of the child is as if it had done a "
2691 "B<PTRACE_TRACEME>.  The calling process actually becomes the parent of the "
2692 "child process for most purposes (e.g., it will receive notification of child "
2693 "events and appears in B<ps>(1)  output as the child's parent), but a "
2694 "B<getppid>(2)  by the child will still return the PID of the original "
2695 "parent.  The child is sent a B<SIGSTOP>, but will not necessarily have "
2696 "stopped by the completion of this call; use B<wait>(2)  to wait for the "
2697 "child to stop.  (I<addr> and I<data> are ignored.)"
2698 msgstr ""
2699 "I<pid> で指定されたプロセスに接続 (attach) し、それを呼び出し元のプロセスの "
2700 "子プロセスとしてトレースできるようにする。子プロセスは B<PTRACE_TRACEME> した"
2701 "かのように振舞う。呼び出し元のプロセスはそのほとんどの目的において、 その子プ"
2702 "ロセスの実際の親になる (例えば、子プロセスのイベントの 通知を受けとったり、 "
2703 "B<ps>(1)  で親として表示されたりする)。しかし、子プロセスで B<getppid>(2)  を"
2704 "実行した場合には元の親プロセスの PID が返される。 子プロセスには B<SIGSTOP> "
2705 "が送られるが、この呼び出しが完了するまでに 必ずしも停止するとは限らない。子プ"
2706 "ロセスの停止を待つには B<wait>(2)  を使用すること。(I<addr> と I<data> は無視"
2707 "される。)"
2708
2709 #. type: TP
2710 #: build/C/man2/ptrace.2:386
2711 #, no-wrap
2712 msgid "B<PTRACE_DETACH>"
2713 msgstr "B<PTRACE_DETACH>"
2714
2715 #. type: Plain text
2716 #: build/C/man2/ptrace.2:399
2717 msgid ""
2718 "Restarts the stopped child as for B<PTRACE_CONT>, but first detaches from "
2719 "the process, undoing the reparenting effect of B<PTRACE_ATTACH>, and the "
2720 "effects of B<PTRACE_TRACEME>.  Although perhaps not intended, under Linux a "
2721 "traced child can be detached in this way regardless of which method was used "
2722 "to initiate tracing.  (I<addr> is ignored.)"
2723 msgstr ""
2724 "B<PTRACE_CONT> と同様に停止した子プロセスを再開する。ただし まずそのプロセス"
2725 "からの分離 (detach) を行い、 B<PTRACE_ATTACH> での親の切り換えによる効果と "
2726 "B<PTRACE_TRACEME> の効果を取り消す。意図したものではないだろうが、 Linux で"
2727 "は、トレースされている子プロセスはどのような方法でトレースを 開始されたとして"
2728 "も、この方法で分離 (detach) することができる。 (I<addr> は無視される。)"
2729
2730 #. type: Plain text
2731 #: build/C/man2/ptrace.2:412
2732 msgid ""
2733 "On success, B<PTRACE_PEEK*> requests return the requested data, while other "
2734 "requests return zero.  On error, all requests return -1, and I<errno> is set "
2735 "appropriately.  Since the value returned by a successful B<PTRACE_PEEK*> "
2736 "request may be -1, the caller must check I<errno> after such requests to "
2737 "determine whether or not an error occurred."
2738 msgstr ""
2739 "成功すると、 B<PTRACE_PEEK*> の場合は要求したデータを返し、 それ以外の場合は "
2740 "0 を返す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。 "
2741 "B<PTRACE_PEEK*> が成功して返す値も -1 になることがあるため、 そのような要求"
2742 "の場合には、呼び出し元は I<errno> を調べ、エラーか発生したのかどうかを判断し"
2743 "なければならない。"
2744
2745 #. type: Plain text
2746 #: build/C/man2/ptrace.2:417
2747 msgid ""
2748 "(i386 only) There was an error with allocating or freeing a debug register."
2749 msgstr "(i386 のみ) デバッグレジスタの確保または解放でエラーが発生した。"
2750
2751 #. type: Plain text
2752 #: build/C/man2/ptrace.2:428
2753 msgid ""
2754 "There was an attempt to read from or write to an invalid area in the "
2755 "parent's or child's memory, probably because the area wasn't mapped or "
2756 "accessible.  Unfortunately, under Linux, different variations of this fault "
2757 "will return B<EIO> or B<EFAULT> more or less arbitrarily."
2758 msgstr ""
2759 "親プロセスまたは子プロセスのメモリの不正な領域に読み書きしようとした。 おそら"
2760 "くその領域がマッピングされていないか、 その領域へのアクセスが許されていないか"
2761 "である。 不運なことに、Linux ではこのようなエラーの場合、多かれ少なかれ 恣意"
2762 "的に B<EIO> を返したり B<EFAULT> を返したりすることがある。"
2763
2764 #. type: Plain text
2765 #: build/C/man2/ptrace.2:431
2766 msgid "An attempt was made to set an invalid option."
2767 msgstr "不正なオプションを設定しようとした。"
2768
2769 #. type: Plain text
2770 #: build/C/man2/ptrace.2:437
2771 msgid ""
2772 "I<request> is invalid, or an attempt was made to read from or write to an "
2773 "invalid area in the parent's or child's memory, or there was a word-"
2774 "alignment violation, or an invalid signal was specified during a restart "
2775 "request."
2776 msgstr ""
2777 "I<request> が不正である。 または、親プロセスまたは子プロセスのメモリの 不正な"
2778 "領域に読み書きしようとした。 または、ワード境界違反があった。 または、実行再"
2779 "開の要求で不正なシグナルを指定した。"
2780
2781 #. type: Plain text
2782 #: build/C/man2/ptrace.2:449
2783 msgid ""
2784 "The specified process cannot be traced.  This could be because the parent "
2785 "has insufficient privileges (the required capability is B<CAP_SYS_PTRACE>); "
2786 "unprivileged processes cannot trace processes that they cannot send signals "
2787 "to or those running set-user-ID/set-group-ID programs, for obvious reasons.  "
2788 "Alternatively, the process may already be being traced, or be B<init>(8)  "
2789 "(PID 1)."
2790 msgstr ""
2791 "指定したプロセスをトレースすることができない。これは親プロセスが 必要な権限 "
2792 "(必要なケーパビリティは B<CAP_SYS_PTRACE>)  を持っていないことが原因の場合が"
2793 "ある。 分かりやすい理由を挙げるなら、 非特権プロセスはシグナルを送ることがで"
2794 "きないプロセスをトレースできないし、 set-user-ID/set-group-ID プログラムを実"
2795 "行しているプロセスはトレースできない。 または、プロセスはすでにトレース中であ"
2796 "る、 または B<init>(8)  プロセス (PID が 1) である。"
2797
2798 #. type: TP
2799 #: build/C/man2/ptrace.2:449 build/C/man2/quotactl.2:459
2800 #: build/C/man2/quotactl.2:502
2801 #, no-wrap
2802 msgid "B<ESRCH>"
2803 msgstr "B<ESRCH>"
2804
2805 #. type: Plain text
2806 #: build/C/man2/ptrace.2:453
2807 msgid ""
2808 "The specified process does not exist, or is not currently being traced by "
2809 "the caller, or is not stopped (for requests that require that)."
2810 msgstr ""
2811 "指定したプロセスが存在しない。 または、指定したプロセスは呼び出したプロセス"
2812 "が 現在トレース中の子プロセスではない。 または、指定したプロセスが停止してい"
2813 "ない (停止していることが必要な要求の場合)。"
2814
2815 #. type: Plain text
2816 #: build/C/man2/ptrace.2:455
2817 msgid "SVr4, 4.3BSD."
2818 msgstr "SVr4, 4.3BSD."
2819
2820 #. type: Plain text
2821 #: build/C/man2/ptrace.2:466
2822 msgid ""
2823 "Although arguments to B<ptrace>()  are interpreted according to the "
2824 "prototype given, glibc currently declares B<ptrace>()  as a variadic "
2825 "function with only the I<request> argument fixed.  This means that unneeded "
2826 "trailing arguments may be omitted, though doing so makes use of undocumented "
2827 "B<gcc>(1)  behavior."
2828 msgstr ""
2829 "B<ptrace>()  の引き数は上のようなプロトタイプに基づいて解釈されるが、 glibc "
2830 "では、現在のところ B<ptrace>()  は I<request> 引き数だけが固定の可変長引き数"
2831 "関数として 宣言されている。 これは必要なければ残りの引き数は省略可能であるこ"
2832 "とを意味するが、 それは B<gcc>(1)  の明文化されていない動作を利用していること"
2833 "になる。"
2834
2835 #. type: Plain text
2836 #: build/C/man2/ptrace.2:469
2837 msgid "B<init>(8), the process with PID 1, may not be traced."
2838 msgstr "B<init>(8)  すなわち PID が 1 のプロセスはトレースすることができない。"
2839
2840 #.  See http://lkml.org/lkml/2008/5/8/375
2841 #. type: Plain text
2842 #: build/C/man2/ptrace.2:476
2843 msgid ""
2844 "The layout of the contents of memory and the USER area are quite OS- and "
2845 "architecture-specific.  The offset supplied, and the data returned, might "
2846 "not entirely match with the definition of I<struct user>."
2847 msgstr ""
2848 "メモリや USER 領域の内容や配置は OS ごと、アーキテクチャごとに 非常に依存す"
2849 "る。 オフセットが指定された場合、返されるデータは I<struct user> の定義と完全"
2850 "に一致しないこともありえる。"
2851
2852 #. type: Plain text
2853 #: build/C/man2/ptrace.2:479
2854 msgid ""
2855 "The size of a \"word\" is determined by the OS variant (e.g., for 32-bit "
2856 "Linux it is 32 bits, etc.)."
2857 msgstr ""
2858 "「ワード (word) 」の大きさは OS によって決まる。 (例えば、32 ビットの Linux "
2859 "では 32 ビットである、など。)"
2860
2861 #. type: Plain text
2862 #: build/C/man2/ptrace.2:488
2863 msgid ""
2864 "Tracing causes a few subtle differences in the semantics of traced "
2865 "processes.  For example, if a process is attached to with B<PTRACE_ATTACH>, "
2866 "its original parent can no longer receive notification via B<wait>(2)  when "
2867 "it stops, and there is no way for the new parent to effectively simulate "
2868 "this notification."
2869 msgstr ""
2870 "トレースすることによってトレースされるプロセスの動作に些細な違いが 起こること"
2871 "がある。例えば、プロセスが B<PTRACE_ATTACH> によって接続された場合には、その"
2872 "プロセスが停止した時でも本来の親は B<wait>(2)  を使って通知を受けることができ"
2873 "ず、新しい親が効率よく この通知を真似る方法もない。"
2874
2875 #. type: Plain text
2876 #: build/C/man2/ptrace.2:502
2877 msgid ""
2878 "When the parent receives an event with B<PTRACE_EVENT_*> set, the child is "
2879 "not in the normal signal delivery path.  This means the parent cannot do "
2880 "B<ptrace>(PTRACE_CONT)  with a signal or B<ptrace>(PTRACE_KILL).  B<kill>"
2881 "(2)  with a B<SIGKILL> signal can be used instead to kill the child process "
2882 "after receiving one of these messages."
2883 msgstr ""
2884 "親プロセスが B<PTRACE_EVENT_*> がセットされたイベントを受信した場合、 子プロ"
2885 "セスは通常通りのシグナル配送が行われる状態にない。 つまり、親プロセスが、 シ"
2886 "グナルにより B<ptrace>(PTRACE_CONT)  を行ったり、 B<ptrace>(PTRACE_KILL)  を"
2887 "行ったりできないということである。 こららのメッセージの受信後は、子プロセスを"
2888 "終了 (kill) するのに、 シグナル B<SIGKILL> を指定して B<kill>(2)  を行う方法"
2889 "を代わりに使用できる。"
2890
2891 #. type: Plain text
2892 #: build/C/man2/ptrace.2:510
2893 msgid ""
2894 "This page documents the way the B<ptrace>()  call works currently in Linux.  "
2895 "Its behavior differs noticeably on other flavors of UNIX.  In any case, use "
2896 "of B<ptrace>()  is highly OS- and architecture-specific."
2897 msgstr ""
2898 "このマニュアルは現在の Linux における B<ptrace>()  コールの動作について記述し"
2899 "ている。他の UNIX では その動作は著しく異なる。 いかなる場合も B<ptrace>()  "
2900 "を使うと OS やアーキテクチャに非常に依存したものになる。"
2901
2902 #. type: Plain text
2903 #: build/C/man2/ptrace.2:518
2904 msgid ""
2905 "The SunOS man page describes B<ptrace>()  as \"unique and arcane\", which it "
2906 "is.  The proc-based debugging interface present in Solaris 2 implements a "
2907 "superset of B<ptrace>()  functionality in a more powerful and uniform way."
2908 msgstr ""
2909 "SunOS のマニュアル・ページには B<ptrace>()  は「独特で不可解」と記述されてお"
2910 "り、まさしくそうである。 Solaris 2 では proc ベースの デバッグのインター"
2911 "フェースとして B<ptrace>()  の上位互換関数が実装され、より強力で一貫性のある"
2912 "ものとなっている。"
2913
2914 #. type: Plain text
2915 #: build/C/man2/ptrace.2:530
2916 msgid ""
2917 "On hosts with 2.6 kernel headers, B<PTRACE_SETOPTIONS> is declared with a "
2918 "different value than the one for 2.4.  This leads to applications compiled "
2919 "with such headers failing when run on 2.4 kernels.  This can be worked "
2920 "around by redefining B<PTRACE_SETOPTIONS> to B<PTRACE_OLDSETOPTIONS>, if "
2921 "that is defined."
2922 msgstr ""
2923 "カーネル 2.6 のヘッダがインストールされたホストでは、 B<PTRACE_SETOPTIONS> は"
2924 "カーネル 2.4 のヘッダとは異なる値で宣言される。 このため、カーネル 2.6 のヘッ"
2925 "ダでコンパイルされたアプリケーションは カーネル 2.4 では正しく動作しない。 こ"
2926 "の問題は、 B<PTRACE_SETOPTIONS> が定義されていた際は、 B<PTRACE_SETOPTIONS> "
2927 "を B<PTRACE_OLDSETOPTIONS> に定義し直すことで対処できる。"
2928
2929 #. type: Plain text
2930 #: build/C/man2/ptrace.2:539
2931 msgid ""
2932 "B<gdb>(1), B<strace>(1), B<execve>(2), B<fork>(2), B<signal>(2), B<wait>(2), "
2933 "B<exec>(3), B<capabilities>(7)"
2934 msgstr ""
2935 "B<gdb>(1), B<strace>(1), B<execve>(2), B<fork>(2), B<signal>(2), B<wait>(2), "
2936 "B<exec>(3), B<capabilities>(7)"
2937
2938 #. type: TH
2939 #: build/C/man2/quotactl.2:25
2940 #, no-wrap
2941 msgid "QUOTACTL"
2942 msgstr "QUOTACTL"
2943
2944 #. type: TH
2945 #: build/C/man2/quotactl.2:25
2946 #, fuzzy, no-wrap
2947 #| msgid "2010-02-15"
2948 msgid "2010-06-16"
2949 msgstr "2010-02-15"
2950
2951 #. type: Plain text
2952 #: build/C/man2/quotactl.2:28
2953 #, fuzzy
2954 #| msgid "quotactl - manipulate disk quota"
2955 msgid "quotactl - manipulate disk quotas"
2956 msgstr "quotactl - ディスク quota を操作する"
2957
2958 #. type: Plain text
2959 #: build/C/man2/quotactl.2:32
2960 #, fuzzy, no-wrap
2961 #| msgid ""
2962 #| "B<#include E<lt>linux/futex.hE<gt>>\n"
2963 #| "B<#include E<lt>sys/time.hE<gt>>\n"
2964 msgid ""
2965 "B<#include E<lt>sys/quota.hE<gt>>\n"
2966 "B<#include E<lt>xfs/xqm.hE<gt>>\n"
2967 msgstr ""
2968 "B<#include E<lt>linux/futex.hE<gt>>\n"
2969 "B<#include E<lt>sys/time.hE<gt>>\n"
2970
2971 #. type: Plain text
2972 #: build/C/man2/quotactl.2:35
2973 #, no-wrap
2974 msgid "B<int quotactl(int >I<cmd>B<, const char *>I<special>B<, int >I<id>B<, caddr_t >I<addr>B<);>\n"
2975 msgstr "B<int quotactl(int >I<cmd>B<, const char *>I<special>B<, int >I<id>B<, caddr_t >I<addr>B<);>\n"
2976
2977 #. type: Plain text
2978 #: build/C/man2/quotactl.2:47
2979 #, fuzzy
2980 #| msgid ""
2981 #| "The quota system defines for each user and/or group a soft limit and a "
2982 #| "hard limit bounding the amount of disk space that can be used on a given "
2983 #| "file system.  The hard limit cannot be crossed.  The soft limit can be "
2984 #| "crossed, but warnings will ensue.  Moreover, the user cannot be above the "
2985 #| "soft limit for more than one week (by default)  at a time: after this "
2986 #| "week the soft limit counts as hard limit."
2987 msgid ""
2988 "The quota system can be used to set per-user and per-group limits on the "
2989 "amount of disk space used on a file system.  For each user and/or group, a "
2990 "soft limit and a hard limit can be set for each file system.  The hard limit "
2991 "can't be exceeded.  The soft limit can be exceeded, but warnings will "
2992 "ensue.  Moreover, the user can't exceed the soft limit for more than one "
2993 "week (by default) at a time; after this time, the soft limit counts as a "
2994 "hard limit."
2995 msgstr ""
2996 "quota システムは、各々のユーザ及び/またはグループに対して、 ソフト・リミット"
2997 "及びハード・リミットを定める。これはあるファイル・システムで 使用する事が出来"
2998 "るディスク容量を制限する。 ハード・リミットは超過することは出来ない。 ソフ"
2999 "ト・リミットは超過する事が出来るが、警告が発せられる。 更に、(デフォルトで"
3000 "は) 一週間以上ソフト・リミットを超過したままに しておく事はできない: 一週間経"
3001 "過した後はハード・リミットを超過したと みなされる。"
3002
3003 #. type: Plain text
3004 #: build/C/man2/quotactl.2:72
3005 #, fuzzy
3006 #| msgid ""
3007 #| "The B<quotactl>()  system call manipulates these quota.  Its first "
3008 #| "argument is of the form B<QCMD(>I<subcmd>B<,>I<type>B<)> where I<type> is "
3009 #| "either B<USRQUOTA> or B<GRPQUOTA> (for user quota and group quota, "
3010 #| "respectively), and I<subcmd> is described below."
3011 msgid ""
3012 "The B<quotactl>()  call manipulates disk quotas.  The I<cmd> argument "
3013 "indicates a command to be applied to the user or group ID specified in "
3014 "I<id>.  To initialize the I<cmd> argument, use the I<QCMD(subcmd, type)> "
3015 "macro.  The I<type> value is either B<USRQUOTA>, for user quotas, or "
3016 "B<GRPQUOTA>, for group quotas.  The I<subcmd> value is described below."
3017 msgstr ""
3018 "B<quotactl>()  システムコールはこれらの quota に対する操作を行なう。 最初の引"
3019 "き数は B<QCMD(>I<subcmd>B<,>I<type>B<)> という形式である。 I<type> には、ユー"
3020 "ザー quota については B<USRQUOTA> を、グループ quota については B<GRPQUOTA> "
3021 "を指定する。 I<subcmd> は以下で説明する。"
3022
3023 #. type: Plain text
3024 #: build/C/man2/quotactl.2:77
3025 msgid ""
3026 "The I<special> argument is a pointer to a null-terminated string containing "
3027 "the pathname of the (mounted) block special device for the file system being "
3028 "manipulated."
3029 msgstr ""
3030
3031 #. type: Plain text
3032 #: build/C/man2/quotactl.2:85
3033 msgid ""
3034 "The I<addr> argument is the address of an optional, command-specific, data "
3035 "structure that is copied in or out of the system.  The interpretation of "
3036 "I<addr> is given with each command below."
3037 msgstr ""
3038
3039 #. type: Plain text
3040 #: build/C/man2/quotactl.2:89
3041 #, fuzzy
3042 #| msgid "The I<subcmd> is one of"
3043 msgid "The I<subcmd> value is one of the following:"
3044 msgstr "I<subcmd> は以下のいずれかである"
3045
3046 #. type: TP
3047 #: build/C/man2/quotactl.2:89
3048 #, no-wrap
3049 msgid "B<Q_QUOTAON>"
3050 msgstr "B<Q_QUOTAON>"
3051
3052 #. type: Plain text
3053 #: build/C/man2/quotactl.2:96
3054 msgid ""
3055 "Turn on quotas for a file system.  The I<id> argument is the identification "
3056 "number of the quota format to be used.  Currently, there are three supported "
3057 "quota formats:"
3058 msgstr ""
3059
3060 #. type: TP
3061 #: build/C/man2/quotactl.2:97
3062 #, no-wrap
3063 msgid "B<QFMT_VFS_OLD>"
3064 msgstr ""
3065
3066 #. type: Plain text
3067 #: build/C/man2/quotactl.2:100
3068 msgid "The original quota format."
3069 msgstr ""
3070
3071 #. type: TP
3072 #: build/C/man2/quotactl.2:100
3073 #, no-wrap
3074 msgid "B<QFMT_VFS_V0>"
3075 msgstr ""
3076
3077 #. type: Plain text
3078 #: build/C/man2/quotactl.2:104
3079 msgid ""
3080 "The standard VFS v0 quota format, which can handle 32-bit UIDs and GIDs and "
3081 "quota limits up to 2^42 bytes and 2^32 inodes."
3082 msgstr ""
3083
3084 #. type: TP
3085 #: build/C/man2/quotactl.2:104
3086 #, no-wrap
3087 msgid "B<QFMT_VFS_V1>"
3088 msgstr ""
3089
3090 #. type: Plain text
3091 #: build/C/man2/quotactl.2:108
3092 msgid ""
3093 "A quota format that can handle 32-bit UIDs and GIDs and quota limits of 2^64 "
3094 "bytes and 2^64 inodes."
3095 msgstr ""
3096
3097 #. type: Plain text
3098 #: build/C/man2/quotactl.2:119
3099 msgid ""
3100 "The I<addr> argument points to the pathname of a file containing the quotas "
3101 "for the file system.  The quota file must exist; it is normally created with "
3102 "the B<quotacheck>(8)  program.  This operation requires privilege "
3103 "(B<CAP_SYS_ADMIN>)."
3104 msgstr ""
3105
3106 #. type: TP
3107 #: build/C/man2/quotactl.2:119
3108 #, no-wrap
3109 msgid "B<Q_QUOTAOFF>"
3110 msgstr "B<Q_QUOTAOFF>"
3111
3112 #. type: Plain text
3113 #: build/C/man2/quotactl.2:129
3114 msgid ""
3115 "Turn off quotas for a file system.  The I<addr> and I<id> arguments are "
3116 "ignored.  This operation requires privilege (B<CAP_SYS_ADMIN>)."
3117 msgstr ""
3118
3119 #. type: TP
3120 #: build/C/man2/quotactl.2:129
3121 #, no-wrap
3122 msgid "B<Q_GETQUOTA>"
3123 msgstr "B<Q_GETQUOTA>"
3124
3125 #. type: Plain text
3126 #: build/C/man2/quotactl.2:140
3127 #, fuzzy
3128 #| msgid ""
3129 #| "Get limits and current usage of disk space.  The I<addr> argument is a "
3130 #| "pointer to a dqblk structure (defined in I<E<lt>sys/quota.hE<gt>>)."
3131 msgid ""
3132 "Get disk quota limits and current usage for user or group I<id>.  The "
3133 "I<addr> argument is a pointer to a I<dqblk> structure defined in I<E<lt>sys/"
3134 "quota.hE<gt>> as follows:"
3135 msgstr ""
3136 "ディスク使用量の制限値と現在の使用量を得る。 I<addr> 引き数は (I<E<lt>sys/"
3137 "quota.hE<gt>> で定義された) dqblk 構造体を指すポインタである。"
3138
3139 #. type: Plain text
3140 #: build/C/man2/quotactl.2:145 build/C/man2/quotactl.2:232
3141 #, no-wrap
3142 msgid ""
3143 "/* uint64_t is an unsigned 64-bit integer;\n"
3144 "   uint32_t is an unsigned 32-bit integer */\n"
3145 msgstr ""
3146
3147 #. type: Plain text
3148 #: build/C/man2/quotactl.2:165
3149 #, no-wrap
3150 msgid ""
3151 "struct dqblk {          /* Definition since Linux 2.4.22 */\n"
3152 "    uint64_t dqb_bhardlimit;   /* absolute limit on disk\n"
3153 "                                  quota blocks alloc */\n"
3154 "    uint64_t dqb_bsoftlimit;   /* preferred limit on\n"
3155 "                                  disk quota blocks */\n"
3156 "    uint64_t dqb_curspace;     /* current quota block\n"
3157 "                                  count */\n"
3158 "    uint64_t dqb_ihardlimit;   /* maximum number of\n"
3159 "                                  allocated inodes */\n"
3160 "    uint64_t dqb_isoftlimit;   /* preferred inode limit */\n"
3161 "    uint64_t dqb_curinodes;    /* current number of\n"
3162 "                                  allocated inodes */\n"
3163 "    uint64_t dqb_btime;        /* time limit for excessive\n"
3164 "                                  disk use */\n"
3165 "    uint64_t dqb_itime;        /* time limit for excessive\n"
3166 "                                  files */\n"
3167 "    uint32_t dqb_valid;        /* bit mask of QIF_*\n"
3168 "                                  constants */\n"
3169 "};\n"
3170 msgstr ""
3171
3172 #. type: Plain text
3173 #: build/C/man2/quotactl.2:168
3174 #, no-wrap
3175 msgid ""
3176 "/* Flags in dqb_valid that indicate which fields in\n"
3177 "   dqblk structure are valid. */\n"
3178 msgstr ""
3179
3180 #. type: Plain text
3181 #: build/C/man2/quotactl.2:179
3182 #, no-wrap
3183 msgid ""
3184 "#define QIF_BLIMITS   1\n"
3185 "#define QIF_SPACE     2\n"
3186 "#define QIF_ILIMITS   4\n"
3187 "#define QIF_INODES    8\n"
3188 "#define QIF_BTIME     16\n"
3189 "#define QIF_ITIME     32\n"
3190 "#define QIF_LIMITS    (QIF_BLIMITS | QIF_ILIMITS)\n"
3191 "#define QIF_USAGE     (QIF_SPACE | QIF_INODES)\n"
3192 "#define QIF_TIMES     (QIF_BTIME | QIF_ITIME)\n"
3193 "#define QIF_ALL       (QIF_LIMITS | QIF_USAGE | QIF_TIMES)\n"
3194 msgstr ""
3195
3196 #. type: Plain text
3197 #: build/C/man2/quotactl.2:196
3198 msgid ""
3199 "The I<dqb_valid> field is a bit mask that is set to indicate the entries in "
3200 "the I<dqblk> structure that are valid.  Currently, the kernel fills in all "
3201 "entries of the I<dqblk> structure and marks them as valid in the "
3202 "I<dqb_valid> field.  Unprivileged users may retrieve only their own quotas; "
3203 "a privileged user (B<CAP_SYS_ADMIN>)  can retrieve the quotas of any user."
3204 msgstr ""
3205
3206 #. type: TP
3207 #: build/C/man2/quotactl.2:196
3208 #, no-wrap
3209 msgid "B<Q_SETQUOTA>"
3210 msgstr "B<Q_SETQUOTA>"
3211
3212 #. type: Plain text
3213 #: build/C/man2/quotactl.2:216
3214 msgid ""
3215 "Set quota information for user or group I<id>, using the information "
3216 "supplied in the I<dqblk> structure pointed to by I<addr>.  The I<dqb_valid> "
3217 "field of the I<dqblk> structure indicates which entries in the structure "
3218 "have been set by the caller.  This operation supersedes the B<Q_SETQLIM> and "
3219 "B<Q_SETUSE> operations in the previous quota interfaces.  This operation "
3220 "requires privilege (B<CAP_SYS_ADMIN>)."
3221 msgstr ""
3222
3223 #. type: TP
3224 #: build/C/man2/quotactl.2:216
3225 #, fuzzy, no-wrap
3226 #| msgid "B<Q_GETQUOTA>"
3227 msgid "B<Q_GETINFO>"
3228 msgstr "B<Q_GETQUOTA>"
3229
3230 #. type: Plain text
3231 #: build/C/man2/quotactl.2:227
3232 #, fuzzy
3233 #| msgid ""
3234 #| "Get limits and current usage of disk space.  The I<addr> argument is a "
3235 #| "pointer to a dqblk structure (defined in I<E<lt>sys/quota.hE<gt>>)."
3236 msgid ""
3237 "Get information (like grace times) about quotafile.  The I<addr> argument "
3238 "should be a pointer to a I<dqinfo> structure.  This structure is defined in "
3239 "I<E<lt>sys/quota.hE<gt>> as follows:"
3240 msgstr ""
3241 "ディスク使用量の制限値と現在の使用量を得る。 I<addr> 引き数は (I<E<lt>sys/"
3242 "quota.hE<gt>> で定義された) dqblk 構造体を指すポインタである。"
3243
3244 #. type: Plain text
3245 #: build/C/man2/quotactl.2:236
3246 #, no-wrap
3247 msgid ""
3248 "struct dqinfo {         /* Defined since kernel 2.4.22 */\n"
3249 "    uint64_t dqi_bgrace;    /* Time before block soft limit\n"
3250 "                               becomes hard limit */\n"
3251 msgstr ""
3252
3253 #. type: Plain text
3254 #: build/C/man2/quotactl.2:243
3255 #, no-wrap
3256 msgid ""
3257 "    uint64_t dqi_igrace;    /* Time before inode soft limit\n"
3258 "                               becomes hard limit */\n"
3259 "    uint32_t dqi_flags;     /* Flags for quotafile\n"
3260 "                               (DQF_*) */\n"
3261 "    uint32_t dqi_valid;\n"
3262 "};\n"
3263 msgstr ""
3264
3265 #. type: Plain text
3266 #: build/C/man2/quotactl.2:245
3267 #, no-wrap
3268 msgid "/* Bits for dqi_flags */\n"
3269 msgstr ""
3270
3271 #. type: Plain text
3272 #: build/C/man2/quotactl.2:247
3273 #, no-wrap
3274 msgid "/* Quota format QFMT_VFS_OLD */\n"
3275 msgstr ""
3276
3277 #. type: Plain text
3278 #: build/C/man2/quotactl.2:249
3279 #, no-wrap
3280 msgid "#define V1_DQF_RSQUASH\t1   /* Root squash enabled */\n"
3281 msgstr ""
3282
3283 #. type: Plain text
3284 #: build/C/man2/quotactl.2:251
3285 #, no-wrap
3286 msgid "/* Other quota formats have no dqi_flags bits defined */\n"
3287 msgstr ""
3288
3289 #. type: Plain text
3290 #: build/C/man2/quotactl.2:254
3291 #, no-wrap
3292 msgid ""
3293 "/* Flags in dqi_valid that indicate which fields in\n"
3294 "   dqinfo structure are valid. */\n"
3295 msgstr ""
3296
3297 #. type: Plain text
3298 #: build/C/man2/quotactl.2:259
3299 #, no-wrap
3300 msgid ""
3301 "# define IIF_BGRACE\t1\n"
3302 "# define IIF_IGRACE\t2\n"
3303 "# define IIF_FLAGS\t4\n"
3304 "# define IIF_ALL\t(IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)\n"
3305 msgstr ""
3306
3307 #. type: Plain text
3308 #: build/C/man2/quotactl.2:275
3309 msgid ""
3310 "The I<dqi_valid> field in the I<dqinfo> structure indicates the entries in "
3311 "the structure that are valid.  Currently, the kernel fills in all entries of "
3312 "the I<dqinfo> structure and marks them all as valid in the I<dqi_valid> "
3313 "field.  The I<id> argument is ignored."
3314 msgstr ""
3315
3316 #. type: TP
3317 #: build/C/man2/quotactl.2:275
3318 #, fuzzy, no-wrap
3319 #| msgid "B<Q_SETQLIM>"
3320 msgid "B<Q_SETINFO>"
3321 msgstr "B<Q_SETQLIM>"
3322
3323 #. type: Plain text
3324 #: build/C/man2/quotactl.2:299
3325 msgid ""
3326 "Set information about quotafile.  The I<addr> argument should be a pointer "
3327 "to a I<dqinfo> structure.  The I<dqi_valid> field of the I<dqinfo> structure "
3328 "indicates the entries in the structure that have been set by the caller.  "
3329 "This operation supersedes the B<Q_SETGRACE> and B<Q_SETFLAGS> operations in "
3330 "the previous quota interfaces.  The I<id> argument is ignored.  This "
3331 "operation requires privilege (B<CAP_SYS_ADMIN>)."
3332 msgstr ""
3333
3334 #. type: TP
3335 #: build/C/man2/quotactl.2:299
3336 #, fuzzy, no-wrap
3337 #| msgid "B<Q_GETQUOTA>"
3338 msgid "B<Q_GETFMT>"
3339 msgstr "B<Q_GETQUOTA>"
3340
3341 #. type: Plain text
3342 #: build/C/man2/quotactl.2:306
3343 msgid ""
3344 "Get quota format used on the specified file system.  The I<addr> argument "
3345 "should be a pointer to a 4-byte buffer where the format number will be "
3346 "stored."
3347 msgstr ""
3348
3349 #. type: TP
3350 #: build/C/man2/quotactl.2:306
3351 #, no-wrap
3352 msgid "B<Q_SYNC>"
3353 msgstr "B<Q_SYNC>"
3354
3355 #. type: Plain text
3356 #: build/C/man2/quotactl.2:317
3357 msgid ""
3358 "Update the on-disk copy of quota usages for a file system.  If I<special> is "
3359 "NULL, then all file systems with active quotas are sync'ed.  The I<addr> and "
3360 "I<id> arguments are ignored."
3361 msgstr ""
3362
3363 #. type: TP
3364 #: build/C/man2/quotactl.2:317
3365 #, no-wrap
3366 msgid "B<Q_GETSTATS>"
3367 msgstr "B<Q_GETSTATS>"
3368
3369 #.  Q_GETSTATS was removed in kernel 2.4.22.
3370 #. type: Plain text
3371 #: build/C/man2/quotactl.2:337
3372 msgid ""
3373 "Get statistics and other generic information about the quota subsystem.  The "
3374 "I<addr> argument should be a pointer to a I<dqstats> structure in which data "
3375 "should be stored.  This structure is defined in I<E<lt>sys/quota.hE<gt>.> "
3376 "The I<special> and I<id> arguments are ignored.  This operation is obsolete "
3377 "and not supported by recent kernels.  Files in I</proc/sys/fs/quota/> carry "
3378 "the information instead."
3379 msgstr ""
3380
3381 #. type: Plain text
3382 #: build/C/man2/quotactl.2:340
3383 msgid ""
3384 "For XFS file systems making use of the XFS Quota Manager (XQM), the above "
3385 "commands are bypassed and the following commands are used:"
3386 msgstr ""
3387
3388 #. type: TP
3389 #: build/C/man2/quotactl.2:340
3390 #, fuzzy, no-wrap
3391 #| msgid "B<Q_QUOTAON>"
3392 msgid "B<Q_XQUOTAON>"
3393 msgstr "B<Q_QUOTAON>"
3394
3395 #. type: Plain text
3396 #: build/C/man2/quotactl.2:361
3397 msgid ""
3398 "Turn on quotas for an XFS file system.  XFS provides the ability to turn on/"
3399 "off quota limit enforcement with quota accounting.  Therefore, XFS expects "
3400 "I<addr> to be a pointer to an I<unsigned int> that contains either the flags "
3401 "B<XFS_QUOTA_UDQ_ACCT> and/or B<XFS_QUOTA_UDQ_ENFD> (for user quota), or "
3402 "B<XFS_QUOTA_GDQ_ACCT> and/or B<XFS_QUOTA_GDQ_ENFD> (for group quota), as "
3403 "defined in I<E<lt>xfs/xqm.hE<gt>>.  This operation requires privilege "
3404 "(B<CAP_SYS_ADMIN>)."
3405 msgstr ""
3406
3407 #. type: TP
3408 #: build/C/man2/quotactl.2:361
3409 #, fuzzy, no-wrap
3410 #| msgid "B<Q_QUOTAOFF>"
3411 msgid "B<Q_XQUOTAOFF>"
3412 msgstr "B<Q_QUOTAOFF>"
3413
3414 #. type: Plain text
3415 #: build/C/man2/quotactl.2:372
3416 msgid ""
3417 "Turn off quotas for an XFS file system.  As with B<Q_QUOTAON>, XFS file "
3418 "systems expect a pointer to an I<unsigned int> that specifies whether quota "
3419 "accounting and/or limit enforcement need to be turned off.  This operation "
3420 "requires privilege (B<CAP_SYS_ADMIN>)."
3421 msgstr ""
3422
3423 #. type: TP
3424 #: build/C/man2/quotactl.2:372
3425 #, fuzzy, no-wrap
3426 #| msgid "B<Q_GETQUOTA>"
3427 msgid "B<Q_XGETQUOTA>"
3428 msgstr "B<Q_GETQUOTA>"
3429
3430 #. type: Plain text
3431 #: build/C/man2/quotactl.2:386
3432 msgid ""
3433 "Get disk quota limits and current usage for user I<id>.  The I<addr> "
3434 "argument is a pointer to an I<fs_disk_quota> structure (defined in "
3435 "I<E<lt>xfs/xqm.hE<gt>>).  Unprivileged users may retrieve only their own "
3436 "quotas; a privileged user (B<CAP_SYS_ADMIN>)  may retrieve the quotas of any "
3437 "user."
3438 msgstr ""
3439
3440 #. type: TP
3441 #: build/C/man2/quotactl.2:386
3442 #, fuzzy, no-wrap
3443 #| msgid "B<Q_SETQLIM>"
3444 msgid "B<Q_XSETQLIM>"
3445 msgstr "B<Q_SETQLIM>"
3446
3447 #. type: Plain text
3448 #: build/C/man2/quotactl.2:398
3449 #, fuzzy
3450 #| msgid ""
3451 #| "Get limits and current usage of disk space.  The I<addr> argument is a "
3452 #| "pointer to a dqblk structure (defined in I<E<lt>sys/quota.hE<gt>>)."
3453 msgid ""
3454 "Set disk quota limits for user I<id>.  The I<addr> argument is a pointer to "
3455 "an I<fs_disk_quota> structure (defined in I<E<lt>xfs/xqm.hE<gt>>).  This "
3456 "operation requires privilege (B<CAP_SYS_ADMIN>)."
3457 msgstr ""
3458 "ディスク使用量の制限値と現在の使用量を得る。 I<addr> 引き数は (I<E<lt>sys/"
3459 "quota.hE<gt>> で定義された) dqblk 構造体を指すポインタである。"
3460
3461 #. type: TP
3462 #: build/C/man2/quotactl.2:398
3463 #, fuzzy, no-wrap
3464 #| msgid "B<Q_GETSTATS>"
3465 msgid "B<Q_XGETQSTAT>"
3466 msgstr "B<Q_GETSTATS>"
3467
3468 #. type: Plain text
3469 #: build/C/man2/quotactl.2:406
3470 msgid ""
3471 "Returns an I<fs_quota_stat> structure containing XFS file system specific "
3472 "quota information.  This is useful for finding out how much space is used to "
3473 "store quota information, and also to get quotaon/off status of a given local "
3474 "XFS file system."
3475 msgstr ""
3476
3477 #. type: TP
3478 #: build/C/man2/quotactl.2:406
3479 #, fuzzy, no-wrap
3480 #| msgid "B<Q_QUOTAON>"
3481 msgid "B<Q_XQUOTARM>"
3482 msgstr "B<Q_QUOTAON>"
3483
3484 #. type: Plain text
3485 #: build/C/man2/quotactl.2:410
3486 msgid ""
3487 "Free the disk space taken by disk quotas.  Quotas must have already been "
3488 "turned off."
3489 msgstr ""
3490
3491 #. type: Plain text
3492 #: build/C/man2/quotactl.2:417
3493 msgid ""
3494 "There is no command equivalent to B<Q_SYNC> for XFS since B<sync>(1)  writes "
3495 "quota information to disk (in addition to the other file system metadata "
3496 "that it writes out)."
3497 msgstr ""
3498
3499 #. type: SH
3500 #: build/C/man2/quotactl.2:417
3501 #, fuzzy, no-wrap
3502 #| msgid "RETURN VALUE"
3503 msgid "RETURN VALUES"
3504 msgstr "返り値"
3505
3506 #. type: Plain text
3507 #: build/C/man2/quotactl.2:425
3508 #, fuzzy
3509 #| msgid ""
3510 #| "On success, B<arch_prctl>()  returns 0; on error, -1 is returned, and "
3511 #| "I<errno> is set to indicate the error."
3512 msgid ""
3513 "On success, B<quotactl>()  returns 0; on error -1 is returned, and I<errno> "
3514 "is set to indicate the error."
3515 msgstr ""
3516 "成功すると、 B<arch_prctl>()  は 0 を返す。エラーの場合、-1 を返し、 "
3517 "I<errno> をエラーを示す値に設定する。"
3518
3519 #. type: Plain text
3520 #: build/C/man2/quotactl.2:432
3521 msgid "I<addr> or I<special> is invalid."
3522 msgstr ""
3523
3524 #. type: Plain text
3525 #: build/C/man2/quotactl.2:438
3526 msgid "I<cmd> or I<type> is invalid."
3527 msgstr ""
3528
3529 #. type: TP
3530 #: build/C/man2/quotactl.2:438
3531 #, fuzzy, no-wrap
3532 #| msgid "B<ENOMEM>"
3533 msgid "B<ENOENT>"
3534 msgstr "B<ENOMEM>"
3535
3536 #. type: Plain text
3537 #: build/C/man2/quotactl.2:445
3538 msgid "The file specified by I<special> or I<addr> does not exist."
3539 msgstr ""
3540
3541 #. type: Plain text
3542 #: build/C/man2/quotactl.2:450
3543 msgid "The kernel has not been compiled with the B<CONFIG_QUOTA> option."
3544 msgstr ""
3545
3546 #. type: TP
3547 #: build/C/man2/quotactl.2:450
3548 #, no-wrap
3549 msgid "B<ENOTBLK>"
3550 msgstr "B<ENOTBLK>"
3551
3552 #. type: Plain text
3553 #: build/C/man2/quotactl.2:454
3554 #, fuzzy
3555 #| msgid "I<special> is not a block special device."
3556 msgid "I<special> is not a block device."
3557 msgstr "I<special> がブロック・スペシャル・デバイスではない。"
3558
3559 #. type: Plain text
3560 #: build/C/man2/quotactl.2:459
3561 msgid ""
3562 "The caller lacked the required privilege (B<CAP_SYS_ADMIN>)  for the "
3563 "specified operation."
3564 msgstr ""
3565
3566 #. type: Plain text
3567 #: build/C/man2/quotactl.2:463
3568 msgid ""
3569 "No disk quota is found for the indicated user.  Quotas have not been turned "
3570 "on for this file system."
3571 msgstr ""
3572
3573 #. type: Plain text
3574 #: build/C/man2/quotactl.2:472
3575 msgid "If I<cmd> is B<Q_SETQUOTA>, B<quotactl>()  may also set I<errno> to:"
3576 msgstr ""
3577
3578 #. type: Plain text
3579 #: build/C/man2/quotactl.2:475
3580 msgid "Specified limits are out of range allowed by quota format."
3581 msgstr ""
3582
3583 #. type: Plain text
3584 #: build/C/man2/quotactl.2:484
3585 msgid "If I<cmd> is B<Q_QUOTAON>, B<quotactl>()  may also set I<errno> to:"
3586 msgstr ""
3587
3588 #. type: Plain text
3589 #: build/C/man2/quotactl.2:493
3590 msgid ""
3591 "The quota file pointed to by I<addr> exists, but is not a regular file; or, "
3592 "the quota file pointed to by I<addr> exists, but is not on the file system "
3593 "pointed to by I<special>."
3594 msgstr ""
3595
3596 #. type: Plain text
3597 #: build/C/man2/quotactl.2:499
3598 msgid ""
3599 "B<Q_QUOTAON> attempted, but another B<Q_QUOTAON> had already been performed."
3600 msgstr ""
3601
3602 #. type: Plain text
3603 #: build/C/man2/quotactl.2:502
3604 #, fuzzy
3605 #| msgid "The quota file is not an ordinary file."
3606 msgid "The quota file is corrupted."
3607 msgstr "quota ファイルが普通のファイルではない。"
3608
3609 #. type: Plain text
3610 #: build/C/man2/quotactl.2:505
3611 msgid "Specified quota format was not found."
3612 msgstr ""
3613
3614 #. type: Plain text
3615 #: build/C/man2/quotactl.2:510
3616 #, fuzzy
3617 #| msgid ""
3618 #| "B<quota>(1), B<getrlimit>(2), B<setrlimit>(2), B<ulimit>(3), B<quotacheck>"
3619 #| "(8), B<quotaon>(8)"
3620 msgid "B<quota>(1), B<getrlimit>(2), B<quotacheck>(8), B<quotaon>(8)"
3621 msgstr ""
3622 "B<quota>(1), B<getrlimit>(2), B<setrlimit>(2), B<ulimit>(3), B<quotacheck>"
3623 "(8), B<quotaon>(8)"
3624
3625 #. type: TH
3626 #: build/C/man2/sendfile.2:15
3627 #, no-wrap
3628 msgid "SENDFILE"
3629 msgstr "SENDFILE"
3630
3631 #. type: TH
3632 #: build/C/man2/sendfile.2:15
3633 #, fuzzy, no-wrap
3634 #| msgid "2004-09-10"
3635 msgid "2011-09-14"
3636 msgstr "2004-09-10"
3637
3638 #. type: Plain text
3639 #: build/C/man2/sendfile.2:18
3640 msgid "sendfile - transfer data between file descriptors"
3641 msgstr "sendfile - ファイル・ディスクリプタ間でデータを転送する"
3642
3643 #. type: Plain text
3644 #: build/C/man2/sendfile.2:20
3645 msgid "B<#include E<lt>sys/sendfile.hE<gt>>"
3646 msgstr "B<#include E<lt>sys/sendfile.hE<gt>>"
3647
3648 #.  The below is too ugly. Comments about glibc versions belong
3649 #.  in the notes, not in the header.
3650 #.  .B #include <features.h>
3651 #.  .br
3652 #.  .B #if (__GLIBC__==2 && __GLIBC_MINOR__>=1) || __GLIBC__>2
3653 #.  .br
3654 #.  .B #include <sys/sendfile.h>
3655 #.  .br
3656 #.  #else
3657 #.  .br
3658 #.  .B #include <sys/types.h>
3659 #.  .br
3660 #.  .B /* No system prototype before glibc 2.1. */
3661 #.  .br
3662 #.  .BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", off_t *" #.                        offset ", size_t" " count" )
3663 #.  .br
3664 #.  .B #endif
3665 #. type: Plain text
3666 #: build/C/man2/sendfile.2:43
3667 msgid ""
3668 "B<ssize_t sendfile(int>I< out_fd>B<, int>I< in_fd>B<, off_t *>I<offset>B<, "
3669 "size_t>I< count>B<);>"
3670 msgstr ""
3671 "B<ssize_t sendfile(int>I< out_fd>B<, int>I< in_fd>B<, off_t *>I<offset>B<, "
3672 "size_t>I< count>B<);>"
3673
3674 #. type: Plain text
3675 #: build/C/man2/sendfile.2:53
3676 msgid ""
3677 "B<sendfile>()  copies data between one file descriptor and another.  Because "
3678 "this copying is done within the kernel, B<sendfile>()  is more efficient "
3679 "than the combination of B<read>(2)  and B<write>(2), which would require "
3680 "transferring data to and from user space."
3681 msgstr ""
3682 "B<sendfile>()  は、あるファイル・ディスクリプタから別の ファイル・ディスクリ"
3683 "プタへのデータのコピーを行う。 このコピーはカーネル内で行われるので、 "
3684 "B<sendfile>()  は、 B<read>(2)  と B<write>(2)  を組み合わせるよりも効率がよ"
3685 "い。 B<read>(2)  や B<write>(2)  ではユーザ空間との間でデータの転送が必要とな"
3686 "るからである。"
3687
3688 #. type: Plain text
3689 #: build/C/man2/sendfile.2:58
3690 msgid ""
3691 "I<in_fd> should be a file descriptor opened for reading and I<out_fd> should "
3692 "be a descriptor opened for writing."
3693 msgstr ""
3694 "I<in_fd> は読み込みのためにオープンされたファイル・ディスクリプタ、 "
3695 "I<out_fd> は書き込みのためにオープンされたディスクリプタでなければならない。"
3696
3697 #. type: Plain text
3698 #: build/C/man2/sendfile.2:79
3699 msgid ""
3700 "If I<offset> is not NULL, then it points to a variable holding the file "
3701 "offset from which B<sendfile>()  will start reading data from I<in_fd>.  "
3702 "When B<sendfile>()  returns, this variable will be set to the offset of the "
3703 "byte following the last byte that was read.  If I<offset> is not NULL, then "
3704 "B<sendfile>()  does not modify the current file offset of I<in_fd>; "
3705 "otherwise the current file offset is adjusted to reflect the number of bytes "
3706 "read from I<in_fd>."
3707 msgstr ""
3708 "I<offset> が NULL でない場合、 I<offset> は B<sendfile>()  が I<in_fd> のどこ"
3709 "からデータを読み始めるかを示すファイル・オフセットを保持する変数への ポインタ"
3710 "である。 B<sendfile>()  は復帰する時、この変数に最後に読み込んだバイトの 次の"
3711 "バイトのオフセットを書き込む。 I<offset> が NULL でない場合、 B<sendfile>()  "
3712 "は I<in_fd> のファイル・オフセットの現在値を変更しない。 NULL の場合は、ファ"
3713 "イル・オフセットの現在値を I<in_fd> から読み込んだバイト数を反映した位置に調"
3714 "整する。"
3715
3716 #. type: Plain text
3717 #: build/C/man2/sendfile.2:86
3718 msgid ""
3719 "If I<offset> is NULL, then data will be read from I<in_fd> starting at the "
3720 "current file offset, and the file offset will be updated by the call."
3721 msgstr ""
3722 "I<offset> が NULL の場合、データは I<in_fd> の現在のファイル・オフセットから"
3723 "読み出され、 ファイル・オフセットはこの呼び出しで更新される。"
3724
3725 #. type: Plain text
3726 #: build/C/man2/sendfile.2:89
3727 msgid "I<count> is the number of bytes to copy between the file descriptors."
3728 msgstr "I<count> は、ファイル・ディスクリプタ間でコピーするバイト数である。"
3729
3730 #. type: Plain text
3731 #: build/C/man2/sendfile.2:96
3732 #, fuzzy
3733 #| msgid ""
3734 #| "Presently (Linux 2.6.9): I<in_fd>, must correspond to a file which "
3735 #| "supports B<mmap>(2)-like operations (i.e., it cannot be a socket); and "
3736 #| "I<out_fd> must refer to a socket."
3737 msgid ""
3738 "The I<in_fd> argument must correspond to a file which supports B<mmap>(2)-"
3739 "like operations (i.e., it cannot be a socket)."
3740 msgstr ""
3741 "今のところ (Linux 2.6.9 では)、 I<in_fd> は B<mmap>(2)  風の操作ができるファ"
3742 "イルを指していなければならない (ソケットを指してはならない)。また、 "
3743 "I<out_fd> はソケットを指していなければならない。"
3744
3745 #. type: Plain text
3746 #: build/C/man2/sendfile.2:104
3747 #, fuzzy
3748 #| msgid ""
3749 #| "In Linux 2.4 and earlier, I<out_fd> could refer to a regular file, and "
3750 #| "B<sendfile>()  changed the current offset of that file."
3751 msgid ""
3752 "In Linux kernels before 2.6.33, I<out_fd> must refer to a socket.  Since "
3753 "Linux 2.6.33 it can be any file.  If it is a regular file, then B<sendfile>"
3754 "()  changes the file offset appropriately."
3755 msgstr ""
3756 "Linux 2.4 とそれ以前のバージョンでは、 I<out_fd> は通常のファイルを参照で"
3757 "き、 B<sendfile>()  はそのファイルのオフセットの現在値を変更していた。"
3758
3759 #. type: Plain text
3760 #: build/C/man2/sendfile.2:111
3761 msgid ""
3762 "If the transfer was successful, the number of bytes written to I<out_fd> is "
3763 "returned.  On error, -1 is returned, and I<errno> is set appropriately."
3764 msgstr ""
3765 "転送に成功した場合、 I<out_fd> に書き込まれたバイト数を返す。エラーの場"
3766 "合、-1 を返し、 I<errno> に適切な値を設定する。"
3767
3768 #. type: Plain text
3769 #: build/C/man2/sendfile.2:117
3770 msgid ""
3771 "Nonblocking I/O has been selected using B<O_NONBLOCK> and the write would "
3772 "block."
3773 msgstr ""
3774 "B<O_NONBLOCK> を用いて非ブロック I/O が選択されたが、書き込みがブロックされ"
3775 "た。"
3776
3777 #. type: TP
3778 #: build/C/man2/sendfile.2:117 build/C/man2/splice.2:143
3779 #: build/C/man2/vmsplice.2:123
3780 #, no-wrap
3781 msgid "B<EBADF>"
3782 msgstr "B<EBADF>"
3783
3784 #. type: Plain text
3785 #: build/C/man2/sendfile.2:121
3786 msgid ""
3787 "The input file was not opened for reading or the output file was not opened "
3788 "for writing."
3789 msgstr ""
3790 "入力ファイルが読み込みのためにオープンされていないか、 出力ファイルが書き込み"
3791 "のためにオープンされていない。"
3792
3793 #. type: Plain text
3794 #: build/C/man2/sendfile.2:124
3795 msgid "Bad address."
3796 msgstr "アドレスがおかしい。"
3797
3798 #. type: Plain text
3799 #: build/C/man2/sendfile.2:130
3800 msgid ""
3801 "Descriptor is not valid or locked, or an B<mmap>(2)-like operation is not "
3802 "available for I<in_fd>."
3803 msgstr ""
3804 "ディスクリプタが有効でないか、ロックされている。もしくは B<mmap>(2)  風の操作"
3805 "が I<in_fd> では利用できない。"
3806
3807 #. type: Plain text
3808 #: build/C/man2/sendfile.2:134
3809 msgid "Unspecified error while reading from I<in_fd>."
3810 msgstr "I<in_fd> から読み込んでいるうちに予期しないエラーが起こった。"
3811
3812 #. type: Plain text
3813 #: build/C/man2/sendfile.2:138
3814 msgid "Insufficient memory to read from I<in_fd>."
3815 msgstr "I<in_fd> から読み込むための十分なメモリがない。"
3816
3817 #. type: Plain text
3818 #: build/C/man2/sendfile.2:144
3819 msgid ""
3820 "B<sendfile>()  is a new feature in Linux 2.2.  The include file I<E<lt>sys/"
3821 "sendfile.hE<gt>> is present since glibc 2.1."
3822 msgstr ""
3823 "B<sendfile> は Linux 2.2 の新しい機能である。 インクルードファイル "
3824 "I<E<lt>sys/sendfile.hE<gt>> は glibc 2.1 から存在している。"
3825
3826 #. type: Plain text
3827 #: build/C/man2/sendfile.2:146
3828 msgid "Not specified in POSIX.1-2001, or other standards."
3829 msgstr "POSIX.1-2001 や他の標準では規定されていない。"
3830
3831 #. type: Plain text
3832 #: build/C/man2/sendfile.2:151
3833 msgid ""
3834 "Other UNIX systems implement B<sendfile>()  with different semantics and "
3835 "prototypes.  It should not be used in portable programs."
3836 msgstr ""
3837 "他の UNIX システムでは、異なった方式やプロトタイプで B<sendfile>()  を実装し"
3838 "ている。移植性を考慮したプログラムでは使用すべきではない。"
3839
3840 #. type: Plain text
3841 #: build/C/man2/sendfile.2:161
3842 msgid ""
3843 "If you plan to use B<sendfile>()  for sending files to a TCP socket, but "
3844 "need to send some header data in front of the file contents, you will find "
3845 "it useful to employ the B<TCP_CORK> option, described in B<tcp>(7), to "
3846 "minimize the number of packets and to tune performance."
3847 msgstr ""
3848 "B<sendfile>()  を使って TCP ソケットにファイルを送ろうとしていて、 ファイルの"
3849 "内容の前にヘッダ・データを付け加える必要がある場合は、 パケット数を最小にして"
3850 "性能を上げるために B<tcp>(7)  に記述されている B<TCP_CORK> オプションを使うと"
3851 "いいだろう。"
3852
3853 #. type: Plain text
3854 #: build/C/man2/sendfile.2:167
3855 #, fuzzy
3856 #| msgid ""
3857 #| "In Linux 2.4 and earlier, I<out_fd> could refer to a regular file, and "
3858 #| "B<sendfile>()  changed the current offset of that file."
3859 msgid ""
3860 "In Linux 2.4 and earlier, I<out_fd> could also refer to a regular file, and "
3861 "B<sendfile>()  changed the current offset of that file."
3862 msgstr ""
3863 "Linux 2.4 とそれ以前のバージョンでは、 I<out_fd> は通常のファイルを参照で"
3864 "き、 B<sendfile>()  はそのファイルのオフセットの現在値を変更していた。"
3865
3866 #. type: Plain text
3867 #: build/C/man2/sendfile.2:179
3868 msgid ""
3869 "The original Linux B<sendfile>()  system call was not designed to handle "
3870 "large file offsets.  Consequently, Linux 2.4 added B<sendfile64>(), with a "
3871 "wider type for the I<offset> argument.  The glibc B<sendfile>()  wrapper "
3872 "function transparently deals with the kernel differences."
3873 msgstr ""
3874
3875 #. type: Plain text
3876 #: build/C/man2/sendfile.2:188
3877 msgid ""
3878 "Applications may wish to fall back to B<read>(2)/B<write>(2)  in the case "
3879 "where B<sendfile>()  fails with B<EINVAL> or B<ENOSYS>."
3880 msgstr ""
3881 "B<sendfile>()  が B<EINVAL> や B<ENOSYS> で失敗するような場合は、 アプリケー"
3882 "ションは B<read>(2)/B<write>(2)  に戻すことを考えてもよいかもしれない。"
3883
3884 #. type: Plain text
3885 #: build/C/man2/sendfile.2:193
3886 msgid ""
3887 "The Linux-specific B<splice>(2)  call supports transferring data between "
3888 "arbitrary files (e.g., a pair of sockets)."
3889 msgstr ""
3890
3891 #. type: Plain text
3892 #: build/C/man2/sendfile.2:198
3893 msgid "B<mmap>(2), B<open>(2), B<socket>(2), B<splice>(2)"
3894 msgstr "B<mmap>(2), B<open>(2), B<socket>(2), B<splice>(2)"
3895
3896 #. type: TH
3897 #: build/C/man2/set_tid_address.2:23
3898 #, no-wrap
3899 msgid "SET_TID_ADDRESS"
3900 msgstr "SET_TID_ADDRESS"
3901
3902 #. type: TH
3903 #: build/C/man2/set_tid_address.2:23
3904 #, no-wrap
3905 msgid "2004-09-10"
3906 msgstr "2004-09-10"
3907
3908 #. type: Plain text
3909 #: build/C/man2/set_tid_address.2:26
3910 msgid "set_tid_address - set pointer to thread ID"
3911 msgstr "set_tid_address - スレッド ID へのポインタを設定する"
3912
3913 #. type: Plain text
3914 #: build/C/man2/set_tid_address.2:29
3915 #, no-wrap
3916 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
3917 msgstr "B<#include E<lt>linux/unistd.hE<gt>>\n"
3918
3919 #. type: Plain text
3920 #: build/C/man2/set_tid_address.2:31
3921 #, no-wrap
3922 msgid "B<long set_tid_address(int *>I<tidptr>B<);>\n"
3923 msgstr "B<long set_tid_address(int *>I<tidptr>B<);>\n"
3924
3925 #. type: Plain text
3926 #: build/C/man2/set_tid_address.2:38
3927 msgid ""
3928 "The kernel keeps for each process two values called I<set_child_tid> and "
3929 "I<clear_child_tid> that are NULL by default."
3930 msgstr ""
3931 "カーネルは各プロセスについて I<set_child_tid> と I<clear_child_tid> という 2 "
3932 "つの値を保持する。 これらはデフォルトでは NULL である。"
3933
3934 #. type: SS
3935 #: build/C/man2/set_tid_address.2:38
3936 #, no-wrap
3937 msgid "set_child_tid"
3938 msgstr "set_child_tid"
3939
3940 #. type: Plain text
3941 #: build/C/man2/set_tid_address.2:48
3942 msgid ""
3943 "If a process is started using B<clone>(2)  with the B<CLONE_CHILD_SETTID> "
3944 "flag, I<set_child_tid> is set to I<child_tidptr>, the fifth argument of that "
3945 "system call."
3946 msgstr ""
3947 "プロセスが B<CLONE_CHILD_SETTID> フラグを指定した B<clone>(2)  によって開始さ"
3948 "れた場合、 I<set_child_tid> は I<child_tidptr> に設定される。 これは B<clone>"
3949 "(2)  のシステムコールの 5 番目の引き数である。"
3950
3951 #. type: Plain text
3952 #: build/C/man2/set_tid_address.2:53
3953 msgid ""
3954 "When I<set_child_tid> is set, the very first thing the new process does is "
3955 "writing its PID at this address."
3956 msgstr ""
3957 "I<set_child_tid> が設定された場合、一番最初に新しいプロセスが行うことは、 こ"
3958 "のアドレスに自身の PID を書き込むことである。"
3959
3960 #. type: SS
3961 #: build/C/man2/set_tid_address.2:53
3962 #, no-wrap
3963 msgid "clear_child_tid"
3964 msgstr "clear_child_tid"
3965
3966 #. type: Plain text
3967 #: build/C/man2/set_tid_address.2:63
3968 msgid ""
3969 "If a process is started using B<clone>(2)  with the B<CLONE_CHILD_CLEARTID> "
3970 "flag, I<clear_child_tid> is set to I<child_tidptr>, the fifth argument of "
3971 "that system call."
3972 msgstr ""
3973 "プロセスが B<CLONE_CHILD_CLEARTID> フラグを指定した B<clone>(2)  によって開始"
3974 "された場合、 I<clear_child_tid> は I<child_tidptr> に設定される。 これは "
3975 "B<clone>(2)  のシステムコールの 5 番目の引き数である。"
3976
3977 #. type: Plain text
3978 #: build/C/man2/set_tid_address.2:70
3979 msgid ""
3980 "The system call B<set_tid_address>()  sets the I<clear_child_tid> value for "
3981 "the calling process to I<tidptr>."
3982 msgstr ""
3983 "システムコール B<set_tid_address>()  は呼び出し元プロセスの "
3984 "I<clear_child_tid> の値を I<tidptr> に設定する。"
3985
3986 #. type: Plain text
3987 #: build/C/man2/set_tid_address.2:80
3988 msgid ""
3989 "When I<clear_child_tid> is set, and the process exits, and the process was "
3990 "sharing memory with other processes or threads, then 0 is written at this "
3991 "address, and a I<futex(child_tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);> call is "
3992 "done.  (That is, wake a single process waiting on this futex.)  Errors are "
3993 "ignored."
3994 msgstr ""
3995 "I<clear_child_tid> が設定されているときにプロセスが終了すると、 そのプロセス"
3996 "は他のプロセスまたはスレッドとメモリを共有しているので、 このアドレスに 0 が"
3997 "書き込まれ、 I<futex(child_tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);> の呼び出し"
3998 "が実行される (つまり、この futex で待っている 1 つのプロセスを起こす "
3999 "(wake))。 エラーは無視される。"
4000
4001 #. type: Plain text
4002 #: build/C/man2/set_tid_address.2:83
4003 msgid "B<set_tid_address>()  always returns the PID of the calling process."
4004 msgstr "B<set_tid_address>()  は常に現在のプロセスの PID を返す。"
4005
4006 #. type: Plain text
4007 #: build/C/man2/set_tid_address.2:86
4008 msgid "B<set_tid_address>()  always succeeds."
4009 msgstr "B<set_tid_address>()  は常に成功する。"
4010
4011 #. type: Plain text
4012 #: build/C/man2/set_tid_address.2:89
4013 msgid ""
4014 "This call is present since Linux 2.5.48.  Details as given here are valid "
4015 "since Linux 2.5.49."
4016 msgstr ""
4017 "この呼び出しは Linux 2.5.48 以降で存在する。 ここで書かれた詳細は Linux "
4018 "2.5.49 以降で有効である。"
4019
4020 #. type: Plain text
4021 #: build/C/man2/set_tid_address.2:94
4022 msgid "B<clone>(2), B<futex>(2)"
4023 msgstr "B<clone>(2), B<futex>(2)"
4024
4025 #. type: TH
4026 #: build/C/man2/splice.2:26
4027 #, no-wrap
4028 msgid "SPLICE"
4029 msgstr "SPLICE"
4030
4031 #. type: TH
4032 #: build/C/man2/splice.2:26 build/C/man2/tee.2:26 build/C/man2/vmsplice.2:26
4033 #, no-wrap
4034 msgid "2009-09-15"
4035 msgstr "2009-09-15"
4036
4037 #. type: Plain text
4038 #: build/C/man2/splice.2:29
4039 msgid "splice - splice data to/from a pipe"
4040 msgstr "splice - パイプとの間でデータを継ぎ合わせる"
4041
4042 #. type: Plain text
4043 #: build/C/man2/splice.2:33 build/C/man2/tee.2:33
4044 #, no-wrap
4045 msgid ""
4046 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
4047 "B<#include E<lt>fcntl.hE<gt>>\n"
4048 msgstr ""
4049 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
4050 "B<#include E<lt>fcntl.hE<gt>>\n"
4051
4052 #.  Return type was long before glibc 2.7
4053 #. type: Plain text
4054 #: build/C/man2/splice.2:38
4055 #, no-wrap
4056 msgid ""
4057 "B<ssize_t splice(int >I<fd_in>B<, loff_t *>I<off_in>B<, int >I<fd_out>B<,>\n"
4058 "B<               loff_t *>I<off_out>B<, size_t >I<len>B<, unsigned int >I<flags>B<);>\n"
4059 msgstr ""
4060 "B<ssize_t splice(int >I<fd_in>B<, loff_t *>I<off_in>B<, int >I<fd_out>B<,>\n"
4061 "B<               loff_t *>I<off_out>B<, size_t >I<len>B<, unsigned int >I<flags>B<);>\n"
4062
4063 #. type: Plain text
4064 #: build/C/man2/splice.2:50
4065 msgid ""
4066 "B<splice>()  moves data between two file descriptors without copying between "
4067 "kernel address space and user address space.  It transfers up to I<len> "
4068 "bytes of data from the file descriptor I<fd_in> to the file descriptor "
4069 "I<fd_out>, where one of the descriptors must refer to a pipe."
4070 msgstr ""
4071 "B<splice>()  は、カーネルアドレス空間とユーザアドレス空間との間のコピーを伴わ"
4072 "ずに、 2 つのファイルディスクリプタ間でデータの移動を行う。 ファイルディスク"
4073 "リプタ I<fd_in> からファイルディスクリプタ I<fd_out> へ最大 I<len> バイトを転"
4074 "送する。 2 つのファイルディスクリプタのうち一つは パイプを参照していなければ"
4075 "ならない。"
4076
4077 #. type: Plain text
4078 #: build/C/man2/splice.2:80
4079 msgid ""
4080 "If I<fd_in> refers to a pipe, then I<off_in> must be NULL.  If I<fd_in> does "
4081 "not refer to a pipe and I<off_in> is NULL, then bytes are read from I<fd_in> "
4082 "starting from the current file offset, and the current file offset is "
4083 "adjusted appropriately.  If I<fd_in> does not refer to a pipe and I<off_in> "
4084 "is not NULL, then I<off_in> must point to a buffer which specifies the "
4085 "starting offset from which bytes will be read from I<fd_in>; in this case, "
4086 "the current file offset of I<fd_in> is not changed.  Analogous statements "
4087 "apply for I<fd_out> and I<off_out>."
4088 msgstr ""
4089 "I<fd_in> がパイプを参照している場合、 I<off_in> は NULL でなければならない。 "
4090 "I<fd_in> がパイプを参照しておらず、 I<off_in> が NULL の場合、 I<fd_in> の現"
4091 "在のファイルオフセットから始まるバイトを読み出す。 現在のファイルオフセットは"
4092 "適切に調整される。 I<fd_in> がパイプを参照しておらず、 I<off_in> が NULL でな"
4093 "い場合、 I<off_in> は I<fd_in> からのデータ読み出しを開始する先頭オフセットを"
4094 "格納したバッファ へのポインタでなければならない。この場合、 I<fd_in> の現在の"
4095 "ファイルオフセットは変更されない。 I<fd_out> と I<off_out> に関しても同様であ"
4096 "る。"
4097
4098 #. type: Plain text
4099 #: build/C/man2/splice.2:85 build/C/man2/vmsplice.2:78
4100 msgid ""
4101 "The I<flags> argument is a bit mask that is composed by ORing together zero "
4102 "or more of the following values:"
4103 msgstr ""
4104 "I<flags> 引き数には、以下の値の 0 個以上をビット毎の論理和の形で指定する。"
4105
4106 #. type: TP
4107 #: build/C/man2/splice.2:85 build/C/man2/tee.2:62 build/C/man2/vmsplice.2:78
4108 #, no-wrap
4109 msgid "B<SPLICE_F_MOVE>"
4110 msgstr "B<SPLICE_F_MOVE>"
4111
4112 #. type: Plain text
4113 #: build/C/man2/splice.2:98
4114 msgid ""
4115 "Attempt to move pages instead of copying.  This is only a hint to the "
4116 "kernel: pages may still be copied if the kernel cannot move the pages from "
4117 "the pipe, or if the pipe buffers don't refer to full pages.  The initial "
4118 "implementation of this flag was buggy: therefore starting in Linux 2.6.21 it "
4119 "is a no-op (but is still permitted in a B<splice>()  call); in the future, a "
4120 "correct implementation may be restored."
4121 msgstr ""
4122 "ページのコピーでなく移動を試みる。 これはカーネルに対するヒントでしかない。 "
4123 "つまり、カーネルがパイプからページを移動できない場合や、 パイプバッファがペー"
4124 "ジ全部を参照していない場合は、 ページのコピーが行われることもある。 このフラ"
4125 "グの最初の実装にはバグがあった。そのため、 Linux 2.6.21 以降ではこのフラグの"
4126 "操作はできないようになっている (ただし、 B<splice>()  コールでこのフラグを指"
4127 "定することは今も認められている)。 将来、正しい実装が行われることだろう。"
4128
4129 #. type: TP
4130 #: build/C/man2/splice.2:98 build/C/man2/tee.2:68 build/C/man2/vmsplice.2:84
4131 #, no-wrap
4132 msgid "B<SPLICE_F_NONBLOCK>"
4133 msgstr "B<SPLICE_F_NONBLOCK>"
4134
4135 #. type: Plain text
4136 #: build/C/man2/splice.2:107
4137 msgid ""
4138 "Do not block on I/O.  This makes the splice pipe operations nonblocking, but "
4139 "B<splice>()  may nevertheless block because the file descriptors that are "
4140 "spliced to/from may block (unless they have the B<O_NONBLOCK> flag set)."
4141 msgstr ""
4142 "入出力時に停止 (block) しない。 このフラグを指定すると、 splice によるパイプ"
4143 "操作を非停止モード (nonblocking) で 行おうとするが、その場合でも B<splice>"
4144 "()  は停止することもある。なぜなら、データのやり取りを行う ファイルディスクリ"
4145 "プタは (B<O_NONBLOCK> フラグをセットされていない場合) 停止する可能性があるか"
4146 "らである。"
4147
4148 #. type: TP
4149 #: build/C/man2/splice.2:107 build/C/man2/tee.2:73 build/C/man2/vmsplice.2:91
4150 #, no-wrap
4151 msgid "B<SPLICE_F_MORE>"
4152 msgstr "B<SPLICE_F_MORE>"
4153
4154 #. type: Plain text
4155 #: build/C/man2/splice.2:121
4156 msgid ""
4157 "More data will be coming in a subsequent splice.  This is a helpful hint "
4158 "when the I<fd_out> refers to a socket (see also the description of "
4159 "B<MSG_MORE> in B<send>(2), and the description of B<TCP_CORK> in B<tcp>(7))"
4160 msgstr ""
4161 "この後の splice でさらに転送されるデータがあることを示す。 このフラグは "
4162 "I<fd_out> がソケットを参照している場合に有用なヒントとなる (B<send>(2)  の "
4163 "B<MSG_MORE> や B<tcp>(7)  の B<TCP_CORK> の説明も参照)。"
4164
4165 #. type: TP
4166 #: build/C/man2/splice.2:121 build/C/man2/tee.2:79 build/C/man2/vmsplice.2:97
4167 #, no-wrap
4168 msgid "B<SPLICE_F_GIFT>"
4169 msgstr "B<SPLICE_F_GIFT>"
4170
4171 #. type: Plain text
4172 #: build/C/man2/splice.2:127
4173 msgid "Unused for B<splice>(); see B<vmsplice>(2)."
4174 msgstr "B<splice>()  では使用しない。 B<vmsplice>(2)  参照。"
4175
4176 #. type: Plain text
4177 #: build/C/man2/splice.2:136
4178 msgid ""
4179 "Upon successful completion, B<splice>()  returns the number of bytes spliced "
4180 "to or from the pipe.  A return value of 0 means that there was no data to "
4181 "transfer, and it would not make sense to block, because there are no writers "
4182 "connected to the write end of the pipe referred to by I<fd_in>."
4183 msgstr ""
4184 "成功して完了すると、 B<splice>()  はパイプから出し入れしたバイト数を返す。 返"
4185 "り値 0 はデータの転送が行わなかったことを示す。 この場合、処理を停止 (block) "
4186 "しても無意味である。 なぜなら、 I<fd_in> が参照するパイプの書き込み側に接続さ"
4187 "れている者がいないからである。"
4188
4189 #. type: Plain text
4190 #: build/C/man2/splice.2:142
4191 msgid ""
4192 "On error, B<splice>()  returns -1 and I<errno> is set to indicate the error."
4193 msgstr ""
4194 "エラーの場合、 B<splice>()  は -1 を返し、 I<errno> にエラーを示す値を設定す"
4195 "る。"
4196
4197 #. type: Plain text
4198 #: build/C/man2/splice.2:147
4199 msgid ""
4200 "One or both file descriptors are not valid, or do not have proper read-write "
4201 "mode."
4202 msgstr ""
4203 "ファイルディスクリプタの一方または両方が有効ではない、 もしくは適切な read-"
4204 "write モードではない。"
4205
4206 #.  The append-mode error is given since 2.6.27; in earlier kernels,
4207 #.  splice() in append mode was broken
4208 #. type: Plain text
4209 #: build/C/man2/splice.2:155
4210 msgid ""
4211 "Target file system doesn't support splicing; target file is opened in append "
4212 "mode; neither of the descriptors refers to a pipe; or offset given for "
4213 "nonseekable device."
4214 msgstr ""
4215 "対象のファイルシステムが splice に対応していない、 または対象のファイルが追記"
4216 "モードでオープンされている、 またはディスクリプタのどちらもパイプを参照してい"
4217 "ない、 または seek できないデバイスに対してオフセットが指定された。"
4218
4219 #. type: Plain text
4220 #: build/C/man2/splice.2:158 build/C/man2/tee.2:114
4221 #: build/C/man2/vmsplice.2:138
4222 msgid "Out of memory."
4223 msgstr "メモリ不足。"
4224
4225 #. type: TP
4226 #: build/C/man2/splice.2:158
4227 #, no-wrap
4228 msgid "B<ESPIPE>"
4229 msgstr "B<ESPIPE>"
4230
4231 #. type: Plain text
4232 #: build/C/man2/splice.2:165
4233 msgid ""
4234 "Either I<off_in> or I<off_out> was not NULL, but the corresponding file "
4235 "descriptor refers to a pipe."
4236 msgstr ""
4237 "I<off_in> か I<off_out> のいずれかが NULL ではないが、対応するファイルディス"
4238 "クリプタが パイプを参照している。"
4239
4240 #. type: Plain text
4241 #: build/C/man2/splice.2:169
4242 msgid "The B<splice>()  system call first appeared in Linux 2.6.17."
4243 msgstr "B<splice>()  システムコールは Linux 2.6.17 で初めて登場した。"
4244
4245 #. type: Plain text
4246 #: build/C/man2/splice.2:181
4247 msgid ""
4248 "The three system calls B<splice>(), B<vmsplice>(2), and B<tee>(2), provide "
4249 "userspace programs with full control over an arbitrary kernel buffer, "
4250 "implemented within the kernel using the same type of buffer that is used for "
4251 "a pipe.  In overview, these system calls perform the following tasks:"
4252 msgstr ""
4253 "3 つのシステムコール (B<splice>(), B<vmsplice>(2), B<tee>(2))  を使うと、ユー"
4254 "ザ空間プログラムは任意のカーネルバッファに対する 完全な制御ができる。カーネル"
4255 "バッファは、パイプに使用されているのと 同種のバッファを使ってカーネル内に実装"
4256 "されている。 大まかにいうと、これらのシステムコールは以下の仕事を行う:"
4257
4258 #. type: TP
4259 #: build/C/man2/splice.2:181
4260 #, no-wrap
4261 msgid "B<splice>()"
4262 msgstr "B<splice>()"
4263
4264 #. type: Plain text
4265 #: build/C/man2/splice.2:185
4266 msgid ""
4267 "moves data from the buffer to an arbitrary file descriptor, or vice versa, "
4268 "or from one buffer to another."
4269 msgstr ""
4270 "バッファから任意のファイルディスクリプタや、その逆方向、 もしくはあるバッファ"
4271 "から別のバッファへの、データ移動を行う。"
4272
4273 #. type: TP
4274 #: build/C/man2/splice.2:185
4275 #, no-wrap
4276 msgid "B<tee>(2)"
4277 msgstr "B<tee>(2)"
4278
4279 #. type: Plain text
4280 #: build/C/man2/splice.2:188
4281 msgid "\"copies\" the data from one buffer to another."
4282 msgstr "あるバッファから別のバッファへのデータ「コピー」を行う。"
4283
4284 #. type: TP
4285 #: build/C/man2/splice.2:188
4286 #, no-wrap
4287 msgid "B<vmsplice>(2)"
4288 msgstr "B<vmsplice>(2)"
4289
4290 #. type: Plain text
4291 #: build/C/man2/splice.2:191
4292 msgid "\"copies\" data from user space into the buffer."
4293 msgstr "ユーザ空間からバッファへのデータ「コピー」を行う。"
4294
4295 #.  Linus: Now, imagine using the above in a media server, for example.
4296 #.  Let's say that a year or two has passed, so that the video drivers
4297 #.  have been updated to be able to do the splice thing, and what can
4298 #.  you do? You can:
4299 #.  - splice from the (mpeg or whatever - let's just assume that the video
4300 #.    input is either digital or does the encoding on its own - like they
4301 #.    pretty much all do) video input into a pipe (remember: no copies - the
4302 #.    video input will just DMA directly into memory, and splice will just
4303 #.    set up the pages in the pipe buffer)
4304 #.  - tee that pipe to split it up
4305 #.  - splice one end to a file (ie "save the compressed stream to disk")
4306 #.  - splice the other end to a real-time video decoder window for your
4307 #.    real-time viewing pleasure.
4308 #.  Linus: Now, the advantage of splice()/tee() is that you can
4309 #.  do zero-copy movement of data, and unlike sendfile() you can
4310 #.  do it on _arbitrary_ data (and, as shown by "tee()", it's more
4311 #.  than just sending the data to somebody else: you can duplicate
4312 #.  the data and choose to forward it to two or more different
4313 #.  users - for things like logging etc.).
4314 #. type: Plain text
4315 #: build/C/man2/splice.2:222
4316 msgid ""
4317 "Though we talk of copying, actual copies are generally avoided.  The kernel "
4318 "does this by implementing a pipe buffer as a set of reference-counted "
4319 "pointers to pages of kernel memory.  The kernel creates \"copies\" of pages "
4320 "in a buffer by creating new pointers (for the output buffer) referring to "
4321 "the pages, and increasing the reference counts for the pages: only pointers "
4322 "are copied, not the pages of the buffer."
4323 msgstr ""
4324 "ここではコピーの話をしているが、実際のコピーは一般的に回避される。 カーネル"
4325 "は、パイプ・バッファをカーネルメモリのページへのポインタ集合として 実装し、"
4326 "ページへの参照回数を管理することで、これを実現している。 カーネルは、対象とな"
4327 "るページを参照する (出力バッファ用の) ポインタを 新規に作成することでバッファ"
4328 "内のページの「コピー」を作成し、 そのページの参照回数を増やす。つまり、ポイン"
4329 "タだけがコピーされ、 バッファのページはコピーされない。"
4330
4331 #. type: SH
4332 #: build/C/man2/splice.2:222 build/C/man2/tee.2:129
4333 #, no-wrap
4334 msgid "EXAMPLE"
4335 msgstr "例"
4336
4337 #. type: Plain text
4338 #: build/C/man2/splice.2:225
4339 msgid "See B<tee>(2)."
4340 msgstr "B<tee>(2)  参照。"
4341
4342 #. type: Plain text
4343 #: build/C/man2/splice.2:229
4344 msgid "B<sendfile>(2), B<tee>(2), B<vmsplice>(2)"
4345 msgstr "B<sendfile>(2), B<tee>(2), B<vmsplice>(2)"
4346
4347 #. type: TH
4348 #: build/C/man2/tee.2:26
4349 #, no-wrap
4350 msgid "TEE"
4351 msgstr "TEE"
4352
4353 #. type: Plain text
4354 #: build/C/man2/tee.2:29
4355 msgid "tee - duplicating pipe content"
4356 msgstr "tee - パイプの中身を複製する"
4357
4358 #. type: Plain text
4359 #: build/C/man2/tee.2:36
4360 #, no-wrap
4361 msgid "B<ssize_t tee(int >I<fd_in>B<, int >I<fd_out>B<, size_t >I<len>B<, unsigned int >I<flags>B<);>\n"
4362 msgstr "B<ssize_t tee(int >I<fd_in>B<, int >I<fd_out>B<, size_t >I<len>B<, unsigned int >I<flags>B<);>\n"
4363
4364 #.  Example programs http://brick.kernel.dk/snaps
4365 #.  add a "tee(in, out1, out2)" system call that duplicates the pages
4366 #.  (again, incrementing their reference count, not copying the data) from
4367 #.  one pipe to two other pipes.
4368 #. type: Plain text
4369 #: build/C/man2/tee.2:56
4370 msgid ""
4371 "B<tee>()  duplicates up to I<len> bytes of data from the pipe referred to by "
4372 "the file descriptor I<fd_in> to the pipe referred to by the file descriptor "
4373 "I<fd_out>.  It does not consume the data that is duplicated from I<fd_in>; "
4374 "therefore, that data can be copied by a subsequent B<splice>(2)."
4375 msgstr ""
4376 "B<tee>()  は、ファイルディスクリプタ I<fd_in> が参照するパイプからファイル"
4377 "ディスクリプタ I<fd_out> が参照するパイプへ最大 I<len> バイトのデータを複製す"
4378 "る。 この操作では、複製されるデータは I<fd_in> からは消費されない。したがっ"
4379 "て、これらのデータをこの後の B<splice>(2)  でコピーすることができる。"
4380
4381 #. type: Plain text
4382 #: build/C/man2/tee.2:62
4383 msgid ""
4384 "I<flags> is a series of modifier flags, which share the name space with "
4385 "B<splice>(2)  and B<vmsplice>(2):"
4386 msgstr ""
4387 "I<flags> は一連の修飾フラグであり、 B<splice>(2)  や B<vmsplice>(2)  と共通の"
4388 "名前である。"
4389
4390 #. type: Plain text
4391 #: build/C/man2/tee.2:68
4392 msgid "Currently has no effect for B<tee>(); see B<splice>(2)."
4393 msgstr "現在のところ B<tee>()  では何の効果もない。 B<splice>(2)  参照。"
4394
4395 #.  Not used for vmsplice
4396 #.  May be in the future -- therefore EAGAIN
4397 #. type: Plain text
4398 #: build/C/man2/tee.2:73 build/C/man2/vmsplice.2:91
4399 msgid "Do not block on I/O; see B<splice>(2)  for further details."
4400 msgstr "入出力で停止 (block) しない。詳細は B<splice>(2)  参照。"
4401
4402 #. type: Plain text
4403 #: build/C/man2/tee.2:79
4404 msgid ""
4405 "Currently has no effect for B<tee>(), but may be implemented in the future; "
4406 "see B<splice>(2)."
4407 msgstr ""
4408 "現在のところ B<tee>()  では何の効果もないが、将来的には実装される可能性があ"
4409 "る。 B<splice>(2)  参照。"
4410
4411 #. type: Plain text
4412 #: build/C/man2/tee.2:85
4413 msgid "Unused for B<tee>(); see B<vmsplice>(2)."
4414 msgstr "B<tee>()  では未使用。 B<vmsplice>(2)  参照。"
4415
4416 #. type: Plain text
4417 #: build/C/man2/tee.2:94
4418 msgid ""
4419 "Upon successful completion, B<tee>()  returns the number of bytes that were "
4420 "duplicated between the input and output.  A return value of 0 means that "
4421 "there was no data to transfer, and it would not make sense to block, because "
4422 "there are no writers connected to the write end of the pipe referred to by "
4423 "I<fd_in>."
4424 msgstr ""
4425 "成功して完了すると、 B<tee>()  は入出力間で複製されたバイト数を返す。 返り値 "
4426 "0 はデータの転送が行われなかったことを示す。 この場合、処理を停止 (block) し"
4427 "ても無意味である。 なぜなら、 I<fd_in> が参照するパイプの書き込み側に接続され"
4428 "ている者がいないからである。"
4429
4430 #. type: Plain text
4431 #: build/C/man2/tee.2:100
4432 msgid ""
4433 "On error, B<tee>()  returns -1 and I<errno> is set to indicate the error."
4434 msgstr ""
4435 "エラーの場合、 B<tee>()  は -1 を返し、 I<errno> にエラーを示す値を設定する。"
4436
4437 #. type: Plain text
4438 #: build/C/man2/tee.2:111
4439 msgid ""
4440 "I<fd_in> or I<fd_out> does not refer to a pipe; or I<fd_in> and I<fd_out> "
4441 "refer to the same pipe."
4442 msgstr ""
4443 "I<fd_in> と I<fd_out> のどちらかがパイプを参照していない。もしくは I<fd_in> "
4444 "と I<fd_out> が同じパイプを参照している。"
4445
4446 #. type: Plain text
4447 #: build/C/man2/tee.2:118
4448 msgid "The B<tee>()  system call first appeared in Linux 2.6.17."
4449 msgstr "B<tee>()  システムコールは Linux 2.6.17 で初めて登場した。"
4450
4451 #. type: Plain text
4452 #: build/C/man2/tee.2:129
4453 msgid ""
4454 "Conceptually, B<tee>()  copies the data between the two pipes.  In reality "
4455 "no real data copying takes place though: under the covers, B<tee>()  assigns "
4456 "data in the output by merely grabbing a reference to the input."
4457 msgstr ""
4458 "概念としては、 B<tee>()  は二つのパイプ間でデータのコピーを行う。 しかし、実"
4459 "際には実データのコピーは行われない。 内部では、 B<tee>()  は入力側に対する参"
4460 "照だけを作成することで出力側にデータを 追加する。"
4461
4462 #. type: Plain text
4463 #: build/C/man2/tee.2:135
4464 msgid ""
4465 "The following example implements a basic B<tee>(1)  program using the B<tee>"
4466 "()  system call."
4467 msgstr ""
4468 "以下の例は、 B<tee>()  システムコールを使って、 基本的な B<tee>(1)  プログラ"
4469 "ムを実装したものである。"
4470
4471 #. type: Plain text
4472 #: build/C/man2/tee.2:144
4473 #, no-wrap
4474 msgid ""
4475 "#define _GNU_SOURCE\n"
4476 "#include E<lt>fcntl.hE<gt>\n"
4477 "#include E<lt>stdio.hE<gt>\n"
4478 "#include E<lt>stdlib.hE<gt>\n"
4479 "#include E<lt>unistd.hE<gt>\n"
4480 "#include E<lt>errno.hE<gt>\n"
4481 "#include E<lt>limits.hE<gt>\n"
4482 msgstr ""
4483 "#define _GNU_SOURCE\n"
4484 "#include E<lt>fcntl.hE<gt>\n"
4485 "#include E<lt>stdio.hE<gt>\n"
4486 "#include E<lt>stdlib.hE<gt>\n"
4487 "#include E<lt>unistd.hE<gt>\n"
4488 "#include E<lt>errno.hE<gt>\n"
4489 "#include E<lt>limits.hE<gt>\n"
4490
4491 #. type: Plain text
4492 #: build/C/man2/tee.2:150
4493 #, no-wrap
4494 msgid ""
4495 "int\n"
4496 "main(int argc, char *argv[])\n"
4497 "{\n"
4498 "    int fd;\n"
4499 "    int len, slen;\n"
4500 msgstr ""
4501 "int\n"
4502 "main(int argc, char *argv[])\n"
4503 "{\n"
4504 "    int fd;\n"
4505 "    int len, slen;\n"
4506
4507 #. type: Plain text
4508 #: build/C/man2/tee.2:155
4509 #, no-wrap
4510 msgid ""
4511 "    if (argc != 2) {\n"
4512 "        fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
4513 "        exit(EXIT_FAILURE);\n"
4514 "    }\n"
4515 msgstr ""
4516 "    if (argc != 2) {\n"
4517 "        fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
4518 "        exit(EXIT_FAILURE);\n"
4519 "    }\n"
4520
4521 #. type: Plain text
4522 #: build/C/man2/tee.2:161
4523 #, no-wrap
4524 msgid ""
4525 "    fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);\n"
4526 "    if (fd == -1) {\n"
4527 "        perror(\"open\");\n"
4528 "        exit(EXIT_FAILURE);\n"
4529 "    }\n"
4530 msgstr ""
4531 "    fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);\n"
4532 "    if (fd == -1) {\n"
4533 "        perror(\"open\");\n"
4534 "        exit(EXIT_FAILURE);\n"
4535 "    }\n"
4536
4537 #. type: Plain text
4538 #: build/C/man2/tee.2:168
4539 #, no-wrap
4540 msgid ""
4541 "    do {\n"
4542 "        /*\n"
4543 "         * tee stdin to stdout.\n"
4544 "         */\n"
4545 "        len = tee(STDIN_FILENO, STDOUT_FILENO,\n"
4546 "                  INT_MAX, SPLICE_F_NONBLOCK);\n"
4547 msgstr ""
4548 "    do {\n"
4549 "        /*\n"
4550 "         * tee stdin to stdout.\n"
4551 "         */\n"
4552 "        len = tee(STDIN_FILENO, STDOUT_FILENO,\n"
4553 "                  INT_MAX, SPLICE_F_NONBLOCK);\n"
4554
4555 #. type: Plain text
4556 #: build/C/man2/tee.2:177
4557 #, no-wrap
4558 msgid ""
4559 "        if (len E<lt> 0) {\n"
4560 "            if (errno == EAGAIN)\n"
4561 "                continue;\n"
4562 "            perror(\"tee\");\n"
4563 "            exit(EXIT_FAILURE);\n"
4564 "        } else\n"
4565 "            if (len == 0)\n"
4566 "                break;\n"
4567 msgstr ""
4568 "        if (len E<lt> 0) {\n"
4569 "            if (errno == EAGAIN)\n"
4570 "                continue;\n"
4571 "            perror(\"tee\");\n"
4572 "            exit(EXIT_FAILURE);\n"
4573 "        } else\n"
4574 "            if (len == 0)\n"
4575 "                break;\n"
4576
4577 #. type: Plain text
4578 #: build/C/man2/tee.2:191
4579 #, no-wrap
4580 msgid ""
4581 "        /*\n"
4582 "         * Consume stdin by splicing it to a file.\n"
4583 "         */\n"
4584 "        while (len E<gt> 0) {\n"
4585 "            slen = splice(STDIN_FILENO, NULL, fd, NULL,\n"
4586 "                          len, SPLICE_F_MOVE);\n"
4587 "            if (slen E<lt> 0) {\n"
4588 "                perror(\"splice\");\n"
4589 "                break;\n"
4590 "            }\n"
4591 "            len -= slen;\n"
4592 "        }\n"
4593 "    } while (1);\n"
4594 msgstr ""
4595 "        /*\n"
4596 "         * Consume stdin by splicing it to a file.\n"
4597 "         */\n"
4598 "        while (len E<gt> 0) {\n"
4599 "            slen = splice(STDIN_FILENO, NULL, fd, NULL,\n"
4600 "                          len, SPLICE_F_MOVE);\n"
4601 "            if (slen E<lt> 0) {\n"
4602 "                perror(\"splice\");\n"
4603 "                break;\n"
4604 "            }\n"
4605 "            len -= slen;\n"
4606 "        }\n"
4607 "    } while (1);\n"
4608
4609 #. type: Plain text
4610 #: build/C/man2/tee.2:195
4611 #, no-wrap
4612 msgid ""
4613 "    close(fd);\n"
4614 "    exit(EXIT_SUCCESS);\n"
4615 "}\n"
4616 msgstr ""
4617 "    close(fd);\n"
4618 "    exit(EXIT_SUCCESS);\n"
4619 "}\n"
4620
4621 #. type: Plain text
4622 #: build/C/man2/tee.2:199
4623 msgid "B<splice>(2), B<vmsplice>(2)"
4624 msgstr "B<splice>(2), B<vmsplice>(2)"
4625
4626 #. type: TH
4627 #: build/C/man2/vm86.2:26
4628 #, no-wrap
4629 msgid "VM86"
4630 msgstr "VM86"
4631
4632 #. type: TH
4633 #: build/C/man2/vm86.2:26
4634 #, no-wrap
4635 msgid "2009-02-20"
4636 msgstr "2009-02-20"
4637
4638 #. type: Plain text
4639 #: build/C/man2/vm86.2:29
4640 msgid "vm86old, vm86 - enter virtual 8086 mode"
4641 msgstr "vm86old, vm86 - 仮想 8086 モードへ移行する"
4642
4643 #. type: Plain text
4644 #: build/C/man2/vm86.2:31
4645 msgid "B<#include E<lt>sys/vm86.hE<gt>>"
4646 msgstr "B<#include E<lt>sys/vm86.hE<gt>>"
4647
4648 #. type: Plain text
4649 #: build/C/man2/vm86.2:33
4650 msgid "B<int vm86old(struct vm86_struct *>I<info>B<);>"
4651 msgstr "B<int vm86old(struct vm86_struct *>I<info>B<);>"
4652
4653 #. type: Plain text
4654 #: build/C/man2/vm86.2:35
4655 msgid "B<int vm86(unsigned long >I<fn>B<, struct vm86plus_struct *>I<v86>B<);>"
4656 msgstr ""
4657 "B<int vm86(unsigned long >I<fn>B<, struct vm86plus_struct *>I<v86>B<);>"
4658
4659 #. type: Plain text
4660 #: build/C/man2/vm86.2:46
4661 msgid ""
4662 "The system call B<vm86>()  was introduced in Linux 0.97p2.  In Linux 2.1.15 "
4663 "and 2.0.28 it was renamed to B<vm86old>(), and a new B<vm86>()  was "
4664 "introduced.  The definition of I<struct vm86_struct> was changed in 1.1.8 "
4665 "and 1.1.9."
4666 msgstr ""
4667 "B<vm86>()  システムコールは Linux 0.97p2 で導入された。 これは Linux 2.1.15 "
4668 "と 2.0.28 で B<vm86old>()  に名前が変更され、 新しい B<vm86>()  が導入され"
4669 "た。 I<struct vm86_struct> の定義は 1.1.8 と 1.1.9 で変更された。"
4670
4671 #. type: Plain text
4672 #: build/C/man2/vm86.2:50
4673 msgid ""
4674 "These calls cause the process to enter VM86 mode (virtual-8086 in Intel "
4675 "literature), and are used by B<dosemu>."
4676 msgstr ""
4677 "これらのコールによってプロセスは VM86 モード (Intel の文書では仮想 8086 モー"
4678 "ド) へと移行する。 これらのコールは B<dosemu> で使用される。"
4679
4680 #. type: Plain text
4681 #: build/C/man2/vm86.2:52
4682 msgid "VM86 mode is an emulation of real mode within a protected mode task."
4683 msgstr ""
4684 "VM86 モードはプロテクトモードタスクにおける リアルモードのエミュレーションで"
4685 "ある。"
4686
4687 #. type: Plain text
4688 #: build/C/man2/vm86.2:62
4689 msgid ""
4690 "This return value is specific to i386 and indicates a problem with getting "
4691 "userspace data."
4692 msgstr ""
4693 "この返り値は i386 固有のものであり、 ユーザー空間のデータを取得する際に問題が"
4694 "あったことを示す。"
4695
4696 #. type: Plain text
4697 #: build/C/man2/vm86.2:66
4698 msgid ""
4699 "This return value indicates the call is not implemented on the present "
4700 "architecture."
4701 msgstr ""
4702 "この返り値は、このコールが現在のアーキテクチャで実装されていないことを示す。"
4703
4704 #. type: Plain text
4705 #: build/C/man2/vm86.2:71
4706 msgid ""
4707 "Saved kernel stack exists.  (This is a kernel sanity check; the saved stack "
4708 "should only exist within vm86 mode itself.)"
4709 msgstr ""
4710 "保存されたカーネルスタックが既に存在している。(これはカーネルが通常の 状態で"
4711 "あるかをチェックしている。保存されたスタックは vm86 モードで しか存在しな"
4712 "い。)"
4713
4714 #. type: Plain text
4715 #: build/C/man2/vm86.2:74
4716 msgid ""
4717 "This call is specific to Linux on 32-bit Intel processors, and should not be "
4718 "used in programs intended to be portable."
4719 msgstr ""
4720 "この関数は 32 ビット Intel プロセッサ上の Linux 特有の関数であり、 移植を意図"
4721 "したプログラムでは使用すべきでない。"
4722
4723 #. type: TH
4724 #: build/C/man2/vmsplice.2:26
4725 #, no-wrap
4726 msgid "VMSPLICE"
4727 msgstr "VMSPLICE"
4728
4729 #. type: Plain text
4730 #: build/C/man2/vmsplice.2:29
4731 msgid "vmsplice - splice user pages into a pipe"
4732 msgstr "vmsplice - ユーザ・ページをパイプに継ぎ合わせる"
4733
4734 #. type: Plain text
4735 #: build/C/man2/vmsplice.2:34
4736 #, no-wrap
4737 msgid ""
4738 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
4739 "B<#include E<lt>fcntl.hE<gt>>\n"
4740 "B<#include E<lt>sys/uio.hE<gt>>\n"
4741 msgstr ""
4742 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
4743 "B<#include E<lt>fcntl.hE<gt>>\n"
4744 "B<#include E<lt>sys/uio.hE<gt>>\n"
4745
4746 #. type: Plain text
4747 #: build/C/man2/vmsplice.2:37
4748 #, no-wrap
4749 msgid ""
4750 "B<ssize_t vmsplice(int >I<fd>B<, const struct iovec *>I<iov>B<,>\n"
4751 "B<                 unsigned long >I<nr_segs>B<, unsigned int >I<flags>B<);>\n"
4752 msgstr ""
4753 "B<ssize_t vmsplice(int >I<fd>B<, const struct iovec *>I<iov>B<,>\n"
4754 "B<                 unsigned long >I<nr_segs>B<, unsigned int >I<flags>B<);>\n"
4755
4756 #.  Linus: vmsplice() system call to basically do a "write to
4757 #.  the buffer", but using the reference counting and VM traversal
4758 #.  to actually fill the buffer. This means that the user needs to
4759 #.  be careful not to reuse the user-space buffer it spliced into
4760 #.  the kernel-space one (contrast this to "write()", which copies
4761 #.  the actual data, and you can thus reuse the buffer immediately
4762 #.  after a successful write), but that is often easy to do.
4763 #. type: Plain text
4764 #: build/C/man2/vmsplice.2:57
4765 msgid ""
4766 "The B<vmsplice>()  system call maps I<nr_segs> ranges of user memory "
4767 "described by I<iov> into a pipe.  The file descriptor I<fd> must refer to a "
4768 "pipe."
4769 msgstr ""
4770 "B<vmsplice>()  システムコールは、 I<iov> で指定されたユーザ・メモリの "
4771 "I<nr_segs> の範囲をパイプにマッピングする。 I<fd> はパイプを参照していなけれ"
4772 "ばならない。"
4773
4774 #. type: Plain text
4775 #: build/C/man2/vmsplice.2:64
4776 msgid ""
4777 "The pointer I<iov> points to an array of I<iovec> structures as defined in "
4778 "I<E<lt>sys/uio.hE<gt>>:"
4779 msgstr ""
4780 "ポインタ I<iov> は I<iovec> 構造体の配列を指す。 I<iovec> 構造体は "
4781 "I<E<lt>sys/uio.hE<gt>> で以下のように定義されている:"
4782
4783 #. type: Plain text
4784 #: build/C/man2/vmsplice.2:71
4785 #, no-wrap
4786 msgid ""
4787 "struct iovec {\n"
4788 "    void  *iov_base;            /* Starting address */\n"
4789 "    size_t iov_len;             /* Number of bytes */\n"
4790 "};\n"
4791 msgstr ""
4792 "struct iovec {\n"
4793 "    void  *iov_base;            /* 開始アドレス */\n"
4794 "    size_t iov_len;             /* バイト数 */\n"
4795 "};\n"
4796
4797 #. type: Plain text
4798 #: build/C/man2/vmsplice.2:84
4799 msgid "Unused for B<vmsplice>(); see B<splice>(2)."
4800 msgstr "B<vmsplice>()  では未使用。 B<splice>(2)  参照。"
4801
4802 #. type: Plain text
4803 #: build/C/man2/vmsplice.2:97
4804 msgid ""
4805 "Currently has no effect for B<vmsplice>(), but may be implemented in the "
4806 "future; see B<splice>(2)."
4807 msgstr ""
4808 "現在のところ B<vmsplice>()  では何の効果もないが、将来的には実装される可能性"
4809 "がある。 B<splice>(2)  参照。"
4810
4811 #.  FIXME Explain the following line in a little more detail:
4812 #.  .... if we expect to later SPLICE_F_MOVE to the cache.
4813 #. type: Plain text
4814 #: build/C/man2/vmsplice.2:113
4815 msgid ""
4816 "The user pages are a gift to the kernel.  The application may not modify "
4817 "this memory ever, or page cache and on-disk data may differ.  Gifting pages "
4818 "to the kernel means that a subsequent B<splice>(2)  B<SPLICE_F_MOVE> can "
4819 "successfully move the pages; if this flag is not specified, then a "
4820 "subsequent B<splice>(2)  B<SPLICE_F_MOVE> must copy the pages.  Data must "
4821 "also be properly page aligned, both in memory and length."
4822 msgstr ""
4823 "ユーザ・ページがカーネルへ渡すもの (gift) であることを示す。 アプリケーション"
4824 "はこのメモリを絶対に変更してはならない。 さもなければ、ページキャッシュとディ"
4825 "スク上のデータは 一致しなくなるだろう。 ページをカーネルに渡すと、この次の "
4826 "B<splice>(2)  B<SPLICE_F_MOVE> でそのページの移動を行うことができる。 このフ"
4827 "ラグが指定されなかった場合、この次の B<splice>(2)  B<SPLICE_F_MOVE> でその"
4828 "ページのコピーを行わなければならない。 データはメモリ上でページ境界にあってい"
4829 "なければならず、 長さもページ境界の倍数でなければならない。"
4830
4831 #. type: Plain text
4832 #: build/C/man2/vmsplice.2:122
4833 msgid ""
4834 "Upon successful completion, B<vmsplice>()  returns the number of bytes "
4835 "transferred to the pipe.  On error, B<vmsplice>()  returns -1 and I<errno> "
4836 "is set to indicate the error."
4837 msgstr ""
4838 "成功して完了すると、 B<vmsplice>()  はパイプに転送したバイト数を返す。 エラー"
4839 "の場合、 B<vmplice>()  は -1 を返し、 I<errno> をエラーを示す値に設定する。"
4840
4841 #. type: Plain text
4842 #: build/C/man2/vmsplice.2:127
4843 msgid "I<fd> either not valid, or doesn't refer to a pipe."
4844 msgstr "I<fd> が有効でない、もしくはパイプを参照していない。"
4845
4846 #. type: Plain text
4847 #: build/C/man2/vmsplice.2:135
4848 msgid ""
4849 "I<nr_segs> is 0 or greater than B<IOV_MAX>; or memory not aligned if "
4850 "B<SPLICE_F_GIFT> set."
4851 msgstr ""
4852 "I<nr_segs> が 0 もしくは B<IOV_MAX> よりも大きい。または B<SPLICE_F_GIFT> が"
4853 "設定されたがメモリがページ境界にあっていない。"
4854
4855 #. type: Plain text
4856 #: build/C/man2/vmsplice.2:142
4857 msgid "The B<vmsplice>()  system call first appeared in Linux 2.6.17."
4858 msgstr "B<vmsplice>()  システムコールは Linux 2.6.17 で初めて登場した。"
4859
4860 #. type: Plain text
4861 #: build/C/man2/vmsplice.2:153
4862 msgid ""
4863 "B<vmsplice>()  follows the other vectorized read/write type functions when "
4864 "it comes to limitations on number of segments being passed in.  This limit "
4865 "is B<IOV_MAX> as defined in I<E<lt>limits.hE<gt>>.  At the time of this "
4866 "writing, that limit is 1024."
4867 msgstr ""
4868 "指定されたセグメント数が上限に達した場合、 B<vmsplice>()  は他のベクトル形式"
4869 "の read/write を行う関数と同じ動作をする。 上限は B<IOV_MAX> であり、 "
4870 "I<E<lt>limits.hE<gt>> で定義されている。 このドキュメントを書いた時点での値"
4871 "は 1024 である。"
4872
4873 #. type: Plain text
4874 #: build/C/man2/vmsplice.2:156
4875 msgid "B<splice>(2), B<tee>(2)"
4876 msgstr "B<splice>(2), B<tee>(2)"
4877
4878 #~ msgid "B<#include E<lt>sys/quota.hE<gt>>\n"
4879 #~ msgstr "B<#include E<lt>sys/quota.hE<gt>>\n"
4880
4881 #~ msgid ""
4882 #~ "The second argument I<special> is the block special device these quota "
4883 #~ "apply to.  It must be mounted."
4884 #~ msgstr ""
4885 #~ "二番目の引き数 I<special> は quota を適用するデバイスのブロック・スペシャ"
4886 #~ "ル・ファイルである。 そのデバイスはマウントされていなくてはならない。"
4887
4888 #~ msgid ""
4889 #~ "The third argument I<id> is the user or group ID these quota apply to "
4890 #~ "(when relevant)."
4891 #~ msgstr ""
4892 #~ "三番目の引き数 I<id> には、(必要な場合に) quota を適用するユーザーもしくは"
4893 #~ "グループの ID を指定する。"
4894
4895 #~ msgid ""
4896 #~ "The fourth argument I<addr> is the address of a data structure, depending "
4897 #~ "on the command."
4898 #~ msgstr ""
4899 #~ "四番目の引き数 I<addr> には、コマンドごとに異ったデータ構造体のアドレスを"
4900 #~ "指定する。"
4901
4902 #~ msgid ""
4903 #~ "Enable quota.  The I<addr> argument is the pathname of the file "
4904 #~ "containing the quota for the file system."
4905 #~ msgstr ""
4906 #~ "quota を有効にする。 I<addr> 引き数には、そのファイル・システムの quota が"
4907 #~ "記録されているファイルの パス名を指定する。"
4908
4909 #~ msgid "Disable quota."
4910 #~ msgstr "quota を無効にする。"
4911
4912 #~ msgid "Set limits and current usage; I<addr> is as before."
4913 #~ msgstr "制限値と現在の使用量を設定する: I<addr> は同上。"
4914
4915 #~ msgid "Set limits; I<addr> is as before."
4916 #~ msgstr "制限値を設定する; I<addr> は同上。"
4917
4918 #~ msgid "B<Q_SETUSE>"
4919 #~ msgstr "B<Q_SETUSE>"
4920
4921 #~ msgid "Set usage."
4922 #~ msgstr "使用量を設定する。"
4923
4924 #~ msgid "Sync disk copy of a file system's quota."
4925 #~ msgstr "ファイル・システムの quota ファイルをディスクと同期させる。"
4926
4927 #~ msgid "Get collected stats."
4928 #~ msgstr "収集された統計を取得する。"
4929
4930 #~ msgid ""
4931 #~ "On success, B<quotactl>()  returns 0.  On error, -1 is returned, and "
4932 #~ "I<errno> is set appropriately."
4933 #~ msgstr ""
4934 #~ "B<quotactl>()  は、成功時には 0 を返す。エラー時は、-1 を返すとともに、 "
4935 #~ "I<errno> が適切な値に設定される。"
4936
4937 #~ msgid "B<Q_QUOTAON> was asked, but quotas were enabled already."
4938 #~ msgstr "B<Q_QUOTAON> の要求がなされたが、quota(s) は既に有効になっている。"
4939
4940 #~ msgid "Bad I<addr> value."
4941 #~ msgstr "I<addr> の値に誤りがある。"
4942
4943 #~ msgid ""
4944 #~ "I<type> is not a known quota type.  Or, I<special> could not be found."
4945 #~ msgstr ""
4946 #~ "I<type> が既知の quota の形式ではない。もしくは、 I<special> デバイスが見"
4947 #~ "付からなかった。"
4948
4949 #~ msgid "Cannot read or write the quota file."
4950 #~ msgstr "quota ファイルへの読み書きが出来ない。"
4951
4952 #~ msgid "B<EMFILE>"
4953 #~ msgstr "B<EMFILE>"
4954
4955 #~ msgid "Too many open files: cannot open quota file."
4956 #~ msgstr "ファイルをオープンしすぎている: quota ファイルをオープン出来ない。"
4957
4958 #~ msgid "I<special> cannot be found in the mount table."
4959 #~ msgstr "I<special> がマウント・テーブル内に見当たらない。"
4960
4961 #~ msgid "B<ENOPKG>"
4962 #~ msgstr "B<ENOPKG>"
4963
4964 #~ msgid "The kernel was compiled without quota support."
4965 #~ msgstr "quota を使用可にしてカーネルをコンパイルしていない。"
4966
4967 #~ msgid ""
4968 #~ "The process was not root (for the file system), and B<Q_GETQUOTA> was "
4969 #~ "asked for another I<id> than that of the process itself, or anything "
4970 #~ "other than B<Q_GETSTATS> or B<Q_SYNC> was asked."
4971 #~ msgstr ""
4972 #~ "プロセスが (そのファイル・システムの) root のものではなく、 かつプロセス自"
4973 #~ "身のものとは異なる I<id> に対して B<Q_GETQUOTA> 要求を行なった。 もしく"
4974 #~ "は、 B<Q_GETSTATS>, B<Q_SYNC> 以外の要求がなされた。"
4975
4976 #~ msgid ""
4977 #~ "B<Q_GETQUOTA> or B<Q_SETQUOTA> or B<Q_SETUSE> or B<Q_SETQLIM> was asked "
4978 #~ "for a file system that didn't have quota enabled."
4979 #~ msgstr ""
4980 #~ "quota が有効になっていないファイル・システムに対して B<Q_GETQUOTA>, "
4981 #~ "B<Q_SETQUOTA>, B<Q_SETUSE>, B<Q_SETQLIM> のいずれかの要求がなされた。"
4982
4983 #~ msgid "BSD."
4984 #~ msgstr "BSD."