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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-21 20:35+0900\n"
10 "PO-Revision-Date: 2015-01-11 04:12+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/MB_CUR_MAX.3:17
25 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
31 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
32 #: build/C/man2/_exit.2:29 build/C/man3/atexit.3:33 build/C/man3/clearenv.3:26
33 #: build/C/man3/exit.3:29 build/C/man3/getloadavg.3:34
34 #: build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
40 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
41 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33
42 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
43 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24
44 #: build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30
45 #: build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30
46 #: build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
47 #: build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34
48 #: build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33
49 #: build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
50 #: build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35
51 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
52 #: build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33
53 #: build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29
54 #: build/C/man3/setenv.3:37 build/C/man3/strtod.3:45
55 #: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31
56 #: build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13
57 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
59 msgid "Linux Programmer's Manual"
60 msgstr "Linux Programmer's Manual"
63 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
64 #: build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34
65 #: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
66 #: build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25
67 #: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31
68 #: build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
69 #: build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30
70 #: build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35
71 #: build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34
72 #: build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17
73 #: build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36
74 #: build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37
75 #: build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34
76 #: build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30
77 #: build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
78 #: build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32
79 #: build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14
80 #: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
86 #: build/C/man3/MB_CUR_MAX.3:20
88 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
89 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
92 #: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20
93 #: build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36
94 #: build/C/man3/atof.3:34 build/C/man3/atoi.3:36
95 #: build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27
96 #: build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34
97 #: build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33
98 #: build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32
99 #: build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37
100 #: build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36
101 #: build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19
102 #: build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38
103 #: build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39
104 #: build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36
105 #: build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32
106 #: build/C/man3/setenv.3:40 build/C/man3/strtod.3:48
107 #: build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34
108 #: build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16
109 #: build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
115 #: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39
116 #: build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31
117 #: build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37
118 #: build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35
119 #: build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39
120 #: build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22
121 #: build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41
122 #: build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42
123 #: build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33
124 #: build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37
125 #: build/C/man3/strtoul.3:39 build/C/man3/system.3:37
126 #: build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
128 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
129 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
132 #: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24
133 #: build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42
134 #: build/C/man3/atof.3:40 build/C/man3/atoi.3:62
135 #: build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52
136 #: build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75
137 #: build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64
138 #: build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38
139 #: build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44
140 #: build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45
141 #: build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25
142 #: build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76
143 #: build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54
144 #: build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64
145 #: build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46
146 #: build/C/man3/setenv.3:61 build/C/man3/strtod.3:73
147 #: build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59
148 #: build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20
149 #: build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
155 #: build/C/man3/MB_CUR_MAX.3:31
157 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
158 "number of bytes needed to represent a single wide character in the current "
159 "locale. It is locale dependent and therefore not a compile-time constant."
161 "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要"
162 "な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイ"
166 #: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29
167 #: build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55
168 #: build/C/man3/atoi.3:86 build/C/man3/canonicalize_file_name.3:61
169 #: build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50
170 #: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86
171 #: build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173
172 #: build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55
173 #: build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132
174 #: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93
175 #: build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155
176 #: build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67
177 #: build/C/man3/rand.3:118 build/C/man3/random.3:118
178 #: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73
179 #: build/C/man3/setenv.3:105 build/C/man3/strtod.3:127
180 #: build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117
181 #: build/C/man3/strtoul.3:127 build/C/man3/system.3:73
182 #: build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
188 #: build/C/man3/MB_CUR_MAX.3:35
190 "An integer in the range [1, B<MB_LEN_MAX>]. The value 1 denotes traditional "
191 "8-bit encoded characters."
193 "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-"
194 "bit エンコードされた文字を意味する。"
197 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
198 #: build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76
199 #: build/C/man3/atof.3:65 build/C/man3/atoi.3:100
200 #: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
201 #: build/C/man3/clearenv.3:59 build/C/man3/drand48.3:260
202 #: build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117
203 #: build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77
204 #: build/C/man3/getauxval.3:197 build/C/man3/getenv.3:96
205 #: build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134
206 #: build/C/man3/malloc.3:171 build/C/man3/mblen.3:92
207 #: build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113
208 #: build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:204
209 #: build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79
210 #: build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161
211 #: build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99
212 #: build/C/man3/setenv.3:128 build/C/man3/strtod.3:171
213 #: build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173
214 #: build/C/man3/strtoul.3:177 build/C/man3/system.3:115
215 #: build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
217 msgid "CONFORMING TO"
221 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33
222 #: build/C/man3/strtoimax.3:71
223 msgid "C99, POSIX.1-2001."
224 msgstr "C99, POSIX.1-2001."
227 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44
228 #: build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161
229 #: build/C/man3/atof.3:67 build/C/man3/atoi.3:119
230 #: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
231 #: build/C/man3/clearenv.3:96 build/C/man3/drand48.3:262
232 #: build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135
233 #: build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86
234 #: build/C/man3/getauxval.3:232 build/C/man3/getenv.3:129
235 #: build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232
236 #: build/C/man3/malloc.3:261 build/C/man3/mblen.3:106
237 #: build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128
238 #: build/C/man3/mkdtemp.3:96 build/C/man3/mkstemp.3:242
239 #: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:87
240 #: build/C/man3/putenv.3:118 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217
241 #: build/C/man3/random.3:197 build/C/man3/random_r.3:141
242 #: build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153
243 #: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:71
244 #: build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225
245 #: build/C/man3/system.3:207 build/C/man7/vdso.7:499
246 #: build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
252 #: build/C/man3/MB_CUR_MAX.3:43
254 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
257 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
261 #: build/C/man3/MB_LEN_MAX.3:17
267 #: build/C/man3/MB_LEN_MAX.3:20
268 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
269 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
272 #: build/C/man3/MB_LEN_MAX.3:23
274 msgid "B<#include E<lt>limits.hE<gt>>\n"
275 msgstr "B<#include E<lt>limits.hE<gt>>\n"
278 #: build/C/man3/MB_LEN_MAX.3:29
280 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
281 "represent a single wide character, across all locales."
283 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
287 #: build/C/man3/MB_LEN_MAX.3:31
288 msgid "A constant integer greater than zero."
289 msgstr "0 より大きいの整数型の定数。"
292 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
293 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:108 build/C/man3/clearenv.3:73
294 #: build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90 build/C/man3/exit.3:98
295 #: build/C/man3/getauxval.3:199 build/C/man3/getenv.3:102
296 #: build/C/man3/getsubopt.3:136 build/C/man3/malloc.3:173
297 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
298 #: build/C/man3/mbtowc.3:115 build/C/man3/mkstemp.3:217
299 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
300 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
301 #: build/C/man3/strtod.3:176 build/C/man3/strtol.3:178
302 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:117
303 #: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
309 #: build/C/man3/MB_LEN_MAX.3:44
311 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated. In "
312 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
314 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
315 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
318 #: build/C/man3/MB_LEN_MAX.3:45
319 msgid "B<MB_CUR_MAX>(3)"
320 msgstr "B<MB_CUR_MAX>(3)"
323 #: build/C/man2/_exit.2:29
329 #: build/C/man2/_exit.2:29
335 #: build/C/man2/_exit.2:32
336 msgid "_exit, _Exit - terminate the calling process"
337 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
340 #: build/C/man2/_exit.2:34
341 msgid "B<#include E<lt>unistd.hE<gt>>"
342 msgstr "B<#include E<lt>unistd.hE<gt>>"
345 #: build/C/man2/_exit.2:36
346 msgid "B<void _exit(int >I<status>B<);>"
347 msgstr "B<void _exit(int >I<status>B<);>"
350 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
351 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
352 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
353 #: build/C/man3/strtod.3:50
354 msgid "B<#include E<lt>stdlib.hE<gt>>"
355 msgstr "B<#include E<lt>stdlib.hE<gt>>"
358 #: build/C/man2/_exit.2:40
359 msgid "B<void _Exit(int >I<status>B<);>"
360 msgstr "B<void _Exit(int >I<status>B<);>"
363 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:50
364 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
365 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
366 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
367 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
368 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
369 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
370 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
371 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
372 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
373 #: build/C/man3/strtoul.3:50
375 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
376 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
379 #: build/C/man2/_exit.2:48
384 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
386 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
389 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
393 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:71
394 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
395 msgid "or I<cc\\ -std=c99>"
396 msgstr "または I<cc\\ -std=c99>"
399 #: build/C/man2/_exit.2:67
401 "The function B<_exit>() terminates the calling process \"immediately\". "
402 "Any open file descriptors belonging to the process are closed; any children "
403 "of the process are inherited by process 1, I<init>, and the process's parent "
404 "is sent a B<SIGCHLD> signal."
406 "B<_exit>() は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
407 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
408 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
409 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
410 "して B<SIGCHLD> シグナルが送出される。"
413 #: build/C/man2/_exit.2:74
415 "The value I<status> is returned to the parent process as the process's exit "
416 "status, and can be collected using one of the B<wait>(2) family of calls."
418 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
419 "B<wait>(2) 系関数を利用することによって取得することができる。"
422 #: build/C/man2/_exit.2:79
423 msgid "The function B<_Exit>() is equivalent to B<_exit>()."
424 msgstr "関数 B<_Exit>() は B<_exit>() と等価である。"
427 #: build/C/man2/_exit.2:81
428 msgid "These functions do not return."
429 msgstr "これらの関数は値を返さない。"
432 #: build/C/man2/_exit.2:86
434 "SVr4, POSIX.1-2001, 4.3BSD. The function B<_Exit>() was introduced by C99."
435 msgstr "SVr4, POSIX.1-2001, 4.3BSD. 関数 B<_Exit>() は C99 で導入された。"
438 #: build/C/man2/_exit.2:90
440 "For a discussion on the effects of an exit, the transmission of exit status, "
441 "zombie processes, signals sent, and so on, see B<exit>(3)."
443 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
444 "ついての議論は、 B<exit>(3) を参照すること。"
447 #: build/C/man2/_exit.2:117
449 "The function B<_exit>() is like B<exit>(3), but does not call any functions "
450 "registered with B<atexit>(3) or B<on_exit>(3). Whether it flushes standard "
451 "I/O buffers and removes temporary files created with B<tmpfile>(3) is "
452 "implementation-dependent. On the other hand, B<_exit>() does close open "
453 "file descriptors, and this may cause an unknown delay, waiting for pending "
454 "output to finish. If the delay is undesired, it may be useful to call "
455 "functions like B<tcflush>(3) before calling B<_exit>(). Whether any "
456 "pending I/O is canceled, and which pending I/O may be canceled upon "
457 "B<_exit>(), is implementation-dependent."
459 "関数 B<_exit>() は B<exit>(3) に似ているが、ANSI C の B<atexit>(3) や "
460 "B<on_exit>(3) によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
461 "ファのフラッシュや、 B<tmpfile>(3) で作成されたテンポラリファイルの削除を行"
462 "うかどうかは、実装に依存する。 一方で、 B<_exit>() はオープンされているファ"
463 "イルディスクリプタをクローズしないため、 未決定になっている出力がフラッシュさ"
464 "れるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 "
465 "B<_exit>() の前に B<tcflush>(3) のような関数を呼び出せばよい。 B<_exit>() "
466 "が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 "
467 "またどの I/O がキャンセルされるのかは実装に依存する。"
470 #: build/C/man2/_exit.2:124
472 "In glibc up to version 2.3, the B<_exit>() wrapper function invoked the "
473 "kernel system call of the same name. Since glibc 2.3, the wrapper function "
474 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
477 "バージョン 2.3 より前の glibc では、 B<_exit>() のラッパー関数は同じ名前の"
478 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
479 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2) を起動する。"
482 #: build/C/man2/_exit.2:135
484 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
485 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
488 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
489 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
493 #: build/C/man3/a64l.3:9
499 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
505 #: build/C/man3/a64l.3:12
506 msgid "a64l, l64a - convert between long and base-64"
507 msgstr "a64l, l64a - long と base-64 を変換する"
510 #: build/C/man3/a64l.3:16
511 msgid "B<long a64l(const char *>I<str64>B<);>"
512 msgstr "B<long a64l(const char *>I<str64>B<);>"
515 #: build/C/man3/a64l.3:18
516 msgid "B<char *l64a(long >I<value>B<);>"
517 msgstr "B<char *l64a(long >I<value>B<);>"
520 #: build/C/man3/a64l.3:26
521 msgid "B<a64l>(), B<l64a>():"
522 msgstr "B<a64l>(), B<l64a>():"
525 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
527 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
528 "_XOPEN_SOURCE_EXTENDED"
530 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
531 "_XOPEN_SOURCE_EXTENDED"
534 #: build/C/man3/a64l.3:48
536 "These functions provide a conversion between 32-bit long integers and little-"
537 "endian base-64 ASCII strings (of length zero to six). If the string used as "
538 "argument for B<a64l>() has length greater than six, only the first six "
539 "bytes are used. If the type I<long> has more than 32 bits, then B<l64a>() "
540 "uses only the low order 32 bits of I<value>, and B<a64l>() sign-extends its "
543 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
544 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>() の引き数の文字列が 7 文字以上の場"
545 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
546 "B<l64a>() は I<value> の下位 32 ビットのみを使い、 B<a64l>() は 32 ビットの"
547 "結果を符号拡張 (sign-extend) する。"
550 #: build/C/man3/a64l.3:50
551 msgid "The 64 digits in the base-64 system are:"
552 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
555 #: build/C/man3/a64l.3:58
558 "\\&\\(aq.\\(aq\trepresents a 0\n"
559 "\\&\\(aq/\\(aq\trepresents a 1\n"
560 "0-9\trepresent 2-11\n"
561 "A-Z\trepresent 12-37\n"
562 "a-z\trepresent 38-63\n"
564 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
565 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
567 "A-Z\tは 12-37 を表す。\n"
568 "a-z\tは 38-63 を表す。\n"
571 #: build/C/man3/a64l.3:62
572 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
573 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
576 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:88
577 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
578 #: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:192
579 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
580 #: build/C/man3/mblen.3:87 build/C/man3/mkdtemp.3:86
581 #: build/C/man3/mkstemp.3:195 build/C/man3/qecvt.3:85
582 #: build/C/man3/random.3:152 build/C/man3/random_r.3:128
583 #: build/C/man3/strtod.3:159 build/C/man3/strtoimax.3:58
584 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
585 #: build/C/man3/system.3:110 build/C/man3/wctomb.3:84
591 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:89
592 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
593 #: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:193
594 #: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
595 #: build/C/man3/mblen.3:88 build/C/man3/mkdtemp.3:87
596 #: build/C/man3/mkstemp.3:196 build/C/man3/qecvt.3:86
597 #: build/C/man3/random.3:153 build/C/man3/random_r.3:129
598 #: build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:59
599 #: build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166
600 #: build/C/man3/system.3:111 build/C/man3/wctomb.3:85
602 msgid "Multithreading (see pthreads(7))"
603 msgstr "マルチスレッディング (pthreads(7) 参照)"
606 #: build/C/man3/a64l.3:67
607 msgid "The B<l64a>() function is not thread-safe."
608 msgstr "B<l64a>() 関数はスレッドセーフではない。"
611 #: build/C/man3/a64l.3:71
612 msgid "The B<a64l>() function is thread-safe."
613 msgstr "B<a64l>() 関数はスレッドセーフである。"
616 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
617 msgid "POSIX.1-2001."
618 msgstr "POSIX.1-2001."
621 #: build/C/man3/a64l.3:78
623 "The value returned by B<l64a>() may be a pointer to a static buffer, "
624 "possibly overwritten by later calls."
626 "B<l64a>() で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
630 #: build/C/man3/a64l.3:87
632 "The behavior of B<l64a>() is undefined when I<value> is negative. If "
633 "I<value> is zero, it returns an empty string."
635 "I<value> が負の場合、 B<l64a>() の動作は定義されていない。 I<value> が 0 の"
639 #: build/C/man3/a64l.3:90
641 "These functions are broken in glibc before 2.2.5 (puts most significant "
644 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
648 #: build/C/man3/a64l.3:93
649 msgid "This is not the encoding used by B<uuencode>(1)."
650 msgstr "これは B<uuencode>(1) で使われるエンコーディングではない。"
654 #: build/C/man3/a64l.3:96
655 msgid "B<uuencode>(1), B<strtoul>(3)"
656 msgstr "B<uuencode>(1), B<strtoul>(3)"
659 #: build/C/man3/atexit.3:33
665 #: build/C/man3/atexit.3:33
671 #: build/C/man3/atexit.3:36
672 msgid "atexit - register a function to be called at normal process termination"
673 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
676 #: build/C/man3/atexit.3:41
678 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
679 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
682 #: build/C/man3/atexit.3:54
684 "The B<atexit>() function registers the given I<function> to be called at "
685 "normal process termination, either via B<exit>(3) or via return from the "
686 "program's I<main>(). Functions so registered are called in the reverse "
687 "order of their registration; no arguments are passed."
689 "B<atexit>() 関数は、与えられた I<function> を、 B<exit>(3) やプログラムの "
690 "I<main>() 関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
691 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
692 "れる。 登録した関数に引き数は渡されない。"
695 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
697 "The same function may be registered multiple times: it is called once for "
700 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
704 #: build/C/man3/atexit.3:63
706 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
707 "(32) such functions to be registered. The actual limit supported by an "
708 "implementation can be obtained using B<sysconf>(3)."
710 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
711 "きることを要求している。 その実装でサポートされている実際の上限は "
712 "B<sysconf>(3) を使って取得できる。"
715 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
717 "When a child process is created via B<fork>(2), it inherits copies of its "
718 "parent's registrations. Upon a successful call to one of the B<exec>(3) "
719 "functions, all registrations are removed."
721 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
723 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
727 #: build/C/man3/atexit.3:76
729 "The B<atexit>() function returns the value 0 if successful; otherwise it "
730 "returns a nonzero value."
732 "B<atexit>() 関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
736 #: build/C/man3/atexit.3:78
737 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
738 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
741 #: build/C/man3/atexit.3:85
743 "Functions registered using B<atexit>() (and B<on_exit>(3)) are not called "
744 "if a process terminates abnormally because of the delivery of a signal."
746 "B<atexit>() (と B<on_exit>(3)) を使って登録された関数は、 シグナルの配送に"
747 "よりプロセスが異常終了した場合には呼び出されない。"
750 #: build/C/man3/atexit.3:92
752 "If one of the functions registered functions calls B<_exit>(2), then any "
753 "remaining functions are not invoked, and the other process termination steps "
754 "performed by B<exit>(3) are not performed."
756 "登録された関数の一つが B<_exit>(2) を呼び出した場合、残りの関数はどれも起動"
757 "されず、 B<exit>(3) により実行される他のプロセス終了ステップは実行されない。"
759 #. This can happen on OpenBSD 4.2 for example, and is documented
760 #. as occurring on FreeBSD as well.
761 #. Glibc does "the Right Thing" -- invocation of the remaining
762 #. exit handlers carries on as normal.
764 #: build/C/man3/atexit.3:109
766 "POSIX.1-2001 says that the result of calling B<exit>(3) more than once (i."
767 "e., calling B<exit>(3) within a function registered using B<atexit>()) is "
768 "undefined. On some systems (but not Linux), this can result in an infinite "
769 "recursion; portable programs should not invoke B<exit>(3) inside a function "
770 "registered using B<atexit>()."
772 "POSIX.1-2001 では、 B<atexit>() を使って登録された一つの関数内で、複数回 "
773 "B<exit>(3) を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
774 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
775 "プログラムでは、 B<atexit>() で登録された関数内で B<exit>(3) を起動すべきで"
779 #: build/C/man3/atexit.3:118
781 "The B<atexit>() and B<on_exit>(3) functions register functions on the same "
782 "list: at normal process termination, the registered functions are invoked in "
783 "reverse order of their registration by these two functions."
785 "B<atexit>() と B<on_exit>(3) は、同じリストに対して関数を登録する。 プロセ"
786 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
789 #. In glibc, things seem to be handled okay
791 #: build/C/man3/atexit.3:124
793 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3) is used to "
794 "terminate execution of one of the functions registered B<atexit>()."
796 "POSIX.1-2001 では、 B<atexit>() で登録された関数の実行を終了するために "
797 "B<longjmp>(3) が使用された場合の結果は未定義である。"
800 #: build/C/man3/atexit.3:124
806 #: build/C/man3/atexit.3:131
808 "Since glibc 2.2.3, B<atexit>() (and B<on_exit>(3)) can be used within a "
809 "shared library to establish functions that are called when the shared "
810 "library is unloaded."
812 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
813 "録するために、共有ライブラリの中で B<atexit>() (と B<on_exit>(3)) を使用す"
817 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
818 #: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
819 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:200
820 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
826 #: build/C/man3/atexit.3:136
829 "#include E<lt>stdio.hE<gt>\n"
830 "#include E<lt>stdlib.hE<gt>\n"
831 "#include E<lt>unistd.hE<gt>\n"
833 "#include E<lt>stdio.hE<gt>\n"
834 "#include E<lt>stdlib.hE<gt>\n"
835 "#include E<lt>unistd.hE<gt>\n"
838 #: build/C/man3/atexit.3:142
844 " printf(\"That was all, folks\\en\");\n"
850 " printf(\"That was all, folks\\en\");\n"
854 #: build/C/man3/atexit.3:148
870 #: build/C/man3/atexit.3:151
873 " a = sysconf(_SC_ATEXIT_MAX);\n"
874 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
876 " a = sysconf(_SC_ATEXIT_MAX);\n"
877 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
880 #: build/C/man3/atexit.3:157
883 " i = atexit(bye);\n"
885 " fprintf(stderr, \"cannot set exit function\\en\");\n"
886 " exit(EXIT_FAILURE);\n"
889 " i = atexit(bye);\n"
891 " fprintf(stderr, \"cannot set exit function\\en\");\n"
892 " exit(EXIT_FAILURE);\n"
896 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
897 #: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
898 #: build/C/man3/strtol.3:296
901 " exit(EXIT_SUCCESS);\n"
904 " exit(EXIT_SUCCESS);\n"
908 #: build/C/man3/atexit.3:164
909 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
910 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
913 #: build/C/man3/atof.3:31
919 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
925 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
926 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
927 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
928 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
929 #: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
930 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
931 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
932 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
933 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
934 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
935 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
936 #: build/C/man3/wctomb.3:16
942 #: build/C/man3/atof.3:34
943 msgid "atof - convert a string to a double"
944 msgstr "atof - 文字列を double 型の数値に変換"
947 #: build/C/man3/atof.3:39
949 msgid "B<double atof(const char *>I<nptr>B<);>\n"
950 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
953 #: build/C/man3/atof.3:47
955 "The B<atof>() function converts the initial portion of the string pointed "
956 "to by I<nptr> to I<double>. The behavior is the same as"
958 "B<atof>() 関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
959 "型の数値に変換する。 この振る舞いは、 B<atof>() 関数がエラーを見つけないこと"
963 #: build/C/man3/atof.3:50
964 msgid "strtod(nptr, NULL);"
965 msgstr "strtod(nptr, NULL);"
968 #: build/C/man3/atof.3:55
969 msgid "except that B<atof>() does not detect errors."
973 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
974 msgid "The converted value."
978 #: build/C/man3/atof.3:65
980 "The B<atof>() function is thread-safe with exceptions. It can be safely "
981 "used in multithreaded applications, as long as B<setlocale>(3) is not "
982 "called to change the locale during its execution."
984 "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
985 "呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
989 #: build/C/man3/atof.3:67
990 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
991 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
994 #: build/C/man3/atof.3:72
995 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
996 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
999 #: build/C/man3/atoi.3:33
1005 #: build/C/man3/atoi.3:33 build/C/man3/clearenv.3:26 build/C/man3/ecvt.3:32
1006 #: build/C/man3/getauxval.3:29 build/C/man3/mkstemp.3:35
1007 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
1008 #: build/C/man3/qecvt.3:28 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
1014 #: build/C/man3/atoi.3:36
1015 msgid "atoi, atol, atoll - convert a string to an integer"
1016 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
1019 #: build/C/man3/atoi.3:41
1021 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1022 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1025 #: build/C/man3/atoi.3:43
1027 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1028 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1031 #: build/C/man3/atoi.3:45
1033 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1034 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1037 #: build/C/man3/atoi.3:54
1039 msgstr "B<atoll>():"
1042 #: build/C/man3/atoi.3:57
1044 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1045 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1047 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1048 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1051 #: build/C/man3/atoi.3:69
1053 "The B<atoi>() function converts the initial portion of the string pointed "
1054 "to by I<nptr> to I<int>. The behavior is the same as"
1056 "B<atoi>() 関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1057 "整数に変換する。 この振る舞いは、 B<atoi>() 関数がエラーを見つけない点以外"
1061 #: build/C/man3/atoi.3:72
1062 msgid "strtol(nptr, NULL, 10);"
1063 msgstr "strtol(nptr, NULL, 10);"
1066 #: build/C/man3/atoi.3:77
1067 msgid "except that B<atoi>() does not detect errors."
1071 #: build/C/man3/atoi.3:86
1073 "The B<atol>() and B<atoll>() functions behave the same as B<atoi>(), "
1074 "except that they convert the initial portion of the string to their return "
1075 "type of I<long> or I<long long>."
1077 "B<atol>() 関数と B<atoll>() 関数は B<atoi>() と同様の振る舞いをするが、 文"
1078 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。"
1081 #: build/C/man3/atoi.3:100
1083 "The B<atoi>(), B<atol>(), and B<atoll>() functions are thread-safe with "
1084 "exceptions. These functions can be safely used in multithreaded "
1085 "applications, as long as B<setlocale>(3) is not called to change the locale "
1086 "during their execution."
1088 "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
1089 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
1090 "プリケーションで安全に使用することができる。"
1093 #: build/C/man3/atoi.3:108
1095 "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 and POSIX.1-1996 include the functions "
1096 "B<atoi>() and B<atol>() only."
1098 "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 と POSIX.1-1996 には B<atoi>() と "
1099 "B<atol>() だけが含まれている。"
1103 #. function is present in glibc 2 since version 2.0.2, but
1104 #. not in libc4 or libc5.
1106 #: build/C/man3/atoi.3:119
1108 "Linux libc provided B<atoq>() as an obsolete name for B<atoll>(); "
1109 "B<atoq>() is not provided by glibc."
1111 "Linux libc は B<atoll>() の古い名前として B<atoq>() を提供していた。 glibc で"
1112 "は B<atoq>() は提供されていない。"
1115 #: build/C/man3/atoi.3:123
1116 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1117 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1120 #: build/C/man3/canonicalize_file_name.3:26
1122 msgid "CANONICALIZE_FILE_NAME"
1123 msgstr "CANONICALIZE_FILE_NAME"
1126 #: build/C/man3/canonicalize_file_name.3:26
1132 #: build/C/man3/canonicalize_file_name.3:29
1133 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1134 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1137 #: build/C/man3/canonicalize_file_name.3:31
1138 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1139 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1142 #: build/C/man3/canonicalize_file_name.3:35
1143 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1144 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1147 #: build/C/man3/canonicalize_file_name.3:49
1149 "The B<canonicalize_file_name>() function returns a null-terminated string "
1150 "containing the canonicalized absolute pathname corresponding to I<path>. In "
1151 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
1152 "pathname components. Consecutive slash (I</>) characters are replaced by a "
1155 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1156 "示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
1157 "ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
1161 #: build/C/man3/canonicalize_file_name.3:55
1163 "The returned string is dynamically allocated by B<canonicalize_file_name>() "
1164 "and the caller should deallocate it with B<free>(3) when it is no longer "
1167 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1168 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1171 #: build/C/man3/canonicalize_file_name.3:59
1172 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1173 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1176 #: build/C/man3/canonicalize_file_name.3:61
1178 msgid " realpath(path, NULL);\n"
1179 msgstr " realpath(path, NULL);\n"
1182 #: build/C/man3/canonicalize_file_name.3:70
1184 "On success, B<canonicalize_file_name>() returns a null-terminated string. "
1185 "On error (e.g., a pathname component is unreadable or does not exist), "
1186 "B<canonicalize_file_name>() returns NULL and sets I<errno> to indicate the "
1189 "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
1190 "の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
1191 "合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
1195 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1196 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1197 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1198 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1199 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:155
1200 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1206 #: build/C/man3/canonicalize_file_name.3:73
1207 msgid "See B<realpath>(3)."
1208 msgstr "B<realpath>(3) 参照。"
1211 #: build/C/man3/canonicalize_file_name.3:75
1212 msgid "This function is a GNU extension."
1213 msgstr "この関数は GNU による拡張である。"
1216 #: build/C/man3/canonicalize_file_name.3:77
1217 msgid "B<readlink>(2), B<realpath>(3)"
1218 msgstr "B<readlink>(2), B<realpath>(3)"
1221 #: build/C/man3/cfree.3:24
1227 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1233 #: build/C/man3/cfree.3:27
1234 msgid "cfree - free allocated memory"
1235 msgstr "cfree - 割り当てられたメモリを解放する"
1238 #: build/C/man3/cfree.3:34
1241 "/* In SunOS 4 */\n"
1242 "B<int cfree(void *>I<ptr>B<);>\n"
1244 "/* SunOS 4 では */\n"
1245 "B<int cfree(void *>I<ptr>B<);>\n"
1248 #: build/C/man3/cfree.3:37
1251 "/* In glibc or FreeBSD libcompat */\n"
1252 "B<void cfree(void *>I<ptr>B<);>\n"
1254 "/* glibc と FreeBSD libcompat では */\n"
1255 "B<void cfree(void *>I<ptr>B<);>\n"
1258 #: build/C/man3/cfree.3:40
1261 "/* In SCO OpenServer */\n"
1262 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1264 "/* SCO OpenServer では */\n"
1265 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1268 #: build/C/man3/cfree.3:43
1271 "/* In Solaris watchmalloc.so.1 */\n"
1272 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1274 "/* Solaris watchmalloc.so.1 では */\n"
1275 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1278 #: build/C/man3/cfree.3:52
1279 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1280 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1283 #: build/C/man3/cfree.3:57
1284 msgid "This function should never be used. Use B<free>(3) instead."
1285 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3) を使うこと。"
1288 #: build/C/man3/cfree.3:57
1291 msgstr "引き数が 1 つの cfree"
1294 #: build/C/man3/cfree.3:63
1296 "In glibc, the function B<cfree>() is a synonym for B<free>(3), \"added for "
1297 "compatibility with SunOS\"."
1299 "glibc では、関数 B<cfree>() は B<free>(3) の別名であり、「SunOS との互換性"
1303 #: build/C/man3/cfree.3:69
1305 "Other systems have other functions with this name. The declaration is "
1306 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1308 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1309 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1312 #: build/C/man3/cfree.3:69
1315 msgstr "引き数が 3 つの cfree"
1318 #: build/C/man3/cfree.3:74
1320 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1321 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1323 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>() が含"
1324 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3) に類似してい"
1328 #: build/C/man3/cfree.3:76
1329 msgid "If you need it while porting something, add"
1330 msgstr "何かを移植する時にこの関数が必要な場合、"
1333 #: build/C/man3/cfree.3:79
1334 msgid "#define cfree(p, n, s) free((p))"
1335 msgstr "#define cfree(p, n, s) free((p))"
1338 #: build/C/man3/cfree.3:82
1339 msgid "to your file."
1340 msgstr "をファイルに追加すること。"
1343 #: build/C/man3/cfree.3:91
1345 "A frequently asked question is \"Can I use B<free>(3) to free memory "
1346 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
1349 "よく尋ねられる質問は 「B<calloc>(3) で割り当てられたメモリを解放するのに "
1350 "B<free>(3) を使うことができるか、 それとも B<cfree>() を使う必要があるか」"
1351 "というものである。 答え: B<free>(3) を使うこと。"
1354 #: build/C/man3/cfree.3:96
1356 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1357 "iBCSe2 standard and simply calls free. The num and size arguments to cfree "
1360 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1361 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1362 "num と size 引き数は使用されない。」"
1365 #: build/C/man3/cfree.3:112
1367 "The SunOS version of B<cfree>() (which is a synonym for B<free>(3)) "
1368 "returns 1 on success and 0 on failure. In case of error, I<errno> is set to "
1369 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1370 "allocated by one of the routines in the B<malloc>(3) family."
1372 "SunOS 版の B<cfree>() (B<free>(3) の別名) は、成功した場合に 1 を返し、失敗"
1373 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1374 "I<ptr> の値が B<malloc>() 系のルーチンの 1 つで以前に割り当てられた ブロック"
1378 #: build/C/man3/cfree.3:117
1380 "The 3-argument version of B<cfree>() as used by SCO conforms to the iBCSe2 "
1381 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1383 "SCO で用いられている引き数が 3 つの B<cfree>() は、iBCSe2 規格: Intel386 "
1384 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1388 #: build/C/man3/cfree.3:118
1389 msgid "B<malloc>(3)"
1390 msgstr "B<malloc>(3)"
1393 #: build/C/man3/clearenv.3:26
1399 #: build/C/man3/clearenv.3:29
1400 msgid "clearenv - clear the environment"
1401 msgstr "clearenv - 環境 (environment) をクリアする"
1404 #: build/C/man3/clearenv.3:34
1406 msgid "B<int clearenv(void);>\n"
1407 msgstr "B<int clearenv(void);>\n"
1410 #: build/C/man3/clearenv.3:43
1411 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1412 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1415 #: build/C/man3/clearenv.3:50
1417 "The B<clearenv>() function clears the environment of all name-value pairs "
1418 "and sets the value of the external variable I<environ> to NULL."
1420 "B<clearenv>() 関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1421 "部変数 I<environ> の値を NULL にする。"
1423 #. Most versions of UNIX return -1 on error, or do not even have errors.
1424 #. Glibc info and the Watcom C library document "a nonzero value".
1426 #: build/C/man3/clearenv.3:57
1428 "The B<clearenv>() function returns zero on success, and a nonzero value on "
1431 "B<clearenv>() 関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1435 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:188
1436 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1437 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1443 #: build/C/man3/clearenv.3:59
1444 msgid "Available since glibc 2.0."
1445 msgstr "glibc 2.0 以降で利用可能。"
1448 #: build/C/man3/clearenv.3:73
1450 "Various UNIX variants (DG/UX, HP-UX, QNX, ...). POSIX.9 (bindings for "
1451 "FORTRAN77). POSIX.1-1996 did not accept B<clearenv>() and B<putenv>(3), "
1452 "but changed its mind and scheduled these functions for some later issue of "
1453 "this standard (cf. B.4.6.1). However, POSIX.1-2001 adds only B<putenv>(3), "
1454 "and rejected B<clearenv>()."
1456 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1457 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>() と B<putenv>(3) は採用さ"
1458 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1459 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
1460 "れ、 B<clearenv>() の追加は否決された。"
1463 #: build/C/man3/clearenv.3:77
1465 "Used in security-conscious applications. If it is unavailable the assignment"
1467 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1471 #: build/C/man3/clearenv.3:80
1473 msgid " environ = NULL;\n"
1474 msgstr " environ = NULL;\n"
1477 #: build/C/man3/clearenv.3:83
1478 msgid "will probably do."
1479 msgstr "というように変数 environ を設定すればよい。"
1482 #. HP-UX has a ENOMEM error return.
1484 #: build/C/man3/clearenv.3:96
1486 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1487 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>() "
1488 "functions, then B<clearenv>() will return an error and the process "
1489 "environment will remain unchanged."
1491 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
1492 "B<putenv>(3), B<getenv>(3), B<clearenv>() 関数以外で変更された場合、 "
1493 "B<clearenv>() はエラーを返し、プロセス環境は変更前のままにされる。"
1496 #: build/C/man3/clearenv.3:101
1497 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1499 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1502 #: build/C/man3/drand48.3:30
1508 #: build/C/man3/drand48.3:30
1514 #: build/C/man3/drand48.3:34
1516 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1517 "lcong48 - generate uniformly distributed pseudo-random numbers"
1519 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1520 "lcong48 - 一様分布する疑似乱数を生成する関数"
1523 #: build/C/man3/drand48.3:39
1525 msgid "B<double drand48(void);>\n"
1526 msgstr "B<double drand48(void);>\n"
1529 #: build/C/man3/drand48.3:41
1531 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1532 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1535 #: build/C/man3/drand48.3:43
1537 msgid "B<long int lrand48(void);>\n"
1538 msgstr "B<long int lrand48(void);>\n"
1541 #: build/C/man3/drand48.3:45
1543 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1544 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1547 #: build/C/man3/drand48.3:47
1549 msgid "B<long int mrand48(void);>\n"
1550 msgstr "B<long int mrand48(void);>\n"
1553 #: build/C/man3/drand48.3:49
1555 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1556 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1559 #: build/C/man3/drand48.3:51
1561 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1562 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1565 #: build/C/man3/drand48.3:53
1567 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1568 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1571 #: build/C/man3/drand48.3:55
1573 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1574 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1586 #: build/C/man3/drand48.3:74
1587 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1588 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1591 #: build/C/man3/drand48.3:78
1593 "These functions generate pseudo-random numbers using the linear congruential "
1594 "algorithm and 48-bit integer arithmetic."
1596 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1600 #: build/C/man3/drand48.3:86
1602 "The B<drand48>() and B<erand48>() functions return nonnegative double-"
1603 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1605 "関数 B<drand48>() と B<erand48>() は、区間 [0.0, 1.0) で 一様分布する非負の"
1609 #: build/C/man3/drand48.3:93
1611 "The B<lrand48>() and B<nrand48>() functions return nonnegative long "
1612 "integers uniformly distributed between 0 and 2^31."
1614 "関数 B<lrand48>() と B<nrand48>() は 0 と 2^31 の間で一様分布する 非負のロ"
1618 #: build/C/man3/drand48.3:100
1620 "The B<mrand48>() and B<jrand48>() functions return signed long integers "
1621 "uniformly distributed between -2^31 and 2^31."
1623 "関数 B<mrand48>() と B<jrand48>() は -2^31 と 2^31 の間で一様分布する符号付"
1627 #: build/C/man3/drand48.3:119
1629 "The B<srand48>(), B<seed48>() and B<lcong48>() functions are "
1630 "initialization functions, one of which should be called before using "
1631 "B<drand48>(), B<lrand48>() or B<mrand48>(). The functions B<erand48>(), "
1632 "B<nrand48>() and B<jrand48>() do not require an initialization function to "
1635 "関数 B<srand48>(), B<seed48>(), B<lcong48>() は初期化関数 である。 関数 "
1636 "B<drand48>(), B<lrand48>(), B<mrand48>() を 使用する前に、これらの初期化関数"
1637 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>() "
1638 "は初めに 初期化関数を呼ぶことを必要としない。"
1641 #: build/C/man3/drand48.3:123
1643 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1644 "according to the linear congruential formula:"
1646 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1647 "ることで 機能している。生成方法は以下の線形合同の式による。"
1650 #: build/C/man3/drand48.3:127
1652 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1653 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1656 #: build/C/man3/drand48.3:140
1658 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed. "
1659 "Unless B<lcong48>() is called, I<a> and I<c> are given by:"
1661 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1662 "演算が行われている。 B<lcong48>() が呼ばれていない場合、I<a> と I<c> は以下"
1666 #: build/C/man3/drand48.3:145
1669 "B<a = 0x5DEECE66D>\n"
1672 "B<a = 0x5DEECE66D>\n"
1676 #: build/C/man3/drand48.3:165
1678 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1679 "B<lrand48>(), B<nrand48>(), B<mrand48>() or B<jrand48>() is computed by "
1680 "first generating the next 48-bit I<Xi> in the sequence. Then the "
1681 "appropriate number of bits, according to the type of data item to be "
1682 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1683 "the returned value."
1685 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1686 "B<jrand48>() で返される値は次のようにして計算される。 はじめに、次の48ビット"
1687 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1688 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1691 #: build/C/man3/drand48.3:191
1693 "The functions B<drand48>(), B<lrand48>() and B<mrand48>() store the last "
1694 "48-bit I<Xi> generated in an internal buffer. The functions B<erand48>(), "
1695 "B<nrand48>() and B<jrand48>() require the calling program to provide "
1696 "storage for the successive I<Xi> values in the array argument I<xsubi>. The "
1697 "functions are initialized by placing the initial value of I<Xi> into the "
1698 "array before calling the function for the first time."
1700 "関数 B<drand48>(), B<lrand48>(), B<mrand48>() は 最後に生成された48ビットの "
1701 "I<Xi> を内部バッファに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値"
1702 "を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1703 "B<jrand48>() は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1704 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1707 #: build/C/man3/drand48.3:200
1709 "The initializer function B<srand48>() sets the high order 32-bits of I<Xi> "
1710 "to the argument I<seedval>. The low order 16-bits are set to the arbitrary "
1713 "初期化関数 B<srand48>() は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1714 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1717 #: build/C/man3/drand48.3:214
1719 "The initializer function B<seed48>() sets the value of I<Xi> to the 48-bit "
1720 "value specified in the array argument I<seed16v>. The previous value of "
1721 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1722 "returned by B<seed48>()."
1724 "初期化関数 B<seed48>() は、I<Xi> の値を、 配列の形をした引数である "
1725 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1726 "ファにコピーされ、このバッファへのポインタが B<seed48>() によって返される。"
1729 #: build/C/man3/drand48.3:245
1731 "The initialization function B<lcong48>() allows the user to specify initial "
1732 "values for I<Xi>, I<a> and I<c>. Array argument elements I<param[0-2]> "
1733 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>. "
1734 "After B<lcong48>() has been called, a subsequent call to either "
1735 "B<srand48>() or B<seed48>() will restore the standard values of I<a> and "
1738 "初期化関数 B<lcong48>() は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1739 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1740 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1741 "B<lcong48>() が呼ばれた後で、 B<srand48>() か B<seed48>() を呼ぶと、前述"
1742 "の I<a> と I<c> の 標準値が再び設定される。"
1745 #: build/C/man3/drand48.3:260
1747 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1748 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>() functions record "
1749 "global state information for the random number generator, so they are not "
1752 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1753 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1754 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1758 #: build/C/man3/drand48.3:262
1759 msgid "SVr4, POSIX.1-2001."
1760 msgstr "SVr4, POSIX.1-2001."
1763 #: build/C/man3/drand48.3:264
1764 msgid "B<rand>(3), B<random>(3)"
1765 msgstr "B<rand>(3), B<random>(3)"
1768 #: build/C/man3/drand48_r.3:27
1774 #: build/C/man3/drand48_r.3:27
1780 #: build/C/man3/drand48_r.3:32
1782 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1783 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1786 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1787 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1791 #: build/C/man3/drand48_r.3:37
1793 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1794 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1797 #: build/C/man3/drand48_r.3:39
1799 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1800 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1803 #: build/C/man3/drand48_r.3:41
1805 msgid "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1806 msgstr "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1809 #: build/C/man3/drand48_r.3:43
1811 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1812 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1815 #: build/C/man3/drand48_r.3:45
1817 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1818 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1821 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1823 msgid "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1824 msgstr "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1827 #: build/C/man3/drand48_r.3:49
1829 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1830 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1833 #: build/C/man3/drand48_r.3:51
1835 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1836 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1839 #: build/C/man3/drand48_r.3:55
1841 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1842 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1845 #: build/C/man3/drand48_r.3:57
1847 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1848 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1851 #: build/C/man3/drand48_r.3:59
1853 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1854 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1857 #: build/C/man3/drand48_r.3:61
1859 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1860 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1863 #: build/C/man3/drand48_r.3:63
1865 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1866 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1868 #. .BR drand48_r (),
1869 #. .BR erand48_r (),
1870 #. .BR lrand48_r (),
1871 #. .BR nrand48_r (),
1872 #. .BR mrand48_r (),
1873 #. .BR jrand48_r (),
1874 #. .BR srand48_r (),
1876 #. .BR lcong48_r ():
1878 #: build/C/man3/drand48_r.3:82
1879 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1880 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1883 #: build/C/man3/drand48_r.3:89
1885 "These functions are the reentrant analogs of the functions described in "
1886 "B<drand48>(3). Instead of modifying the global random generator state, they "
1887 "use the supplied data I<buffer>."
1889 "これらの関数は B<drand48>(3) で説明されている関数に類似するリエントラントな"
1890 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1891 "れたデータ I<buffer> を使う。"
1894 #: build/C/man3/drand48_r.3:96
1896 "Before the first use, this struct must be initialized, for example, by "
1897 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1898 "B<seed48_r>(), or B<lcong48_r>()."
1900 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1901 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>() のいずれ"
1905 #: build/C/man3/drand48_r.3:98
1906 msgid "The return value is 0."
1907 msgstr "返り値は 0 である。"
1910 #: build/C/man3/drand48_r.3:112
1912 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1913 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1914 "B<lcong48_r>() functions are thread-safe."
1916 "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1917 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), "
1918 "B<lcong48_r>() はスレッドセーフである。"
1921 #: build/C/man3/drand48_r.3:114
1922 msgid "These functions are GNU extensions and are not portable."
1923 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1926 #: build/C/man3/drand48_r.3:117 build/C/man3/random_r.3:144
1927 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1928 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1931 #: build/C/man3/ecvt.3:32
1937 #: build/C/man3/ecvt.3:35
1938 msgid "ecvt, fcvt - convert a floating-point number to a string"
1939 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1942 #: build/C/man3/ecvt.3:40
1944 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1945 "B<int *>I<sign>B<);>"
1947 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1948 "B<int *>I<sign>B<);>"
1951 #: build/C/man3/ecvt.3:43
1953 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1954 "B<int *>I<sign>B<);>"
1956 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1957 "B<int *>I<sign>B<);>"
1960 #: build/C/man3/ecvt.3:51
1961 msgid "B<ecvt>(), B<fcvt>():"
1962 msgstr "B<ecvt>(), B<fcvt>():"
1965 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
1967 msgid "Since glibc 2.12:"
1968 msgstr "glibc 2.12 以降:"
1971 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
1975 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1976 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1977 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1980 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1981 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1982 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1985 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
1987 msgid "Before glibc 2.12:"
1988 msgstr "glibc 2.12 より前:"
1991 #: build/C/man3/ecvt.3:92
1993 "The B<ecvt>() function converts I<number> to a null-terminated string of "
1994 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
1995 "determined by the precision of a I<double>), and returns a pointer to the "
1996 "string. The high-order digit is nonzero, unless I<number> is zero. The low "
1997 "order digit is rounded. The string itself does not contain a decimal point; "
1998 "however, the position of the decimal point relative to the start of the "
1999 "string is stored in I<*decpt>. A negative value for I<*decpt> means that "
2000 "the decimal point is to the left of the start of the string. If the sign of "
2001 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
2002 "set to 0. If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
2005 "関数 B<ecvt>() は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ"
2006 "変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によって"
2007 "決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の値"
2008 "となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁は"
2009 "丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの小"
2010 "数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文字"
2011 "列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
2012 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
2013 "ら、I<*decpt> が 0 か 1 かは未規定である。"
2016 #: build/C/man3/ecvt.3:99
2018 "The B<fcvt>() function is identical to B<ecvt>(), except that I<ndigits> "
2019 "specifies the number of digits after the decimal point."
2021 "関数 B<fcvt>() は B<ecvt>() と同じ機能を持つが、I<ndigits> は小数点以下の文"
2025 #: build/C/man3/ecvt.3:110
2027 "Both the B<ecvt>() and B<fcvt>() functions return a pointer to a static "
2028 "string containing the ASCII representation of I<number>. The static string "
2029 "is overwritten by each call to B<ecvt>() or B<fcvt>()."
2031 "関数 B<ecvt>() と B<fcvt>() は I<number> の ASCII 表現を含む 静的な領域内の"
2032 "文字列へのポインタを返す。 この文字列は B<ecvt>() や B<fcvt>() の呼び出しの"
2036 #: build/C/man3/ecvt.3:117
2037 msgid "The B<ecvt>() and B<fcvt>() functions are not thread-safe."
2038 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
2041 #: build/C/man3/ecvt.3:129
2043 "SVr2; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the "
2044 "specifications of B<ecvt>() and B<fcvt>(), recommending the use of "
2045 "B<sprintf>(3) instead (though B<snprintf>(3) may be preferable)."
2047 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2048 "POSIX.1-2008 では B<ecvt>() と B<fcvt>() の仕様が削除され、代わりに "
2049 "B<sprintf>(3) の使用が推奨されている(しかし B<snprintf>(3) がより適切かもし"
2052 #. Linux libc4 and libc5 specified the type of
2057 #: build/C/man3/ecvt.3:135
2058 msgid "Not all locales use a point as the radix character (\"decimal point\")."
2059 msgstr "小数点にピリオドを使わないロケールもある。"
2062 #: build/C/man3/ecvt.3:140
2063 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2064 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2067 #: build/C/man3/ecvt_r.3:30
2073 #: build/C/man3/ecvt_r.3:33
2075 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2077 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2080 #: build/C/man3/ecvt_r.3:39
2083 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2084 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2086 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2087 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2090 #: build/C/man3/ecvt_r.3:42
2093 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2094 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2096 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2097 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2100 #: build/C/man3/ecvt_r.3:45
2103 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2104 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2106 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2107 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2110 #: build/C/man3/ecvt_r.3:48
2113 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2114 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2116 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2117 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2120 #: build/C/man3/ecvt_r.3:60
2121 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2122 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2125 #: build/C/man3/ecvt_r.3:62
2126 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2127 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2130 #: build/C/man3/ecvt_r.3:86
2132 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), and B<qfcvt_r>() are "
2133 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), and B<qfcvt>(3), "
2134 "respectively, except that they do not return their result in a static "
2135 "buffer, but instead use the supplied I<buf> of size I<len>. See B<ecvt>(3) "
2138 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>() は、それぞれ "
2139 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3) と同じであるが、 静的バッ"
2140 "ファの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 "
2141 "B<ecvt>(3), B<qecvt>(3) を参照のこと。"
2144 #: build/C/man3/ecvt_r.3:88
2145 msgid "These functions return 0 on success, and -1 otherwise."
2146 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2149 #: build/C/man3/ecvt_r.3:90
2150 msgid "These functions are GNU extensions."
2151 msgstr "これらの関数は GNU による拡張である。"
2154 #: build/C/man3/ecvt_r.3:95
2155 msgid "These functions are obsolete. Instead, B<sprintf>(3) is recommended."
2156 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3) の使用を推奨する。"
2159 #: build/C/man3/ecvt_r.3:98
2160 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2161 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2164 #: build/C/man3/exit.3:29
2170 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
2176 #: build/C/man3/exit.3:32
2177 msgid "exit - cause normal process termination"
2178 msgstr "exit - プロセスの正常終了"
2181 #: build/C/man3/exit.3:37
2183 msgid "B<void exit(int >I<status>B<);>\n"
2184 msgstr "B<void exit(int >I<status>B<);>\n"
2187 #: build/C/man3/exit.3:45
2189 "The B<exit>() function causes normal process termination and the value of "
2190 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2192 "B<exit>() 関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2193 "ロセスへ返す (B<wait>(2) を参照)。"
2196 #: build/C/man3/exit.3:72
2198 "All functions registered with B<atexit>(3) and B<on_exit>(3) are called, "
2199 "in the reverse order of their registration. (It is possible for one of "
2200 "these functions to use B<atexit>(3) or B<on_exit>(3) to register an "
2201 "additional function to be executed during exit processing; the new "
2202 "registration is added to the front of the list of functions that remain to "
2203 "be called.) If one of these functions does not return (e.g., it calls "
2204 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2205 "functions is called, and further exit processing (in particular, flushing of "
2206 "B<stdio>(3) streams) is abandoned. If a function has been registered "
2207 "multiple times using B<atexit>(3) or B<on_exit>(3), then it is called as "
2208 "many times as it was registered."
2210 "B<atexit>(3) や B<on_exit>(3) によって 登録された全ての関数は、それらが登録"
2211 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3) or "
2212 "B<on_exit>(3) を使って exit 処理中に実行される追加の関数を登録することができ"
2213 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2214 "る。) これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2) "
2215 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2216 "出されず、それ以降の exit 処理 (特に B<stdio>(3) ストリームのフラッシュな"
2217 "ど) は中止される。 ある関数が B<atexit>(3) や B<on_exit>(3) を使って複数回"
2218 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2221 #: build/C/man3/exit.3:79
2223 "All open B<stdio>(3) streams are flushed and closed. Files created by "
2224 "B<tmpfile>(3) are removed."
2226 "オープン中の B<stdio>(3) ストリームは全てフラッシュされて、クローズされる。 "
2227 "B<tmpfile>(3) によって作成されたファイルは削除される。"
2230 #: build/C/man3/exit.3:86
2232 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2233 "that may be passed to B<exit>() to indicate successful or unsuccessful "
2234 "termination, respectively."
2236 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2237 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>() として渡すことができ"
2241 #: build/C/man3/exit.3:90
2242 msgid "The B<exit>() function does not return."
2243 msgstr "B<exit>() 関数は返らない。"
2246 #: build/C/man3/exit.3:96
2248 "The B<exit>() function uses a global variable that is not protected, so it "
2249 "is not thread-safe."
2251 "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
2255 #: build/C/man3/exit.3:98
2256 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2257 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2260 #: build/C/man3/exit.3:115
2262 "It is undefined what happens if one of the functions registered using "
2263 "B<atexit>(3) and B<on_exit>(3) calls either B<exit>() or B<longjmp>(3). "
2264 "Note that a call to B<execve>(2) removes registrations created using "
2265 "B<atexit>(3) and B<on_exit>(3)."
2267 "B<atexit>(3) や B<on_exit>(3) を使って登録された関数の中で B<exit>() か "
2268 "B<longjmp>(3) が呼び出された場合、 何が起こるかは未定義である。 "
2269 "B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された"
2273 #: build/C/man3/exit.3:124
2275 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2276 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2277 "-1. In particular, VMS uses a different convention."
2279 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2280 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2284 #: build/C/man3/exit.3:127
2286 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2289 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2293 #: build/C/man3/exit.3:152
2295 "After B<exit>(), the exit status must be transmitted to the parent process. "
2296 "There are three cases. If the parent has set B<SA_NOCLDWAIT>, or has set "
2297 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded. If the "
2298 "parent was waiting on the child, it is notified of the exit status. In both "
2299 "cases the exiting process dies immediately. If the parent has not indicated "
2300 "that it is not interested in the exit status, but is not waiting, the "
2301 "exiting process turns into a \"zombie\" process (which is nothing but a "
2302 "container for the single byte representing the exit status) so that the "
2303 "parent can learn the exit status when it later calls one of the B<wait>(2) "
2306 "B<exit>() の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2307 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2308 "た場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータス"
2309 "は破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終"
2310 "了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2311 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2312 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2313 "る) 「ゾンビ」プロセスになる。 これにより、後から B<wait>(2) 関数を呼び出す"
2314 "ことで、 親プロセスは終了ステータスを知ることができる。"
2317 #: build/C/man3/exit.3:162
2319 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2320 "the parent. If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2321 "a B<SIGCHLD> signal is sent."
2323 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2324 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2325 "ルが送られるかどうかは定義されていない。"
2328 #: build/C/man3/exit.3:171
2330 "If the process is a session leader and its controlling terminal is the "
2331 "controlling terminal of the session, then each process in the foreground "
2332 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2333 "the terminal is disassociated from this session, allowing it to be acquired "
2334 "by a new controlling process."
2336 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2337 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2338 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2339 "これにより新しい制御プロセスを取得することができる。"
2342 #: build/C/man3/exit.3:183
2344 "If the exit of the process causes a process group to become orphaned, and if "
2345 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2346 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2347 "process group. See B<setpgid>(2) for an explanation of orphaned process "
2350 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2351 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2352 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2353 "(orphaned) プロセスグループの説明は B<setpgid>(2) を参照。"
2356 #: build/C/man3/exit.3:189
2358 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2361 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2365 #: build/C/man3/gcvt.3:30
2371 #: build/C/man3/gcvt.3:33
2372 msgid "gcvt - convert a floating-point number to a string"
2373 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2376 #: build/C/man3/gcvt.3:38
2378 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2379 msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2382 #: build/C/man3/gcvt.3:46
2387 #: build/C/man3/gcvt.3:61
2389 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2390 "_XOPEN_SOURCE_EXTENDED"
2392 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2393 "_XOPEN_SOURCE_EXTENDED"
2396 #: build/C/man3/gcvt.3:72
2398 "The B<gcvt>() function converts I<number> to a minimal length null-"
2399 "terminated ASCII string and stores the result in I<buf>. It produces "
2400 "I<ndigit> significant digits in either B<printf>(3) F format or E format."
2402 "関数 B<gcvt>() は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
2403 "変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3) の F フォーマット"
2404 "や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2407 #: build/C/man3/gcvt.3:77
2409 "The B<gcvt>() function returns the address of the string pointed to by "
2411 msgstr "関数 B<gcvt>() は文字列 I<buf> へのポインタを返す。"
2414 #: build/C/man3/gcvt.3:86
2416 "Marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the specification of "
2417 "B<gcvt>(), recommending the use of B<sprintf>(3) instead (though "
2418 "B<snprintf>(3) may be preferable)."
2420 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2421 "POSIX.1-2008 では、 B<gcvt>() の仕様は削除され、 代わりに B<sprintf>(3) を"
2422 "使用することが推奨されている (B<snprintf>(3) の方が適切かもしれないが)。"
2425 #: build/C/man3/gcvt.3:89
2426 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2427 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2430 #: build/C/man3/getauxval.3:29
2436 #: build/C/man3/getauxval.3:32
2437 msgid "getauxval - retrieve a value from the auxiliary vector"
2441 #: build/C/man3/getauxval.3:35
2443 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2444 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2447 #: build/C/man3/getauxval.3:37
2449 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2450 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2453 #: build/C/man3/getauxval.3:45
2455 "The B<getauxval>() function retrieves values from the auxiliary vector, a "
2456 "mechanism that the kernel's ELF binary loader uses to pass certain "
2457 "information to user space when a program is executed."
2461 #: build/C/man3/getauxval.3:53
2463 "Each entry in the auxiliary vector consists of a pair of values: a type that "
2464 "identifies what this entry represents, and a value for that type. Given the "
2465 "argument I<type>, B<getauxval>() returns the corresponding value."
2469 #: build/C/man3/getauxval.3:60
2471 "The value returned for each I<type> is given in the following list. Not all "
2472 "I<type> values are present on all architectures."
2476 #: build/C/man3/getauxval.3:60
2482 #: build/C/man3/getauxval.3:63
2484 "The base address of the program interpreter (usually, the dynamic linker)."
2488 #: build/C/man3/getauxval.3:63
2490 msgid "B<AT_BASE_PLATFORM>"
2491 msgstr "B<AT_BASE_PLATFORM>"
2494 #: build/C/man3/getauxval.3:68
2496 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2501 #: build/C/man3/getauxval.3:68
2503 msgid "B<AT_CLKTCK>"
2504 msgstr "B<AT_CLKTCK>"
2507 #: build/C/man3/getauxval.3:75
2509 "The frequency with which B<times>(2) counts. This value can also be "
2510 "obtained via I<sysconf(_SC_CLK_TCK)>."
2514 #: build/C/man3/getauxval.3:75
2516 msgid "B<AT_DCACHEBSIZE>"
2517 msgstr "B<AT_DCACHEBSIZE>"
2520 #: build/C/man3/getauxval.3:78
2521 msgid "The data cache block size."
2525 #: build/C/man3/getauxval.3:78
2531 #: build/C/man3/getauxval.3:81
2532 msgid "The effective group ID of the thread."
2536 #: build/C/man3/getauxval.3:81
2539 msgstr "B<AT_ENTRY>"
2542 #: build/C/man3/getauxval.3:84
2543 msgid "The entry address of the executable."
2547 #: build/C/man3/getauxval.3:84
2553 #: build/C/man3/getauxval.3:87
2554 msgid "The effective user ID of the thread."
2558 #: build/C/man3/getauxval.3:87
2560 msgid "B<AT_EXECFD>"
2561 msgstr "B<AT_EXECFD>"
2564 #: build/C/man3/getauxval.3:90
2565 msgid "File descriptor of program."
2569 #: build/C/man3/getauxval.3:90
2571 msgid "B<AT_EXECFN>"
2572 msgstr "B<AT_EXECFN>"
2575 #: build/C/man3/getauxval.3:93
2576 msgid "Pathname used to execute program."
2580 #: build/C/man3/getauxval.3:93
2583 msgstr "B<AT_FLAGS>"
2586 #: build/C/man3/getauxval.3:96
2587 msgid "Flags (unused)."
2591 #: build/C/man3/getauxval.3:96
2594 msgstr "B<AT_FPUCW>"
2597 #: build/C/man3/getauxval.3:101
2599 "Used FPU control word (SuperH architecture only). This gives some "
2600 "information about the FPU initialization performed by the kernel."
2604 #: build/C/man3/getauxval.3:101
2610 #: build/C/man3/getauxval.3:104
2611 msgid "The real group ID of the thread."
2615 #: build/C/man3/getauxval.3:104
2618 msgstr "B<AT_HWCAP>"
2621 #: build/C/man3/getauxval.3:114
2623 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2624 "processor capabilities. The contents of the bit mask are hardware dependent "
2625 "(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
2626 "h> for details relating to the Intel x86 architecture). A human-readable "
2627 "version of the same information is available via I</proc/cpuinfo>."
2631 #: build/C/man3/getauxval.3:114
2633 msgid "B<AT_ICACHEBSIZE>"
2634 msgstr "B<AT_ICACHEBSIZE>"
2643 #: build/C/man3/getauxval.3:123
2644 msgid "The instruction cache block size."
2648 #: build/C/man3/getauxval.3:123
2650 msgid "B<AT_PAGESZ>"
2651 msgstr "B<AT_PAGESZ>"
2654 #: build/C/man3/getauxval.3:127
2656 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2660 #: build/C/man3/getauxval.3:127
2666 #: build/C/man3/getauxval.3:130
2667 msgid "The address of the program headers of the executable."
2671 #: build/C/man3/getauxval.3:130
2674 msgstr "B<AT_PHENT>"
2677 #: build/C/man3/getauxval.3:133
2678 msgid "The size of program header entry."
2682 #: build/C/man3/getauxval.3:133
2685 msgstr "B<AT_PHNUM>"
2688 #: build/C/man3/getauxval.3:136
2689 msgid "The number of program headers."
2693 #: build/C/man3/getauxval.3:136
2695 msgid "B<AT_PLATFORM>"
2696 msgstr "B<AT_PLATFORM>"
2699 #: build/C/man3/getauxval.3:143
2701 "A pointer to a string that identifies the hardware platform that the program "
2702 "is running on. The dynamic linker uses this in the interpretation of "
2707 #: build/C/man3/getauxval.3:143
2709 msgid "B<AT_RANDOM>"
2710 msgstr "B<AT_RANDOM>"
2713 #: build/C/man3/getauxval.3:146
2714 msgid "The address of sixteen bytes containing a random value."
2718 #: build/C/man3/getauxval.3:146
2720 msgid "B<AT_SECURE>"
2721 msgstr "B<AT_SECURE>"
2724 #: build/C/man3/getauxval.3:158
2726 "Has a nonzero value if this executable should be treated securely. Most "
2727 "commonly, a nonzero value indicates that the process is executing a set-user-"
2728 "ID or set-group-ID program; alternatively, a nonzero value may be triggered "
2729 "by a Linux Security Module. When this value is nonzero, the dynamic linker "
2730 "disables the use of certain environment variables (see B<ld-linux.so>(8)) "
2731 "and glibc changes other aspects of its behavior. (See also "
2732 "B<secure_getenv>(3).)"
2736 #: build/C/man3/getauxval.3:158
2738 msgid "B<AT_SYSINFO>"
2739 msgstr "B<AT_SYSINFO>"
2742 #: build/C/man3/getauxval.3:162
2744 "The entry point to the system call function in the vDSO. Not present/needed "
2745 "on all architectures (e.g., absent on x86-64)."
2749 #: build/C/man3/getauxval.3:162
2751 msgid "B<AT_SYSINFO_EHDR>"
2752 msgstr "B<AT_SYSINFO_EHDR>"
2755 #: build/C/man3/getauxval.3:167
2757 "The address of a page containing the virtual Dynamic Shared Object (vDSO) "
2758 "that the kernel creates in order to provide fast implementations of certain "
2763 #: build/C/man3/getauxval.3:167
2765 msgid "B<AT_UCACHEBSIZE>"
2766 msgstr "B<AT_UCACHEBSIZE>"
2769 #: build/C/man3/getauxval.3:170
2770 msgid "The unified cache block size."
2774 #: build/C/man3/getauxval.3:170
2780 #: build/C/man3/getauxval.3:173
2781 msgid "The real user ID of the thread."
2785 #: build/C/man3/getauxval.3:181
2787 "On success, B<getauxval>() returns the value corresponding to I<type>. If "
2788 "I<type> is not found, 0 is returned."
2790 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2794 #: build/C/man3/getauxval.3:182
2796 msgid "B<ENOENT> (since glibc 2.19)"
2797 msgstr "B<ENOENT> (glibc 2.19 以降)"
2799 #. commit b9ab448f980e296eac21ac65f53783967cc6037b
2801 #: build/C/man3/getauxval.3:188
2803 "No entry corresponding to I<type> could be found in the auxiliary vector."
2807 #: build/C/man3/getauxval.3:192
2808 msgid "The B<getauxval>() function was added to glibc in version 2.16."
2809 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2812 #: build/C/man3/getauxval.3:197
2813 msgid "The B<getauxval>() function is thread-safe."
2814 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2817 #: build/C/man3/getauxval.3:199
2818 msgid "This function is a nonstandard glibc extension."
2819 msgstr "この関数は非標準で glibc による拡張である。"
2822 #: build/C/man3/getauxval.3:208
2824 "The primary consumer of the information in the auxiliary vector is the "
2825 "dynamic linker B<ld-linux.so>(8). The auxiliary vector is a convenient and "
2826 "efficient shortcut that allows the kernel to communicate a certain set of "
2827 "standard information that the dynamic linker usually or always needs. In "
2828 "some cases, the same information could be obtained by system calls, but "
2829 "using the auxiliary vector is cheaper."
2833 #: build/C/man3/getauxval.3:214
2835 "The auxiliary vector resides just above the argument list and environment in "
2836 "the process address space. The auxiliary vector supplied to a program can "
2837 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2842 #: build/C/man3/getauxval.3:216
2844 msgid " $ LD_SHOW_AUXV=1 sleep 1\n"
2845 msgstr " $ LD_SHOW_AUXV=1 sleep 1\n"
2848 #: build/C/man3/getauxval.3:223
2850 "The auxiliary vector of any process can (subject to file permissions) be "
2851 "obtained via I</proc/PID/auxv>; see B<proc>(5) for more information."
2855 #: build/C/man3/getauxval.3:223 build/C/man3/mktemp.3:105
2856 #: build/C/man3/random.3:189 build/C/man3/rpmatch.3:104
2857 #: build/C/man3/setenv.3:144
2863 #: build/C/man3/getauxval.3:232
2865 "Before the addition of the B<ENOENT> error in glibc 2.19, there was no way "
2866 "to unambiguously distinguish the case where I<type> could not be found from "
2867 "the case where the value corresponding to I<type> was zer0."
2871 #: build/C/man3/getauxval.3:235
2872 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2873 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2876 #: build/C/man3/getenv.3:33
2882 #: build/C/man3/getenv.3:33
2888 #: build/C/man3/getenv.3:36
2889 msgid "getenv, secure_getenv - get an environment variable"
2890 msgstr "getenv, secure_getenv - 環境変数を得る"
2893 #: build/C/man3/getenv.3:41
2895 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2896 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2899 #: build/C/man3/getenv.3:43
2901 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2902 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2905 #: build/C/man3/getenv.3:52
2906 msgid "B<secure_getenv>(): _GNU_SOURCE"
2907 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2910 #: build/C/man3/getenv.3:61
2912 "The B<getenv>() function searches the environment list to find the "
2913 "environment variable I<name>, and returns a pointer to the corresponding "
2916 "関数 B<getenv>() は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2917 "る I<value> 文字列へのポインタを返す。"
2920 #: build/C/man3/getenv.3:69
2922 "The GNU-specific B<secure_getenv>() function is just like B<getenv>() "
2923 "except that it returns NULL in cases where \"secure execution\" is "
2924 "required. Secure execution is required if one of the following conditions "
2925 "was true when the program run by the calling process was loaded:"
2927 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
2928 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
2929 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
2930 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2933 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
2934 #: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
2935 #: build/C/man3/system.3:91
2941 #: build/C/man3/getenv.3:74
2943 "the process's effective user ID did not match its real user ID or the "
2944 "process's effective group ID did not match its real group ID (typically this "
2945 "is the result of executing a set-user-ID or set-group-ID program);"
2947 "プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
2948 "セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
2949 "状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
2953 #: build/C/man3/getenv.3:76
2954 msgid "the effective capability bit was set on the executable file; or"
2955 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
2958 #: build/C/man3/getenv.3:78
2959 msgid "the process has a nonempty permitted capability set."
2960 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
2963 #: build/C/man3/getenv.3:81
2965 "Secure execution may also required if triggered by some Linux security "
2968 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
2972 #: build/C/man3/getenv.3:88
2974 "The B<secure_getenv>() function is intended for use in general-purpose "
2975 "libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
2976 "group-ID programs accidentally trusted the environment."
2978 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
2979 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
2980 "避するために使うことを意図して作られた。"
2983 #: build/C/man3/getenv.3:93
2985 "The B<getenv>() function returns a pointer to the value in the environment, "
2986 "or NULL if there is no match."
2988 "関数 B<getenv>() は、環境における値 value へのポインタを返す。 I<name> に"
2989 "マッチする環境変数が存在しないときには NULL を返す。"
2992 #: build/C/man3/getenv.3:96
2993 msgid "B<secure_getenv>() first appeared in glibc 2.17."
2994 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
2997 #: build/C/man3/getenv.3:99
2998 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
2999 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3002 #: build/C/man3/getenv.3:102
3003 msgid "B<secure_getenv>() is a GNU extension."
3004 msgstr "B<secure_getenv>() は GNU による拡張である。"
3007 #: build/C/man3/getenv.3:104
3008 msgid "The strings in the environment list are of the form I<name=value>."
3009 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
3012 #: build/C/man3/getenv.3:110
3014 "As typically implemented, B<getenv>() returns a pointer to a string within "
3015 "the environment list. The caller must take care not to modify this string, "
3016 "since that would change the environment of the process."
3018 "通常の実装では、 B<getenv>() は環境リスト内の文字列へのポインタを返す。 呼び"
3019 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
3020 "すると、そのプロセスの環境を変化させることになるからである。"
3023 #: build/C/man3/getenv.3:123
3025 "The implementation of B<getenv>() is not required to be reentrant. The "
3026 "string pointed to by the return value of B<getenv>() may be statically "
3027 "allocated, and can be modified by a subsequent call to B<getenv>(), "
3028 "B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
3030 "B<getenv>() の実装はリエントラント (再入可能) であることを要求されていな"
3031 "い。 B<getenv>() の返り値により参照される文字列は静的に割り当てられてもよ"
3032 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3033 "B<unsetenv>(3) の呼び出しにより変更されることがある。"
3036 #: build/C/man3/getenv.3:129
3038 "The \"secure execution\" mode of B<secure_getenv>() is controlled by the "
3039 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
3042 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
3043 "に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
3047 #: build/C/man3/getenv.3:136
3049 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3050 "B<capabilities>(7), B<environ>(7)"
3052 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3053 "B<capabilities>(7), B<environ>(7)"
3056 #: build/C/man3/getloadavg.3:34
3062 #: build/C/man3/getloadavg.3:34
3068 #: build/C/man3/getloadavg.3:37
3069 msgid "getloadavg - get system load averages"
3070 msgstr "getloadavg - get system load averages"
3073 #: build/C/man3/getloadavg.3:41
3076 "B<#define _BSD_SOURCE> /* See feature_test_macros(7) */\n"
3077 "B<#include E<lt>stdlib.hE<gt>>\n"
3079 "B<#define _BSD_SOURCE> /* feature_test_macros(7) 参照 */\n"
3080 "B<#include E<lt>stdlib.hE<gt>>\n"
3083 #: build/C/man3/getloadavg.3:43
3085 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3086 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3089 #: build/C/man3/getloadavg.3:55
3091 "The B<getloadavg>() function returns the number of processes in the system "
3092 "run queue averaged over various periods of time. Up to I<nelem> samples are "
3093 "retrieved and assigned to successive elements of I<loadavg>[]. The system "
3094 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
3095 "and 15 minutes, respectively."
3097 "B<getloadavg>() 関数はシステムの実行キューに入っているプロセスの数を、 様々"
3098 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3099 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3100 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3105 #. function appeared in
3108 #: build/C/man3/getloadavg.3:63
3110 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3111 "of samples actually retrieved is returned."
3113 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3117 #: build/C/man3/getloadavg.3:65
3118 msgid "This function is available in glibc since version 2.2."
3119 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3122 #: build/C/man3/getloadavg.3:70
3123 msgid "The B<getloadavg>() function is thread-safe."
3124 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
3126 #. mdoc seems to have a bug - there must be no newline here
3128 #: build/C/man3/getloadavg.3:74
3129 msgid "Not in POSIX.1-2001. Present on the BSDs and Solaris."
3130 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
3133 #: build/C/man3/getloadavg.3:76
3134 msgid "B<uptime>(1), B<proc>(5)"
3135 msgstr "B<uptime>(1), B<proc>(5)"
3138 #: build/C/man3/getsubopt.3:25
3144 #: build/C/man3/getsubopt.3:25
3150 #: build/C/man3/getsubopt.3:28
3151 msgid "getsubopt - parse suboption arguments from a string"
3152 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3155 #: build/C/man3/getsubopt.3:33
3157 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3160 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3164 #: build/C/man3/getsubopt.3:40
3165 msgid "B<getsubopt>():"
3166 msgstr "B<getsubopt>():"
3169 #: build/C/man3/getsubopt.3:45
3171 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3173 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3176 #: build/C/man3/getsubopt.3:47
3177 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3178 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3181 #: build/C/man3/getsubopt.3:64
3183 "B<getsubopt>() parses the list of comma-separated suboptions provided in "
3184 "I<optionp>. (Such a suboption list is typically produced when B<getopt>(3) "
3185 "is used to parse a command line; see for example the I<-o> option of "
3186 "B<mount>(8).) Each suboption may include an associated value, which is "
3187 "separated from the suboption name by an equal sign. The following is an "
3188 "example of the kind of string that might be passed in I<optionp>:"
3190 "B<getsubopt>() は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
3191 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3) を使ってコ"
3192 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8) の I<-"
3193 "o> オプションを見るとよい。) それぞれのサブオプションには対応する値を指定す"
3194 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
3195 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3198 #: build/C/man3/getsubopt.3:67
3199 msgid "B<ro,name=xyz>"
3200 msgstr "B<ro,name=xyz>"
3203 #: build/C/man3/getsubopt.3:77
3205 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
3206 "to the tokens that B<getsubopt>() will look for in I<optionp>. The tokens "
3207 "should be distinct, null-terminated strings containing at least one "
3208 "character, with no embedded equal signs or commas."
3210 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
3211 "端される。 B<getsubopt>() はこのトークンを I<optionp> 内で探す。 それぞれの"
3212 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
3213 "要がある。 また、等号とカンマを含んではならない。"
3216 #: build/C/man3/getsubopt.3:98
3218 "Each call to B<getsubopt>() returns information about the next unprocessed "
3219 "suboption in I<optionp>. The first equal sign in a suboption (if any) is "
3220 "interpreted as a separator between the name and the value of that "
3221 "suboption. The value extends to the next comma, or (for the last suboption) "
3222 "to the end of the string. If the name of the suboption matches a known name "
3223 "from I<tokens>, and a value string was found, B<getsubopt>() sets "
3224 "I<*valuep> to the address of that string. The first comma in I<optionp> is "
3225 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
3226 "\" for that suboption."
3228 "B<getsubopt>() は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3229 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3230 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3231 "オプションの場合、文字列の末尾) までが、サブオプションの値となる。 サブオプ"
3232 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3233 "B<getsubopt>() は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3234 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3235 "はそのサブオプションの「値の文字列」そのものとなる。"
3238 #: build/C/man3/getsubopt.3:102
3240 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3243 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3244 "*I<valuep> は NULL に設定される。"
3247 #: build/C/man3/getsubopt.3:110
3249 "When B<getsubopt>() returns, I<optionp> points to the next suboption, or to "
3250 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
3251 "suboption was just processed."
3253 "B<getsubopt>() が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3254 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3255 "\\e0\\(aq) を指している。"
3258 #: build/C/man3/getsubopt.3:122
3260 "If the first suboption in I<optionp> is recognized, B<getsubopt>() returns "
3261 "the index of the matching suboption element in I<tokens>. Otherwise, -1 is "
3262 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
3264 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>() は最初のサブ"
3265 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3266 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3270 #: build/C/man3/getsubopt.3:129
3272 "Since I<*optionp> is changed, the first suboption before the call to "
3273 "B<getsubopt>() is not (necessarily) the same as the first suboption after "
3276 "I<*optionp> は変更されるので、 B<getsubopt>() を呼び出す前の最初のサブオプ"
3277 "ションは B<getsubopt>() を呼び出し後のサブオプションと必ずしも同じとは限らな"
3281 #: build/C/man3/getsubopt.3:134
3282 msgid "The B<getsubopt>() function is thread-safe."
3283 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
3286 #: build/C/man3/getsubopt.3:143
3288 "Since B<getsubopt>() overwrites any commas it finds in the string "
3289 "I<*optionp>, that string must be writable; it cannot be a string constant."
3291 "B<getsubopt>() は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3292 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3296 #: build/C/man3/getsubopt.3:145
3297 msgid "The following program expects suboptions following a \"-o\" option."
3299 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3303 #: build/C/man3/getsubopt.3:151
3306 "#define _XOPEN_SOURCE 500\n"
3307 "#include E<lt>stdlib.hE<gt>\n"
3308 "#include E<lt>assert.hE<gt>\n"
3309 "#include E<lt>stdio.hE<gt>\n"
3311 "#define _XOPEN_SOURCE 500\n"
3312 "#include E<lt>stdlib.hE<gt>\n"
3313 "#include E<lt>assert.hE<gt>\n"
3314 "#include E<lt>stdio.hE<gt>\n"
3317 #: build/C/man3/getsubopt.3:169
3321 "main(int argc, char **argv)\n"
3328 " char *const token[] = {\n"
3329 " [RO_OPT] = \"ro\",\n"
3330 " [RW_OPT] = \"rw\",\n"
3331 " [NAME_OPT] = \"name\",\n"
3339 "main(int argc, char **argv)\n"
3346 " char *const token[] = {\n"
3347 " [RO_OPT] = \"ro\",\n"
3348 " [RW_OPT] = \"rw\",\n"
3349 " [NAME_OPT] = \"name\",\n"
3357 #: build/C/man3/getsubopt.3:174
3360 " int readonly = 0;\n"
3361 " int readwrite = 0;\n"
3362 " char *name = NULL;\n"
3363 " int errfnd = 0;\n"
3365 " int readonly = 0;\n"
3366 " int readwrite = 0;\n"
3367 " char *name = NULL;\n"
3368 " int errfnd = 0;\n"
3371 #: build/C/man3/getsubopt.3:180
3374 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3376 " case \\(aqo\\(aq:\n"
3377 " subopts = optarg;\n"
3378 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3380 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3382 " case \\(aqo\\(aq:\n"
3383 " subopts = optarg;\n"
3384 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3387 #: build/C/man3/getsubopt.3:185
3390 " switch (getsubopt(&subopts, token, &value)) {\n"
3395 " switch (getsubopt(&subopts, token, &value)) {\n"
3401 #: build/C/man3/getsubopt.3:189
3413 #: build/C/man3/getsubopt.3:197
3417 " if (value == NULL) {\n"
3418 " fprintf(stderr, \"Missing value for \"\n"
3419 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3425 " if (value == NULL) {\n"
3426 " fprintf(stderr, \"Missing value for \"\n"
3427 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3433 #: build/C/man3/getsubopt.3:200
3443 #: build/C/man3/getsubopt.3:214
3447 " fprintf(stderr, \"No match found \"\n"
3448 " \"for token: /%s/\\en\", value);\n"
3453 " if (readwrite && readonly) {\n"
3454 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3455 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3461 " fprintf(stderr, \"No match found \"\n"
3462 " \"for token: /%s/\\en\", value);\n"
3467 " if (readwrite && readonly) {\n"
3468 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3469 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3475 #: build/C/man3/getsubopt.3:219
3489 #: build/C/man3/getsubopt.3:226
3492 " if (errfnd || argc == 1) {\n"
3493 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3494 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3495 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3496 " exit(EXIT_FAILURE);\n"
3499 " if (errfnd || argc == 1) {\n"
3500 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3501 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3502 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3503 " exit(EXIT_FAILURE);\n"
3507 #: build/C/man3/getsubopt.3:228
3509 msgid " /* Remainder of program... */\n"
3510 msgstr " /* Remainder of program... */\n"
3513 #: build/C/man3/getsubopt.3:233
3514 msgid "B<getopt>(3)"
3515 msgstr "B<getopt>(3)"
3518 #: build/C/man3/malloc.3:33
3524 #: build/C/man3/malloc.3:33
3530 #: build/C/man3/malloc.3:36
3531 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3532 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
3535 #: build/C/man3/malloc.3:44
3538 "B<void *malloc(size_t >I<size>B<);>\n"
3539 "B<void free(void >I<*ptr>B<);>\n"
3540 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3541 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3543 "B<void *malloc(size_t >I<size>B<);>\n"
3544 "B<void free(void >I<*ptr>B<);>\n"
3545 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3546 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3550 #: build/C/man3/malloc.3:61
3552 "The B<malloc>() function allocates I<size> bytes and returns a pointer to "
3553 "the allocated memory. I<The memory is not initialized>. If I<size> is 0, "
3554 "then B<malloc>() returns either NULL, or a unique pointer value that can "
3555 "later be successfully passed to B<free>()."
3557 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
3558 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
3559 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3563 #: build/C/man3/malloc.3:77
3565 "The B<free>() function frees the memory space pointed to by I<ptr>, which "
3566 "must have been returned by a previous call to B<malloc>(), B<calloc>(), or "
3567 "B<realloc>(). Otherwise, or if I<free(ptr)> has already been called before, "
3568 "undefined behavior occurs. If I<ptr> is NULL, no operation is performed."
3570 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
3572 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3574 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
3576 "されていたりした場合の動作は定義されていない。\n"
3577 "I<ptr> が NULL の場合には、何の動作も行われない。"
3581 #: build/C/man3/malloc.3:96
3583 "The B<calloc>() function allocates memory for an array of I<nmemb> elements "
3584 "of I<size> bytes each and returns a pointer to the allocated memory. The "
3585 "memory is set to zero. If I<nmemb> or I<size> is 0, then B<calloc>() "
3586 "returns either NULL, or a unique pointer value that can later be "
3587 "successfully passed to B<free>()."
3589 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
3590 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
3592 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3593 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3597 #: build/C/man3/malloc.3:132
3599 "The B<realloc>() function changes the size of the memory block pointed to "
3600 "by I<ptr> to I<size> bytes. The contents will be unchanged in the range "
3601 "from the start of the region up to the minimum of the old and new sizes. If "
3602 "the new size is larger than the old size, the added memory will I<not> be "
3603 "initialized. If I<ptr> is NULL, then the call is equivalent to "
3604 "I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
3605 "I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>. Unless "
3606 "I<ptr> is NULL, it must have been returned by an earlier call to "
3607 "B<malloc>(), B<calloc>() or B<realloc>(). If the area pointed to was "
3608 "moved, a I<free(ptr)> is done."
3610 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
3612 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3613 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
3615 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
3616 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
3617 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
3619 "B<realloc>() のいずれかが返した値でなければならない。\n"
3620 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3623 #: build/C/man3/malloc.3:152
3625 "The B<malloc>() and B<calloc>() functions return a pointer to the "
3626 "allocated memory, which is suitably aligned for any built-in type. On "
3627 "error, these functions return NULL. NULL may also be returned by a "
3628 "successful call to B<malloc>() with a I<size> of zero, or by a successful "
3629 "call to B<calloc>() with I<nmemb> or I<size> equal to zero."
3631 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 "
3632 "割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントさ"
3633 "れる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した "
3634 "B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した"
3638 #: build/C/man3/malloc.3:156
3639 msgid "The B<free>() function returns no value."
3640 msgstr "B<free>() 関数は値を返さない。"
3643 #: build/C/man3/malloc.3:171
3645 "The B<realloc>() function returns a pointer to the newly allocated memory, "
3646 "which is suitably aligned for any built-in type and may be different from "
3647 "I<ptr>, or NULL if the request fails. If I<size> was equal to 0, either "
3648 "NULL or a pointer suitable to be passed to B<free>() is returned. If "
3649 "B<realloc>() fails, the original block is left untouched; it is not freed "
3652 "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあら"
3653 "ゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なる"
3654 "こともある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合に"
3655 "は、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() "
3656 "が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動され"
3660 #: build/C/man3/malloc.3:173
3665 #: build/C/man3/malloc.3:189
3667 "By default, Linux follows an optimistic memory allocation strategy. This "
3668 "means that when B<malloc>() returns non-NULL there is no guarantee that the "
3669 "memory really is available. In case it turns out that the system is out of "
3670 "memory, one or more processes will be killed by the OOM killer. For more "
3671 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
3672 "proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
3673 "I<Documentation/vm/overcommit-accounting>."
3675 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
3676 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
3678 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
3679 "killer) によって一つまたは複数のプロセスが削除される。\n"
3680 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
3681 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
3682 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
3685 #: build/C/man3/malloc.3:210
3687 "Normally, B<malloc>() allocates memory from the heap, and adjusts the size "
3688 "of the heap as required, using B<sbrk>(2). When allocating blocks of memory "
3689 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>() implementation "
3690 "allocates the memory as a private anonymous mapping using B<mmap>(2). "
3691 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
3692 "B<mallopt>(3). Allocations performed using B<mmap>(2) are unaffected by "
3693 "the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
3695 "通常、 B<malloc>() は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
3696 "ズを B<sbrk>(2) を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
3697 "リブロックを割り当てる場合、 glibc の B<malloc>() 実装は B<mmap>(2) を使っ"
3698 "てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
3699 "る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3) を使っ"
3700 "て調整できる。 B<mmap>(2) を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
3701 "ソース上限の影響を受けない (B<getrlimit>(2) 参照)。"
3704 #: build/C/man3/malloc.3:228
3706 "To avoid corruption in multithreaded applications, mutexes are used "
3707 "internally to protect the memory-management data structures employed by "
3708 "these functions. In a multithreaded application in which threads "
3709 "simultaneously allocate and free memory, there could be contention for these "
3710 "mutexes. To scalably handle memory allocation in multithreaded "
3711 "applications, glibc creates additional I<memory allocation arenas> if mutex "
3712 "contention is detected. Each arena is a large region of memory that is "
3713 "internally allocated by the system (using B<brk>(2) or B<mmap>(2)), and "
3714 "managed with its own mutexes."
3716 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3718 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
3719 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
3721 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3723 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3725 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
3726 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3727 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3730 #: build/C/man3/malloc.3:246
3732 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>() to "
3733 "set I<errno> to B<ENOMEM> upon failure. Glibc assumes that this is done "
3734 "(and the glibc versions of these routines do this); if you use a private "
3735 "malloc implementation that does not set I<errno>, then certain library "
3736 "routines may fail without having a reason in I<errno>."
3738 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
3739 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
3740 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
3741 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
3742 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
3743 "いライブラリルーチンがあるかもしれない。"
3746 #: build/C/man3/malloc.3:255
3748 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>() are almost "
3749 "always related to heap corruption, such as overflowing an allocated chunk or "
3750 "freeing the same pointer twice."
3752 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>() における事故は、 ほとんど"
3753 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3754 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3757 #: build/C/man3/malloc.3:261
3759 "The B<malloc>() implementation is tunable via environment variables; see "
3760 "B<mallopt>(3) for details."
3762 "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
3766 #: build/C/man3/malloc.3:284
3768 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3769 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3770 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3772 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3773 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3774 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3777 #: build/C/man3/mblen.3:16
3783 #: build/C/man3/mblen.3:16
3789 #: build/C/man3/mblen.3:19
3790 msgid "mblen - determine number of bytes in next multibyte character"
3791 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3794 #: build/C/man3/mblen.3:24
3796 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3797 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3800 #: build/C/man3/mblen.3:43
3802 "If I<s> is not NULL, the B<mblen>() function inspects at most I<n> bytes of "
3803 "the multibyte string starting at I<s> and extracts the next complete "
3804 "multibyte character. It uses a static anonymous shift state known only to "
3805 "the B<mblen>() function. If the multibyte character is not the null wide "
3806 "character, it returns the number of bytes that were consumed from I<s>. If "
3807 "the multibyte character is the null wide character, it returns 0."
3809 "I<s> が NULL でなければ、 B<mblen>() 関数は I<s> から始まる最大 I<n> バイト"
3810 "のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
3811 "は B<mblen>() 関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
3812 "ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
3813 "マルチバイト文字がヌルワイド文字ならば 0 を返す。"
3816 #: build/C/man3/mblen.3:57
3818 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3819 "character, B<mblen>() returns -1. This can happen even if I<n> is greater "
3820 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3823 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3824 "B<mblen>() は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3825 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3828 #: build/C/man3/mblen.3:64
3830 "If the multibyte string starting at I<s> contains an invalid multibyte "
3831 "sequence before the next complete character, B<mblen>() also returns -1."
3833 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3834 "を含んでいる場合にも、 B<mblen>() は -1 を返す。"
3836 #. The Dinkumware doc and the Single UNIX specification say this, but
3837 #. glibc doesn't implement this.
3839 #: build/C/man3/mblen.3:75
3841 "If I<s> is NULL, the B<mblen>() function resets the shift state, known to "
3842 "only this function, to the initial state, and returns nonzero if the "
3843 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3845 "I<s> が NULL ならば、 B<mblen>() 関数はこの関数のみが 使用するシフト状態を初"
3846 "期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
3847 "シフト状態を持たない場合にはゼロを返す。"
3850 #: build/C/man3/mblen.3:87
3852 "The B<mblen>() function returns the number of bytes parsed from the "
3853 "multibyte sequence starting at I<s>, if a non-null wide character was "
3854 "recognized. It returns 0, if a null wide character was recognized. It "
3855 "returns -1, if an invalid multibyte sequence was encountered or if it "
3856 "couldn't parse a complete multibyte character."
3858 "B<mblen>() 関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
3859 "を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
3860 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3864 #: build/C/man3/mblen.3:92
3865 msgid "The B<mblen>() function is not thread-safe."
3866 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3869 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
3870 #: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
3871 #: build/C/man3/wctomb.3:91
3876 #: build/C/man3/mblen.3:101
3878 "The behavior of B<mblen>() depends on the B<LC_CTYPE> category of the "
3881 "B<mblen>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3884 #: build/C/man3/mblen.3:106
3886 "The function B<mbrlen>(3) provides a better interface to the same "
3888 msgstr "B<mbrlen>(3) 関数は同じ機能のより良いインタフェースを提供する。"
3891 #: build/C/man3/mblen.3:107
3892 msgid "B<mbrlen>(3)"
3893 msgstr "B<mbrlen>(3)"
3896 #: build/C/man3/mbstowcs.3:18
3902 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
3903 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
3904 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3910 #: build/C/man3/mbstowcs.3:21
3911 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3912 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3915 #: build/C/man3/mbstowcs.3:26
3917 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3918 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3921 #: build/C/man3/mbstowcs.3:45
3923 "If I<dest> is not NULL, the B<mbstowcs>() function converts the multibyte "
3924 "string I<src> to a wide-character string starting at I<dest>. At most I<n> "
3925 "wide characters are written to I<dest>. The conversion starts in the "
3926 "initial state. The conversion can stop for three reasons:"
3928 "I<dest> が NULL でなければ B<mbstowcs>() 関数は マルチバイト文字列 I<*src> "
3929 "を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
3930 "ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
3934 #: build/C/man3/mbstowcs.3:45
3940 #: build/C/man3/mbstowcs.3:50
3942 "An invalid multibyte sequence has been encountered. In this case, "
3943 "I<(size_t)\\ -1> is returned."
3944 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3947 #: build/C/man3/mbstowcs.3:50
3953 #: build/C/man3/mbstowcs.3:58
3955 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>. In "
3956 "this case, the number of wide characters written to I<dest> is returned, but "
3957 "the shift state at this point is lost."
3959 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
3960 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
3961 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
3965 #: build/C/man3/mbstowcs.3:58
3971 #: build/C/man3/mbstowcs.3:64
3973 "The multibyte string has been completely converted, including the "
3974 "terminating null wide character (\\(aq\\e0\\(aq). In this case, the number "
3975 "of wide characters written to I<dest>, excluding the terminating null wide "
3976 "character, is returned."
3978 "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
3979 "換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
3983 #: build/C/man3/mbstowcs.3:70
3985 "The programmer must ensure that there is room for at least I<n> wide "
3986 "characters at I<dest>."
3988 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
3989 "があることを保証しなければならない。"
3992 #: build/C/man3/mbstowcs.3:78
3994 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
3995 "except that the converted wide characters are not written out to memory, and "
3996 "that no length limit exists."
3998 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
3999 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
4002 #: build/C/man3/mbstowcs.3:84
4004 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
4005 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
4007 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4008 "src,0)+1> 以上であることを保証すべきである。"
4011 #: build/C/man3/mbstowcs.3:94
4013 "The B<mbstowcs>() function returns the number of wide characters that make "
4014 "up the converted part of the wide-character string, not including the "
4015 "terminating null wide character. If an invalid multibyte sequence was "
4016 "encountered, I<(size_t)\\ -1> is returned."
4018 "B<mbstowcs>() 関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4019 "ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
4020 "I<(size_t)\\ -1> を返す。"
4023 #: build/C/man3/mbstowcs.3:103
4025 "The behavior of B<mbstowcs>() depends on the B<LC_CTYPE> category of the "
4028 "B<mbstowcs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4031 #: build/C/man3/mbstowcs.3:108
4033 "The function B<mbsrtowcs>(3) provides a better interface to the same "
4035 msgstr "B<mbsrtowcs>(3) 関数は同じ機能のより良いインターフェースを提供する。"
4038 #: build/C/man3/mbstowcs.3:113
4040 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
4041 "the wide character classification functions. An example run is the "
4044 "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
4045 "したものである。実行例は以下のようになる。"
4048 #: build/C/man3/mbstowcs.3:120
4051 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4052 "Length of source string (excluding terminator):\n"
4054 " 6 multibyte characters\n"
4056 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4057 "Length of source string (excluding terminator):\n"
4059 " 6 multibyte characters\n"
4062 #: build/C/man3/mbstowcs.3:128
4065 "Wide character string is: Grüße! (6 characters)\n"
4073 "Wide character string is: Grüße! (6 characters)\n"
4082 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
4084 msgid "Program source"
4088 #: build/C/man3/mbstowcs.3:137
4091 "#include E<lt>locale.hE<gt>\n"
4092 "#include E<lt>wchar.hE<gt>\n"
4093 "#include E<lt>stdio.hE<gt>\n"
4094 "#include E<lt>string.hE<gt>\n"
4095 "#include E<lt>stdlib.hE<gt>\n"
4097 "#include E<lt>locale.hE<gt>\n"
4098 "#include E<lt>wchar.hE<gt>\n"
4099 "#include E<lt>stdio.hE<gt>\n"
4100 "#include E<lt>string.hE<gt>\n"
4101 "#include E<lt>stdlib.hE<gt>\n"
4104 #: build/C/man3/mbstowcs.3:144
4108 "main(int argc, char *argv[])\n"
4110 " size_t mbslen; /* Number of multibyte characters in source */\n"
4111 " wchar_t *wcs; /* Pointer to converted wide character string */\n"
4115 "main(int argc, char *argv[])\n"
4117 " size_t mbslen; /* Number of multibyte characters in source */\n"
4118 " wchar_t *wcs; /* Pointer to converted wide character string */\n"
4122 #: build/C/man3/mbstowcs.3:149
4125 " if (argc E<lt> 3) {\n"
4126 " fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4127 " exit(EXIT_FAILURE);\n"
4130 " if (argc E<lt> 3) {\n"
4131 " fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4132 " exit(EXIT_FAILURE);\n"
4136 #: build/C/man3/mbstowcs.3:151
4138 msgid " /* Apply the specified locale */\n"
4139 msgstr " /* Apply the specified locale */\n"
4142 #: build/C/man3/mbstowcs.3:156
4145 " if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4146 " perror(\"setlocale\");\n"
4147 " exit(EXIT_FAILURE);\n"
4150 " if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4151 " perror(\"setlocale\");\n"
4152 " exit(EXIT_FAILURE);\n"
4156 #: build/C/man3/mbstowcs.3:159
4159 " /* Calculate the length required to hold argv[2] converted to\n"
4160 " a wide character string */\n"
4162 " /* Calculate the length required to hold argv[2] converted to\n"
4163 " a wide character string */\n"
4166 #: build/C/man3/mbstowcs.3:165
4169 " mbslen = mbstowcs(NULL, argv[2], 0);\n"
4170 " if (mbslen == (size_t) -1) {\n"
4171 " perror(\"mbstowcs\");\n"
4172 " exit(EXIT_FAILURE);\n"
4175 " mbslen = mbstowcs(NULL, argv[2], 0);\n"
4176 " if (mbslen == (size_t) -1) {\n"
4177 " perror(\"mbstowcs\");\n"
4178 " exit(EXIT_FAILURE);\n"
4182 #: build/C/man3/mbstowcs.3:167
4184 msgid " /* Describe the source string to the user */\n"
4185 msgstr " /* Describe the source string to the user */\n"
4188 #: build/C/man3/mbstowcs.3:171
4191 " printf(\"Length of source string (excluding terminator):\\en\");\n"
4192 " printf(\" %zu bytes\\en\", strlen(argv[2]));\n"
4193 " printf(\" %zu multibyte characters\\en\\en\", mbslen);\n"
4195 " printf(\"Length of source string (excluding terminator):\\en\");\n"
4196 " printf(\" %zu bytes\\en\", strlen(argv[2]));\n"
4197 " printf(\" %zu multibyte characters\\en\\en\", mbslen);\n"
4200 #: build/C/man3/mbstowcs.3:174
4203 " /* Allocate wide character string of the desired size. Add 1\n"
4204 " to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4206 " /* Allocate wide character string of the desired size. Add 1\n"
4207 " to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4210 #: build/C/man3/mbstowcs.3:180
4213 " wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4214 " if (wcs == NULL) {\n"
4215 " perror(\"calloc\");\n"
4216 " exit(EXIT_FAILURE);\n"
4219 " wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4220 " if (wcs == NULL) {\n"
4221 " perror(\"calloc\");\n"
4222 " exit(EXIT_FAILURE);\n"
4226 #: build/C/man3/mbstowcs.3:183
4229 " /* Convert the multibyte character string in argv[2] to a\n"
4230 " wide character string */\n"
4232 " /* Convert the multibyte character string in argv[2] to a\n"
4233 " wide character string */\n"
4236 #: build/C/man3/mbstowcs.3:188
4239 " if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4240 " perror(\"mbstowcs\");\n"
4241 " exit(EXIT_FAILURE);\n"
4244 " if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4245 " perror(\"mbstowcs\");\n"
4246 " exit(EXIT_FAILURE);\n"
4250 #: build/C/man3/mbstowcs.3:191
4253 " printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4256 " printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4260 #: build/C/man3/mbstowcs.3:194
4263 " /* Now do some inspection of the classes of the characters in\n"
4264 " the wide character string */\n"
4266 " /* Now do some inspection of the classes of the characters in\n"
4267 " the wide character string */\n"
4270 #: build/C/man3/mbstowcs.3:197
4273 " for (wp = wcs; *wp != 0; wp++) {\n"
4274 " printf(\" %lc \", (wint_t) *wp);\n"
4276 " for (wp = wcs; *wp != 0; wp++) {\n"
4277 " printf(\" %lc \", (wint_t) *wp);\n"
4280 #: build/C/man3/mbstowcs.3:201
4283 " if (!iswalpha(*wp))\n"
4285 " printf(\"alpha \");\n"
4287 " if (!iswalpha(*wp))\n"
4289 " printf(\"alpha \");\n"
4292 #: build/C/man3/mbstowcs.3:205
4295 " if (iswalpha(*wp)) {\n"
4296 " if (iswupper(*wp))\n"
4297 " printf(\"upper \");\n"
4299 " if (iswalpha(*wp)) {\n"
4300 " if (iswupper(*wp))\n"
4301 " printf(\"upper \");\n"
4304 #: build/C/man3/mbstowcs.3:209
4307 " if (iswlower(*wp))\n"
4308 " printf(\"lower \");\n"
4311 " if (iswlower(*wp))\n"
4312 " printf(\"lower \");\n"
4316 #: build/C/man3/mbstowcs.3:212
4319 " putchar(\\(aq\\en\\(aq);\n"
4322 " putchar(\\(aq\\en\\(aq);\n"
4326 #: build/C/man3/mbstowcs.3:221
4328 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4330 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4333 #: build/C/man3/mbtowc.3:16
4339 #: build/C/man3/mbtowc.3:19
4340 msgid "mbtowc - convert a multibyte sequence to a wide character"
4341 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4344 #: build/C/man3/mbtowc.3:24
4346 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4347 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4350 #: build/C/man3/mbtowc.3:50
4352 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
4353 "NULL. In this case, the B<mbtowc>() function inspects at most I<n> bytes "
4354 "of the multibyte string starting at I<s>, extracts the next complete "
4355 "multibyte character, converts it to a wide character and stores it at "
4356 "I<*pwc>. It updates an internal shift state known only to the B<mbtowc>() "
4357 "function. If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
4358 "returns the number of bytes that were consumed from I<s>, otherwise it "
4361 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
4362 "の場合は B<mbtowc>() 関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
4363 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
4364 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
4365 "る。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費"
4366 "するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
4369 #: build/C/man3/mbtowc.3:64
4371 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
4372 "character, or if they contain an invalid multibyte sequence, B<mbtowc>() "
4373 "returns -1. This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
4374 "multibyte string contains redundant shift sequences."
4376 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4377 "なマルチバイト列を含んでいる場合には B<mbtowc>() は -1 を返す。マルチバイト"
4378 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4379 "場合もこのようなことが 起こりえる。"
4382 #: build/C/man3/mbtowc.3:74
4384 "A different case is when I<s> is not NULL but I<pwc> is NULL. In this case, "
4385 "the B<mbtowc>() function behaves as above, except that it does not store "
4386 "the converted wide character in memory."
4388 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>() 関数は 上記と同様に"
4389 "動作するが、変換したワイド文字はメモリには書き込まれない。"
4391 #. The Dinkumware doc and the Single UNIX specification say this, but
4392 #. glibc doesn't implement this.
4394 #: build/C/man3/mbtowc.3:93
4396 "A third case is when I<s> is NULL. In this case, I<pwc> and I<n> are "
4397 "ignored. The B<mbtowc>() function resets the shift state, only known to "
4398 "this function, to the initial state, and returns nonzero if the encoding has "
4399 "nontrivial shift state, or zero if the encoding is stateless."
4401 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4402 "B<mbtowc>() 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4403 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4407 #: build/C/man3/mbtowc.3:105
4409 "If I<s> is not NULL, the B<mbtowc>() function returns the number of "
4410 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
4413 "I<s> が NULL でなければ B<mbtowc>() 関数は I<s> から消費した バイト数を、"
4414 "I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4417 #: build/C/man3/mbtowc.3:113
4419 "If I<s> is NULL, the B<mbtowc>() function returns nonzero if the encoding "
4420 "has nontrivial shift state, or zero if the encoding is stateless."
4422 "I<s> が NULL ならば B<mbtowc>() 関数は文字符号がシフト状態に依存 していれば"
4423 "ゼロ以外を、状態によらなければゼロを返す。"
4426 #: build/C/man3/mbtowc.3:122
4428 "The behavior of B<mbtowc>() depends on the B<LC_CTYPE> category of the "
4431 "B<mbtowc>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4434 #: build/C/man3/mbtowc.3:128
4436 "This function is not multithread safe. The function B<mbrtowc>(3) provides "
4437 "a better interface to the same functionality."
4439 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3) 関数は 同じ機能のよ"
4443 #: build/C/man3/mbtowc.3:134
4445 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4448 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4452 #: build/C/man3/mkdtemp.3:26
4458 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
4464 #: build/C/man3/mkdtemp.3:29
4465 msgid "mkdtemp - create a unique temporary directory"
4466 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4469 #: build/C/man3/mkdtemp.3:34
4471 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4472 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4475 #: build/C/man3/mkdtemp.3:42
4476 msgid "B<mkdtemp>():"
4477 msgstr "B<mkdtemp>():"
4480 #: build/C/man3/mkdtemp.3:47
4482 msgstr "_BSD_SOURCE"
4485 #: build/C/man3/mkdtemp.3:49
4486 msgid "|| /* Since glibc 2.10: */"
4487 msgstr "|| /* Since glibc 2.10: */"
4490 #: build/C/man3/mkdtemp.3:51
4491 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4492 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4495 #: build/C/man3/mkdtemp.3:68
4497 "The B<mkdtemp>() function generates a uniquely named temporary directory "
4498 "from I<template>. The last six characters of I<template> must be XXXXXX and "
4499 "these are replaced with a string that makes the directory name unique. The "
4500 "directory is then created with permissions 0700. Since it will be modified, "
4501 "I<template> must not be a string constant, but should be declared as a "
4504 "B<mkdtemp>() 関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4505 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4506 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4507 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4508 "字列定数にしてはならず、文字配列にすべきである。"
4511 #: build/C/man3/mkdtemp.3:75
4513 "The B<mkdtemp>() function returns a pointer to the modified template string "
4514 "on success, and NULL on failure, in which case I<errno> is set appropriately."
4516 "成功した場合、 B<mkdtemp>() 関数は 変更された template 文字列へのポインタを"
4517 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4520 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
4521 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
4522 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
4523 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
4524 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
4525 #: build/C/man3/strtoul.3:149
4531 #: build/C/man3/mkdtemp.3:80
4533 "The last six characters of I<template> were not XXXXXX. Now I<template> is "
4536 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4540 #: build/C/man3/mkdtemp.3:84
4541 msgid "Also see B<mkdir>(2) for other possible values for I<errno>."
4542 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2) を参照すること。"
4545 #: build/C/man3/mkdtemp.3:86
4546 msgid "Available since glibc 2.1.91."
4547 msgstr "glibc 2.1.91 以降で利用可能。"
4550 #: build/C/man3/mkdtemp.3:91
4551 msgid "The B<mkdtemp>() function is thread-safe."
4552 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
4554 #. As at 2006, this function is being considered for a revision of POSIX.1
4555 #. Also in NetBSD 1.4.
4557 #: build/C/man3/mkdtemp.3:96
4558 msgid "POSIX.1-2008. This function is present on the BSDs."
4559 msgstr "POSIX.1-2008. この関数は BSD に存在する。"
4562 #: build/C/man3/mkdtemp.3:102
4564 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4567 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4571 #: build/C/man3/mkstemp.3:35
4577 #: build/C/man3/mkstemp.3:38
4578 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4580 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4584 #: build/C/man3/mkstemp.3:43
4586 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4587 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4590 #: build/C/man3/mkstemp.3:45
4592 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4593 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4596 #: build/C/man3/mkstemp.3:47
4598 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4599 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4602 #: build/C/man3/mkstemp.3:49
4604 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4605 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4608 #: build/C/man3/mkstemp.3:57
4609 msgid "B<mkstemp>():"
4610 msgstr "B<mkstemp>():"
4613 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4615 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4616 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4618 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4619 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4622 #: build/C/man3/mkstemp.3:64
4623 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4624 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4627 #: build/C/man3/mkstemp.3:70
4628 msgid "B<mkostemp>(): _GNU_SOURCE"
4629 msgstr "B<mkostemp>(): _GNU_SOURCE"
4632 #: build/C/man3/mkstemp.3:73
4633 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4634 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4637 #: build/C/man3/mkstemp.3:76
4638 msgid "B<mkostemps>(): _GNU_SOURCE"
4639 msgstr "B<mkostemps>(): _GNU_SOURCE"
4642 #: build/C/man3/mkstemp.3:83
4644 "The B<mkstemp>() function generates a unique temporary filename from "
4645 "I<template>, creates and opens the file, and returns an open file descriptor "
4648 "関数 B<mkstemp>() は引数 I<template> から他と重ならない一時ファイル名を生成"
4649 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4653 #: build/C/man3/mkstemp.3:91
4655 "The last six characters of I<template> must be \"XXXXXX\" and these are "
4656 "replaced with a string that makes the filename unique. Since it will be "
4657 "modified, I<template> must not be a string constant, but should be declared "
4658 "as a character array."
4660 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4661 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4662 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4666 #: build/C/man3/mkstemp.3:99
4668 "The file is created with permissions 0600, that is, read plus write for "
4669 "owner only. The returned file descriptor provides both read and write "
4670 "access to the file. The file is opened with the B<open>(2) B<O_EXCL> flag, "
4671 "guaranteeing that the caller is the process that creates the file."
4673 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4674 "るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
4675 "る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
4676 "ファイルは B<open>(2) の B<O_EXCL> フラグ付きでオープンされる。"
4678 #. Reportedly, FreeBSD
4680 #: build/C/man3/mkstemp.3:130
4682 "The B<mkostemp>() function is like B<mkstemp>(), with the difference that "
4683 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
4684 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>. Note that "
4685 "when creating the file, B<mkostemp>() includes the values B<O_RDWR>, "
4686 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
4687 "including these values in the I<flags> argument given to B<mkostemp>() is "
4688 "unnecessary, and produces errors on some systems."
4690 "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, "
4691 "B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と"
4692 "同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す "
4693 "I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 "
4694 "B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システム"
4695 "によってはエラーが発生する点に注意すること。"
4698 #: build/C/man3/mkstemp.3:146
4700 "The B<mkstemps>() function is like B<mkstemp>(), except that the string in "
4701 "I<template> contains a suffix of I<suffixlen> characters. Thus, I<template> "
4702 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
4705 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4706 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4707 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4708 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4711 #: build/C/man3/mkstemp.3:155
4713 "The B<mkostemps>() function is to B<mkstemps>() as B<mkostemp>() is to "
4716 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4717 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4720 #: build/C/man3/mkstemp.3:161
4722 "On success, these functions return the file descriptor of the temporary "
4723 "file. On error, -1 is returned, and I<errno> is set appropriately."
4725 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
4726 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
4729 #: build/C/man3/mkstemp.3:162
4735 #: build/C/man3/mkstemp.3:166
4737 "Could not create a unique temporary filename. Now the contents of "
4738 "I<template> are undefined."
4740 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4743 #: build/C/man3/mkstemp.3:174
4745 "For B<mkstemp>() and B<mkostemp>(): The last six characters of I<template> "
4746 "were not XXXXXX; now I<template> is unchanged."
4748 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4749 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4750 "この場合、I<template> は変更されない。"
4753 #: build/C/man3/mkstemp.3:185
4755 "For B<mkstemps>() and B<mkostemps>(): I<template> is less than I<(6 + "
4756 "suffixlen)> characters long, or the last 6 characters before the suffix in "
4757 "I<template> were not XXXXXX."
4759 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4760 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4761 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4764 #: build/C/man3/mkstemp.3:188
4766 "These functions may also fail with any of the errors described for "
4769 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4773 #: build/C/man3/mkstemp.3:195
4775 "B<mkostemp>() is available since glibc 2.7. B<mkstemps>() and "
4776 "B<mkostemps>() are available since glibc 2.11."
4778 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4779 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4782 #: build/C/man3/mkstemp.3:204
4784 "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>() "
4785 "functions are thread-safe."
4787 "関数 B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), B<mkostemps>() はスレッド"
4791 #: build/C/man3/mkstemp.3:207
4792 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4793 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4795 #. mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4798 #: build/C/man3/mkstemp.3:212
4799 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4801 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4804 #: build/C/man3/mkstemp.3:217
4805 msgid "B<mkostemp>() and B<mkostemps>(): are glibc extensions."
4806 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4809 #: build/C/man3/mkstemp.3:224
4811 "In glibc versions 2.06 and earlier, the file is created with permissions "
4812 "0666, that is, read and write for all users. This old behavior may be a "
4813 "security risk, especially since other UNIX flavors use 0600, and somebody "
4814 "might overlook this detail when porting programs. POSIX.1-2008 adds a "
4815 "requirement that the file be created with mode 0600."
4817 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4818 "ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
4819 "る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
4820 "る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
4821 "ルを許可モード 0600 で作成することが必須要件として追加された。"
4823 #. The prototype for
4827 #. for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
4830 #: build/C/man3/mkstemp.3:242
4832 "More generally, the POSIX specification of B<mkstemp>() does not say "
4833 "anything about file modes, so the application should make sure its file mode "
4834 "creation mask (see B<umask>(2)) is set appropriately before calling "
4835 "B<mkstemp>() (and B<mkostemp>())."
4837 "より一般的には、 B<mkstemp>() の POSIX 規定ではファイルモードについて何も述"
4838 "べていない。 従って、アプリケーションは B<mkstemp>() (や B<mkostemp>()) を"
4839 "呼び出す前にファイルモード生成マスク (B<umask>(2) 参照) が適切に設定されてい"
4843 #: build/C/man3/mkstemp.3:247
4844 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4846 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4849 #: build/C/man3/mktemp.3:34
4855 #: build/C/man3/mktemp.3:37
4856 msgid "mktemp - make a unique temporary filename"
4857 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4860 #: build/C/man3/mktemp.3:42
4862 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4863 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4866 #: build/C/man3/mktemp.3:50
4867 msgid "B<mktemp>():"
4868 msgstr "B<mktemp>():"
4871 #: build/C/man3/mktemp.3:59
4874 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4875 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4876 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4877 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4879 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4880 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4881 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4882 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4885 #: build/C/man3/mktemp.3:69
4886 msgid "I<Never use this function>; see NOTES."
4887 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
4890 #: build/C/man3/mktemp.3:80
4892 "The B<mktemp>() function generates a unique temporary filename from "
4893 "I<template>. The last six characters of I<template> must be XXXXXX and "
4894 "these are replaced with a string that makes the filename unique. Since it "
4895 "will be modified, I<template> must not be a string constant, but should be "
4896 "declared as a character array."
4898 "関数 B<mktemp>() は引数 I<template> から他と重ならない テンポラリファイル名"
4899 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
4900 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
4901 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
4905 #: build/C/man3/mktemp.3:91
4907 "The B<mktemp>() function always returns I<template>. If a unique name was "
4908 "created, the last six bytes of I<template> will have been modified in such a "
4909 "way that the resulting name is unique (i.e., does not exist already) If a "
4910 "unique name could not be created, I<template> is made an empty string, and "
4911 "I<errno> is set to indicate the error."
4913 "関数 B<mktemp>() は常に I<template> を戻す。 一意な名前が作成された場合、 "
4914 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
4915 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
4916 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
4920 #: build/C/man3/mktemp.3:95
4921 msgid "The last six characters of I<template> were not XXXXXX."
4922 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
4925 #. The prototype is in
4927 #. for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
4928 #. and has the prototype in
4931 #: build/C/man3/mktemp.3:105
4933 "4.3BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of B<mktemp>()."
4935 "4.3BSD, POSIX.1-2001. POSIX.1-2008 では B<mktemp>() の仕様が削除されてい"
4939 #: build/C/man3/mktemp.3:118
4941 "Never use B<mktemp>(). Some implementations follow 4.3BSD and replace "
4942 "XXXXXX by the current process ID and a single letter, so that at most 26 "
4943 "different names can be returned. Since on the one hand the names are easy "
4944 "to guess, and on the other hand there is a race between testing whether the "
4945 "name exists and opening the file, every use of B<mktemp>() is a security "
4946 "risk. The race is avoided by B<mkstemp>(3)."
4948 "B<mktemp>() を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
4949 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
4950 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
4951 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>() を使うの"
4952 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3) を使う"
4956 #: build/C/man3/mktemp.3:122
4957 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4958 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4961 #: build/C/man3/on_exit.3:31
4967 #: build/C/man3/on_exit.3:34
4969 "on_exit - register a function to be called at normal process termination"
4970 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
4973 #: build/C/man3/on_exit.3:39
4975 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
4976 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
4979 #: build/C/man3/on_exit.3:48
4980 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
4981 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
4984 #: build/C/man3/on_exit.3:66
4986 "The B<on_exit>() function registers the given I<function> to be called at "
4987 "normal process termination, whether via B<exit>(3) or via return from the "
4988 "program's I<main>(). The I<function> is passed the status argument given to "
4989 "the last call to B<exit>(3) and the I<arg> argument from B<on_exit>()."
4991 "B<on_exit>() 関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
4992 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3) またはプログラ"
4993 "ムの I<main>() 関数の中の return 命令による終了である。 関数 I<function> に"
4994 "は、直近の B<exit>(3) の呼び出しで渡された status 引数と B<on_exit>() の "
4998 #: build/C/man3/on_exit.3:81
5000 "The B<on_exit>() function returns the value 0 if successful; otherwise it "
5001 "returns a nonzero value."
5002 msgstr "B<on_exit>() 関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
5005 #: build/C/man3/on_exit.3:87
5007 "This function comes from SunOS 4, but is also present in glibc. It no "
5008 "longer occurs in Solaris (SunOS 5). Portable application should avoid this "
5009 "function, and use the standard B<atexit>(3) instead."
5011 "この関数は SunOS 4 由来であるが、 glibc にも存在する。 Solaris (SunOS 5) には"
5012 "もはや存在しない。移植性が必要なアプリケーションではこの関数の使用は避け、代"
5013 "わりに標準の B<atexit>(3) を使うこと。"
5016 #: build/C/man3/on_exit.3:90
5017 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5018 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5021 #: build/C/man3/putenv.3:36
5027 #: build/C/man3/putenv.3:39
5028 msgid "putenv - change or add an environment variable"
5029 msgstr "putenv - 環境変数の変更または追加"
5031 #. Not: const char *
5033 #: build/C/man3/putenv.3:45
5035 msgid "B<int putenv(char *>I<string>B<);>\n"
5036 msgstr "B<int putenv(char *>I<string>B<);>\n"
5039 #: build/C/man3/putenv.3:54
5040 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5041 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5044 #: build/C/man3/putenv.3:67
5046 "The B<putenv>() function adds or changes the value of environment "
5047 "variables. The argument I<string> is of the form I<name>=I<value>. If "
5048 "I<name> does not already exist in the environment, then I<string> is added "
5049 "to the environment. If I<name> does exist, then the value of I<name> in the "
5050 "environment is changed to I<value>. The string pointed to by I<string> "
5051 "becomes part of the environment, so altering the string changes the "
5054 "B<putenv>() 関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
5055 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
5056 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
5057 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
5058 "文字列を変更すると環境も変更される。"
5061 #: build/C/man3/putenv.3:75
5063 "The B<putenv>() function returns zero on success, or nonzero if an error "
5064 "occurs. In the event of an error, I<errno> is set to indicate the cause."
5066 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5067 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5070 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5076 #: build/C/man3/putenv.3:79
5077 msgid "Insufficient space to allocate new environment."
5078 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5081 #: build/C/man3/putenv.3:81
5082 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5083 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5086 #. Description for libc4, libc5, glibc:
5087 #. If the argument \fIstring\fP is of the form \fIname\fP,
5088 #. and does not contain an \(aq=\(aq character, then the variable \fIname\fP
5089 #. is removed from the environment.
5092 #. has to allocate a new array \fIenviron\fP,
5093 #. and the previous array was also allocated by
5095 #. then it will be freed.
5096 #. In no case will the old storage associated
5097 #. to the environment variable itself be freed.
5099 #: build/C/man3/putenv.3:99
5101 "The B<putenv>() function is not required to be reentrant, and the one in "
5102 "glibc 2.0 is not, but the glibc 2.1 version is."
5104 "B<putenv>() はリエントラントであることを求められていない。 glibc 2.0 ではリ"
5105 "エントラントではない。 glibc 2.1 ではリエントラントである。"
5108 #: build/C/man3/putenv.3:114
5110 "Since version 2.1.2, the glibc implementation conforms to SUSv2: the pointer "
5111 "I<string> given to B<putenv>() is used. In particular, this string becomes "
5112 "part of the environment; changing it later will change the environment. "
5113 "(Thus, it is an error is to call B<putenv>() with an automatic variable as "
5114 "the argument, then return from the calling function while I<string> is still "
5115 "part of the environment.) However, glibc versions 2.0 to 2.1.1 differ: a "
5116 "copy of the string is used. On the one hand this causes a memory leak, and "
5117 "on the other hand it violates SUSv2."
5119 "バージョン 2.1.2 以降では、 glibc の実装は SUSv2 に準拠している。 "
5120 "B<putenv>() で与えられたポインタ I<string> が使われる。 この文字列は環境の一"
5121 "部となり、後で変更すると環境も変わる。 (従って、 B<putenv>() を自動変数を引"
5122 "数として呼び出し、 I<string>が環境の一部のままで呼び出した関数から return す"
5123 "るとエラーになる) しかし、glibc バージョン 2.0 から 2.1.1 まででは違ってお"
5124 "り、文字列のコピーが使われる。 これはメモリリークを引き起こすだけでなく、 "
5128 #: build/C/man3/putenv.3:116
5129 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
5130 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
5133 #: build/C/man3/putenv.3:118
5134 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5136 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5140 #: build/C/man3/putenv.3:123
5142 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5144 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5147 #: build/C/man3/qecvt.3:28
5153 #: build/C/man3/qecvt.3:31
5154 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
5155 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
5158 #: build/C/man3/qecvt.3:36
5160 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5161 "> B<int *>I<sign>B<);>"
5163 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5164 "> B<int *>I<sign>B<);>"
5167 #: build/C/man3/qecvt.3:39
5169 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5170 "> B<int *>I<sign>B<);>"
5172 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5173 "> B<int *>I<sign>B<);>"
5176 #: build/C/man3/qecvt.3:41
5178 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5180 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5183 #: build/C/man3/qecvt.3:52
5184 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5185 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5188 #: build/C/man3/qecvt.3:85
5190 "The functions B<qecvt>(), B<qfcvt>(), and B<qgcvt>() are identical to "
5191 "B<ecvt>(3), B<fcvt>(3), and B<gcvt>(3) respectively, except that they use a "
5192 "I<long double> argument I<number>. See B<ecvt>(3) and B<gcvt>(3)."
5194 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>() は、それぞれ B<ecvt>(3), "
5195 "B<fcvt>(3), B<gcvt>(3) と同じである。 引き数 I<number> が I<long double> 型"
5199 #: build/C/man3/qecvt.3:92
5200 msgid "The B<qecvt>() and B<qfcvt>() functions are not thread-safe."
5201 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
5204 #: build/C/man3/qecvt.3:96
5205 msgid "The B<qgcvt>() function is thread-safe."
5206 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5208 #. Not supported by libc4 and libc5.
5210 #: build/C/man3/qecvt.3:102
5212 "SVr4. Not seen in most common UNIX implementations, but occurs in SunOS. "
5213 "Supported by glibc."
5215 "SVr4. 多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5216 "る。 glibc ではサポートされている。"
5219 #: build/C/man3/qecvt.3:107
5220 msgid "These functions are obsolete. Instead, B<snprintf>(3) is recommended."
5221 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5224 #: build/C/man3/qecvt.3:111
5225 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5226 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5229 #: build/C/man3/rand.3:41
5235 #: build/C/man3/rand.3:41
5241 #: build/C/man3/rand.3:44
5242 msgid "rand, rand_r, srand - pseudo-random number generator"
5243 msgstr "rand, srand - 乱数を生成する関数"
5246 #: build/C/man3/rand.3:49
5248 msgid "B<int rand(void);>\n"
5249 msgstr "B<int rand(void);>\n"
5252 #: build/C/man3/rand.3:51
5254 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5255 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5258 #: build/C/man3/rand.3:53
5260 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5261 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5264 #: build/C/man3/rand.3:62
5266 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5268 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5271 #: build/C/man3/rand.3:68
5273 "The B<rand>() function returns a pseudo-random integer in the range 0 to "
5274 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
5276 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5277 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5280 #: build/C/man3/rand.3:77
5282 "The B<srand>() function sets its argument as the seed for a new sequence of "
5283 "pseudo-random integers to be returned by B<rand>(). These sequences are "
5284 "repeatable by calling B<srand>() with the same seed value."
5286 "B<srand>() 関数は、 B<rand>() 関数で作られる疑似乱数整数系列の新しい種とし"
5287 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5288 "は、 同じ値を引き数として B<srand>() を呼ぶことで、 再現することが可能であ"
5292 #: build/C/man3/rand.3:81
5294 "If no seed value is provided, the B<rand>() function is automatically "
5295 "seeded with a value of 1."
5297 "種の値が与えられない場合には、 B<rand>() 関数は 自動的に 1 を種とする。"
5300 #: build/C/man3/rand.3:92
5302 "The function B<rand>() is not reentrant or thread-safe, since it uses "
5303 "hidden state that is modified on each call. This might just be the seed "
5304 "value to be used by the next call, or it might be something more elaborate. "
5305 "In order to get reproducible behavior in a threaded application, this state "
5306 "must be made explicit; this can be done using the reentrant function "
5309 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
5311 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5313 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5315 "実際にはもう少し複雑かもしれないが。\n"
5316 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5317 "この状態を明示的に指定できなければならない。これを行うには、\n"
5318 "再入可能な B<rand_r>() 関数を使用する。"
5321 #: build/C/man3/rand.3:108
5323 "Like B<rand>(), B<rand_r>() returns a pseudo-random integer in the range [0,"
5324 "\\ B<RAND_MAX>]. The I<seedp> argument is a pointer to an I<unsigned int> "
5325 "that is used to store state between calls. If B<rand_r>() is called with "
5326 "the same initial value for the integer pointed to by I<seedp>, and that "
5327 "value is not modified between calls, then the same pseudo-random sequence "
5330 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5332 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5333 "I<unsigned int> へのポインタである。\n"
5334 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5335 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5338 #: build/C/man3/rand.3:118
5340 "The value pointed to by the I<seedp> argument of B<rand_r>() provides only "
5341 "a very small amount of state, so this function will be a weak pseudo-random "
5342 "generator. Try B<drand48_r>(3) instead."
5344 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5346 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5347 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5350 #: build/C/man3/rand.3:129
5352 "The B<rand>() and B<rand_r>() functions return a value between 0 and "
5353 "B<RAND_MAX> (inclusive). The B<srand>() function returns no value."
5355 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5356 "関数 B<srand>() は値を返さない。"
5359 #: build/C/man3/rand.3:141
5361 "The functions B<rand>() and B<srand>() conform to SVr4, 4.3BSD, C89, C99, "
5362 "POSIX.1-2001. The function B<rand_r>() is from POSIX.1-2001. POSIX.1-2008 "
5363 "marks B<rand_r>() as obsolete."
5365 "関数 B<rand>() と B<srand>() は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
5366 "している。 関数 B<rand_r>() は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
5367 "B<rand_r>() を廃止予定としている。"
5370 #: build/C/man3/rand.3:160
5372 "The versions of B<rand>() and B<srand>() in the Linux C Library use the "
5373 "same random number generator as B<random>(3) and B<srandom>(3), so the "
5374 "lower-order bits should be as random as the higher-order bits. However, on "
5375 "older B<rand>() implementations, and on current implementations on "
5376 "different systems, the lower-order bits are much less random than the higher-"
5377 "order bits. Do not use this function in applications intended to be "
5378 "portable when good randomness is needed. (Use B<random>(3) instead.)"
5380 "B<rand>() と B<srand>() の Linux C Library 版は、 B<random>(3) と "
5381 "B<srandom>(3) の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5382 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5383 "B<rand>() の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5384 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5385 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3) を使"
5389 #: build/C/man3/rand.3:166
5391 "POSIX.1-2001 gives the following example of an implementation of B<rand>() "
5392 "and B<srand>(), possibly useful when one needs the same sequence on two "
5393 "different machines."
5395 "POSIX 1003.1-2003 では、 B<rand>() と B<srand>() の実装例として以下を挙げて"
5396 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5399 #: build/C/man3/rand.3:170
5401 msgid "static unsigned long next = 1;\n"
5402 msgstr "static unsigned long next = 1;\n"
5405 #: build/C/man3/rand.3:176
5408 "/* RAND_MAX assumed to be 32767 */\n"
5409 "int myrand(void) {\n"
5410 " next = next * 1103515245 + 12345;\n"
5411 " return((unsigned)(next/65536) % 32768);\n"
5414 "/* RAND_MAX を 32767 と仮定 */\n"
5415 "int myrand(void) {\n"
5416 " next = next * 1103515245 + 12345;\n"
5417 " return((unsigned)(next/65536) % 32768);\n"
5421 #: build/C/man3/rand.3:180
5424 "void mysrand(unsigned int seed) {\n"
5428 "void mysrand(unsigned int seed) {\n"
5433 #: build/C/man3/rand.3:187
5435 "The following program can be used to display the pseudo-random sequence "
5436 "produced by B<rand>() when given a particular seed."
5438 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5439 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5442 #: build/C/man3/rand.3:192
5445 "#include E<lt>stdlib.hE<gt>\n"
5446 "#include E<lt>stdio.hE<gt>\n"
5448 "#include E<lt>stdlib.hE<gt>\n"
5449 "#include E<lt>stdio.hE<gt>\n"
5452 #: build/C/man3/rand.3:198
5456 "main(int argc, char *argv[])\n"
5458 " int j, r, nloops;\n"
5459 " unsigned int seed;\n"
5462 "main(int argc, char *argv[])\n"
5464 " int j, r, nloops;\n"
5465 " unsigned int seed;\n"
5468 #: build/C/man3/rand.3:203
5471 " if (argc != 3) {\n"
5472 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5473 " exit(EXIT_FAILURE);\n"
5476 " if (argc != 3) {\n"
5477 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5478 " exit(EXIT_FAILURE);\n"
5482 #: build/C/man3/rand.3:206
5485 " seed = atoi(argv[1]);\n"
5486 " nloops = atoi(argv[2]);\n"
5488 " seed = atoi(argv[1]);\n"
5489 " nloops = atoi(argv[2]);\n"
5492 #: build/C/man3/rand.3:212
5496 " for (j = 0; j E<lt> nloops; j++) {\n"
5498 " printf(\"%d\\en\", r);\n"
5502 " for (j = 0; j E<lt> nloops; j++) {\n"
5504 " printf(\"%d\\en\", r);\n"
5508 #: build/C/man3/rand.3:219
5509 msgid "B<drand48>(3), B<random>(3)"
5510 msgstr "B<drand48>(3), B<random>(3)"
5513 #: build/C/man3/random.3:33
5519 #: build/C/man3/random.3:36
5520 msgid "random, srandom, initstate, setstate - random number generator"
5521 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5524 #: build/C/man3/random.3:41
5526 msgid "B<long int random(void);>\n"
5527 msgstr "B<long int random(void);>\n"
5530 #: build/C/man3/random.3:43
5532 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5533 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5536 #: build/C/man3/random.3:45
5538 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5539 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5542 #: build/C/man3/random.3:47
5544 msgid "B<char *setstate(char *>I<state>B<);>\n"
5545 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5548 #: build/C/man3/random.3:59
5549 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5550 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5553 #: build/C/man3/random.3:62
5555 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5556 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5558 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5559 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5562 #: build/C/man3/random.3:73
5564 "The B<random>() function uses a nonlinear additive feedback random number "
5565 "generator employing a default table of size 31 long integers to return "
5566 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>. The "
5567 "period of this random number generator is very large, approximately I<16\\ *"
5568 "\\ ((2^31)\\ -\\ 1)>."
5570 "B<random>() 関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5571 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5572 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5573 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5576 #: build/C/man3/random.3:87
5578 "The B<srandom>() function sets its argument as the seed for a new sequence "
5579 "of pseudo-random integers to be returned by B<random>(). These sequences "
5580 "are repeatable by calling B<srandom>() with the same seed value. If no "
5581 "seed value is provided, the B<random>() function is automatically seeded "
5582 "with a value of 1."
5584 "B<srandom>() 関数は、 B<random>() で返される疑似乱数整数系列の種を設定す"
5585 "る。 そのためには新しい種を引数にして B<srandom>() を呼べばよい。 "
5586 "B<random>() で生成される系列は、 引数に同じ種の値を用いて B<srandom>() を呼"
5587 "ぶことで再現可能である。 種の値が与えられない場合には B<random>() 関数は、自"
5591 #: build/C/man3/random.3:102
5593 "The B<initstate>() function allows a state array I<state> to be initialized "
5594 "for use by B<random>(). The size of the state array I<n> is used by "
5595 "B<initstate>() to decide how sophisticated a random number generator it "
5596 "should use\\(emthe larger the state array, the better the random numbers "
5597 "will be. I<seed> is the seed for the initialization, which specifies a "
5598 "starting point for the random number sequence, and provides for restarting "
5599 "at the same point."
5601 "B<initstate>() 関数は、 B<random>() で使用される状態配列 I<state> を初期化"
5602 "する。 B<initstate>() では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5603 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5604 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5605 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5609 #: build/C/man3/random.3:118
5611 "The B<setstate>() function changes the state array used by the B<random>() "
5612 "function. The state array I<state> is used for random number generation "
5613 "until the next call to B<initstate>() or B<setstate>(). I<state> must "
5614 "first have been initialized using B<initstate>() or be the result of a "
5615 "previous call of B<setstate>()."
5617 "B<setstate>() 関数は、 B<random>() で使用される状態配列を変更する。 状態配"
5618 "列 I<state> は、 B<initstate>() または B<setstate>() が 次に呼び出されるま"
5619 "で、乱数の生成に使用される。 I<state> は B<initstate>() を用いて最初に初期化"
5620 "されているか、 以前に呼び出した B<setstate>() の結果でなければならない。"
5623 #: build/C/man3/random.3:126
5625 "The B<random>() function returns a value between 0 and B<RAND_MAX>. The "
5626 "B<srandom>() function returns no value."
5628 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5629 "関数 B<srandom>() は値を返さない。"
5632 #: build/C/man3/random.3:133
5634 "The B<initstate>() function returns a pointer to the previous state array. "
5635 "On error, I<errno> is set to indicate the cause."
5637 "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
5638 "I<errno> に原因を示す値が設定される。"
5641 #: build/C/man3/random.3:140
5643 "On success, B<setstate>() returns a pointer to the previous state array. "
5644 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
5647 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5648 "I<errno> にエラーの原因を示す値が設定される。"
5651 #: build/C/man3/random.3:148
5652 msgid "The I<state> argument given to B<setstate>() was NULL."
5653 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
5656 #: build/C/man3/random.3:152
5657 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
5658 msgstr "B<initstate>() で8バイトよりも小さい状態配列を指定した。"
5661 #: build/C/man3/random.3:161
5663 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>() functions "
5666 "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
5670 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
5671 msgid "4.3BSD, POSIX.1-2001."
5672 msgstr "4.3BSD, POSIX.1-2001."
5675 #: build/C/man3/random.3:169
5677 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
5678 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
5679 "known amount. Using less than 8 bytes will cause an error."
5681 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5682 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5683 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5686 #: build/C/man3/random.3:176
5688 "This function should not be used in cases where multiple threads use "
5689 "B<random>() and the behavior should be reproducible. Use B<random_r>(3) "
5692 "複数のスレッドが B<random>() を使うような状況では、この関数を使用すべきでは"
5693 "ない。 その場合には B<random_r>(3) を使うこと。"
5696 #: build/C/man3/random.3:183
5698 "Random-number generation is a complex topic. I<Numerical Recipes in C: The "
5699 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5700 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5701 "2007, 3rd ed.) provides an excellent discussion of practical random-number "
5702 "generation issues in Chapter 7 (Random Numbers)."
5704 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
5705 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5706 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5707 "2007, 3rd ed.) では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
5711 #: build/C/man3/random.3:189
5713 "For a more theoretical discussion which also covers many practical issues in "
5714 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
5715 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
5716 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
5718 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
5719 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
5720 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
5721 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5723 #. http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5725 #: build/C/man3/random.3:197
5727 "According to POSIX, B<initstate>() should return NULL on error. In the "
5728 "glibc implementation, I<errno> is (as specified) set on error, but the "
5729 "function does not return NULL."
5731 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5732 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5736 #: build/C/man3/random.3:201
5737 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5738 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5741 #: build/C/man3/random_r.3:26
5747 #: build/C/man3/random_r.3:30
5749 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5752 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5755 #: build/C/man3/random_r.3:35
5757 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5758 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5761 #: build/C/man3/random_r.3:37
5763 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5764 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5767 #: build/C/man3/random_r.3:40
5770 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5771 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5773 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5774 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5777 #: build/C/man3/random_r.3:42
5779 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5780 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5783 #: build/C/man3/random_r.3:54
5784 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5785 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5788 #: build/C/man3/random_r.3:56
5789 msgid "_SVID_SOURCE || _BSD_SOURCE"
5790 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5793 #: build/C/man3/random_r.3:64
5795 "These functions are the reentrant equivalents of the functions described in "
5796 "B<random>(3). They are suitable for use in multithreaded programs where "
5797 "each thread needs to obtain an independent, reproducible sequence of random "
5800 "これらの関数は、 B<random>(3) で説明されている関数のリエントラント版で、等価"
5801 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5802 "ような マルチスレッド・プログラムでの使用に適している。"
5805 #: build/C/man3/random_r.3:75
5807 "The B<random_r>() function is like B<random>(3), except that instead of "
5808 "using state information maintained in a global variable, it uses the state "
5809 "information in the argument pointed to by I<buf>. The generated random "
5810 "number is returned in the argument I<result>."
5812 "B<random_r>() 関数は B<random>(3) と同様だが、 大域変数 (global variable) "
5813 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5814 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5817 #: build/C/man3/random_r.3:84
5819 "The B<srandom_r>() function is like B<srandom>(3), except that it "
5820 "initializes the seed for the random number generator whose state is "
5821 "maintained in the object pointed to by I<buf>, instead of the seed "
5822 "associated with the global state variable."
5824 "B<srandom_r>() 関数は B<srandom>(3) と同様だが、 大域変数で管理される状態に"
5825 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5826 "対応する乱数生成器の種を 初期化する。"
5829 #: build/C/man3/random_r.3:92
5831 "The B<initstate_r>() function is like B<initstate>(3) except that it "
5832 "initializes the state in the object pointed to by I<buf>, rather than "
5833 "initializing the global state variable."
5835 "B<initstate_r>() 関数は B<initstate>(3) と同様だが、大域変数で管理される状"
5836 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5839 #: build/C/man3/random_r.3:100
5841 "The B<setstate_r>() function is like B<setstate>(3) except that it "
5842 "modifies the state in the object pointer to by I<buf>, rather than modifying "
5843 "the global state variable."
5845 "B<setstate_r>() 関数は B<setstate>(3) と同様だが、大域変数で管理される状態"
5846 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5849 #: build/C/man3/random_r.3:105
5851 "All of these functions return 0 on success. On error, -1 is returned, with "
5852 "I<errno> set to indicate the cause of the error."
5854 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5855 "I<errno> にエラーの原因を示す値がセットされる。"
5858 #: build/C/man3/random_r.3:110
5859 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
5860 msgstr "8 バイトより小さい状態配列が B<initstate_r>() に指定された。"
5863 #: build/C/man3/random_r.3:119
5864 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>() was NULL."
5865 msgstr "B<setstate_r>() の引き数 I<statebuf> か I<buf> が NULL であった。"
5868 #: build/C/man3/random_r.3:128
5869 msgid "The I<buf> or I<result> argument to B<random_r>() was NULL."
5870 msgstr "B<random_r>() の引き数 I<buf> か I<result> が NULL であった。"
5873 #: build/C/man3/random_r.3:137
5875 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>() "
5876 "functions are thread-safe."
5878 "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
5881 #. These functions appear to be on Tru64, but don't seem to be on
5882 #. Solaris, HP-UX, or FreeBSD.
5884 #: build/C/man3/random_r.3:141
5885 msgid "These functions are nonstandard glibc extensions."
5886 msgstr "これらの関数は非標準で glibc による拡張である。"
5889 #: build/C/man3/rpmatch.3:29
5895 #: build/C/man3/rpmatch.3:32
5897 "rpmatch - determine if the answer to a question is affirmative or negative"
5898 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
5901 #: build/C/man3/rpmatch.3:37
5903 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
5904 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
5907 #: build/C/man3/rpmatch.3:46
5908 msgid "B<rpmatch>(): _SVID_SOURCE"
5909 msgstr "B<rpmatch>(): _SVID_SOURCE"
5912 #: build/C/man3/rpmatch.3:50
5914 "B<rpmatch>() handles a user response to yes or no questions, with support "
5915 "for internationalization."
5917 "B<rpmatch>() は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
5921 #: build/C/man3/rpmatch.3:57
5923 "I<response> should be a null-terminated string containing a user-supplied "
5924 "response, perhaps obtained with B<fgets>(3) or B<getline>(3)."
5926 "I<response> にはユーザからの応答を格納したヌル終端文字列が入っている必要があ"
5927 "る。 たいていは、 B<fgets>(3) や B<getline>(3) で取り込んだものであろう。"
5930 #: build/C/man3/rpmatch.3:67
5932 "The user's language preference is taken into account per the environment "
5933 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
5934 "B<setlocale>(3) to effect their changes."
5936 "プログラムが B<setlocale>(3) を呼び出して環境変数の変更を有効にした場合、 環"
5937 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
5941 #: build/C/man3/rpmatch.3:73
5943 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
5944 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
5946 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
5947 "B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
5950 #: build/C/man3/rpmatch.3:82
5952 "After examining I<response>, B<rpmatch>() returns 0 for a recognized "
5953 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
5954 "and -1 when the value of I<response> is unrecognized."
5956 "I<response> を検査した後、 B<rpmatch>() は否定的な応答 (\"no\") と認識した場"
5957 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
5958 "I<response> の値を解釈できなかった場合は -1 を返す。"
5961 #: build/C/man3/rpmatch.3:86
5963 "A return value of -1 may indicate either an invalid input, or some other "
5964 "error. It is incorrect to only test if the return value is nonzero."
5966 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
5967 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
5970 #: build/C/man3/rpmatch.3:99
5972 "B<rpmatch>() can fail for any of the reasons that B<regcomp>(3) or "
5973 "B<regexec>(3) can fail; the cause of the error is not available from "
5974 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
5975 "this case is indistinguishable from that of an unrecognized value of "
5978 "B<rpmatch>() は、 B<regcomp>(3) や B<regexec>(3) が失敗する理由のどれかで"
5979 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
5980 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
5981 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
5983 #. It is available on at least AIX 5.1 and FreeBSD 6.0.
5985 #: build/C/man3/rpmatch.3:104
5987 "B<rpmatch>() is not required by any standard, but is available on a few "
5990 "B<rpmatch>() はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
5994 #: build/C/man3/rpmatch.3:119
5996 "The B<rpmatch>() implementation looks at only the first character of "
5997 "I<response>. As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
5998 "million years\" returns 1. It would be preferable to accept input strings "
5999 "much more strictly, for example (using the extended regular expression "
6000 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
6003 "B<rpmatch>() の実装は I<response> の最初の 1 文字だけを見ているようである。"
6004 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
6005 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
6006 "(B<regex>(7) で説明されている拡張正規表現を使って) B<^([yY]|yes|YES)$> や "
6007 "B<^([nN]|no|NO)$> で解釈するなど。"
6010 #: build/C/man3/rpmatch.3:123
6012 "The following program displays the results when B<rpmatch>() is applied to "
6013 "the string given in the program's command-line argument."
6015 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>() "
6019 #: build/C/man3/rpmatch.3:130
6022 "#define _SVID_SOURCE\n"
6023 "#include E<lt>locale.hE<gt>\n"
6024 "#include E<lt>stdlib.hE<gt>\n"
6025 "#include E<lt>string.hE<gt>\n"
6026 "#include E<lt>stdio.hE<gt>\n"
6028 "#define _SVID_SOURCE\n"
6029 "#include E<lt>locale.hE<gt>\n"
6030 "#include E<lt>stdlib.hE<gt>\n"
6031 "#include E<lt>string.hE<gt>\n"
6032 "#include E<lt>stdio.hE<gt>\n"
6035 #: build/C/man3/rpmatch.3:138
6039 "main(int argc, char *argv[])\n"
6041 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6042 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6043 " exit(EXIT_FAILURE);\n"
6047 "main(int argc, char *argv[])\n"
6049 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6050 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6051 " exit(EXIT_FAILURE);\n"
6055 #: build/C/man3/rpmatch.3:143
6058 " setlocale(LC_ALL, \"\");\n"
6059 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6060 " exit(EXIT_SUCCESS);\n"
6063 " setlocale(LC_ALL, \"\");\n"
6064 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6065 " exit(EXIT_SUCCESS);\n"
6069 #: build/C/man3/rpmatch.3:149
6071 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6073 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6076 #: build/C/man3/setenv.3:37
6082 #: build/C/man3/setenv.3:37
6088 #: build/C/man3/setenv.3:40
6089 msgid "setenv - change or add an environment variable"
6090 msgstr "setenv - 環境変数を変更または追加する"
6093 #: build/C/man3/setenv.3:45
6095 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6096 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6099 #: build/C/man3/setenv.3:47
6101 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6102 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6105 #: build/C/man3/setenv.3:57
6106 msgid "B<setenv>(), B<unsetenv>():"
6107 msgstr "B<setenv>(), B<unsetenv>():"
6110 #: build/C/man3/setenv.3:59
6112 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6115 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6119 #: build/C/man3/setenv.3:94
6121 "The B<setenv>() function adds the variable I<name> to the environment with "
6122 "the value I<value>, if I<name> does not already exist. If I<name> does "
6123 "exist in the environment, then its value is changed to I<value> if "
6124 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
6125 "is not changed (and B<setenv>() returns a success status). This function "
6126 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
6127 "with B<putenv>(3))."
6129 "B<setenv>() 関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
6130 "を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
6131 "外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
6132 "変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 "
6133 "(B<putenv>(3) と違い) I<name> と I<value> により参照される文字列のコピーを"
6137 #: build/C/man3/setenv.3:105
6139 "The B<unsetenv>() function deletes the variable I<name> from the "
6140 "environment. If I<name> does not exist in the environment, then the "
6141 "function succeeds, and the environment is unchanged."
6143 "B<unsetenv>() 関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6144 "場合、この関数は成功し、環境は変更されない。"
6147 #: build/C/man3/setenv.3:112
6149 "The B<setenv>() function returns zero on success, or -1 on error, with "
6150 "I<errno> set to indicate the cause of the error."
6152 "B<setenv>() 関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6153 "I<errno> にエラーの原因を示す値がセットされる。"
6156 #: build/C/man3/setenv.3:119
6158 "The B<unsetenv>() function returns zero on success, or -1 on error, with "
6159 "I<errno> set to indicate the cause of the error."
6161 "B<unsetenv>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6162 "I<errno> を設定してエラーの原因を示す。"
6165 #: build/C/man3/setenv.3:125
6167 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6170 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6174 #: build/C/man3/setenv.3:128
6175 msgid "Insufficient memory to add a new variable to the environment."
6176 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
6179 #: build/C/man3/setenv.3:136
6181 "POSIX.1-2001 does not require B<setenv>() or B<unsetenv>() to be reentrant."
6183 "POSIX.1-2001 は、 B<setenv>() や B<unsetenv>() がリエントラント (再入可能) "
6187 #: build/C/man3/setenv.3:144
6189 "Prior to glibc 2.2.2, B<unsetenv>() was prototyped as returning I<void>; "
6190 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
6193 "glibc 2.2.2 以前では、 B<unsetenv>() は 返り値が I<void> のプロトタイプで"
6194 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6195 "POSIX.1-2001 互換のプロトタイプである。"
6198 #: build/C/man3/setenv.3:153
6200 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
6201 "then B<setenv>() should fail with the error B<EINVAL>; however, versions of "
6202 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
6204 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>() "
6205 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6206 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6210 #: build/C/man3/setenv.3:157
6211 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6212 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6215 #: build/C/man3/strtod.3:45
6221 #: build/C/man3/strtod.3:48
6222 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
6223 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
6226 #: build/C/man3/strtod.3:52
6227 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6228 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6231 #: build/C/man3/strtod.3:54
6232 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6233 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6236 #: build/C/man3/strtod.3:56
6237 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6238 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6241 #: build/C/man3/strtod.3:65
6242 msgid "B<strtof>(), B<strtold>():"
6243 msgstr "B<strtof>(), B<strtold>():"
6246 #: build/C/man3/strtod.3:87
6248 "The B<strtod>(), B<strtof>(), and B<strtold>() functions convert the "
6249 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
6250 "and I<long double> representation, respectively."
6252 "B<strtod>(), B<strtof>(), B<strtold>() 関数は、 I<nptr> が指し示す文字列のは"
6253 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6256 #: build/C/man3/strtod.3:94
6258 "The expected form of the (initial portion of the) string is optional leading "
6259 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
6260 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
6261 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
6263 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6264 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6265 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6266 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6267 "は B<isspace>(3) で識別される)。"
6270 #: build/C/man3/strtod.3:103
6272 "A I<decimal number> consists of a nonempty sequence of decimal digits "
6273 "possibly containing a radix character (decimal point, locale-dependent, "
6274 "usually \\(aq.\\(aq), optionally followed by a decimal exponent. A decimal "
6275 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
6276 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
6277 "indicates multiplication by a power of 10."
6279 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6280 "charater) (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6281 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6282 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6283 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6286 #: build/C/man3/strtod.3:114
6288 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
6289 "nonempty sequence of hexadecimal digits possibly containing a radix "
6290 "character, optionally followed by a binary exponent. A binary exponent "
6291 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
6292 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
6293 "multiplication by a power of 2. At least one of radix character and binary "
6294 "exponent must be present."
6296 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6297 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6298 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6299 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6300 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6304 #: build/C/man3/strtod.3:118
6305 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6307 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6310 #: build/C/man3/strtod.3:127
6312 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by a string, "
6313 "I<(n-char-sequence)>, where I<n-char-sequence> specifies in an "
6314 "implementation-dependent way the type of NAN (see NOTES)."
6316 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に文字列 "
6317 "I<(n-char-sequence)> が続く場合もある。 I<(n-char-sequence)> は実装に依存す"
6321 #: build/C/man3/strtod.3:129
6322 msgid "These functions return the converted value, if any."
6323 msgstr "これらの関数は、変換された値があれば、それを返す。"
6326 #: build/C/man3/strtod.3:136
6328 "If I<endptr> is not NULL, a pointer to the character after the last "
6329 "character used in the conversion is stored in the location referenced by "
6332 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6333 "ターが I<endptr> で参照される場所へ保存される。"
6336 #: build/C/man3/strtod.3:141
6338 "If no conversion is performed, zero is returned and the value of I<nptr> is "
6339 "stored in the location referenced by I<endptr>."
6341 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6342 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6345 #: build/C/man3/strtod.3:155
6347 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
6348 "(B<HUGE_VALF>, B<HUGE_VALL>) is returned (according to the sign of the "
6349 "value), and B<ERANGE> is stored in I<errno>. If the correct value would "
6350 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
6352 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6353 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>) が返り (値の"
6354 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6355 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6358 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
6359 #: build/C/man3/strtoul.3:155
6365 #: build/C/man3/strtod.3:159
6366 msgid "Overflow or underflow occurred."
6367 msgstr "オーバーフローまたはアンダーフローが起こった。"
6370 #: build/C/man3/strtod.3:171
6372 "The B<strtod>(), B<strtof>(), and B<strtold>() functions are thread-safe "
6373 "with exceptions. These functions can be safely used in multithreaded "
6374 "applications, as long as B<setlocale>(3) is not called to change the locale "
6375 "during their execution."
6377 "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
6378 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6379 "レッドアプリケーションで安全に使用することができる。"
6382 #: build/C/man3/strtod.3:176
6383 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
6384 msgstr "C89 では B<strtod>() が、C99 では残りの 2 つの関数が記述されている。"
6387 #: build/C/man3/strtod.3:185
6389 "Since 0 can legitimately be returned on both success and failure, the "
6390 "calling program should set I<errno> to 0 before the call, and then determine "
6391 "if an error occurred by checking whether I<errno> has a nonzero value after "
6394 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6395 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6396 "しエラーが発生したかどうかを判断する 必要がある。"
6398 #. From glibc 2.8's stdlib/strtod_l.c:
6399 #. We expect it to be a number which is put in the
6400 #. mantissa of the number.
6401 #. It looks as though at least FreeBSD (according to the manual) does
6402 #. something similar.
6403 #. C11 says: "An implementation may use the n-char sequence to determine
6404 #. extra information to be represented in the NaN's significant."
6406 #: build/C/man3/strtod.3:200
6408 "In the glibc implementation, the I<n-char-sequence> that optionally follows "
6409 "\"NAN\" is interpreted as an integer number (with an optional '0' or '0x' "
6410 "prefix to select base 8 or 16) that is to be placed in the mantissa "
6411 "component of the returned value."
6413 "glibc の実装では、\"NAN\" の後ろに置くことができる I<n-char-sequence> は、整"
6414 "数値として解釈される (基数の 8 や 16 を示す '0' や '0x' を接頭辞として付ける"
6415 "ことができる)。 この整数値は返り値の仮数部として使われる。"
6418 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
6420 "See the example on the B<strtol>(3) manual page; the use of the functions "
6421 "described in this manual page is similar."
6423 "B<strtol>(3) のマニュアルページの例を参照。 このページで説明した関数の使用方"
6427 #: build/C/man3/strtod.3:213
6429 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6430 "B<strtol>(3), B<strtoul>(3)"
6432 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6433 "B<strtol>(3), B<strtoul>(3)"
6436 #: build/C/man3/strtoimax.3:24
6442 #: build/C/man3/strtoimax.3:27
6443 msgid "strtoimax, strtoumax - convert string to integer"
6444 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6447 #: build/C/man3/strtoimax.3:30
6449 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6450 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6453 #: build/C/man3/strtoimax.3:32
6455 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6456 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6459 #: build/C/man3/strtoimax.3:34
6461 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6462 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6465 #: build/C/man3/strtoimax.3:45
6467 "These functions are just like B<strtol>(3) and B<strtoul>(3), except that "
6468 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
6470 "これらの関数はちょうど B<strtol>(3) と B<strtoul>(3) に似ているが、それぞ"
6471 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6474 #: build/C/man3/strtoimax.3:58
6476 "On success, the converted value is returned. If nothing was found to "
6477 "convert, zero is returned. On overflow or underflow B<INTMAX_MAX> or "
6478 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
6481 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6482 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6483 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6487 #: build/C/man3/strtoimax.3:69
6489 "The B<strtoimax>() and B<strtoumax>() functions are thread-safe with "
6490 "exceptions. These functions can be safely used in multithreaded "
6491 "applications, as long as B<setlocale>(3) is not called to change the locale "
6492 "during their execution."
6494 "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
6495 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
6496 "プリケーションで安全に使用することができる。"
6499 #: build/C/man3/strtoimax.3:76
6501 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6503 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6506 #: build/C/man3/strtol.3:31
6512 #: build/C/man3/strtol.3:34
6513 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
6514 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
6517 #: build/C/man3/strtol.3:39
6519 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6520 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6523 #: build/C/man3/strtol.3:42
6525 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6526 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6529 #: build/C/man3/strtol.3:51
6530 msgid "B<strtoll>():"
6531 msgstr "B<strtoll>():"
6534 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6536 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
6537 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6539 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6540 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6543 #: build/C/man3/strtol.3:68
6545 "The B<strtol>() function converts the initial part of the string in I<nptr> "
6546 "to a long integer value according to the given I<base>, which must be "
6547 "between 2 and 36 inclusive, or be the special value 0."
6549 "B<strtol>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6550 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6554 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6556 "The string may begin with an arbitrary amount of white space (as determined "
6557 "by B<isspace>(3)) followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
6558 "sign. If I<base> is zero or 16, the string may then include a \"0x\" "
6559 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
6560 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
6561 "case it is taken as 8 (octal)."
6563 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6564 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6565 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6566 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6567 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6571 #: build/C/man3/strtol.3:90
6573 "The remainder of the string is converted to a I<long int> value in the "
6574 "obvious manner, stopping at the first character which is not a valid digit "
6575 "in the given base. (In bases above 10, the letter \\(aqA\\(aq in either "
6576 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
6577 "forth, with \\(aqZ\\(aq representing 35.)"
6579 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6580 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6581 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6585 #: build/C/man3/strtol.3:111
6587 "If I<endptr> is not NULL, B<strtol>() stores the address of the first "
6588 "invalid character in I<*endptr>. If there were no digits at all, "
6589 "B<strtol>() stores the original value of I<nptr> in I<*endptr> (and returns "
6590 "0). In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
6591 "\\(aq\\e0\\(aq on return, the entire string is valid."
6593 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が "
6594 "B<strtol>() によって I<*endptr> に保存されている。 文字列に有効な数字がひと"
6595 "つもなければ、 B<strtol>() は I<nptr> の元の値を I<*endptr> に代入する (そし"
6596 "て 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> "
6597 "が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6600 #: build/C/man3/strtol.3:117
6602 "The B<strtoll>() function works just like the B<strtol>() function but "
6603 "returns a long long integer value."
6605 "B<strtoll>() 関数は B<strtol>() と同様だが、long long int 型の値を返す。"
6608 #: build/C/man3/strtol.3:144
6610 "The B<strtol>() function returns the result of the conversion, unless the "
6611 "value would underflow or overflow. If an underflow occurs, B<strtol>() "
6612 "returns B<LONG_MIN>. If an overflow occurs, B<strtol>() returns "
6613 "B<LONG_MAX>. In both cases, I<errno> is set to B<ERANGE>. Precisely the "
6614 "same holds for B<strtoll>() (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
6615 "B<LONG_MIN> and B<LONG_MAX>)."
6617 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>() 関数は 変換さ"
6618 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
6619 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
6620 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>() も同様で"
6621 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
6625 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
6626 msgid "(not in C99) The given I<base> contains an unsupported value."
6627 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
6630 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6631 msgid "The resulting value was out of range."
6632 msgstr "結果の値が範囲外である。"
6635 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6637 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6638 "was performed (no digits seen, and 0 returned)."
6640 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6641 "I<errno> に B<EINVAL> が設定される場合がある。"
6644 #: build/C/man3/strtol.3:173
6646 "The B<strtol>(), B<strtoll>(), and B<strtoq>() functions are thread-safe "
6647 "with exceptions. These functions can be safely used in multithreaded "
6648 "applications, as long as B<setlocale>(3) is not called to change the locale "
6649 "during their execution."
6651 "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
6652 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6653 "レッドアプリケーションで安全に使用することができる。"
6656 #: build/C/man3/strtol.3:178
6658 "B<strtol>() conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6659 "B<strtoll>() to C99 and POSIX.1-2001."
6661 "B<strtol>() は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6662 "B<strtoll>() は C99 と POSIX.1-2001 に準拠している。"
6665 #: build/C/man3/strtol.3:196
6667 "Since B<strtol>() can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
6668 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>()) on both success and "
6669 "failure, the calling program should set I<errno> to 0 before the call, and "
6670 "then determine if an error occurred by checking whether I<errno> has a "
6671 "nonzero value after the call."
6673 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
6674 "(B<strtoll>() では B<LLONG_MAX>, B<LLONG_MIN>) が返る可能性があるので、 プ"
6675 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
6676 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6679 #: build/C/man3/strtol.3:201
6681 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6682 "these functions may accept other, implementation-defined numeric strings."
6684 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6685 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6688 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6689 msgid "BSD also has"
6693 #: build/C/man3/strtol.3:207
6695 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6696 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6699 #: build/C/man3/strtol.3:216
6701 "with completely analogous definition. Depending on the wordsize of the "
6702 "current architecture, this may be equivalent to B<strtoll>() or to "
6705 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6706 "であるが、この関数は B<strtoll>() か B<strtol>() と等価となることもある。"
6709 #: build/C/man3/strtol.3:230
6711 "The program shown below demonstrates the use of B<strtol>(). The first "
6712 "command-line argument specifies a string from which B<strtol>() should "
6713 "parse a number. The second (optional) argument specifies the base to be "
6714 "used for the conversion. (This argument is converted to numeric form using "
6715 "B<atoi>(3), a function that performs no error checking and has a simpler "
6716 "interface than B<strtol>().) Some examples of the results produced by this "
6717 "program are the following:"
6719 "以下のプログラムは B<strtol>() の使用例である。 最初のコマンドライン引き数に"
6720 "は B<strtol>() が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6721 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3) を使って"
6722 "数値に変換される。 B<atoi>(3) は B<strtol>() よりも簡単なインタフェースを持"
6723 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
6727 #: build/C/man3/strtol.3:246
6730 "$B< ./a.out 123>\n"
6731 "strtol() returned 123\n"
6732 "$B< ./a.out \\(aq 123\\(aq>\n"
6733 "strtol() returned 123\n"
6734 "$B< ./a.out 123abc>\n"
6735 "strtol() returned 123\n"
6736 "Further characters after number: abc\n"
6737 "$B< ./a.out 123abc 55>\n"
6738 "strtol: Invalid argument\n"
6739 "$B< ./a.out \\(aq\\(aq>\n"
6740 "No digits were found\n"
6741 "$B< ./a.out 4000000000>\n"
6742 "strtol: Numerical result out of range\n"
6744 "$B< ./a.out 123>\n"
6745 "strtol() returned 123\n"
6746 "$B< ./a.out \\(aq 123\\(aq>\n"
6747 "strtol() returned 123\n"
6748 "$B< ./a.out 123abc>\n"
6749 "strtol() returned 123\n"
6750 "Further characters after number: abc\n"
6751 "$B< ./a.out 123abc 55>\n"
6752 "strtol: Invalid argument\n"
6753 "$B< ./a.out \\(aq\\(aq>\n"
6754 "No digits were found\n"
6755 "$B< ./a.out 4000000000>\n"
6756 "strtol: Numerical result out of range\n"
6759 #: build/C/man3/strtol.3:255
6762 "#include E<lt>stdlib.hE<gt>\n"
6763 "#include E<lt>limits.hE<gt>\n"
6764 "#include E<lt>stdio.hE<gt>\n"
6765 "#include E<lt>errno.hE<gt>\n"
6767 "#include E<lt>stdlib.hE<gt>\n"
6768 "#include E<lt>limits.hE<gt>\n"
6769 "#include E<lt>stdio.hE<gt>\n"
6770 "#include E<lt>errno.hE<gt>\n"
6773 #: build/C/man3/strtol.3:262
6777 "main(int argc, char *argv[])\n"
6780 " char *endptr, *str;\n"
6784 "main(int argc, char *argv[])\n"
6787 " char *endptr, *str;\n"
6791 #: build/C/man3/strtol.3:267
6794 " if (argc E<lt> 2) {\n"
6795 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6796 " exit(EXIT_FAILURE);\n"
6799 " if (argc E<lt> 2) {\n"
6800 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6801 " exit(EXIT_FAILURE);\n"
6805 #: build/C/man3/strtol.3:270
6809 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6812 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6815 #: build/C/man3/strtol.3:273
6818 " errno = 0; /* To distinguish success/failure after call */\n"
6819 " val = strtol(str, &endptr, base);\n"
6821 " errno = 0; /* To distinguish success/failure after call */\n"
6822 " val = strtol(str, &endptr, base);\n"
6825 #: build/C/man3/strtol.3:275
6827 msgid " /* Check for various possible errors */\n"
6828 msgstr " /* Check for various possible errors */\n"
6831 #: build/C/man3/strtol.3:281
6834 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6835 " || (errno != 0 && val == 0)) {\n"
6836 " perror(\"strtol\");\n"
6837 " exit(EXIT_FAILURE);\n"
6840 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6841 " || (errno != 0 && val == 0)) {\n"
6842 " perror(\"strtol\");\n"
6843 " exit(EXIT_FAILURE);\n"
6847 #: build/C/man3/strtol.3:286
6850 " if (endptr == str) {\n"
6851 " fprintf(stderr, \"No digits were found\\en\");\n"
6852 " exit(EXIT_FAILURE);\n"
6855 " if (endptr == str) {\n"
6856 " fprintf(stderr, \"No digits were found\\en\");\n"
6857 " exit(EXIT_FAILURE);\n"
6861 #: build/C/man3/strtol.3:288
6863 msgid " /* If we got here, strtol() successfully parsed a number */\n"
6864 msgstr " /* If we got here, strtol() successfully parsed a number */\n"
6867 #: build/C/man3/strtol.3:290
6869 msgid " printf(\"strtol() returned %ld\\en\", val);\n"
6870 msgstr " printf(\"strtol() returned %ld\\en\", val);\n"
6873 #: build/C/man3/strtol.3:293
6876 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
6877 " printf(\"Further characters after number: %s\\en\", endptr);\n"
6879 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
6880 " printf(\"Further characters after number: %s\\en\", endptr);\n"
6883 #: build/C/man3/strtol.3:302
6884 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6885 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6888 #: build/C/man3/strtoul.3:33
6894 #: build/C/man3/strtoul.3:36
6896 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
6897 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
6900 #: build/C/man3/strtoul.3:42
6902 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6903 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6906 #: build/C/man3/strtoul.3:45
6909 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6910 "B< int >I<base>B<);>\n"
6912 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6913 "B< int >I<base>B<);>\n"
6916 #: build/C/man3/strtoul.3:54
6917 msgid "B<strtoull>():"
6918 msgstr "B<strtoull>():"
6921 #: build/C/man3/strtoul.3:75
6923 "The B<strtoul>() function converts the initial part of the string in "
6924 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
6925 "which must be between 2 and 36 inclusive, or be the special value 0."
6927 "B<strtoul>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6928 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
6929 "特別な意味を持つ値 0 でなければならない。"
6932 #: build/C/man3/strtoul.3:98
6934 "The remainder of the string is converted to an I<unsigned long int> value in "
6935 "the obvious manner, stopping at the first character which is not a valid "
6936 "digit in the given base. (In bases above 10, the letter \\(aqA\\(aq in "
6937 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
6938 "so forth, with \\(aqZ\\(aq representing 35.)"
6940 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
6941 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
6942 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
6946 #: build/C/man3/strtoul.3:119
6948 "If I<endptr> is not NULL, B<strtoul>() stores the address of the first "
6949 "invalid character in I<*endptr>. If there were no digits at all, "
6950 "B<strtoul>() stores the original value of I<nptr> in I<*endptr> (and "
6951 "returns 0). In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
6952 "I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
6954 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>() は最初に不正な文字が現れ"
6955 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
6956 "ば、 B<strtoul>() は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
6957 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
6958 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6961 #: build/C/man3/strtoul.3:127
6963 "The B<strtoull>() function works just like the B<strtoul>() function but "
6964 "returns an I<unsigned long long int> value."
6966 "B<strtoull>() 関数は B<strtoul>() 関数と同様だが、 I<unsigned long long "
6970 #: build/C/man3/strtoul.3:148
6972 "The B<strtoul>() function returns either the result of the conversion or, "
6973 "if there was a leading minus sign, the negation of the result of the "
6974 "conversion represented as an unsigned value, unless the original "
6975 "(nonnegated) value would overflow; in the latter case, B<strtoul>() returns "
6976 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>. Precisely the same holds for "
6977 "B<strtoull>() (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
6979 "B<strtoul>() 関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
6980 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
6981 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
6982 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
6983 "替えれば) B<strtoull>() は B<strtoul>() と全く同じである。"
6986 #: build/C/man3/strtoul.3:177
6988 "The B<strtoul>(), B<strtoull>(), and B<strtouq>() functions are thread-safe "
6989 "with exceptions. These functions can be safely used in multithreaded "
6990 "applications, as long as B<setlocale>(3) is not called to change the locale "
6991 "during their execution."
6993 "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
6994 "ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6995 "レッドアプリケーションで安全に使用することができる。"
6998 #: build/C/man3/strtoul.3:182
7000 "B<strtoul>() conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>() "
7001 "to C99 and POSIX.1-2001."
7003 "B<strtoul>() は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
7004 "B<strtoull>() は C99 と POSIX.1-2001 に準拠している。"
7007 #: build/C/man3/strtoul.3:196
7009 "Since B<strtoul>() can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
7010 "for B<strtoull>()) on both success and failure, the calling program should "
7011 "set I<errno> to 0 before the call, and then determine if an error occurred "
7012 "by checking whether I<errno> has a nonzero value after the call."
7014 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
7015 "(B<strtoull>() では B<ULLONG_MAX>) が返る可能性があるので、 プログラムは関"
7016 "数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
7017 "かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
7020 #: build/C/man3/strtoul.3:200
7022 "In locales other than the \"C\" locale, other strings may be accepted. (For "
7023 "example, the thousands separator of the current locale may be supported.)"
7025 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
7026 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
7029 #: build/C/man3/strtoul.3:206
7031 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7032 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7035 #: build/C/man3/strtoul.3:215
7037 "with completely analogous definition. Depending on the wordsize of the "
7038 "current architecture, this may be equivalent to B<strtoull>() or to "
7041 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
7042 "であるが、この関数は B<strtoull>() や B<stroul>() と等価な場合もありえる。"
7045 #: build/C/man3/strtoul.3:220
7047 "Negative values are considered valid input and are silently converted to the "
7048 "equivalent I<unsigned long int> value."
7050 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7054 #: build/C/man3/strtoul.3:230
7055 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7056 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7059 #: build/C/man3/system.3:31
7065 #: build/C/man3/system.3:34
7066 msgid "system - execute a shell command"
7067 msgstr "system - シェルコマンドの実行"
7070 #: build/C/man3/system.3:39
7072 msgid "B<int system(const char *>I<command>B<);>\n"
7073 msgstr "B<int system(const char *>I<command>B<);>\n"
7076 #: build/C/man3/system.3:50
7078 "The B<system>() library function uses B<fork>(2) to create a child process "
7079 "that executes the shell command specified in I<command> using B<execl>(3) "
7082 "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
7083 "ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
7087 #: build/C/man3/system.3:52
7089 msgid " execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7090 msgstr " execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7093 #: build/C/man3/system.3:55
7094 msgid "B<system>() returns after the command has been completed."
7095 msgstr "B<system>() が返るのはコマンドが完了した後である。"
7098 #: build/C/man3/system.3:67
7100 "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
7101 "and B<SIGQUIT> will be ignored, in the process that calls B<system>() "
7102 "(these signals will be handled according to their defaults inside the child "
7103 "process that executes I<command>)."
7105 "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
7106 "ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
7107 "ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
7110 #: build/C/man3/system.3:73
7112 "If I<command> is NULL, then B<system>() returns a status indicating whether "
7113 "a shell is available on the system"
7115 "I<command> が NULL の場合、 B<system>() はそのシステムでシェルが利用可能かを"
7119 #: build/C/man3/system.3:77
7120 msgid "The return value of B<system>() is one of the following:"
7121 msgstr "B<system>() の返り値は以下のいずれかである。"
7124 #: build/C/man3/system.3:82
7126 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
7127 "no shell is available."
7129 "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
7133 #: build/C/man3/system.3:86
7135 "If a child process could not be created, or its status could not be "
7136 "retrieved, the return value is -1."
7138 "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
7139 "かった場合、 返り値は -1 である。"
7142 #: build/C/man3/system.3:91
7144 "If a shell could not be executed in the child process, then the return value "
7145 "is as though the child shell terminated by calling B<_exit>(2) with the "
7148 "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
7149 "127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
7152 #: build/C/man3/system.3:98
7154 "If all system calls succeed, then the return value is the termination status "
7155 "of the child shell used to execute I<command>. (The termination status of a "
7156 "shell is the termination status of the last command it executes.)"
7158 "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
7159 "れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
7160 "シェルが実行した最後のコマンドの終了ステータスである)。"
7163 #: build/C/man3/system.3:107
7165 "In the last two cases, the return value is a \"wait status\" that can be "
7166 "examined using the macros described in B<waitpid>(2). (i.e., "
7167 "B<WIFEXITED>() B<WEXITSTATUS>() and so on)."
7169 "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
7170 "いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
7174 #: build/C/man3/system.3:110
7175 msgid "B<system>() does not affect the wait status of any other children."
7176 msgstr "B<system>() は他の子プロセスのウエイトステータスには影響を与えない。"
7179 #: build/C/man3/system.3:115
7180 msgid "The B<system>() function is thread-safe."
7181 msgstr "関数 B<system>() はスレッドセーフである。"
7184 #: build/C/man3/system.3:117
7185 msgid "C89, C99, POSIX.1-2001."
7186 msgstr "C89, C99, POSIX.1-2001."
7189 #: build/C/man3/system.3:134
7191 "B<system>() provides simplicity and convenience: it handles all of the "
7192 "details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
7193 "the necessary manipulations of signals; in addition, the shell performs the "
7194 "usual substitutions and I/O redirections for I<command>. The main cost of "
7195 "B<system>() is inefficiency: additional system calls are required to create "
7196 "the process that runs the shell and to execute the shell."
7198 "B<system>() により簡便性と利便性がもたらされる。この関数は B<fork>(2), "
7199 "B<execl>(3), B<waitpid>(2) の呼び出しにおける詳細をすべて行うとともに、 シグ"
7200 "ナルの適切な処理も行う。 また、シェルは I<command> に対して通常の置換 "
7201 "(substitutions) と I/O リダイレクトを行う。 B<system>() を使用することによる"
7202 "主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェ"
7203 "ルを実行するために、余計にシステムコールが必要となる。"
7206 #: build/C/man3/system.3:146
7208 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
7209 "I<any> header files), then the macros described in B<waitpid>(2) "
7210 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
7213 "(「どの」ヘッダファイルをインクルードするよりも前に) 機能検査マクロ "
7214 "B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2) で説明されているマクロ"
7215 "群 (B<WEXITSTATUS>() 等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
7219 #: build/C/man3/system.3:157
7221 "As mentioned, B<system>() ignores B<SIGINT> and B<SIGQUIT>. This may make "
7222 "programs that call it from a loop uninterruptible, unless they take care "
7223 "themselves to check the exit status of the child. For example:"
7225 "既に述べたように、 B<system>() は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7226 "てループから B<system>() を呼ぶプログラムは、 以下の例のように子プロセスの終"
7227 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7230 #: build/C/man3/system.3:162
7233 " while (something) {\n"
7234 " int ret = system(\"foo\");\n"
7236 " while (something) {\n"
7237 " int ret = system(\"foo\");\n"
7240 #: build/C/man3/system.3:167
7243 " if (WIFSIGNALED(ret) &&\n"
7244 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7248 " if (WIFSIGNALED(ret) &&\n"
7249 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7254 #: build/C/man3/system.3:187
7256 "Do not use B<system>() from a program with set-user-ID or set-group-ID "
7257 "privileges, because strange values for some environment variables might be "
7258 "used to subvert system integrity. Use the B<exec>(3) family of functions "
7259 "instead, but not B<execlp>(3) or B<execvp>(3). B<system>() will not, in "
7260 "fact, work properly from programs with set-user-ID or set-group-ID "
7261 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
7262 "drops privileges on startup. (Debian uses a modified bash which does not do "
7263 "this when invoked as B<sh>.)"
7265 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>() を"
7266 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
7267 "なわれるからである。代わりに B<exec>(3) 関連の関数群の中で B<execlp>(3) と "
7268 "B<execvp>(3) 以外の関数を使用すべきである。 実際のところ、 B<system>() は "
7269 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
7270 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
7271 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
7272 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
7276 #: build/C/man3/system.3:201
7278 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
7279 "sh> was not actually performed if I<command> was NULL; instead it was always "
7280 "assumed to be available, and B<system>() always returned 1 in this case. "
7281 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
7282 "requires a conforming implementation to provide a shell, that shell may not "
7283 "be available or executable if the calling program has previously called "
7284 "B<chroot>(2) (which is not specified by POSIX.1-2001)."
7286 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
7287 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
7288 "ていた。 B<system>() はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
7289 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
7290 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
7291 "B<system>() を呼び出すより前に (POSIX.1-2001 では規定されていない) "
7292 "B<chroot>(2) を呼び出していた時には、シェルが利用可能でない場合や実行可能"
7293 "ファイル でない場合があるからである。"
7296 #: build/C/man3/system.3:207
7298 "It is possible for the shell command to terminate with a status of 127, "
7299 "which yields a B<system>() return value that is indistinguishable from the "
7300 "case where a shell could not be executed in the child process."
7302 "シェルコマンドがステータス 127 で終了することもある。 この場合、B<system>() "
7303 "の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
7306 #: build/C/man3/system.3:214
7308 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7309 "B<exec>(3), B<signal>(7)"
7311 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7312 "B<exec>(3), B<signal>(7)"
7315 #: build/C/man7/vdso.7:13
7321 #: build/C/man7/vdso.7:16
7322 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7326 #: build/C/man7/vdso.7:18
7327 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
7328 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
7331 #: build/C/man7/vdso.7:20
7332 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7333 msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7336 #: build/C/man7/vdso.7:29
7338 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
7339 "the kernel automatically maps into the address space of all user-space "
7340 "applications. Applications usually do not need to concern themselves with "
7341 "these details as the vDSO is most commonly called by the C library. This "
7342 "way you can code in the normal way using standard functions and the C "
7343 "library will take care of using any functionality that is available via the "
7348 #: build/C/man7/vdso.7:37
7350 "Why does the vDSO exist at all? There are some system calls the kernel "
7351 "provides that user-space code ends up using frequently, to the point that "
7352 "such calls can dominate overall performance. This is due both to the "
7353 "frequency of the call as well as the context-switch overhead that results "
7354 "from exiting user space and entering the kernel."
7358 #: build/C/man7/vdso.7:42
7360 "The rest of this documentation is geared toward the curious and/or C library "
7361 "writers rather than general developers. If you're trying to call the vDSO "
7362 "in your own application rather than using the C library, you're most likely "
7367 #: build/C/man7/vdso.7:42
7369 msgid "Example background"
7373 #: build/C/man7/vdso.7:56
7375 "Making system calls can be slow. In x86 32-bit systems, you can trigger a "
7376 "software interrupt (I<int $0x80>) to tell the kernel you wish to make a "
7377 "system call. However, this instruction is expensive: it goes through the "
7378 "full interrupt-handling paths in the processor's microcode as well as in the "
7379 "kernel. Newer processors have faster (but backward incompatible) "
7380 "instructions to initiate system calls. Rather than require the C library to "
7381 "figure out if this functionality is available at run time, the C library can "
7382 "use functions provided by the kernel in the vDSO."
7386 #: build/C/man7/vdso.7:63
7388 "Note that the terminology can be confusing. On x86 systems, the vDSO "
7389 "function used to determine the preferred method of making a system call is "
7390 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
7391 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
7396 #: build/C/man7/vdso.7:79
7398 "One frequently used system call is B<gettimeofday>(2). This system call is "
7399 "called both directly by user-space applications as well as indirectly by the "
7400 "C library. Think timestamps or timing loops or polling\\(emall of these "
7401 "frequently need to know what time it is right now. This information is also "
7402 "not secret\\(emany application in any privilege mode (root or any "
7403 "unprivileged user) will get the same answer. Thus the kernel arranges for "
7404 "the information required to answer this question to be placed in memory the "
7405 "process can access. Now a call to B<gettimeofday>(2) changes from a system "
7406 "call to a normal function call and a few memory accesses."
7410 #: build/C/man7/vdso.7:79
7412 msgid "Finding the vDSO"
7416 #: build/C/man7/vdso.7:86
7418 "The base address of the vDSO (if one exists) is passed by the kernel to each "
7419 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
7420 "B<AT_SYSINFO_EHDR> tag."
7424 #: build/C/man7/vdso.7:95
7426 "You must not assume the vDSO is mapped at any particular location in the "
7427 "user's memory map. The base address will usually be randomized at run time "
7428 "every time a new process image is created (at B<execve>(2) time). This is "
7429 "done for security reasons, to prevent \"return-to-libc\" attacks."
7433 #: build/C/man7/vdso.7:104
7435 "For some architectures, there is also an B<AT_SYSINFO> tag. This is used "
7436 "only for locating the vsyscall entry point and is frequently omitted or set "
7437 "to 0 (meaning it's not available). This tag is a throwback to the initial "
7438 "vDSO work (see I<History> below) and its use should be avoided."
7442 #: build/C/man7/vdso.7:104
7448 #: build/C/man7/vdso.7:111
7450 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
7451 "it. This allows new symbols to be added with newer kernel releases, and "
7452 "allows the C library to detect available functionality at run time when "
7453 "running under different kernel versions. Oftentimes the C library will do "
7454 "detection with the first call and then cache the result for subsequent calls."
7458 #: build/C/man7/vdso.7:120
7460 "All symbols are also versioned (using the GNU version format). This allows "
7461 "the kernel to update the function signature without breaking backward "
7462 "compatibility. This means changing the arguments that the function accepts "
7463 "as well as the return value. Thus, when looking up a symbol in the vDSO, "
7464 "you must always include the version to match the ABI you expect."
7468 #: build/C/man7/vdso.7:125
7470 "Typically the vDSO follows the naming convention of prefixing all symbols "
7471 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
7472 "standard symbols. For example, the \"gettimeofday\" function is named "
7473 "\"__vdso_gettimeofday\"."
7477 #: build/C/man7/vdso.7:129
7479 "You use the standard C calling conventions when calling any of these "
7480 "functions. No need to worry about weird register or stack behavior."
7484 #: build/C/man7/vdso.7:130
7490 #: build/C/man7/vdso.7:134
7492 "When you compile the kernel, it will automatically compile and link the vDSO "
7493 "code for you. You will frequently find it under the architecture-specific "
7498 #: build/C/man7/vdso.7:136
7500 msgid " find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7504 #: build/C/man7/vdso.7:137
7510 #: build/C/man7/vdso.7:143
7512 "The name of the vDSO varies across architectures. It will often show up in "
7513 "things like glibc's B<ldd>(1) output. The exact name should not matter to "
7514 "any code, so do not hardcode it."
7518 #: build/C/man7/vdso.7:148
7520 msgid "user ABI\tvDSO name\n"
7524 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
7525 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
7526 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
7527 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:463
7528 #: build/C/man7/vdso.7:482
7534 #: build/C/man7/vdso.7:150
7536 msgid "aarch64\tlinux-vdso.so.1\n"
7537 msgstr "aarch64\tlinux-vdso.so.1\n"
7540 #: build/C/man7/vdso.7:151
7542 msgid "ia64\tlinux-gate.so.1\n"
7543 msgstr "ia64\tlinux-gate.so.1\n"
7546 #: build/C/man7/vdso.7:152
7548 msgid "ppc/32\tlinux-vdso32.so.1\n"
7549 msgstr "ppc/32\tlinux-vdso32.so.1\n"
7552 #: build/C/man7/vdso.7:153
7554 msgid "ppc/64\tlinux-vdso64.so.1\n"
7555 msgstr "ppc/64\tlinux-vdso64.so.1\n"
7558 #: build/C/man7/vdso.7:154
7560 msgid "s390\tlinux-vdso32.so.1\n"
7561 msgstr "s390\tlinux-vdso32.so.1\n"
7564 #: build/C/man7/vdso.7:155
7566 msgid "s390x\tlinux-vdso64.so.1\n"
7567 msgstr "s390x\tlinux-vdso64.so.1\n"
7570 #: build/C/man7/vdso.7:156
7572 msgid "sh\tlinux-gate.so.1\n"
7573 msgstr "sh\tlinux-gate.so.1\n"
7576 #: build/C/man7/vdso.7:157
7578 msgid "i386\tlinux-gate.so.1\n"
7579 msgstr "i386\tlinux-gate.so.1\n"
7582 #: build/C/man7/vdso.7:158
7584 msgid "x86_64\tlinux-vdso.so.1\n"
7585 msgstr "x86_64\tlinux-vdso.so.1\n"
7588 #: build/C/man7/vdso.7:159
7590 msgid "x86/x32\tlinux-vdso.so.1\n"
7591 msgstr "x86/x32\tlinux-vdso.so.1\n"
7594 #: build/C/man7/vdso.7:165
7596 msgid "ARCHITECTURE-SPECIFIC NOTES"
7600 #: build/C/man7/vdso.7:168
7601 msgid "The subsections below provide architecture-specific notes on the vDSO."
7605 #: build/C/man7/vdso.7:177
7607 "Note that the vDSO that is used is based on the ABI of your user-space code "
7608 "and not the ABI of the kernel. Thus, for example, when you run an i386 32-"
7609 "bit ELF binary, you'll get the same vDSO regardless of whether you run it "
7610 "under an i386 32-bit kernel or under an x86_64 64-bit kernel. Therefore, "
7611 "the name of the user-space ABI should be used to determine which of the "
7612 "sections below is relevant."
7616 #: build/C/man7/vdso.7:177
7618 msgid "ARM functions"
7621 #. See linux/arch/arm/kernel/entry-armv.S
7622 #. See linux/Documentation/arm/kernel_user_helpers.txt
7624 #: build/C/man7/vdso.7:184
7626 "The ARM port has a code page full of utility functions. Since it's just a "
7627 "raw page of code, there is no ELF information for doing symbol lookups or "
7628 "versioning. It does provide support for different versions though."
7632 #: build/C/man7/vdso.7:189
7634 "For information on this code page, it's best to refer to the kernel "
7635 "documentation as it's extremely detailed and covers everything you need to "
7636 "know: I<Documentation/arm/kernel_user_helpers.txt>."
7640 #: build/C/man7/vdso.7:189
7642 msgid "aarch64 functions"
7645 #. See linux/arch/x86/vdso/vdso32.lds.S
7647 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
7648 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
7649 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:476
7650 msgid "The table below lists the symbols exported by the vDSO."
7654 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
7655 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
7656 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:462
7657 #: build/C/man7/vdso.7:481
7659 msgid "symbol\tversion\n"
7663 #: build/C/man7/vdso.7:199
7665 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7666 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7669 #: build/C/man7/vdso.7:200
7671 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7672 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
7675 #: build/C/man7/vdso.7:201
7677 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7678 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
7681 #: build/C/man7/vdso.7:202
7683 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7684 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
7687 #: build/C/man7/vdso.7:208
7689 msgid "bfin (Blackfin) functions"
7692 #. See linux/arch/blackfin/kernel/fixed_code.S
7693 #. See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7695 #: build/C/man7/vdso.7:220
7697 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
7698 "in the normal sense. Instead, it maps at boot time a few raw functions into "
7699 "a fixed location in memory. User-space applications then call directly into "
7700 "that region. There is no provision for backward compatibility beyond "
7701 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
7702 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
7707 #: build/C/man7/vdso.7:223
7709 "For information on this code page, it's best to refer to the public "
7714 #: build/C/man7/vdso.7:225
7715 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7719 #: build/C/man7/vdso.7:225
7721 msgid "ia64 (Itanium) functions"
7725 #: build/C/man7/vdso.7:236
7727 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7728 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
7731 #: build/C/man7/vdso.7:237
7733 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7734 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
7737 #: build/C/man7/vdso.7:238
7739 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7740 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
7743 #: build/C/man7/vdso.7:257
7745 "The Itanium port is somewhat tricky. In addition to the vDSO above, it also "
7746 "has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
7747 "\"). You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper. "
7748 "The system calls listed here have the same semantics as if you called them "
7749 "directly via B<syscall>(2), so refer to the relevant documentation for "
7750 "each. The table below lists the functions available via this mechanism."
7754 #: build/C/man7/vdso.7:262
7760 #: build/C/man7/vdso.7:264
7762 msgid "clock_gettime\n"
7766 #: build/C/man7/vdso.7:265
7772 #: build/C/man7/vdso.7:266
7778 #: build/C/man7/vdso.7:267
7784 #: build/C/man7/vdso.7:268
7786 msgid "gettimeofday\n"
7790 #: build/C/man7/vdso.7:269
7792 msgid "set_tid_address\n"
7796 #: build/C/man7/vdso.7:275
7798 msgid "parisc (hppa) functions"
7801 #. See linux/arch/parisc/kernel/syscall.S
7802 #. See linux/Documentation/parisc/registers
7804 #: build/C/man7/vdso.7:286
7806 "The parisc port has a code page full of utility functions called a gateway "
7807 "page. Rather than use the normal ELF auxiliary vector approach, it passes "
7808 "the address of the page to the process via the SR2 register. The "
7809 "permissions on the page are such that merely executing those addresses "
7810 "automatically executes with kernel privileges and not in user space. This "
7811 "is done to match the way HP-UX works."
7815 #: build/C/man7/vdso.7:291
7817 "Since it's just a raw page of code, there is no ELF information for doing "
7818 "symbol lookups or versioning. Simply call into the appropriate offset via "
7819 "the branch instruction, for example:"
7823 #: build/C/man7/vdso.7:293
7825 msgid " ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7829 #: build/C/man7/vdso.7:298
7831 msgid "offset\tfunction\n"
7835 #: build/C/man7/vdso.7:300
7837 msgid "00b0\tlws_entry\n"
7841 #: build/C/man7/vdso.7:301
7843 msgid "00e0\tset_thread_pointer\n"
7847 #: build/C/man7/vdso.7:302
7849 msgid "0100\tlinux_gateway_entry (syscall)\n"
7853 #: build/C/man7/vdso.7:303
7855 msgid "0268\tsyscall_nosys\n"
7859 #: build/C/man7/vdso.7:304
7861 msgid "0274\ttracesys\n"
7865 #: build/C/man7/vdso.7:305
7867 msgid "0324\ttracesys_next\n"
7871 #: build/C/man7/vdso.7:306
7873 msgid "0368\ttracesys_exit\n"
7877 #: build/C/man7/vdso.7:307
7879 msgid "03a0\ttracesys_sigexit\n"
7883 #: build/C/man7/vdso.7:308
7885 msgid "03b8\tlws_start\n"
7889 #: build/C/man7/vdso.7:309
7891 msgid "03dc\tlws_exit_nosys\n"
7895 #: build/C/man7/vdso.7:310
7897 msgid "03e0\tlws_exit\n"
7901 #: build/C/man7/vdso.7:311
7903 msgid "03e4\tlws_compare_and_swap64\n"
7907 #: build/C/man7/vdso.7:312
7909 msgid "03e8\tlws_compare_and_swap\n"
7913 #: build/C/man7/vdso.7:313
7915 msgid "0404\tcas_wouldblock\n"
7919 #: build/C/man7/vdso.7:314
7921 msgid "0410\tcas_action\n"
7925 #: build/C/man7/vdso.7:320
7927 msgid "ppc/32 functions"
7930 #. See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
7932 #: build/C/man7/vdso.7:327
7934 "The table below lists the symbols exported by the vDSO. The functions "
7935 "marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
7940 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
7942 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
7946 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
7948 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
7952 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
7954 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
7958 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
7960 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
7964 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
7966 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
7970 #: build/C/man7/vdso.7:339
7972 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
7976 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
7978 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
7982 #: build/C/man7/vdso.7:341
7984 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
7988 #: build/C/man7/vdso.7:342
7990 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
7994 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
7996 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
8000 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
8002 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8006 #: build/C/man7/vdso.7:350
8008 msgid "ppc/64 functions"
8012 #: build/C/man7/vdso.7:365
8014 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
8018 #: build/C/man7/vdso.7:367
8020 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8024 #: build/C/man7/vdso.7:375
8026 msgid "s390 functions"
8030 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
8032 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
8036 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
8038 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
8042 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
8044 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
8048 #: build/C/man7/vdso.7:393
8050 msgid "s390x functions"
8054 #: build/C/man7/vdso.7:411
8056 msgid "sh (SuperH) functions"
8060 #: build/C/man7/vdso.7:421
8062 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
8066 #: build/C/man7/vdso.7:422
8068 msgid "__kernel_sigreturn\tLINUX_2.6\n"
8072 #: build/C/man7/vdso.7:423
8074 msgid "__kernel_vsyscall\tLINUX_2.6\n"
8078 #: build/C/man7/vdso.7:429
8080 msgid "i386 functions"
8084 #: build/C/man7/vdso.7:439
8086 msgid "__kernel_sigreturn\tLINUX_2.5\n"
8090 #: build/C/man7/vdso.7:440
8092 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
8096 #: build/C/man7/vdso.7:441
8098 msgid "__kernel_vsyscall\tLINUX_2.5\n"
8101 #. Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
8102 #. in 37c975545ec63320789962bf307f000f08fabd48.
8104 #: build/C/man7/vdso.7:444
8106 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
8110 #: build/C/man7/vdso.7:445
8112 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
8116 #: build/C/man7/vdso.7:446
8118 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
8122 #: build/C/man7/vdso.7:452
8124 msgid "x86_64 functions"
8127 #. See linux/arch/x86/vdso/vdso.lds.S
8129 #: build/C/man7/vdso.7:457
8131 "The table below lists the symbols exported by the vDSO. All of these "
8132 "symbols are also available without the \"__vdso_\" prefix, but you should "
8133 "ignore those and stick to the names below."
8137 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
8139 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
8143 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
8145 msgid "__vdso_getcpu\tLINUX_2.6\n"
8149 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
8151 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8155 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
8157 msgid "__vdso_time\tLINUX_2.6\n"
8161 #: build/C/man7/vdso.7:473
8163 msgid "x86/x32 functions"
8167 #: build/C/man7/vdso.7:492
8173 #: build/C/man7/vdso.7:499
8175 "The vDSO was originally just a single function\\(emthe vsyscall. In older "
8176 "kernels, you might see that name in a process's memory map rather than \"vdso"
8177 "\". Over time, people realized that this mechanism was a great way to pass "
8178 "more functionality to user space, so it was reconceived as a vDSO in the "
8183 #: build/C/man7/vdso.7:503
8184 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8185 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8188 #: build/C/man7/vdso.7:505
8189 msgid "The documents, examples, and source code in the Linux source code tree:"
8193 #: build/C/man7/vdso.7:511
8196 "Documentation/ABI/stable/vdso\n"
8197 "Documentation/ia64/fsys.txt\n"
8198 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8202 #: build/C/man7/vdso.7:513
8204 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8205 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8208 #: build/C/man3/wcstombs.3:16
8214 #: build/C/man3/wcstombs.3:19
8215 msgid "wcstombs - convert a wide-character string to a multibyte string"
8216 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8219 #: build/C/man3/wcstombs.3:24
8221 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8222 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8225 #: build/C/man3/wcstombs.3:42
8227 "If I<dest> is not NULL, the B<wcstombs>() function converts the wide-"
8228 "character string I<src> to a multibyte string starting at I<dest>. At most "
8229 "I<n> bytes are written to I<dest>. The conversion starts in the initial "
8230 "state. The conversion can stop for three reasons:"
8232 "I<dest> が NULL でない場合、 B<wcstombs>() 関数は ワイド文字列 I<src> を "
8233 "I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
8234 "トが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停"
8238 #: build/C/man3/wcstombs.3:48
8240 "1. A wide character has been encountered that can not be represented as a "
8241 "multibyte sequence (according to the current locale). In this case, "
8242 "I<(size_t)\\ -1> is returned."
8244 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8245 "場合。この場合には I<(size_t)\\ -1> が返される。"
8248 #: build/C/man3/wcstombs.3:53
8250 "2. The length limit forces a stop. In this case, the number of bytes "
8251 "written to I<dest> is returned, but the shift state at this point is lost."
8253 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8254 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8257 #: build/C/man3/wcstombs.3:60
8259 "3. The wide-character string has been completely converted, including the "
8260 "terminating null wide character (L\\(aq\\e0\\(aq). In this case, the "
8261 "conversion ends in the initial state. The number of bytes written to "
8262 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
8264 "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
8265 "れた場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト"
8266 "数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
8269 #: build/C/man3/wcstombs.3:66
8271 "The programmer must ensure that there is room for at least I<n> bytes at "
8274 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8278 #: build/C/man3/wcstombs.3:74
8280 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
8281 "except that the converted bytes are not written out to memory, and no length "
8284 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8285 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
8288 #: build/C/man3/wcstombs.3:79
8290 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
8291 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
8293 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8294 "src,0)+1> 以上であることを保証しなければならない。"
8297 #: build/C/man3/wcstombs.3:89
8299 "The B<wcstombs>() function returns the number of bytes that make up the "
8300 "converted part of a multibyte sequence, not including the terminating null "
8301 "byte. If a wide character was encountered which could not be converted, "
8302 "I<(size_t)\\ -1> is returned."
8304 "B<wcstombs>() 関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字"
8305 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8309 #: build/C/man3/wcstombs.3:98
8311 "The behavior of B<wcstombs>() depends on the B<LC_CTYPE> category of the "
8314 "B<wcstombs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
8317 #: build/C/man3/wcstombs.3:103
8319 "The function B<wcsrtombs>(3) provides a thread safe interface to the same "
8322 "B<wcsrtombs>() 関数は同じ機能のためのスレッド・セーフな インターフェースを提"
8326 #: build/C/man3/wcstombs.3:108
8327 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3) B<wctom>(3)"
8329 "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3) B<wctom>(3)"
8332 #: build/C/man3/wctomb.3:16
8338 #: build/C/man3/wctomb.3:19
8339 msgid "wctomb - convert a wide character to a multibyte sequence"
8340 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8343 #: build/C/man3/wctomb.3:24
8345 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8346 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8349 #: build/C/man3/wctomb.3:45
8351 "If I<s> is not NULL, the B<wctomb>() function converts the wide character "
8352 "I<wc> to its multibyte representation and stores it at the beginning of the "
8353 "character array pointed to by I<s>. It updates the shift state, which is "
8354 "stored in a static anonymous variable known only to the B<wctomb>() "
8355 "function, and returns the length of said multibyte representation, that is, "
8356 "the number of bytes written at I<s>."
8358 "I<s> が NULL でなければ、 B<wctomb>() 関数はワイド文字 I<wc> を マルチバイト"
8359 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8360 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8361 "なわち I<s> に書き込まれた バイト数を返す。"
8364 #: build/C/man3/wctomb.3:51
8366 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8369 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8372 #. The Dinkumware doc and the Single UNIX specification say this, but
8373 #. glibc doesn't implement this.
8375 #: build/C/man3/wctomb.3:63
8377 "If I<s> is NULL, the B<wctomb>() function resets the shift state, known "
8378 "only to this function, to the initial state, and returns nonzero if the "
8379 "encoding has nontrivial shift state, or zero if the encoding is stateless."
8381 "I<s> が NULL ならば、 B<wctomb>() 関数は自分のみが使用するシフト状態を 初期"
8382 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8386 #: build/C/man3/wctomb.3:77
8388 "If I<s> is not NULL, the B<wctomb>() function returns the number of bytes "
8389 "that have been written to the byte array at I<s>. If I<wc> can not be "
8390 "represented as a multibyte sequence (according to the current locale), -1 is "
8393 "I<s> が NULL でない場合 B<wctomb>() 関数はバイト配列 I<s> に 書き込まれたバ"
8394 "イト数を返す。I<wc> が(現在のロケールにおいて) マルチバイト列で表現できない"
8398 #: build/C/man3/wctomb.3:84
8400 "If I<s> is NULL, the B<wctomb>() function returns nonzero if the encoding "
8401 "has nontrivial shift state, or zero if the encoding is stateless."
8403 "I<s> が NULL の場合 B<wctomb>() 関数は文字符号がシフト状態に 依存している場"
8404 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8407 #: build/C/man3/wctomb.3:89
8408 msgid "The B<wctomb>() function is not thread-safe."
8409 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8412 #: build/C/man3/wctomb.3:98
8414 "The behavior of B<wctomb>() depends on the B<LC_CTYPE> category of the "
8417 "B<wctomb>() 関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
8421 #: build/C/man3/wctomb.3:103
8423 "The function B<wcrtomb>(3) provides a better interface to the same "
8425 msgstr "B<wcrtomb>(3) 関数は同じ機能のより良いインタフェースを提供する。"
8428 #: build/C/man3/wctomb.3:109
8430 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8433 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8437 #~ msgstr "この文書について"
8440 #~ "This page is part of release 3.77 of the Linux I<man-pages> project. A "
8441 #~ "description of the project, information about reporting bugs, and the "
8442 #~ "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
8445 #~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.77 の一部\n"
8446 #~ "である。プロジェクトの説明とバグ報告に関する情報は\n"
8447 #~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
8449 #~ msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
8450 #~ msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
8453 #~ "The nonstandard B<atoq>() function is not present in libc 4.6.27 or "
8454 #~ "glibc 2, but is present in libc5 and libc 4.7 (though only as an inline "
8455 #~ "function in I<E<lt>stdlib.hE<gt>> until libc 5.4.44). The B<atoll>() "
8456 #~ "function is present in glibc 2 since version 2.0.2, but not in libc4 or "
8459 #~ "非標準である B<atoq>() 関数は libc 4.6.27 や glibc 2 には含まれていない"
8460 #~ "が、 libc5 と libc 4.7 には存在している (ただし libc 5.4.44 までは "
8461 #~ "I<E<lt>stdlib.hE<gt>> のインライン関数のみである)。 B<atoll>() 関数は "
8462 #~ "glibc 2 のバージョン 2.0.2 から存在しているが、 libc4 や libc5 には存在し"
8465 #~ msgid "2010-10-04"
8466 #~ msgstr "2010-10-04"
8468 #~ msgid "Not in libc4, libc5. In glibc since glibc 2.0."
8470 #~ "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
8473 #~ "These functions are declared obsolete by SVID 3, which states that "
8474 #~ "B<rand>(3) should be used instead."
8476 #~ "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では "
8477 #~ "B<rand>(3) が代わりに使用されるべきだと記述されている。"
8479 #~ msgid "2013-07-04"
8480 #~ msgstr "2013-07-04"
8482 #~ msgid "No errors are diagnosed."
8483 #~ msgstr "エラーは検出されない。"
8485 #~ msgid "2010-09-26"
8486 #~ msgstr "2010-09-26"
8488 #~ msgid "2013-12-28"
8489 #~ msgstr "2013-12-28"
8492 #~ "The prototype for B<mktemp>() is in I<E<lt>unistd.hE<gt>> for libc4, "
8493 #~ "libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in "
8494 #~ "I<E<lt>stdlib.hE<gt>>."
8496 #~ "B<mktemp>() のプロトタイプ宣言は、libc4, libc5, glibc1 では "
8497 #~ "I<E<lt>unistd.hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し "
8498 #~ "I<E<lt>stdlib.hE<gt>> に含まれている。"
8500 #~ msgid "2014-02-27"
8501 #~ msgstr "2014-02-27"
8504 #~ "The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; "
8505 #~ "glibc2 follows the Single UNIX Specification and has the prototype in "
8506 #~ "I<E<lt>stdlib.hE<gt>>."
8508 #~ "libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
8509 #~ "る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> "
8512 #~ msgid "2013-04-19"
8513 #~ msgstr "2013-04-19"
8516 #~ "Description for libc4, libc5, glibc: If the argument I<string> is of the "
8517 #~ "form I<name>, and does not contain an \\(aq=\\(aq character, then the "
8518 #~ "variable I<name> is removed from the environment. If B<putenv>() has to "
8519 #~ "allocate a new array I<environ>, and the previous array was also "
8520 #~ "allocated by B<putenv>(), then it will be freed. In no case will the old "
8521 #~ "storage associated to the environment variable itself be freed."
8523 #~ "libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
8524 #~ "\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去され"
8525 #~ "る。 もし B<putenv>() が新しい I<environ> 配列を確保しなければならない"
8526 #~ "時、 以前の I<environ> 配列も B<putenv>() によって確保されたものならば、 "
8527 #~ "それは解放される。 環境変数そのものに割り当てられた古い記憶領域が解放され"
8530 #~ msgid "2014-03-11"
8531 #~ msgstr "2014-03-11"
8533 #~ msgid "2014-05-10"
8534 #~ msgstr "2014-05-10"
8536 #~ msgid "2014-02-01"
8537 #~ msgstr "2014-02-01"
8540 #~ "B<system>() executes a command specified in I<command> by calling B</bin/"
8541 #~ "sh -c> I<command>, and returns after the command has been completed. "
8542 #~ "During execution of the command, B<SIGCHLD> will be blocked, and "
8543 #~ "B<SIGINT> and B<SIGQUIT> will be ignored."
8545 #~ "B<system>() は I<command> で指定したコマンドを B</bin/sh -c> I<command> "
8546 #~ "の形で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド"
8547 #~ "実行中は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視され"
8551 #~ "The value returned is -1 on error (e.g., B<fork>(2) failed), and the "
8552 #~ "return status of the command otherwise. This latter return status is in "
8553 #~ "the format specified in B<wait>(2). Thus, the exit code of the command "
8554 #~ "will be I<WEXITSTATUS(status)>. In case I</bin/sh> could not be "
8555 #~ "executed, the exit status will be that of a command that does "
8558 #~ "エラーが発生した場合 (B<fork>(2) に失敗した場合など)、-1 を返す。 そうで"
8559 #~ "なければ、コマンドのステータスを返す。 後者の場合、ステータスは "
8560 #~ "B<wait>(2) で定義されているフォーマットで返ってくる。 従って、コマンドの"
8561 #~ "終了コードは I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行"
8562 #~ "出来なかった場合、 終了ステータスはコマンドが I<exit(127)> を実行した場合"
8566 #~ "It is possible for the shell command to return 127, so that code is not a "
8567 #~ "sure indication that the B<execve>(2) call failed."
8569 #~ "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) "
8570 #~ "を返すことも考えられる。 そのため、プログラムは (リターンコードを見るだけ"
8571 #~ "では) B<execve>(2) の呼び出しが失敗したことを確実に知ることはできない。"
8574 #~ "The B<mkostemp>() function is like B<mkstemp>(), with the difference "
8575 #~ "that flags as for B<open>(2) may be specified in I<flags> (e.g., "
8576 #~ "B<O_APPEND>, B<O_SYNC>)."
8578 #~ "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
8579 #~ "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
8582 #~ "This function is not multithread safe. The function B<wcrtomb>(3) "
8583 #~ "provides a better interface to the same functionality."
8585 #~ "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3) 関数は 同じ機能"
8586 #~ "のより良いインターフェースを提供する。"
8589 #~ "The B<putenv>() function returns zero on success, or nonzero if an error "
8592 #~ "B<putenv>() 関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返"
8596 #~ "The B<random>() function returns a value between 0 and B<RAND_MAX>. The "
8597 #~ "B<srandom>() function returns no value. The B<initstate>() function "
8598 #~ "returns a pointer to the previous state array. The B<setstate>() "
8599 #~ "function returns a pointer to the previous state array, or NULL on error."
8601 #~ "B<random>() 関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>() 関数は"
8602 #~ "値を返さない。 B<initstate>() 関数は直前の状態配列へのポインタを返す。 "
8603 #~ "B<setstate>() 関数は直前の状態配列へのポインタを返し、 エラーの場合は "
8606 #~ msgid "All of these functions return 0 on success, or -1 on error."
8607 #~ msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
8610 #~ "In locales other than the \"C\" locale, other strings may also be "
8611 #~ "accepted. (For example, the thousands separator of the current locale "
8612 #~ "may be supported.)"
8614 #~ "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 "
8615 #~ "(例えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれ"
8619 #~ "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x) "
8620 #~ "include a B<malloc>() implementation which is tunable via environment "
8621 #~ "variables. When B<MALLOC_CHECK_> is set, a special (less efficient) "
8622 #~ "implementation is used which is designed to be tolerant against simple "
8623 #~ "errors, such as double calls of B<free>() with the same argument, or "
8624 #~ "overruns of a single byte (off-by-one bugs). Not all such errors can be "
8625 #~ "protected against, however, and memory leaks can result. If "
8626 #~ "B<MALLOC_CHECK_> is set to 0, any detected heap corruption is silently "
8627 #~ "ignored; if set to 1, a diagnostic message is printed on I<stderr>; if "
8628 #~ "set to 2, B<abort>(3) is called immediately; if set to 3, a diagnostic "
8629 #~ "message is printed on I<stderr> and the program is aborted. Using a "
8630 #~ "nonzero B<MALLOC_CHECK_> value can be useful because otherwise a crash "
8631 #~ "may happen much later, and the true cause for the problem is then very "
8632 #~ "hard to track down."
8634 #~ "最近のバージョンの Linux libc (5.4.23 以降) と glibc (2.x) では、 "
8635 #~ "B<malloc>() の動作を環境変数によって制御できるような実装がされている。 "
8636 #~ "B<MALLOC_CHECK_> が設定されていると、特殊な実装が用いられ、 単純なエラーに"
8637 #~ "は耐えることができるようになる (効率は悪くなる)。例えば、 B<free>() を同"
8638 #~ "じ引き数で二度呼び出してしまう、 1 バイトだけ行きすぎてしまう (off-by-one "
8639 #~ "バグ) などがこれに当たる。 しかし、これらのエラーの全てを防ぐことができる"
8640 #~ "わけではなく、 その場合にはメモリリークが起こってしまう。 "
8641 #~ "B<MALLOC_CHECK_> が 0 にセットされていると、ヒープの破壊を黙って無視す"
8642 #~ "る。 1 にセットされていると、診断メッセージが標準エラー出力に表示される。 "
8643 #~ "2 にセットされていると、ただちに B<abort>(3) が呼び出される。 3 にセット"
8644 #~ "されていると、診断メッセージが標準エラー出力に表示され、 プログラムは強制"
8645 #~ "終了 (abort) される。 B<MALLOC_CHECK_> に 0 以外の値をセットして役に立つ状"
8646 #~ "況としては、 実際のプロセスのクラッシュがずっと後に起こり、 本当の原因を探"
8647 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"