OSDN Git Service

LDP: Update POT and ja.po to LDP v3.78-git-80a7408
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-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"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/MB_CUR_MAX.3:17
20 #, no-wrap
21 msgid "MB_CUR_MAX"
22 msgstr "MB_CUR_MAX"
23
24 #. type: TH
25 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
26 #, no-wrap
27 msgid "1999-07-04"
28 msgstr "1999-07-04"
29
30 #. type: TH
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
35 #, no-wrap
36 msgid "Linux"
37 msgstr "Linux"
38
39 #. type: TH
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
58 #, no-wrap
59 msgid "Linux Programmer's Manual"
60 msgstr "Linux Programmer's Manual"
61
62 #. type: SH
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
81 #, no-wrap
82 msgid "NAME"
83 msgstr "名前"
84
85 #. type: Plain text
86 #: build/C/man3/MB_CUR_MAX.3:20
87 msgid ""
88 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
89 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
90
91 #. type: SH
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
110 #, no-wrap
111 msgid "SYNOPSIS"
112 msgstr "書式"
113
114 #. type: Plain text
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
127 #, no-wrap
128 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
129 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
130
131 #. type: SH
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
150 #, no-wrap
151 msgid "DESCRIPTION"
152 msgstr "説明"
153
154 #. type: Plain text
155 #: build/C/man3/MB_CUR_MAX.3:31
156 msgid ""
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."
160 msgstr ""
161 "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要"
162 "な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイ"
163 "ル時に決まる定数ではない。"
164
165 #. type: SH
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
183 #, no-wrap
184 msgid "RETURN VALUE"
185 msgstr "返り値"
186
187 #. type: Plain text
188 #: build/C/man3/MB_CUR_MAX.3:35
189 msgid ""
190 "An integer in the range [1, B<MB_LEN_MAX>].  The value 1 denotes traditional "
191 "8-bit encoded characters."
192 msgstr ""
193 "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-"
194 "bit エンコードされた文字を意味する。"
195
196 #. type: SH
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
216 #, no-wrap
217 msgid "CONFORMING TO"
218 msgstr "準拠"
219
220 #. type: Plain text
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."
225
226 #. type: SH
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
247 #, no-wrap
248 msgid "SEE ALSO"
249 msgstr "関連項目"
250
251 #. type: Plain text
252 #: build/C/man3/MB_CUR_MAX.3:43
253 msgid ""
254 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
255 "B<wctomb>(3)"
256 msgstr ""
257 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
258 "B<wctomb>(3)"
259
260 #. type: TH
261 #: build/C/man3/MB_LEN_MAX.3:17
262 #, no-wrap
263 msgid "MB_LEN_MAX"
264 msgstr "MB_LEN_MAX"
265
266 #. type: Plain text
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文字の最大マルチバイト長"
270
271 #. type: Plain text
272 #: build/C/man3/MB_LEN_MAX.3:23
273 #, no-wrap
274 msgid "B<#include E<lt>limits.hE<gt>>\n"
275 msgstr "B<#include E<lt>limits.hE<gt>>\n"
276
277 #. type: Plain text
278 #: build/C/man3/MB_LEN_MAX.3:29
279 msgid ""
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."
282 msgstr ""
283 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
284 "となる 最大バイト数である。"
285
286 #. type: Plain text
287 #: build/C/man3/MB_LEN_MAX.3:31
288 msgid "A constant integer greater than zero."
289 msgstr "0 より大きいの整数型の定数。"
290
291 #. type: SH
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
304 #, no-wrap
305 msgid "NOTES"
306 msgstr "注意"
307
308 #. type: Plain text
309 #: build/C/man3/MB_LEN_MAX.3:44
310 msgid ""
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."
313 msgstr ""
314 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
315 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
316
317 #. type: Plain text
318 #: build/C/man3/MB_LEN_MAX.3:45
319 msgid "B<MB_CUR_MAX>(3)"
320 msgstr "B<MB_CUR_MAX>(3)"
321
322 #. type: TH
323 #: build/C/man2/_exit.2:29
324 #, no-wrap
325 msgid "_EXIT"
326 msgstr "_EXIT"
327
328 #. type: TH
329 #: build/C/man2/_exit.2:29
330 #, no-wrap
331 msgid "2010-09-20"
332 msgstr "2010-09-20"
333
334 #. type: Plain text
335 #: build/C/man2/_exit.2:32
336 msgid "_exit, _Exit - terminate the calling process"
337 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
338
339 #. type: Plain text
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>>"
343
344 #. type: Plain text
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<);>"
348
349 #. type: Plain text
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>>"
356
357 #. type: Plain text
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<);>"
361
362 #. type: Plain text
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
374 msgid ""
375 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
376 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
377
378 #. type: Plain text
379 #: build/C/man2/_exit.2:48
380 msgid "B<_Exit>():"
381 msgstr "B<_Exit>():"
382
383 #. type: Plain text
384 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
385 msgid ""
386 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
387 "200112L;"
388 msgstr ""
389 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
390 "200112L;"
391
392 #. type: Plain text
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>"
397
398 #. type: Plain text
399 #: build/C/man2/_exit.2:67
400 msgid ""
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."
405 msgstr ""
406 "B<_exit>()  は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
407 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
408 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
409 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
410 "して B<SIGCHLD> シグナルが送出される。"
411
412 #. type: Plain text
413 #: build/C/man2/_exit.2:74
414 msgid ""
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."
417 msgstr ""
418 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
419 "B<wait>(2)  系関数を利用することによって取得することができる。"
420
421 #. type: Plain text
422 #: build/C/man2/_exit.2:79
423 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
424 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
425
426 #. type: Plain text
427 #: build/C/man2/_exit.2:81
428 msgid "These functions do not return."
429 msgstr "これらの関数は値を返さない。"
430
431 #. type: Plain text
432 #: build/C/man2/_exit.2:86
433 msgid ""
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 で導入された。"
436
437 #. type: Plain text
438 #: build/C/man2/_exit.2:90
439 msgid ""
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)."
442 msgstr ""
443 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
444 "ついての議論は、 B<exit>(3) を参照すること。"
445
446 #. type: Plain text
447 #: build/C/man2/_exit.2:117
448 msgid ""
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."
458 msgstr ""
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 がキャンセルされるのかは実装に依存する。"
468
469 #. type: Plain text
470 #: build/C/man2/_exit.2:124
471 msgid ""
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 "
475 "process."
476 msgstr ""
477 "バージョン 2.3 より前の glibc では、 B<_exit>()  のラッパー関数は同じ名前の"
478 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
479 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
480
481 #. type: Plain text
482 #: build/C/man2/_exit.2:135
483 msgid ""
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), "
486 "B<termios>(3)"
487 msgstr ""
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), "
490 "B<termios>(3)"
491
492 #. type: TH
493 #: build/C/man3/a64l.3:9
494 #, no-wrap
495 msgid "A64L"
496 msgstr "A64L"
497
498 #. type: TH
499 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
500 #, no-wrap
501 msgid "2014-05-28"
502 msgstr "2014-05-28"
503
504 #. type: Plain text
505 #: build/C/man3/a64l.3:12
506 msgid "a64l, l64a - convert between long and base-64"
507 msgstr "a64l, l64a - long と base-64 を変換する"
508
509 #. type: Plain text
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<);>"
513
514 #. type: Plain text
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<);>"
518
519 #. type: Plain text
520 #: build/C/man3/a64l.3:26
521 msgid "B<a64l>(), B<l64a>():"
522 msgstr "B<a64l>(), B<l64a>():"
523
524 #. type: Plain text
525 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
526 msgid ""
527 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
528 "_XOPEN_SOURCE_EXTENDED"
529 msgstr ""
530 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
531 "_XOPEN_SOURCE_EXTENDED"
532
533 #. type: Plain text
534 #: build/C/man3/a64l.3:48
535 msgid ""
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 "
541 "32-bit result."
542 msgstr ""
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) する。"
548
549 #. type: Plain text
550 #: build/C/man3/a64l.3:50
551 msgid "The 64 digits in the base-64 system are:"
552 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
553
554 #. type: Plain text
555 #: build/C/man3/a64l.3:58
556 #, no-wrap
557 msgid ""
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"
563 msgstr ""
564 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
565 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
566 "0-9\tは 2-11 を表す。\n"
567 "A-Z\tは 12-37 を表す。\n"
568 "a-z\tは 38-63 を表す。\n"
569
570 #. type: Plain text
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/\" である。"
574
575 #. type: SH
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
586 #, no-wrap
587 msgid "ATTRIBUTES"
588 msgstr "属性"
589
590 #. type: SS
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
601 #, no-wrap
602 msgid "Multithreading (see pthreads(7))"
603 msgstr "マルチスレッディング (pthreads(7) 参照)"
604
605 #. type: Plain text
606 #: build/C/man3/a64l.3:67
607 msgid "The B<l64a>()  function is not thread-safe."
608 msgstr "B<l64a>() 関数はスレッドセーフではない。"
609
610 #. type: Plain text
611 #: build/C/man3/a64l.3:71
612 msgid "The B<a64l>()  function is thread-safe."
613 msgstr "B<a64l>() 関数はスレッドセーフである。"
614
615 #. type: Plain text
616 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
617 msgid "POSIX.1-2001."
618 msgstr "POSIX.1-2001."
619
620 #. type: Plain text
621 #: build/C/man3/a64l.3:78
622 msgid ""
623 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
624 "possibly overwritten by later calls."
625 msgstr ""
626 "B<l64a>()  で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
627 "び出しで上書きされる可能性がある。"
628
629 #. type: Plain text
630 #: build/C/man3/a64l.3:87
631 msgid ""
632 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
633 "I<value> is zero, it returns an empty string."
634 msgstr ""
635 "I<value> が負の場合、 B<l64a>()  の動作は定義されていない。 I<value> が 0 の"
636 "場合は空文字列を返す。"
637
638 #. type: Plain text
639 #: build/C/man3/a64l.3:90
640 msgid ""
641 "These functions are broken in glibc before 2.2.5 (puts most significant "
642 "digit first)."
643 msgstr ""
644 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
645 "る)。"
646
647 #. type: Plain text
648 #: build/C/man3/a64l.3:93
649 msgid "This is not the encoding used by B<uuencode>(1)."
650 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
651
652 #.  .BR itoa (3),
653 #. type: Plain text
654 #: build/C/man3/a64l.3:96
655 msgid "B<uuencode>(1), B<strtoul>(3)"
656 msgstr "B<uuencode>(1), B<strtoul>(3)"
657
658 #. type: TH
659 #: build/C/man3/atexit.3:33
660 #, no-wrap
661 msgid "ATEXIT"
662 msgstr "ATEXIT"
663
664 #. type: TH
665 #: build/C/man3/atexit.3:33
666 #, no-wrap
667 msgid "2008-12-05"
668 msgstr "2008-12-05"
669
670 #. type: Plain text
671 #: build/C/man3/atexit.3:36
672 msgid "atexit - register a function to be called at normal process termination"
673 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
674
675 #. type: Plain text
676 #: build/C/man3/atexit.3:41
677 #, no-wrap
678 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
679 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
680
681 #. type: Plain text
682 #: build/C/man3/atexit.3:54
683 msgid ""
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."
688 msgstr ""
689 "B<atexit>()  関数は、与えられた I<function> を、 B<exit>(3)  やプログラムの "
690 "I<main>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
691 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
692 "れる。 登録した関数に引き数は渡されない。"
693
694 #. type: Plain text
695 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
696 msgid ""
697 "The same function may be registered multiple times: it is called once for "
698 "each registration."
699 msgstr ""
700 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
701 "れる。"
702
703 #. type: Plain text
704 #: build/C/man3/atexit.3:63
705 msgid ""
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)."
709 msgstr ""
710 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
711 "きることを要求している。 その実装でサポートされている実際の上限は "
712 "B<sysconf>(3)  を使って取得できる。"
713
714 #. type: Plain text
715 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
716 msgid ""
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."
720 msgstr ""
721 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
722 "る。\n"
723 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
724 "れる。"
725
726 #. type: Plain text
727 #: build/C/man3/atexit.3:76
728 msgid ""
729 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
730 "returns a nonzero value."
731 msgstr ""
732 "B<atexit>()  関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
733 "以外の値を返す。"
734
735 #. type: Plain text
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."
739
740 #. type: Plain text
741 #: build/C/man3/atexit.3:85
742 msgid ""
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."
745 msgstr ""
746 "B<atexit>()  (と B<on_exit>(3))  を使って登録された関数は、 シグナルの配送に"
747 "よりプロセスが異常終了した場合には呼び出されない。"
748
749 #. type: Plain text
750 #: build/C/man3/atexit.3:92
751 msgid ""
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."
755 msgstr ""
756 "登録された関数の一つが B<_exit>(2)  を呼び出した場合、残りの関数はどれも起動"
757 "されず、 B<exit>(3)  により実行される他のプロセス終了ステップは実行されない。"
758
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.
763 #. type: Plain text
764 #: build/C/man3/atexit.3:109
765 msgid ""
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>()."
771 msgstr ""
772 "POSIX.1-2001 では、 B<atexit>()  を使って登録された一つの関数内で、複数回 "
773 "B<exit>(3)  を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
774 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
775 "プログラムでは、 B<atexit>()  で登録された関数内で B<exit>(3)  を起動すべきで"
776 "はない。"
777
778 #. type: Plain text
779 #: build/C/man3/atexit.3:118
780 msgid ""
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."
784 msgstr ""
785 "B<atexit>()  と B<on_exit>(3)  は、同じリストに対して関数を登録する。 プロセ"
786 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
787 "された関数が起動される。"
788
789 #.  In glibc, things seem to be handled okay
790 #. type: Plain text
791 #: build/C/man3/atexit.3:124
792 msgid ""
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>()."
795 msgstr ""
796 "POSIX.1-2001 では、 B<atexit>()  で登録された関数の実行を終了するために "
797 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
798
799 #. type: SS
800 #: build/C/man3/atexit.3:124
801 #, no-wrap
802 msgid "Linux notes"
803 msgstr "Linux での注意"
804
805 #. type: Plain text
806 #: build/C/man3/atexit.3:131
807 msgid ""
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."
811 msgstr ""
812 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
813 "録するために、共有ライブラリの中で B<atexit>()  (と B<on_exit>(3))  を使用す"
814 "ることができる。"
815
816 #. type: SH
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
821 #, no-wrap
822 msgid "EXAMPLE"
823 msgstr "例"
824
825 #. type: Plain text
826 #: build/C/man3/atexit.3:136
827 #, no-wrap
828 msgid ""
829 "#include E<lt>stdio.hE<gt>\n"
830 "#include E<lt>stdlib.hE<gt>\n"
831 "#include E<lt>unistd.hE<gt>\n"
832 msgstr ""
833 "#include E<lt>stdio.hE<gt>\n"
834 "#include E<lt>stdlib.hE<gt>\n"
835 "#include E<lt>unistd.hE<gt>\n"
836
837 #. type: Plain text
838 #: build/C/man3/atexit.3:142
839 #, no-wrap
840 msgid ""
841 "void\n"
842 "bye(void)\n"
843 "{\n"
844 "    printf(\"That was all, folks\\en\");\n"
845 "}\n"
846 msgstr ""
847 "void\n"
848 "bye(void)\n"
849 "{\n"
850 "    printf(\"That was all, folks\\en\");\n"
851 "}\n"
852
853 #. type: Plain text
854 #: build/C/man3/atexit.3:148
855 #, no-wrap
856 msgid ""
857 "int\n"
858 "main(void)\n"
859 "{\n"
860 "    long a;\n"
861 "    int i;\n"
862 msgstr ""
863 "int\n"
864 "main(void)\n"
865 "{\n"
866 "    long a;\n"
867 "    int i;\n"
868
869 #. type: Plain text
870 #: build/C/man3/atexit.3:151
871 #, no-wrap
872 msgid ""
873 "    a = sysconf(_SC_ATEXIT_MAX);\n"
874 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
875 msgstr ""
876 "    a = sysconf(_SC_ATEXIT_MAX);\n"
877 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
878
879 #. type: Plain text
880 #: build/C/man3/atexit.3:157
881 #, no-wrap
882 msgid ""
883 "    i = atexit(bye);\n"
884 "    if (i != 0) {\n"
885 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
886 "        exit(EXIT_FAILURE);\n"
887 "    }\n"
888 msgstr ""
889 "    i = atexit(bye);\n"
890 "    if (i != 0) {\n"
891 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
892 "        exit(EXIT_FAILURE);\n"
893 "    }\n"
894
895 #. type: Plain text
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
899 #, no-wrap
900 msgid ""
901 "    exit(EXIT_SUCCESS);\n"
902 "}\n"
903 msgstr ""
904 "    exit(EXIT_SUCCESS);\n"
905 "}\n"
906
907 #. type: Plain text
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)"
911
912 #. type: TH
913 #: build/C/man3/atof.3:31
914 #, no-wrap
915 msgid "ATOF"
916 msgstr "ATOF"
917
918 #. type: TH
919 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
920 #, no-wrap
921 msgid "2014-01-22"
922 msgstr "2014-01-22"
923
924 #. type: TH
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
937 #, no-wrap
938 msgid "GNU"
939 msgstr "GNU"
940
941 #. type: Plain text
942 #: build/C/man3/atof.3:34
943 msgid "atof - convert a string to a double"
944 msgstr "atof - 文字列を double 型の数値に変換"
945
946 #. type: Plain text
947 #: build/C/man3/atof.3:39
948 #, no-wrap
949 msgid "B<double atof(const char *>I<nptr>B<);>\n"
950 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
951
952 #. type: Plain text
953 #: build/C/man3/atof.3:47
954 msgid ""
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"
957 msgstr ""
958 "B<atof>()  関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
959 "型の数値に変換する。 この振る舞いは、 B<atof>()  関数がエラーを見つけないこと"
960 "を除いては、"
961
962 #. type: Plain text
963 #: build/C/man3/atof.3:50
964 msgid "strtod(nptr, NULL);"
965 msgstr "strtod(nptr, NULL);"
966
967 #. type: Plain text
968 #: build/C/man3/atof.3:55
969 msgid "except that B<atof>()  does not detect errors."
970 msgstr "と同じである。"
971
972 #. type: Plain text
973 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
974 msgid "The converted value."
975 msgstr "変換された値。"
976
977 #. type: Plain text
978 #: build/C/man3/atof.3:65
979 msgid ""
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."
983 msgstr ""
984 "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
985 "呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
986 "用することができる。"
987
988 #. type: Plain text
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."
992
993 #. type: Plain text
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)"
997
998 #. type: TH
999 #: build/C/man3/atoi.3:33
1000 #, no-wrap
1001 msgid "ATOI"
1002 msgstr "ATOI"
1003
1004 #. type: TH
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
1009 #, no-wrap
1010 msgid "2014-08-19"
1011 msgstr "2014-08-19"
1012
1013 #. type: Plain text
1014 #: build/C/man3/atoi.3:36
1015 msgid "atoi, atol, atoll - convert a string to an integer"
1016 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
1017
1018 #. type: Plain text
1019 #: build/C/man3/atoi.3:41
1020 #, no-wrap
1021 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1022 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1023
1024 #. type: Plain text
1025 #: build/C/man3/atoi.3:43
1026 #, no-wrap
1027 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1028 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1029
1030 #. type: Plain text
1031 #: build/C/man3/atoi.3:45
1032 #, no-wrap
1033 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1034 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1035
1036 #. type: Plain text
1037 #: build/C/man3/atoi.3:54
1038 msgid "B<atoll>():"
1039 msgstr "B<atoll>():"
1040
1041 #. type: Plain text
1042 #: build/C/man3/atoi.3:57
1043 msgid ""
1044 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1045 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1046 msgstr ""
1047 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1048 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1049
1050 #. type: Plain text
1051 #: build/C/man3/atoi.3:69
1052 msgid ""
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"
1055 msgstr ""
1056 "B<atoi>()  関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1057 "整数に変換する。 この振る舞いは、 B<atoi>()  関数がエラーを見つけない点以外"
1058 "は、"
1059
1060 #. type: Plain text
1061 #: build/C/man3/atoi.3:72
1062 msgid "strtol(nptr, NULL, 10);"
1063 msgstr "strtol(nptr, NULL, 10);"
1064
1065 #. type: Plain text
1066 #: build/C/man3/atoi.3:77
1067 msgid "except that B<atoi>()  does not detect errors."
1068 msgstr "と同じである。"
1069
1070 #. type: Plain text
1071 #: build/C/man3/atoi.3:86
1072 msgid ""
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>."
1076 msgstr ""
1077 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
1078 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。"
1079
1080 #. type: Plain text
1081 #: build/C/man3/atoi.3:100
1082 msgid ""
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."
1087 msgstr ""
1088 "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
1089 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
1090 "プリケーションで安全に使用することができる。"
1091
1092 #. type: Plain text
1093 #: build/C/man3/atoi.3:108
1094 msgid ""
1095 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
1096 "B<atoi>()  and B<atol>()  only."
1097 msgstr ""
1098 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 と POSIX.1-1996 には B<atoi>()  と "
1099 "B<atol>()  だけが含まれている。"
1100
1101 #.  The
1102 #.  .BR atoll ()
1103 #.  function is present in glibc 2 since version 2.0.2, but
1104 #.  not in libc4 or libc5.
1105 #. type: Plain text
1106 #: build/C/man3/atoi.3:119
1107 msgid ""
1108 "Linux libc provided B<atoq>()  as an obsolete name for B<atoll>(); "
1109 "B<atoq>()  is not provided by glibc."
1110 msgstr ""
1111 "Linux libc は B<atoll>() の古い名前として B<atoq>() を提供していた。 glibc で"
1112 "は B<atoq>() は提供されていない。"
1113
1114 #. type: Plain text
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)"
1118
1119 #. type: TH
1120 #: build/C/man3/canonicalize_file_name.3:26
1121 #, no-wrap
1122 msgid "CANONICALIZE_FILE_NAME"
1123 msgstr "CANONICALIZE_FILE_NAME"
1124
1125 #. type: TH
1126 #: build/C/man3/canonicalize_file_name.3:26
1127 #, no-wrap
1128 msgid "2013-05-11"
1129 msgstr "2013-05-11"
1130
1131 #. type: Plain text
1132 #: build/C/man3/canonicalize_file_name.3:29
1133 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1134 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1135
1136 #. type: Plain text
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) 参照 */"
1140
1141 #. type: Plain text
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<);>"
1145
1146 #. type: Plain text
1147 #: build/C/man3/canonicalize_file_name.3:49
1148 msgid ""
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 "
1153 "single slash."
1154 msgstr ""
1155 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1156 "示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
1157 "ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
1158 "ラッシュ一つに置換される。"
1159
1160 #. type: Plain text
1161 #: build/C/man3/canonicalize_file_name.3:55
1162 msgid ""
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 "
1165 "required."
1166 msgstr ""
1167 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1168 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1169
1170 #. type: Plain text
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)> は以下と等価である。"
1174
1175 #. type: Plain text
1176 #: build/C/man3/canonicalize_file_name.3:61
1177 #, no-wrap
1178 msgid "    realpath(path, NULL);\n"
1179 msgstr "    realpath(path, NULL);\n"
1180
1181 #. type: Plain text
1182 #: build/C/man3/canonicalize_file_name.3:70
1183 msgid ""
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 "
1187 "error."
1188 msgstr ""
1189 "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
1190 "の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
1191 "合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
1192 "を示す値を設定する。"
1193
1194 #. type: SH
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
1201 #, no-wrap
1202 msgid "ERRORS"
1203 msgstr "エラー"
1204
1205 #. type: Plain text
1206 #: build/C/man3/canonicalize_file_name.3:73
1207 msgid "See B<realpath>(3)."
1208 msgstr "B<realpath>(3) 参照。"
1209
1210 #. type: Plain text
1211 #: build/C/man3/canonicalize_file_name.3:75
1212 msgid "This function is a GNU extension."
1213 msgstr "この関数は GNU による拡張である。"
1214
1215 #. type: Plain text
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)"
1219
1220 #. type: TH
1221 #: build/C/man3/cfree.3:24
1222 #, no-wrap
1223 msgid "CFREE"
1224 msgstr "CFREE"
1225
1226 #. type: TH
1227 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1228 #, no-wrap
1229 msgid "2007-07-26"
1230 msgstr "2007-07-26"
1231
1232 #. type: Plain text
1233 #: build/C/man3/cfree.3:27
1234 msgid "cfree - free allocated memory"
1235 msgstr "cfree - 割り当てられたメモリを解放する"
1236
1237 #. type: Plain text
1238 #: build/C/man3/cfree.3:34
1239 #, no-wrap
1240 msgid ""
1241 "/* In SunOS 4 */\n"
1242 "B<int cfree(void *>I<ptr>B<);>\n"
1243 msgstr ""
1244 "/* SunOS 4 では */\n"
1245 "B<int cfree(void *>I<ptr>B<);>\n"
1246
1247 #. type: Plain text
1248 #: build/C/man3/cfree.3:37
1249 #, no-wrap
1250 msgid ""
1251 "/* In glibc or FreeBSD libcompat */\n"
1252 "B<void cfree(void *>I<ptr>B<);>\n"
1253 msgstr ""
1254 "/* glibc と FreeBSD libcompat では */\n"
1255 "B<void cfree(void *>I<ptr>B<);>\n"
1256
1257 #. type: Plain text
1258 #: build/C/man3/cfree.3:40
1259 #, no-wrap
1260 msgid ""
1261 "/* In SCO OpenServer */\n"
1262 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1263 msgstr ""
1264 "/* SCO OpenServer では */\n"
1265 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1266
1267 #. type: Plain text
1268 #: build/C/man3/cfree.3:43
1269 #, no-wrap
1270 msgid ""
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"
1273 msgstr ""
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"
1276
1277 #. type: Plain text
1278 #: build/C/man3/cfree.3:52
1279 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1280 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1281
1282 #. type: Plain text
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)  を使うこと。"
1286
1287 #. type: SS
1288 #: build/C/man3/cfree.3:57
1289 #, no-wrap
1290 msgid "1-arg cfree"
1291 msgstr "引き数が 1 つの cfree"
1292
1293 #. type: Plain text
1294 #: build/C/man3/cfree.3:63
1295 msgid ""
1296 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
1297 "compatibility with SunOS\"."
1298 msgstr ""
1299 "glibc では、関数 B<cfree>()  は B<free>(3)  の別名であり、「SunOS との互換性"
1300 "のために追加された」。"
1301
1302 #. type: Plain text
1303 #: build/C/man3/cfree.3:69
1304 msgid ""
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>>."
1307 msgstr ""
1308 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1309 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1310
1311 #. type: SS
1312 #: build/C/man3/cfree.3:69
1313 #, no-wrap
1314 msgid "3-arg cfree"
1315 msgstr "引き数が 3 つの cfree"
1316
1317 #. type: Plain text
1318 #: build/C/man3/cfree.3:74
1319 msgid ""
1320 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1321 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1322 msgstr ""
1323 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>()  が含"
1324 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3)  に類似してい"
1325 "る。"
1326
1327 #. type: Plain text
1328 #: build/C/man3/cfree.3:76
1329 msgid "If you need it while porting something, add"
1330 msgstr "何かを移植する時にこの関数が必要な場合、"
1331
1332 #. type: Plain text
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))"
1336
1337 #. type: Plain text
1338 #: build/C/man3/cfree.3:82
1339 msgid "to your file."
1340 msgstr "をファイルに追加すること。"
1341
1342 #. type: Plain text
1343 #: build/C/man3/cfree.3:91
1344 msgid ""
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 "
1347 "B<free>(3)."
1348 msgstr ""
1349 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリを解放するのに "
1350 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
1351 "というものである。 答え: B<free>(3)  を使うこと。"
1352
1353 #. type: Plain text
1354 #: build/C/man3/cfree.3:96
1355 msgid ""
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 "
1358 "are not used.\""
1359 msgstr ""
1360 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1361 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1362 "num と size 引き数は使用されない。」"
1363
1364 #. type: Plain text
1365 #: build/C/man3/cfree.3:112
1366 msgid ""
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."
1371 msgstr ""
1372 "SunOS 版の B<cfree>()  (B<free>(3)  の別名) は、成功した場合に 1 を返し、失敗"
1373 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1374 "I<ptr> の値が B<malloc>()  系のルーチンの 1 つで以前に割り当てられた ブロック"
1375 "へのポインタでない。"
1376
1377 #. type: Plain text
1378 #: build/C/man3/cfree.3:117
1379 msgid ""
1380 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1381 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1382 msgstr ""
1383 "SCO で用いられている引き数が 3 つの B<cfree>()  は、iBCSe2 規格: Intel386 "
1384 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1385 "2 版) に準拠する。"
1386
1387 #. type: Plain text
1388 #: build/C/man3/cfree.3:118
1389 msgid "B<malloc>(3)"
1390 msgstr "B<malloc>(3)"
1391
1392 #. type: TH
1393 #: build/C/man3/clearenv.3:26
1394 #, no-wrap
1395 msgid "CLEARENV"
1396 msgstr "CLEARENV"
1397
1398 #. type: Plain text
1399 #: build/C/man3/clearenv.3:29
1400 msgid "clearenv - clear the environment"
1401 msgstr "clearenv - 環境 (environment) をクリアする"
1402
1403 #. type: Plain text
1404 #: build/C/man3/clearenv.3:34
1405 #, no-wrap
1406 msgid "B<int clearenv(void);>\n"
1407 msgstr "B<int clearenv(void);>\n"
1408
1409 #. type: Plain text
1410 #: build/C/man3/clearenv.3:43
1411 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1412 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1413
1414 #. type: Plain text
1415 #: build/C/man3/clearenv.3:50
1416 msgid ""
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."
1419 msgstr ""
1420 "B<clearenv>()  関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1421 "部変数 I<environ> の値を NULL にする。"
1422
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".
1425 #. type: Plain text
1426 #: build/C/man3/clearenv.3:57
1427 msgid ""
1428 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1429 "failure."
1430 msgstr ""
1431 "B<clearenv>()  関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1432 "す。"
1433
1434 #. type: SH
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
1438 #, no-wrap
1439 msgid "VERSIONS"
1440 msgstr "バージョン"
1441
1442 #. type: Plain text
1443 #: build/C/man3/clearenv.3:59
1444 msgid "Available since glibc 2.0."
1445 msgstr "glibc 2.0 以降で利用可能。"
1446
1447 #. type: Plain text
1448 #: build/C/man3/clearenv.3:73
1449 msgid ""
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>()."
1455 msgstr ""
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>()  の追加は否決された。"
1461
1462 #. type: Plain text
1463 #: build/C/man3/clearenv.3:77
1464 msgid ""
1465 "Used in security-conscious applications.  If it is unavailable the assignment"
1466 msgstr ""
1467 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1468 "きない場合は、"
1469
1470 #. type: Plain text
1471 #: build/C/man3/clearenv.3:80
1472 #, no-wrap
1473 msgid "    environ = NULL;\n"
1474 msgstr "    environ = NULL;\n"
1475
1476 #. type: Plain text
1477 #: build/C/man3/clearenv.3:83
1478 msgid "will probably do."
1479 msgstr "というように変数 environ を設定すればよい。"
1480
1481 #.  .LP
1482 #.  HP-UX has a ENOMEM error return.
1483 #. type: Plain text
1484 #: build/C/man3/clearenv.3:96
1485 msgid ""
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."
1490 msgstr ""
1491 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
1492 "B<putenv>(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 "
1493 "B<clearenv>()  はエラーを返し、プロセス環境は変更前のままにされる。"
1494
1495 #. type: Plain text
1496 #: build/C/man3/clearenv.3:101
1497 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1498 msgstr ""
1499 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1500
1501 #. type: TH
1502 #: build/C/man3/drand48.3:30
1503 #, no-wrap
1504 msgid "DRAND48"
1505 msgstr "DRAND48"
1506
1507 #. type: TH
1508 #: build/C/man3/drand48.3:30
1509 #, no-wrap
1510 msgid "2014-09-21"
1511 msgstr "2014-09-21"
1512
1513 #. type: Plain text
1514 #: build/C/man3/drand48.3:34
1515 msgid ""
1516 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1517 "lcong48 - generate uniformly distributed pseudo-random numbers"
1518 msgstr ""
1519 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1520 "lcong48 - 一様分布する疑似乱数を生成する関数"
1521
1522 #. type: Plain text
1523 #: build/C/man3/drand48.3:39
1524 #, no-wrap
1525 msgid "B<double drand48(void);>\n"
1526 msgstr "B<double drand48(void);>\n"
1527
1528 #. type: Plain text
1529 #: build/C/man3/drand48.3:41
1530 #, no-wrap
1531 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1532 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1533
1534 #. type: Plain text
1535 #: build/C/man3/drand48.3:43
1536 #, no-wrap
1537 msgid "B<long int lrand48(void);>\n"
1538 msgstr "B<long int lrand48(void);>\n"
1539
1540 #. type: Plain text
1541 #: build/C/man3/drand48.3:45
1542 #, no-wrap
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"
1545
1546 #. type: Plain text
1547 #: build/C/man3/drand48.3:47
1548 #, no-wrap
1549 msgid "B<long int mrand48(void);>\n"
1550 msgstr "B<long int mrand48(void);>\n"
1551
1552 #. type: Plain text
1553 #: build/C/man3/drand48.3:49
1554 #, no-wrap
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"
1557
1558 #. type: Plain text
1559 #: build/C/man3/drand48.3:51
1560 #, no-wrap
1561 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1562 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1563
1564 #. type: Plain text
1565 #: build/C/man3/drand48.3:53
1566 #, no-wrap
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"
1569
1570 #. type: Plain text
1571 #: build/C/man3/drand48.3:55
1572 #, no-wrap
1573 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1574 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1575
1576 #.  .BR drand48 (),
1577 #.  .BR erand48 (),
1578 #.  .BR lrand48 (),
1579 #.  .BR nrand48 (),
1580 #.  .BR mrand48 (),
1581 #.  .BR jrand48 (),
1582 #.  .BR srand48 (),
1583 #.  .BR seed48 (),
1584 #.  .BR lcong48 ():
1585 #. type: Plain text
1586 #: build/C/man3/drand48.3:74
1587 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1588 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1589
1590 #. type: Plain text
1591 #: build/C/man3/drand48.3:78
1592 msgid ""
1593 "These functions generate pseudo-random numbers using the linear congruential "
1594 "algorithm and 48-bit integer arithmetic."
1595 msgstr ""
1596 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1597 "する。"
1598
1599 #. type: Plain text
1600 #: build/C/man3/drand48.3:86
1601 msgid ""
1602 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
1603 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1604 msgstr ""
1605 "関数 B<drand48>()  と B<erand48>()  は、区間 [0.0, 1.0) で 一様分布する非負の"
1606 "倍精度浮動小数点実数値を返す。"
1607
1608 #. type: Plain text
1609 #: build/C/man3/drand48.3:93
1610 msgid ""
1611 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1612 "integers uniformly distributed between 0 and 2^31."
1613 msgstr ""
1614 "関数 B<lrand48>()  と B<nrand48>()  は 0 と 2^31 の間で一様分布する 非負のロ"
1615 "ング整数を返す。"
1616
1617 #. type: Plain text
1618 #: build/C/man3/drand48.3:100
1619 msgid ""
1620 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1621 "uniformly distributed between -2^31 and 2^31."
1622 msgstr ""
1623 "関数 B<mrand48>()  と B<jrand48>()  は -2^31 と 2^31 の間で一様分布する符号付"
1624 "きロング整数を返す。"
1625
1626 #. type: Plain text
1627 #: build/C/man3/drand48.3:119
1628 msgid ""
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 "
1633 "be called first."
1634 msgstr ""
1635 "関数 B<srand48>(), B<seed48>(), B<lcong48>()  は初期化関数 である。 関数 "
1636 "B<drand48>(), B<lrand48>(), B<mrand48>()  を 使用する前に、これらの初期化関数"
1637 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>()  "
1638 "は初めに 初期化関数を呼ぶことを必要としない。"
1639
1640 #. type: Plain text
1641 #: build/C/man3/drand48.3:123
1642 msgid ""
1643 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1644 "according to the linear congruential formula:"
1645 msgstr ""
1646 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1647 "ることで 機能している。生成方法は以下の線形合同の式による。"
1648
1649 #. type: Plain text
1650 #: build/C/man3/drand48.3:127
1651 #, no-wrap
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"
1654
1655 #. type: Plain text
1656 #: build/C/man3/drand48.3:140
1657 msgid ""
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:"
1660 msgstr ""
1661 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1662 "演算が行われている。 B<lcong48>()  が呼ばれていない場合、I<a> と I<c> は以下"
1663 "の式で与えられる。"
1664
1665 #. type: Plain text
1666 #: build/C/man3/drand48.3:145
1667 #, no-wrap
1668 msgid ""
1669 "B<a = 0x5DEECE66D>\n"
1670 "B<c = 0xB>\n"
1671 msgstr ""
1672 "B<a = 0x5DEECE66D>\n"
1673 "B<c = 0xB>\n"
1674
1675 #. type: Plain text
1676 #: build/C/man3/drand48.3:165
1677 msgid ""
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."
1684 msgstr ""
1685 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1686 "B<jrand48>()  で返される値は次のようにして計算される。 はじめに、次の48ビット"
1687 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1688 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1689
1690 #. type: Plain text
1691 #: build/C/man3/drand48.3:191
1692 msgid ""
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."
1699 msgstr ""
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> の初期値を配列に 代入することで初期化される。"
1705
1706 #. type: Plain text
1707 #: build/C/man3/drand48.3:200
1708 msgid ""
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 "
1711 "value 0x330E."
1712 msgstr ""
1713 "初期化関数 B<srand48>()  は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1714 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1715
1716 #. type: Plain text
1717 #: build/C/man3/drand48.3:214
1718 msgid ""
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>()."
1723 msgstr ""
1724 "初期化関数 B<seed48>()  は、I<Xi> の値を、 配列の形をした引数である "
1725 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1726 "ファにコピーされ、このバッファへのポインタが B<seed48>()  によって返される。"
1727
1728 #. type: Plain text
1729 #: build/C/man3/drand48.3:245
1730 msgid ""
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 "
1736 "I<c>."
1737 msgstr ""
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> の 標準値が再び設定される。"
1743
1744 #. type: Plain text
1745 #: build/C/man3/drand48.3:260
1746 msgid ""
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 "
1750 "thread-safe."
1751 msgstr ""
1752 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1753 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1754 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1755 "ない。"
1756
1757 #. type: Plain text
1758 #: build/C/man3/drand48.3:262
1759 msgid "SVr4, POSIX.1-2001."
1760 msgstr "SVr4, POSIX.1-2001."
1761
1762 #. type: Plain text
1763 #: build/C/man3/drand48.3:264
1764 msgid "B<rand>(3), B<random>(3)"
1765 msgstr "B<rand>(3), B<random>(3)"
1766
1767 #. type: TH
1768 #: build/C/man3/drand48_r.3:27
1769 #, no-wrap
1770 msgid "DRAND48_R"
1771 msgstr "DRAND48_R"
1772
1773 #. type: TH
1774 #: build/C/man3/drand48_r.3:27
1775 #, no-wrap
1776 msgid "2013-09-09"
1777 msgstr "2013-09-09"
1778
1779 #. type: Plain text
1780 #: build/C/man3/drand48_r.3:32
1781 msgid ""
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 "
1784 "reentrantly"
1785 msgstr ""
1786 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1787 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1788 "する"
1789
1790 #. type: Plain text
1791 #: build/C/man3/drand48_r.3:37
1792 #, no-wrap
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"
1795
1796 #. type: Plain text
1797 #: build/C/man3/drand48_r.3:39
1798 #, no-wrap
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"
1801
1802 #. type: Plain text
1803 #: build/C/man3/drand48_r.3:41
1804 #, no-wrap
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"
1807
1808 #. type: Plain text
1809 #: build/C/man3/drand48_r.3:43
1810 #, no-wrap
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"
1813
1814 #. type: Plain text
1815 #: build/C/man3/drand48_r.3:45
1816 #, no-wrap
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"
1819
1820 #. type: Plain text
1821 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1822 #, no-wrap
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"
1825
1826 #. type: Plain text
1827 #: build/C/man3/drand48_r.3:49
1828 #, no-wrap
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"
1831
1832 #. type: Plain text
1833 #: build/C/man3/drand48_r.3:51
1834 #, no-wrap
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"
1837
1838 #. type: Plain text
1839 #: build/C/man3/drand48_r.3:55
1840 #, no-wrap
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"
1843
1844 #. type: Plain text
1845 #: build/C/man3/drand48_r.3:57
1846 #, no-wrap
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"
1849
1850 #. type: Plain text
1851 #: build/C/man3/drand48_r.3:59
1852 #, no-wrap
1853 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1854 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1855
1856 #. type: Plain text
1857 #: build/C/man3/drand48_r.3:61
1858 #, no-wrap
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"
1861
1862 #. type: Plain text
1863 #: build/C/man3/drand48_r.3:63
1864 #, no-wrap
1865 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1866 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1867
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 (),
1875 #.  .BR seed48_r (),
1876 #.  .BR lcong48_r ():
1877 #. type: Plain text
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"
1881
1882 #. type: Plain text
1883 #: build/C/man3/drand48_r.3:89
1884 msgid ""
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>."
1888 msgstr ""
1889 "これらの関数は B<drand48>(3)  で説明されている関数に類似するリエントラントな"
1890 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1891 "れたデータ I<buffer> を使う。"
1892
1893 #. type: Plain text
1894 #: build/C/man3/drand48_r.3:96
1895 msgid ""
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>()."
1899 msgstr ""
1900 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1901 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>()  のいずれ"
1902 "かを呼び出すことによって行われる。"
1903
1904 #. type: Plain text
1905 #: build/C/man3/drand48_r.3:98
1906 msgid "The return value is 0."
1907 msgstr "返り値は 0 である。"
1908
1909 #. type: Plain text
1910 #: build/C/man3/drand48_r.3:112
1911 msgid ""
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."
1915 msgstr ""
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>() はスレッドセーフである。"
1919
1920 #. type: Plain text
1921 #: build/C/man3/drand48_r.3:114
1922 msgid "These functions are GNU extensions and are not portable."
1923 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1924
1925 #. type: Plain text
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)"
1929
1930 #. type: TH
1931 #: build/C/man3/ecvt.3:32
1932 #, no-wrap
1933 msgid "ECVT"
1934 msgstr "ECVT"
1935
1936 #. type: Plain text
1937 #: build/C/man3/ecvt.3:35
1938 msgid "ecvt, fcvt - convert a floating-point number to a string"
1939 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1940
1941 #. type: Plain text
1942 #: build/C/man3/ecvt.3:40
1943 msgid ""
1944 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1945 "B<int *>I<sign>B<);>"
1946 msgstr ""
1947 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1948 "B<int *>I<sign>B<);>"
1949
1950 #. type: Plain text
1951 #: build/C/man3/ecvt.3:43
1952 msgid ""
1953 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1954 "B<int *>I<sign>B<);>"
1955 msgstr ""
1956 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1957 "B<int *>I<sign>B<);>"
1958
1959 #. type: Plain text
1960 #: build/C/man3/ecvt.3:51
1961 msgid "B<ecvt>(), B<fcvt>():"
1962 msgstr "B<ecvt>(), B<fcvt>():"
1963
1964 #. type: TP
1965 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
1966 #, no-wrap
1967 msgid "Since glibc 2.12:"
1968 msgstr "glibc 2.12 以降:"
1969
1970 #. type: Plain text
1971 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
1972 #, no-wrap
1973 msgid ""
1974 "_SVID_SOURCE ||\n"
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"
1978 msgstr ""
1979 "_SVID_SOURCE ||\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"
1983
1984 #. type: TP
1985 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
1986 #, no-wrap
1987 msgid "Before glibc 2.12:"
1988 msgstr "glibc 2.12 より前:"
1989
1990 #. type: Plain text
1991 #: build/C/man3/ecvt.3:92
1992 msgid ""
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 "
2003 "1."
2004 msgstr ""
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 かは未規定である。"
2014
2015 #. type: Plain text
2016 #: build/C/man3/ecvt.3:99
2017 msgid ""
2018 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
2019 "specifies the number of digits after the decimal point."
2020 msgstr ""
2021 "関数 B<fcvt>()  は B<ecvt>()  と同じ機能を持つが、I<ndigits> は小数点以下の文"
2022 "字数を指定する。"
2023
2024 #. type: Plain text
2025 #: build/C/man3/ecvt.3:110
2026 msgid ""
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>()."
2030 msgstr ""
2031 "関数 B<ecvt>()  と B<fcvt>()  は I<number> の ASCII 表現を含む 静的な領域内の"
2032 "文字列へのポインタを返す。 この文字列は B<ecvt>()  や B<fcvt>()  の呼び出しの"
2033 "たびに上書きされる。"
2034
2035 #. type: Plain text
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>() はスレッドセーフではない。"
2039
2040 #. type: Plain text
2041 #: build/C/man3/ecvt.3:129
2042 msgid ""
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)."
2046 msgstr ""
2047 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2048 "POSIX.1-2008 では B<ecvt>()  と B<fcvt>()  の仕様が削除され、代わりに "
2049 "B<sprintf>(3)  の使用が推奨されている(しかし B<snprintf>(3)  がより適切かもし"
2050 "れない)。"
2051
2052 #.  Linux libc4 and libc5 specified the type of
2053 #.  .I ndigits
2054 #.  as
2055 #.  .IR size_t .
2056 #. type: Plain text
2057 #: build/C/man3/ecvt.3:135
2058 msgid "Not all locales use a point as the radix character (\"decimal point\")."
2059 msgstr "小数点にピリオドを使わないロケールもある。"
2060
2061 #. type: Plain text
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)"
2065
2066 #. type: TH
2067 #: build/C/man3/ecvt_r.3:30
2068 #, no-wrap
2069 msgid "ECVT_R"
2070 msgstr "ECVT_R"
2071
2072 #. type: Plain text
2073 #: build/C/man3/ecvt_r.3:33
2074 msgid ""
2075 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2076 "string"
2077 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2078
2079 #. type: Plain text
2080 #: build/C/man3/ecvt_r.3:39
2081 #, no-wrap
2082 msgid ""
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"
2085 msgstr ""
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"
2088
2089 #. type: Plain text
2090 #: build/C/man3/ecvt_r.3:42
2091 #, no-wrap
2092 msgid ""
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"
2095 msgstr ""
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"
2098
2099 #. type: Plain text
2100 #: build/C/man3/ecvt_r.3:45
2101 #, no-wrap
2102 msgid ""
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"
2105 msgstr ""
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"
2108
2109 #. type: Plain text
2110 #: build/C/man3/ecvt_r.3:48
2111 #, no-wrap
2112 msgid ""
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"
2115 msgstr ""
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"
2118
2119 #. type: Plain text
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>():"
2123
2124 #. type: Plain text
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"
2128
2129 #. type: Plain text
2130 #: build/C/man3/ecvt_r.3:86
2131 msgid ""
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)  "
2136 "and B<qecvt>(3)."
2137 msgstr ""
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)  を参照のこと。"
2142
2143 #. type: Plain text
2144 #: build/C/man3/ecvt_r.3:88
2145 msgid "These functions return 0 on success, and -1 otherwise."
2146 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2147
2148 #. type: Plain text
2149 #: build/C/man3/ecvt_r.3:90
2150 msgid "These functions are GNU extensions."
2151 msgstr "これらの関数は GNU による拡張である。"
2152
2153 #. type: Plain text
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)  の使用を推奨する。"
2157
2158 #. type: Plain text
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)"
2162
2163 #. type: TH
2164 #: build/C/man3/exit.3:29
2165 #, no-wrap
2166 msgid "EXIT"
2167 msgstr "EXIT"
2168
2169 #. type: TH
2170 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
2171 #, no-wrap
2172 msgid "2014-03-25"
2173 msgstr "2014-03-25"
2174
2175 #. type: Plain text
2176 #: build/C/man3/exit.3:32
2177 msgid "exit - cause normal process termination"
2178 msgstr "exit - プロセスの正常終了"
2179
2180 #. type: Plain text
2181 #: build/C/man3/exit.3:37
2182 #, no-wrap
2183 msgid "B<void exit(int >I<status>B<);>\n"
2184 msgstr "B<void exit(int >I<status>B<);>\n"
2185
2186 #. type: Plain text
2187 #: build/C/man3/exit.3:45
2188 msgid ""
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))."
2191 msgstr ""
2192 "B<exit>()  関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2193 "ロセスへ返す (B<wait>(2)  を参照)。"
2194
2195 #. type: Plain text
2196 #: build/C/man3/exit.3:72
2197 msgid ""
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."
2209 msgstr ""
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 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2219
2220 #. type: Plain text
2221 #: build/C/man3/exit.3:79
2222 msgid ""
2223 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
2224 "B<tmpfile>(3)  are removed."
2225 msgstr ""
2226 "オープン中の B<stdio>(3)  ストリームは全てフラッシュされて、クローズされる。 "
2227 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
2228
2229 #. type: Plain text
2230 #: build/C/man3/exit.3:86
2231 msgid ""
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."
2235 msgstr ""
2236 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2237 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>()  として渡すことができ"
2238 "る。"
2239
2240 #. type: Plain text
2241 #: build/C/man3/exit.3:90
2242 msgid "The B<exit>()  function does not return."
2243 msgstr "B<exit>()  関数は返らない。"
2244
2245 #. type: Plain text
2246 #: build/C/man3/exit.3:96
2247 msgid ""
2248 "The B<exit>()  function uses a global variable that is not protected, so it "
2249 "is not thread-safe."
2250 msgstr ""
2251 "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
2252 "セーフではない。"
2253
2254 #. type: Plain text
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."
2258
2259 #. type: Plain text
2260 #: build/C/man3/exit.3:115
2261 msgid ""
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)."
2266 msgstr ""
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) を使って登録された"
2270 "関数が削除される点に注意すること。"
2271
2272 #. type: Plain text
2273 #: build/C/man3/exit.3:124
2274 msgid ""
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."
2278 msgstr ""
2279 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2280 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2281 "VMS は別の方式を用いている。"
2282
2283 #. type: Plain text
2284 #: build/C/man3/exit.3:127
2285 msgid ""
2286 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2287 "hE<gt>>."
2288 msgstr ""
2289 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2290 "こと。"
2291
2292 #. type: Plain text
2293 #: build/C/man3/exit.3:152
2294 msgid ""
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)  "
2304 "functions."
2305 msgstr ""
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 "ことで、 親プロセスは終了ステータスを知ることができる。"
2315
2316 #. type: Plain text
2317 #: build/C/man3/exit.3:162
2318 msgid ""
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."
2322 msgstr ""
2323 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2324 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2325 "ルが送られるかどうかは定義されていない。"
2326
2327 #. type: Plain text
2328 #: build/C/man3/exit.3:171
2329 msgid ""
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."
2335 msgstr ""
2336 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2337 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2338 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2339 "これにより新しい制御プロセスを取得することができる。"
2340
2341 #. type: Plain text
2342 #: build/C/man3/exit.3:183
2343 msgid ""
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 "
2348 "groups."
2349 msgstr ""
2350 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2351 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2352 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2353 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
2354
2355 #. type: Plain text
2356 #: build/C/man3/exit.3:189
2357 msgid ""
2358 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2359 "B<tmpfile>(3)"
2360 msgstr ""
2361 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2362 "B<tmpfile>(3)"
2363
2364 #. type: TH
2365 #: build/C/man3/gcvt.3:30
2366 #, no-wrap
2367 msgid "GCVT"
2368 msgstr "GCVT"
2369
2370 #. type: Plain text
2371 #: build/C/man3/gcvt.3:33
2372 msgid "gcvt - convert a floating-point number to a string"
2373 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2374
2375 #. type: Plain text
2376 #: build/C/man3/gcvt.3:38
2377 #, no-wrap
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"
2380
2381 #. type: Plain text
2382 #: build/C/man3/gcvt.3:46
2383 msgid "B<gcvt>():"
2384 msgstr "B<gcvt>():"
2385
2386 #. type: Plain text
2387 #: build/C/man3/gcvt.3:61
2388 msgid ""
2389 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2390 "_XOPEN_SOURCE_EXTENDED"
2391 msgstr ""
2392 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2393 "_XOPEN_SOURCE_EXTENDED"
2394
2395 #. type: Plain text
2396 #: build/C/man3/gcvt.3:72
2397 msgid ""
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."
2401 msgstr ""
2402 "関数 B<gcvt>()  は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
2403 "変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマット"
2404 "や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2405
2406 #. type: Plain text
2407 #: build/C/man3/gcvt.3:77
2408 msgid ""
2409 "The B<gcvt>()  function returns the address of the string pointed to by "
2410 "I<buf>."
2411 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインタを返す。"
2412
2413 #. type: Plain text
2414 #: build/C/man3/gcvt.3:86
2415 msgid ""
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)."
2419 msgstr ""
2420 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2421 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
2422 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
2423
2424 #. type: Plain text
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)"
2428
2429 #. type: TH
2430 #: build/C/man3/getauxval.3:29
2431 #, no-wrap
2432 msgid "GETAUXVAL"
2433 msgstr "GETAUXVAL"
2434
2435 #. type: Plain text
2436 #: build/C/man3/getauxval.3:32
2437 msgid "getauxval - retrieve a value from the auxiliary vector"
2438 msgstr ""
2439
2440 #. type: Plain text
2441 #: build/C/man3/getauxval.3:35
2442 #, no-wrap
2443 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2444 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2445
2446 #. type: Plain text
2447 #: build/C/man3/getauxval.3:37
2448 #, no-wrap
2449 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2450 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2451
2452 #. type: Plain text
2453 #: build/C/man3/getauxval.3:45
2454 msgid ""
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."
2458 msgstr ""
2459
2460 #. type: Plain text
2461 #: build/C/man3/getauxval.3:53
2462 msgid ""
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."
2466 msgstr ""
2467
2468 #. type: Plain text
2469 #: build/C/man3/getauxval.3:60
2470 msgid ""
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."
2473 msgstr ""
2474
2475 #. type: TP
2476 #: build/C/man3/getauxval.3:60
2477 #, no-wrap
2478 msgid "B<AT_BASE>"
2479 msgstr "B<AT_BASE>"
2480
2481 #. type: Plain text
2482 #: build/C/man3/getauxval.3:63
2483 msgid ""
2484 "The base address of the program interpreter (usually, the dynamic linker)."
2485 msgstr ""
2486
2487 #. type: TP
2488 #: build/C/man3/getauxval.3:63
2489 #, no-wrap
2490 msgid "B<AT_BASE_PLATFORM>"
2491 msgstr "B<AT_BASE_PLATFORM>"
2492
2493 #. type: Plain text
2494 #: build/C/man3/getauxval.3:68
2495 msgid ""
2496 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2497 "(PowerPC only)."
2498 msgstr ""
2499
2500 #. type: TP
2501 #: build/C/man3/getauxval.3:68
2502 #, no-wrap
2503 msgid "B<AT_CLKTCK>"
2504 msgstr "B<AT_CLKTCK>"
2505
2506 #. type: Plain text
2507 #: build/C/man3/getauxval.3:75
2508 msgid ""
2509 "The frequency with which B<times>(2)  counts.  This value can also be "
2510 "obtained via I<sysconf(_SC_CLK_TCK)>."
2511 msgstr ""
2512
2513 #. type: TP
2514 #: build/C/man3/getauxval.3:75
2515 #, no-wrap
2516 msgid "B<AT_DCACHEBSIZE>"
2517 msgstr "B<AT_DCACHEBSIZE>"
2518
2519 #. type: Plain text
2520 #: build/C/man3/getauxval.3:78
2521 msgid "The data cache block size."
2522 msgstr ""
2523
2524 #. type: TP
2525 #: build/C/man3/getauxval.3:78
2526 #, no-wrap
2527 msgid "B<AT_EGID>"
2528 msgstr "B<AT_EGID>"
2529
2530 #. type: Plain text
2531 #: build/C/man3/getauxval.3:81
2532 msgid "The effective group ID of the thread."
2533 msgstr ""
2534
2535 #. type: TP
2536 #: build/C/man3/getauxval.3:81
2537 #, no-wrap
2538 msgid "B<AT_ENTRY>"
2539 msgstr "B<AT_ENTRY>"
2540
2541 #. type: Plain text
2542 #: build/C/man3/getauxval.3:84
2543 msgid "The entry address of the executable."
2544 msgstr ""
2545
2546 #. type: TP
2547 #: build/C/man3/getauxval.3:84
2548 #, no-wrap
2549 msgid "B<AT_EUID>"
2550 msgstr "B<AT_EUID>"
2551
2552 #. type: Plain text
2553 #: build/C/man3/getauxval.3:87
2554 msgid "The effective user ID of the thread."
2555 msgstr ""
2556
2557 #. type: TP
2558 #: build/C/man3/getauxval.3:87
2559 #, no-wrap
2560 msgid "B<AT_EXECFD>"
2561 msgstr "B<AT_EXECFD>"
2562
2563 #. type: Plain text
2564 #: build/C/man3/getauxval.3:90
2565 msgid "File descriptor of program."
2566 msgstr ""
2567
2568 #. type: TP
2569 #: build/C/man3/getauxval.3:90
2570 #, no-wrap
2571 msgid "B<AT_EXECFN>"
2572 msgstr "B<AT_EXECFN>"
2573
2574 #. type: Plain text
2575 #: build/C/man3/getauxval.3:93
2576 msgid "Pathname used to execute program."
2577 msgstr ""
2578
2579 #. type: TP
2580 #: build/C/man3/getauxval.3:93
2581 #, no-wrap
2582 msgid "B<AT_FLAGS>"
2583 msgstr "B<AT_FLAGS>"
2584
2585 #. type: Plain text
2586 #: build/C/man3/getauxval.3:96
2587 msgid "Flags (unused)."
2588 msgstr ""
2589
2590 #. type: TP
2591 #: build/C/man3/getauxval.3:96
2592 #, no-wrap
2593 msgid "B<AT_FPUCW>"
2594 msgstr "B<AT_FPUCW>"
2595
2596 #. type: Plain text
2597 #: build/C/man3/getauxval.3:101
2598 msgid ""
2599 "Used FPU control word (SuperH architecture only).  This gives some "
2600 "information about the FPU initialization performed by the kernel."
2601 msgstr ""
2602
2603 #. type: TP
2604 #: build/C/man3/getauxval.3:101
2605 #, no-wrap
2606 msgid "B<AT_GID>"
2607 msgstr "B<AT_GID>"
2608
2609 #. type: Plain text
2610 #: build/C/man3/getauxval.3:104
2611 msgid "The real group ID of the thread."
2612 msgstr ""
2613
2614 #. type: TP
2615 #: build/C/man3/getauxval.3:104
2616 #, no-wrap
2617 msgid "B<AT_HWCAP>"
2618 msgstr "B<AT_HWCAP>"
2619
2620 #. type: Plain text
2621 #: build/C/man3/getauxval.3:114
2622 msgid ""
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>."
2628 msgstr ""
2629
2630 #. type: TP
2631 #: build/C/man3/getauxval.3:114
2632 #, no-wrap
2633 msgid "B<AT_ICACHEBSIZE>"
2634 msgstr "B<AT_ICACHEBSIZE>"
2635
2636 #.  .TP
2637 #.  .BR AT_IGNORE
2638 #.  .TP
2639 #.  .BR AT_IGNOREPPC
2640 #.  .TP
2641 #.  .BR AT_NOTELF
2642 #. type: Plain text
2643 #: build/C/man3/getauxval.3:123
2644 msgid "The instruction cache block size."
2645 msgstr ""
2646
2647 #. type: TP
2648 #: build/C/man3/getauxval.3:123
2649 #, no-wrap
2650 msgid "B<AT_PAGESZ>"
2651 msgstr "B<AT_PAGESZ>"
2652
2653 #. type: Plain text
2654 #: build/C/man3/getauxval.3:127
2655 msgid ""
2656 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2657 msgstr ""
2658
2659 #. type: TP
2660 #: build/C/man3/getauxval.3:127
2661 #, no-wrap
2662 msgid "B<AT_PHDR>"
2663 msgstr "B<AT_PHDR>"
2664
2665 #. type: Plain text
2666 #: build/C/man3/getauxval.3:130
2667 msgid "The address of the program headers of the executable."
2668 msgstr ""
2669
2670 #. type: TP
2671 #: build/C/man3/getauxval.3:130
2672 #, no-wrap
2673 msgid "B<AT_PHENT>"
2674 msgstr "B<AT_PHENT>"
2675
2676 #. type: Plain text
2677 #: build/C/man3/getauxval.3:133
2678 msgid "The size of program header entry."
2679 msgstr ""
2680
2681 #. type: TP
2682 #: build/C/man3/getauxval.3:133
2683 #, no-wrap
2684 msgid "B<AT_PHNUM>"
2685 msgstr "B<AT_PHNUM>"
2686
2687 #. type: Plain text
2688 #: build/C/man3/getauxval.3:136
2689 msgid "The number of program headers."
2690 msgstr ""
2691
2692 #. type: TP
2693 #: build/C/man3/getauxval.3:136
2694 #, no-wrap
2695 msgid "B<AT_PLATFORM>"
2696 msgstr "B<AT_PLATFORM>"
2697
2698 #. type: Plain text
2699 #: build/C/man3/getauxval.3:143
2700 msgid ""
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 "
2703 "I<rpath> values."
2704 msgstr ""
2705
2706 #. type: TP
2707 #: build/C/man3/getauxval.3:143
2708 #, no-wrap
2709 msgid "B<AT_RANDOM>"
2710 msgstr "B<AT_RANDOM>"
2711
2712 #. type: Plain text
2713 #: build/C/man3/getauxval.3:146
2714 msgid "The address of sixteen bytes containing a random value."
2715 msgstr ""
2716
2717 #. type: TP
2718 #: build/C/man3/getauxval.3:146
2719 #, no-wrap
2720 msgid "B<AT_SECURE>"
2721 msgstr "B<AT_SECURE>"
2722
2723 #. type: Plain text
2724 #: build/C/man3/getauxval.3:158
2725 msgid ""
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).)"
2733 msgstr ""
2734
2735 #. type: TP
2736 #: build/C/man3/getauxval.3:158
2737 #, no-wrap
2738 msgid "B<AT_SYSINFO>"
2739 msgstr "B<AT_SYSINFO>"
2740
2741 #. type: Plain text
2742 #: build/C/man3/getauxval.3:162
2743 msgid ""
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)."
2746 msgstr ""
2747
2748 #. type: TP
2749 #: build/C/man3/getauxval.3:162
2750 #, no-wrap
2751 msgid "B<AT_SYSINFO_EHDR>"
2752 msgstr "B<AT_SYSINFO_EHDR>"
2753
2754 #. type: Plain text
2755 #: build/C/man3/getauxval.3:167
2756 msgid ""
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 "
2759 "system calls."
2760 msgstr ""
2761
2762 #. type: TP
2763 #: build/C/man3/getauxval.3:167
2764 #, no-wrap
2765 msgid "B<AT_UCACHEBSIZE>"
2766 msgstr "B<AT_UCACHEBSIZE>"
2767
2768 #. type: Plain text
2769 #: build/C/man3/getauxval.3:170
2770 msgid "The unified cache block size."
2771 msgstr ""
2772
2773 #. type: TP
2774 #: build/C/man3/getauxval.3:170
2775 #, no-wrap
2776 msgid "B<AT_UID>"
2777 msgstr "B<AT_UID>"
2778
2779 #. type: Plain text
2780 #: build/C/man3/getauxval.3:173
2781 msgid "The real user ID of the thread."
2782 msgstr ""
2783
2784 #. type: Plain text
2785 #: build/C/man3/getauxval.3:181
2786 msgid ""
2787 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2788 "I<type> is not found, 0 is returned."
2789 msgstr ""
2790 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2791 "らない場合には 0 を返す。"
2792
2793 #. type: TP
2794 #: build/C/man3/getauxval.3:182
2795 #, no-wrap
2796 msgid "B<ENOENT> (since glibc 2.19)"
2797 msgstr "B<ENOENT> (glibc 2.19 以降)"
2798
2799 #.  commit b9ab448f980e296eac21ac65f53783967cc6037b
2800 #. type: Plain text
2801 #: build/C/man3/getauxval.3:188
2802 msgid ""
2803 "No entry corresponding to I<type> could be found in the auxiliary vector."
2804 msgstr ""
2805
2806 #. type: Plain text
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 で追加された。"
2810
2811 #. type: Plain text
2812 #: build/C/man3/getauxval.3:197
2813 msgid "The B<getauxval>()  function is thread-safe."
2814 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2815
2816 #. type: Plain text
2817 #: build/C/man3/getauxval.3:199
2818 msgid "This function is a nonstandard glibc extension."
2819 msgstr "この関数は非標準で glibc による拡張である。"
2820
2821 #. type: Plain text
2822 #: build/C/man3/getauxval.3:208
2823 msgid ""
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."
2830 msgstr ""
2831
2832 #. type: Plain text
2833 #: build/C/man3/getauxval.3:214
2834 msgid ""
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 "
2838 "program:"
2839 msgstr ""
2840
2841 #. type: Plain text
2842 #: build/C/man3/getauxval.3:216
2843 #, no-wrap
2844 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2845 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2846
2847 #. type: Plain text
2848 #: build/C/man3/getauxval.3:223
2849 msgid ""
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."
2852 msgstr ""
2853
2854 #. type: SH
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
2858 #, no-wrap
2859 msgid "BUGS"
2860 msgstr "バグ"
2861
2862 #. type: Plain text
2863 #: build/C/man3/getauxval.3:232
2864 msgid ""
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."
2868 msgstr ""
2869
2870 #. type: Plain text
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)"
2874
2875 #. type: TH
2876 #: build/C/man3/getenv.3:33
2877 #, no-wrap
2878 msgid "GETENV"
2879 msgstr "GETENV"
2880
2881 #. type: TH
2882 #: build/C/man3/getenv.3:33
2883 #, no-wrap
2884 msgid "2012-08-14"
2885 msgstr "2012-08-14"
2886
2887 #. type: Plain text
2888 #: build/C/man3/getenv.3:36
2889 msgid "getenv, secure_getenv - get an environment variable"
2890 msgstr "getenv, secure_getenv - 環境変数を得る"
2891
2892 #. type: Plain text
2893 #: build/C/man3/getenv.3:41
2894 #, no-wrap
2895 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2896 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2897
2898 #. type: Plain text
2899 #: build/C/man3/getenv.3:43
2900 #, no-wrap
2901 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2902 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2903
2904 #. type: Plain text
2905 #: build/C/man3/getenv.3:52
2906 msgid "B<secure_getenv>(): _GNU_SOURCE"
2907 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2908
2909 #. type: Plain text
2910 #: build/C/man3/getenv.3:61
2911 msgid ""
2912 "The B<getenv>()  function searches the environment list to find the "
2913 "environment variable I<name>, and returns a pointer to the corresponding "
2914 "I<value> string."
2915 msgstr ""
2916 "関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2917 "る I<value> 文字列へのポインタを返す。"
2918
2919 #. type: Plain text
2920 #: build/C/man3/getenv.3:69
2921 msgid ""
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:"
2926 msgstr ""
2927 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
2928 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
2929 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
2930 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2931
2932 #. type: IP
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
2936 #, no-wrap
2937 msgid "*"
2938 msgstr "*"
2939
2940 #. type: Plain text
2941 #: build/C/man3/getenv.3:74
2942 msgid ""
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);"
2946 msgstr ""
2947 "プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
2948 "セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
2949 "状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
2950 "合である)。"
2951
2952 #. type: Plain text
2953 #: build/C/man3/getenv.3:76
2954 msgid "the effective capability bit was set on the executable file; or"
2955 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
2956
2957 #. type: Plain text
2958 #: build/C/man3/getenv.3:78
2959 msgid "the process has a nonempty permitted capability set."
2960 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
2961
2962 #. type: Plain text
2963 #: build/C/man3/getenv.3:81
2964 msgid ""
2965 "Secure execution may also required if triggered by some Linux security "
2966 "modules."
2967 msgstr ""
2968 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
2969 "必要となる。"
2970
2971 #. type: Plain text
2972 #: build/C/man3/getenv.3:88
2973 msgid ""
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."
2977 msgstr ""
2978 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
2979 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
2980 "避するために使うことを意図して作られた。"
2981
2982 #. type: Plain text
2983 #: build/C/man3/getenv.3:93
2984 msgid ""
2985 "The B<getenv>()  function returns a pointer to the value in the environment, "
2986 "or NULL if there is no match."
2987 msgstr ""
2988 "関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
2989 "マッチする環境変数が存在しないときには NULL を返す。"
2990
2991 #. type: Plain text
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 で初めて登場した。"
2995
2996 #. type: Plain text
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."
3000
3001 #. type: Plain text
3002 #: build/C/man3/getenv.3:102
3003 msgid "B<secure_getenv>()  is a GNU extension."
3004 msgstr "B<secure_getenv>() は GNU による拡張である。"
3005
3006 #. type: Plain text
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> という形式をしている。"
3010
3011 #. type: Plain text
3012 #: build/C/man3/getenv.3:110
3013 msgid ""
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."
3017 msgstr ""
3018 "通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
3019 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
3020 "すると、そのプロセスの環境を変化させることになるからである。"
3021
3022 #. type: Plain text
3023 #: build/C/man3/getenv.3:123
3024 msgid ""
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)."
3029 msgstr ""
3030 "B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
3031 "い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
3032 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3033 "B<unsetenv>(3)  の呼び出しにより変更されることがある。"
3034
3035 #. type: Plain text
3036 #: build/C/man3/getenv.3:129
3037 msgid ""
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 "
3040 "to user space."
3041 msgstr ""
3042 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
3043 "に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
3044 "れる。"
3045
3046 #. type: Plain text
3047 #: build/C/man3/getenv.3:136
3048 msgid ""
3049 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3050 "B<capabilities>(7), B<environ>(7)"
3051 msgstr ""
3052 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3053 "B<capabilities>(7), B<environ>(7)"
3054
3055 #. type: TH
3056 #: build/C/man3/getloadavg.3:34
3057 #, no-wrap
3058 msgid "GETLOADAVG"
3059 msgstr "GETLOADAVG"
3060
3061 #. type: TH
3062 #: build/C/man3/getloadavg.3:34
3063 #, no-wrap
3064 msgid "2014-04-01"
3065 msgstr "2014-04-01"
3066
3067 #. type: Plain text
3068 #: build/C/man3/getloadavg.3:37
3069 msgid "getloadavg - get system load averages"
3070 msgstr "getloadavg - get system load averages"
3071
3072 #. type: Plain text
3073 #: build/C/man3/getloadavg.3:41
3074 #, no-wrap
3075 msgid ""
3076 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
3077 "B<#include E<lt>stdlib.hE<gt>>\n"
3078 msgstr ""
3079 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3080 "B<#include E<lt>stdlib.hE<gt>>\n"
3081
3082 #. type: Plain text
3083 #: build/C/man3/getloadavg.3:43
3084 #, no-wrap
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"
3087
3088 #. type: Plain text
3089 #: build/C/man3/getloadavg.3:55
3090 msgid ""
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."
3096 msgstr ""
3097 "B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
3098 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3099 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3100 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3101
3102 #.  .SH HISTORY
3103 #.  The
3104 #.  BR getloadavg ()
3105 #.  function appeared in
3106 #.  4.3BSD Reno .
3107 #. type: Plain text
3108 #: build/C/man3/getloadavg.3:63
3109 msgid ""
3110 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3111 "of samples actually retrieved is returned."
3112 msgstr ""
3113 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3114 "値の数を返す。"
3115
3116 #. type: Plain text
3117 #: build/C/man3/getloadavg.3:65
3118 msgid "This function is available in glibc since version 2.2."
3119 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3120
3121 #. type: Plain text
3122 #: build/C/man3/getloadavg.3:70
3123 msgid "The B<getloadavg>()  function is thread-safe."
3124 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
3125
3126 #.  mdoc seems to have a bug - there must be no newline here
3127 #. type: Plain text
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 に存在する。"
3131
3132 #. type: Plain text
3133 #: build/C/man3/getloadavg.3:76
3134 msgid "B<uptime>(1), B<proc>(5)"
3135 msgstr "B<uptime>(1), B<proc>(5)"
3136
3137 #. type: TH
3138 #: build/C/man3/getsubopt.3:25
3139 #, no-wrap
3140 msgid "GETSUBOPT"
3141 msgstr "GETSUBOPT"
3142
3143 #. type: TH
3144 #: build/C/man3/getsubopt.3:25
3145 #, no-wrap
3146 msgid "2014-04-08"
3147 msgstr "2014-04-08"
3148
3149 #. type: Plain text
3150 #: build/C/man3/getsubopt.3:28
3151 msgid "getsubopt - parse suboption arguments from a string"
3152 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3153
3154 #. type: Plain text
3155 #: build/C/man3/getsubopt.3:33
3156 msgid ""
3157 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3158 "**>I<valuep>B<);>"
3159 msgstr ""
3160 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3161 "**>I<valuep>B<);>"
3162
3163 #. type: Plain text
3164 #: build/C/man3/getsubopt.3:40
3165 msgid "B<getsubopt>():"
3166 msgstr "B<getsubopt>():"
3167
3168 #. type: Plain text
3169 #: build/C/man3/getsubopt.3:45
3170 msgid ""
3171 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3172 msgstr ""
3173 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3174
3175 #. type: Plain text
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"
3179
3180 #. type: Plain text
3181 #: build/C/man3/getsubopt.3:64
3182 msgid ""
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>:"
3189 msgstr ""
3190 "B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
3191 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
3192 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
3193 "o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
3194 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
3195 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3196
3197 #. type: Plain text
3198 #: build/C/man3/getsubopt.3:67
3199 msgid "B<ro,name=xyz>"
3200 msgstr "B<ro,name=xyz>"
3201
3202 #. type: Plain text
3203 #: build/C/man3/getsubopt.3:77
3204 msgid ""
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."
3209 msgstr ""
3210 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
3211 "端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
3212 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
3213 "要がある。 また、等号とカンマを含んではならない。"
3214
3215 #. type: Plain text
3216 #: build/C/man3/getsubopt.3:98
3217 msgid ""
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."
3227 msgstr ""
3228 "B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3229 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3230 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3231 "オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
3232 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3233 "B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3234 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3235 "はそのサブオプションの「値の文字列」そのものとなる。"
3236
3237 #. type: Plain text
3238 #: build/C/man3/getsubopt.3:102
3239 msgid ""
3240 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3241 "set to NULL."
3242 msgstr ""
3243 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3244 "*I<valuep> は NULL に設定される。"
3245
3246 #. type: Plain text
3247 #: build/C/man3/getsubopt.3:110
3248 msgid ""
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."
3252 msgstr ""
3253 "B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3254 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3255 "\\e0\\(aq) を指している。"
3256
3257 #. type: Plain text
3258 #: build/C/man3/getsubopt.3:122
3259 msgid ""
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."
3263 msgstr ""
3264 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
3265 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3266 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3267 "となる。"
3268
3269 #. type: Plain text
3270 #: build/C/man3/getsubopt.3:129
3271 msgid ""
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 "
3274 "B<getsubopt>()."
3275 msgstr ""
3276 "I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
3277 "ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
3278 "い。"
3279
3280 #. type: Plain text
3281 #: build/C/man3/getsubopt.3:134
3282 msgid "The B<getsubopt>()  function is thread-safe."
3283 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
3284
3285 #. type: Plain text
3286 #: build/C/man3/getsubopt.3:143
3287 msgid ""
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."
3290 msgstr ""
3291 "B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3292 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3293 "ない。"
3294
3295 #. type: Plain text
3296 #: build/C/man3/getsubopt.3:145
3297 msgid "The following program expects suboptions following a \"-o\" option."
3298 msgstr ""
3299 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3300 "ている。"
3301
3302 #. type: Plain text
3303 #: build/C/man3/getsubopt.3:151
3304 #, no-wrap
3305 msgid ""
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"
3310 msgstr ""
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"
3315
3316 #. type: Plain text
3317 #: build/C/man3/getsubopt.3:169
3318 #, no-wrap
3319 msgid ""
3320 "int\n"
3321 "main(int argc, char **argv)\n"
3322 "{\n"
3323 "    enum {\n"
3324 "        RO_OPT = 0,\n"
3325 "        RW_OPT,\n"
3326 "        NAME_OPT\n"
3327 "    };\n"
3328 "    char *const token[] = {\n"
3329 "        [RO_OPT]   = \"ro\",\n"
3330 "        [RW_OPT]   = \"rw\",\n"
3331 "        [NAME_OPT] = \"name\",\n"
3332 "        NULL\n"
3333 "    };\n"
3334 "    char *subopts;\n"
3335 "    char *value;\n"
3336 "    int opt;\n"
3337 msgstr ""
3338 "int\n"
3339 "main(int argc, char **argv)\n"
3340 "{\n"
3341 "    enum {\n"
3342 "        RO_OPT = 0,\n"
3343 "        RW_OPT,\n"
3344 "        NAME_OPT\n"
3345 "    };\n"
3346 "    char *const token[] = {\n"
3347 "        [RO_OPT]   = \"ro\",\n"
3348 "        [RW_OPT]   = \"rw\",\n"
3349 "        [NAME_OPT] = \"name\",\n"
3350 "        NULL\n"
3351 "    };\n"
3352 "    char *subopts;\n"
3353 "    char *value;\n"
3354 "    int opt;\n"
3355
3356 #. type: Plain text
3357 #: build/C/man3/getsubopt.3:174
3358 #, no-wrap
3359 msgid ""
3360 "    int readonly = 0;\n"
3361 "    int readwrite = 0;\n"
3362 "    char *name = NULL;\n"
3363 "    int errfnd = 0;\n"
3364 msgstr ""
3365 "    int readonly = 0;\n"
3366 "    int readwrite = 0;\n"
3367 "    char *name = NULL;\n"
3368 "    int errfnd = 0;\n"
3369
3370 #. type: Plain text
3371 #: build/C/man3/getsubopt.3:180
3372 #, no-wrap
3373 msgid ""
3374 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3375 "        switch (opt) {\n"
3376 "        case \\(aqo\\(aq:\n"
3377 "            subopts = optarg;\n"
3378 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3379 msgstr ""
3380 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3381 "        switch (opt) {\n"
3382 "        case \\(aqo\\(aq:\n"
3383 "            subopts = optarg;\n"
3384 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3385
3386 #. type: Plain text
3387 #: build/C/man3/getsubopt.3:185
3388 #, no-wrap
3389 msgid ""
3390 "            switch (getsubopt(&subopts, token, &value)) {\n"
3391 "            case RO_OPT:\n"
3392 "                readonly = 1;\n"
3393 "                break;\n"
3394 msgstr ""
3395 "            switch (getsubopt(&subopts, token, &value)) {\n"
3396 "            case RO_OPT:\n"
3397 "                readonly = 1;\n"
3398 "                break;\n"
3399
3400 #. type: Plain text
3401 #: build/C/man3/getsubopt.3:189
3402 #, no-wrap
3403 msgid ""
3404 "            case RW_OPT:\n"
3405 "                readwrite = 1;\n"
3406 "                break;\n"
3407 msgstr ""
3408 "            case RW_OPT:\n"
3409 "                readwrite = 1;\n"
3410 "                break;\n"
3411
3412 #. type: Plain text
3413 #: build/C/man3/getsubopt.3:197
3414 #, no-wrap
3415 msgid ""
3416 "            case NAME_OPT:\n"
3417 "                if (value == NULL) {\n"
3418 "                    fprintf(stderr, \"Missing value for \"\n"
3419 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3420 "                    errfnd = 1;\n"
3421 "                    continue;\n"
3422 "                }\n"
3423 msgstr ""
3424 "            case 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"
3428 "                    errfnd = 1;\n"
3429 "                    continue;\n"
3430 "                }\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/getsubopt.3:200
3434 #, no-wrap
3435 msgid ""
3436 "                name = value;\n"
3437 "                break;\n"
3438 msgstr ""
3439 "                name = value;\n"
3440 "                break;\n"
3441
3442 #. type: Plain text
3443 #: build/C/man3/getsubopt.3:214
3444 #, no-wrap
3445 msgid ""
3446 "            default:\n"
3447 "                fprintf(stderr, \"No match found \"\n"
3448 "                        \"for token: /%s/\\en\", value);\n"
3449 "                errfnd = 1;\n"
3450 "                break;\n"
3451 "            }\n"
3452 "        }\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"
3456 "            errfnd = 1;\n"
3457 "        }\n"
3458 "        break;\n"
3459 msgstr ""
3460 "            default:\n"
3461 "                fprintf(stderr, \"No match found \"\n"
3462 "                        \"for token: /%s/\\en\", value);\n"
3463 "                errfnd = 1;\n"
3464 "                break;\n"
3465 "            }\n"
3466 "        }\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"
3470 "            errfnd = 1;\n"
3471 "        }\n"
3472 "        break;\n"
3473
3474 #. type: Plain text
3475 #: build/C/man3/getsubopt.3:219
3476 #, no-wrap
3477 msgid ""
3478 "        default:\n"
3479 "            errfnd = 1;\n"
3480 "        }\n"
3481 "    }\n"
3482 msgstr ""
3483 "        default:\n"
3484 "            errfnd = 1;\n"
3485 "        }\n"
3486 "    }\n"
3487
3488 #. type: Plain text
3489 #: build/C/man3/getsubopt.3:226
3490 #, no-wrap
3491 msgid ""
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"
3497 "    }\n"
3498 msgstr ""
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"
3504 "    }\n"
3505
3506 #. type: Plain text
3507 #: build/C/man3/getsubopt.3:228
3508 #, no-wrap
3509 msgid "    /* Remainder of program... */\n"
3510 msgstr "    /* Remainder of program... */\n"
3511
3512 #. type: Plain text
3513 #: build/C/man3/getsubopt.3:233
3514 msgid "B<getopt>(3)"
3515 msgstr "B<getopt>(3)"
3516
3517 #. type: TH
3518 #: build/C/man3/malloc.3:33
3519 #, no-wrap
3520 msgid "MALLOC"
3521 msgstr "MALLOC"
3522
3523 #. type: TH
3524 #: build/C/man3/malloc.3:33
3525 #, no-wrap
3526 msgid "2014-05-21"
3527 msgstr "2014-05-21"
3528
3529 #. type: Plain text
3530 #: build/C/man3/malloc.3:36
3531 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3532 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
3533
3534 #. type: Plain text
3535 #: build/C/man3/malloc.3:44
3536 #, no-wrap
3537 msgid ""
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"
3542 msgstr ""
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"
3547
3548 #.  glibc does this:
3549 #. type: Plain text
3550 #: build/C/man3/malloc.3:61
3551 msgid ""
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>()."
3556 msgstr ""
3557 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
3558 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
3559 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3560 "一意なポインタ値を返す。"
3561
3562 #. type: Plain text
3563 #: build/C/man3/malloc.3:77
3564 msgid ""
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."
3569 msgstr ""
3570 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
3571 "は、\n"
3572 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3573 "値で\n"
3574 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
3575 "行\n"
3576 "されていたりした場合の動作は定義されていない。\n"
3577 "I<ptr> が NULL の場合には、何の動作も行われない。"
3578
3579 #.  glibc does this:
3580 #. type: Plain text
3581 #: build/C/man3/malloc.3:96
3582 msgid ""
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>()."
3588 msgstr ""
3589 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
3590 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
3591 "ロ\n"
3592 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3593 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3594 "ポインタ値を返す。"
3595
3596 #. type: Plain text
3597 #: build/C/man3/malloc.3:132
3598 msgid ""
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."
3609 msgstr ""
3610 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
3611 "ト\n"
3612 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3613 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
3614 "初期化 I<されない>。\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>(), "
3618 "B<calloc>(),\n"
3619 "B<realloc>() のいずれかが返した値でなければならない。\n"
3620 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3621
3622 #. type: Plain text
3623 #: build/C/man3/malloc.3:152
3624 msgid ""
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."
3630 msgstr ""
3631 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 "
3632 "割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントさ"
3633 "れる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した "
3634 "B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した"
3635 "場合にも NULL が返される。"
3636
3637 #. type: Plain text
3638 #: build/C/man3/malloc.3:156
3639 msgid "The B<free>()  function returns no value."
3640 msgstr "B<free>() 関数は値を返さない。"
3641
3642 #. type: Plain text
3643 #: build/C/man3/malloc.3:171
3644 msgid ""
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 "
3650 "or moved."
3651 msgstr ""
3652 "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあら"
3653 "ゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なる"
3654 "こともある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合に"
3655 "は、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() "
3656 "が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動され"
3657 "たりはしない。"
3658
3659 #. type: Plain text
3660 #: build/C/man3/malloc.3:173
3661 msgid "C89, C99."
3662 msgstr "C89, C99."
3663
3664 #. type: Plain text
3665 #: build/C/man3/malloc.3:189
3666 msgid ""
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>."
3674 msgstr ""
3675 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
3676 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
3677 "と\n"
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> を参照のこと。"
3683
3684 #. type: Plain text
3685 #: build/C/man3/malloc.3:210
3686 msgid ""
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))."
3694 msgstr ""
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)  参照)。"
3702
3703 #. type: Plain text
3704 #: build/C/man3/malloc.3:228
3705 msgid ""
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."
3715 msgstr ""
3716 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3717 "を\n"
3718 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
3719 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
3720 "ケー\n"
3721 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3722 "ン\n"
3723 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3724 "の\n"
3725 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
3726 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3727 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3728
3729 #. type: Plain text
3730 #: build/C/man3/malloc.3:246
3731 msgid ""
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>."
3737 msgstr ""
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 "いライブラリルーチンがあるかもしれない。"
3744
3745 #. type: Plain text
3746 #: build/C/man3/malloc.3:255
3747 msgid ""
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."
3751 msgstr ""
3752 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
3753 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3754 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3755
3756 #. type: Plain text
3757 #: build/C/man3/malloc.3:261
3758 msgid ""
3759 "The B<malloc>()  implementation is tunable via environment variables; see "
3760 "B<mallopt>(3)  for details."
3761 msgstr ""
3762 "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
3763 "こと。"
3764
3765 #. type: Plain text
3766 #: build/C/man3/malloc.3:284
3767 msgid ""
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)"
3771 msgstr ""
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)"
3775
3776 #. type: TH
3777 #: build/C/man3/mblen.3:16
3778 #, no-wrap
3779 msgid "MBLEN"
3780 msgstr "MBLEN"
3781
3782 #. type: TH
3783 #: build/C/man3/mblen.3:16
3784 #, no-wrap
3785 msgid "2013-06-21"
3786 msgstr "2013-06-21"
3787
3788 #. type: Plain text
3789 #: build/C/man3/mblen.3:19
3790 msgid "mblen - determine number of bytes in next multibyte character"
3791 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3792
3793 #. type: Plain text
3794 #: build/C/man3/mblen.3:24
3795 #, no-wrap
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"
3798
3799 #. type: Plain text
3800 #: build/C/man3/mblen.3:43
3801 msgid ""
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."
3808 msgstr ""
3809 "I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 I<n> バイト"
3810 "のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
3811 "は B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
3812 "ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
3813 "マルチバイト文字がヌルワイド文字ならば 0 を返す。"
3814
3815 #. type: Plain text
3816 #: build/C/man3/mblen.3:57
3817 msgid ""
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 "
3821 "shift sequences."
3822 msgstr ""
3823 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3824 "B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3825 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3826
3827 #. type: Plain text
3828 #: build/C/man3/mblen.3:64
3829 msgid ""
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."
3832 msgstr ""
3833 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3834 "を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
3835
3836 #.  The Dinkumware doc and the Single UNIX specification say this, but
3837 #.  glibc doesn't implement this.
3838 #. type: Plain text
3839 #: build/C/man3/mblen.3:75
3840 msgid ""
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."
3844 msgstr ""
3845 "I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフト状態を初"
3846 "期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
3847 "シフト状態を持たない場合にはゼロを返す。"
3848
3849 #. type: Plain text
3850 #: build/C/man3/mblen.3:87
3851 msgid ""
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."
3857 msgstr ""
3858 "B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
3859 "を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
3860 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3861 "かった場合には -1 を返す。"
3862
3863 #. type: Plain text
3864 #: build/C/man3/mblen.3:92
3865 msgid "The B<mblen>()  function is not thread-safe."
3866 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3867
3868 #. type: Plain text
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
3872 msgid "C99."
3873 msgstr "C99."
3874
3875 #. type: Plain text
3876 #: build/C/man3/mblen.3:101
3877 msgid ""
3878 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
3879 "current locale."
3880 msgstr ""
3881 "B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3882
3883 #. type: Plain text
3884 #: build/C/man3/mblen.3:106
3885 msgid ""
3886 "The function B<mbrlen>(3)  provides a better interface to the same "
3887 "functionality."
3888 msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
3889
3890 #. type: Plain text
3891 #: build/C/man3/mblen.3:107
3892 msgid "B<mbrlen>(3)"
3893 msgstr "B<mbrlen>(3)"
3894
3895 #. type: TH
3896 #: build/C/man3/mbstowcs.3:18
3897 #, no-wrap
3898 msgid "MBSTOWCS"
3899 msgstr "MBSTOWCS"
3900
3901 #. type: TH
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
3905 #, no-wrap
3906 msgid "2014-03-18"
3907 msgstr "2014-03-18"
3908
3909 #. type: Plain text
3910 #: build/C/man3/mbstowcs.3:21
3911 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3912 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3913
3914 #. type: Plain text
3915 #: build/C/man3/mbstowcs.3:26
3916 #, no-wrap
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"
3919
3920 #. type: Plain text
3921 #: build/C/man3/mbstowcs.3:45
3922 msgid ""
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:"
3927 msgstr ""
3928 "I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字列 I<*src> "
3929 "を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
3930 "ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
3931 "条件で停止する:"
3932
3933 #. type: IP
3934 #: build/C/man3/mbstowcs.3:45
3935 #, no-wrap
3936 msgid "1."
3937 msgstr "1."
3938
3939 #. type: Plain text
3940 #: build/C/man3/mbstowcs.3:50
3941 msgid ""
3942 "An invalid multibyte sequence has been encountered.  In this case, "
3943 "I<(size_t)\\ -1> is returned."
3944 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3945
3946 #. type: IP
3947 #: build/C/man3/mbstowcs.3:50
3948 #, no-wrap
3949 msgid "2."
3950 msgstr "2."
3951
3952 #. type: Plain text
3953 #: build/C/man3/mbstowcs.3:58
3954 msgid ""
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."
3958 msgstr ""
3959 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
3960 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
3961 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
3962 "る。"
3963
3964 #. type: IP
3965 #: build/C/man3/mbstowcs.3:58
3966 #, no-wrap
3967 msgid "3."
3968 msgstr "3."
3969
3970 #. type: Plain text
3971 #: build/C/man3/mbstowcs.3:64
3972 msgid ""
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."
3977 msgstr ""
3978 "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
3979 "換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
3980 "字数を返す。"
3981
3982 #. type: Plain text
3983 #: build/C/man3/mbstowcs.3:70
3984 msgid ""
3985 "The programmer must ensure that there is room for at least I<n> wide "
3986 "characters at I<dest>."
3987 msgstr ""
3988 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
3989 "があることを保証しなければならない。"
3990
3991 #. type: Plain text
3992 #: build/C/man3/mbstowcs.3:78
3993 msgid ""
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."
3997 msgstr ""
3998 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
3999 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
4000
4001 #. type: Plain text
4002 #: build/C/man3/mbstowcs.3:84
4003 msgid ""
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>."
4006 msgstr ""
4007 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4008 "src,0)+1> 以上であることを保証すべきである。"
4009
4010 #. type: Plain text
4011 #: build/C/man3/mbstowcs.3:94
4012 msgid ""
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."
4017 msgstr ""
4018 "B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4019 "ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
4020 "I<(size_t)\\ -1> を返す。"
4021
4022 #. type: Plain text
4023 #: build/C/man3/mbstowcs.3:103
4024 msgid ""
4025 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
4026 "current locale."
4027 msgstr ""
4028 "B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4029
4030 #. type: Plain text
4031 #: build/C/man3/mbstowcs.3:108
4032 msgid ""
4033 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
4034 "functionality."
4035 msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4036
4037 #. type: Plain text
4038 #: build/C/man3/mbstowcs.3:113
4039 msgid ""
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 "
4042 "following:"
4043 msgstr ""
4044 "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
4045 "したものである。実行例は以下のようになる。"
4046
4047 #. type: Plain text
4048 #: build/C/man3/mbstowcs.3:120
4049 #, no-wrap
4050 msgid ""
4051 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4052 "Length of source string (excluding terminator):\n"
4053 "    8 bytes\n"
4054 "    6 multibyte characters\n"
4055 msgstr ""
4056 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4057 "Length of source string (excluding terminator):\n"
4058 "    8 bytes\n"
4059 "    6 multibyte characters\n"
4060
4061 #. type: Plain text
4062 #: build/C/man3/mbstowcs.3:128
4063 #, no-wrap
4064 msgid ""
4065 "Wide character string is: Grüße! (6 characters)\n"
4066 "    G alpha upper\n"
4067 "    r alpha lower\n"
4068 "    ü alpha lower\n"
4069 "    ß alpha lower\n"
4070 "    e alpha lower\n"
4071 "    ! !alpha\n"
4072 msgstr ""
4073 "Wide character string is: Grüße! (6 characters)\n"
4074 "    G alpha upper\n"
4075 "    r alpha lower\n"
4076 "    ü alpha lower\n"
4077 "    ß alpha lower\n"
4078 "    e alpha lower\n"
4079 "    ! !alpha\n"
4080
4081 #. type: SS
4082 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
4083 #, no-wrap
4084 msgid "Program source"
4085 msgstr "プログラムのソース"
4086
4087 #. type: Plain text
4088 #: build/C/man3/mbstowcs.3:137
4089 #, no-wrap
4090 msgid ""
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"
4096 msgstr ""
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"
4102
4103 #. type: Plain text
4104 #: build/C/man3/mbstowcs.3:144
4105 #, no-wrap
4106 msgid ""
4107 "int\n"
4108 "main(int argc, char *argv[])\n"
4109 "{\n"
4110 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4111 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4112 "    wchar_t *wp;\n"
4113 msgstr ""
4114 "int\n"
4115 "main(int argc, char *argv[])\n"
4116 "{\n"
4117 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4118 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4119 "    wchar_t *wp;\n"
4120
4121 #. type: Plain text
4122 #: build/C/man3/mbstowcs.3:149
4123 #, no-wrap
4124 msgid ""
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"
4128 "    }\n"
4129 msgstr ""
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"
4133 "    }\n"
4134
4135 #. type: Plain text
4136 #: build/C/man3/mbstowcs.3:151
4137 #, no-wrap
4138 msgid "    /* Apply the specified locale */\n"
4139 msgstr "    /* Apply the specified locale */\n"
4140
4141 #. type: Plain text
4142 #: build/C/man3/mbstowcs.3:156
4143 #, no-wrap
4144 msgid ""
4145 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4146 "        perror(\"setlocale\");\n"
4147 "        exit(EXIT_FAILURE);\n"
4148 "    }\n"
4149 msgstr ""
4150 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4151 "        perror(\"setlocale\");\n"
4152 "        exit(EXIT_FAILURE);\n"
4153 "    }\n"
4154
4155 #. type: Plain text
4156 #: build/C/man3/mbstowcs.3:159
4157 #, no-wrap
4158 msgid ""
4159 "    /* Calculate the length required to hold argv[2] converted to\n"
4160 "       a wide character string */\n"
4161 msgstr ""
4162 "    /* Calculate the length required to hold argv[2] converted to\n"
4163 "       a wide character string */\n"
4164
4165 #. type: Plain text
4166 #: build/C/man3/mbstowcs.3:165
4167 #, no-wrap
4168 msgid ""
4169 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4170 "    if (mbslen == (size_t) -1) {\n"
4171 "        perror(\"mbstowcs\");\n"
4172 "        exit(EXIT_FAILURE);\n"
4173 "    }\n"
4174 msgstr ""
4175 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4176 "    if (mbslen == (size_t) -1) {\n"
4177 "        perror(\"mbstowcs\");\n"
4178 "        exit(EXIT_FAILURE);\n"
4179 "    }\n"
4180
4181 #. type: Plain text
4182 #: build/C/man3/mbstowcs.3:167
4183 #, no-wrap
4184 msgid "    /* Describe the source string to the user */\n"
4185 msgstr "    /* Describe the source string to the user */\n"
4186
4187 #. type: Plain text
4188 #: build/C/man3/mbstowcs.3:171
4189 #, no-wrap
4190 msgid ""
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"
4194 msgstr ""
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"
4198
4199 #. type: Plain text
4200 #: build/C/man3/mbstowcs.3:174
4201 #, no-wrap
4202 msgid ""
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"
4205 msgstr ""
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"
4208
4209 #. type: Plain text
4210 #: build/C/man3/mbstowcs.3:180
4211 #, no-wrap
4212 msgid ""
4213 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4214 "    if (wcs == NULL) {\n"
4215 "        perror(\"calloc\");\n"
4216 "        exit(EXIT_FAILURE);\n"
4217 "    }\n"
4218 msgstr ""
4219 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4220 "    if (wcs == NULL) {\n"
4221 "        perror(\"calloc\");\n"
4222 "        exit(EXIT_FAILURE);\n"
4223 "    }\n"
4224
4225 #. type: Plain text
4226 #: build/C/man3/mbstowcs.3:183
4227 #, no-wrap
4228 msgid ""
4229 "    /* Convert the multibyte character string in argv[2] to a\n"
4230 "       wide character string */\n"
4231 msgstr ""
4232 "    /* Convert the multibyte character string in argv[2] to a\n"
4233 "       wide character string */\n"
4234
4235 #. type: Plain text
4236 #: build/C/man3/mbstowcs.3:188
4237 #, no-wrap
4238 msgid ""
4239 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4240 "        perror(\"mbstowcs\");\n"
4241 "        exit(EXIT_FAILURE);\n"
4242 "    }\n"
4243 msgstr ""
4244 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4245 "        perror(\"mbstowcs\");\n"
4246 "        exit(EXIT_FAILURE);\n"
4247 "    }\n"
4248
4249 #. type: Plain text
4250 #: build/C/man3/mbstowcs.3:191
4251 #, no-wrap
4252 msgid ""
4253 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4254 "            wcs, mbslen);\n"
4255 msgstr ""
4256 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4257 "            wcs, mbslen);\n"
4258
4259 #. type: Plain text
4260 #: build/C/man3/mbstowcs.3:194
4261 #, no-wrap
4262 msgid ""
4263 "    /* Now do some inspection of the classes of the characters in\n"
4264 "       the wide character string */\n"
4265 msgstr ""
4266 "    /* Now do some inspection of the classes of the characters in\n"
4267 "       the wide character string */\n"
4268
4269 #. type: Plain text
4270 #: build/C/man3/mbstowcs.3:197
4271 #, no-wrap
4272 msgid ""
4273 "    for (wp = wcs; *wp != 0; wp++) {\n"
4274 "        printf(\"    %lc \", (wint_t) *wp);\n"
4275 msgstr ""
4276 "    for (wp = wcs; *wp != 0; wp++) {\n"
4277 "        printf(\"    %lc \", (wint_t) *wp);\n"
4278
4279 #. type: Plain text
4280 #: build/C/man3/mbstowcs.3:201
4281 #, no-wrap
4282 msgid ""
4283 "        if (!iswalpha(*wp))\n"
4284 "            printf(\"!\");\n"
4285 "        printf(\"alpha \");\n"
4286 msgstr ""
4287 "        if (!iswalpha(*wp))\n"
4288 "            printf(\"!\");\n"
4289 "        printf(\"alpha \");\n"
4290
4291 #. type: Plain text
4292 #: build/C/man3/mbstowcs.3:205
4293 #, no-wrap
4294 msgid ""
4295 "        if (iswalpha(*wp)) {\n"
4296 "            if (iswupper(*wp))\n"
4297 "                printf(\"upper \");\n"
4298 msgstr ""
4299 "        if (iswalpha(*wp)) {\n"
4300 "            if (iswupper(*wp))\n"
4301 "                printf(\"upper \");\n"
4302
4303 #. type: Plain text
4304 #: build/C/man3/mbstowcs.3:209
4305 #, no-wrap
4306 msgid ""
4307 "            if (iswlower(*wp))\n"
4308 "                printf(\"lower \");\n"
4309 "        }\n"
4310 msgstr ""
4311 "            if (iswlower(*wp))\n"
4312 "                printf(\"lower \");\n"
4313 "        }\n"
4314
4315 #. type: Plain text
4316 #: build/C/man3/mbstowcs.3:212
4317 #, no-wrap
4318 msgid ""
4319 "        putchar(\\(aq\\en\\(aq);\n"
4320 "    }\n"
4321 msgstr ""
4322 "        putchar(\\(aq\\en\\(aq);\n"
4323 "    }\n"
4324
4325 #. type: Plain text
4326 #: build/C/man3/mbstowcs.3:221
4327 msgid ""
4328 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4329 msgstr ""
4330 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4331
4332 #. type: TH
4333 #: build/C/man3/mbtowc.3:16
4334 #, no-wrap
4335 msgid "MBTOWC"
4336 msgstr "MBTOWC"
4337
4338 #. type: Plain text
4339 #: build/C/man3/mbtowc.3:19
4340 msgid "mbtowc - convert a multibyte sequence to a wide character"
4341 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4342
4343 #. type: Plain text
4344 #: build/C/man3/mbtowc.3:24
4345 #, no-wrap
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"
4348
4349 #. type: Plain text
4350 #: build/C/man3/mbtowc.3:50
4351 msgid ""
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 "
4359 "returns 0."
4360 msgstr ""
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 を返す。"
4367
4368 #. type: Plain text
4369 #: build/C/man3/mbtowc.3:64
4370 msgid ""
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."
4375 msgstr ""
4376 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4377 "なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
4378 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4379 "場合もこのようなことが 起こりえる。"
4380
4381 #. type: Plain text
4382 #: build/C/man3/mbtowc.3:74
4383 msgid ""
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."
4387 msgstr ""
4388 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
4389 "動作するが、変換したワイド文字はメモリには書き込まれない。"
4390
4391 #.  The Dinkumware doc and the Single UNIX specification say this, but
4392 #.  glibc doesn't implement this.
4393 #. type: Plain text
4394 #: build/C/man3/mbtowc.3:93
4395 msgid ""
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."
4400 msgstr ""
4401 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4402 "B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4403 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4404 "を返す。"
4405
4406 #. type: Plain text
4407 #: build/C/man3/mbtowc.3:105
4408 msgid ""
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 "
4411 "upon failure."
4412 msgstr ""
4413 "I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
4414 "I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4415
4416 #. type: Plain text
4417 #: build/C/man3/mbtowc.3:113
4418 msgid ""
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."
4421 msgstr ""
4422 "I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
4423 "ゼロ以外を、状態によらなければゼロを返す。"
4424
4425 #. type: Plain text
4426 #: build/C/man3/mbtowc.3:122
4427 msgid ""
4428 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
4429 "current locale."
4430 msgstr ""
4431 "B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4432
4433 #. type: Plain text
4434 #: build/C/man3/mbtowc.3:128
4435 msgid ""
4436 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
4437 "a better interface to the same functionality."
4438 msgstr ""
4439 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
4440 "り良いインターフェースを提供する。"
4441
4442 #. type: Plain text
4443 #: build/C/man3/mbtowc.3:134
4444 msgid ""
4445 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4446 "B<wcstombs>(3)"
4447 msgstr ""
4448 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4449 "B<wcstombs>(3)"
4450
4451 #. type: TH
4452 #: build/C/man3/mkdtemp.3:26
4453 #, no-wrap
4454 msgid "MKDTEMP"
4455 msgstr "MKDTEMP"
4456
4457 #. type: TH
4458 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
4459 #, no-wrap
4460 msgid "2014-06-13"
4461 msgstr "2014-06-13"
4462
4463 #. type: Plain text
4464 #: build/C/man3/mkdtemp.3:29
4465 msgid "mkdtemp - create a unique temporary directory"
4466 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4467
4468 #. type: Plain text
4469 #: build/C/man3/mkdtemp.3:34
4470 #, no-wrap
4471 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4472 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4473
4474 #. type: Plain text
4475 #: build/C/man3/mkdtemp.3:42
4476 msgid "B<mkdtemp>():"
4477 msgstr "B<mkdtemp>():"
4478
4479 #. type: Plain text
4480 #: build/C/man3/mkdtemp.3:47
4481 msgid "_BSD_SOURCE"
4482 msgstr "_BSD_SOURCE"
4483
4484 #. type: Plain text
4485 #: build/C/man3/mkdtemp.3:49
4486 msgid "|| /* Since glibc 2.10: */"
4487 msgstr "|| /* Since glibc 2.10: */"
4488
4489 #. type: Plain text
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)"
4493
4494 #. type: Plain text
4495 #: build/C/man3/mkdtemp.3:68
4496 msgid ""
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 "
4502 "character array."
4503 msgstr ""
4504 "B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4505 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4506 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4507 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4508 "字列定数にしてはならず、文字配列にすべきである。"
4509
4510 #. type: Plain text
4511 #: build/C/man3/mkdtemp.3:75
4512 msgid ""
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."
4515 msgstr ""
4516 "成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
4517 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4518
4519 #. type: TP
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
4526 #, no-wrap
4527 msgid "B<EINVAL>"
4528 msgstr "B<EINVAL>"
4529
4530 #. type: Plain text
4531 #: build/C/man3/mkdtemp.3:80
4532 msgid ""
4533 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
4534 "unchanged."
4535 msgstr ""
4536 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4537 "ない。"
4538
4539 #. type: Plain text
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)  を参照すること。"
4543
4544 #. type: Plain text
4545 #: build/C/man3/mkdtemp.3:86
4546 msgid "Available since glibc 2.1.91."
4547 msgstr "glibc 2.1.91 以降で利用可能。"
4548
4549 #. type: Plain text
4550 #: build/C/man3/mkdtemp.3:91
4551 msgid "The B<mkdtemp>()  function is thread-safe."
4552 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
4553
4554 #.  As at 2006, this function is being considered for a revision of POSIX.1
4555 #.  Also in NetBSD 1.4.
4556 #. type: Plain text
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 に存在する。"
4560
4561 #. type: Plain text
4562 #: build/C/man3/mkdtemp.3:102
4563 msgid ""
4564 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4565 "B<tmpnam>(3)"
4566 msgstr ""
4567 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4568 "B<tmpnam>(3)"
4569
4570 #. type: TH
4571 #: build/C/man3/mkstemp.3:35
4572 #, no-wrap
4573 msgid "MKSTEMP"
4574 msgstr "MKSTEMP"
4575
4576 #. type: Plain text
4577 #: build/C/man3/mkstemp.3:38
4578 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4579 msgstr ""
4580 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4581 "を作成する"
4582
4583 #. type: Plain text
4584 #: build/C/man3/mkstemp.3:43
4585 #, no-wrap
4586 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4587 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4588
4589 #. type: Plain text
4590 #: build/C/man3/mkstemp.3:45
4591 #, no-wrap
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"
4594
4595 #. type: Plain text
4596 #: build/C/man3/mkstemp.3:47
4597 #, no-wrap
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"
4600
4601 #. type: Plain text
4602 #: build/C/man3/mkstemp.3:49
4603 #, no-wrap
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"
4606
4607 #. type: Plain text
4608 #: build/C/man3/mkstemp.3:57
4609 msgid "B<mkstemp>():"
4610 msgstr "B<mkstemp>():"
4611
4612 #. type: Plain text
4613 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4614 msgid ""
4615 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4616 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4617 msgstr ""
4618 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4619 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4620
4621 #. type: Plain text
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"
4625
4626 #. type: Plain text
4627 #: build/C/man3/mkstemp.3:70
4628 msgid "B<mkostemp>(): _GNU_SOURCE"
4629 msgstr "B<mkostemp>(): _GNU_SOURCE"
4630
4631 #. type: Plain text
4632 #: build/C/man3/mkstemp.3:73
4633 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4634 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4635
4636 #. type: Plain text
4637 #: build/C/man3/mkstemp.3:76
4638 msgid "B<mkostemps>(): _GNU_SOURCE"
4639 msgstr "B<mkostemps>(): _GNU_SOURCE"
4640
4641 #. type: Plain text
4642 #: build/C/man3/mkstemp.3:83
4643 msgid ""
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 "
4646 "for the file."
4647 msgstr ""
4648 "関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
4649 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4650 "ファイルディスクリプタを返す。"
4651
4652 #. type: Plain text
4653 #: build/C/man3/mkstemp.3:91
4654 msgid ""
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."
4659 msgstr ""
4660 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4661 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4662 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4663 "うにしなければならない。"
4664
4665 #. type: Plain text
4666 #: build/C/man3/mkstemp.3:99
4667 msgid ""
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."
4672 msgstr ""
4673 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4674 "るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
4675 "る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
4676 "ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
4677
4678 #.  Reportedly, FreeBSD
4679 #. type: Plain text
4680 #: build/C/man3/mkstemp.3:130
4681 msgid ""
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."
4689 msgstr ""
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 "によってはエラーが発生する点に注意すること。"
4696
4697 #. type: Plain text
4698 #: build/C/man3/mkstemp.3:146
4699 msgid ""
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 "
4703 "for B<mkstemp>()."
4704 msgstr ""
4705 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4706 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4707 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4708 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4709
4710 #. type: Plain text
4711 #: build/C/man3/mkstemp.3:155
4712 msgid ""
4713 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
4714 "B<mkstemp>()."
4715 msgstr ""
4716 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4717 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4718
4719 #. type: Plain text
4720 #: build/C/man3/mkstemp.3:161
4721 msgid ""
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."
4724 msgstr ""
4725 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
4726 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
4727
4728 #. type: TP
4729 #: build/C/man3/mkstemp.3:162
4730 #, no-wrap
4731 msgid "B<EEXIST>"
4732 msgstr "B<EEXIST>"
4733
4734 #. type: Plain text
4735 #: build/C/man3/mkstemp.3:166
4736 msgid ""
4737 "Could not create a unique temporary filename.  Now the contents of "
4738 "I<template> are undefined."
4739 msgstr ""
4740 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4741
4742 #. type: Plain text
4743 #: build/C/man3/mkstemp.3:174
4744 msgid ""
4745 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
4746 "were not XXXXXX; now I<template> is unchanged."
4747 msgstr ""
4748 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4749 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4750 "この場合、I<template> は変更されない。"
4751
4752 #. type: Plain text
4753 #: build/C/man3/mkstemp.3:185
4754 msgid ""
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."
4758 msgstr ""
4759 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4760 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4761 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4762
4763 #. type: Plain text
4764 #: build/C/man3/mkstemp.3:188
4765 msgid ""
4766 "These functions may also fail with any of the errors described for "
4767 "B<open>(2)."
4768 msgstr ""
4769 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4770 "る。"
4771
4772 #. type: Plain text
4773 #: build/C/man3/mkstemp.3:195
4774 msgid ""
4775 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
4776 "B<mkostemps>()  are available since glibc 2.11."
4777 msgstr ""
4778 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4779 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4780
4781 #. type: Plain text
4782 #: build/C/man3/mkstemp.3:204
4783 msgid ""
4784 "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>()  "
4785 "functions are thread-safe."
4786 msgstr ""
4787 "関数 B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), B<mkostemps>() はスレッド"
4788 "セーフである。"
4789
4790 #. type: Plain text
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."
4794
4795 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4796 #.  and Tru64.
4797 #. type: Plain text
4798 #: build/C/man3/mkstemp.3:212
4799 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4800 msgstr ""
4801 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4802
4803 #. type: Plain text
4804 #: build/C/man3/mkstemp.3:217
4805 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
4806 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4807
4808 #. type: Plain text
4809 #: build/C/man3/mkstemp.3:224
4810 msgid ""
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."
4816 msgstr ""
4817 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4818 "ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
4819 "る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
4820 "る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
4821 "ルを許可モード 0600 で作成することが必須要件として追加された。"
4822
4823 #.  The prototype for
4824 #.  .BR mktemp ()
4825 #.  is in
4826 #.  .I <unistd.h>
4827 #.  for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
4828 #.  .IR <stdlib.h> .
4829 #. type: Plain text
4830 #: build/C/man3/mkstemp.3:242
4831 msgid ""
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>())."
4836 msgstr ""
4837 "より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
4838 "べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
4839 "呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
4840 "るか確認するべきである。"
4841
4842 #. type: Plain text
4843 #: build/C/man3/mkstemp.3:247
4844 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4845 msgstr ""
4846 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4847
4848 #. type: TH
4849 #: build/C/man3/mktemp.3:34
4850 #, no-wrap
4851 msgid "MKTEMP"
4852 msgstr "MKTEMP"
4853
4854 #. type: Plain text
4855 #: build/C/man3/mktemp.3:37
4856 msgid "mktemp - make a unique temporary filename"
4857 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4858
4859 #. type: Plain text
4860 #: build/C/man3/mktemp.3:42
4861 #, no-wrap
4862 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4863 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4864
4865 #. type: Plain text
4866 #: build/C/man3/mktemp.3:50
4867 msgid "B<mktemp>():"
4868 msgstr "B<mktemp>():"
4869
4870 #. type: Plain text
4871 #: build/C/man3/mktemp.3:59
4872 #, no-wrap
4873 msgid ""
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"
4878 msgstr ""
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"
4883
4884 #. type: Plain text
4885 #: build/C/man3/mktemp.3:69
4886 msgid "I<Never use this function>; see NOTES."
4887 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
4888
4889 #. type: Plain text
4890 #: build/C/man3/mktemp.3:80
4891 msgid ""
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."
4897 msgstr ""
4898 "関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
4899 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
4900 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
4901 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
4902 "るように しなければならない。"
4903
4904 #. type: Plain text
4905 #: build/C/man3/mktemp.3:91
4906 msgid ""
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."
4912 msgstr ""
4913 "関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
4914 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
4915 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
4916 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
4917 "る。"
4918
4919 #. type: Plain text
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 でない。"
4923
4924 #.  .SH NOTES
4925 #.  The prototype is in
4926 #.  .I <unistd.h>
4927 #.  for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
4928 #.  and has the prototype in
4929 #.  .IR <stdlib.h> .
4930 #. type: Plain text
4931 #: build/C/man3/mktemp.3:105
4932 msgid ""
4933 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
4934 msgstr ""
4935 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
4936 "る。"
4937
4938 #. type: Plain text
4939 #: build/C/man3/mktemp.3:118
4940 msgid ""
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)."
4947 msgstr ""
4948 "B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
4949 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
4950 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
4951 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
4952 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
4953 "ことで避けられる。"
4954
4955 #. type: Plain text
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)"
4959
4960 #. type: TH
4961 #: build/C/man3/on_exit.3:31
4962 #, no-wrap
4963 msgid "ON_EXIT"
4964 msgstr "ON_EXIT"
4965
4966 #. type: Plain text
4967 #: build/C/man3/on_exit.3:34
4968 msgid ""
4969 "on_exit - register a function to be called at normal process termination"
4970 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
4971
4972 #. type: Plain text
4973 #: build/C/man3/on_exit.3:39
4974 #, no-wrap
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"
4977
4978 #. type: Plain text
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"
4982
4983 #. type: Plain text
4984 #: build/C/man3/on_exit.3:66
4985 msgid ""
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>()."
4990 msgstr ""
4991 "B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
4992 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
4993 "ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
4994 "は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
4995 "I<arg> 引数が渡される。"
4996
4997 #. type: Plain text
4998 #: build/C/man3/on_exit.3:81
4999 msgid ""
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 以外を返す。"
5003
5004 #. type: Plain text
5005 #: build/C/man3/on_exit.3:87
5006 msgid ""
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."
5010 msgstr ""
5011 "この関数は SunOS 4 由来であるが、 glibc にも存在する。 Solaris (SunOS 5) には"
5012 "もはや存在しない。移植性が必要なアプリケーションではこの関数の使用は避け、代"
5013 "わりに標準の B<atexit>(3) を使うこと。"
5014
5015 #. type: Plain text
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)"
5019
5020 #. type: TH
5021 #: build/C/man3/putenv.3:36
5022 #, no-wrap
5023 msgid "PUTENV"
5024 msgstr "PUTENV"
5025
5026 #. type: Plain text
5027 #: build/C/man3/putenv.3:39
5028 msgid "putenv - change or add an environment variable"
5029 msgstr "putenv - 環境変数の変更または追加"
5030
5031 #.  Not: const char *
5032 #. type: Plain text
5033 #: build/C/man3/putenv.3:45
5034 #, no-wrap
5035 msgid "B<int putenv(char *>I<string>B<);>\n"
5036 msgstr "B<int putenv(char *>I<string>B<);>\n"
5037
5038 #. type: Plain text
5039 #: build/C/man3/putenv.3:54
5040 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5041 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5042
5043 #. type: Plain text
5044 #: build/C/man3/putenv.3:67
5045 msgid ""
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 "
5052 "environment."
5053 msgstr ""
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 "文字列を変更すると環境も変更される。"
5059
5060 #. type: Plain text
5061 #: build/C/man3/putenv.3:75
5062 msgid ""
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."
5065 msgstr ""
5066 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5067 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5068
5069 #. type: TP
5070 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5071 #, no-wrap
5072 msgid "B<ENOMEM>"
5073 msgstr "B<ENOMEM>"
5074
5075 #. type: Plain text
5076 #: build/C/man3/putenv.3:79
5077 msgid "Insufficient space to allocate new environment."
5078 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5079
5080 #. type: Plain text
5081 #: build/C/man3/putenv.3:81
5082 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5083 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5084
5085 #.  .LP
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.
5090 #.  If
5091 #.  .BR putenv ()
5092 #.  has to allocate a new array \fIenviron\fP,
5093 #.  and the previous array was also allocated by
5094 #.  .BR putenv (),
5095 #.  then it will be freed.
5096 #.  In no case will the old storage associated
5097 #.  to the environment variable itself be freed.
5098 #. type: Plain text
5099 #: build/C/man3/putenv.3:99
5100 msgid ""
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."
5103 msgstr ""
5104 "B<putenv>()  はリエントラントであることを求められていない。 glibc 2.0 ではリ"
5105 "エントラントではない。 glibc 2.1 ではリエントラントである。"
5106
5107 #. type: Plain text
5108 #: build/C/man3/putenv.3:114
5109 msgid ""
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."
5118 msgstr ""
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 "り、文字列のコピーが使われる。 これはメモリリークを引き起こすだけでなく、 "
5125 "SUSv2 にも違反している。"
5126
5127 #. type: Plain text
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 と同様にコピーを使う。"
5131
5132 #. type: Plain text
5133 #: build/C/man3/putenv.3:118
5134 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5135 msgstr ""
5136 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5137 "うになっている。"
5138
5139 #. type: Plain text
5140 #: build/C/man3/putenv.3:123
5141 msgid ""
5142 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5143 msgstr ""
5144 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5145
5146 #. type: TH
5147 #: build/C/man3/qecvt.3:28
5148 #, no-wrap
5149 msgid "QECVT"
5150 msgstr "QECVT"
5151
5152 #. type: Plain text
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 - 浮動小数点数の文字列への変換"
5156
5157 #. type: Plain text
5158 #: build/C/man3/qecvt.3:36
5159 msgid ""
5160 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5161 "> B<int *>I<sign>B<);>"
5162 msgstr ""
5163 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5164 "> B<int *>I<sign>B<);>"
5165
5166 #. type: Plain text
5167 #: build/C/man3/qecvt.3:39
5168 msgid ""
5169 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5170 "> B<int *>I<sign>B<);>"
5171 msgstr ""
5172 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5173 "> B<int *>I<sign>B<);>"
5174
5175 #. type: Plain text
5176 #: build/C/man3/qecvt.3:41
5177 msgid ""
5178 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5179 msgstr ""
5180 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5181
5182 #. type: Plain text
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"
5186
5187 #. type: Plain text
5188 #: build/C/man3/qecvt.3:85
5189 msgid ""
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)."
5193 msgstr ""
5194 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), "
5195 "B<fcvt>(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型"
5196 "である点だけが異なる。"
5197
5198 #. type: Plain text
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>() はスレッドセーフではない。"
5202
5203 #. type: Plain text
5204 #: build/C/man3/qecvt.3:96
5205 msgid "The B<qgcvt>()  function is thread-safe."
5206 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5207
5208 #.  Not supported by libc4 and libc5.
5209 #. type: Plain text
5210 #: build/C/man3/qecvt.3:102
5211 msgid ""
5212 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
5213 "Supported by glibc."
5214 msgstr ""
5215 "SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5216 "る。 glibc ではサポートされている。"
5217
5218 #. type: Plain text
5219 #: build/C/man3/qecvt.3:107
5220 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
5221 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5222
5223 #. type: Plain text
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)"
5227
5228 #. type: TH
5229 #: build/C/man3/rand.3:41
5230 #, no-wrap
5231 msgid "RAND"
5232 msgstr "RAND"
5233
5234 #. type: TH
5235 #: build/C/man3/rand.3:41
5236 #, no-wrap
5237 msgid "2014-01-18"
5238 msgstr "2014-01-18"
5239
5240 #. type: Plain text
5241 #: build/C/man3/rand.3:44
5242 msgid "rand, rand_r, srand - pseudo-random number generator"
5243 msgstr "rand, srand - 乱数を生成する関数"
5244
5245 #. type: Plain text
5246 #: build/C/man3/rand.3:49
5247 #, no-wrap
5248 msgid "B<int rand(void);>\n"
5249 msgstr "B<int rand(void);>\n"
5250
5251 #. type: Plain text
5252 #: build/C/man3/rand.3:51
5253 #, no-wrap
5254 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5255 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5256
5257 #. type: Plain text
5258 #: build/C/man3/rand.3:53
5259 #, no-wrap
5260 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5261 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5262
5263 #. type: Plain text
5264 #: build/C/man3/rand.3:62
5265 msgid ""
5266 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5267 msgstr ""
5268 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5269
5270 #. type: Plain text
5271 #: build/C/man3/rand.3:68
5272 msgid ""
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>])."
5275 msgstr ""
5276 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5277 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5278
5279 #. type: Plain text
5280 #: build/C/man3/rand.3:77
5281 msgid ""
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."
5285 msgstr ""
5286 "B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
5287 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5288 "は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
5289 "る。"
5290
5291 #. type: Plain text
5292 #: build/C/man3/rand.3:81
5293 msgid ""
5294 "If no seed value is provided, the B<rand>()  function is automatically "
5295 "seeded with a value of 1."
5296 msgstr ""
5297 "種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
5298
5299 #. type: Plain text
5300 #: build/C/man3/rand.3:92
5301 msgid ""
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 "
5307 "B<rand_r>()."
5308 msgstr ""
5309 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
5310 "い。\n"
5311 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5312 "る。\n"
5313 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5314 "る。\n"
5315 "実際にはもう少し複雑かもしれないが。\n"
5316 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5317 "この状態を明示的に指定できなければならない。これを行うには、\n"
5318 "再入可能な B<rand_r>() 関数を使用する。"
5319
5320 #. type: Plain text
5321 #: build/C/man3/rand.3:108
5322 msgid ""
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 "
5328 "will result."
5329 msgstr ""
5330 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5331 "す。\n"
5332 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5333 "I<unsigned int> へのポインタである。\n"
5334 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5335 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5336
5337 #. type: Plain text
5338 #: build/C/man3/rand.3:118
5339 msgid ""
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."
5343 msgstr ""
5344 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5345 "間\n"
5346 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5347 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5348
5349 #. type: Plain text
5350 #: build/C/man3/rand.3:129
5351 msgid ""
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."
5354 msgstr ""
5355 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5356 "関数 B<srand>() は値を返さない。"
5357
5358 #. type: Plain text
5359 #: build/C/man3/rand.3:141
5360 msgid ""
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."
5364 msgstr ""
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>()  を廃止予定としている。"
5368
5369 #. type: Plain text
5370 #: build/C/man3/rand.3:160
5371 msgid ""
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.)"
5379 msgstr ""
5380 "B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
5381 "B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5382 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5383 "B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5384 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5385 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
5386 "うこと)。"
5387
5388 #. type: Plain text
5389 #: build/C/man3/rand.3:166
5390 msgid ""
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."
5394 msgstr ""
5395 "POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
5396 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5397
5398 #. type: Plain text
5399 #: build/C/man3/rand.3:170
5400 #, no-wrap
5401 msgid "static unsigned long next = 1;\n"
5402 msgstr "static unsigned long next = 1;\n"
5403
5404 #. type: Plain text
5405 #: build/C/man3/rand.3:176
5406 #, no-wrap
5407 msgid ""
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"
5412 "}\n"
5413 msgstr ""
5414 "/* RAND_MAX を 32767 と仮定 */\n"
5415 "int myrand(void) {\n"
5416 "    next = next * 1103515245 + 12345;\n"
5417 "    return((unsigned)(next/65536) % 32768);\n"
5418 "}\n"
5419
5420 #. type: Plain text
5421 #: build/C/man3/rand.3:180
5422 #, no-wrap
5423 msgid ""
5424 "void mysrand(unsigned int seed) {\n"
5425 "    next = seed;\n"
5426 "}\n"
5427 msgstr ""
5428 "void mysrand(unsigned int seed) {\n"
5429 "    next = seed;\n"
5430 "}\n"
5431
5432 #. type: Plain text
5433 #: build/C/man3/rand.3:187
5434 msgid ""
5435 "The following program can be used to display the pseudo-random sequence "
5436 "produced by B<rand>()  when given a particular seed."
5437 msgstr ""
5438 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5439 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5440
5441 #. type: Plain text
5442 #: build/C/man3/rand.3:192
5443 #, no-wrap
5444 msgid ""
5445 "#include E<lt>stdlib.hE<gt>\n"
5446 "#include E<lt>stdio.hE<gt>\n"
5447 msgstr ""
5448 "#include E<lt>stdlib.hE<gt>\n"
5449 "#include E<lt>stdio.hE<gt>\n"
5450
5451 #. type: Plain text
5452 #: build/C/man3/rand.3:198
5453 #, no-wrap
5454 msgid ""
5455 "int\n"
5456 "main(int argc, char *argv[])\n"
5457 "{\n"
5458 "    int j, r, nloops;\n"
5459 "    unsigned int seed;\n"
5460 msgstr ""
5461 "int\n"
5462 "main(int argc, char *argv[])\n"
5463 "{\n"
5464 "    int j, r, nloops;\n"
5465 "    unsigned int seed;\n"
5466
5467 #. type: Plain text
5468 #: build/C/man3/rand.3:203
5469 #, no-wrap
5470 msgid ""
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"
5474 "    }\n"
5475 msgstr ""
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"
5479 "    }\n"
5480
5481 #. type: Plain text
5482 #: build/C/man3/rand.3:206
5483 #, no-wrap
5484 msgid ""
5485 "    seed = atoi(argv[1]);\n"
5486 "    nloops = atoi(argv[2]);\n"
5487 msgstr ""
5488 "    seed = atoi(argv[1]);\n"
5489 "    nloops = atoi(argv[2]);\n"
5490
5491 #. type: Plain text
5492 #: build/C/man3/rand.3:212
5493 #, no-wrap
5494 msgid ""
5495 "    srand(seed);\n"
5496 "    for (j = 0; j E<lt> nloops; j++) {\n"
5497 "        r =  rand();\n"
5498 "        printf(\"%d\\en\", r);\n"
5499 "    }\n"
5500 msgstr ""
5501 "    srand(seed);\n"
5502 "    for (j = 0; j E<lt> nloops; j++) {\n"
5503 "        r =  rand();\n"
5504 "        printf(\"%d\\en\", r);\n"
5505 "    }\n"
5506
5507 #. type: Plain text
5508 #: build/C/man3/rand.3:219
5509 msgid "B<drand48>(3), B<random>(3)"
5510 msgstr "B<drand48>(3), B<random>(3)"
5511
5512 #. type: TH
5513 #: build/C/man3/random.3:33
5514 #, no-wrap
5515 msgid "RANDOM"
5516 msgstr "RANDOM"
5517
5518 #. type: Plain text
5519 #: build/C/man3/random.3:36
5520 msgid "random, srandom, initstate, setstate - random number generator"
5521 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5522
5523 #. type: Plain text
5524 #: build/C/man3/random.3:41
5525 #, no-wrap
5526 msgid "B<long int random(void);>\n"
5527 msgstr "B<long int random(void);>\n"
5528
5529 #. type: Plain text
5530 #: build/C/man3/random.3:43
5531 #, no-wrap
5532 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5533 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5534
5535 #. type: Plain text
5536 #: build/C/man3/random.3:45
5537 #, no-wrap
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"
5540
5541 #. type: Plain text
5542 #: build/C/man3/random.3:47
5543 #, no-wrap
5544 msgid "B<char *setstate(char *>I<state>B<);>\n"
5545 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5546
5547 #. type: Plain text
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>():"
5551
5552 #. type: Plain text
5553 #: build/C/man3/random.3:62
5554 msgid ""
5555 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5556 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5557 msgstr ""
5558 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5559 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5560
5561 #. type: Plain text
5562 #: build/C/man3/random.3:73
5563 msgid ""
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)>."
5569 msgstr ""
5570 "B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5571 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5572 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5573 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5574
5575 #. type: Plain text
5576 #: build/C/man3/random.3:87
5577 msgid ""
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."
5583 msgstr ""
5584 "B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
5585 "る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 "
5586 "B<random>()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼"
5587 "ぶことで再現可能である。 種の値が与えられない場合には B<random>()  関数は、自"
5588 "動的に 1 を種に設定する。"
5589
5590 #. type: Plain text
5591 #: build/C/man3/random.3:102
5592 msgid ""
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."
5600 msgstr ""
5601 "B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
5602 "する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5603 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5604 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5605 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5606 "ることができる。"
5607
5608 #. type: Plain text
5609 #: build/C/man3/random.3:118
5610 msgid ""
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>()."
5616 msgstr ""
5617 "B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
5618 "列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
5619 "で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
5620 "されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
5621
5622 #. type: Plain text
5623 #: build/C/man3/random.3:126
5624 msgid ""
5625 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
5626 "B<srandom>()  function returns no value."
5627 msgstr ""
5628 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5629 "関数 B<srandom>() は値を返さない。"
5630
5631 #. type: Plain text
5632 #: build/C/man3/random.3:133
5633 msgid ""
5634 "The B<initstate>()  function returns a pointer to the previous state array.  "
5635 "On error, I<errno> is set to indicate the cause."
5636 msgstr ""
5637 "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
5638 "I<errno> に原因を示す値が設定される。"
5639
5640 #. type: Plain text
5641 #: build/C/man3/random.3:140
5642 msgid ""
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 "
5645 "error."
5646 msgstr ""
5647 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5648 "I<errno> にエラーの原因を示す値が設定される。"
5649
5650 #. type: Plain text
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 であった。"
5654
5655 #. type: Plain text
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バイトよりも小さい状態配列を指定した。"
5659
5660 #. type: Plain text
5661 #: build/C/man3/random.3:161
5662 msgid ""
5663 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
5664 "are thread-safe."
5665 msgstr ""
5666 "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
5667 "フである。"
5668
5669 #. type: Plain text
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."
5673
5674 #. type: Plain text
5675 #: build/C/man3/random.3:169
5676 msgid ""
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."
5680 msgstr ""
5681 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5682 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5683 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5684
5685 #. type: Plain text
5686 #: build/C/man3/random.3:176
5687 msgid ""
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)  "
5690 "for that purpose."
5691 msgstr ""
5692 "複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
5693 "ない。 その場合には B<random_r>(3)  を使うこと。"
5694
5695 #. type: Plain text
5696 #: build/C/man3/random.3:183
5697 msgid ""
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)."
5703 msgstr ""
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 章 (乱数) で"
5708 "展開されている。"
5709
5710 #. type: Plain text
5711 #: build/C/man3/random.3:189
5712 msgid ""
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."
5717 msgstr ""
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 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5722
5723 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5724 #. type: Plain text
5725 #: build/C/man3/random.3:197
5726 msgid ""
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."
5730 msgstr ""
5731 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5732 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5733 "NULL ではない。"
5734
5735 #. type: Plain text
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)"
5739
5740 #. type: TH
5741 #: build/C/man3/random_r.3:26
5742 #, no-wrap
5743 msgid "RANDOM_R"
5744 msgstr "RANDOM_R"
5745
5746 #. type: Plain text
5747 #: build/C/man3/random_r.3:30
5748 msgid ""
5749 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5750 "generator"
5751 msgstr ""
5752 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5753
5754 #. type: Plain text
5755 #: build/C/man3/random_r.3:35
5756 #, no-wrap
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"
5759
5760 #. type: Plain text
5761 #: build/C/man3/random_r.3:37
5762 #, no-wrap
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"
5765
5766 #. type: Plain text
5767 #: build/C/man3/random_r.3:40
5768 #, no-wrap
5769 msgid ""
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"
5772 msgstr ""
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"
5775
5776 #. type: Plain text
5777 #: build/C/man3/random_r.3:42
5778 #, no-wrap
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"
5781
5782 #. type: Plain text
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>():"
5786
5787 #. type: Plain text
5788 #: build/C/man3/random_r.3:56
5789 msgid "_SVID_SOURCE || _BSD_SOURCE"
5790 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5791
5792 #. type: Plain text
5793 #: build/C/man3/random_r.3:64
5794 msgid ""
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 "
5798 "numbers."
5799 msgstr ""
5800 "これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
5801 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5802 "ような マルチスレッド・プログラムでの使用に適している。"
5803
5804 #. type: Plain text
5805 #: build/C/man3/random_r.3:75
5806 msgid ""
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>."
5811 msgstr ""
5812 "B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
5813 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5814 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5815
5816 #. type: Plain text
5817 #: build/C/man3/random_r.3:84
5818 msgid ""
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."
5823 msgstr ""
5824 "B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
5825 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5826 "対応する乱数生成器の種を 初期化する。"
5827
5828 #. type: Plain text
5829 #: build/C/man3/random_r.3:92
5830 msgid ""
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."
5834 msgstr ""
5835 "B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
5836 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5837
5838 #. type: Plain text
5839 #: build/C/man3/random_r.3:100
5840 msgid ""
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."
5844 msgstr ""
5845 "B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
5846 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5847
5848 #. type: Plain text
5849 #: build/C/man3/random_r.3:105
5850 msgid ""
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."
5853 msgstr ""
5854 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5855 "I<errno> にエラーの原因を示す値がセットされる。"
5856
5857 #. type: Plain text
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>()  に指定された。"
5861
5862 #. type: Plain text
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 であった。"
5866
5867 #. type: Plain text
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 であった。"
5871
5872 #. type: Plain text
5873 #: build/C/man3/random_r.3:137
5874 msgid ""
5875 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
5876 "functions are thread-safe."
5877 msgstr ""
5878 "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
5879 "レッドセーフである。"
5880
5881 #.  These functions appear to be on Tru64, but don't seem to be on
5882 #.  Solaris, HP-UX, or FreeBSD.
5883 #. type: Plain text
5884 #: build/C/man3/random_r.3:141
5885 msgid "These functions are nonstandard glibc extensions."
5886 msgstr "これらの関数は非標準で glibc による拡張である。"
5887
5888 #. type: TH
5889 #: build/C/man3/rpmatch.3:29
5890 #, no-wrap
5891 msgid "RPMATCH"
5892 msgstr "RPMATCH"
5893
5894 #. type: Plain text
5895 #: build/C/man3/rpmatch.3:32
5896 msgid ""
5897 "rpmatch - determine if the answer to a question is affirmative or negative"
5898 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
5899
5900 #. type: Plain text
5901 #: build/C/man3/rpmatch.3:37
5902 #, no-wrap
5903 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
5904 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
5905
5906 #. type: Plain text
5907 #: build/C/man3/rpmatch.3:46
5908 msgid "B<rpmatch>(): _SVID_SOURCE"
5909 msgstr "B<rpmatch>(): _SVID_SOURCE"
5910
5911 #. type: Plain text
5912 #: build/C/man3/rpmatch.3:50
5913 msgid ""
5914 "B<rpmatch>()  handles a user response to yes or no questions, with support "
5915 "for internationalization."
5916 msgstr ""
5917 "B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
5918 "(I18N) に対応している。"
5919
5920 #. type: Plain text
5921 #: build/C/man3/rpmatch.3:57
5922 msgid ""
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)."
5925 msgstr ""
5926 "I<response> にはユーザからの応答を格納したヌル終端文字列が入っている必要があ"
5927 "る。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
5928
5929 #. type: Plain text
5930 #: build/C/man3/rpmatch.3:67
5931 msgid ""
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."
5935 msgstr ""
5936 "プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
5937 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
5938 "る。"
5939
5940 #. type: Plain text
5941 #: build/C/man3/rpmatch.3:73
5942 msgid ""
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."
5945 msgstr ""
5946 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
5947 "B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
5948
5949 #. type: Plain text
5950 #: build/C/man3/rpmatch.3:82
5951 msgid ""
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."
5955 msgstr ""
5956 "I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
5957 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
5958 "I<response> の値を解釈できなかった場合は -1 を返す。"
5959
5960 #. type: Plain text
5961 #: build/C/man3/rpmatch.3:86
5962 msgid ""
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."
5965 msgstr ""
5966 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
5967 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
5968
5969 #. type: Plain text
5970 #: build/C/man3/rpmatch.3:99
5971 msgid ""
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 "
5976 "I<response>)."
5977 msgstr ""
5978 "B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
5979 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
5980 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
5981 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
5982
5983 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
5984 #. type: Plain text
5985 #: build/C/man3/rpmatch.3:104
5986 msgid ""
5987 "B<rpmatch>()  is not required by any standard, but is available on a few "
5988 "other systems."
5989 msgstr ""
5990 "B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
5991 "ステムもいくつかは存在する。"
5992
5993 #. type: Plain text
5994 #: build/C/man3/rpmatch.3:119
5995 msgid ""
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|"
6001 "NO)$>."
6002 msgstr ""
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)$> で解釈するなど。"
6008
6009 #. type: Plain text
6010 #: build/C/man3/rpmatch.3:123
6011 msgid ""
6012 "The following program displays the results when B<rpmatch>()  is applied to "
6013 "the string given in the program's command-line argument."
6014 msgstr ""
6015 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
6016 "に渡した場合の結果を表示する。"
6017
6018 #. type: Plain text
6019 #: build/C/man3/rpmatch.3:130
6020 #, no-wrap
6021 msgid ""
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"
6027 msgstr ""
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"
6033
6034 #. type: Plain text
6035 #: build/C/man3/rpmatch.3:138
6036 #, no-wrap
6037 msgid ""
6038 "int\n"
6039 "main(int argc, char *argv[])\n"
6040 "{\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"
6044 "    }\n"
6045 msgstr ""
6046 "int\n"
6047 "main(int argc, char *argv[])\n"
6048 "{\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"
6052 "    }\n"
6053
6054 #. type: Plain text
6055 #: build/C/man3/rpmatch.3:143
6056 #, no-wrap
6057 msgid ""
6058 "    setlocale(LC_ALL, \"\");\n"
6059 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6060 "    exit(EXIT_SUCCESS);\n"
6061 "}\n"
6062 msgstr ""
6063 "    setlocale(LC_ALL, \"\");\n"
6064 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6065 "    exit(EXIT_SUCCESS);\n"
6066 "}\n"
6067
6068 #. type: Plain text
6069 #: build/C/man3/rpmatch.3:149
6070 msgid ""
6071 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6072 msgstr ""
6073 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6074
6075 #. type: TH
6076 #: build/C/man3/setenv.3:37
6077 #, no-wrap
6078 msgid "SETENV"
6079 msgstr "SETENV"
6080
6081 #. type: TH
6082 #: build/C/man3/setenv.3:37
6083 #, no-wrap
6084 msgid "2013-10-11"
6085 msgstr "2013-10-11"
6086
6087 #. type: Plain text
6088 #: build/C/man3/setenv.3:40
6089 msgid "setenv - change or add an environment variable"
6090 msgstr "setenv - 環境変数を変更または追加する"
6091
6092 #. type: Plain text
6093 #: build/C/man3/setenv.3:45
6094 #, no-wrap
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"
6097
6098 #. type: Plain text
6099 #: build/C/man3/setenv.3:47
6100 #, no-wrap
6101 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6102 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6103
6104 #. type: Plain text
6105 #: build/C/man3/setenv.3:57
6106 msgid "B<setenv>(), B<unsetenv>():"
6107 msgstr "B<setenv>(), B<unsetenv>():"
6108
6109 #. type: Plain text
6110 #: build/C/man3/setenv.3:59
6111 msgid ""
6112 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6113 "\\ 600"
6114 msgstr ""
6115 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6116 "\\ 600"
6117
6118 #. type: Plain text
6119 #: build/C/man3/setenv.3:94
6120 msgid ""
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))."
6128 msgstr ""
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> により参照される文字列のコピーを"
6134 "行う。"
6135
6136 #. type: Plain text
6137 #: build/C/man3/setenv.3:105
6138 msgid ""
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."
6142 msgstr ""
6143 "B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6144 "場合、この関数は成功し、環境は変更されない。"
6145
6146 #. type: Plain text
6147 #: build/C/man3/setenv.3:112
6148 msgid ""
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."
6151 msgstr ""
6152 "B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6153 "I<errno> にエラーの原因を示す値がセットされる。"
6154
6155 #. type: Plain text
6156 #: build/C/man3/setenv.3:119
6157 msgid ""
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."
6160 msgstr ""
6161 "B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6162 "I<errno> を設定してエラーの原因を示す。"
6163
6164 #. type: Plain text
6165 #: build/C/man3/setenv.3:125
6166 msgid ""
6167 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6168 "character."
6169 msgstr ""
6170 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6171 "が含まれている。"
6172
6173 #. type: Plain text
6174 #: build/C/man3/setenv.3:128
6175 msgid "Insufficient memory to add a new variable to the environment."
6176 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
6177
6178 #. type: Plain text
6179 #: build/C/man3/setenv.3:136
6180 msgid ""
6181 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
6182 msgstr ""
6183 "POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
6184 "であることを要求していない。"
6185
6186 #. type: Plain text
6187 #: build/C/man3/setenv.3:144
6188 msgid ""
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 "
6191 "in the SYNOPSIS."
6192 msgstr ""
6193 "glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
6194 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6195 "POSIX.1-2001 互換のプロトタイプである。"
6196
6197 #. type: Plain text
6198 #: build/C/man3/setenv.3:153
6199 msgid ""
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>."
6203 msgstr ""
6204 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
6205 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6206 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6207 "る。"
6208
6209 #. type: Plain text
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)"
6213
6214 #. type: TH
6215 #: build/C/man3/strtod.3:45
6216 #, no-wrap
6217 msgid "STRTOD"
6218 msgstr "STRTOD"
6219
6220 #. type: Plain text
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 文字列を浮動小数点実数に変換する"
6224
6225 #. type: Plain text
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<);>"
6229
6230 #. type: Plain text
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<);>"
6234
6235 #. type: Plain text
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<);>"
6239
6240 #. type: Plain text
6241 #: build/C/man3/strtod.3:65
6242 msgid "B<strtof>(), B<strtold>():"
6243 msgstr "B<strtof>(), B<strtold>():"
6244
6245 #. type: Plain text
6246 #: build/C/man3/strtod.3:87
6247 msgid ""
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."
6251 msgstr ""
6252 "B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
6253 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6254
6255 #. type: Plain text
6256 #: build/C/man3/strtod.3:94
6257 msgid ""
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)."
6262 msgstr ""
6263 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6264 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6265 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6266 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6267 "は B<isspace>(3)  で識別される)。"
6268
6269 #. type: Plain text
6270 #: build/C/man3/strtod.3:103
6271 msgid ""
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."
6278 msgstr ""
6279 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6280 "charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6281 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6282 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6283 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6284
6285 #. type: Plain text
6286 #: build/C/man3/strtod.3:114
6287 msgid ""
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."
6295 msgstr ""
6296 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6297 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6298 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6299 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6300 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6301 "存在してはならない。"
6302
6303 #. type: Plain text
6304 #: build/C/man3/strtod.3:118
6305 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6306 msgstr ""
6307 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6308
6309 #. type: Plain text
6310 #: build/C/man3/strtod.3:127
6311 msgid ""
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)."
6315 msgstr ""
6316 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に文字列 "
6317 "I<(n-char-sequence)> が続く場合もある。 I<(n-char-sequence)> は実装に依存す"
6318 "る NAN の型を指定する。"
6319
6320 #. type: Plain text
6321 #: build/C/man3/strtod.3:129
6322 msgid "These functions return the converted value, if any."
6323 msgstr "これらの関数は、変換された値があれば、それを返す。"
6324
6325 #. type: Plain text
6326 #: build/C/man3/strtod.3:136
6327 msgid ""
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 "
6330 "I<endptr>."
6331 msgstr ""
6332 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6333 "ターが I<endptr> で参照される場所へ保存される。"
6334
6335 #. type: Plain text
6336 #: build/C/man3/strtod.3:141
6337 msgid ""
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>."
6340 msgstr ""
6341 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6342 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6343
6344 #. type: Plain text
6345 #: build/C/man3/strtod.3:155
6346 msgid ""
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>."
6351 msgstr ""
6352 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6353 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
6354 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6355 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6356
6357 #. type: TP
6358 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
6359 #: build/C/man3/strtoul.3:155
6360 #, no-wrap
6361 msgid "B<ERANGE>"
6362 msgstr "B<ERANGE>"
6363
6364 #. type: Plain text
6365 #: build/C/man3/strtod.3:159
6366 msgid "Overflow or underflow occurred."
6367 msgstr "オーバーフローまたはアンダーフローが起こった。"
6368
6369 #. type: Plain text
6370 #: build/C/man3/strtod.3:171
6371 msgid ""
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."
6376 msgstr ""
6377 "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
6378 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6379 "レッドアプリケーションで安全に使用することができる。"
6380
6381 #. type: Plain text
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 つの関数が記述されている。"
6385
6386 #. type: Plain text
6387 #: build/C/man3/strtod.3:185
6388 msgid ""
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 "
6392 "the call."
6393 msgstr ""
6394 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6395 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6396 "しエラーが発生したかどうかを判断する 必要がある。"
6397
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."
6405 #. type: Plain text
6406 #: build/C/man3/strtod.3:200
6407 msgid ""
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."
6412 msgstr ""
6413 "glibc の実装では、\"NAN\" の後ろに置くことができる I<n-char-sequence> は、整"
6414 "数値として解釈される (基数の 8 や 16 を示す '0' や '0x' を接頭辞として付ける"
6415 "ことができる)。 この整数値は返り値の仮数部として使われる。"
6416
6417 #. type: Plain text
6418 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
6419 msgid ""
6420 "See the example on the B<strtol>(3)  manual page; the use of the functions "
6421 "described in this manual page is similar."
6422 msgstr ""
6423 "B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
6424 "法も同様である。"
6425
6426 #. type: Plain text
6427 #: build/C/man3/strtod.3:213
6428 msgid ""
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)"
6431 msgstr ""
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)"
6434
6435 #. type: TH
6436 #: build/C/man3/strtoimax.3:24
6437 #, no-wrap
6438 msgid "STRTOIMAX"
6439 msgstr "STRTOIMAX"
6440
6441 #. type: Plain text
6442 #: build/C/man3/strtoimax.3:27
6443 msgid "strtoimax, strtoumax - convert string to integer"
6444 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6445
6446 #. type: Plain text
6447 #: build/C/man3/strtoimax.3:30
6448 #, no-wrap
6449 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6450 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6451
6452 #. type: Plain text
6453 #: build/C/man3/strtoimax.3:32
6454 #, no-wrap
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"
6457
6458 #. type: Plain text
6459 #: build/C/man3/strtoimax.3:34
6460 #, no-wrap
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"
6463
6464 #. type: Plain text
6465 #: build/C/man3/strtoimax.3:45
6466 msgid ""
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."
6469 msgstr ""
6470 "これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
6471 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6472
6473 #. type: Plain text
6474 #: build/C/man3/strtoimax.3:58
6475 msgid ""
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 "
6479 "B<ERANGE>."
6480 msgstr ""
6481 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6482 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6483 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6484 "れる。"
6485
6486 #. type: Plain text
6487 #: build/C/man3/strtoimax.3:69
6488 msgid ""
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."
6493 msgstr ""
6494 "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
6495 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
6496 "プリケーションで安全に使用することができる。"
6497
6498 #. type: Plain text
6499 #: build/C/man3/strtoimax.3:76
6500 msgid ""
6501 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6502 msgstr ""
6503 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6504
6505 #. type: TH
6506 #: build/C/man3/strtol.3:31
6507 #, no-wrap
6508 msgid "STRTOL"
6509 msgstr "STRTOL"
6510
6511 #. type: Plain text
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 に変換する"
6515
6516 #. type: Plain text
6517 #: build/C/man3/strtol.3:39
6518 #, no-wrap
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"
6521
6522 #. type: Plain text
6523 #: build/C/man3/strtol.3:42
6524 #, no-wrap
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"
6527
6528 #. type: Plain text
6529 #: build/C/man3/strtol.3:51
6530 msgid "B<strtoll>():"
6531 msgstr "B<strtoll>():"
6532
6533 #. type: Plain text
6534 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6535 msgid ""
6536 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
6537 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6538 msgstr ""
6539 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6540 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6541
6542 #. type: Plain text
6543 #: build/C/man3/strtol.3:68
6544 msgid ""
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."
6548 msgstr ""
6549 "B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6550 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6551 "持つ値 0 でなければならない。"
6552
6553 #. type: Plain text
6554 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6555 msgid ""
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)."
6562 msgstr ""
6563 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6564 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6565 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6566 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6567 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6568 "は 10進数として扱われる。"
6569
6570 #. type: Plain text
6571 #: build/C/man3/strtol.3:90
6572 msgid ""
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.)"
6578 msgstr ""
6579 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6580 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6581 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6582 "35 を表す。)"
6583
6584 #. type: Plain text
6585 #: build/C/man3/strtol.3:111
6586 msgid ""
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."
6592 msgstr ""
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 ならば、文字列全体が有効だったことになる。"
6598
6599 #. type: Plain text
6600 #: build/C/man3/strtol.3:117
6601 msgid ""
6602 "The B<strtoll>()  function works just like the B<strtol>()  function but "
6603 "returns a long long integer value."
6604 msgstr ""
6605 "B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
6606
6607 #. type: Plain text
6608 #: build/C/man3/strtol.3:144
6609 msgid ""
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>)."
6616 msgstr ""
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> "
6622 "が返される。"
6623
6624 #. type: Plain text
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> がサポートされていない値である。"
6628
6629 #. type: Plain text
6630 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6631 msgid "The resulting value was out of range."
6632 msgstr "結果の値が範囲外である。"
6633
6634 #. type: Plain text
6635 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6636 msgid ""
6637 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6638 "was performed (no digits seen, and 0 returned)."
6639 msgstr ""
6640 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6641 "I<errno> に B<EINVAL> が設定される場合がある。"
6642
6643 #. type: Plain text
6644 #: build/C/man3/strtol.3:173
6645 msgid ""
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."
6650 msgstr ""
6651 "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
6652 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6653 "レッドアプリケーションで安全に使用することができる。"
6654
6655 #. type: Plain text
6656 #: build/C/man3/strtol.3:178
6657 msgid ""
6658 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6659 "B<strtoll>()  to C99 and POSIX.1-2001."
6660 msgstr ""
6661 "B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6662 "B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
6663
6664 #. type: Plain text
6665 #: build/C/man3/strtol.3:196
6666 msgid ""
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."
6672 msgstr ""
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 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6677
6678 #. type: Plain text
6679 #: build/C/man3/strtol.3:201
6680 msgid ""
6681 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6682 "these functions may accept other, implementation-defined numeric strings."
6683 msgstr ""
6684 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6685 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6686
6687 #. type: Plain text
6688 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6689 msgid "BSD also has"
6690 msgstr "BSD には、"
6691
6692 #. type: Plain text
6693 #: build/C/man3/strtol.3:207
6694 #, no-wrap
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"
6697
6698 #. type: Plain text
6699 #: build/C/man3/strtol.3:216
6700 msgid ""
6701 "with completely analogous definition.  Depending on the wordsize of the "
6702 "current architecture, this may be equivalent to B<strtoll>()  or to "
6703 "B<strtol>()."
6704 msgstr ""
6705 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6706 "であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
6707
6708 #. type: Plain text
6709 #: build/C/man3/strtol.3:230
6710 msgid ""
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:"
6718 msgstr ""
6719 "以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
6720 "は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6721 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
6722 "数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
6723 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
6724 "くつか以下に示す:"
6725
6726 #. type: Plain text
6727 #: build/C/man3/strtol.3:246
6728 #, no-wrap
6729 msgid ""
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"
6743 msgstr ""
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"
6757
6758 #. type: Plain text
6759 #: build/C/man3/strtol.3:255
6760 #, no-wrap
6761 msgid ""
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"
6766 msgstr ""
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"
6771
6772 #. type: Plain text
6773 #: build/C/man3/strtol.3:262
6774 #, no-wrap
6775 msgid ""
6776 "int\n"
6777 "main(int argc, char *argv[])\n"
6778 "{\n"
6779 "    int base;\n"
6780 "    char *endptr, *str;\n"
6781 "    long val;\n"
6782 msgstr ""
6783 "int\n"
6784 "main(int argc, char *argv[])\n"
6785 "{\n"
6786 "    int base;\n"
6787 "    char *endptr, *str;\n"
6788 "    long val;\n"
6789
6790 #. type: Plain text
6791 #: build/C/man3/strtol.3:267
6792 #, no-wrap
6793 msgid ""
6794 "    if (argc E<lt> 2) {\n"
6795 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6796 "        exit(EXIT_FAILURE);\n"
6797 "    }\n"
6798 msgstr ""
6799 "    if (argc E<lt> 2) {\n"
6800 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6801 "        exit(EXIT_FAILURE);\n"
6802 "    }\n"
6803
6804 #. type: Plain text
6805 #: build/C/man3/strtol.3:270
6806 #, no-wrap
6807 msgid ""
6808 "    str = argv[1];\n"
6809 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6810 msgstr ""
6811 "    str = argv[1];\n"
6812 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6813
6814 #. type: Plain text
6815 #: build/C/man3/strtol.3:273
6816 #, no-wrap
6817 msgid ""
6818 "    errno = 0;    /* To distinguish success/failure after call */\n"
6819 "    val = strtol(str, &endptr, base);\n"
6820 msgstr ""
6821 "    errno = 0;    /* To distinguish success/failure after call */\n"
6822 "    val = strtol(str, &endptr, base);\n"
6823
6824 #. type: Plain text
6825 #: build/C/man3/strtol.3:275
6826 #, no-wrap
6827 msgid "    /* Check for various possible errors */\n"
6828 msgstr "    /* Check for various possible errors */\n"
6829
6830 #. type: Plain text
6831 #: build/C/man3/strtol.3:281
6832 #, no-wrap
6833 msgid ""
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"
6838 "    }\n"
6839 msgstr ""
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"
6844 "    }\n"
6845
6846 #. type: Plain text
6847 #: build/C/man3/strtol.3:286
6848 #, no-wrap
6849 msgid ""
6850 "    if (endptr == str) {\n"
6851 "        fprintf(stderr, \"No digits were found\\en\");\n"
6852 "        exit(EXIT_FAILURE);\n"
6853 "    }\n"
6854 msgstr ""
6855 "    if (endptr == str) {\n"
6856 "        fprintf(stderr, \"No digits were found\\en\");\n"
6857 "        exit(EXIT_FAILURE);\n"
6858 "    }\n"
6859
6860 #. type: Plain text
6861 #: build/C/man3/strtol.3:288
6862 #, no-wrap
6863 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
6864 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
6865
6866 #. type: Plain text
6867 #: build/C/man3/strtol.3:290
6868 #, no-wrap
6869 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
6870 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
6871
6872 #. type: Plain text
6873 #: build/C/man3/strtol.3:293
6874 #, no-wrap
6875 msgid ""
6876 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6877 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6878 msgstr ""
6879 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6880 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6881
6882 #. type: Plain text
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)"
6886
6887 #. type: TH
6888 #: build/C/man3/strtoul.3:33
6889 #, no-wrap
6890 msgid "STRTOUL"
6891 msgstr "STRTOUL"
6892
6893 #. type: Plain text
6894 #: build/C/man3/strtoul.3:36
6895 msgid ""
6896 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
6897 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
6898
6899 #. type: Plain text
6900 #: build/C/man3/strtoul.3:42
6901 #, no-wrap
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"
6904
6905 #. type: Plain text
6906 #: build/C/man3/strtoul.3:45
6907 #, no-wrap
6908 msgid ""
6909 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6910 "B<                                int >I<base>B<);>\n"
6911 msgstr ""
6912 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6913 "B<                                int >I<base>B<);>\n"
6914
6915 #. type: Plain text
6916 #: build/C/man3/strtoul.3:54
6917 msgid "B<strtoull>():"
6918 msgstr "B<strtoull>():"
6919
6920 #. type: Plain text
6921 #: build/C/man3/strtoul.3:75
6922 msgid ""
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."
6926 msgstr ""
6927 "B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6928 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
6929 "特別な意味を持つ値 0 でなければならない。"
6930
6931 #. type: Plain text
6932 #: build/C/man3/strtoul.3:98
6933 msgid ""
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.)"
6939 msgstr ""
6940 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
6941 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
6942 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
6943 "\\(aq は 35 を表す。)"
6944
6945 #. type: Plain text
6946 #: build/C/man3/strtoul.3:119
6947 msgid ""
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."
6953 msgstr ""
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 ならば、文字列全体が有効だったことになる。"
6959
6960 #. type: Plain text
6961 #: build/C/man3/strtoul.3:127
6962 msgid ""
6963 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
6964 "returns an I<unsigned long long int> value."
6965 msgstr ""
6966 "B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
6967 "int> 型の値を返す。"
6968
6969 #. type: Plain text
6970 #: build/C/man3/strtoul.3:148
6971 msgid ""
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>)."
6978 msgstr ""
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>()  と全く同じである。"
6984
6985 #. type: Plain text
6986 #: build/C/man3/strtoul.3:177
6987 msgid ""
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."
6992 msgstr ""
6993 "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
6994 "ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6995 "レッドアプリケーションで安全に使用することができる。"
6996
6997 #. type: Plain text
6998 #: build/C/man3/strtoul.3:182
6999 msgid ""
7000 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
7001 "to C99 and POSIX.1-2001."
7002 msgstr ""
7003 "B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
7004 "B<strtoull>()  は C99 と POSIX.1-2001 に準拠している。"
7005
7006 #. type: Plain text
7007 #: build/C/man3/strtoul.3:196
7008 msgid ""
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."
7013 msgstr ""
7014 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
7015 "(B<strtoull>()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関"
7016 "数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
7017 "かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
7018
7019 #. type: Plain text
7020 #: build/C/man3/strtoul.3:200
7021 msgid ""
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.)"
7024 msgstr ""
7025 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
7026 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
7027
7028 #. type: Plain text
7029 #: build/C/man3/strtoul.3:206
7030 #, no-wrap
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"
7033
7034 #. type: Plain text
7035 #: build/C/man3/strtoul.3:215
7036 msgid ""
7037 "with completely analogous definition.  Depending on the wordsize of the "
7038 "current architecture, this may be equivalent to B<strtoull>()  or to "
7039 "B<strtoul>()."
7040 msgstr ""
7041 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
7042 "であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
7043
7044 #. type: Plain text
7045 #: build/C/man3/strtoul.3:220
7046 msgid ""
7047 "Negative values are considered valid input and are silently converted to the "
7048 "equivalent I<unsigned long int> value."
7049 msgstr ""
7050 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7051 "の値に変換される。"
7052
7053 #. type: Plain text
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)"
7057
7058 #. type: TH
7059 #: build/C/man3/system.3:31
7060 #, no-wrap
7061 msgid "SYSTEM"
7062 msgstr "SYSTEM"
7063
7064 #. type: Plain text
7065 #: build/C/man3/system.3:34
7066 msgid "system - execute a shell command"
7067 msgstr "system - シェルコマンドの実行"
7068
7069 #. type: Plain text
7070 #: build/C/man3/system.3:39
7071 #, no-wrap
7072 msgid "B<int system(const char *>I<command>B<);>\n"
7073 msgstr "B<int system(const char *>I<command>B<);>\n"
7074
7075 #. type: Plain text
7076 #: build/C/man3/system.3:50
7077 msgid ""
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)  "
7080 "as follows:"
7081 msgstr ""
7082 "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
7083 "ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
7084 "使って実行する。"
7085
7086 #. type: Plain text
7087 #: build/C/man3/system.3:52
7088 #, no-wrap
7089 msgid "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7090 msgstr "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7091
7092 #. type: Plain text
7093 #: build/C/man3/system.3:55
7094 msgid "B<system>()  returns after the command has been completed."
7095 msgstr "B<system>() が返るのはコマンドが完了した後である。"
7096
7097 #. type: Plain text
7098 #: build/C/man3/system.3:67
7099 msgid ""
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>)."
7104 msgstr ""
7105 "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
7106 "ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
7107 "ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
7108
7109 #. type: Plain text
7110 #: build/C/man3/system.3:73
7111 msgid ""
7112 "If I<command> is NULL, then B<system>()  returns a status indicating whether "
7113 "a shell is available on the system"
7114 msgstr ""
7115 "I<command> が NULL の場合、 B<system>()  はそのシステムでシェルが利用可能かを"
7116 "示すステータスを返す。"
7117
7118 #. type: Plain text
7119 #: build/C/man3/system.3:77
7120 msgid "The return value of B<system>()  is one of the following:"
7121 msgstr "B<system>() の返り値は以下のいずれかである。"
7122
7123 #. type: Plain text
7124 #: build/C/man3/system.3:82
7125 msgid ""
7126 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
7127 "no shell is available."
7128 msgstr ""
7129 "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
7130 "0。"
7131
7132 #. type: Plain text
7133 #: build/C/man3/system.3:86
7134 msgid ""
7135 "If a child process could not be created, or its status could not be "
7136 "retrieved, the return value is -1."
7137 msgstr ""
7138 "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
7139 "かった場合、 返り値は -1 である。"
7140
7141 #. type: Plain text
7142 #: build/C/man3/system.3:91
7143 msgid ""
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 "
7146 "status 127."
7147 msgstr ""
7148 "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
7149 "127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
7150
7151 #. type: Plain text
7152 #: build/C/man3/system.3:98
7153 msgid ""
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.)"
7157 msgstr ""
7158 "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
7159 "れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
7160 "シェルが実行した最後のコマンドの終了ステータスである)。"
7161
7162 #. type: Plain text
7163 #: build/C/man3/system.3:107
7164 msgid ""
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)."
7168 msgstr ""
7169 "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
7170 "いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
7171 "検査することができる。"
7172
7173 #. type: Plain text
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>()  は他の子プロセスのウエイトステータスには影響を与えない。"
7177
7178 #. type: Plain text
7179 #: build/C/man3/system.3:115
7180 msgid "The B<system>()  function is thread-safe."
7181 msgstr "関数 B<system>() はスレッドセーフである。"
7182
7183 #. type: Plain text
7184 #: build/C/man3/system.3:117
7185 msgid "C89, C99, POSIX.1-2001."
7186 msgstr "C89, C99, POSIX.1-2001."
7187
7188 #. type: Plain text
7189 #: build/C/man3/system.3:134
7190 msgid ""
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."
7197 msgstr ""
7198 "B<system>() により簡便性と利便性がもたらされる。この関数は B<fork>(2), "
7199 "B<execl>(3), B<waitpid>(2) の呼び出しにおける詳細をすべて行うとともに、 シグ"
7200 "ナルの適切な処理も行う。 また、シェルは I<command> に対して通常の置換 "
7201 "(substitutions) と I/O リダイレクトを行う。 B<system>() を使用することによる"
7202 "主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェ"
7203 "ルを実行するために、余計にシステムコールが必要となる。"
7204
7205 #. type: Plain text
7206 #: build/C/man3/system.3:146
7207 msgid ""
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."
7211 "hE<gt>>."
7212 msgstr ""
7213 "(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
7214 "B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2)  で説明されているマクロ"
7215 "群 (B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
7216 "能になる。"
7217
7218 #. type: Plain text
7219 #: build/C/man3/system.3:157
7220 msgid ""
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:"
7224 msgstr ""
7225 "既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7226 "てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
7227 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7228
7229 #. type: Plain text
7230 #: build/C/man3/system.3:162
7231 #, no-wrap
7232 msgid ""
7233 "    while (something) {\n"
7234 "        int ret = system(\"foo\");\n"
7235 msgstr ""
7236 "    while (something) {\n"
7237 "        int ret = system(\"foo\");\n"
7238
7239 #. type: Plain text
7240 #: build/C/man3/system.3:167
7241 #, no-wrap
7242 msgid ""
7243 "        if (WIFSIGNALED(ret) &&\n"
7244 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7245 "                break;\n"
7246 "    }\n"
7247 msgstr ""
7248 "        if (WIFSIGNALED(ret) &&\n"
7249 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7250 "                break;\n"
7251 "    }\n"
7252
7253 #. type: Plain text
7254 #: build/C/man3/system.3:187
7255 msgid ""
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>.)"
7264 msgstr ""
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 を用いてい"
7273 "る)"
7274
7275 #. type: Plain text
7276 #: build/C/man3/system.3:201
7277 msgid ""
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)."
7285 msgstr ""
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 "ファイル でない場合があるからである。"
7294
7295 #. type: Plain text
7296 #: build/C/man3/system.3:207
7297 msgid ""
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."
7301 msgstr ""
7302 "シェルコマンドがステータス 127 で終了することもある。 この場合、B<system>() "
7303 "の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
7304
7305 #. type: Plain text
7306 #: build/C/man3/system.3:214
7307 msgid ""
7308 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7309 "B<exec>(3), B<signal>(7)"
7310 msgstr ""
7311 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7312 "B<exec>(3), B<signal>(7)"
7313
7314 #. type: TH
7315 #: build/C/man7/vdso.7:13
7316 #, no-wrap
7317 msgid "VDSO"
7318 msgstr "VDSO"
7319
7320 #. type: Plain text
7321 #: build/C/man7/vdso.7:16
7322 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7323 msgstr ""
7324
7325 #. type: Plain text
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>>"
7329
7330 #. type: Plain text
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);>"
7334
7335 #. type: Plain text
7336 #: build/C/man7/vdso.7:29
7337 msgid ""
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 "
7344 "vDSO."
7345 msgstr ""
7346
7347 #. type: Plain text
7348 #: build/C/man7/vdso.7:37
7349 msgid ""
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."
7355 msgstr ""
7356
7357 #. type: Plain text
7358 #: build/C/man7/vdso.7:42
7359 msgid ""
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 "
7363 "doing it wrong."
7364 msgstr ""
7365
7366 #. type: SS
7367 #: build/C/man7/vdso.7:42
7368 #, no-wrap
7369 msgid "Example background"
7370 msgstr ""
7371
7372 #. type: Plain text
7373 #: build/C/man7/vdso.7:56
7374 msgid ""
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."
7383 msgstr ""
7384
7385 #. type: Plain text
7386 #: build/C/man7/vdso.7:63
7387 msgid ""
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 "
7392 "caller is on."
7393 msgstr ""
7394
7395 #. type: Plain text
7396 #: build/C/man7/vdso.7:79
7397 msgid ""
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."
7407 msgstr ""
7408
7409 #. type: SS
7410 #: build/C/man7/vdso.7:79
7411 #, no-wrap
7412 msgid "Finding the vDSO"
7413 msgstr ""
7414
7415 #. type: Plain text
7416 #: build/C/man7/vdso.7:86
7417 msgid ""
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."
7421 msgstr ""
7422
7423 #. type: Plain text
7424 #: build/C/man7/vdso.7:95
7425 msgid ""
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."
7430 msgstr ""
7431
7432 #. type: Plain text
7433 #: build/C/man7/vdso.7:104
7434 msgid ""
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."
7439 msgstr ""
7440
7441 #. type: SS
7442 #: build/C/man7/vdso.7:104
7443 #, no-wrap
7444 msgid "File format"
7445 msgstr ""
7446
7447 #. type: Plain text
7448 #: build/C/man7/vdso.7:111
7449 msgid ""
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."
7455 msgstr ""
7456
7457 #. type: Plain text
7458 #: build/C/man7/vdso.7:120
7459 msgid ""
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."
7465 msgstr ""
7466
7467 #. type: Plain text
7468 #: build/C/man7/vdso.7:125
7469 msgid ""
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\"."
7474 msgstr ""
7475
7476 #. type: Plain text
7477 #: build/C/man7/vdso.7:129
7478 msgid ""
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."
7481 msgstr ""
7482
7483 #. type: SS
7484 #: build/C/man7/vdso.7:130
7485 #, no-wrap
7486 msgid "Source"
7487 msgstr ""
7488
7489 #. type: Plain text
7490 #: build/C/man7/vdso.7:134
7491 msgid ""
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 "
7494 "directory:"
7495 msgstr ""
7496
7497 #. type: Plain text
7498 #: build/C/man7/vdso.7:136
7499 #, no-wrap
7500 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7501 msgstr ""
7502
7503 #. type: SS
7504 #: build/C/man7/vdso.7:137
7505 #, no-wrap
7506 msgid "vDSO names"
7507 msgstr ""
7508
7509 #. type: Plain text
7510 #: build/C/man7/vdso.7:143
7511 msgid ""
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."
7515 msgstr ""
7516
7517 #. type: tbl table
7518 #: build/C/man7/vdso.7:148
7519 #, no-wrap
7520 msgid "user ABI\tvDSO name\n"
7521 msgstr ""
7522
7523 #. type: tbl table
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
7529 #, no-wrap
7530 msgid "_\n"
7531 msgstr "_\n"
7532
7533 #. type: tbl table
7534 #: build/C/man7/vdso.7:150
7535 #, no-wrap
7536 msgid "aarch64\tlinux-vdso.so.1\n"
7537 msgstr "aarch64\tlinux-vdso.so.1\n"
7538
7539 #. type: tbl table
7540 #: build/C/man7/vdso.7:151
7541 #, no-wrap
7542 msgid "ia64\tlinux-gate.so.1\n"
7543 msgstr "ia64\tlinux-gate.so.1\n"
7544
7545 #. type: tbl table
7546 #: build/C/man7/vdso.7:152
7547 #, no-wrap
7548 msgid "ppc/32\tlinux-vdso32.so.1\n"
7549 msgstr "ppc/32\tlinux-vdso32.so.1\n"
7550
7551 #. type: tbl table
7552 #: build/C/man7/vdso.7:153
7553 #, no-wrap
7554 msgid "ppc/64\tlinux-vdso64.so.1\n"
7555 msgstr "ppc/64\tlinux-vdso64.so.1\n"
7556
7557 #. type: tbl table
7558 #: build/C/man7/vdso.7:154
7559 #, no-wrap
7560 msgid "s390\tlinux-vdso32.so.1\n"
7561 msgstr "s390\tlinux-vdso32.so.1\n"
7562
7563 #. type: tbl table
7564 #: build/C/man7/vdso.7:155
7565 #, no-wrap
7566 msgid "s390x\tlinux-vdso64.so.1\n"
7567 msgstr "s390x\tlinux-vdso64.so.1\n"
7568
7569 #. type: tbl table
7570 #: build/C/man7/vdso.7:156
7571 #, no-wrap
7572 msgid "sh\tlinux-gate.so.1\n"
7573 msgstr "sh\tlinux-gate.so.1\n"
7574
7575 #. type: tbl table
7576 #: build/C/man7/vdso.7:157
7577 #, no-wrap
7578 msgid "i386\tlinux-gate.so.1\n"
7579 msgstr "i386\tlinux-gate.so.1\n"
7580
7581 #. type: tbl table
7582 #: build/C/man7/vdso.7:158
7583 #, no-wrap
7584 msgid "x86_64\tlinux-vdso.so.1\n"
7585 msgstr "x86_64\tlinux-vdso.so.1\n"
7586
7587 #. type: tbl table
7588 #: build/C/man7/vdso.7:159
7589 #, no-wrap
7590 msgid "x86/x32\tlinux-vdso.so.1\n"
7591 msgstr "x86/x32\tlinux-vdso.so.1\n"
7592
7593 #. type: SH
7594 #: build/C/man7/vdso.7:165
7595 #, no-wrap
7596 msgid "ARCHITECTURE-SPECIFIC NOTES"
7597 msgstr ""
7598
7599 #. type: Plain text
7600 #: build/C/man7/vdso.7:168
7601 msgid "The subsections below provide architecture-specific notes on the vDSO."
7602 msgstr ""
7603
7604 #. type: Plain text
7605 #: build/C/man7/vdso.7:177
7606 msgid ""
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."
7613 msgstr ""
7614
7615 #. type: SS
7616 #: build/C/man7/vdso.7:177
7617 #, no-wrap
7618 msgid "ARM functions"
7619 msgstr ""
7620
7621 #.  See linux/arch/arm/kernel/entry-armv.S
7622 #.  See linux/Documentation/arm/kernel_user_helpers.txt
7623 #. type: Plain text
7624 #: build/C/man7/vdso.7:184
7625 msgid ""
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."
7629 msgstr ""
7630
7631 #. type: Plain text
7632 #: build/C/man7/vdso.7:189
7633 msgid ""
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>."
7637 msgstr ""
7638
7639 #. type: SS
7640 #: build/C/man7/vdso.7:189
7641 #, no-wrap
7642 msgid "aarch64 functions"
7643 msgstr ""
7644
7645 #.  See linux/arch/x86/vdso/vdso32.lds.S
7646 #. type: Plain text
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."
7651 msgstr ""
7652
7653 #. type: tbl table
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
7658 #, no-wrap
7659 msgid "symbol\tversion\n"
7660 msgstr ""
7661
7662 #. type: tbl table
7663 #: build/C/man7/vdso.7:199
7664 #, no-wrap
7665 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7666 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7667
7668 #. type: tbl table
7669 #: build/C/man7/vdso.7:200
7670 #, no-wrap
7671 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7672 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
7673
7674 #. type: tbl table
7675 #: build/C/man7/vdso.7:201
7676 #, no-wrap
7677 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7678 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
7679
7680 #. type: tbl table
7681 #: build/C/man7/vdso.7:202
7682 #, no-wrap
7683 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7684 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
7685
7686 #. type: SS
7687 #: build/C/man7/vdso.7:208
7688 #, no-wrap
7689 msgid "bfin (Blackfin) functions"
7690 msgstr ""
7691
7692 #.  See linux/arch/blackfin/kernel/fixed_code.S
7693 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7694 #. type: Plain text
7695 #: build/C/man7/vdso.7:220
7696 msgid ""
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 "
7703 "bFLT/FLAT)."
7704 msgstr ""
7705
7706 #. type: Plain text
7707 #: build/C/man7/vdso.7:223
7708 msgid ""
7709 "For information on this code page, it's best to refer to the public "
7710 "documentation:"
7711 msgstr ""
7712
7713 #. type: Plain text
7714 #: build/C/man7/vdso.7:225
7715 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7716 msgstr ""
7717
7718 #. type: SS
7719 #: build/C/man7/vdso.7:225
7720 #, no-wrap
7721 msgid "ia64 (Itanium) functions"
7722 msgstr ""
7723
7724 #. type: tbl table
7725 #: build/C/man7/vdso.7:236
7726 #, no-wrap
7727 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7728 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
7729
7730 #. type: tbl table
7731 #: build/C/man7/vdso.7:237
7732 #, no-wrap
7733 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7734 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
7735
7736 #. type: tbl table
7737 #: build/C/man7/vdso.7:238
7738 #, no-wrap
7739 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7740 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
7741
7742 #. type: Plain text
7743 #: build/C/man7/vdso.7:257
7744 msgid ""
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."
7751 msgstr ""
7752
7753 #. type: tbl table
7754 #: build/C/man7/vdso.7:262
7755 #, no-wrap
7756 msgid "function\n"
7757 msgstr ""
7758
7759 #. type: tbl table
7760 #: build/C/man7/vdso.7:264
7761 #, no-wrap
7762 msgid "clock_gettime\n"
7763 msgstr ""
7764
7765 #. type: tbl table
7766 #: build/C/man7/vdso.7:265
7767 #, no-wrap
7768 msgid "getcpu\n"
7769 msgstr ""
7770
7771 #. type: tbl table
7772 #: build/C/man7/vdso.7:266
7773 #, no-wrap
7774 msgid "getpid\n"
7775 msgstr ""
7776
7777 #. type: tbl table
7778 #: build/C/man7/vdso.7:267
7779 #, no-wrap
7780 msgid "getppid\n"
7781 msgstr ""
7782
7783 #. type: tbl table
7784 #: build/C/man7/vdso.7:268
7785 #, no-wrap
7786 msgid "gettimeofday\n"
7787 msgstr ""
7788
7789 #. type: tbl table
7790 #: build/C/man7/vdso.7:269
7791 #, no-wrap
7792 msgid "set_tid_address\n"
7793 msgstr ""
7794
7795 #. type: SS
7796 #: build/C/man7/vdso.7:275
7797 #, no-wrap
7798 msgid "parisc (hppa) functions"
7799 msgstr ""
7800
7801 #.  See linux/arch/parisc/kernel/syscall.S
7802 #.  See linux/Documentation/parisc/registers
7803 #. type: Plain text
7804 #: build/C/man7/vdso.7:286
7805 msgid ""
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."
7812 msgstr ""
7813
7814 #. type: Plain text
7815 #: build/C/man7/vdso.7:291
7816 msgid ""
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:"
7820 msgstr ""
7821
7822 #. type: Plain text
7823 #: build/C/man7/vdso.7:293
7824 #, no-wrap
7825 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7826 msgstr ""
7827
7828 #. type: tbl table
7829 #: build/C/man7/vdso.7:298
7830 #, no-wrap
7831 msgid "offset\tfunction\n"
7832 msgstr ""
7833
7834 #. type: tbl table
7835 #: build/C/man7/vdso.7:300
7836 #, no-wrap
7837 msgid "00b0\tlws_entry\n"
7838 msgstr ""
7839
7840 #. type: tbl table
7841 #: build/C/man7/vdso.7:301
7842 #, no-wrap
7843 msgid "00e0\tset_thread_pointer\n"
7844 msgstr ""
7845
7846 #. type: tbl table
7847 #: build/C/man7/vdso.7:302
7848 #, no-wrap
7849 msgid "0100\tlinux_gateway_entry (syscall)\n"
7850 msgstr ""
7851
7852 #. type: tbl table
7853 #: build/C/man7/vdso.7:303
7854 #, no-wrap
7855 msgid "0268\tsyscall_nosys\n"
7856 msgstr ""
7857
7858 #. type: tbl table
7859 #: build/C/man7/vdso.7:304
7860 #, no-wrap
7861 msgid "0274\ttracesys\n"
7862 msgstr ""
7863
7864 #. type: tbl table
7865 #: build/C/man7/vdso.7:305
7866 #, no-wrap
7867 msgid "0324\ttracesys_next\n"
7868 msgstr ""
7869
7870 #. type: tbl table
7871 #: build/C/man7/vdso.7:306
7872 #, no-wrap
7873 msgid "0368\ttracesys_exit\n"
7874 msgstr ""
7875
7876 #. type: tbl table
7877 #: build/C/man7/vdso.7:307
7878 #, no-wrap
7879 msgid "03a0\ttracesys_sigexit\n"
7880 msgstr ""
7881
7882 #. type: tbl table
7883 #: build/C/man7/vdso.7:308
7884 #, no-wrap
7885 msgid "03b8\tlws_start\n"
7886 msgstr ""
7887
7888 #. type: tbl table
7889 #: build/C/man7/vdso.7:309
7890 #, no-wrap
7891 msgid "03dc\tlws_exit_nosys\n"
7892 msgstr ""
7893
7894 #. type: tbl table
7895 #: build/C/man7/vdso.7:310
7896 #, no-wrap
7897 msgid "03e0\tlws_exit\n"
7898 msgstr ""
7899
7900 #. type: tbl table
7901 #: build/C/man7/vdso.7:311
7902 #, no-wrap
7903 msgid "03e4\tlws_compare_and_swap64\n"
7904 msgstr ""
7905
7906 #. type: tbl table
7907 #: build/C/man7/vdso.7:312
7908 #, no-wrap
7909 msgid "03e8\tlws_compare_and_swap\n"
7910 msgstr ""
7911
7912 #. type: tbl table
7913 #: build/C/man7/vdso.7:313
7914 #, no-wrap
7915 msgid "0404\tcas_wouldblock\n"
7916 msgstr ""
7917
7918 #. type: tbl table
7919 #: build/C/man7/vdso.7:314
7920 #, no-wrap
7921 msgid "0410\tcas_action\n"
7922 msgstr ""
7923
7924 #. type: SS
7925 #: build/C/man7/vdso.7:320
7926 #, no-wrap
7927 msgid "ppc/32 functions"
7928 msgstr ""
7929
7930 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
7931 #. type: Plain text
7932 #: build/C/man7/vdso.7:327
7933 msgid ""
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-"
7936 "bit) kernel."
7937 msgstr ""
7938
7939 #. type: tbl table
7940 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
7941 #, no-wrap
7942 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
7943 msgstr ""
7944
7945 #. type: tbl table
7946 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
7947 #, no-wrap
7948 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
7949 msgstr ""
7950
7951 #. type: tbl table
7952 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
7953 #, no-wrap
7954 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
7955 msgstr ""
7956
7957 #. type: tbl table
7958 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
7959 #, no-wrap
7960 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
7961 msgstr ""
7962
7963 #. type: tbl table
7964 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
7965 #, no-wrap
7966 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
7967 msgstr ""
7968
7969 #. type: tbl table
7970 #: build/C/man7/vdso.7:339
7971 #, no-wrap
7972 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
7973 msgstr ""
7974
7975 #. type: tbl table
7976 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
7977 #, no-wrap
7978 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
7979 msgstr ""
7980
7981 #. type: tbl table
7982 #: build/C/man7/vdso.7:341
7983 #, no-wrap
7984 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
7985 msgstr ""
7986
7987 #. type: tbl table
7988 #: build/C/man7/vdso.7:342
7989 #, no-wrap
7990 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
7991 msgstr ""
7992
7993 #. type: tbl table
7994 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
7995 #, no-wrap
7996 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
7997 msgstr ""
7998
7999 #. type: tbl table
8000 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
8001 #, no-wrap
8002 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8003 msgstr ""
8004
8005 #. type: SS
8006 #: build/C/man7/vdso.7:350
8007 #, no-wrap
8008 msgid "ppc/64 functions"
8009 msgstr ""
8010
8011 #. type: tbl table
8012 #: build/C/man7/vdso.7:365
8013 #, no-wrap
8014 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
8015 msgstr ""
8016
8017 #. type: tbl table
8018 #: build/C/man7/vdso.7:367
8019 #, no-wrap
8020 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8021 msgstr ""
8022
8023 #. type: SS
8024 #: build/C/man7/vdso.7:375
8025 #, no-wrap
8026 msgid "s390 functions"
8027 msgstr ""
8028
8029 #. type: tbl table
8030 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
8031 #, no-wrap
8032 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
8033 msgstr ""
8034
8035 #. type: tbl table
8036 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
8037 #, no-wrap
8038 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
8039 msgstr ""
8040
8041 #. type: tbl table
8042 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
8043 #, no-wrap
8044 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
8045 msgstr ""
8046
8047 #. type: SS
8048 #: build/C/man7/vdso.7:393
8049 #, no-wrap
8050 msgid "s390x functions"
8051 msgstr ""
8052
8053 #. type: SS
8054 #: build/C/man7/vdso.7:411
8055 #, no-wrap
8056 msgid "sh (SuperH) functions"
8057 msgstr ""
8058
8059 #. type: tbl table
8060 #: build/C/man7/vdso.7:421
8061 #, no-wrap
8062 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
8063 msgstr ""
8064
8065 #. type: tbl table
8066 #: build/C/man7/vdso.7:422
8067 #, no-wrap
8068 msgid "__kernel_sigreturn\tLINUX_2.6\n"
8069 msgstr ""
8070
8071 #. type: tbl table
8072 #: build/C/man7/vdso.7:423
8073 #, no-wrap
8074 msgid "__kernel_vsyscall\tLINUX_2.6\n"
8075 msgstr ""
8076
8077 #. type: SS
8078 #: build/C/man7/vdso.7:429
8079 #, no-wrap
8080 msgid "i386 functions"
8081 msgstr ""
8082
8083 #. type: tbl table
8084 #: build/C/man7/vdso.7:439
8085 #, no-wrap
8086 msgid "__kernel_sigreturn\tLINUX_2.5\n"
8087 msgstr ""
8088
8089 #. type: tbl table
8090 #: build/C/man7/vdso.7:440
8091 #, no-wrap
8092 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
8093 msgstr ""
8094
8095 #. type: tbl table
8096 #: build/C/man7/vdso.7:441
8097 #, no-wrap
8098 msgid "__kernel_vsyscall\tLINUX_2.5\n"
8099 msgstr ""
8100
8101 #.  Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
8102 #.  in 37c975545ec63320789962bf307f000f08fabd48.
8103 #. type: tbl table
8104 #: build/C/man7/vdso.7:444
8105 #, no-wrap
8106 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
8107 msgstr ""
8108
8109 #. type: tbl table
8110 #: build/C/man7/vdso.7:445
8111 #, no-wrap
8112 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
8113 msgstr ""
8114
8115 #. type: tbl table
8116 #: build/C/man7/vdso.7:446
8117 #, no-wrap
8118 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
8119 msgstr ""
8120
8121 #. type: SS
8122 #: build/C/man7/vdso.7:452
8123 #, no-wrap
8124 msgid "x86_64 functions"
8125 msgstr ""
8126
8127 #.  See linux/arch/x86/vdso/vdso.lds.S
8128 #. type: Plain text
8129 #: build/C/man7/vdso.7:457
8130 msgid ""
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."
8134 msgstr ""
8135
8136 #. type: tbl table
8137 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
8138 #, no-wrap
8139 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
8140 msgstr ""
8141
8142 #. type: tbl table
8143 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
8144 #, no-wrap
8145 msgid "__vdso_getcpu\tLINUX_2.6\n"
8146 msgstr ""
8147
8148 #. type: tbl table
8149 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
8150 #, no-wrap
8151 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8152 msgstr ""
8153
8154 #. type: tbl table
8155 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
8156 #, no-wrap
8157 msgid "__vdso_time\tLINUX_2.6\n"
8158 msgstr ""
8159
8160 #. type: SS
8161 #: build/C/man7/vdso.7:473
8162 #, no-wrap
8163 msgid "x86/x32 functions"
8164 msgstr ""
8165
8166 #. type: SS
8167 #: build/C/man7/vdso.7:492
8168 #, no-wrap
8169 msgid "History"
8170 msgstr ""
8171
8172 #. type: Plain text
8173 #: build/C/man7/vdso.7:499
8174 msgid ""
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 "
8179 "current format."
8180 msgstr ""
8181
8182 #. type: Plain text
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)"
8186
8187 #. type: Plain text
8188 #: build/C/man7/vdso.7:505
8189 msgid "The documents, examples, and source code in the Linux source code tree:"
8190 msgstr ""
8191
8192 #. type: Plain text
8193 #: build/C/man7/vdso.7:511
8194 #, no-wrap
8195 msgid ""
8196 "Documentation/ABI/stable/vdso\n"
8197 "Documentation/ia64/fsys.txt\n"
8198 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8199 msgstr ""
8200
8201 #. type: Plain text
8202 #: build/C/man7/vdso.7:513
8203 #, no-wrap
8204 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8205 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8206
8207 #. type: TH
8208 #: build/C/man3/wcstombs.3:16
8209 #, no-wrap
8210 msgid "WCSTOMBS"
8211 msgstr "WCSTOMBS"
8212
8213 #. type: Plain text
8214 #: build/C/man3/wcstombs.3:19
8215 msgid "wcstombs - convert a wide-character string to a multibyte string"
8216 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8217
8218 #. type: Plain text
8219 #: build/C/man3/wcstombs.3:24
8220 #, no-wrap
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"
8223
8224 #. type: Plain text
8225 #: build/C/man3/wcstombs.3:42
8226 msgid ""
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:"
8231 msgstr ""
8232 "I<dest> が NULL でない場合、 B<wcstombs>()  関数は ワイド文字列 I<src> を "
8233 "I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
8234 "トが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停"
8235 "止する。"
8236
8237 #. type: Plain text
8238 #: build/C/man3/wcstombs.3:48
8239 msgid ""
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."
8243 msgstr ""
8244 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8245 "場合。この場合には I<(size_t)\\ -1> が返される。"
8246
8247 #. type: Plain text
8248 #: build/C/man3/wcstombs.3:53
8249 msgid ""
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."
8252 msgstr ""
8253 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8254 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8255
8256 #. type: Plain text
8257 #: build/C/man3/wcstombs.3:60
8258 msgid ""
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."
8263 msgstr ""
8264 "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
8265 "れた場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト"
8266 "数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
8267
8268 #. type: Plain text
8269 #: build/C/man3/wcstombs.3:66
8270 msgid ""
8271 "The programmer must ensure that there is room for at least I<n> bytes at "
8272 "I<dest>."
8273 msgstr ""
8274 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8275 "ばならない。"
8276
8277 #. type: Plain text
8278 #: build/C/man3/wcstombs.3:74
8279 msgid ""
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 "
8282 "limit exists."
8283 msgstr ""
8284 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8285 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
8286
8287 #. type: Plain text
8288 #: build/C/man3/wcstombs.3:79
8289 msgid ""
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>."
8292 msgstr ""
8293 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8294 "src,0)+1> 以上であることを保証しなければならない。"
8295
8296 #. type: Plain text
8297 #: build/C/man3/wcstombs.3:89
8298 msgid ""
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."
8303 msgstr ""
8304 "B<wcstombs>()  関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字"
8305 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8306 "返す。"
8307
8308 #. type: Plain text
8309 #: build/C/man3/wcstombs.3:98
8310 msgid ""
8311 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
8312 "current locale."
8313 msgstr ""
8314 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
8315
8316 #. type: Plain text
8317 #: build/C/man3/wcstombs.3:103
8318 msgid ""
8319 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
8320 "functionality."
8321 msgstr ""
8322 "B<wcsrtombs>()  関数は同じ機能のためのスレッド・セーフな インターフェースを提"
8323 "供する。"
8324
8325 #. type: Plain text
8326 #: build/C/man3/wcstombs.3:108
8327 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8328 msgstr ""
8329 "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8330
8331 #. type: TH
8332 #: build/C/man3/wctomb.3:16
8333 #, no-wrap
8334 msgid "WCTOMB"
8335 msgstr "WCTOMB"
8336
8337 #. type: Plain text
8338 #: build/C/man3/wctomb.3:19
8339 msgid "wctomb - convert a wide character to a multibyte sequence"
8340 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8341
8342 #. type: Plain text
8343 #: build/C/man3/wctomb.3:24
8344 #, no-wrap
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"
8347
8348 #. type: Plain text
8349 #: build/C/man3/wctomb.3:45
8350 msgid ""
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>."
8357 msgstr ""
8358 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
8359 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8360 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8361 "なわち I<s> に書き込まれた バイト数を返す。"
8362
8363 #. type: Plain text
8364 #: build/C/man3/wctomb.3:51
8365 msgid ""
8366 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8367 "bytes at I<s>."
8368 msgstr ""
8369 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8370 "なければならない。"
8371
8372 #.  The Dinkumware doc and the Single UNIX specification say this, but
8373 #.  glibc doesn't implement this.
8374 #. type: Plain text
8375 #: build/C/man3/wctomb.3:63
8376 msgid ""
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."
8380 msgstr ""
8381 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
8382 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8383 "依存しない場合にはゼロを返す。"
8384
8385 #. type: Plain text
8386 #: build/C/man3/wctomb.3:77
8387 msgid ""
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 "
8391 "returned."
8392 msgstr ""
8393 "I<s> が NULL でない場合 B<wctomb>()  関数はバイト配列 I<s> に 書き込まれたバ"
8394 "イト数を返す。I<wc> が(現在のロケールにおいて)  マルチバイト列で表現できない"
8395 "場合には -1 を返す。"
8396
8397 #. type: Plain text
8398 #: build/C/man3/wctomb.3:84
8399 msgid ""
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."
8402 msgstr ""
8403 "I<s> が NULL の場合 B<wctomb>()  関数は文字符号がシフト状態に 依存している場"
8404 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8405
8406 #. type: Plain text
8407 #: build/C/man3/wctomb.3:89
8408 msgid "The B<wctomb>()  function is not thread-safe."
8409 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8410
8411 #. type: Plain text
8412 #: build/C/man3/wctomb.3:98
8413 msgid ""
8414 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
8415 "current locale."
8416 msgstr ""
8417 "B<wctomb>()  関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
8418 "る。"
8419
8420 #. type: Plain text
8421 #: build/C/man3/wctomb.3:103
8422 msgid ""
8423 "The function B<wcrtomb>(3)  provides a better interface to the same "
8424 "functionality."
8425 msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインタフェースを提供する。"
8426
8427 #. type: Plain text
8428 #: build/C/man3/wctomb.3:109
8429 msgid ""
8430 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8431 "B<wcstombs>(3)"
8432 msgstr ""
8433 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8434 "B<wcstombs>(3)"
8435
8436 #~ msgid "COLOPHON"
8437 #~ msgstr "この文書について"
8438
8439 #~ msgid ""
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/"
8443 #~ "man-pages/."
8444 #~ msgstr ""
8445 #~ "この man ページは Linux I<man-pages> プロジェクトのリリース 3.77 の一部\n"
8446 #~ "である。プロジェクトの説明とバグ報告に関する情報は\n"
8447 #~ "http://www.kernel.org/doc/man-pages/ に書かれている。"
8448
8449 #~ msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
8450 #~ msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
8451
8452 #~ msgid ""
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 "
8457 #~ "libc5."
8458 #~ msgstr ""
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 には存在し"
8463 #~ "ない。"
8464
8465 #~ msgid "2010-10-04"
8466 #~ msgstr "2010-10-04"
8467
8468 #~ msgid "Not in libc4, libc5.  In glibc since glibc 2.0."
8469 #~ msgstr ""
8470 #~ "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
8471
8472 #~ msgid ""
8473 #~ "These functions are declared obsolete by SVID 3, which states that "
8474 #~ "B<rand>(3)  should be used instead."
8475 #~ msgstr ""
8476 #~ "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では "
8477 #~ "B<rand>(3)  が代わりに使用されるべきだと記述されている。"
8478
8479 #~ msgid "2013-07-04"
8480 #~ msgstr "2013-07-04"
8481
8482 #~ msgid "No errors are diagnosed."
8483 #~ msgstr "エラーは検出されない。"
8484
8485 #~ msgid "2010-09-26"
8486 #~ msgstr "2010-09-26"
8487
8488 #~ msgid "2013-12-28"
8489 #~ msgstr "2013-12-28"
8490
8491 #~ msgid ""
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>>."
8495 #~ msgstr ""
8496 #~ "B<mktemp>()  のプロトタイプ宣言は、libc4, libc5, glibc1 では "
8497 #~ "I<E<lt>unistd.hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し "
8498 #~ "I<E<lt>stdlib.hE<gt>> に含まれている。"
8499
8500 #~ msgid "2014-02-27"
8501 #~ msgstr "2014-02-27"
8502
8503 #~ msgid ""
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>>."
8507 #~ msgstr ""
8508 #~ "libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
8509 #~ "る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> "
8510 #~ "に含まれている。"
8511
8512 #~ msgid "2013-04-19"
8513 #~ msgstr "2013-04-19"
8514
8515 #~ msgid ""
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."
8522 #~ msgstr ""
8523 #~ "libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
8524 #~ "\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去され"
8525 #~ "る。 もし B<putenv>()  が新しい I<environ> 配列を確保しなければならない"
8526 #~ "時、 以前の I<environ> 配列も B<putenv>()  によって確保されたものならば、 "
8527 #~ "それは解放される。 環境変数そのものに割り当てられた古い記憶領域が解放され"
8528 #~ "ることはない。"
8529
8530 #~ msgid "2014-03-11"
8531 #~ msgstr "2014-03-11"
8532
8533 #~ msgid "2014-05-10"
8534 #~ msgstr "2014-05-10"
8535
8536 #~ msgid "2014-02-01"
8537 #~ msgstr "2014-02-01"
8538
8539 #~ msgid ""
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."
8544 #~ msgstr ""
8545 #~ "B<system>()  は I<command> で指定したコマンドを B</bin/sh -c> I<command> "
8546 #~ "の形で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド"
8547 #~ "実行中は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視され"
8548 #~ "る。"
8549
8550 #~ msgid ""
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 "
8556 #~ "I<exit(127)>."
8557 #~ msgstr ""
8558 #~ "エラーが発生した場合 (B<fork>(2)  に失敗した場合など)、-1 を返す。 そうで"
8559 #~ "なければ、コマンドのステータスを返す。 後者の場合、ステータスは "
8560 #~ "B<wait>(2)  で定義されているフォーマットで返ってくる。 従って、コマンドの"
8561 #~ "終了コードは I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行"
8562 #~ "出来なかった場合、 終了ステータスはコマンドが I<exit(127)> を実行した場合"
8563 #~ "と同じになる。"
8564
8565 #~ msgid ""
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."
8568 #~ msgstr ""
8569 #~ "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) "
8570 #~ "を返すことも考えられる。 そのため、プログラムは (リターンコードを見るだけ"
8571 #~ "では)  B<execve>(2)  の呼び出しが失敗したことを確実に知ることはできない。"
8572
8573 #~ msgid ""
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>)."
8577 #~ msgstr ""
8578 #~ "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
8579 #~ "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
8580
8581 #~ msgid ""
8582 #~ "This function is not multithread safe.  The function B<wcrtomb>(3)  "
8583 #~ "provides a better interface to the same functionality."
8584 #~ msgstr ""
8585 #~ "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3)  関数は 同じ機能"
8586 #~ "のより良いインターフェースを提供する。"
8587
8588 #~ msgid ""
8589 #~ "The B<putenv>()  function returns zero on success, or nonzero if an error "
8590 #~ "occurs."
8591 #~ msgstr ""
8592 #~ "B<putenv>()  関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返"
8593 #~ "す。"
8594
8595 #~ msgid ""
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."
8600 #~ msgstr ""
8601 #~ "B<random>()  関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>()  関数は"
8602 #~ "値を返さない。 B<initstate>()  関数は直前の状態配列へのポインタを返す。 "
8603 #~ "B<setstate>()  関数は直前の状態配列へのポインタを返し、 エラーの場合は "
8604 #~ "NULL を返す。"
8605
8606 #~ msgid "All of these functions return 0 on success, or -1 on error."
8607 #~ msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
8608
8609 #~ msgid ""
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.)"
8613 #~ msgstr ""
8614 #~ "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 "
8615 #~ "(例えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれ"
8616 #~ "ない。)"
8617
8618 #~ msgid ""
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."
8633 #~ msgstr ""
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 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"