OSDN Git Service

Update minor changes in LDP 3.68
[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: 2014-06-08 01:30+0900\n"
10 "PO-Revision-Date: 2014-06-08 02:35+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:64
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:91 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:128
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:105
200 #: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
201 #: build/C/man3/clearenv.3:60 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:192 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:86 build/C/man3/mkstemp.3:195
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:172
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:110
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:125
230 #: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
231 #: build/C/man3/clearenv.3:97 build/C/man3/drand48.3:266
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:218 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:91 build/C/man3/mkstemp.3:233
239 #: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:88
240 #: build/C/man3/putenv.3:119 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:191 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:202 build/C/man7/vdso.7:494
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:44
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: SH
261 #: build/C/man3/MB_CUR_MAX.3:44 build/C/man3/MB_LEN_MAX.3:46
262 #: build/C/man2/_exit.2:136 build/C/man3/a64l.3:97 build/C/man3/atexit.3:165
263 #: build/C/man3/atof.3:73 build/C/man3/atoi.3:130
264 #: build/C/man3/canonicalize_file_name.3:78 build/C/man3/cfree.3:119
265 #: build/C/man3/clearenv.3:103 build/C/man3/drand48.3:269
266 #: build/C/man3/drand48_r.3:118 build/C/man3/ecvt.3:141
267 #: build/C/man3/ecvt_r.3:99 build/C/man3/exit.3:190 build/C/man3/gcvt.3:90
268 #: build/C/man3/getauxval.3:222 build/C/man3/getenv.3:137
269 #: build/C/man3/getloadavg.3:77 build/C/man3/getsubopt.3:234
270 #: build/C/man3/malloc.3:285 build/C/man3/mblen.3:108
271 #: build/C/man3/mbstowcs.3:222 build/C/man3/mbtowc.3:135
272 #: build/C/man3/mkdtemp.3:98 build/C/man3/mkstemp.3:239
273 #: build/C/man3/mktemp.3:123 build/C/man3/on_exit.3:92
274 #: build/C/man3/putenv.3:125 build/C/man3/qecvt.3:112 build/C/man3/rand.3:220
275 #: build/C/man3/random.3:202 build/C/man3/random_r.3:145
276 #: build/C/man3/rpmatch.3:150 build/C/man3/setenv.3:158
277 #: build/C/man3/strtod.3:197 build/C/man3/strtoimax.3:77
278 #: build/C/man3/strtol.3:303 build/C/man3/strtoul.3:231
279 #: build/C/man3/system.3:210 build/C/man7/vdso.7:510
280 #: build/C/man3/wcstombs.3:109 build/C/man3/wctomb.3:110
281 #, no-wrap
282 msgid "COLOPHON"
283 msgstr "この文書について"
284
285 #. type: Plain text
286 #: build/C/man3/MB_CUR_MAX.3:52 build/C/man3/MB_LEN_MAX.3:54
287 #: build/C/man2/_exit.2:144 build/C/man3/a64l.3:105 build/C/man3/atexit.3:173
288 #: build/C/man3/atof.3:81 build/C/man3/atoi.3:138
289 #: build/C/man3/canonicalize_file_name.3:86 build/C/man3/cfree.3:127
290 #: build/C/man3/clearenv.3:111 build/C/man3/drand48.3:277
291 #: build/C/man3/drand48_r.3:126 build/C/man3/ecvt.3:149
292 #: build/C/man3/ecvt_r.3:107 build/C/man3/exit.3:198 build/C/man3/gcvt.3:98
293 #: build/C/man3/getauxval.3:230 build/C/man3/getenv.3:145
294 #: build/C/man3/getloadavg.3:85 build/C/man3/getsubopt.3:242
295 #: build/C/man3/malloc.3:293 build/C/man3/mblen.3:116
296 #: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
297 #: build/C/man3/mkdtemp.3:106 build/C/man3/mkstemp.3:247
298 #: build/C/man3/mktemp.3:131 build/C/man3/on_exit.3:100
299 #: build/C/man3/putenv.3:133 build/C/man3/qecvt.3:120 build/C/man3/rand.3:228
300 #: build/C/man3/random.3:210 build/C/man3/random_r.3:153
301 #: build/C/man3/rpmatch.3:158 build/C/man3/setenv.3:166
302 #: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:85
303 #: build/C/man3/strtol.3:311 build/C/man3/strtoul.3:239
304 #: build/C/man3/system.3:218 build/C/man7/vdso.7:518
305 #: build/C/man3/wcstombs.3:117 build/C/man3/wctomb.3:118
306 msgid ""
307 "This page is part of release 3.68 of the Linux I<man-pages> project.  A "
308 "description of the project, information about reporting bugs, and the latest "
309 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
310 "pages/."
311 msgstr ""
312 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.68 の一部\n"
313 "である。プロジェクトの説明とバグ報告に関する情報は\n"
314 "http://www.kernel.org/doc/man-pages/ に書かれている。"
315
316 #. type: TH
317 #: build/C/man3/MB_LEN_MAX.3:17
318 #, no-wrap
319 msgid "MB_LEN_MAX"
320 msgstr "MB_LEN_MAX"
321
322 #. type: Plain text
323 #: build/C/man3/MB_LEN_MAX.3:20
324 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
325 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
326
327 #. type: Plain text
328 #: build/C/man3/MB_LEN_MAX.3:23
329 #, no-wrap
330 msgid "B<#include E<lt>limits.hE<gt>>\n"
331 msgstr "B<#include E<lt>limits.hE<gt>>\n"
332
333 #. type: Plain text
334 #: build/C/man3/MB_LEN_MAX.3:29
335 msgid ""
336 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
337 "represent a single wide character, across all locales."
338 msgstr ""
339 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
340 "となる 最大バイト数である。"
341
342 #. type: Plain text
343 #: build/C/man3/MB_LEN_MAX.3:31
344 msgid "A constant integer greater than zero."
345 msgstr "0 より大きいの整数型の定数。"
346
347 #. type: SH
348 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
349 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:115 build/C/man3/clearenv.3:74
350 #: build/C/man3/drand48.3:262 build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90
351 #: build/C/man3/exit.3:98 build/C/man3/getauxval.3:194
352 #: build/C/man3/getenv.3:102 build/C/man3/getsubopt.3:136
353 #: build/C/man3/malloc.3:173 build/C/man3/mblen.3:94
354 #: build/C/man3/mbstowcs.3:96 build/C/man3/mbtowc.3:115
355 #: build/C/man3/mkstemp.3:208 build/C/man3/mktemp.3:99
356 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
357 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
358 #: build/C/man3/strtod.3:177 build/C/man3/strtol.3:178
359 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:112
360 #: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
361 #, no-wrap
362 msgid "NOTES"
363 msgstr "注意"
364
365 #. type: Plain text
366 #: build/C/man3/MB_LEN_MAX.3:44
367 msgid ""
368 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
369 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
370 msgstr ""
371 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
372 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
373
374 #. type: Plain text
375 #: build/C/man3/MB_LEN_MAX.3:46
376 msgid "B<MB_CUR_MAX>(3)"
377 msgstr "B<MB_CUR_MAX>(3)"
378
379 #. type: TH
380 #: build/C/man2/_exit.2:29
381 #, no-wrap
382 msgid "_EXIT"
383 msgstr "_EXIT"
384
385 #. type: TH
386 #: build/C/man2/_exit.2:29
387 #, no-wrap
388 msgid "2010-09-20"
389 msgstr "2010-09-20"
390
391 #. type: Plain text
392 #: build/C/man2/_exit.2:32
393 msgid "_exit, _Exit - terminate the calling process"
394 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
395
396 #. type: Plain text
397 #: build/C/man2/_exit.2:34
398 msgid "B<#include E<lt>unistd.hE<gt>>"
399 msgstr "B<#include E<lt>unistd.hE<gt>>"
400
401 #. type: Plain text
402 #: build/C/man2/_exit.2:36
403 msgid "B<void _exit(int >I<status>B<);>"
404 msgstr "B<void _exit(int >I<status>B<);>"
405
406 #. type: Plain text
407 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
408 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
409 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
410 #: build/C/man3/strtod.3:50
411 msgid "B<#include E<lt>stdlib.hE<gt>>"
412 msgstr "B<#include E<lt>stdlib.hE<gt>>"
413
414 #. type: Plain text
415 #: build/C/man2/_exit.2:40
416 msgid "B<void _Exit(int >I<status>B<);>"
417 msgstr "B<void _Exit(int >I<status>B<);>"
418
419 #. type: Plain text
420 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:52
421 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
422 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
423 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
424 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
425 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
426 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
427 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
428 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
429 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
430 #: build/C/man3/strtoul.3:50
431 msgid ""
432 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
433 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
434
435 #. type: Plain text
436 #: build/C/man2/_exit.2:48
437 msgid "B<_Exit>():"
438 msgstr "B<_Exit>():"
439
440 #. type: Plain text
441 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
442 msgid ""
443 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
444 "200112L;"
445 msgstr ""
446 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
447 "200112L;"
448
449 #. type: Plain text
450 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:62 build/C/man3/strtod.3:71
451 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
452 msgid "or I<cc\\ -std=c99>"
453 msgstr "または I<cc\\ -std=c99>"
454
455 #. type: Plain text
456 #: build/C/man2/_exit.2:67
457 msgid ""
458 "The function B<_exit>()  terminates the calling process \"immediately\".  "
459 "Any open file descriptors belonging to the process are closed; any children "
460 "of the process are inherited by process 1, I<init>, and the process's parent "
461 "is sent a B<SIGCHLD> signal."
462 msgstr ""
463 "B<_exit>()  は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
464 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
465 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
466 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
467 "して B<SIGCHLD> シグナルが送出される。"
468
469 #. type: Plain text
470 #: build/C/man2/_exit.2:74
471 msgid ""
472 "The value I<status> is returned to the parent process as the process's exit "
473 "status, and can be collected using one of the B<wait>(2)  family of calls."
474 msgstr ""
475 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
476 "B<wait>(2)  系関数を利用することによって取得することができる。"
477
478 #. type: Plain text
479 #: build/C/man2/_exit.2:79
480 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
481 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
482
483 #. type: Plain text
484 #: build/C/man2/_exit.2:81
485 msgid "These functions do not return."
486 msgstr "これらの関数は値を返さない。"
487
488 #. type: Plain text
489 #: build/C/man2/_exit.2:86
490 msgid ""
491 "SVr4, POSIX.1-2001, 4.3BSD.  The function B<_Exit>()  was introduced by C99."
492 msgstr "SVr4, POSIX.1-2001, 4.3BSD.  関数 B<_Exit>()  は C99 で導入された。"
493
494 #. type: Plain text
495 #: build/C/man2/_exit.2:90
496 msgid ""
497 "For a discussion on the effects of an exit, the transmission of exit status, "
498 "zombie processes, signals sent, and so on, see B<exit>(3)."
499 msgstr ""
500 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
501 "ついての議論は、 B<exit>(3) を参照すること。"
502
503 #. type: Plain text
504 #: build/C/man2/_exit.2:117
505 msgid ""
506 "The function B<_exit>()  is like B<exit>(3), but does not call any functions "
507 "registered with B<atexit>(3)  or B<on_exit>(3).  Whether it flushes standard "
508 "I/O buffers and removes temporary files created with B<tmpfile>(3)  is "
509 "implementation-dependent.  On the other hand, B<_exit>()  does close open "
510 "file descriptors, and this may cause an unknown delay, waiting for pending "
511 "output to finish.  If the delay is undesired, it may be useful to call "
512 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
513 "pending I/O is canceled, and which pending I/O may be canceled upon "
514 "B<_exit>(), is implementation-dependent."
515 msgstr ""
516 "関数 B<_exit>()  は B<exit>(3)  に似ているが、ANSI C の B<atexit>(3)  や "
517 "B<on_exit>(3)  によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
518 "ファのフラッシュや、 B<tmpfile>(3)  で作成されたテンポラリファイルの削除を行"
519 "うかどうかは、実装に依存する。 一方で、 B<_exit>()  はオープンされているファ"
520 "イルディスクリプタをクローズしないため、 未決定になっている出力がフラッシュさ"
521 "れるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 "
522 "B<_exit>()  の前に B<tcflush>(3)  のような関数を呼び出せばよい。 B<_exit>()  "
523 "が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 "
524 "またどの I/O がキャンセルされるのかは実装に依存する。"
525
526 #. type: Plain text
527 #: build/C/man2/_exit.2:124
528 msgid ""
529 "In glibc up to version 2.3, the B<_exit>()  wrapper function invoked the "
530 "kernel system call of the same name.  Since glibc 2.3, the wrapper function "
531 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
532 "process."
533 msgstr ""
534 "バージョン 2.3 より前の glibc では、 B<_exit>()  のラッパー関数は同じ名前の"
535 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
536 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
537
538 #. type: Plain text
539 #: build/C/man2/_exit.2:136
540 msgid ""
541 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
542 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
543 "B<termios>(3)"
544 msgstr ""
545 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
546 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
547 "B<termios>(3)"
548
549 #. type: TH
550 #: build/C/man3/a64l.3:9
551 #, no-wrap
552 msgid "A64L"
553 msgstr "A64L"
554
555 #. type: TH
556 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
557 #, no-wrap
558 msgid "2014-05-28"
559 msgstr "2014-05-28"
560
561 #. type: Plain text
562 #: build/C/man3/a64l.3:12
563 msgid "a64l, l64a - convert between long and base-64"
564 msgstr "a64l, l64a - long と base-64 を変換する"
565
566 #. type: Plain text
567 #: build/C/man3/a64l.3:16
568 msgid "B<long a64l(const char *>I<str64>B<);>"
569 msgstr "B<long a64l(const char *>I<str64>B<);>"
570
571 #. type: Plain text
572 #: build/C/man3/a64l.3:18
573 msgid "B<char *l64a(long >I<value>B<);>"
574 msgstr "B<char *l64a(long >I<value>B<);>"
575
576 #. type: Plain text
577 #: build/C/man3/a64l.3:26
578 msgid "B<a64l>(), B<l64a>():"
579 msgstr "B<a64l>(), B<l64a>():"
580
581 #. type: Plain text
582 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
583 msgid ""
584 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
585 "_XOPEN_SOURCE_EXTENDED"
586 msgstr ""
587 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
588 "_XOPEN_SOURCE_EXTENDED"
589
590 #. type: Plain text
591 #: build/C/man3/a64l.3:48
592 msgid ""
593 "These functions provide a conversion between 32-bit long integers and little-"
594 "endian base-64 ASCII strings (of length zero to six).  If the string used as "
595 "argument for B<a64l>()  has length greater than six, only the first six "
596 "bytes are used.  If the type I<long> has more than 32 bits, then B<l64a>()  "
597 "uses only the low order 32 bits of I<value>, and B<a64l>()  sign-extends its "
598 "32-bit result."
599 msgstr ""
600 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
601 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>()  の引き数の文字列が 7 文字以上の場"
602 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
603 "B<l64a>()  は I<value> の下位 32 ビットのみを使い、 B<a64l>()  は 32 ビットの"
604 "結果を符号拡張 (sign-extend) する。"
605
606 #. type: Plain text
607 #: build/C/man3/a64l.3:50
608 msgid "The 64 digits in the base-64 system are:"
609 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
610
611 #. type: Plain text
612 #: build/C/man3/a64l.3:58
613 #, no-wrap
614 msgid ""
615 "\\&\\(aq.\\(aq\trepresents a 0\n"
616 "\\&\\(aq/\\(aq\trepresents a 1\n"
617 "0-9\trepresent  2-11\n"
618 "A-Z\trepresent 12-37\n"
619 "a-z\trepresent 38-63\n"
620 msgstr ""
621 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
622 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
623 "0-9\tは 2-11 を表す。\n"
624 "A-Z\tは 12-37 を表す。\n"
625 "a-z\tは 38-63 を表す。\n"
626
627 #. type: Plain text
628 #: build/C/man3/a64l.3:62
629 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
630 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
631
632 #. type: SH
633 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:93
634 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
635 #: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:187
636 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
637 #: build/C/man3/mblen.3:87 build/C/man3/qecvt.3:85 build/C/man3/random.3:152
638 #: build/C/man3/random_r.3:128 build/C/man3/strtod.3:160
639 #: build/C/man3/strtoimax.3:58 build/C/man3/strtol.3:161
640 #: build/C/man3/strtoul.3:165 build/C/man3/wctomb.3:84
641 #, no-wrap
642 msgid "ATTRIBUTES"
643 msgstr "属性"
644
645 #. type: SS
646 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:94
647 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
648 #: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:188
649 #: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
650 #: build/C/man3/mblen.3:88 build/C/man3/qecvt.3:86 build/C/man3/random.3:153
651 #: build/C/man3/random_r.3:129 build/C/man3/strtod.3:161
652 #: build/C/man3/strtoimax.3:59 build/C/man3/strtol.3:162
653 #: build/C/man3/strtoul.3:166 build/C/man3/wctomb.3:85
654 #, no-wrap
655 msgid "Multithreading (see pthreads(7))"
656 msgstr "マルチスレッディング (pthreads(7) 参照)"
657
658 #. type: Plain text
659 #: build/C/man3/a64l.3:67
660 msgid "The B<l64a>()  function is not thread-safe."
661 msgstr "B<l64a>() 関数はスレッドセーフではない。"
662
663 #. type: Plain text
664 #: build/C/man3/a64l.3:71
665 msgid "The B<a64l>()  function is thread-safe."
666 msgstr "B<a64l>() 関数はスレッドセーフである。"
667
668 #. type: Plain text
669 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
670 msgid "POSIX.1-2001."
671 msgstr "POSIX.1-2001."
672
673 #. type: Plain text
674 #: build/C/man3/a64l.3:78
675 msgid ""
676 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
677 "possibly overwritten by later calls."
678 msgstr ""
679 "B<l64a>()  で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
680 "び出しで上書きされる可能性がある。"
681
682 #. type: Plain text
683 #: build/C/man3/a64l.3:87
684 msgid ""
685 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
686 "I<value> is zero, it returns an empty string."
687 msgstr ""
688 "I<value> が負の場合、 B<l64a>()  の動作は定義されていない。 I<value> が 0 の"
689 "場合は空文字列を返す。"
690
691 #. type: Plain text
692 #: build/C/man3/a64l.3:90
693 msgid ""
694 "These functions are broken in glibc before 2.2.5 (puts most significant "
695 "digit first)."
696 msgstr ""
697 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
698 "る)。"
699
700 #. type: Plain text
701 #: build/C/man3/a64l.3:93
702 msgid "This is not the encoding used by B<uuencode>(1)."
703 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
704
705 #.  .BR itoa (3),
706 #. type: Plain text
707 #: build/C/man3/a64l.3:97
708 msgid "B<uuencode>(1), B<strtoul>(3)"
709 msgstr "B<uuencode>(1), B<strtoul>(3)"
710
711 #. type: TH
712 #: build/C/man3/atexit.3:33
713 #, no-wrap
714 msgid "ATEXIT"
715 msgstr "ATEXIT"
716
717 #. type: TH
718 #: build/C/man3/atexit.3:33 build/C/man3/on_exit.3:31
719 #, no-wrap
720 msgid "2008-12-05"
721 msgstr "2008-12-05"
722
723 #. type: Plain text
724 #: build/C/man3/atexit.3:36
725 msgid "atexit - register a function to be called at normal process termination"
726 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
727
728 #. type: Plain text
729 #: build/C/man3/atexit.3:41
730 #, no-wrap
731 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
732 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
733
734 #. type: Plain text
735 #: build/C/man3/atexit.3:54
736 msgid ""
737 "The B<atexit>()  function registers the given I<function> to be called at "
738 "normal process termination, either via B<exit>(3)  or via return from the "
739 "program's I<main>().  Functions so registered are called in the reverse "
740 "order of their registration; no arguments are passed."
741 msgstr ""
742 "B<atexit>()  関数は、与えられた I<function> を、 B<exit>(3)  やプログラムの "
743 "I<main>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
744 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
745 "れる。 登録した関数に引き数は渡されない。"
746
747 #. type: Plain text
748 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
749 msgid ""
750 "The same function may be registered multiple times: it is called once for "
751 "each registration."
752 msgstr ""
753 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
754 "れる。"
755
756 #. type: Plain text
757 #: build/C/man3/atexit.3:63
758 msgid ""
759 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
760 "(32) such functions to be registered.  The actual limit supported by an "
761 "implementation can be obtained using B<sysconf>(3)."
762 msgstr ""
763 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
764 "きることを要求している。 その実装でサポートされている実際の上限は "
765 "B<sysconf>(3)  を使って取得できる。"
766
767 #. type: Plain text
768 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
769 msgid ""
770 "When a child process is created via B<fork>(2), it inherits copies of its "
771 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
772 "functions, all registrations are removed."
773 msgstr ""
774 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
775 "る。\n"
776 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
777 "れる。"
778
779 #. type: Plain text
780 #: build/C/man3/atexit.3:76
781 msgid ""
782 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
783 "returns a nonzero value."
784 msgstr ""
785 "B<atexit>()  関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
786 "以外の値を返す。"
787
788 #. type: Plain text
789 #: build/C/man3/atexit.3:78
790 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
791 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
792
793 #. type: Plain text
794 #: build/C/man3/atexit.3:85
795 msgid ""
796 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
797 "if a process terminates abnormally because of the delivery of a signal."
798 msgstr ""
799 "B<atexit>()  (と B<on_exit>(3))  を使って登録された関数は、 シグナルの配送に"
800 "よりプロセスが異常終了した場合には呼び出されない。"
801
802 #. type: Plain text
803 #: build/C/man3/atexit.3:92
804 msgid ""
805 "If one of the functions registered functions calls B<_exit>(2), then any "
806 "remaining functions are not invoked, and the other process termination steps "
807 "performed by B<exit>(3)  are not performed."
808 msgstr ""
809 "登録された関数の一つが B<_exit>(2)  を呼び出した場合、残りの関数はどれも起動"
810 "されず、 B<exit>(3)  により実行される他のプロセス終了ステップは実行されない。"
811
812 #.  This can happen on OpenBSD 4.2 for example, and is documented
813 #.  as occurring on FreeBSD as well.
814 #.  Glibc does "the Right Thing" -- invocation of the remaining
815 #.  exit handlers carries on as normal.
816 #. type: Plain text
817 #: build/C/man3/atexit.3:109
818 msgid ""
819 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once (i."
820 "e., calling B<exit>(3)  within a function registered using B<atexit>())  is "
821 "undefined.  On some systems (but not Linux), this can result in an infinite "
822 "recursion; portable programs should not invoke B<exit>(3)  inside a function "
823 "registered using B<atexit>()."
824 msgstr ""
825 "POSIX.1-2001 では、 B<atexit>()  を使って登録された一つの関数内で、複数回 "
826 "B<exit>(3)  を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
827 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
828 "プログラムでは、 B<atexit>()  で登録された関数内で B<exit>(3)  を起動すべきで"
829 "はない。"
830
831 #. type: Plain text
832 #: build/C/man3/atexit.3:118
833 msgid ""
834 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
835 "list: at normal process termination, the registered functions are invoked in "
836 "reverse order of their registration by these two functions."
837 msgstr ""
838 "B<atexit>()  と B<on_exit>(3)  は、同じリストに対して関数を登録する。 プロセ"
839 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
840 "された関数が起動される。"
841
842 #.  In glibc, things seem to be handled okay
843 #. type: Plain text
844 #: build/C/man3/atexit.3:124
845 msgid ""
846 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
847 "terminate execution of one of the functions registered B<atexit>()."
848 msgstr ""
849 "POSIX.1-2001 では、 B<atexit>()  で登録された関数の実行を終了するために "
850 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
851
852 #. type: SS
853 #: build/C/man3/atexit.3:124
854 #, no-wrap
855 msgid "Linux notes"
856 msgstr "Linux での注意"
857
858 #. type: Plain text
859 #: build/C/man3/atexit.3:131
860 msgid ""
861 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
862 "shared library to establish functions that are called when the shared "
863 "library is unloaded."
864 msgstr ""
865 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
866 "録するために、共有ライブラリの中で B<atexit>()  (と B<on_exit>(3))  を使用す"
867 "ることができる。"
868
869 #. type: SH
870 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
871 #: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
872 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:186
873 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
874 #, no-wrap
875 msgid "EXAMPLE"
876 msgstr "例"
877
878 #. type: Plain text
879 #: build/C/man3/atexit.3:136
880 #, no-wrap
881 msgid ""
882 "#include E<lt>stdio.hE<gt>\n"
883 "#include E<lt>stdlib.hE<gt>\n"
884 "#include E<lt>unistd.hE<gt>\n"
885 msgstr ""
886 "#include E<lt>stdio.hE<gt>\n"
887 "#include E<lt>stdlib.hE<gt>\n"
888 "#include E<lt>unistd.hE<gt>\n"
889
890 #. type: Plain text
891 #: build/C/man3/atexit.3:142
892 #, no-wrap
893 msgid ""
894 "void\n"
895 "bye(void)\n"
896 "{\n"
897 "    printf(\"That was all, folks\\en\");\n"
898 "}\n"
899 msgstr ""
900 "void\n"
901 "bye(void)\n"
902 "{\n"
903 "    printf(\"That was all, folks\\en\");\n"
904 "}\n"
905
906 #. type: Plain text
907 #: build/C/man3/atexit.3:148
908 #, no-wrap
909 msgid ""
910 "int\n"
911 "main(void)\n"
912 "{\n"
913 "    long a;\n"
914 "    int i;\n"
915 msgstr ""
916 "int\n"
917 "main(void)\n"
918 "{\n"
919 "    long a;\n"
920 "    int i;\n"
921
922 #. type: Plain text
923 #: build/C/man3/atexit.3:151
924 #, no-wrap
925 msgid ""
926 "    a = sysconf(_SC_ATEXIT_MAX);\n"
927 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
928 msgstr ""
929 "    a = sysconf(_SC_ATEXIT_MAX);\n"
930 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
931
932 #. type: Plain text
933 #: build/C/man3/atexit.3:157
934 #, no-wrap
935 msgid ""
936 "    i = atexit(bye);\n"
937 "    if (i != 0) {\n"
938 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
939 "        exit(EXIT_FAILURE);\n"
940 "    }\n"
941 msgstr ""
942 "    i = atexit(bye);\n"
943 "    if (i != 0) {\n"
944 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
945 "        exit(EXIT_FAILURE);\n"
946 "    }\n"
947
948 #. type: Plain text
949 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
950 #: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
951 #: build/C/man3/strtol.3:296
952 #, no-wrap
953 msgid ""
954 "    exit(EXIT_SUCCESS);\n"
955 "}\n"
956 msgstr ""
957 "    exit(EXIT_SUCCESS);\n"
958 "}\n"
959
960 #. type: Plain text
961 #: build/C/man3/atexit.3:165
962 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
963 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
964
965 #. type: TH
966 #: build/C/man3/atof.3:31
967 #, no-wrap
968 msgid "ATOF"
969 msgstr "ATOF"
970
971 #. type: TH
972 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33 build/C/man3/strtod.3:45
973 #: build/C/man3/strtoimax.3:24
974 #, no-wrap
975 msgid "2014-01-22"
976 msgstr "2014-01-22"
977
978 #. type: TH
979 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
980 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
981 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
982 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
983 #: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
984 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
985 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
986 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
987 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
988 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
989 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
990 #: build/C/man3/wctomb.3:16
991 #, no-wrap
992 msgid "GNU"
993 msgstr "GNU"
994
995 #. type: Plain text
996 #: build/C/man3/atof.3:34
997 msgid "atof - convert a string to a double"
998 msgstr "atof - 文字列を double 型の数値に変換"
999
1000 #. type: Plain text
1001 #: build/C/man3/atof.3:39
1002 #, no-wrap
1003 msgid "B<double atof(const char *>I<nptr>B<);>\n"
1004 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
1005
1006 #. type: Plain text
1007 #: build/C/man3/atof.3:47
1008 msgid ""
1009 "The B<atof>()  function converts the initial portion of the string pointed "
1010 "to by I<nptr> to I<double>.  The behavior is the same as"
1011 msgstr ""
1012 "B<atof>()  関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
1013 "型の数値に変換する。 この振る舞いは、 B<atof>()  関数がエラーを見つけないこと"
1014 "を除いては、"
1015
1016 #. type: Plain text
1017 #: build/C/man3/atof.3:50
1018 msgid "strtod(nptr, NULL);"
1019 msgstr "strtod(nptr, NULL);"
1020
1021 #. type: Plain text
1022 #: build/C/man3/atof.3:55
1023 msgid "except that B<atof>()  does not detect errors."
1024 msgstr "と同じである。"
1025
1026 #. type: Plain text
1027 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:93
1028 msgid "The converted value."
1029 msgstr "変換された値。"
1030
1031 #. type: Plain text
1032 #: build/C/man3/atof.3:65
1033 msgid ""
1034 "The B<atof>()  function is thread-safe with exceptions.  It can be safely "
1035 "used in multithreaded applications, as long as B<setlocale>(3)  is not "
1036 "called to change the locale during its execution."
1037 msgstr ""
1038 "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
1039 "呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
1040 "用することができる。"
1041
1042 #. type: Plain text
1043 #: build/C/man3/atof.3:67
1044 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1045 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1046
1047 #. type: Plain text
1048 #: build/C/man3/atof.3:73
1049 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1050 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1051
1052 #. type: TH
1053 #: build/C/man3/atoi.3:33
1054 #, no-wrap
1055 msgid "ATOI"
1056 msgstr "ATOI"
1057
1058 #. type: Plain text
1059 #: build/C/man3/atoi.3:36
1060 msgid "atoi, atol, atoll, atoq - convert a string to an integer"
1061 msgstr "atoi, atol, atoll, atoq - 文字列を整数型に変換する"
1062
1063 #. type: Plain text
1064 #: build/C/man3/atoi.3:41
1065 #, no-wrap
1066 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1067 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1068
1069 #. type: Plain text
1070 #: build/C/man3/atoi.3:43
1071 #, no-wrap
1072 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1073 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1074
1075 #. type: Plain text
1076 #: build/C/man3/atoi.3:45
1077 #, no-wrap
1078 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1079 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1080
1081 #. type: Plain text
1082 #: build/C/man3/atoi.3:47
1083 #, no-wrap
1084 msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
1085 msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
1086
1087 #. type: Plain text
1088 #: build/C/man3/atoi.3:56
1089 msgid "B<atoll>():"
1090 msgstr "B<atoll>():"
1091
1092 #. type: Plain text
1093 #: build/C/man3/atoi.3:59
1094 msgid ""
1095 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1096 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1097 msgstr ""
1098 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1099 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1100
1101 #. type: Plain text
1102 #: build/C/man3/atoi.3:71
1103 msgid ""
1104 "The B<atoi>()  function converts the initial portion of the string pointed "
1105 "to by I<nptr> to I<int>.  The behavior is the same as"
1106 msgstr ""
1107 "B<atoi>()  関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1108 "整数に変換する。 この振る舞いは、 B<atoi>()  関数がエラーを見つけない点以外"
1109 "は、"
1110
1111 #. type: Plain text
1112 #: build/C/man3/atoi.3:74
1113 msgid "strtol(nptr, NULL, 10);"
1114 msgstr "strtol(nptr, NULL, 10);"
1115
1116 #. type: Plain text
1117 #: build/C/man3/atoi.3:79
1118 msgid "except that B<atoi>()  does not detect errors."
1119 msgstr "と同じである。"
1120
1121 #. type: Plain text
1122 #: build/C/man3/atoi.3:91
1123 msgid ""
1124 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
1125 "except that they convert the initial portion of the string to their return "
1126 "type of I<long> or I<long long>.  B<atoq>()  is an obsolete name for "
1127 "B<atoll>()."
1128 msgstr ""
1129 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
1130 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。 B<atoq>()  "
1131 "は B<atoll>()  の古い名前である。"
1132
1133 #. type: Plain text
1134 #: build/C/man3/atoi.3:105
1135 msgid ""
1136 "The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
1137 "exceptions.  These functions can be safely used in multithreaded "
1138 "applications, as long as B<setlocale>(3)  is not called to change the locale "
1139 "during their execution."
1140 msgstr ""
1141 "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
1142 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
1143 "プリケーションで安全に使用することができる。"
1144
1145 #. type: Plain text
1146 #: build/C/man3/atoi.3:115
1147 msgid ""
1148 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
1149 "B<atoi>()  and B<atol>()  only.  B<atoq>()  is a GNU extension."
1150 msgstr ""
1151 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 と POSIX.1-1996 には B<atoi>()  と "
1152 "B<atol>()  だけが含まれている。 B<atoq>()  は GNU による拡張である。"
1153
1154 #. type: Plain text
1155 #: build/C/man3/atoi.3:125
1156 msgid ""
1157 "The nonstandard B<atoq>()  function is not present in libc 4.6.27 or glibc "
1158 "2, but is present in libc5 and libc 4.7 (though only as an inline function "
1159 "in I<E<lt>stdlib.hE<gt>> until libc 5.4.44).  The B<atoll>()  function is "
1160 "present in glibc 2 since version 2.0.2, but not in libc4 or libc5."
1161 msgstr ""
1162 "非標準である B<atoq>()  関数は libc 4.6.27 や glibc 2 には含まれていないが、 "
1163 "libc5 と libc 4.7 には存在している (ただし libc 5.4.44 までは I<E<lt>stdlib."
1164 "hE<gt>> のインライン関数のみである)。 B<atoll>()  関数は glibc 2 のバージョ"
1165 "ン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。"
1166
1167 #. type: Plain text
1168 #: build/C/man3/atoi.3:130
1169 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1170 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1171
1172 #. type: TH
1173 #: build/C/man3/canonicalize_file_name.3:26
1174 #, no-wrap
1175 msgid "CANONICALIZE_FILE_NAME"
1176 msgstr "CANONICALIZE_FILE_NAME"
1177
1178 #. type: TH
1179 #: build/C/man3/canonicalize_file_name.3:26
1180 #, no-wrap
1181 msgid "2013-05-11"
1182 msgstr "2013-05-11"
1183
1184 #. type: Plain text
1185 #: build/C/man3/canonicalize_file_name.3:29
1186 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1187 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1188
1189 #. type: Plain text
1190 #: build/C/man3/canonicalize_file_name.3:31
1191 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1192 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1193
1194 #. type: Plain text
1195 #: build/C/man3/canonicalize_file_name.3:35
1196 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1197 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1198
1199 #. type: Plain text
1200 #: build/C/man3/canonicalize_file_name.3:49
1201 msgid ""
1202 "The B<canonicalize_file_name>()  function returns a null-terminated string "
1203 "containing the canonicalized absolute pathname corresponding to I<path>.  In "
1204 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
1205 "pathname components.  Consecutive slash (I</>)  characters are replaced by a "
1206 "single slash."
1207 msgstr ""
1208 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1209 "示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
1210 "ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
1211 "ラッシュ一つに置換される。"
1212
1213 #. type: Plain text
1214 #: build/C/man3/canonicalize_file_name.3:55
1215 msgid ""
1216 "The returned string is dynamically allocated by B<canonicalize_file_name>()  "
1217 "and the caller should deallocate it with B<free>(3)  when it is no longer "
1218 "required."
1219 msgstr ""
1220 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1221 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1222
1223 #. type: Plain text
1224 #: build/C/man3/canonicalize_file_name.3:59
1225 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1226 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1227
1228 #. type: Plain text
1229 #: build/C/man3/canonicalize_file_name.3:61
1230 #, no-wrap
1231 msgid "    realpath(path, NULL);\n"
1232 msgstr "    realpath(path, NULL);\n"
1233
1234 #. type: Plain text
1235 #: build/C/man3/canonicalize_file_name.3:70
1236 msgid ""
1237 "On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
1238 "On error (e.g., a pathname component is unreadable or does not exist), "
1239 "B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
1240 "error."
1241 msgstr ""
1242 "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
1243 "の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
1244 "合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
1245 "を示す値を設定する。"
1246
1247 #. type: SH
1248 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1249 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1250 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1251 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1252 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:156
1253 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1254 #, no-wrap
1255 msgid "ERRORS"
1256 msgstr "エラー"
1257
1258 #. type: Plain text
1259 #: build/C/man3/canonicalize_file_name.3:73
1260 msgid "See B<realpath>(3)."
1261 msgstr "B<realpath>(3) 参照。"
1262
1263 #. type: Plain text
1264 #: build/C/man3/canonicalize_file_name.3:75
1265 msgid "This function is a GNU extension."
1266 msgstr "この関数は GNU による拡張である。"
1267
1268 #. type: Plain text
1269 #: build/C/man3/canonicalize_file_name.3:78
1270 msgid "B<readlink>(2), B<realpath>(3)"
1271 msgstr "B<readlink>(2), B<realpath>(3)"
1272
1273 #. type: TH
1274 #: build/C/man3/cfree.3:24
1275 #, no-wrap
1276 msgid "CFREE"
1277 msgstr "CFREE"
1278
1279 #. type: TH
1280 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1281 #, no-wrap
1282 msgid "2007-07-26"
1283 msgstr "2007-07-26"
1284
1285 #. type: Plain text
1286 #: build/C/man3/cfree.3:27
1287 msgid "cfree - free allocated memory"
1288 msgstr "cfree - 割り当てられたメモリを解放する"
1289
1290 #. type: Plain text
1291 #: build/C/man3/cfree.3:34
1292 #, no-wrap
1293 msgid ""
1294 "/* In SunOS 4 */\n"
1295 "B<int cfree(void *>I<ptr>B<);>\n"
1296 msgstr ""
1297 "/* SunOS 4 では */\n"
1298 "B<int cfree(void *>I<ptr>B<);>\n"
1299
1300 #. type: Plain text
1301 #: build/C/man3/cfree.3:37
1302 #, no-wrap
1303 msgid ""
1304 "/* In glibc or FreeBSD libcompat */\n"
1305 "B<void cfree(void *>I<ptr>B<);>\n"
1306 msgstr ""
1307 "/* glibc と FreeBSD libcompat では */\n"
1308 "B<void cfree(void *>I<ptr>B<);>\n"
1309
1310 #. type: Plain text
1311 #: build/C/man3/cfree.3:40
1312 #, no-wrap
1313 msgid ""
1314 "/* In SCO OpenServer */\n"
1315 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1316 msgstr ""
1317 "/* SCO OpenServer では */\n"
1318 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1319
1320 #. type: Plain text
1321 #: build/C/man3/cfree.3:43
1322 #, no-wrap
1323 msgid ""
1324 "/* In Solaris watchmalloc.so.1 */\n"
1325 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1326 msgstr ""
1327 "/* Solaris watchmalloc.so.1 では */\n"
1328 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1329
1330 #. type: Plain text
1331 #: build/C/man3/cfree.3:52
1332 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1333 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1334
1335 #. type: Plain text
1336 #: build/C/man3/cfree.3:57
1337 msgid "This function should never be used.  Use B<free>(3)  instead."
1338 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3)  を使うこと。"
1339
1340 #. type: SS
1341 #: build/C/man3/cfree.3:57
1342 #, no-wrap
1343 msgid "1-arg cfree"
1344 msgstr "引き数が 1 つの cfree"
1345
1346 #. type: Plain text
1347 #: build/C/man3/cfree.3:63
1348 msgid ""
1349 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
1350 "compatibility with SunOS\"."
1351 msgstr ""
1352 "glibc では、関数 B<cfree>()  は B<free>(3)  の別名であり、「SunOS との互換性"
1353 "のために追加された」。"
1354
1355 #. type: Plain text
1356 #: build/C/man3/cfree.3:69
1357 msgid ""
1358 "Other systems have other functions with this name.  The declaration is "
1359 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1360 msgstr ""
1361 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1362 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1363
1364 #. type: SS
1365 #: build/C/man3/cfree.3:69
1366 #, no-wrap
1367 msgid "3-arg cfree"
1368 msgstr "引き数が 3 つの cfree"
1369
1370 #. type: Plain text
1371 #: build/C/man3/cfree.3:74
1372 msgid ""
1373 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1374 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1375 msgstr ""
1376 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>()  が含"
1377 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3)  に類似してい"
1378 "る。"
1379
1380 #. type: Plain text
1381 #: build/C/man3/cfree.3:76
1382 msgid "If you need it while porting something, add"
1383 msgstr "何かを移植する時にこの関数が必要な場合、"
1384
1385 #. type: Plain text
1386 #: build/C/man3/cfree.3:79
1387 msgid "#define cfree(p, n, s) free((p))"
1388 msgstr "#define cfree(p, n, s) free((p))"
1389
1390 #. type: Plain text
1391 #: build/C/man3/cfree.3:82
1392 msgid "to your file."
1393 msgstr "をファイルに追加すること。"
1394
1395 #. type: Plain text
1396 #: build/C/man3/cfree.3:91
1397 msgid ""
1398 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
1399 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
1400 "B<free>(3)."
1401 msgstr ""
1402 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリを解放するのに "
1403 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
1404 "というものである。 答え: B<free>(3)  を使うこと。"
1405
1406 #. type: Plain text
1407 #: build/C/man3/cfree.3:96
1408 msgid ""
1409 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1410 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
1411 "are not used.\""
1412 msgstr ""
1413 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1414 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1415 "num と size 引き数は使用されない。」"
1416
1417 #. type: Plain text
1418 #: build/C/man3/cfree.3:112
1419 msgid ""
1420 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
1421 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
1422 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1423 "allocated by one of the routines in the B<malloc>(3)  family."
1424 msgstr ""
1425 "SunOS 版の B<cfree>()  (B<free>(3)  の別名) は、成功した場合に 1 を返し、失敗"
1426 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1427 "I<ptr> の値が B<malloc>()  系のルーチンの 1 つで以前に割り当てられた ブロック"
1428 "へのポインタでない。"
1429
1430 #. type: Plain text
1431 #: build/C/man3/cfree.3:117
1432 msgid ""
1433 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1434 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1435 msgstr ""
1436 "SCO で用いられている引き数が 3 つの B<cfree>()  は、iBCSe2 規格: Intel386 "
1437 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1438 "2 版) に準拠する。"
1439
1440 #. type: Plain text
1441 #: build/C/man3/cfree.3:119
1442 msgid "B<malloc>(3)"
1443 msgstr "B<malloc>(3)"
1444
1445 #. type: TH
1446 #: build/C/man3/clearenv.3:26
1447 #, no-wrap
1448 msgid "CLEARENV"
1449 msgstr "CLEARENV"
1450
1451 #. type: TH
1452 #: build/C/man3/clearenv.3:26
1453 #, no-wrap
1454 msgid "2010-10-04"
1455 msgstr "2010-10-04"
1456
1457 #. type: Plain text
1458 #: build/C/man3/clearenv.3:29
1459 msgid "clearenv - clear the environment"
1460 msgstr "clearenv - 環境 (environment) をクリアする"
1461
1462 #. type: Plain text
1463 #: build/C/man3/clearenv.3:34
1464 #, no-wrap
1465 msgid "B<int clearenv(void);>\n"
1466 msgstr "B<int clearenv(void);>\n"
1467
1468 #. type: Plain text
1469 #: build/C/man3/clearenv.3:43
1470 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1471 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1472
1473 #. type: Plain text
1474 #: build/C/man3/clearenv.3:50
1475 msgid ""
1476 "The B<clearenv>()  function clears the environment of all name-value pairs "
1477 "and sets the value of the external variable I<environ> to NULL."
1478 msgstr ""
1479 "B<clearenv>()  関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1480 "部変数 I<environ> の値を NULL にする。"
1481
1482 #.  Most versions of UNIX return -1 on error, or do not even have errors.
1483 #.  Glibc info and the Watcom C library document "a nonzero value".
1484 #. type: Plain text
1485 #: build/C/man3/clearenv.3:57
1486 msgid ""
1487 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1488 "failure."
1489 msgstr ""
1490 "B<clearenv>()  関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1491 "す。"
1492
1493 #. type: SH
1494 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:183
1495 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1496 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1497 #, no-wrap
1498 msgid "VERSIONS"
1499 msgstr "バージョン"
1500
1501 #. type: Plain text
1502 #: build/C/man3/clearenv.3:60
1503 msgid "Not in libc4, libc5.  In glibc since glibc 2.0."
1504 msgstr "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
1505
1506 #. type: Plain text
1507 #: build/C/man3/clearenv.3:74
1508 msgid ""
1509 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
1510 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
1511 "but changed its mind and scheduled these functions for some later issue of "
1512 "this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
1513 "and rejected B<clearenv>()."
1514 msgstr ""
1515 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1516 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>()  と B<putenv>(3)  は採用さ"
1517 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1518 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
1519 "れ、 B<clearenv>()  の追加は否決された。"
1520
1521 #. type: Plain text
1522 #: build/C/man3/clearenv.3:78
1523 msgid ""
1524 "Used in security-conscious applications.  If it is unavailable the assignment"
1525 msgstr ""
1526 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1527 "きない場合は、"
1528
1529 #. type: Plain text
1530 #: build/C/man3/clearenv.3:81
1531 #, no-wrap
1532 msgid "    environ = NULL;\n"
1533 msgstr "    environ = NULL;\n"
1534
1535 #. type: Plain text
1536 #: build/C/man3/clearenv.3:84
1537 msgid "will probably do."
1538 msgstr "というように変数 environ を設定すればよい。"
1539
1540 #.  .LP
1541 #.  HP-UX has a ENOMEM error return.
1542 #. type: Plain text
1543 #: build/C/man3/clearenv.3:97
1544 msgid ""
1545 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1546 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
1547 "functions, then B<clearenv>()  will return an error and the process "
1548 "environment will remain unchanged."
1549 msgstr ""
1550 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
1551 "B<putenv>(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 "
1552 "B<clearenv>()  はエラーを返し、プロセス環境は変更前のままにされる。"
1553
1554 #. type: Plain text
1555 #: build/C/man3/clearenv.3:103
1556 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1557 msgstr ""
1558 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1559
1560 #. type: TH
1561 #: build/C/man3/drand48.3:30
1562 #, no-wrap
1563 msgid "DRAND48"
1564 msgstr "DRAND48"
1565
1566 #. type: TH
1567 #: build/C/man3/drand48.3:30 build/C/man3/mblen.3:16
1568 #, no-wrap
1569 msgid "2013-06-21"
1570 msgstr "2013-06-21"
1571
1572 #. type: Plain text
1573 #: build/C/man3/drand48.3:34
1574 msgid ""
1575 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1576 "lcong48 - generate uniformly distributed pseudo-random numbers"
1577 msgstr ""
1578 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1579 "lcong48 - 一様分布する疑似乱数を生成する関数"
1580
1581 #. type: Plain text
1582 #: build/C/man3/drand48.3:39
1583 #, no-wrap
1584 msgid "B<double drand48(void);>\n"
1585 msgstr "B<double drand48(void);>\n"
1586
1587 #. type: Plain text
1588 #: build/C/man3/drand48.3:41
1589 #, no-wrap
1590 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1591 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1592
1593 #. type: Plain text
1594 #: build/C/man3/drand48.3:43
1595 #, no-wrap
1596 msgid "B<long int lrand48(void);>\n"
1597 msgstr "B<long int lrand48(void);>\n"
1598
1599 #. type: Plain text
1600 #: build/C/man3/drand48.3:45
1601 #, no-wrap
1602 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1603 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1604
1605 #. type: Plain text
1606 #: build/C/man3/drand48.3:47
1607 #, no-wrap
1608 msgid "B<long int mrand48(void);>\n"
1609 msgstr "B<long int mrand48(void);>\n"
1610
1611 #. type: Plain text
1612 #: build/C/man3/drand48.3:49
1613 #, no-wrap
1614 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1615 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1616
1617 #. type: Plain text
1618 #: build/C/man3/drand48.3:51
1619 #, no-wrap
1620 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1621 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1622
1623 #. type: Plain text
1624 #: build/C/man3/drand48.3:53
1625 #, no-wrap
1626 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1627 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1628
1629 #. type: Plain text
1630 #: build/C/man3/drand48.3:55
1631 #, no-wrap
1632 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1633 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1634
1635 #.  .BR drand48 (),
1636 #.  .BR erand48 (),
1637 #.  .BR lrand48 (),
1638 #.  .BR nrand48 (),
1639 #.  .BR mrand48 (),
1640 #.  .BR jrand48 (),
1641 #.  .BR srand48 (),
1642 #.  .BR seed48 (),
1643 #.  .BR lcong48 ():
1644 #. type: Plain text
1645 #: build/C/man3/drand48.3:74
1646 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1647 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1648
1649 #. type: Plain text
1650 #: build/C/man3/drand48.3:78
1651 msgid ""
1652 "These functions generate pseudo-random numbers using the linear congruential "
1653 "algorithm and 48-bit integer arithmetic."
1654 msgstr ""
1655 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1656 "する。"
1657
1658 #. type: Plain text
1659 #: build/C/man3/drand48.3:86
1660 msgid ""
1661 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
1662 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1663 msgstr ""
1664 "関数 B<drand48>()  と B<erand48>()  は、区間 [0.0, 1.0) で 一様分布する非負の"
1665 "倍精度浮動小数点実数値を返す。"
1666
1667 #. type: Plain text
1668 #: build/C/man3/drand48.3:93
1669 msgid ""
1670 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1671 "integers uniformly distributed between 0 and 2^31."
1672 msgstr ""
1673 "関数 B<lrand48>()  と B<nrand48>()  は 0 と 2^31 の間で一様分布する 非負のロ"
1674 "ング整数を返す。"
1675
1676 #. type: Plain text
1677 #: build/C/man3/drand48.3:100
1678 msgid ""
1679 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1680 "uniformly distributed between -2^31 and 2^31."
1681 msgstr ""
1682 "関数 B<mrand48>()  と B<jrand48>()  は -2^31 と 2^31 の間で一様分布する符号付"
1683 "きロング整数を返す。"
1684
1685 #. type: Plain text
1686 #: build/C/man3/drand48.3:119
1687 msgid ""
1688 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
1689 "initialization functions, one of which should be called before using "
1690 "B<drand48>(), B<lrand48>()  or B<mrand48>().  The functions B<erand48>(), "
1691 "B<nrand48>()  and B<jrand48>()  do not require an initialization function to "
1692 "be called first."
1693 msgstr ""
1694 "関数 B<srand48>(), B<seed48>(), B<lcong48>()  は初期化関数 である。 関数 "
1695 "B<drand48>(), B<lrand48>(), B<mrand48>()  を 使用する前に、これらの初期化関数"
1696 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>()  "
1697 "は初めに 初期化関数を呼ぶことを必要としない。"
1698
1699 #. type: Plain text
1700 #: build/C/man3/drand48.3:123
1701 msgid ""
1702 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1703 "according to the linear congruential formula:"
1704 msgstr ""
1705 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1706 "ることで 機能している。生成方法は以下の線形合同の式による。"
1707
1708 #. type: Plain text
1709 #: build/C/man3/drand48.3:127
1710 #, no-wrap
1711 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1712 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1713
1714 #. type: Plain text
1715 #: build/C/man3/drand48.3:140
1716 msgid ""
1717 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
1718 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
1719 msgstr ""
1720 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1721 "演算が行われている。 B<lcong48>()  が呼ばれていない場合、I<a> と I<c> は以下"
1722 "の式で与えられる。"
1723
1724 #. type: Plain text
1725 #: build/C/man3/drand48.3:145
1726 #, no-wrap
1727 msgid ""
1728 "B<a = 0x5DEECE66D>\n"
1729 "B<c = 0xB>\n"
1730 msgstr ""
1731 "B<a = 0x5DEECE66D>\n"
1732 "B<c = 0xB>\n"
1733
1734 #. type: Plain text
1735 #: build/C/man3/drand48.3:165
1736 msgid ""
1737 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1738 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
1739 "first generating the next 48-bit I<Xi> in the sequence.  Then the "
1740 "appropriate number of bits, according to the type of data item to be "
1741 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1742 "the returned value."
1743 msgstr ""
1744 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1745 "B<jrand48>()  で返される値は次のようにして計算される。 はじめに、次の48ビット"
1746 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1747 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1748
1749 #. type: Plain text
1750 #: build/C/man3/drand48.3:191
1751 msgid ""
1752 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
1753 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
1754 "B<nrand48>()  and B<jrand48>()  require the calling program to provide "
1755 "storage for the successive I<Xi> values in the array argument I<xsubi>.  The "
1756 "functions are initialized by placing the initial value of I<Xi> into the "
1757 "array before calling the function for the first time."
1758 msgstr ""
1759 "関数 B<drand48>(), B<lrand48>(), B<mrand48>()  は 最後に生成された48ビットの "
1760 "I<Xi> を内部バッファに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値"
1761 "を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1762 "B<jrand48>()  は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1763 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1764
1765 #. type: Plain text
1766 #: build/C/man3/drand48.3:200
1767 msgid ""
1768 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
1769 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
1770 "value 0x330E."
1771 msgstr ""
1772 "初期化関数 B<srand48>()  は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1773 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1774
1775 #. type: Plain text
1776 #: build/C/man3/drand48.3:214
1777 msgid ""
1778 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
1779 "value specified in the array argument I<seed16v>.  The previous value of "
1780 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1781 "returned by B<seed48>()."
1782 msgstr ""
1783 "初期化関数 B<seed48>()  は、I<Xi> の値を、 配列の形をした引数である "
1784 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1785 "ファにコピーされ、このバッファへのポインタが B<seed48>()  によって返される。"
1786
1787 #. type: Plain text
1788 #: build/C/man3/drand48.3:245
1789 msgid ""
1790 "The initialization function B<lcong48>()  allows the user to specify initial "
1791 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
1792 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
1793 "After B<lcong48>()  has been called, a subsequent call to either "
1794 "B<srand48>()  or B<seed48>()  will restore the standard values of I<a> and "
1795 "I<c>."
1796 msgstr ""
1797 "初期化関数 B<lcong48>()  は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1798 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1799 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1800 "B<lcong48>()  が呼ばれた後で、 B<srand48>()  か B<seed48>()  を呼ぶと、前述"
1801 "の I<a> と I<c> の 標準値が再び設定される。"
1802
1803 #. type: Plain text
1804 #: build/C/man3/drand48.3:260
1805 msgid ""
1806 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1807 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
1808 "global state information for the random number generator, so they are not "
1809 "thread-safe."
1810 msgstr ""
1811 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1812 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1813 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1814 "ない。"
1815
1816 #. type: Plain text
1817 #: build/C/man3/drand48.3:262
1818 msgid "SVr4, POSIX.1-2001."
1819 msgstr "SVr4, POSIX.1-2001."
1820
1821 #. type: Plain text
1822 #: build/C/man3/drand48.3:266
1823 msgid ""
1824 "These functions are declared obsolete by SVID 3, which states that "
1825 "B<rand>(3)  should be used instead."
1826 msgstr ""
1827 "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では B<rand>(3)  "
1828 "が代わりに使用されるべきだと記述されている。"
1829
1830 #. type: Plain text
1831 #: build/C/man3/drand48.3:269
1832 msgid "B<rand>(3), B<random>(3)"
1833 msgstr "B<rand>(3), B<random>(3)"
1834
1835 #. type: TH
1836 #: build/C/man3/drand48_r.3:27
1837 #, no-wrap
1838 msgid "DRAND48_R"
1839 msgstr "DRAND48_R"
1840
1841 #. type: TH
1842 #: build/C/man3/drand48_r.3:27
1843 #, no-wrap
1844 msgid "2013-09-09"
1845 msgstr "2013-09-09"
1846
1847 #. type: Plain text
1848 #: build/C/man3/drand48_r.3:32
1849 msgid ""
1850 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1851 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1852 "reentrantly"
1853 msgstr ""
1854 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1855 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1856 "する"
1857
1858 #. type: Plain text
1859 #: build/C/man3/drand48_r.3:37
1860 #, no-wrap
1861 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1862 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1863
1864 #. type: Plain text
1865 #: build/C/man3/drand48_r.3:39
1866 #, no-wrap
1867 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1868 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1869
1870 #. type: Plain text
1871 #: build/C/man3/drand48_r.3:41
1872 #, no-wrap
1873 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1874 msgstr "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1875
1876 #. type: Plain text
1877 #: build/C/man3/drand48_r.3:43
1878 #, no-wrap
1879 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1880 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1881
1882 #. type: Plain text
1883 #: build/C/man3/drand48_r.3:45
1884 #, no-wrap
1885 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1886 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1887
1888 #. type: Plain text
1889 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1890 #, no-wrap
1891 msgid "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1892 msgstr "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1893
1894 #. type: Plain text
1895 #: build/C/man3/drand48_r.3:49
1896 #, no-wrap
1897 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1898 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1899
1900 #. type: Plain text
1901 #: build/C/man3/drand48_r.3:51
1902 #, no-wrap
1903 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1904 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1905
1906 #. type: Plain text
1907 #: build/C/man3/drand48_r.3:55
1908 #, no-wrap
1909 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1910 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1911
1912 #. type: Plain text
1913 #: build/C/man3/drand48_r.3:57
1914 #, no-wrap
1915 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1916 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1917
1918 #. type: Plain text
1919 #: build/C/man3/drand48_r.3:59
1920 #, no-wrap
1921 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1922 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1923
1924 #. type: Plain text
1925 #: build/C/man3/drand48_r.3:61
1926 #, no-wrap
1927 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1928 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1929
1930 #. type: Plain text
1931 #: build/C/man3/drand48_r.3:63
1932 #, no-wrap
1933 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1934 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1935
1936 #.  .BR drand48_r (),
1937 #.  .BR erand48_r (),
1938 #.  .BR lrand48_r (),
1939 #.  .BR nrand48_r (),
1940 #.  .BR mrand48_r (),
1941 #.  .BR jrand48_r (),
1942 #.  .BR srand48_r (),
1943 #.  .BR seed48_r (),
1944 #.  .BR lcong48_r ():
1945 #. type: Plain text
1946 #: build/C/man3/drand48_r.3:82
1947 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1948 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1949
1950 #. type: Plain text
1951 #: build/C/man3/drand48_r.3:89
1952 msgid ""
1953 "These functions are the reentrant analogs of the functions described in "
1954 "B<drand48>(3).  Instead of modifying the global random generator state, they "
1955 "use the supplied data I<buffer>."
1956 msgstr ""
1957 "これらの関数は B<drand48>(3)  で説明されている関数に類似するリエントラントな"
1958 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1959 "れたデータ I<buffer> を使う。"
1960
1961 #. type: Plain text
1962 #: build/C/man3/drand48_r.3:96
1963 msgid ""
1964 "Before the first use, this struct must be initialized, for example, by "
1965 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1966 "B<seed48_r>(), or B<lcong48_r>()."
1967 msgstr ""
1968 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1969 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>()  のいずれ"
1970 "かを呼び出すことによって行われる。"
1971
1972 #. type: Plain text
1973 #: build/C/man3/drand48_r.3:98
1974 msgid "The return value is 0."
1975 msgstr "返り値は 0 である。"
1976
1977 #. type: Plain text
1978 #: build/C/man3/drand48_r.3:112
1979 msgid ""
1980 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1981 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1982 "B<lcong48_r>()  functions are thread-safe."
1983 msgstr ""
1984 "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1985 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), "
1986 "B<lcong48_r>() はスレッドセーフである。"
1987
1988 #. type: Plain text
1989 #: build/C/man3/drand48_r.3:114
1990 msgid "These functions are GNU extensions and are not portable."
1991 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1992
1993 #. type: Plain text
1994 #: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:145
1995 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1996 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1997
1998 #. type: TH
1999 #: build/C/man3/ecvt.3:32
2000 #, no-wrap
2001 msgid "ECVT"
2002 msgstr "ECVT"
2003
2004 #. type: TH
2005 #: build/C/man3/ecvt.3:32
2006 #, no-wrap
2007 msgid "2013-07-04"
2008 msgstr "2013-07-04"
2009
2010 #. type: Plain text
2011 #: build/C/man3/ecvt.3:35
2012 msgid "ecvt, fcvt - convert a floating-point number to a string"
2013 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
2014
2015 #. type: Plain text
2016 #: build/C/man3/ecvt.3:40
2017 msgid ""
2018 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2019 "B<int *>I<sign>B<);>"
2020 msgstr ""
2021 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2022 "B<int *>I<sign>B<);>"
2023
2024 #. type: Plain text
2025 #: build/C/man3/ecvt.3:43
2026 msgid ""
2027 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2028 "B<int *>I<sign>B<);>"
2029 msgstr ""
2030 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2031 "B<int *>I<sign>B<);>"
2032
2033 #. type: Plain text
2034 #: build/C/man3/ecvt.3:51
2035 msgid "B<ecvt>(), B<fcvt>():"
2036 msgstr "B<ecvt>(), B<fcvt>():"
2037
2038 #. type: TP
2039 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
2040 #, no-wrap
2041 msgid "Since glibc 2.12:"
2042 msgstr "glibc 2.12 以降:"
2043
2044 #. type: Plain text
2045 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
2046 #, no-wrap
2047 msgid ""
2048 "_SVID_SOURCE ||\n"
2049 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2050 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2051 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2052 msgstr ""
2053 "_SVID_SOURCE ||\n"
2054 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2055 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2056 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2057
2058 #. type: TP
2059 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
2060 #, no-wrap
2061 msgid "Before glibc 2.12:"
2062 msgstr "glibc 2.12 より前:"
2063
2064 #. type: Plain text
2065 #: build/C/man3/ecvt.3:92
2066 msgid ""
2067 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
2068 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
2069 "determined by the precision of a I<double>), and returns a pointer to the "
2070 "string.  The high-order digit is nonzero, unless I<number> is zero.  The low "
2071 "order digit is rounded.  The string itself does not contain a decimal point; "
2072 "however, the position of the decimal point relative to the start of the "
2073 "string is stored in I<*decpt>.  A negative value for I<*decpt> means that "
2074 "the decimal point is to the left of the start of the string.  If the sign of "
2075 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
2076 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
2077 "1."
2078 msgstr ""
2079 "関数 B<ecvt>()  は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ"
2080 "変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によって"
2081 "決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の値"
2082 "となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁は"
2083 "丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの小"
2084 "数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文字"
2085 "列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
2086 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
2087 "ら、I<*decpt> が 0 か 1 かは未規定である。"
2088
2089 #. type: Plain text
2090 #: build/C/man3/ecvt.3:99
2091 msgid ""
2092 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
2093 "specifies the number of digits after the decimal point."
2094 msgstr ""
2095 "関数 B<fcvt>()  は B<ecvt>()  と同じ機能を持つが、I<ndigits> は小数点以下の文"
2096 "字数を指定する。"
2097
2098 #. type: Plain text
2099 #: build/C/man3/ecvt.3:110
2100 msgid ""
2101 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
2102 "string containing the ASCII representation of I<number>.  The static string "
2103 "is overwritten by each call to B<ecvt>()  or B<fcvt>()."
2104 msgstr ""
2105 "関数 B<ecvt>()  と B<fcvt>()  は I<number> の ASCII 表現を含む 静的な領域内の"
2106 "文字列へのポインタを返す。 この文字列は B<ecvt>()  や B<fcvt>()  の呼び出しの"
2107 "たびに上書きされる。"
2108
2109 #. type: Plain text
2110 #: build/C/man3/ecvt.3:117
2111 msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
2112 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
2113
2114 #. type: Plain text
2115 #: build/C/man3/ecvt.3:129
2116 msgid ""
2117 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
2118 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
2119 "B<sprintf>(3)  instead (though B<snprintf>(3)  may be preferable)."
2120 msgstr ""
2121 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2122 "POSIX.1-2008 では B<ecvt>()  と B<fcvt>()  の仕様が削除され、代わりに "
2123 "B<sprintf>(3)  の使用が推奨されている(しかし B<snprintf>(3)  がより適切かもし"
2124 "れない)。"
2125
2126 #. type: Plain text
2127 #: build/C/man3/ecvt.3:135
2128 msgid ""
2129 "Linux libc4 and libc5 specified the type of I<ndigits> as I<size_t>.  Not "
2130 "all locales use a point as the radix character (\"decimal point\")."
2131 msgstr ""
2132 "Linux libc4 と libc5 では I<ndigits> の型は I<size_t> となっていた。 小数点に"
2133 "ピリオドを使わないロケールもある。"
2134
2135 #. type: Plain text
2136 #: build/C/man3/ecvt.3:141
2137 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2138 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2139
2140 #. type: TH
2141 #: build/C/man3/ecvt_r.3:30
2142 #, no-wrap
2143 msgid "ECVT_R"
2144 msgstr "ECVT_R"
2145
2146 #. type: Plain text
2147 #: build/C/man3/ecvt_r.3:33
2148 msgid ""
2149 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2150 "string"
2151 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2152
2153 #. type: Plain text
2154 #: build/C/man3/ecvt_r.3:39
2155 #, no-wrap
2156 msgid ""
2157 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2158 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2159 msgstr ""
2160 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2161 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2162
2163 #. type: Plain text
2164 #: build/C/man3/ecvt_r.3:42
2165 #, no-wrap
2166 msgid ""
2167 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2168 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2169 msgstr ""
2170 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2171 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2172
2173 #. type: Plain text
2174 #: build/C/man3/ecvt_r.3:45
2175 #, no-wrap
2176 msgid ""
2177 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2178 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2179 msgstr ""
2180 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2181 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2182
2183 #. type: Plain text
2184 #: build/C/man3/ecvt_r.3:48
2185 #, no-wrap
2186 msgid ""
2187 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2188 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2189 msgstr ""
2190 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2191 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2192
2193 #. type: Plain text
2194 #: build/C/man3/ecvt_r.3:60
2195 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2196 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2197
2198 #. type: Plain text
2199 #: build/C/man3/ecvt_r.3:62
2200 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2201 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2202
2203 #. type: Plain text
2204 #: build/C/man3/ecvt_r.3:86
2205 msgid ""
2206 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>()  and B<qfcvt_r>()  are "
2207 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3)  and B<qfcvt>(3), "
2208 "respectively, except that they do not return their result in a static "
2209 "buffer, but instead use the supplied I<buf> of size I<len>.  See B<ecvt>(3)  "
2210 "and B<qecvt>(3)."
2211 msgstr ""
2212 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>()  は、それぞれ "
2213 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3)  と同じであるが、 静的バッ"
2214 "ファの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 "
2215 "B<ecvt>(3), B<qecvt>(3)  を参照のこと。"
2216
2217 #. type: Plain text
2218 #: build/C/man3/ecvt_r.3:88
2219 msgid "These functions return 0 on success, and -1 otherwise."
2220 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2221
2222 #. type: Plain text
2223 #: build/C/man3/ecvt_r.3:90
2224 msgid "These functions are GNU extensions."
2225 msgstr "これらの関数は GNU による拡張である。"
2226
2227 #. type: Plain text
2228 #: build/C/man3/ecvt_r.3:95
2229 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
2230 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3)  の使用を推奨する。"
2231
2232 #. type: Plain text
2233 #: build/C/man3/ecvt_r.3:99
2234 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2235 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2236
2237 #. type: TH
2238 #: build/C/man3/exit.3:29
2239 #, no-wrap
2240 msgid "EXIT"
2241 msgstr "EXIT"
2242
2243 #. type: TH
2244 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
2245 #, no-wrap
2246 msgid "2014-03-25"
2247 msgstr "2014-03-25"
2248
2249 #. type: Plain text
2250 #: build/C/man3/exit.3:32
2251 msgid "exit - cause normal process termination"
2252 msgstr "exit - プロセスの正常終了"
2253
2254 #. type: Plain text
2255 #: build/C/man3/exit.3:37
2256 #, no-wrap
2257 msgid "B<void exit(int >I<status>B<);>\n"
2258 msgstr "B<void exit(int >I<status>B<);>\n"
2259
2260 #. type: Plain text
2261 #: build/C/man3/exit.3:45
2262 msgid ""
2263 "The B<exit>()  function causes normal process termination and the value of "
2264 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2265 msgstr ""
2266 "B<exit>()  関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2267 "ロセスへ返す (B<wait>(2)  を参照)。"
2268
2269 #. type: Plain text
2270 #: build/C/man3/exit.3:72
2271 msgid ""
2272 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
2273 "in the reverse order of their registration.  (It is possible for one of "
2274 "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
2275 "additional function to be executed during exit processing; the new "
2276 "registration is added to the front of the list of functions that remain to "
2277 "be called.)  If one of these functions does not return (e.g., it calls "
2278 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2279 "functions is called, and further exit processing (in particular, flushing of "
2280 "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
2281 "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
2282 "many times as it was registered."
2283 msgstr ""
2284 "B<atexit>(3)  や B<on_exit>(3)  によって 登録された全ての関数は、それらが登録"
2285 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3)  or "
2286 "B<on_exit>(3)  を使って exit 処理中に実行される追加の関数を登録することができ"
2287 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2288 "る。)  これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2)  "
2289 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2290 "出されず、それ以降の exit 処理 (特に B<stdio>(3)  ストリームのフラッシュな"
2291 "ど) は中止される。 ある関数が B<atexit>(3)  や B<on_exit>(3)  を使って複数回"
2292 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2293
2294 #. type: Plain text
2295 #: build/C/man3/exit.3:79
2296 msgid ""
2297 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
2298 "B<tmpfile>(3)  are removed."
2299 msgstr ""
2300 "オープン中の B<stdio>(3)  ストリームは全てフラッシュされて、クローズされる。 "
2301 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
2302
2303 #. type: Plain text
2304 #: build/C/man3/exit.3:86
2305 msgid ""
2306 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2307 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
2308 "termination, respectively."
2309 msgstr ""
2310 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2311 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>()  として渡すことができ"
2312 "る。"
2313
2314 #. type: Plain text
2315 #: build/C/man3/exit.3:90
2316 msgid "The B<exit>()  function does not return."
2317 msgstr "B<exit>()  関数は返らない。"
2318
2319 #. type: Plain text
2320 #: build/C/man3/exit.3:96
2321 msgid ""
2322 "The B<exit>()  function uses a global variable that is not protected, so it "
2323 "is not thread-safe."
2324 msgstr ""
2325 "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
2326 "セーフではない。"
2327
2328 #. type: Plain text
2329 #: build/C/man3/exit.3:98
2330 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2331 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2332
2333 #. type: Plain text
2334 #: build/C/man3/exit.3:115
2335 msgid ""
2336 "It is undefined what happens if one of the functions registered using "
2337 "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
2338 "Note that a call to B<execve>(2)  removes registrations created using "
2339 "B<atexit>(3)  and B<on_exit>(3)."
2340 msgstr ""
2341 "B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>() か "
2342 "B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。 "
2343 "B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された"
2344 "関数が削除される点に注意すること。"
2345
2346 #. type: Plain text
2347 #: build/C/man3/exit.3:124
2348 msgid ""
2349 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2350 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2351 "-1.  In particular, VMS uses a different convention."
2352 msgstr ""
2353 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2354 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2355 "VMS は別の方式を用いている。"
2356
2357 #. type: Plain text
2358 #: build/C/man3/exit.3:127
2359 msgid ""
2360 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2361 "hE<gt>>."
2362 msgstr ""
2363 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2364 "こと。"
2365
2366 #. type: Plain text
2367 #: build/C/man3/exit.3:152
2368 msgid ""
2369 "After B<exit>(), the exit status must be transmitted to the parent process.  "
2370 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
2371 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
2372 "parent was waiting on the child, it is notified of the exit status.  In both "
2373 "cases the exiting process dies immediately.  If the parent has not indicated "
2374 "that it is not interested in the exit status, but is not waiting, the "
2375 "exiting process turns into a \"zombie\" process (which is nothing but a "
2376 "container for the single byte representing the exit status) so that the "
2377 "parent can learn the exit status when it later calls one of the B<wait>(2)  "
2378 "functions."
2379 msgstr ""
2380 "B<exit>()  の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2381 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2382 "た場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータス"
2383 "は破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終"
2384 "了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2385 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2386 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2387 "る)  「ゾンビ」プロセスになる。 これにより、後から B<wait>(2)  関数を呼び出す"
2388 "ことで、 親プロセスは終了ステータスを知ることができる。"
2389
2390 #. type: Plain text
2391 #: build/C/man3/exit.3:162
2392 msgid ""
2393 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2394 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2395 "a B<SIGCHLD> signal is sent."
2396 msgstr ""
2397 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2398 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2399 "ルが送られるかどうかは定義されていない。"
2400
2401 #. type: Plain text
2402 #: build/C/man3/exit.3:171
2403 msgid ""
2404 "If the process is a session leader and its controlling terminal is the "
2405 "controlling terminal of the session, then each process in the foreground "
2406 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2407 "the terminal is disassociated from this session, allowing it to be acquired "
2408 "by a new controlling process."
2409 msgstr ""
2410 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2411 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2412 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2413 "これにより新しい制御プロセスを取得することができる。"
2414
2415 #. type: Plain text
2416 #: build/C/man3/exit.3:183
2417 msgid ""
2418 "If the exit of the process causes a process group to become orphaned, and if "
2419 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2420 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2421 "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
2422 "groups."
2423 msgstr ""
2424 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2425 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2426 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2427 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
2428
2429 #. type: Plain text
2430 #: build/C/man3/exit.3:190
2431 msgid ""
2432 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2433 "B<tmpfile>(3)"
2434 msgstr ""
2435 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2436 "B<tmpfile>(3)"
2437
2438 #. type: TH
2439 #: build/C/man3/gcvt.3:30
2440 #, no-wrap
2441 msgid "GCVT"
2442 msgstr "GCVT"
2443
2444 #. type: Plain text
2445 #: build/C/man3/gcvt.3:33
2446 msgid "gcvt - convert a floating-point number to a string"
2447 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2448
2449 #. type: Plain text
2450 #: build/C/man3/gcvt.3:38
2451 #, no-wrap
2452 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2453 msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2454
2455 #. type: Plain text
2456 #: build/C/man3/gcvt.3:46
2457 msgid "B<gcvt>():"
2458 msgstr "B<gcvt>():"
2459
2460 #. type: Plain text
2461 #: build/C/man3/gcvt.3:61
2462 msgid ""
2463 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2464 "_XOPEN_SOURCE_EXTENDED"
2465 msgstr ""
2466 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2467 "_XOPEN_SOURCE_EXTENDED"
2468
2469 #. type: Plain text
2470 #: build/C/man3/gcvt.3:72
2471 msgid ""
2472 "The B<gcvt>()  function converts I<number> to a minimal length null-"
2473 "terminated ASCII string and stores the result in I<buf>.  It produces "
2474 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
2475 msgstr ""
2476 "関数 B<gcvt>()  は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
2477 "変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマット"
2478 "や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2479
2480 #. type: Plain text
2481 #: build/C/man3/gcvt.3:77
2482 msgid ""
2483 "The B<gcvt>()  function returns the address of the string pointed to by "
2484 "I<buf>."
2485 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインタを返す。"
2486
2487 #. type: Plain text
2488 #: build/C/man3/gcvt.3:86
2489 msgid ""
2490 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
2491 "B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though "
2492 "B<snprintf>(3)  may be preferable)."
2493 msgstr ""
2494 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2495 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
2496 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
2497
2498 #. type: Plain text
2499 #: build/C/man3/gcvt.3:90
2500 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2501 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2502
2503 #. type: TH
2504 #: build/C/man3/getauxval.3:29
2505 #, no-wrap
2506 msgid "GETAUXVAL"
2507 msgstr "GETAUXVAL"
2508
2509 #. type: Plain text
2510 #: build/C/man3/getauxval.3:32
2511 msgid "getauxval - retrieve a value from the auxiliary vector"
2512 msgstr ""
2513
2514 #. type: Plain text
2515 #: build/C/man3/getauxval.3:35
2516 #, no-wrap
2517 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2518 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2519
2520 #. type: Plain text
2521 #: build/C/man3/getauxval.3:37
2522 #, no-wrap
2523 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2524 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2525
2526 #. type: Plain text
2527 #: build/C/man3/getauxval.3:45
2528 msgid ""
2529 "The B<getauxval>()  function retrieves values from the auxiliary vector, a "
2530 "mechanism that the kernel's ELF binary loader uses to pass certain "
2531 "information to user space when a program is executed."
2532 msgstr ""
2533
2534 #. type: Plain text
2535 #: build/C/man3/getauxval.3:53
2536 msgid ""
2537 "Each entry in the auxiliary vector consists of a pair of values: a type that "
2538 "identifies what this entry represents, and a value for that type.  Given the "
2539 "argument I<type>, B<getauxval>()  returns the corresponding value."
2540 msgstr ""
2541
2542 #. type: Plain text
2543 #: build/C/man3/getauxval.3:60
2544 msgid ""
2545 "The value returned for each I<type> is given in the following list.  Not all "
2546 "I<type> values are present on all architectures."
2547 msgstr ""
2548
2549 #. type: TP
2550 #: build/C/man3/getauxval.3:60
2551 #, no-wrap
2552 msgid "B<AT_BASE>"
2553 msgstr "B<AT_BASE>"
2554
2555 #. type: Plain text
2556 #: build/C/man3/getauxval.3:63
2557 msgid ""
2558 "The base address of the program interpreter (usually, the dynamic linker)."
2559 msgstr ""
2560
2561 #. type: TP
2562 #: build/C/man3/getauxval.3:63
2563 #, no-wrap
2564 msgid "B<AT_BASE_PLATFORM>"
2565 msgstr "B<AT_BASE_PLATFORM>"
2566
2567 #. type: Plain text
2568 #: build/C/man3/getauxval.3:68
2569 msgid ""
2570 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2571 "(PowerPC only)."
2572 msgstr ""
2573
2574 #. type: TP
2575 #: build/C/man3/getauxval.3:68
2576 #, no-wrap
2577 msgid "B<AT_CLKTCK>"
2578 msgstr "B<AT_CLKTCK>"
2579
2580 #. type: Plain text
2581 #: build/C/man3/getauxval.3:75
2582 msgid ""
2583 "The frequency with which B<times>(2)  counts.  This value can also be "
2584 "obtained via I<sysconf(_SC_CLK_TCK)>."
2585 msgstr ""
2586
2587 #. type: TP
2588 #: build/C/man3/getauxval.3:75
2589 #, no-wrap
2590 msgid "B<AT_DCACHEBSIZE>"
2591 msgstr "B<AT_DCACHEBSIZE>"
2592
2593 #. type: Plain text
2594 #: build/C/man3/getauxval.3:78
2595 msgid "The data cache block size."
2596 msgstr ""
2597
2598 #. type: TP
2599 #: build/C/man3/getauxval.3:78
2600 #, no-wrap
2601 msgid "B<AT_EGID>"
2602 msgstr "B<AT_EGID>"
2603
2604 #. type: Plain text
2605 #: build/C/man3/getauxval.3:81
2606 msgid "The effective group ID of the thread."
2607 msgstr ""
2608
2609 #. type: TP
2610 #: build/C/man3/getauxval.3:81
2611 #, no-wrap
2612 msgid "B<AT_ENTRY>"
2613 msgstr "B<AT_ENTRY>"
2614
2615 #. type: Plain text
2616 #: build/C/man3/getauxval.3:84
2617 msgid "The entry address of the executable."
2618 msgstr ""
2619
2620 #. type: TP
2621 #: build/C/man3/getauxval.3:84
2622 #, no-wrap
2623 msgid "B<AT_EUID>"
2624 msgstr "B<AT_EUID>"
2625
2626 #. type: Plain text
2627 #: build/C/man3/getauxval.3:87
2628 msgid "The effective user ID of the thread."
2629 msgstr ""
2630
2631 #. type: TP
2632 #: build/C/man3/getauxval.3:87
2633 #, no-wrap
2634 msgid "B<AT_EXECFD>"
2635 msgstr "B<AT_EXECFD>"
2636
2637 #. type: Plain text
2638 #: build/C/man3/getauxval.3:90
2639 msgid "File descriptor of program."
2640 msgstr ""
2641
2642 #. type: TP
2643 #: build/C/man3/getauxval.3:90
2644 #, no-wrap
2645 msgid "B<AT_EXECFN>"
2646 msgstr "B<AT_EXECFN>"
2647
2648 #. type: Plain text
2649 #: build/C/man3/getauxval.3:93
2650 msgid "Pathname used to execute program."
2651 msgstr ""
2652
2653 #. type: TP
2654 #: build/C/man3/getauxval.3:93
2655 #, no-wrap
2656 msgid "B<AT_FLAGS>"
2657 msgstr "B<AT_FLAGS>"
2658
2659 #. type: Plain text
2660 #: build/C/man3/getauxval.3:96
2661 msgid "Flags (unused)."
2662 msgstr ""
2663
2664 #. type: TP
2665 #: build/C/man3/getauxval.3:96
2666 #, no-wrap
2667 msgid "B<AT_FPUCW>"
2668 msgstr "B<AT_FPUCW>"
2669
2670 #. type: Plain text
2671 #: build/C/man3/getauxval.3:101
2672 msgid ""
2673 "Used FPU control word (SuperH architecture only).  This gives some "
2674 "information about the FPU initialization performed by the kernel."
2675 msgstr ""
2676
2677 #. type: TP
2678 #: build/C/man3/getauxval.3:101
2679 #, no-wrap
2680 msgid "B<AT_GID>"
2681 msgstr "B<AT_GID>"
2682
2683 #. type: Plain text
2684 #: build/C/man3/getauxval.3:104
2685 msgid "The real group ID of the thread."
2686 msgstr ""
2687
2688 #. type: TP
2689 #: build/C/man3/getauxval.3:104
2690 #, no-wrap
2691 msgid "B<AT_HWCAP>"
2692 msgstr "B<AT_HWCAP>"
2693
2694 #. type: Plain text
2695 #: build/C/man3/getauxval.3:114
2696 msgid ""
2697 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2698 "processor capabilities.  The contents of the bit mask are hardware dependent "
2699 "(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
2700 "h> for details relating to the Intel x86 architecture).  A human-readable "
2701 "version of the same information is available via I</proc/cpuinfo>."
2702 msgstr ""
2703
2704 #. type: TP
2705 #: build/C/man3/getauxval.3:114
2706 #, no-wrap
2707 msgid "B<AT_ICACHEBSIZE>"
2708 msgstr "B<AT_ICACHEBSIZE>"
2709
2710 #.  .TP
2711 #.  .BR AT_IGNORE
2712 #.  .TP
2713 #.  .BR AT_IGNOREPPC
2714 #.  .TP
2715 #.  .BR AT_NOTELF
2716 #. type: Plain text
2717 #: build/C/man3/getauxval.3:123
2718 msgid "The instruction cache block size."
2719 msgstr ""
2720
2721 #. type: TP
2722 #: build/C/man3/getauxval.3:123
2723 #, no-wrap
2724 msgid "B<AT_PAGESZ>"
2725 msgstr "B<AT_PAGESZ>"
2726
2727 #. type: Plain text
2728 #: build/C/man3/getauxval.3:127
2729 msgid ""
2730 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2731 msgstr ""
2732
2733 #. type: TP
2734 #: build/C/man3/getauxval.3:127
2735 #, no-wrap
2736 msgid "B<AT_PHDR>"
2737 msgstr "B<AT_PHDR>"
2738
2739 #. type: Plain text
2740 #: build/C/man3/getauxval.3:130
2741 msgid "The address of the program headers of the executable."
2742 msgstr ""
2743
2744 #. type: TP
2745 #: build/C/man3/getauxval.3:130
2746 #, no-wrap
2747 msgid "B<AT_PHENT>"
2748 msgstr "B<AT_PHENT>"
2749
2750 #. type: Plain text
2751 #: build/C/man3/getauxval.3:133
2752 msgid "The size of program header entry."
2753 msgstr ""
2754
2755 #. type: TP
2756 #: build/C/man3/getauxval.3:133
2757 #, no-wrap
2758 msgid "B<AT_PHNUM>"
2759 msgstr "B<AT_PHNUM>"
2760
2761 #. type: Plain text
2762 #: build/C/man3/getauxval.3:136
2763 msgid "The number of program headers."
2764 msgstr ""
2765
2766 #. type: TP
2767 #: build/C/man3/getauxval.3:136
2768 #, no-wrap
2769 msgid "B<AT_PLATFORM>"
2770 msgstr "B<AT_PLATFORM>"
2771
2772 #. type: Plain text
2773 #: build/C/man3/getauxval.3:143
2774 msgid ""
2775 "A pointer to a string that identifies the hardware platform that the program "
2776 "is running on.  The dynamic linker uses this in the interpretation of "
2777 "I<rpath> values."
2778 msgstr ""
2779
2780 #. type: TP
2781 #: build/C/man3/getauxval.3:143
2782 #, no-wrap
2783 msgid "B<AT_RANDOM>"
2784 msgstr "B<AT_RANDOM>"
2785
2786 #. type: Plain text
2787 #: build/C/man3/getauxval.3:146
2788 msgid "The address of sixteen bytes containing a random value."
2789 msgstr ""
2790
2791 #. type: TP
2792 #: build/C/man3/getauxval.3:146
2793 #, no-wrap
2794 msgid "B<AT_SECURE>"
2795 msgstr "B<AT_SECURE>"
2796
2797 #. type: Plain text
2798 #: build/C/man3/getauxval.3:158
2799 msgid ""
2800 "Has a nonzero value if this executable should be treated securely.  Most "
2801 "commonly, a nonzero value indicates that the process is executing a set-user-"
2802 "ID or set-group-ID program; alternatively, a nonzero value may be triggered "
2803 "by a Linux Security Module.  When this value is nonzero, the dynamic linker "
2804 "disables the use of certain environment variables (see B<ld-linux.so>(8))  "
2805 "and glibc changes other aspects of its behavior.  (See also "
2806 "B<secure_getenv>(3).)"
2807 msgstr ""
2808
2809 #. type: TP
2810 #: build/C/man3/getauxval.3:158
2811 #, no-wrap
2812 msgid "B<AT_SYSINFO>"
2813 msgstr "B<AT_SYSINFO>"
2814
2815 #. type: Plain text
2816 #: build/C/man3/getauxval.3:162
2817 msgid ""
2818 "The entry point to the system call function in the vDSO.  Not present/needed "
2819 "on all architectures (e.g., absent on x86-64)."
2820 msgstr ""
2821
2822 #. type: TP
2823 #: build/C/man3/getauxval.3:162
2824 #, no-wrap
2825 msgid "B<AT_SYSINFO_EHDR>"
2826 msgstr "B<AT_SYSINFO_EHDR>"
2827
2828 #. type: Plain text
2829 #: build/C/man3/getauxval.3:167
2830 msgid ""
2831 "The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
2832 "that the kernel creates in order to provide fast implementations of certain "
2833 "system calls."
2834 msgstr ""
2835
2836 #. type: TP
2837 #: build/C/man3/getauxval.3:167
2838 #, no-wrap
2839 msgid "B<AT_UCACHEBSIZE>"
2840 msgstr "B<AT_UCACHEBSIZE>"
2841
2842 #. type: Plain text
2843 #: build/C/man3/getauxval.3:170
2844 msgid "The unified cache block size."
2845 msgstr ""
2846
2847 #. type: TP
2848 #: build/C/man3/getauxval.3:170
2849 #, no-wrap
2850 msgid "B<AT_UID>"
2851 msgstr "B<AT_UID>"
2852
2853 #. type: Plain text
2854 #: build/C/man3/getauxval.3:173
2855 msgid "The real user ID of the thread."
2856 msgstr ""
2857
2858 #. type: Plain text
2859 #: build/C/man3/getauxval.3:181
2860 msgid ""
2861 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2862 "I<type> is not found, 0 is returned."
2863 msgstr ""
2864 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2865 "らない場合には 0 を返す。"
2866
2867 #. type: Plain text
2868 #: build/C/man3/getauxval.3:183
2869 msgid "No errors are diagnosed."
2870 msgstr "エラーは検出されない。"
2871
2872 #. type: Plain text
2873 #: build/C/man3/getauxval.3:187
2874 msgid "The B<getauxval>()  function was added to glibc in version 2.16."
2875 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2876
2877 #. type: Plain text
2878 #: build/C/man3/getauxval.3:192
2879 msgid "The B<getauxval>()  function is thread-safe."
2880 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2881
2882 #. type: Plain text
2883 #: build/C/man3/getauxval.3:194
2884 msgid "This function is a nonstandard glibc extension."
2885 msgstr "この関数は非標準で glibc による拡張である。"
2886
2887 #. type: Plain text
2888 #: build/C/man3/getauxval.3:203
2889 msgid ""
2890 "The primary consumer of the information in the auxiliary vector is the "
2891 "dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
2892 "efficient shortcut that allows the kernel to communicate a certain set of "
2893 "standard information that the dynamic linker usually or always needs.  In "
2894 "some cases, the same information could be obtained by system calls, but "
2895 "using the auxiliary vector is cheaper."
2896 msgstr ""
2897
2898 #. type: Plain text
2899 #: build/C/man3/getauxval.3:209
2900 msgid ""
2901 "The auxiliary vector resides just above the argument list and environment in "
2902 "the process address space.  The auxiliary vector supplied to a program can "
2903 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2904 "program:"
2905 msgstr ""
2906
2907 #. type: Plain text
2908 #: build/C/man3/getauxval.3:211
2909 #, no-wrap
2910 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2911 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2912
2913 #. type: Plain text
2914 #: build/C/man3/getauxval.3:218
2915 msgid ""
2916 "The auxiliary vector of any process can (subject to file permissions)  be "
2917 "obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
2918 msgstr ""
2919
2920 #. type: Plain text
2921 #: build/C/man3/getauxval.3:222
2922 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2923 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2924
2925 #. type: TH
2926 #: build/C/man3/getenv.3:33
2927 #, no-wrap
2928 msgid "GETENV"
2929 msgstr "GETENV"
2930
2931 #. type: TH
2932 #: build/C/man3/getenv.3:33
2933 #, no-wrap
2934 msgid "2012-08-14"
2935 msgstr "2012-08-14"
2936
2937 #. type: Plain text
2938 #: build/C/man3/getenv.3:36
2939 msgid "getenv, secure_getenv - get an environment variable"
2940 msgstr "getenv, secure_getenv - 環境変数を得る"
2941
2942 #. type: Plain text
2943 #: build/C/man3/getenv.3:41
2944 #, no-wrap
2945 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2946 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2947
2948 #. type: Plain text
2949 #: build/C/man3/getenv.3:43
2950 #, no-wrap
2951 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2952 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2953
2954 #. type: Plain text
2955 #: build/C/man3/getenv.3:52
2956 msgid "B<secure_getenv>(): _GNU_SOURCE"
2957 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2958
2959 #. type: Plain text
2960 #: build/C/man3/getenv.3:61
2961 msgid ""
2962 "The B<getenv>()  function searches the environment list to find the "
2963 "environment variable I<name>, and returns a pointer to the corresponding "
2964 "I<value> string."
2965 msgstr ""
2966 "関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2967 "る I<value> 文字列へのポインタを返す。"
2968
2969 #. type: Plain text
2970 #: build/C/man3/getenv.3:69
2971 msgid ""
2972 "The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
2973 "except that it returns NULL in cases where \"secure execution\" is "
2974 "required.  Secure execution is required if one of the following conditions "
2975 "was true when the program run by the calling process was loaded:"
2976 msgstr ""
2977 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
2978 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
2979 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
2980 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2981
2982 #. type: IP
2983 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
2984 #: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
2985 #: build/C/man3/system.3:91
2986 #, no-wrap
2987 msgid "*"
2988 msgstr "*"
2989
2990 #. type: Plain text
2991 #: build/C/man3/getenv.3:74
2992 msgid ""
2993 "the process's effective user ID did not match its real user ID or the "
2994 "process's effective group ID did not match its real group ID (typically this "
2995 "is the result of executing a set-user-ID or set-group-ID program);"
2996 msgstr ""
2997 "プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
2998 "セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
2999 "状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
3000 "合である)。"
3001
3002 #. type: Plain text
3003 #: build/C/man3/getenv.3:76
3004 msgid "the effective capability bit was set on the executable file; or"
3005 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
3006
3007 #. type: Plain text
3008 #: build/C/man3/getenv.3:78
3009 msgid "the process has a nonempty permitted capability set."
3010 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
3011
3012 #. type: Plain text
3013 #: build/C/man3/getenv.3:81
3014 msgid ""
3015 "Secure execution may also required if triggered by some Linux security "
3016 "modules."
3017 msgstr ""
3018 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
3019 "必要となる。"
3020
3021 #. type: Plain text
3022 #: build/C/man3/getenv.3:88
3023 msgid ""
3024 "The B<secure_getenv>()  function is intended for use in general-purpose "
3025 "libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
3026 "group-ID programs accidentally trusted the environment."
3027 msgstr ""
3028 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
3029 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
3030 "避するために使うことを意図して作られた。"
3031
3032 #. type: Plain text
3033 #: build/C/man3/getenv.3:93
3034 msgid ""
3035 "The B<getenv>()  function returns a pointer to the value in the environment, "
3036 "or NULL if there is no match."
3037 msgstr ""
3038 "関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
3039 "マッチする環境変数が存在しないときには NULL を返す。"
3040
3041 #. type: Plain text
3042 #: build/C/man3/getenv.3:96
3043 msgid "B<secure_getenv>()  first appeared in glibc 2.17."
3044 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
3045
3046 #. type: Plain text
3047 #: build/C/man3/getenv.3:99
3048 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3049 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3050
3051 #. type: Plain text
3052 #: build/C/man3/getenv.3:102
3053 msgid "B<secure_getenv>()  is a GNU extension."
3054 msgstr "B<secure_getenv>() は GNU による拡張である。"
3055
3056 #. type: Plain text
3057 #: build/C/man3/getenv.3:104
3058 msgid "The strings in the environment list are of the form I<name=value>."
3059 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
3060
3061 #. type: Plain text
3062 #: build/C/man3/getenv.3:110
3063 msgid ""
3064 "As typically implemented, B<getenv>()  returns a pointer to a string within "
3065 "the environment list.  The caller must take care not to modify this string, "
3066 "since that would change the environment of the process."
3067 msgstr ""
3068 "通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
3069 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
3070 "すると、そのプロセスの環境を変化させることになるからである。"
3071
3072 #. type: Plain text
3073 #: build/C/man3/getenv.3:123
3074 msgid ""
3075 "The implementation of B<getenv>()  is not required to be reentrant.  The "
3076 "string pointed to by the return value of B<getenv>()  may be statically "
3077 "allocated, and can be modified by a subsequent call to B<getenv>(), "
3078 "B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
3079 msgstr ""
3080 "B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
3081 "い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
3082 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3083 "B<unsetenv>(3)  の呼び出しにより変更されることがある。"
3084
3085 #. type: Plain text
3086 #: build/C/man3/getenv.3:129
3087 msgid ""
3088 "The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
3089 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
3090 "to user space."
3091 msgstr ""
3092 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
3093 "に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
3094 "れる。"
3095
3096 #. type: Plain text
3097 #: build/C/man3/getenv.3:137
3098 msgid ""
3099 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3100 "B<capabilities>(7), B<environ>(7)"
3101 msgstr ""
3102 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3103 "B<capabilities>(7), B<environ>(7)"
3104
3105 #. type: TH
3106 #: build/C/man3/getloadavg.3:34
3107 #, no-wrap
3108 msgid "GETLOADAVG"
3109 msgstr "GETLOADAVG"
3110
3111 #. type: TH
3112 #: build/C/man3/getloadavg.3:34
3113 #, no-wrap
3114 msgid "2014-04-01"
3115 msgstr "2014-04-01"
3116
3117 #. type: Plain text
3118 #: build/C/man3/getloadavg.3:37
3119 msgid "getloadavg - get system load averages"
3120 msgstr "getloadavg - get system load averages"
3121
3122 #. type: Plain text
3123 #: build/C/man3/getloadavg.3:41
3124 #, no-wrap
3125 msgid ""
3126 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
3127 "B<#include E<lt>stdlib.hE<gt>>\n"
3128 msgstr ""
3129 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3130 "B<#include E<lt>stdlib.hE<gt>>\n"
3131
3132 #. type: Plain text
3133 #: build/C/man3/getloadavg.3:43
3134 #, no-wrap
3135 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3136 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3137
3138 #. type: Plain text
3139 #: build/C/man3/getloadavg.3:55
3140 msgid ""
3141 "The B<getloadavg>()  function returns the number of processes in the system "
3142 "run queue averaged over various periods of time.  Up to I<nelem> samples are "
3143 "retrieved and assigned to successive elements of I<loadavg>[].  The system "
3144 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
3145 "and 15 minutes, respectively."
3146 msgstr ""
3147 "B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
3148 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3149 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3150 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3151
3152 #.  .SH HISTORY
3153 #.  The
3154 #.  BR getloadavg ()
3155 #.  function appeared in
3156 #.  4.3BSD Reno .
3157 #. type: Plain text
3158 #: build/C/man3/getloadavg.3:63
3159 msgid ""
3160 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3161 "of samples actually retrieved is returned."
3162 msgstr ""
3163 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3164 "値の数を返す。"
3165
3166 #. type: Plain text
3167 #: build/C/man3/getloadavg.3:65
3168 msgid "This function is available in glibc since version 2.2."
3169 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3170
3171 #. type: Plain text
3172 #: build/C/man3/getloadavg.3:70
3173 msgid "The B<getloadavg>()  function is thread-safe."
3174 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
3175
3176 #.  mdoc seems to have a bug - there must be no newline here
3177 #. type: Plain text
3178 #: build/C/man3/getloadavg.3:74
3179 msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
3180 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
3181
3182 #. type: Plain text
3183 #: build/C/man3/getloadavg.3:77
3184 msgid "B<uptime>(1), B<proc>(5)"
3185 msgstr "B<uptime>(1), B<proc>(5)"
3186
3187 #. type: TH
3188 #: build/C/man3/getsubopt.3:25
3189 #, no-wrap
3190 msgid "GETSUBOPT"
3191 msgstr "GETSUBOPT"
3192
3193 #. type: TH
3194 #: build/C/man3/getsubopt.3:25
3195 #, no-wrap
3196 msgid "2014-04-08"
3197 msgstr "2014-04-08"
3198
3199 #. type: Plain text
3200 #: build/C/man3/getsubopt.3:28
3201 msgid "getsubopt - parse suboption arguments from a string"
3202 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3203
3204 #. type: Plain text
3205 #: build/C/man3/getsubopt.3:33
3206 msgid ""
3207 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3208 "**>I<valuep>B<);>"
3209 msgstr ""
3210 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3211 "**>I<valuep>B<);>"
3212
3213 #. type: Plain text
3214 #: build/C/man3/getsubopt.3:40
3215 msgid "B<getsubopt>():"
3216 msgstr "B<getsubopt>():"
3217
3218 #. type: Plain text
3219 #: build/C/man3/getsubopt.3:45
3220 msgid ""
3221 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3222 msgstr ""
3223 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3224
3225 #. type: Plain text
3226 #: build/C/man3/getsubopt.3:47
3227 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3228 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3229
3230 #. type: Plain text
3231 #: build/C/man3/getsubopt.3:64
3232 msgid ""
3233 "B<getsubopt>()  parses the list of comma-separated suboptions provided in "
3234 "I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
3235 "is used to parse a command line; see for example the I<-o> option of "
3236 "B<mount>(8).)  Each suboption may include an associated value, which is "
3237 "separated from the suboption name by an equal sign.  The following is an "
3238 "example of the kind of string that might be passed in I<optionp>:"
3239 msgstr ""
3240 "B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
3241 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
3242 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
3243 "o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
3244 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
3245 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3246
3247 #. type: Plain text
3248 #: build/C/man3/getsubopt.3:67
3249 msgid "B<ro,name=xyz>"
3250 msgstr "B<ro,name=xyz>"
3251
3252 #. type: Plain text
3253 #: build/C/man3/getsubopt.3:77
3254 msgid ""
3255 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
3256 "to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
3257 "should be distinct, null-terminated strings containing at least one "
3258 "character, with no embedded equal signs or commas."
3259 msgstr ""
3260 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
3261 "端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
3262 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
3263 "要がある。 また、等号とカンマを含んではならない。"
3264
3265 #. type: Plain text
3266 #: build/C/man3/getsubopt.3:98
3267 msgid ""
3268 "Each call to B<getsubopt>()  returns information about the next unprocessed "
3269 "suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
3270 "interpreted as a separator between the name and the value of that "
3271 "suboption.  The value extends to the next comma, or (for the last suboption) "
3272 "to the end of the string.  If the name of the suboption matches a known name "
3273 "from I<tokens>, and a value string was found, B<getsubopt>()  sets "
3274 "I<*valuep> to the address of that string.  The first comma in I<optionp> is "
3275 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
3276 "\" for that suboption."
3277 msgstr ""
3278 "B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3279 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3280 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3281 "オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
3282 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3283 "B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3284 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3285 "はそのサブオプションの「値の文字列」そのものとなる。"
3286
3287 #. type: Plain text
3288 #: build/C/man3/getsubopt.3:102
3289 msgid ""
3290 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3291 "set to NULL."
3292 msgstr ""
3293 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3294 "*I<valuep> は NULL に設定される。"
3295
3296 #. type: Plain text
3297 #: build/C/man3/getsubopt.3:110
3298 msgid ""
3299 "When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
3300 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
3301 "suboption was just processed."
3302 msgstr ""
3303 "B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3304 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3305 "\\e0\\(aq) を指している。"
3306
3307 #. type: Plain text
3308 #: build/C/man3/getsubopt.3:122
3309 msgid ""
3310 "If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
3311 "the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
3312 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
3313 msgstr ""
3314 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
3315 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3316 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3317 "となる。"
3318
3319 #. type: Plain text
3320 #: build/C/man3/getsubopt.3:129
3321 msgid ""
3322 "Since I<*optionp> is changed, the first suboption before the call to "
3323 "B<getsubopt>()  is not (necessarily) the same as the first suboption after "
3324 "B<getsubopt>()."
3325 msgstr ""
3326 "I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
3327 "ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
3328 "い。"
3329
3330 #. type: Plain text
3331 #: build/C/man3/getsubopt.3:134
3332 msgid "The B<getsubopt>()  function is thread-safe."
3333 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
3334
3335 #. type: Plain text
3336 #: build/C/man3/getsubopt.3:143
3337 msgid ""
3338 "Since B<getsubopt>()  overwrites any commas it finds in the string "
3339 "I<*optionp>, that string must be writable; it cannot be a string constant."
3340 msgstr ""
3341 "B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3342 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3343 "ない。"
3344
3345 #. type: Plain text
3346 #: build/C/man3/getsubopt.3:145
3347 msgid "The following program expects suboptions following a \"-o\" option."
3348 msgstr ""
3349 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3350 "ている。"
3351
3352 #. type: Plain text
3353 #: build/C/man3/getsubopt.3:151
3354 #, no-wrap
3355 msgid ""
3356 "#define _XOPEN_SOURCE 500\n"
3357 "#include E<lt>stdlib.hE<gt>\n"
3358 "#include E<lt>assert.hE<gt>\n"
3359 "#include E<lt>stdio.hE<gt>\n"
3360 msgstr ""
3361 "#define _XOPEN_SOURCE 500\n"
3362 "#include E<lt>stdlib.hE<gt>\n"
3363 "#include E<lt>assert.hE<gt>\n"
3364 "#include E<lt>stdio.hE<gt>\n"
3365
3366 #. type: Plain text
3367 #: build/C/man3/getsubopt.3:169
3368 #, no-wrap
3369 msgid ""
3370 "int\n"
3371 "main(int argc, char **argv)\n"
3372 "{\n"
3373 "    enum {\n"
3374 "        RO_OPT = 0,\n"
3375 "        RW_OPT,\n"
3376 "        NAME_OPT\n"
3377 "    };\n"
3378 "    char *const token[] = {\n"
3379 "        [RO_OPT]   = \"ro\",\n"
3380 "        [RW_OPT]   = \"rw\",\n"
3381 "        [NAME_OPT] = \"name\",\n"
3382 "        NULL\n"
3383 "    };\n"
3384 "    char *subopts;\n"
3385 "    char *value;\n"
3386 "    int opt;\n"
3387 msgstr ""
3388 "int\n"
3389 "main(int argc, char **argv)\n"
3390 "{\n"
3391 "    enum {\n"
3392 "        RO_OPT = 0,\n"
3393 "        RW_OPT,\n"
3394 "        NAME_OPT\n"
3395 "    };\n"
3396 "    char *const token[] = {\n"
3397 "        [RO_OPT]   = \"ro\",\n"
3398 "        [RW_OPT]   = \"rw\",\n"
3399 "        [NAME_OPT] = \"name\",\n"
3400 "        NULL\n"
3401 "    };\n"
3402 "    char *subopts;\n"
3403 "    char *value;\n"
3404 "    int opt;\n"
3405
3406 #. type: Plain text
3407 #: build/C/man3/getsubopt.3:174
3408 #, no-wrap
3409 msgid ""
3410 "    int readonly = 0;\n"
3411 "    int readwrite = 0;\n"
3412 "    char *name = NULL;\n"
3413 "    int errfnd = 0;\n"
3414 msgstr ""
3415 "    int readonly = 0;\n"
3416 "    int readwrite = 0;\n"
3417 "    char *name = NULL;\n"
3418 "    int errfnd = 0;\n"
3419
3420 #. type: Plain text
3421 #: build/C/man3/getsubopt.3:180
3422 #, no-wrap
3423 msgid ""
3424 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3425 "        switch (opt) {\n"
3426 "        case \\(aqo\\(aq:\n"
3427 "            subopts = optarg;\n"
3428 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3429 msgstr ""
3430 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3431 "        switch (opt) {\n"
3432 "        case \\(aqo\\(aq:\n"
3433 "            subopts = optarg;\n"
3434 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3435
3436 #. type: Plain text
3437 #: build/C/man3/getsubopt.3:185
3438 #, no-wrap
3439 msgid ""
3440 "            switch (getsubopt(&subopts, token, &value)) {\n"
3441 "            case RO_OPT:\n"
3442 "                readonly = 1;\n"
3443 "                break;\n"
3444 msgstr ""
3445 "            switch (getsubopt(&subopts, token, &value)) {\n"
3446 "            case RO_OPT:\n"
3447 "                readonly = 1;\n"
3448 "                break;\n"
3449
3450 #. type: Plain text
3451 #: build/C/man3/getsubopt.3:189
3452 #, no-wrap
3453 msgid ""
3454 "            case RW_OPT:\n"
3455 "                readwrite = 1;\n"
3456 "                break;\n"
3457 msgstr ""
3458 "            case RW_OPT:\n"
3459 "                readwrite = 1;\n"
3460 "                break;\n"
3461
3462 #. type: Plain text
3463 #: build/C/man3/getsubopt.3:197
3464 #, no-wrap
3465 msgid ""
3466 "            case NAME_OPT:\n"
3467 "                if (value == NULL) {\n"
3468 "                    fprintf(stderr, \"Missing value for \"\n"
3469 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3470 "                    errfnd = 1;\n"
3471 "                    continue;\n"
3472 "                }\n"
3473 msgstr ""
3474 "            case NAME_OPT:\n"
3475 "                if (value == NULL) {\n"
3476 "                    fprintf(stderr, \"Missing value for \"\n"
3477 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3478 "                    errfnd = 1;\n"
3479 "                    continue;\n"
3480 "                }\n"
3481
3482 #. type: Plain text
3483 #: build/C/man3/getsubopt.3:200
3484 #, no-wrap
3485 msgid ""
3486 "                name = value;\n"
3487 "                break;\n"
3488 msgstr ""
3489 "                name = value;\n"
3490 "                break;\n"
3491
3492 #. type: Plain text
3493 #: build/C/man3/getsubopt.3:214
3494 #, no-wrap
3495 msgid ""
3496 "            default:\n"
3497 "                fprintf(stderr, \"No match found \"\n"
3498 "                        \"for token: /%s/\\en\", value);\n"
3499 "                errfnd = 1;\n"
3500 "                break;\n"
3501 "            }\n"
3502 "        }\n"
3503 "        if (readwrite && readonly) {\n"
3504 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3505 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3506 "            errfnd = 1;\n"
3507 "        }\n"
3508 "        break;\n"
3509 msgstr ""
3510 "            default:\n"
3511 "                fprintf(stderr, \"No match found \"\n"
3512 "                        \"for token: /%s/\\en\", value);\n"
3513 "                errfnd = 1;\n"
3514 "                break;\n"
3515 "            }\n"
3516 "        }\n"
3517 "        if (readwrite && readonly) {\n"
3518 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3519 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3520 "            errfnd = 1;\n"
3521 "        }\n"
3522 "        break;\n"
3523
3524 #. type: Plain text
3525 #: build/C/man3/getsubopt.3:219
3526 #, no-wrap
3527 msgid ""
3528 "        default:\n"
3529 "            errfnd = 1;\n"
3530 "        }\n"
3531 "    }\n"
3532 msgstr ""
3533 "        default:\n"
3534 "            errfnd = 1;\n"
3535 "        }\n"
3536 "    }\n"
3537
3538 #. type: Plain text
3539 #: build/C/man3/getsubopt.3:226
3540 #, no-wrap
3541 msgid ""
3542 "    if (errfnd || argc == 1) {\n"
3543 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3544 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3545 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3546 "        exit(EXIT_FAILURE);\n"
3547 "    }\n"
3548 msgstr ""
3549 "    if (errfnd || argc == 1) {\n"
3550 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3551 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3552 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3553 "        exit(EXIT_FAILURE);\n"
3554 "    }\n"
3555
3556 #. type: Plain text
3557 #: build/C/man3/getsubopt.3:228
3558 #, no-wrap
3559 msgid "    /* Remainder of program... */\n"
3560 msgstr "    /* Remainder of program... */\n"
3561
3562 #. type: Plain text
3563 #: build/C/man3/getsubopt.3:234
3564 msgid "B<getopt>(3)"
3565 msgstr "B<getopt>(3)"
3566
3567 #. type: TH
3568 #: build/C/man3/malloc.3:33
3569 #, no-wrap
3570 msgid "MALLOC"
3571 msgstr "MALLOC"
3572
3573 #. type: TH
3574 #: build/C/man3/malloc.3:33
3575 #, no-wrap
3576 msgid "2014-05-21"
3577 msgstr "2014-05-21"
3578
3579 #. type: Plain text
3580 #: build/C/man3/malloc.3:36
3581 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3582 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
3583
3584 #. type: Plain text
3585 #: build/C/man3/malloc.3:44
3586 #, no-wrap
3587 msgid ""
3588 "B<void *malloc(size_t >I<size>B<);>\n"
3589 "B<void free(void >I<*ptr>B<);>\n"
3590 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3591 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3592 msgstr ""
3593 "B<void *malloc(size_t >I<size>B<);>\n"
3594 "B<void free(void >I<*ptr>B<);>\n"
3595 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3596 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3597
3598 #.  glibc does this:
3599 #. type: Plain text
3600 #: build/C/man3/malloc.3:61
3601 msgid ""
3602 "The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
3603 "the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
3604 "then B<malloc>()  returns either NULL, or a unique pointer value that can "
3605 "later be successfully passed to B<free>()."
3606 msgstr ""
3607 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
3608 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
3609 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3610 "一意なポインタ値を返す。"
3611
3612 #. type: Plain text
3613 #: build/C/man3/malloc.3:77
3614 msgid ""
3615 "The B<free>()  function frees the memory space pointed to by I<ptr>, which "
3616 "must have been returned by a previous call to B<malloc>(), B<calloc>()  or "
3617 "B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
3618 "undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
3619 msgstr ""
3620 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
3621 "は、\n"
3622 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3623 "値で\n"
3624 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
3625 "行\n"
3626 "されていたりした場合の動作は定義されていない。\n"
3627 "I<ptr> が NULL の場合には、何の動作も行われない。"
3628
3629 #.  glibc does this:
3630 #. type: Plain text
3631 #: build/C/man3/malloc.3:96
3632 msgid ""
3633 "The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
3634 "of I<size> bytes each and returns a pointer to the allocated memory.  The "
3635 "memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
3636 "returns either NULL, or a unique pointer value that can later be "
3637 "successfully passed to B<free>()."
3638 msgstr ""
3639 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
3640 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
3641 "ロ\n"
3642 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3643 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3644 "ポインタ値を返す。"
3645
3646 #. type: Plain text
3647 #: build/C/man3/malloc.3:132
3648 msgid ""
3649 "The B<realloc>()  function changes the size of the memory block pointed to "
3650 "by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
3651 "from the start of the region up to the minimum of the old and new sizes.  If "
3652 "the new size is larger than the old size, the added memory will I<not> be "
3653 "initialized.  If I<ptr> is NULL, then the call is equivalent to "
3654 "I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
3655 "I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless "
3656 "I<ptr> is NULL, it must have been returned by an earlier call to "
3657 "B<malloc>(), B<calloc>()  or B<realloc>().  If the area pointed to was "
3658 "moved, a I<free(ptr)> is done."
3659 msgstr ""
3660 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
3661 "ト\n"
3662 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3663 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
3664 "初期化 I<されない>。\n"
3665 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
3666 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
3667 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
3668 "B<calloc>(),\n"
3669 "B<realloc>() のいずれかが返した値でなければならない。\n"
3670 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3671
3672 #. type: Plain text
3673 #: build/C/man3/malloc.3:152
3674 msgid ""
3675 "The B<malloc>()  and B<calloc>()  functions return a pointer to the "
3676 "allocated memory, which is suitably aligned for any built-in type.  On "
3677 "error, these functions return NULL.  NULL may also be returned by a "
3678 "successful call to B<malloc>()  with a I<size> of zero, or by a successful "
3679 "call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
3680 msgstr ""
3681 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 "
3682 "割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントさ"
3683 "れる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した "
3684 "B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した"
3685 "場合にも NULL が返される。"
3686
3687 #. type: Plain text
3688 #: build/C/man3/malloc.3:156
3689 msgid "The B<free>()  function returns no value."
3690 msgstr "B<free>() 関数は値を返さない。"
3691
3692 #. type: Plain text
3693 #: build/C/man3/malloc.3:171
3694 msgid ""
3695 "The B<realloc>()  function returns a pointer to the newly allocated memory, "
3696 "which is suitably aligned for any built-in type and may be different from "
3697 "I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
3698 "NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
3699 "B<realloc>()  fails, the original block is left untouched; it is not freed "
3700 "or moved."
3701 msgstr ""
3702 "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあら"
3703 "ゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なる"
3704 "こともある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合に"
3705 "は、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() "
3706 "が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動され"
3707 "たりはしない。"
3708
3709 #. type: Plain text
3710 #: build/C/man3/malloc.3:173
3711 msgid "C89, C99."
3712 msgstr "C89, C99."
3713
3714 #. type: Plain text
3715 #: build/C/man3/malloc.3:189
3716 msgid ""
3717 "By default, Linux follows an optimistic memory allocation strategy.  This "
3718 "means that when B<malloc>()  returns non-NULL there is no guarantee that the "
3719 "memory really is available.  In case it turns out that the system is out of "
3720 "memory, one or more processes will be killed by the OOM killer.  For more "
3721 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
3722 "proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
3723 "I<Documentation/vm/overcommit-accounting>."
3724 msgstr ""
3725 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
3726 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
3727 "と\n"
3728 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
3729 "killer) によって一つまたは複数のプロセスが削除される。\n"
3730 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
3731 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
3732 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
3733
3734 #. type: Plain text
3735 #: build/C/man3/malloc.3:210
3736 msgid ""
3737 "Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
3738 "of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
3739 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
3740 "allocates the memory as a private anonymous mapping using B<mmap>(2).  "
3741 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
3742 "B<mallopt>(3).  Allocations performed using B<mmap>(2)  are unaffected by "
3743 "the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
3744 msgstr ""
3745 "通常、 B<malloc>()  は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
3746 "ズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
3747 "リブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を使っ"
3748 "てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
3749 "る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を使っ"
3750 "て調整できる。 B<mmap>(2)  を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
3751 "ソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
3752
3753 #. type: Plain text
3754 #: build/C/man3/malloc.3:228
3755 msgid ""
3756 "To avoid corruption in multithreaded applications, mutexes are used "
3757 "internally to protect the memory-management data structures employed by "
3758 "these functions.  In a multithreaded application in which threads "
3759 "simultaneously allocate and free memory, there could be contention for these "
3760 "mutexes.  To scalably handle memory allocation in multithreaded "
3761 "applications, glibc creates additional I<memory allocation arenas> if mutex "
3762 "contention is detected.  Each arena is a large region of memory that is "
3763 "internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
3764 "managed with its own mutexes."
3765 msgstr ""
3766 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3767 "を\n"
3768 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
3769 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
3770 "ケー\n"
3771 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3772 "ン\n"
3773 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3774 "の\n"
3775 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
3776 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3777 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3778
3779 #. type: Plain text
3780 #: build/C/man3/malloc.3:246
3781 msgid ""
3782 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
3783 "set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
3784 "(and the glibc versions of these routines do this); if you use a private "
3785 "malloc implementation that does not set I<errno>, then certain library "
3786 "routines may fail without having a reason in I<errno>."
3787 msgstr ""
3788 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
3789 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
3790 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
3791 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
3792 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
3793 "いライブラリルーチンがあるかもしれない。"
3794
3795 #. type: Plain text
3796 #: build/C/man3/malloc.3:255
3797 msgid ""
3798 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
3799 "always related to heap corruption, such as overflowing an allocated chunk or "
3800 "freeing the same pointer twice."
3801 msgstr ""
3802 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
3803 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3804 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3805
3806 #. type: Plain text
3807 #: build/C/man3/malloc.3:261
3808 msgid ""
3809 "The B<malloc>()  implementation is tunable via environment variables; see "
3810 "B<mallopt>(3)  for details."
3811 msgstr ""
3812 "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
3813 "こと。"
3814
3815 #. type: Plain text
3816 #: build/C/man3/malloc.3:285
3817 msgid ""
3818 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3819 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3820 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3821 msgstr ""
3822 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3823 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3824 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3825
3826 #. type: TH
3827 #: build/C/man3/mblen.3:16
3828 #, no-wrap
3829 msgid "MBLEN"
3830 msgstr "MBLEN"
3831
3832 #. type: Plain text
3833 #: build/C/man3/mblen.3:19
3834 msgid "mblen - determine number of bytes in next multibyte character"
3835 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3836
3837 #. type: Plain text
3838 #: build/C/man3/mblen.3:24
3839 #, no-wrap
3840 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3841 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3842
3843 #. type: Plain text
3844 #: build/C/man3/mblen.3:43
3845 msgid ""
3846 "If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
3847 "the multibyte string starting at I<s> and extracts the next complete "
3848 "multibyte character.  It uses a static anonymous shift state known only to "
3849 "the B<mblen>()  function.  If the multibyte character is not the null wide "
3850 "character, it returns the number of bytes that were consumed from I<s>.  If "
3851 "the multibyte character is the null wide character, it returns 0."
3852 msgstr ""
3853 "I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 I<n> バイト"
3854 "のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
3855 "は B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
3856 "ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
3857 "マルチバイト文字がヌルワイド文字ならば 0 を返す。"
3858
3859 #. type: Plain text
3860 #: build/C/man3/mblen.3:57
3861 msgid ""
3862 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3863 "character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
3864 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3865 "shift sequences."
3866 msgstr ""
3867 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3868 "B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3869 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3870
3871 #. type: Plain text
3872 #: build/C/man3/mblen.3:64
3873 msgid ""
3874 "If the multibyte string starting at I<s> contains an invalid multibyte "
3875 "sequence before the next complete character, B<mblen>()  also returns -1."
3876 msgstr ""
3877 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3878 "を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
3879
3880 #.  The Dinkumware doc and the Single UNIX specification say this, but
3881 #.  glibc doesn't implement this.
3882 #. type: Plain text
3883 #: build/C/man3/mblen.3:75
3884 msgid ""
3885 "If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
3886 "only this function, to the initial state, and returns nonzero if the "
3887 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3888 msgstr ""
3889 "I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフト状態を初"
3890 "期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
3891 "シフト状態を持たない場合にはゼロを返す。"
3892
3893 #. type: Plain text
3894 #: build/C/man3/mblen.3:87
3895 msgid ""
3896 "The B<mblen>()  function returns the number of bytes parsed from the "
3897 "multibyte sequence starting at I<s>, if a non-null wide character was "
3898 "recognized.  It returns 0, if a null wide character was recognized.  It "
3899 "returns -1, if an invalid multibyte sequence was encountered or if it "
3900 "couldn't parse a complete multibyte character."
3901 msgstr ""
3902 "B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
3903 "を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
3904 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3905 "かった場合には -1 を返す。"
3906
3907 #. type: Plain text
3908 #: build/C/man3/mblen.3:92
3909 msgid "The B<mblen>()  function is not thread-safe."
3910 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3911
3912 #. type: Plain text
3913 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
3914 #: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
3915 #: build/C/man3/wctomb.3:91
3916 msgid "C99."
3917 msgstr "C99."
3918
3919 #. type: Plain text
3920 #: build/C/man3/mblen.3:101
3921 msgid ""
3922 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
3923 "current locale."
3924 msgstr ""
3925 "B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3926
3927 #. type: Plain text
3928 #: build/C/man3/mblen.3:106
3929 msgid ""
3930 "The function B<mbrlen>(3)  provides a better interface to the same "
3931 "functionality."
3932 msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
3933
3934 #. type: Plain text
3935 #: build/C/man3/mblen.3:108
3936 msgid "B<mbrlen>(3)"
3937 msgstr "B<mbrlen>(3)"
3938
3939 #. type: TH
3940 #: build/C/man3/mbstowcs.3:18
3941 #, no-wrap
3942 msgid "MBSTOWCS"
3943 msgstr "MBSTOWCS"
3944
3945 #. type: TH
3946 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
3947 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
3948 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3949 #, no-wrap
3950 msgid "2014-03-18"
3951 msgstr "2014-03-18"
3952
3953 #. type: Plain text
3954 #: build/C/man3/mbstowcs.3:21
3955 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3956 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3957
3958 #. type: Plain text
3959 #: build/C/man3/mbstowcs.3:26
3960 #, no-wrap
3961 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3962 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3963
3964 #. type: Plain text
3965 #: build/C/man3/mbstowcs.3:45
3966 msgid ""
3967 "If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
3968 "string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
3969 "wide characters are written to I<dest>.  The conversion starts in the "
3970 "initial state.  The conversion can stop for three reasons:"
3971 msgstr ""
3972 "I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字列 I<*src> "
3973 "を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
3974 "ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
3975 "条件で停止する:"
3976
3977 #. type: IP
3978 #: build/C/man3/mbstowcs.3:45
3979 #, no-wrap
3980 msgid "1."
3981 msgstr "1."
3982
3983 #. type: Plain text
3984 #: build/C/man3/mbstowcs.3:50
3985 msgid ""
3986 "An invalid multibyte sequence has been encountered.  In this case, "
3987 "I<(size_t)\\ -1> is returned."
3988 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3989
3990 #. type: IP
3991 #: build/C/man3/mbstowcs.3:50
3992 #, no-wrap
3993 msgid "2."
3994 msgstr "2."
3995
3996 #. type: Plain text
3997 #: build/C/man3/mbstowcs.3:58
3998 msgid ""
3999 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
4000 "this case, the number of wide characters written to I<dest> is returned, but "
4001 "the shift state at this point is lost."
4002 msgstr ""
4003 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
4004 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
4005 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
4006 "る。"
4007
4008 #. type: IP
4009 #: build/C/man3/mbstowcs.3:58
4010 #, no-wrap
4011 msgid "3."
4012 msgstr "3."
4013
4014 #. type: Plain text
4015 #: build/C/man3/mbstowcs.3:64
4016 msgid ""
4017 "The multibyte string has been completely converted, including the "
4018 "terminating null wide character (\\(aq\\e0\\(aq).  In this case, the number "
4019 "of wide characters written to I<dest>, excluding the terminating null wide "
4020 "character, is returned."
4021 msgstr ""
4022 "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
4023 "換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
4024 "字数を返す。"
4025
4026 #. type: Plain text
4027 #: build/C/man3/mbstowcs.3:70
4028 msgid ""
4029 "The programmer must ensure that there is room for at least I<n> wide "
4030 "characters at I<dest>."
4031 msgstr ""
4032 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
4033 "があることを保証しなければならない。"
4034
4035 #. type: Plain text
4036 #: build/C/man3/mbstowcs.3:78
4037 msgid ""
4038 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
4039 "except that the converted wide characters are not written out to memory, and "
4040 "that no length limit exists."
4041 msgstr ""
4042 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
4043 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
4044
4045 #. type: Plain text
4046 #: build/C/man3/mbstowcs.3:84
4047 msgid ""
4048 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
4049 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
4050 msgstr ""
4051 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4052 "src,0)+1> 以上であることを保証すべきである。"
4053
4054 #. type: Plain text
4055 #: build/C/man3/mbstowcs.3:94
4056 msgid ""
4057 "The B<mbstowcs>()  function returns the number of wide characters that make "
4058 "up the converted part of the wide-character string, not including the "
4059 "terminating null wide character.  If an invalid multibyte sequence was "
4060 "encountered, I<(size_t)\\ -1> is returned."
4061 msgstr ""
4062 "B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4063 "ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
4064 "I<(size_t)\\ -1> を返す。"
4065
4066 #. type: Plain text
4067 #: build/C/man3/mbstowcs.3:103
4068 msgid ""
4069 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
4070 "current locale."
4071 msgstr ""
4072 "B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4073
4074 #. type: Plain text
4075 #: build/C/man3/mbstowcs.3:108
4076 msgid ""
4077 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
4078 "functionality."
4079 msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4080
4081 #. type: Plain text
4082 #: build/C/man3/mbstowcs.3:113
4083 msgid ""
4084 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
4085 "the wide character classification functions.  An example run is the "
4086 "following:"
4087 msgstr ""
4088 "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
4089 "したものである。実行例は以下のようになる。"
4090
4091 #. type: Plain text
4092 #: build/C/man3/mbstowcs.3:120
4093 #, no-wrap
4094 msgid ""
4095 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4096 "Length of source string (excluding terminator):\n"
4097 "    8 bytes\n"
4098 "    6 multibyte characters\n"
4099 msgstr ""
4100 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4101 "Length of source string (excluding terminator):\n"
4102 "    8 bytes\n"
4103 "    6 multibyte characters\n"
4104
4105 #. type: Plain text
4106 #: build/C/man3/mbstowcs.3:128
4107 #, no-wrap
4108 msgid ""
4109 "Wide character string is: Grüße! (6 characters)\n"
4110 "    G alpha upper\n"
4111 "    r alpha lower\n"
4112 "    ü alpha lower\n"
4113 "    ß alpha lower\n"
4114 "    e alpha lower\n"
4115 "    ! !alpha\n"
4116 msgstr ""
4117 "Wide character string is: Grüße! (6 characters)\n"
4118 "    G alpha upper\n"
4119 "    r alpha lower\n"
4120 "    ü alpha lower\n"
4121 "    ß alpha lower\n"
4122 "    e alpha lower\n"
4123 "    ! !alpha\n"
4124
4125 #. type: SS
4126 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
4127 #, no-wrap
4128 msgid "Program source"
4129 msgstr "プログラムのソース"
4130
4131 #. type: Plain text
4132 #: build/C/man3/mbstowcs.3:137
4133 #, no-wrap
4134 msgid ""
4135 "#include E<lt>locale.hE<gt>\n"
4136 "#include E<lt>wchar.hE<gt>\n"
4137 "#include E<lt>stdio.hE<gt>\n"
4138 "#include E<lt>string.hE<gt>\n"
4139 "#include E<lt>stdlib.hE<gt>\n"
4140 msgstr ""
4141 "#include E<lt>locale.hE<gt>\n"
4142 "#include E<lt>wchar.hE<gt>\n"
4143 "#include E<lt>stdio.hE<gt>\n"
4144 "#include E<lt>string.hE<gt>\n"
4145 "#include E<lt>stdlib.hE<gt>\n"
4146
4147 #. type: Plain text
4148 #: build/C/man3/mbstowcs.3:144
4149 #, no-wrap
4150 msgid ""
4151 "int\n"
4152 "main(int argc, char *argv[])\n"
4153 "{\n"
4154 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4155 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4156 "    wchar_t *wp;\n"
4157 msgstr ""
4158 "int\n"
4159 "main(int argc, char *argv[])\n"
4160 "{\n"
4161 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4162 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4163 "    wchar_t *wp;\n"
4164
4165 #. type: Plain text
4166 #: build/C/man3/mbstowcs.3:149
4167 #, no-wrap
4168 msgid ""
4169 "    if (argc E<lt> 3) {\n"
4170 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4171 "        exit(EXIT_FAILURE);\n"
4172 "    }\n"
4173 msgstr ""
4174 "    if (argc E<lt> 3) {\n"
4175 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4176 "        exit(EXIT_FAILURE);\n"
4177 "    }\n"
4178
4179 #. type: Plain text
4180 #: build/C/man3/mbstowcs.3:151
4181 #, no-wrap
4182 msgid "    /* Apply the specified locale */\n"
4183 msgstr "    /* Apply the specified locale */\n"
4184
4185 #. type: Plain text
4186 #: build/C/man3/mbstowcs.3:156
4187 #, no-wrap
4188 msgid ""
4189 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4190 "        perror(\"setlocale\");\n"
4191 "        exit(EXIT_FAILURE);\n"
4192 "    }\n"
4193 msgstr ""
4194 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4195 "        perror(\"setlocale\");\n"
4196 "        exit(EXIT_FAILURE);\n"
4197 "    }\n"
4198
4199 #. type: Plain text
4200 #: build/C/man3/mbstowcs.3:159
4201 #, no-wrap
4202 msgid ""
4203 "    /* Calculate the length required to hold argv[2] converted to\n"
4204 "       a wide character string */\n"
4205 msgstr ""
4206 "    /* Calculate the length required to hold argv[2] converted to\n"
4207 "       a wide character string */\n"
4208
4209 #. type: Plain text
4210 #: build/C/man3/mbstowcs.3:165
4211 #, no-wrap
4212 msgid ""
4213 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4214 "    if (mbslen == (size_t) -1) {\n"
4215 "        perror(\"mbstowcs\");\n"
4216 "        exit(EXIT_FAILURE);\n"
4217 "    }\n"
4218 msgstr ""
4219 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4220 "    if (mbslen == (size_t) -1) {\n"
4221 "        perror(\"mbstowcs\");\n"
4222 "        exit(EXIT_FAILURE);\n"
4223 "    }\n"
4224
4225 #. type: Plain text
4226 #: build/C/man3/mbstowcs.3:167
4227 #, no-wrap
4228 msgid "    /* Describe the source string to the user */\n"
4229 msgstr "    /* Describe the source string to the user */\n"
4230
4231 #. type: Plain text
4232 #: build/C/man3/mbstowcs.3:171
4233 #, no-wrap
4234 msgid ""
4235 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4236 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4237 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4238 msgstr ""
4239 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4240 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4241 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4242
4243 #. type: Plain text
4244 #: build/C/man3/mbstowcs.3:174
4245 #, no-wrap
4246 msgid ""
4247 "    /* Allocate wide character string of the desired size.  Add 1\n"
4248 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4249 msgstr ""
4250 "    /* Allocate wide character string of the desired size.  Add 1\n"
4251 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4252
4253 #. type: Plain text
4254 #: build/C/man3/mbstowcs.3:180
4255 #, no-wrap
4256 msgid ""
4257 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4258 "    if (wcs == NULL) {\n"
4259 "        perror(\"calloc\");\n"
4260 "        exit(EXIT_FAILURE);\n"
4261 "    }\n"
4262 msgstr ""
4263 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4264 "    if (wcs == NULL) {\n"
4265 "        perror(\"calloc\");\n"
4266 "        exit(EXIT_FAILURE);\n"
4267 "    }\n"
4268
4269 #. type: Plain text
4270 #: build/C/man3/mbstowcs.3:183
4271 #, no-wrap
4272 msgid ""
4273 "    /* Convert the multibyte character string in argv[2] to a\n"
4274 "       wide character string */\n"
4275 msgstr ""
4276 "    /* Convert the multibyte character string in argv[2] to a\n"
4277 "       wide character string */\n"
4278
4279 #. type: Plain text
4280 #: build/C/man3/mbstowcs.3:188
4281 #, no-wrap
4282 msgid ""
4283 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4284 "        perror(\"mbstowcs\");\n"
4285 "        exit(EXIT_FAILURE);\n"
4286 "    }\n"
4287 msgstr ""
4288 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4289 "        perror(\"mbstowcs\");\n"
4290 "        exit(EXIT_FAILURE);\n"
4291 "    }\n"
4292
4293 #. type: Plain text
4294 #: build/C/man3/mbstowcs.3:191
4295 #, no-wrap
4296 msgid ""
4297 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4298 "            wcs, mbslen);\n"
4299 msgstr ""
4300 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4301 "            wcs, mbslen);\n"
4302
4303 #. type: Plain text
4304 #: build/C/man3/mbstowcs.3:194
4305 #, no-wrap
4306 msgid ""
4307 "    /* Now do some inspection of the classes of the characters in\n"
4308 "       the wide character string */\n"
4309 msgstr ""
4310 "    /* Now do some inspection of the classes of the characters in\n"
4311 "       the wide character string */\n"
4312
4313 #. type: Plain text
4314 #: build/C/man3/mbstowcs.3:197
4315 #, no-wrap
4316 msgid ""
4317 "    for (wp = wcs; *wp != 0; wp++) {\n"
4318 "        printf(\"    %lc \", (wint_t) *wp);\n"
4319 msgstr ""
4320 "    for (wp = wcs; *wp != 0; wp++) {\n"
4321 "        printf(\"    %lc \", (wint_t) *wp);\n"
4322
4323 #. type: Plain text
4324 #: build/C/man3/mbstowcs.3:201
4325 #, no-wrap
4326 msgid ""
4327 "        if (!iswalpha(*wp))\n"
4328 "            printf(\"!\");\n"
4329 "        printf(\"alpha \");\n"
4330 msgstr ""
4331 "        if (!iswalpha(*wp))\n"
4332 "            printf(\"!\");\n"
4333 "        printf(\"alpha \");\n"
4334
4335 #. type: Plain text
4336 #: build/C/man3/mbstowcs.3:205
4337 #, no-wrap
4338 msgid ""
4339 "        if (iswalpha(*wp)) {\n"
4340 "            if (iswupper(*wp))\n"
4341 "                printf(\"upper \");\n"
4342 msgstr ""
4343 "        if (iswalpha(*wp)) {\n"
4344 "            if (iswupper(*wp))\n"
4345 "                printf(\"upper \");\n"
4346
4347 #. type: Plain text
4348 #: build/C/man3/mbstowcs.3:209
4349 #, no-wrap
4350 msgid ""
4351 "            if (iswlower(*wp))\n"
4352 "                printf(\"lower \");\n"
4353 "        }\n"
4354 msgstr ""
4355 "            if (iswlower(*wp))\n"
4356 "                printf(\"lower \");\n"
4357 "        }\n"
4358
4359 #. type: Plain text
4360 #: build/C/man3/mbstowcs.3:212
4361 #, no-wrap
4362 msgid ""
4363 "        putchar(\\(aq\\en\\(aq);\n"
4364 "    }\n"
4365 msgstr ""
4366 "        putchar(\\(aq\\en\\(aq);\n"
4367 "    }\n"
4368
4369 #. type: Plain text
4370 #: build/C/man3/mbstowcs.3:222
4371 msgid ""
4372 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4373 msgstr ""
4374 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4375
4376 #. type: TH
4377 #: build/C/man3/mbtowc.3:16
4378 #, no-wrap
4379 msgid "MBTOWC"
4380 msgstr "MBTOWC"
4381
4382 #. type: Plain text
4383 #: build/C/man3/mbtowc.3:19
4384 msgid "mbtowc - convert a multibyte sequence to a wide character"
4385 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4386
4387 #. type: Plain text
4388 #: build/C/man3/mbtowc.3:24
4389 #, no-wrap
4390 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4391 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4392
4393 #. type: Plain text
4394 #: build/C/man3/mbtowc.3:50
4395 msgid ""
4396 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
4397 "NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
4398 "of the multibyte string starting at I<s>, extracts the next complete "
4399 "multibyte character, converts it to a wide character and stores it at "
4400 "I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
4401 "function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
4402 "returns the number of bytes that were consumed from I<s>, otherwise it "
4403 "returns 0."
4404 msgstr ""
4405 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
4406 "の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
4407 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
4408 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
4409 "る。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費"
4410 "するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
4411
4412 #. type: Plain text
4413 #: build/C/man3/mbtowc.3:64
4414 msgid ""
4415 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
4416 "character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
4417 "returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
4418 "multibyte string contains redundant shift sequences."
4419 msgstr ""
4420 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4421 "なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
4422 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4423 "場合もこのようなことが 起こりえる。"
4424
4425 #. type: Plain text
4426 #: build/C/man3/mbtowc.3:74
4427 msgid ""
4428 "A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case, "
4429 "the B<mbtowc>()  function behaves as above, except that it does not store "
4430 "the converted wide character in memory."
4431 msgstr ""
4432 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
4433 "動作するが、変換したワイド文字はメモリには書き込まれない。"
4434
4435 #.  The Dinkumware doc and the Single UNIX specification say this, but
4436 #.  glibc doesn't implement this.
4437 #. type: Plain text
4438 #: build/C/man3/mbtowc.3:93
4439 msgid ""
4440 "A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
4441 "ignored.  The B<mbtowc>()  function resets the shift state, only known to "
4442 "this function, to the initial state, and returns nonzero if the encoding has "
4443 "nontrivial shift state, or zero if the encoding is stateless."
4444 msgstr ""
4445 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4446 "B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4447 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4448 "を返す。"
4449
4450 #. type: Plain text
4451 #: build/C/man3/mbtowc.3:105
4452 msgid ""
4453 "If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
4454 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
4455 "upon failure."
4456 msgstr ""
4457 "I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
4458 "I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4459
4460 #. type: Plain text
4461 #: build/C/man3/mbtowc.3:113
4462 msgid ""
4463 "If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
4464 "has nontrivial shift state, or zero if the encoding is stateless."
4465 msgstr ""
4466 "I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
4467 "ゼロ以外を、状態によらなければゼロを返す。"
4468
4469 #. type: Plain text
4470 #: build/C/man3/mbtowc.3:122
4471 msgid ""
4472 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
4473 "current locale."
4474 msgstr ""
4475 "B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4476
4477 #. type: Plain text
4478 #: build/C/man3/mbtowc.3:128
4479 msgid ""
4480 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
4481 "a better interface to the same functionality."
4482 msgstr ""
4483 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
4484 "り良いインターフェースを提供する。"
4485
4486 #. type: Plain text
4487 #: build/C/man3/mbtowc.3:135
4488 msgid ""
4489 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4490 "B<wcstombs>(3)"
4491 msgstr ""
4492 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4493 "B<wcstombs>(3)"
4494
4495 #. type: TH
4496 #: build/C/man3/mkdtemp.3:26
4497 #, no-wrap
4498 msgid "MKDTEMP"
4499 msgstr "MKDTEMP"
4500
4501 #. type: TH
4502 #: build/C/man3/mkdtemp.3:26
4503 #, no-wrap
4504 msgid "2010-09-26"
4505 msgstr "2010-09-26"
4506
4507 #. type: Plain text
4508 #: build/C/man3/mkdtemp.3:29
4509 msgid "mkdtemp - create a unique temporary directory"
4510 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4511
4512 #. type: Plain text
4513 #: build/C/man3/mkdtemp.3:34
4514 #, no-wrap
4515 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4516 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4517
4518 #. type: Plain text
4519 #: build/C/man3/mkdtemp.3:42
4520 msgid "B<mkdtemp>():"
4521 msgstr "B<mkdtemp>():"
4522
4523 #. type: Plain text
4524 #: build/C/man3/mkdtemp.3:47
4525 msgid "_BSD_SOURCE"
4526 msgstr "_BSD_SOURCE"
4527
4528 #. type: Plain text
4529 #: build/C/man3/mkdtemp.3:49
4530 msgid "|| /* Since glibc 2.10: */"
4531 msgstr "|| /* Since glibc 2.10: */"
4532
4533 #. type: Plain text
4534 #: build/C/man3/mkdtemp.3:51
4535 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4536 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4537
4538 #. type: Plain text
4539 #: build/C/man3/mkdtemp.3:68
4540 msgid ""
4541 "The B<mkdtemp>()  function generates a uniquely named temporary directory "
4542 "from I<template>.  The last six characters of I<template> must be XXXXXX and "
4543 "these are replaced with a string that makes the directory name unique.  The "
4544 "directory is then created with permissions 0700.  Since it will be modified, "
4545 "I<template> must not be a string constant, but should be declared as a "
4546 "character array."
4547 msgstr ""
4548 "B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4549 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4550 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4551 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4552 "字列定数にしてはならず、文字配列にすべきである。"
4553
4554 #. type: Plain text
4555 #: build/C/man3/mkdtemp.3:75
4556 msgid ""
4557 "The B<mkdtemp>()  function returns a pointer to the modified template string "
4558 "on success, and NULL on failure, in which case I<errno> is set appropriately."
4559 msgstr ""
4560 "成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
4561 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4562
4563 #. type: TP
4564 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
4565 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
4566 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
4567 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
4568 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
4569 #: build/C/man3/strtoul.3:149
4570 #, no-wrap
4571 msgid "B<EINVAL>"
4572 msgstr "B<EINVAL>"
4573
4574 #. type: Plain text
4575 #: build/C/man3/mkdtemp.3:80
4576 msgid ""
4577 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
4578 "unchanged."
4579 msgstr ""
4580 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4581 "ない。"
4582
4583 #. type: Plain text
4584 #: build/C/man3/mkdtemp.3:84
4585 msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
4586 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
4587
4588 #. type: Plain text
4589 #: build/C/man3/mkdtemp.3:86
4590 msgid "Available since glibc 2.1.91."
4591 msgstr "OpenBSD 2.2 で導入された。"
4592
4593 #.  As at 2006, this function is being considered for a revision of POSIX.1
4594 #.  Also in NetBSD 1.4.
4595 #. type: Plain text
4596 #: build/C/man3/mkdtemp.3:91
4597 msgid "POSIX.1-2008.  This function is present on the BSDs."
4598 msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
4599
4600 #. type: Plain text
4601 #: build/C/man3/mkdtemp.3:98
4602 msgid ""
4603 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4604 "B<tmpnam>(3)"
4605 msgstr ""
4606 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4607 "B<tmpnam>(3)"
4608
4609 #. type: TH
4610 #: build/C/man3/mkstemp.3:35
4611 #, no-wrap
4612 msgid "MKSTEMP"
4613 msgstr "MKSTEMP"
4614
4615 #. type: TH
4616 #: build/C/man3/mkstemp.3:35
4617 #, no-wrap
4618 msgid "2013-12-28"
4619 msgstr "2013-12-28"
4620
4621 #. type: Plain text
4622 #: build/C/man3/mkstemp.3:38
4623 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4624 msgstr ""
4625 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4626 "を作成する"
4627
4628 #. type: Plain text
4629 #: build/C/man3/mkstemp.3:43
4630 #, no-wrap
4631 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4632 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4633
4634 #. type: Plain text
4635 #: build/C/man3/mkstemp.3:45
4636 #, no-wrap
4637 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4638 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4639
4640 #. type: Plain text
4641 #: build/C/man3/mkstemp.3:47
4642 #, no-wrap
4643 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4644 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4645
4646 #. type: Plain text
4647 #: build/C/man3/mkstemp.3:49
4648 #, no-wrap
4649 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4650 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4651
4652 #. type: Plain text
4653 #: build/C/man3/mkstemp.3:57
4654 msgid "B<mkstemp>():"
4655 msgstr "B<mkstemp>():"
4656
4657 #. type: Plain text
4658 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4659 msgid ""
4660 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4661 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4662 msgstr ""
4663 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4664 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4665
4666 #. type: Plain text
4667 #: build/C/man3/mkstemp.3:64
4668 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4669 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4670
4671 #. type: Plain text
4672 #: build/C/man3/mkstemp.3:70
4673 msgid "B<mkostemp>(): _GNU_SOURCE"
4674 msgstr "B<mkostemp>(): _GNU_SOURCE"
4675
4676 #. type: Plain text
4677 #: build/C/man3/mkstemp.3:73
4678 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4679 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4680
4681 #. type: Plain text
4682 #: build/C/man3/mkstemp.3:76
4683 msgid "B<mkostemps>(): _GNU_SOURCE"
4684 msgstr "B<mkostemps>(): _GNU_SOURCE"
4685
4686 #. type: Plain text
4687 #: build/C/man3/mkstemp.3:83
4688 msgid ""
4689 "The B<mkstemp>()  function generates a unique temporary filename from "
4690 "I<template>, creates and opens the file, and returns an open file descriptor "
4691 "for the file."
4692 msgstr ""
4693 "関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
4694 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4695 "ファイルディスクリプタを返す。"
4696
4697 #. type: Plain text
4698 #: build/C/man3/mkstemp.3:91
4699 msgid ""
4700 "The last six characters of I<template> must be \"XXXXXX\" and these are "
4701 "replaced with a string that makes the filename unique.  Since it will be "
4702 "modified, I<template> must not be a string constant, but should be declared "
4703 "as a character array."
4704 msgstr ""
4705 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4706 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4707 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4708 "うにしなければならない。"
4709
4710 #. type: Plain text
4711 #: build/C/man3/mkstemp.3:99
4712 msgid ""
4713 "The file is created with permissions 0600, that is, read plus write for "
4714 "owner only.  The returned file descriptor provides both read and write "
4715 "access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
4716 "guaranteeing that the caller is the process that creates the file."
4717 msgstr ""
4718 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4719 "るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
4720 "る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
4721 "ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
4722
4723 #.  Reportedly, FreeBSD
4724 #. type: Plain text
4725 #: build/C/man3/mkstemp.3:130
4726 msgid ""
4727 "The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
4728 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
4729 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
4730 "when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
4731 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
4732 "including these values in the I<flags> argument given to B<mkostemp>()  is "
4733 "unnecessary, and produces errors on some systems."
4734 msgstr ""
4735 "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, "
4736 "B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と"
4737 "同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す "
4738 "I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 "
4739 "B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システム"
4740 "によってはエラーが発生する点に注意すること。"
4741
4742 #. type: Plain text
4743 #: build/C/man3/mkstemp.3:146
4744 msgid ""
4745 "The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
4746 "I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
4747 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
4748 "for B<mkstemp>()."
4749 msgstr ""
4750 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4751 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4752 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4753 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4754
4755 #. type: Plain text
4756 #: build/C/man3/mkstemp.3:155
4757 msgid ""
4758 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
4759 "B<mkstemp>()."
4760 msgstr ""
4761 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4762 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4763
4764 #. type: Plain text
4765 #: build/C/man3/mkstemp.3:161
4766 msgid ""
4767 "On success, these functions return the file descriptor of the temporary "
4768 "file.  On error, -1 is returned, and I<errno> is set appropriately."
4769 msgstr ""
4770 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
4771 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
4772
4773 #. type: TP
4774 #: build/C/man3/mkstemp.3:162
4775 #, no-wrap
4776 msgid "B<EEXIST>"
4777 msgstr "B<EEXIST>"
4778
4779 #. type: Plain text
4780 #: build/C/man3/mkstemp.3:166
4781 msgid ""
4782 "Could not create a unique temporary filename.  Now the contents of "
4783 "I<template> are undefined."
4784 msgstr ""
4785 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4786
4787 #. type: Plain text
4788 #: build/C/man3/mkstemp.3:174
4789 msgid ""
4790 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
4791 "were not XXXXXX; now I<template> is unchanged."
4792 msgstr ""
4793 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4794 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4795 "この場合、I<template> は変更されない。"
4796
4797 #. type: Plain text
4798 #: build/C/man3/mkstemp.3:185
4799 msgid ""
4800 "For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
4801 "suffixlen)> characters long, or the last 6 characters before the suffix in "
4802 "I<template> were not XXXXXX."
4803 msgstr ""
4804 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4805 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4806 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4807
4808 #. type: Plain text
4809 #: build/C/man3/mkstemp.3:188
4810 msgid ""
4811 "These functions may also fail with any of the errors described for "
4812 "B<open>(2)."
4813 msgstr ""
4814 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4815 "る。"
4816
4817 #. type: Plain text
4818 #: build/C/man3/mkstemp.3:195
4819 msgid ""
4820 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
4821 "B<mkostemps>()  are available since glibc 2.11."
4822 msgstr ""
4823 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4824 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4825
4826 #. type: Plain text
4827 #: build/C/man3/mkstemp.3:198
4828 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4829 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4830
4831 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4832 #.  and Tru64.
4833 #. type: Plain text
4834 #: build/C/man3/mkstemp.3:203
4835 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4836 msgstr ""
4837 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4838
4839 #. type: Plain text
4840 #: build/C/man3/mkstemp.3:208
4841 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
4842 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4843
4844 #. type: Plain text
4845 #: build/C/man3/mkstemp.3:215
4846 msgid ""
4847 "In glibc versions 2.06 and earlier, the file is created with permissions "
4848 "0666, that is, read and write for all users.  This old behavior may be a "
4849 "security risk, especially since other UNIX flavors use 0600, and somebody "
4850 "might overlook this detail when porting programs.  POSIX.1-2008 adds a "
4851 "requirement that the file be created with mode 0600."
4852 msgstr ""
4853 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4854 "ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
4855 "る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
4856 "る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
4857 "ルを許可モード 0600 で作成することが必須要件として追加された。"
4858
4859 #. type: Plain text
4860 #: build/C/man3/mkstemp.3:226
4861 msgid ""
4862 "More generally, the POSIX specification of B<mkstemp>()  does not say "
4863 "anything about file modes, so the application should make sure its file mode "
4864 "creation mask (see B<umask>(2))  is set appropriately before calling "
4865 "B<mkstemp>()  (and B<mkostemp>())."
4866 msgstr ""
4867 "より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
4868 "べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
4869 "呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
4870 "るか確認するべきである。"
4871
4872 #. type: Plain text
4873 #: build/C/man3/mkstemp.3:233
4874 msgid ""
4875 "The prototype for B<mktemp>()  is in I<E<lt>unistd.hE<gt>> for libc4, libc5, "
4876 "glibc1; glibc2 follows POSIX.1 and has the prototype in I<E<lt>stdlib."
4877 "hE<gt>>."
4878 msgstr ""
4879 "B<mktemp>()  のプロトタイプ宣言は、libc4, libc5, glibc1 では I<E<lt>unistd."
4880 "hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し I<E<lt>stdlib.hE<gt>> に含ま"
4881 "れている。"
4882
4883 #. type: Plain text
4884 #: build/C/man3/mkstemp.3:239
4885 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4886 msgstr ""
4887 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4888
4889 #. type: TH
4890 #: build/C/man3/mktemp.3:34
4891 #, no-wrap
4892 msgid "MKTEMP"
4893 msgstr "MKTEMP"
4894
4895 #. type: TH
4896 #: build/C/man3/mktemp.3:34
4897 #, no-wrap
4898 msgid "2014-02-27"
4899 msgstr "2014-02-27"
4900
4901 #. type: Plain text
4902 #: build/C/man3/mktemp.3:37
4903 msgid "mktemp - make a unique temporary filename"
4904 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4905
4906 #. type: Plain text
4907 #: build/C/man3/mktemp.3:42
4908 #, no-wrap
4909 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4910 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4911
4912 #. type: Plain text
4913 #: build/C/man3/mktemp.3:50
4914 msgid "B<mktemp>():"
4915 msgstr "B<mktemp>():"
4916
4917 #. type: Plain text
4918 #: build/C/man3/mktemp.3:59
4919 #, no-wrap
4920 msgid ""
4921 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4922 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4923 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4924 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4925 msgstr ""
4926 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4927 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4928 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4929 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4930
4931 #. type: Plain text
4932 #: build/C/man3/mktemp.3:69
4933 msgid "I<Never use this function>; see NOTES."
4934 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
4935
4936 #. type: Plain text
4937 #: build/C/man3/mktemp.3:80
4938 msgid ""
4939 "The B<mktemp>()  function generates a unique temporary filename from "
4940 "I<template>.  The last six characters of I<template> must be XXXXXX and "
4941 "these are replaced with a string that makes the filename unique.  Since it "
4942 "will be modified, I<template> must not be a string constant, but should be "
4943 "declared as a character array."
4944 msgstr ""
4945 "関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
4946 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
4947 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
4948 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
4949 "るように しなければならない。"
4950
4951 #. type: Plain text
4952 #: build/C/man3/mktemp.3:91
4953 msgid ""
4954 "The B<mktemp>()  function always returns I<template>.  If a unique name was "
4955 "created, the last six bytes of I<template> will have been modified in such a "
4956 "way that the resulting name is unique (i.e., does not exist already)  If a "
4957 "unique name could not be created, I<template> is made an empty string, and "
4958 "I<errno> is set to indicate the error."
4959 msgstr ""
4960 "関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
4961 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
4962 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
4963 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
4964 "る。"
4965
4966 #. type: Plain text
4967 #: build/C/man3/mktemp.3:95
4968 msgid "The last six characters of I<template> were not XXXXXX."
4969 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
4970
4971 #. type: Plain text
4972 #: build/C/man3/mktemp.3:99
4973 msgid ""
4974 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
4975 msgstr ""
4976 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
4977 "る。"
4978
4979 #. type: Plain text
4980 #: build/C/man3/mktemp.3:105
4981 msgid ""
4982 "The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; glibc2 "
4983 "follows the Single UNIX Specification and has the prototype in I<E<lt>stdlib."
4984 "hE<gt>>."
4985 msgstr ""
4986 "libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
4987 "る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> に含"
4988 "まれている。"
4989
4990 #. type: SH
4991 #: build/C/man3/mktemp.3:105 build/C/man3/random.3:189
4992 #: build/C/man3/rpmatch.3:104 build/C/man3/setenv.3:144
4993 #, no-wrap
4994 msgid "BUGS"
4995 msgstr "バグ"
4996
4997 #. type: Plain text
4998 #: build/C/man3/mktemp.3:118
4999 msgid ""
5000 "Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
5001 "XXXXXX by the current process ID and a single letter, so that at most 26 "
5002 "different names can be returned.  Since on the one hand the names are easy "
5003 "to guess, and on the other hand there is a race between testing whether the "
5004 "name exists and opening the file, every use of B<mktemp>()  is a security "
5005 "risk.  The race is avoided by B<mkstemp>(3)."
5006 msgstr ""
5007 "B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
5008 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
5009 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
5010 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
5011 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
5012 "ことで避けられる。"
5013
5014 #. type: Plain text
5015 #: build/C/man3/mktemp.3:123
5016 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5017 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5018
5019 #. type: TH
5020 #: build/C/man3/on_exit.3:31
5021 #, no-wrap
5022 msgid "ON_EXIT"
5023 msgstr "ON_EXIT"
5024
5025 #. type: Plain text
5026 #: build/C/man3/on_exit.3:34
5027 msgid ""
5028 "on_exit - register a function to be called at normal process termination"
5029 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
5030
5031 #. type: Plain text
5032 #: build/C/man3/on_exit.3:39
5033 #, no-wrap
5034 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5035 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5036
5037 #. type: Plain text
5038 #: build/C/man3/on_exit.3:48
5039 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5040 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5041
5042 #. type: Plain text
5043 #: build/C/man3/on_exit.3:66
5044 msgid ""
5045 "The B<on_exit>()  function registers the given I<function> to be called at "
5046 "normal process termination, whether via B<exit>(3)  or via return from the "
5047 "program's I<main>().  The I<function> is passed the status argument given to "
5048 "the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
5049 msgstr ""
5050 "B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
5051 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
5052 "ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
5053 "は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
5054 "I<arg> 引数が渡される。"
5055
5056 #. type: Plain text
5057 #: build/C/man3/on_exit.3:81
5058 msgid ""
5059 "The B<on_exit>()  function returns the value 0 if successful; otherwise it "
5060 "returns a nonzero value."
5061 msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
5062
5063 #. type: Plain text
5064 #: build/C/man3/on_exit.3:88
5065 msgid ""
5066 "This function comes from SunOS 4, but is also present in libc4, libc5 and "
5067 "glibc.  It no longer occurs in Solaris (SunOS 5).  Avoid this function, and "
5068 "use the standard B<atexit>(3)  instead."
5069 msgstr ""
5070 "この関数は SunOS 4 由来であるが、libc4, libc5, glibc にも存在する。 Solaris "
5071 "(SunOS 5) にはもはや存在しない。 この関数の使用は避け、代わりに標準の "
5072 "B<atexit>(3)  を使うこと。"
5073
5074 #. type: Plain text
5075 #: build/C/man3/on_exit.3:92
5076 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5077 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5078
5079 #. type: TH
5080 #: build/C/man3/putenv.3:36
5081 #, no-wrap
5082 msgid "PUTENV"
5083 msgstr "PUTENV"
5084
5085 #. type: TH
5086 #: build/C/man3/putenv.3:36
5087 #, no-wrap
5088 msgid "2013-04-19"
5089 msgstr "2013-04-19"
5090
5091 #. type: Plain text
5092 #: build/C/man3/putenv.3:39
5093 msgid "putenv - change or add an environment variable"
5094 msgstr "putenv - 環境変数の変更または追加"
5095
5096 #.  Not: const char *
5097 #. type: Plain text
5098 #: build/C/man3/putenv.3:45
5099 #, no-wrap
5100 msgid "B<int putenv(char *>I<string>B<);>\n"
5101 msgstr "B<int putenv(char *>I<string>B<);>\n"
5102
5103 #. type: Plain text
5104 #: build/C/man3/putenv.3:54
5105 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5106 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5107
5108 #. type: Plain text
5109 #: build/C/man3/putenv.3:67
5110 msgid ""
5111 "The B<putenv>()  function adds or changes the value of environment "
5112 "variables.  The argument I<string> is of the form I<name>=I<value>.  If "
5113 "I<name> does not already exist in the environment, then I<string> is added "
5114 "to the environment.  If I<name> does exist, then the value of I<name> in the "
5115 "environment is changed to I<value>.  The string pointed to by I<string> "
5116 "becomes part of the environment, so altering the string changes the "
5117 "environment."
5118 msgstr ""
5119 "B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
5120 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
5121 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
5122 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
5123 "文字列を変更すると環境も変更される。"
5124
5125 #. type: Plain text
5126 #: build/C/man3/putenv.3:75
5127 msgid ""
5128 "The B<putenv>()  function returns zero on success, or nonzero if an error "
5129 "occurs.  In the event of an error, I<errno> is set to indicate the cause."
5130 msgstr ""
5131 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5132 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5133
5134 #. type: TP
5135 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5136 #, no-wrap
5137 msgid "B<ENOMEM>"
5138 msgstr "B<ENOMEM>"
5139
5140 #. type: Plain text
5141 #: build/C/man3/putenv.3:79
5142 msgid "Insufficient space to allocate new environment."
5143 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5144
5145 #. type: Plain text
5146 #: build/C/man3/putenv.3:81
5147 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5148 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5149
5150 #. type: Plain text
5151 #: build/C/man3/putenv.3:86
5152 msgid ""
5153 "The B<putenv>()  function is not required to be reentrant, and the one in "
5154 "libc4, libc5 and glibc 2.0 is not, but the glibc 2.1 version is."
5155 msgstr ""
5156 "B<putenv>()  はリエントラントであることを求められていない。 libc4, libc5, "
5157 "glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
5158
5159 #. type: Plain text
5160 #: build/C/man3/putenv.3:99
5161 msgid ""
5162 "Description for libc4, libc5, glibc: If the argument I<string> is of the "
5163 "form I<name>, and does not contain an \\(aq=\\(aq character, then the "
5164 "variable I<name> is removed from the environment.  If B<putenv>()  has to "
5165 "allocate a new array I<environ>, and the previous array was also allocated "
5166 "by B<putenv>(), then it will be freed.  In no case will the old storage "
5167 "associated to the environment variable itself be freed."
5168 msgstr ""
5169 "libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
5170 "\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去される。 "
5171 "もし B<putenv>()  が新しい I<environ> 配列を確保しなければならない時、 以前"
5172 "の I<environ> 配列も B<putenv>()  によって確保されたものならば、 それは解放さ"
5173 "れる。 環境変数そのものに割り当てられた古い記憶領域が解放されることはない。"
5174
5175 #. type: Plain text
5176 #: build/C/man3/putenv.3:115
5177 msgid ""
5178 "The libc4 and libc5 and glibc 2.1.2 versions conform to SUSv2: the pointer "
5179 "I<string> given to B<putenv>()  is used.  In particular, this string becomes "
5180 "part of the environment; changing it later will change the environment.  "
5181 "(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
5182 "the argument, then return from the calling function while I<string> is still "
5183 "part of the environment.)  However, glibc 2.0-2.1.1 differs: a copy of the "
5184 "string is used.  On the one hand this causes a memory leak, and on the other "
5185 "hand it violates SUSv2.  This has been fixed in glibc 2.1.2."
5186 msgstr ""
5187 "libc4 と libc5 と glibc 2.1.2 では SUSv2 に準拠している。 B<putenv>()  で与え"
5188 "られたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更"
5189 "すると環境も変わる。 (従って、 B<putenv>()  を自動変数を引数として呼び出し、 "
5190 "I<string>が環境の一部のままで呼び出した関数から return するとエラーになる)  "
5191 "しかし、glibc 2.0-2.1.1 では異なり、文字列のコピーが使われる。 これはメモリ"
5192 "リークを引き起こすだけでなく、 SUSv2 に違反している。 これは glibc2.1.2 で修"
5193 "正された。"
5194
5195 #. type: Plain text
5196 #: build/C/man3/putenv.3:117
5197 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
5198 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
5199
5200 #. type: Plain text
5201 #: build/C/man3/putenv.3:119
5202 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5203 msgstr ""
5204 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5205 "うになっている。"
5206
5207 #. type: Plain text
5208 #: build/C/man3/putenv.3:125
5209 msgid ""
5210 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5211 msgstr ""
5212 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5213
5214 #. type: TH
5215 #: build/C/man3/qecvt.3:28
5216 #, no-wrap
5217 msgid "QECVT"
5218 msgstr "QECVT"
5219
5220 #. type: TH
5221 #: build/C/man3/qecvt.3:28
5222 #, no-wrap
5223 msgid "2014-03-11"
5224 msgstr "2014-03-11"
5225
5226 #. type: Plain text
5227 #: build/C/man3/qecvt.3:31
5228 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
5229 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
5230
5231 #. type: Plain text
5232 #: build/C/man3/qecvt.3:36
5233 msgid ""
5234 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5235 "> B<int *>I<sign>B<);>"
5236 msgstr ""
5237 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5238 "> B<int *>I<sign>B<);>"
5239
5240 #. type: Plain text
5241 #: build/C/man3/qecvt.3:39
5242 msgid ""
5243 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5244 "> B<int *>I<sign>B<);>"
5245 msgstr ""
5246 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5247 "> B<int *>I<sign>B<);>"
5248
5249 #. type: Plain text
5250 #: build/C/man3/qecvt.3:41
5251 msgid ""
5252 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5253 msgstr ""
5254 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5255
5256 #. type: Plain text
5257 #: build/C/man3/qecvt.3:52
5258 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5259 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5260
5261 #. type: Plain text
5262 #: build/C/man3/qecvt.3:85
5263 msgid ""
5264 "The functions B<qecvt>(), B<qfcvt>()  and B<qgcvt>()  are identical to "
5265 "B<ecvt>(3), B<fcvt>(3)  and B<gcvt>(3)  respectively, except that they use a "
5266 "I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
5267 msgstr ""
5268 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), "
5269 "B<fcvt>(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型"
5270 "である点だけが異なる。"
5271
5272 #. type: Plain text
5273 #: build/C/man3/qecvt.3:92
5274 msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
5275 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
5276
5277 #. type: Plain text
5278 #: build/C/man3/qecvt.3:96
5279 msgid "The B<qgcvt>()  function is thread-safe."
5280 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5281
5282 #. type: Plain text
5283 #: build/C/man3/qecvt.3:102
5284 msgid ""
5285 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
5286 "Not supported by libc4 and libc5.  Supported by glibc."
5287 msgstr ""
5288 "SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5289 "る。 libc4 と libc5 ではサポートされていないが、 glibc ではサポートされてい"
5290 "る。"
5291
5292 #. type: Plain text
5293 #: build/C/man3/qecvt.3:107
5294 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
5295 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5296
5297 #. type: Plain text
5298 #: build/C/man3/qecvt.3:112
5299 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5300 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5301
5302 #. type: TH
5303 #: build/C/man3/rand.3:41
5304 #, no-wrap
5305 msgid "RAND"
5306 msgstr "RAND"
5307
5308 #. type: TH
5309 #: build/C/man3/rand.3:41
5310 #, no-wrap
5311 msgid "2014-01-18"
5312 msgstr "2014-01-18"
5313
5314 #. type: Plain text
5315 #: build/C/man3/rand.3:44
5316 msgid "rand, rand_r, srand - pseudo-random number generator"
5317 msgstr "rand, srand - 乱数を生成する関数"
5318
5319 #. type: Plain text
5320 #: build/C/man3/rand.3:49
5321 #, no-wrap
5322 msgid "B<int rand(void);>\n"
5323 msgstr "B<int rand(void);>\n"
5324
5325 #. type: Plain text
5326 #: build/C/man3/rand.3:51
5327 #, no-wrap
5328 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5329 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5330
5331 #. type: Plain text
5332 #: build/C/man3/rand.3:53
5333 #, no-wrap
5334 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5335 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5336
5337 #. type: Plain text
5338 #: build/C/man3/rand.3:62
5339 msgid ""
5340 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5341 msgstr ""
5342 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5343
5344 #. type: Plain text
5345 #: build/C/man3/rand.3:68
5346 msgid ""
5347 "The B<rand>()  function returns a pseudo-random integer in the range 0 to "
5348 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
5349 msgstr ""
5350 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5351 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5352
5353 #. type: Plain text
5354 #: build/C/man3/rand.3:77
5355 msgid ""
5356 "The B<srand>()  function sets its argument as the seed for a new sequence of "
5357 "pseudo-random integers to be returned by B<rand>().  These sequences are "
5358 "repeatable by calling B<srand>()  with the same seed value."
5359 msgstr ""
5360 "B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
5361 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5362 "は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
5363 "る。"
5364
5365 #. type: Plain text
5366 #: build/C/man3/rand.3:81
5367 msgid ""
5368 "If no seed value is provided, the B<rand>()  function is automatically "
5369 "seeded with a value of 1."
5370 msgstr ""
5371 "種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
5372
5373 #. type: Plain text
5374 #: build/C/man3/rand.3:92
5375 msgid ""
5376 "The function B<rand>()  is not reentrant or thread-safe, since it uses "
5377 "hidden state that is modified on each call.  This might just be the seed "
5378 "value to be used by the next call, or it might be something more elaborate.  "
5379 "In order to get reproducible behavior in a threaded application, this state "
5380 "must be made explicit; this can be done using the reentrant function "
5381 "B<rand_r>()."
5382 msgstr ""
5383 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
5384 "い。\n"
5385 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5386 "る。\n"
5387 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5388 "る。\n"
5389 "実際にはもう少し複雑かもしれないが。\n"
5390 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5391 "この状態を明示的に指定できなければならない。これを行うには、\n"
5392 "再入可能な B<rand_r>() 関数を使用する。"
5393
5394 #. type: Plain text
5395 #: build/C/man3/rand.3:108
5396 msgid ""
5397 "Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
5398 "\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
5399 "that is used to store state between calls.  If B<rand_r>()  is called with "
5400 "the same initial value for the integer pointed to by I<seedp>, and that "
5401 "value is not modified between calls, then the same pseudo-random sequence "
5402 "will result."
5403 msgstr ""
5404 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5405 "す。\n"
5406 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5407 "I<unsigned int> へのポインタである。\n"
5408 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5409 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5410
5411 #. type: Plain text
5412 #: build/C/man3/rand.3:118
5413 msgid ""
5414 "The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
5415 "a very small amount of state, so this function will be a weak pseudo-random "
5416 "generator.  Try B<drand48_r>(3)  instead."
5417 msgstr ""
5418 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5419 "間\n"
5420 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5421 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5422
5423 #. type: Plain text
5424 #: build/C/man3/rand.3:129
5425 msgid ""
5426 "The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
5427 "B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
5428 msgstr ""
5429 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5430 "関数 B<srand>() は値を返さない。"
5431
5432 #. type: Plain text
5433 #: build/C/man3/rand.3:141
5434 msgid ""
5435 "The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
5436 "POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
5437 "marks B<rand_r>()  as obsolete."
5438 msgstr ""
5439 "関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
5440 "している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
5441 "B<rand_r>()  を廃止予定としている。"
5442
5443 #. type: Plain text
5444 #: build/C/man3/rand.3:160
5445 msgid ""
5446 "The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
5447 "same random number generator as B<random>(3)  and B<srandom>(3), so the "
5448 "lower-order bits should be as random as the higher-order bits.  However, on "
5449 "older B<rand>()  implementations, and on current implementations on "
5450 "different systems, the lower-order bits are much less random than the higher-"
5451 "order bits.  Do not use this function in applications intended to be "
5452 "portable when good randomness is needed.  (Use B<random>(3)  instead.)"
5453 msgstr ""
5454 "B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
5455 "B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5456 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5457 "B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5458 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5459 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
5460 "うこと)。"
5461
5462 #. type: Plain text
5463 #: build/C/man3/rand.3:166
5464 msgid ""
5465 "POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
5466 "and B<srand>(), possibly useful when one needs the same sequence on two "
5467 "different machines."
5468 msgstr ""
5469 "POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
5470 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5471
5472 #. type: Plain text
5473 #: build/C/man3/rand.3:170
5474 #, no-wrap
5475 msgid "static unsigned long next = 1;\n"
5476 msgstr "static unsigned long next = 1;\n"
5477
5478 #. type: Plain text
5479 #: build/C/man3/rand.3:176
5480 #, no-wrap
5481 msgid ""
5482 "/* RAND_MAX assumed to be 32767 */\n"
5483 "int myrand(void) {\n"
5484 "    next = next * 1103515245 + 12345;\n"
5485 "    return((unsigned)(next/65536) % 32768);\n"
5486 "}\n"
5487 msgstr ""
5488 "/* RAND_MAX を 32767 と仮定 */\n"
5489 "int myrand(void) {\n"
5490 "    next = next * 1103515245 + 12345;\n"
5491 "    return((unsigned)(next/65536) % 32768);\n"
5492 "}\n"
5493
5494 #. type: Plain text
5495 #: build/C/man3/rand.3:180
5496 #, no-wrap
5497 msgid ""
5498 "void mysrand(unsigned int seed) {\n"
5499 "    next = seed;\n"
5500 "}\n"
5501 msgstr ""
5502 "void mysrand(unsigned int seed) {\n"
5503 "    next = seed;\n"
5504 "}\n"
5505
5506 #. type: Plain text
5507 #: build/C/man3/rand.3:187
5508 msgid ""
5509 "The following program can be used to display the pseudo-random sequence "
5510 "produced by B<rand>()  when given a particular seed."
5511 msgstr ""
5512 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5513 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5514
5515 #. type: Plain text
5516 #: build/C/man3/rand.3:192
5517 #, no-wrap
5518 msgid ""
5519 "#include E<lt>stdlib.hE<gt>\n"
5520 "#include E<lt>stdio.hE<gt>\n"
5521 msgstr ""
5522 "#include E<lt>stdlib.hE<gt>\n"
5523 "#include E<lt>stdio.hE<gt>\n"
5524
5525 #. type: Plain text
5526 #: build/C/man3/rand.3:198
5527 #, no-wrap
5528 msgid ""
5529 "int\n"
5530 "main(int argc, char *argv[])\n"
5531 "{\n"
5532 "    int j, r, nloops;\n"
5533 "    unsigned int seed;\n"
5534 msgstr ""
5535 "int\n"
5536 "main(int argc, char *argv[])\n"
5537 "{\n"
5538 "    int j, r, nloops;\n"
5539 "    unsigned int seed;\n"
5540
5541 #. type: Plain text
5542 #: build/C/man3/rand.3:203
5543 #, no-wrap
5544 msgid ""
5545 "    if (argc != 3) {\n"
5546 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5547 "        exit(EXIT_FAILURE);\n"
5548 "    }\n"
5549 msgstr ""
5550 "    if (argc != 3) {\n"
5551 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5552 "        exit(EXIT_FAILURE);\n"
5553 "    }\n"
5554
5555 #. type: Plain text
5556 #: build/C/man3/rand.3:206
5557 #, no-wrap
5558 msgid ""
5559 "    seed = atoi(argv[1]);\n"
5560 "    nloops = atoi(argv[2]);\n"
5561 msgstr ""
5562 "    seed = atoi(argv[1]);\n"
5563 "    nloops = atoi(argv[2]);\n"
5564
5565 #. type: Plain text
5566 #: build/C/man3/rand.3:212
5567 #, no-wrap
5568 msgid ""
5569 "    srand(seed);\n"
5570 "    for (j = 0; j E<lt> nloops; j++) {\n"
5571 "        r =  rand();\n"
5572 "        printf(\"%d\\en\", r);\n"
5573 "    }\n"
5574 msgstr ""
5575 "    srand(seed);\n"
5576 "    for (j = 0; j E<lt> nloops; j++) {\n"
5577 "        r =  rand();\n"
5578 "        printf(\"%d\\en\", r);\n"
5579 "    }\n"
5580
5581 #. type: Plain text
5582 #: build/C/man3/rand.3:220
5583 msgid "B<drand48>(3), B<random>(3)"
5584 msgstr "B<drand48>(3), B<random>(3)"
5585
5586 #. type: TH
5587 #: build/C/man3/random.3:33
5588 #, no-wrap
5589 msgid "RANDOM"
5590 msgstr "RANDOM"
5591
5592 #. type: Plain text
5593 #: build/C/man3/random.3:36
5594 msgid "random, srandom, initstate, setstate - random number generator"
5595 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5596
5597 #. type: Plain text
5598 #: build/C/man3/random.3:41
5599 #, no-wrap
5600 msgid "B<long int random(void);>\n"
5601 msgstr "B<long int random(void);>\n"
5602
5603 #. type: Plain text
5604 #: build/C/man3/random.3:43
5605 #, no-wrap
5606 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5607 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5608
5609 #. type: Plain text
5610 #: build/C/man3/random.3:45
5611 #, no-wrap
5612 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5613 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5614
5615 #. type: Plain text
5616 #: build/C/man3/random.3:47
5617 #, no-wrap
5618 msgid "B<char *setstate(char *>I<state>B<);>\n"
5619 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5620
5621 #. type: Plain text
5622 #: build/C/man3/random.3:59
5623 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5624 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5625
5626 #. type: Plain text
5627 #: build/C/man3/random.3:62
5628 msgid ""
5629 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5630 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5631 msgstr ""
5632 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5633 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5634
5635 #. type: Plain text
5636 #: build/C/man3/random.3:73
5637 msgid ""
5638 "The B<random>()  function uses a nonlinear additive feedback random number "
5639 "generator employing a default table of size 31 long integers to return "
5640 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
5641 "period of this random number generator is very large, approximately I<16\\ *"
5642 "\\ ((2^31)\\ -\\ 1)>."
5643 msgstr ""
5644 "B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5645 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5646 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5647 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5648
5649 #. type: Plain text
5650 #: build/C/man3/random.3:87
5651 msgid ""
5652 "The B<srandom>()  function sets its argument as the seed for a new sequence "
5653 "of pseudo-random integers to be returned by B<random>().  These sequences "
5654 "are repeatable by calling B<srandom>()  with the same seed value.  If no "
5655 "seed value is provided, the B<random>()  function is automatically seeded "
5656 "with a value of 1."
5657 msgstr ""
5658 "B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
5659 "る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 "
5660 "B<random>()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼"
5661 "ぶことで再現可能である。 種の値が与えられない場合には B<random>()  関数は、自"
5662 "動的に 1 を種に設定する。"
5663
5664 #. type: Plain text
5665 #: build/C/man3/random.3:102
5666 msgid ""
5667 "The B<initstate>()  function allows a state array I<state> to be initialized "
5668 "for use by B<random>().  The size of the state array I<n> is used by "
5669 "B<initstate>()  to decide how sophisticated a random number generator it "
5670 "should use\\(emthe larger the state array, the better the random numbers "
5671 "will be.  I<seed> is the seed for the initialization, which specifies a "
5672 "starting point for the random number sequence, and provides for restarting "
5673 "at the same point."
5674 msgstr ""
5675 "B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
5676 "する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5677 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5678 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5679 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5680 "ることができる。"
5681
5682 #. type: Plain text
5683 #: build/C/man3/random.3:118
5684 msgid ""
5685 "The B<setstate>()  function changes the state array used by the B<random>()  "
5686 "function.  The state array I<state> is used for random number generation "
5687 "until the next call to B<initstate>()  or B<setstate>().  I<state> must "
5688 "first have been initialized using B<initstate>()  or be the result of a "
5689 "previous call of B<setstate>()."
5690 msgstr ""
5691 "B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
5692 "列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
5693 "で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
5694 "されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
5695
5696 #. type: Plain text
5697 #: build/C/man3/random.3:126
5698 msgid ""
5699 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
5700 "B<srandom>()  function returns no value."
5701 msgstr ""
5702 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5703 "関数 B<srandom>() は値を返さない。"
5704
5705 #. type: Plain text
5706 #: build/C/man3/random.3:133
5707 msgid ""
5708 "The B<initstate>()  function returns a pointer to the previous state array.  "
5709 "On error, I<errno> is set to indicate the cause."
5710 msgstr ""
5711 "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
5712 "I<errno> に原因を示す値が設定される。"
5713
5714 #. type: Plain text
5715 #: build/C/man3/random.3:140
5716 msgid ""
5717 "On success, B<setstate>()  returns a pointer to the previous state array.  "
5718 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
5719 "error."
5720 msgstr ""
5721 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5722 "I<errno> にエラーの原因を示す値が設定される。"
5723
5724 #. type: Plain text
5725 #: build/C/man3/random.3:148
5726 msgid "The I<state> argument given to B<setstate>()  was NULL."
5727 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
5728
5729 #. type: Plain text
5730 #: build/C/man3/random.3:152
5731 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
5732 msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
5733
5734 #. type: Plain text
5735 #: build/C/man3/random.3:161
5736 msgid ""
5737 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
5738 "are thread-safe."
5739 msgstr ""
5740 "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
5741 "フである。"
5742
5743 #. type: Plain text
5744 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
5745 msgid "4.3BSD, POSIX.1-2001."
5746 msgstr "4.3BSD, POSIX.1-2001."
5747
5748 #. type: Plain text
5749 #: build/C/man3/random.3:169
5750 msgid ""
5751 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
5752 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
5753 "known amount.  Using less than 8 bytes will cause an error."
5754 msgstr ""
5755 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5756 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5757 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5758
5759 #. type: Plain text
5760 #: build/C/man3/random.3:176
5761 msgid ""
5762 "This function should not be used in cases where multiple threads use "
5763 "B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
5764 "for that purpose."
5765 msgstr ""
5766 "複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
5767 "ない。 その場合には B<random_r>(3)  を使うこと。"
5768
5769 #. type: Plain text
5770 #: build/C/man3/random.3:183
5771 msgid ""
5772 "Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
5773 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5774 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5775 "2007, 3rd ed.)  provides an excellent discussion of practical random-number "
5776 "generation issues in Chapter 7 (Random Numbers)."
5777 msgstr ""
5778 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
5779 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5780 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5781 "2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
5782 "展開されている。"
5783
5784 #. type: Plain text
5785 #: build/C/man3/random.3:189
5786 msgid ""
5787 "For a more theoretical discussion which also covers many practical issues in "
5788 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
5789 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
5790 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
5791 msgstr ""
5792 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
5793 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
5794 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
5795 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5796
5797 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5798 #. type: Plain text
5799 #: build/C/man3/random.3:197
5800 msgid ""
5801 "According to POSIX, B<initstate>()  should return NULL on error.  In the "
5802 "glibc implementation, I<errno> is (as specified) set on error, but the "
5803 "function does not return NULL."
5804 msgstr ""
5805 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5806 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5807 "NULL ではない。"
5808
5809 #. type: Plain text
5810 #: build/C/man3/random.3:202
5811 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5812 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5813
5814 #. type: TH
5815 #: build/C/man3/random_r.3:26
5816 #, no-wrap
5817 msgid "RANDOM_R"
5818 msgstr "RANDOM_R"
5819
5820 #. type: Plain text
5821 #: build/C/man3/random_r.3:30
5822 msgid ""
5823 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5824 "generator"
5825 msgstr ""
5826 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5827
5828 #. type: Plain text
5829 #: build/C/man3/random_r.3:35
5830 #, no-wrap
5831 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5832 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5833
5834 #. type: Plain text
5835 #: build/C/man3/random_r.3:37
5836 #, no-wrap
5837 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5838 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5839
5840 #. type: Plain text
5841 #: build/C/man3/random_r.3:40
5842 #, no-wrap
5843 msgid ""
5844 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5845 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5846 msgstr ""
5847 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5848 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5849
5850 #. type: Plain text
5851 #: build/C/man3/random_r.3:42
5852 #, no-wrap
5853 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5854 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5855
5856 #. type: Plain text
5857 #: build/C/man3/random_r.3:54
5858 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5859 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5860
5861 #. type: Plain text
5862 #: build/C/man3/random_r.3:56
5863 msgid "_SVID_SOURCE || _BSD_SOURCE"
5864 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5865
5866 #. type: Plain text
5867 #: build/C/man3/random_r.3:64
5868 msgid ""
5869 "These functions are the reentrant equivalents of the functions described in "
5870 "B<random>(3).  They are suitable for use in multithreaded programs where "
5871 "each thread needs to obtain an independent, reproducible sequence of random "
5872 "numbers."
5873 msgstr ""
5874 "これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
5875 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5876 "ような マルチスレッド・プログラムでの使用に適している。"
5877
5878 #. type: Plain text
5879 #: build/C/man3/random_r.3:75
5880 msgid ""
5881 "The B<random_r>()  function is like B<random>(3), except that instead of "
5882 "using state information maintained in a global variable, it uses the state "
5883 "information in the argument pointed to by I<buf>.  The generated random "
5884 "number is returned in the argument I<result>."
5885 msgstr ""
5886 "B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
5887 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5888 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5889
5890 #. type: Plain text
5891 #: build/C/man3/random_r.3:84
5892 msgid ""
5893 "The B<srandom_r>()  function is like B<srandom>(3), except that it "
5894 "initializes the seed for the random number generator whose state is "
5895 "maintained in the object pointed to by I<buf>, instead of the seed "
5896 "associated with the global state variable."
5897 msgstr ""
5898 "B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
5899 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5900 "対応する乱数生成器の種を 初期化する。"
5901
5902 #. type: Plain text
5903 #: build/C/man3/random_r.3:92
5904 msgid ""
5905 "The B<initstate_r>()  function is like B<initstate>(3)  except that it "
5906 "initializes the state in the object pointed to by I<buf>, rather than "
5907 "initializing the global state variable."
5908 msgstr ""
5909 "B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
5910 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5911
5912 #. type: Plain text
5913 #: build/C/man3/random_r.3:100
5914 msgid ""
5915 "The B<setstate_r>()  function is like B<setstate>(3)  except that it "
5916 "modifies the state in the object pointer to by I<buf>, rather than modifying "
5917 "the global state variable."
5918 msgstr ""
5919 "B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
5920 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5921
5922 #. type: Plain text
5923 #: build/C/man3/random_r.3:105
5924 msgid ""
5925 "All of these functions return 0 on success.  On error, -1 is returned, with "
5926 "I<errno> set to indicate the cause of the error."
5927 msgstr ""
5928 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5929 "I<errno> にエラーの原因を示す値がセットされる。"
5930
5931 #. type: Plain text
5932 #: build/C/man3/random_r.3:110
5933 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
5934 msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
5935
5936 #. type: Plain text
5937 #: build/C/man3/random_r.3:119
5938 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
5939 msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
5940
5941 #. type: Plain text
5942 #: build/C/man3/random_r.3:128
5943 msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
5944 msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
5945
5946 #. type: Plain text
5947 #: build/C/man3/random_r.3:137
5948 msgid ""
5949 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
5950 "functions are thread-safe."
5951 msgstr ""
5952 "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
5953 "レッドセーフである。"
5954
5955 #.  These functions appear to be on Tru64, but don't seem to be on
5956 #.  Solaris, HP-UX, or FreeBSD.
5957 #. type: Plain text
5958 #: build/C/man3/random_r.3:141
5959 msgid "These functions are nonstandard glibc extensions."
5960 msgstr "これらの関数は非標準で glibc による拡張である。"
5961
5962 #. type: TH
5963 #: build/C/man3/rpmatch.3:29
5964 #, no-wrap
5965 msgid "RPMATCH"
5966 msgstr "RPMATCH"
5967
5968 #. type: Plain text
5969 #: build/C/man3/rpmatch.3:32
5970 msgid ""
5971 "rpmatch - determine if the answer to a question is affirmative or negative"
5972 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
5973
5974 #. type: Plain text
5975 #: build/C/man3/rpmatch.3:37
5976 #, no-wrap
5977 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
5978 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
5979
5980 #. type: Plain text
5981 #: build/C/man3/rpmatch.3:46
5982 msgid "B<rpmatch>(): _SVID_SOURCE"
5983 msgstr "B<rpmatch>(): _SVID_SOURCE"
5984
5985 #. type: Plain text
5986 #: build/C/man3/rpmatch.3:50
5987 msgid ""
5988 "B<rpmatch>()  handles a user response to yes or no questions, with support "
5989 "for internationalization."
5990 msgstr ""
5991 "B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
5992 "(I18N) に対応している。"
5993
5994 #. type: Plain text
5995 #: build/C/man3/rpmatch.3:57
5996 msgid ""
5997 "I<response> should be a null-terminated string containing a user-supplied "
5998 "response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
5999 msgstr ""
6000 "I<response> にはユーザからの応答を格納したヌル終端文字列が入っている必要があ"
6001 "る。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
6002
6003 #. type: Plain text
6004 #: build/C/man3/rpmatch.3:67
6005 msgid ""
6006 "The user's language preference is taken into account per the environment "
6007 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
6008 "B<setlocale>(3)  to effect their changes."
6009 msgstr ""
6010 "プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
6011 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
6012 "る。"
6013
6014 #. type: Plain text
6015 #: build/C/man3/rpmatch.3:73
6016 msgid ""
6017 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
6018 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
6019 msgstr ""
6020 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
6021 "B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
6022
6023 #. type: Plain text
6024 #: build/C/man3/rpmatch.3:82
6025 msgid ""
6026 "After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
6027 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
6028 "and -1 when the value of I<response> is unrecognized."
6029 msgstr ""
6030 "I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
6031 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
6032 "I<response> の値を解釈できなかった場合は -1 を返す。"
6033
6034 #. type: Plain text
6035 #: build/C/man3/rpmatch.3:86
6036 msgid ""
6037 "A return value of -1 may indicate either an invalid input, or some other "
6038 "error.  It is incorrect to only test if the return value is nonzero."
6039 msgstr ""
6040 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
6041 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
6042
6043 #. type: Plain text
6044 #: build/C/man3/rpmatch.3:99
6045 msgid ""
6046 "B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
6047 "B<regexec>(3)  can fail; the cause of the error is not available from "
6048 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
6049 "this case is indistinguishable from that of an unrecognized value of "
6050 "I<response>)."
6051 msgstr ""
6052 "B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
6053 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
6054 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
6055 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
6056
6057 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
6058 #. type: Plain text
6059 #: build/C/man3/rpmatch.3:104
6060 msgid ""
6061 "B<rpmatch>()  is not required by any standard, but is available on a few "
6062 "other systems."
6063 msgstr ""
6064 "B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
6065 "ステムもいくつかは存在する。"
6066
6067 #. type: Plain text
6068 #: build/C/man3/rpmatch.3:119
6069 msgid ""
6070 "The B<rpmatch>()  implementation looks at only the first character of "
6071 "I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
6072 "million years\" returns 1.  It would be preferable to accept input strings "
6073 "much more strictly, for example (using the extended regular expression "
6074 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
6075 "NO)$>."
6076 msgstr ""
6077 "B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
6078 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
6079 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
6080 "(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
6081 "B<^([nN]|no|NO)$> で解釈するなど。"
6082
6083 #. type: Plain text
6084 #: build/C/man3/rpmatch.3:123
6085 msgid ""
6086 "The following program displays the results when B<rpmatch>()  is applied to "
6087 "the string given in the program's command-line argument."
6088 msgstr ""
6089 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
6090 "に渡した場合の結果を表示する。"
6091
6092 #. type: Plain text
6093 #: build/C/man3/rpmatch.3:130
6094 #, no-wrap
6095 msgid ""
6096 "#define _SVID_SOURCE\n"
6097 "#include E<lt>locale.hE<gt>\n"
6098 "#include E<lt>stdlib.hE<gt>\n"
6099 "#include E<lt>string.hE<gt>\n"
6100 "#include E<lt>stdio.hE<gt>\n"
6101 msgstr ""
6102 "#define _SVID_SOURCE\n"
6103 "#include E<lt>locale.hE<gt>\n"
6104 "#include E<lt>stdlib.hE<gt>\n"
6105 "#include E<lt>string.hE<gt>\n"
6106 "#include E<lt>stdio.hE<gt>\n"
6107
6108 #. type: Plain text
6109 #: build/C/man3/rpmatch.3:138
6110 #, no-wrap
6111 msgid ""
6112 "int\n"
6113 "main(int argc, char *argv[])\n"
6114 "{\n"
6115 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6116 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6117 "        exit(EXIT_FAILURE);\n"
6118 "    }\n"
6119 msgstr ""
6120 "int\n"
6121 "main(int argc, char *argv[])\n"
6122 "{\n"
6123 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6124 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6125 "        exit(EXIT_FAILURE);\n"
6126 "    }\n"
6127
6128 #. type: Plain text
6129 #: build/C/man3/rpmatch.3:143
6130 #, no-wrap
6131 msgid ""
6132 "    setlocale(LC_ALL, \"\");\n"
6133 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6134 "    exit(EXIT_SUCCESS);\n"
6135 "}\n"
6136 msgstr ""
6137 "    setlocale(LC_ALL, \"\");\n"
6138 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6139 "    exit(EXIT_SUCCESS);\n"
6140 "}\n"
6141
6142 #. type: Plain text
6143 #: build/C/man3/rpmatch.3:150
6144 msgid ""
6145 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6146 msgstr ""
6147 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6148
6149 #. type: TH
6150 #: build/C/man3/setenv.3:37
6151 #, no-wrap
6152 msgid "SETENV"
6153 msgstr "SETENV"
6154
6155 #. type: TH
6156 #: build/C/man3/setenv.3:37
6157 #, no-wrap
6158 msgid "2013-10-11"
6159 msgstr "2013-10-11"
6160
6161 #. type: Plain text
6162 #: build/C/man3/setenv.3:40
6163 msgid "setenv - change or add an environment variable"
6164 msgstr "setenv - 環境変数を変更または追加する"
6165
6166 #. type: Plain text
6167 #: build/C/man3/setenv.3:45
6168 #, no-wrap
6169 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6170 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6171
6172 #. type: Plain text
6173 #: build/C/man3/setenv.3:47
6174 #, no-wrap
6175 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6176 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6177
6178 #. type: Plain text
6179 #: build/C/man3/setenv.3:57
6180 msgid "B<setenv>(), B<unsetenv>():"
6181 msgstr "B<setenv>(), B<unsetenv>():"
6182
6183 #. type: Plain text
6184 #: build/C/man3/setenv.3:59
6185 msgid ""
6186 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6187 "\\ 600"
6188 msgstr ""
6189 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6190 "\\ 600"
6191
6192 #. type: Plain text
6193 #: build/C/man3/setenv.3:94
6194 msgid ""
6195 "The B<setenv>()  function adds the variable I<name> to the environment with "
6196 "the value I<value>, if I<name> does not already exist.  If I<name> does "
6197 "exist in the environment, then its value is changed to I<value> if "
6198 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
6199 "is not changed (and B<setenv>()  returns a success status).  This function "
6200 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
6201 "with B<putenv>(3))."
6202 msgstr ""
6203 "B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
6204 "を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
6205 "外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
6206 "変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 "
6207 "(B<putenv>(3)  と違い)  I<name> と I<value> により参照される文字列のコピーを"
6208 "行う。"
6209
6210 #. type: Plain text
6211 #: build/C/man3/setenv.3:105
6212 msgid ""
6213 "The B<unsetenv>()  function deletes the variable I<name> from the "
6214 "environment.  If I<name> does not exist in the environment, then the "
6215 "function succeeds, and the environment is unchanged."
6216 msgstr ""
6217 "B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6218 "場合、この関数は成功し、環境は変更されない。"
6219
6220 #. type: Plain text
6221 #: build/C/man3/setenv.3:112
6222 msgid ""
6223 "The B<setenv>()  function returns zero on success, or -1 on error, with "
6224 "I<errno> set to indicate the cause of the error."
6225 msgstr ""
6226 "B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6227 "I<errno> にエラーの原因を示す値がセットされる。"
6228
6229 #. type: Plain text
6230 #: build/C/man3/setenv.3:119
6231 msgid ""
6232 "The B<unsetenv>()  function returns zero on success, or -1 on error, with "
6233 "I<errno> set to indicate the cause of the error."
6234 msgstr ""
6235 "B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6236 "I<errno> を設定してエラーの原因を示す。"
6237
6238 #. type: Plain text
6239 #: build/C/man3/setenv.3:125
6240 msgid ""
6241 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6242 "character."
6243 msgstr ""
6244 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6245 "が含まれている。"
6246
6247 #. type: Plain text
6248 #: build/C/man3/setenv.3:128
6249 msgid "Insufficient memory to add a new variable to the environment."
6250 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
6251
6252 #. type: Plain text
6253 #: build/C/man3/setenv.3:136
6254 msgid ""
6255 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
6256 msgstr ""
6257 "POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
6258 "であることを要求していない。"
6259
6260 #. type: Plain text
6261 #: build/C/man3/setenv.3:144
6262 msgid ""
6263 "Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
6264 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
6265 "in the SYNOPSIS."
6266 msgstr ""
6267 "glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
6268 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6269 "POSIX.1-2001 互換のプロトタイプである。"
6270
6271 #. type: Plain text
6272 #: build/C/man3/setenv.3:153
6273 msgid ""
6274 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
6275 "then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
6276 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
6277 msgstr ""
6278 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
6279 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6280 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6281 "る。"
6282
6283 #. type: Plain text
6284 #: build/C/man3/setenv.3:158
6285 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6286 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6287
6288 #. type: TH
6289 #: build/C/man3/strtod.3:45
6290 #, no-wrap
6291 msgid "STRTOD"
6292 msgstr "STRTOD"
6293
6294 #. type: Plain text
6295 #: build/C/man3/strtod.3:48
6296 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
6297 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
6298
6299 #. type: Plain text
6300 #: build/C/man3/strtod.3:52
6301 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6302 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6303
6304 #. type: Plain text
6305 #: build/C/man3/strtod.3:54
6306 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6307 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6308
6309 #. type: Plain text
6310 #: build/C/man3/strtod.3:56
6311 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6312 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6313
6314 #. type: Plain text
6315 #: build/C/man3/strtod.3:65
6316 msgid "B<strtof>(), B<strtold>():"
6317 msgstr "B<strtof>(), B<strtold>():"
6318
6319 #. type: Plain text
6320 #: build/C/man3/strtod.3:87
6321 msgid ""
6322 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
6323 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
6324 "and I<long double> representation, respectively."
6325 msgstr ""
6326 "B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
6327 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6328
6329 #. type: Plain text
6330 #: build/C/man3/strtod.3:94
6331 msgid ""
6332 "The expected form of the (initial portion of the) string is optional leading "
6333 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
6334 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
6335 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
6336 msgstr ""
6337 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6338 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6339 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6340 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6341 "は B<isspace>(3)  で識別される)。"
6342
6343 #. type: Plain text
6344 #: build/C/man3/strtod.3:103
6345 msgid ""
6346 "A I<decimal number> consists of a nonempty sequence of decimal digits "
6347 "possibly containing a radix character (decimal point, locale-dependent, "
6348 "usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
6349 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
6350 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
6351 "indicates multiplication by a power of 10."
6352 msgstr ""
6353 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6354 "charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6355 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6356 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6357 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6358
6359 #. type: Plain text
6360 #: build/C/man3/strtod.3:114
6361 msgid ""
6362 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
6363 "nonempty sequence of hexadecimal digits possibly containing a radix "
6364 "character, optionally followed by a binary exponent.  A binary exponent "
6365 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
6366 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
6367 "multiplication by a power of 2.  At least one of radix character and binary "
6368 "exponent must be present."
6369 msgstr ""
6370 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6371 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6372 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6373 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6374 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6375 "存在してはならない。"
6376
6377 #. type: Plain text
6378 #: build/C/man3/strtod.3:118
6379 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6380 msgstr ""
6381 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6382
6383 #.  From glibc 2.8's stdlib/strtod_l.c:
6384 #.      We expect it to be a number which is put in the
6385 #.      mantissa of the number.
6386 #. type: Plain text
6387 #: build/C/man3/strtod.3:128
6388 msgid ""
6389 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by \\(aq(\\(aq, "
6390 "a sequence of characters, followed by \\(aq)\\(aq.  The character string "
6391 "specifies in an implementation-dependent way the type of NAN."
6392 msgstr ""
6393 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に "
6394 "\\(aq(\\(aq 文字列 \\(aq)\\(aq が続く場合もある。 この文字列は実装に依存する "
6395 "NAN を指定する。"
6396
6397 #. type: Plain text
6398 #: build/C/man3/strtod.3:130
6399 msgid "These functions return the converted value, if any."
6400 msgstr "これらの関数は、変換された値があれば、それを返す。"
6401
6402 #. type: Plain text
6403 #: build/C/man3/strtod.3:137
6404 msgid ""
6405 "If I<endptr> is not NULL, a pointer to the character after the last "
6406 "character used in the conversion is stored in the location referenced by "
6407 "I<endptr>."
6408 msgstr ""
6409 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6410 "ターが I<endptr> で参照される場所へ保存される。"
6411
6412 #. type: Plain text
6413 #: build/C/man3/strtod.3:142
6414 msgid ""
6415 "If no conversion is performed, zero is returned and the value of I<nptr> is "
6416 "stored in the location referenced by I<endptr>."
6417 msgstr ""
6418 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6419 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6420
6421 #. type: Plain text
6422 #: build/C/man3/strtod.3:156
6423 msgid ""
6424 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
6425 "(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
6426 "value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
6427 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
6428 msgstr ""
6429 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6430 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
6431 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6432 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6433
6434 #. type: TP
6435 #: build/C/man3/strtod.3:157 build/C/man3/strtol.3:151
6436 #: build/C/man3/strtoul.3:155
6437 #, no-wrap
6438 msgid "B<ERANGE>"
6439 msgstr "B<ERANGE>"
6440
6441 #. type: Plain text
6442 #: build/C/man3/strtod.3:160
6443 msgid "Overflow or underflow occurred."
6444 msgstr "オーバーフローまたはアンダーフローが起こった。"
6445
6446 #. type: Plain text
6447 #: build/C/man3/strtod.3:172
6448 msgid ""
6449 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
6450 "with exceptions.  These functions can be safely used in multithreaded "
6451 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6452 "during their execution."
6453 msgstr ""
6454 "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
6455 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6456 "レッドアプリケーションで安全に使用することができる。"
6457
6458 #. type: Plain text
6459 #: build/C/man3/strtod.3:177
6460 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
6461 msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
6462
6463 #. type: Plain text
6464 #: build/C/man3/strtod.3:186
6465 msgid ""
6466 "Since 0 can legitimately be returned on both success and failure, the "
6467 "calling program should set I<errno> to 0 before the call, and then determine "
6468 "if an error occurred by checking whether I<errno> has a nonzero value after "
6469 "the call."
6470 msgstr ""
6471 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6472 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6473 "しエラーが発生したかどうかを判断する 必要がある。"
6474
6475 #. type: Plain text
6476 #: build/C/man3/strtod.3:191 build/C/man3/strtoul.3:225
6477 msgid ""
6478 "See the example on the B<strtol>(3)  manual page; the use of the functions "
6479 "described in this manual page is similar."
6480 msgstr ""
6481 "B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
6482 "法も同様である。"
6483
6484 #. type: Plain text
6485 #: build/C/man3/strtod.3:197
6486 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
6487 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
6488
6489 #. type: TH
6490 #: build/C/man3/strtoimax.3:24
6491 #, no-wrap
6492 msgid "STRTOIMAX"
6493 msgstr "STRTOIMAX"
6494
6495 #. type: Plain text
6496 #: build/C/man3/strtoimax.3:27
6497 msgid "strtoimax, strtoumax - convert string to integer"
6498 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6499
6500 #. type: Plain text
6501 #: build/C/man3/strtoimax.3:30
6502 #, no-wrap
6503 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6504 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6505
6506 #. type: Plain text
6507 #: build/C/man3/strtoimax.3:32
6508 #, no-wrap
6509 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6510 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6511
6512 #. type: Plain text
6513 #: build/C/man3/strtoimax.3:34
6514 #, no-wrap
6515 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6516 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6517
6518 #. type: Plain text
6519 #: build/C/man3/strtoimax.3:45
6520 msgid ""
6521 "These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
6522 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
6523 msgstr ""
6524 "これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
6525 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6526
6527 #. type: Plain text
6528 #: build/C/man3/strtoimax.3:58
6529 msgid ""
6530 "On success, the converted value is returned.  If nothing was found to "
6531 "convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
6532 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
6533 "B<ERANGE>."
6534 msgstr ""
6535 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6536 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6537 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6538 "れる。"
6539
6540 #. type: Plain text
6541 #: build/C/man3/strtoimax.3:69
6542 msgid ""
6543 "The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
6544 "exceptions.  These functions can be safely used in multithreaded "
6545 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6546 "during their execution."
6547 msgstr ""
6548 "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
6549 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
6550 "プリケーションで安全に使用することができる。"
6551
6552 #. type: Plain text
6553 #: build/C/man3/strtoimax.3:77
6554 msgid ""
6555 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6556 msgstr ""
6557 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6558
6559 #. type: TH
6560 #: build/C/man3/strtol.3:31
6561 #, no-wrap
6562 msgid "STRTOL"
6563 msgstr "STRTOL"
6564
6565 #. type: Plain text
6566 #: build/C/man3/strtol.3:34
6567 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
6568 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
6569
6570 #. type: Plain text
6571 #: build/C/man3/strtol.3:39
6572 #, no-wrap
6573 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6574 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6575
6576 #. type: Plain text
6577 #: build/C/man3/strtol.3:42
6578 #, no-wrap
6579 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6580 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6581
6582 #. type: Plain text
6583 #: build/C/man3/strtol.3:51
6584 msgid "B<strtoll>():"
6585 msgstr "B<strtoll>():"
6586
6587 #. type: Plain text
6588 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6589 msgid ""
6590 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
6591 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6592 msgstr ""
6593 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6594 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6595
6596 #. type: Plain text
6597 #: build/C/man3/strtol.3:68
6598 msgid ""
6599 "The B<strtol>()  function converts the initial part of the string in I<nptr> "
6600 "to a long integer value according to the given I<base>, which must be "
6601 "between 2 and 36 inclusive, or be the special value 0."
6602 msgstr ""
6603 "B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6604 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6605 "持つ値 0 でなければならない。"
6606
6607 #. type: Plain text
6608 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6609 msgid ""
6610 "The string may begin with an arbitrary amount of white space (as determined "
6611 "by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
6612 "sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
6613 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
6614 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
6615 "case it is taken as 8 (octal)."
6616 msgstr ""
6617 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6618 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6619 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6620 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6621 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6622 "は 10進数として扱われる。"
6623
6624 #. type: Plain text
6625 #: build/C/man3/strtol.3:90
6626 msgid ""
6627 "The remainder of the string is converted to a I<long int> value in the "
6628 "obvious manner, stopping at the first character which is not a valid digit "
6629 "in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
6630 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
6631 "forth, with \\(aqZ\\(aq representing 35.)"
6632 msgstr ""
6633 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6634 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6635 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6636 "35 を表す。)"
6637
6638 #. type: Plain text
6639 #: build/C/man3/strtol.3:111
6640 msgid ""
6641 "If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
6642 "invalid character in I<*endptr>.  If there were no digits at all, "
6643 "B<strtol>()  stores the original value of I<nptr> in I<*endptr> (and returns "
6644 "0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
6645 "\\(aq\\e0\\(aq on return, the entire string is valid."
6646 msgstr ""
6647 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が "
6648 "B<strtol>()  によって I<*endptr> に保存されている。 文字列に有効な数字がひと"
6649 "つもなければ、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そし"
6650 "て 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> "
6651 "が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6652
6653 #. type: Plain text
6654 #: build/C/man3/strtol.3:117
6655 msgid ""
6656 "The B<strtoll>()  function works just like the B<strtol>()  function but "
6657 "returns a long long integer value."
6658 msgstr ""
6659 "B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
6660
6661 #. type: Plain text
6662 #: build/C/man3/strtol.3:144
6663 msgid ""
6664 "The B<strtol>()  function returns the result of the conversion, unless the "
6665 "value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
6666 "returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
6667 "B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
6668 "same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
6669 "B<LONG_MIN> and B<LONG_MAX>)."
6670 msgstr ""
6671 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
6672 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
6673 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
6674 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
6675 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
6676 "が返される。"
6677
6678 #. type: Plain text
6679 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
6680 msgid "(not in C99)  The given I<base> contains an unsupported value."
6681 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
6682
6683 #. type: Plain text
6684 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6685 msgid "The resulting value was out of range."
6686 msgstr "結果の値が範囲外である。"
6687
6688 #. type: Plain text
6689 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6690 msgid ""
6691 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6692 "was performed (no digits seen, and 0 returned)."
6693 msgstr ""
6694 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6695 "I<errno> に B<EINVAL> が設定される場合がある。"
6696
6697 #. type: Plain text
6698 #: build/C/man3/strtol.3:173
6699 msgid ""
6700 "The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
6701 "with exceptions.  These functions can be safely used in multithreaded "
6702 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6703 "during their execution."
6704 msgstr ""
6705 "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
6706 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6707 "レッドアプリケーションで安全に使用することができる。"
6708
6709 #. type: Plain text
6710 #: build/C/man3/strtol.3:178
6711 msgid ""
6712 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6713 "B<strtoll>()  to C99 and POSIX.1-2001."
6714 msgstr ""
6715 "B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6716 "B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
6717
6718 #. type: Plain text
6719 #: build/C/man3/strtol.3:196
6720 msgid ""
6721 "Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
6722 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
6723 "failure, the calling program should set I<errno> to 0 before the call, and "
6724 "then determine if an error occurred by checking whether I<errno> has a "
6725 "nonzero value after the call."
6726 msgstr ""
6727 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
6728 "(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
6729 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
6730 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6731
6732 #. type: Plain text
6733 #: build/C/man3/strtol.3:201
6734 msgid ""
6735 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6736 "these functions may accept other, implementation-defined numeric strings."
6737 msgstr ""
6738 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6739 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6740
6741 #. type: Plain text
6742 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6743 msgid "BSD also has"
6744 msgstr "BSD には、"
6745
6746 #. type: Plain text
6747 #: build/C/man3/strtol.3:207
6748 #, no-wrap
6749 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6750 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6751
6752 #. type: Plain text
6753 #: build/C/man3/strtol.3:216
6754 msgid ""
6755 "with completely analogous definition.  Depending on the wordsize of the "
6756 "current architecture, this may be equivalent to B<strtoll>()  or to "
6757 "B<strtol>()."
6758 msgstr ""
6759 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6760 "であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
6761
6762 #. type: Plain text
6763 #: build/C/man3/strtol.3:230
6764 msgid ""
6765 "The program shown below demonstrates the use of B<strtol>().  The first "
6766 "command-line argument specifies a string from which B<strtol>()  should "
6767 "parse a number.  The second (optional) argument specifies the base to be "
6768 "used for the conversion.  (This argument is converted to numeric form using "
6769 "B<atoi>(3), a function that performs no error checking and has a simpler "
6770 "interface than B<strtol>().)  Some examples of the results produced by this "
6771 "program are the following:"
6772 msgstr ""
6773 "以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
6774 "は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6775 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
6776 "数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
6777 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
6778 "くつか以下に示す:"
6779
6780 #. type: Plain text
6781 #: build/C/man3/strtol.3:246
6782 #, no-wrap
6783 msgid ""
6784 "$B< ./a.out 123>\n"
6785 "strtol() returned 123\n"
6786 "$B< ./a.out \\(aq    123\\(aq>\n"
6787 "strtol() returned 123\n"
6788 "$B< ./a.out 123abc>\n"
6789 "strtol() returned 123\n"
6790 "Further characters after number: abc\n"
6791 "$B< ./a.out 123abc 55>\n"
6792 "strtol: Invalid argument\n"
6793 "$B< ./a.out \\(aq\\(aq>\n"
6794 "No digits were found\n"
6795 "$B< ./a.out 4000000000>\n"
6796 "strtol: Numerical result out of range\n"
6797 msgstr ""
6798 "$B< ./a.out 123>\n"
6799 "strtol() returned 123\n"
6800 "$B< ./a.out \\(aq    123\\(aq>\n"
6801 "strtol() returned 123\n"
6802 "$B< ./a.out 123abc>\n"
6803 "strtol() returned 123\n"
6804 "Further characters after number: abc\n"
6805 "$B< ./a.out 123abc 55>\n"
6806 "strtol: Invalid argument\n"
6807 "$B< ./a.out \\(aq\\(aq>\n"
6808 "No digits were found\n"
6809 "$B< ./a.out 4000000000>\n"
6810 "strtol: Numerical result out of range\n"
6811
6812 #. type: Plain text
6813 #: build/C/man3/strtol.3:255
6814 #, no-wrap
6815 msgid ""
6816 "#include E<lt>stdlib.hE<gt>\n"
6817 "#include E<lt>limits.hE<gt>\n"
6818 "#include E<lt>stdio.hE<gt>\n"
6819 "#include E<lt>errno.hE<gt>\n"
6820 msgstr ""
6821 "#include E<lt>stdlib.hE<gt>\n"
6822 "#include E<lt>limits.hE<gt>\n"
6823 "#include E<lt>stdio.hE<gt>\n"
6824 "#include E<lt>errno.hE<gt>\n"
6825
6826 #. type: Plain text
6827 #: build/C/man3/strtol.3:262
6828 #, no-wrap
6829 msgid ""
6830 "int\n"
6831 "main(int argc, char *argv[])\n"
6832 "{\n"
6833 "    int base;\n"
6834 "    char *endptr, *str;\n"
6835 "    long val;\n"
6836 msgstr ""
6837 "int\n"
6838 "main(int argc, char *argv[])\n"
6839 "{\n"
6840 "    int base;\n"
6841 "    char *endptr, *str;\n"
6842 "    long val;\n"
6843
6844 #. type: Plain text
6845 #: build/C/man3/strtol.3:267
6846 #, no-wrap
6847 msgid ""
6848 "    if (argc E<lt> 2) {\n"
6849 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6850 "        exit(EXIT_FAILURE);\n"
6851 "    }\n"
6852 msgstr ""
6853 "    if (argc E<lt> 2) {\n"
6854 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6855 "        exit(EXIT_FAILURE);\n"
6856 "    }\n"
6857
6858 #. type: Plain text
6859 #: build/C/man3/strtol.3:270
6860 #, no-wrap
6861 msgid ""
6862 "    str = argv[1];\n"
6863 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6864 msgstr ""
6865 "    str = argv[1];\n"
6866 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6867
6868 #. type: Plain text
6869 #: build/C/man3/strtol.3:273
6870 #, no-wrap
6871 msgid ""
6872 "    errno = 0;    /* To distinguish success/failure after call */\n"
6873 "    val = strtol(str, &endptr, base);\n"
6874 msgstr ""
6875 "    errno = 0;    /* To distinguish success/failure after call */\n"
6876 "    val = strtol(str, &endptr, base);\n"
6877
6878 #. type: Plain text
6879 #: build/C/man3/strtol.3:275
6880 #, no-wrap
6881 msgid "    /* Check for various possible errors */\n"
6882 msgstr "    /* Check for various possible errors */\n"
6883
6884 #. type: Plain text
6885 #: build/C/man3/strtol.3:281
6886 #, no-wrap
6887 msgid ""
6888 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6889 "            || (errno != 0 && val == 0)) {\n"
6890 "        perror(\"strtol\");\n"
6891 "        exit(EXIT_FAILURE);\n"
6892 "    }\n"
6893 msgstr ""
6894 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6895 "            || (errno != 0 && val == 0)) {\n"
6896 "        perror(\"strtol\");\n"
6897 "        exit(EXIT_FAILURE);\n"
6898 "    }\n"
6899
6900 #. type: Plain text
6901 #: build/C/man3/strtol.3:286
6902 #, no-wrap
6903 msgid ""
6904 "    if (endptr == str) {\n"
6905 "        fprintf(stderr, \"No digits were found\\en\");\n"
6906 "        exit(EXIT_FAILURE);\n"
6907 "    }\n"
6908 msgstr ""
6909 "    if (endptr == str) {\n"
6910 "        fprintf(stderr, \"No digits were found\\en\");\n"
6911 "        exit(EXIT_FAILURE);\n"
6912 "    }\n"
6913
6914 #. type: Plain text
6915 #: build/C/man3/strtol.3:288
6916 #, no-wrap
6917 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
6918 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
6919
6920 #. type: Plain text
6921 #: build/C/man3/strtol.3:290
6922 #, no-wrap
6923 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
6924 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
6925
6926 #. type: Plain text
6927 #: build/C/man3/strtol.3:293
6928 #, no-wrap
6929 msgid ""
6930 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6931 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6932 msgstr ""
6933 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6934 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6935
6936 #. type: Plain text
6937 #: build/C/man3/strtol.3:303
6938 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6939 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6940
6941 #. type: TH
6942 #: build/C/man3/strtoul.3:33
6943 #, no-wrap
6944 msgid "STRTOUL"
6945 msgstr "STRTOUL"
6946
6947 #. type: Plain text
6948 #: build/C/man3/strtoul.3:36
6949 msgid ""
6950 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
6951 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
6952
6953 #. type: Plain text
6954 #: build/C/man3/strtoul.3:42
6955 #, no-wrap
6956 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6957 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6958
6959 #. type: Plain text
6960 #: build/C/man3/strtoul.3:45
6961 #, no-wrap
6962 msgid ""
6963 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6964 "B<                                int >I<base>B<);>\n"
6965 msgstr ""
6966 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6967 "B<                                int >I<base>B<);>\n"
6968
6969 #. type: Plain text
6970 #: build/C/man3/strtoul.3:54
6971 msgid "B<strtoull>():"
6972 msgstr "B<strtoull>():"
6973
6974 #. type: Plain text
6975 #: build/C/man3/strtoul.3:75
6976 msgid ""
6977 "The B<strtoul>()  function converts the initial part of the string in "
6978 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
6979 "which must be between 2 and 36 inclusive, or be the special value 0."
6980 msgstr ""
6981 "B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6982 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
6983 "特別な意味を持つ値 0 でなければならない。"
6984
6985 #. type: Plain text
6986 #: build/C/man3/strtoul.3:98
6987 msgid ""
6988 "The remainder of the string is converted to an I<unsigned long int> value in "
6989 "the obvious manner, stopping at the first character which is not a valid "
6990 "digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
6991 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
6992 "so forth, with \\(aqZ\\(aq representing 35.)"
6993 msgstr ""
6994 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
6995 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
6996 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
6997 "\\(aq は 35 を表す。)"
6998
6999 #. type: Plain text
7000 #: build/C/man3/strtoul.3:119
7001 msgid ""
7002 "If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
7003 "invalid character in I<*endptr>.  If there were no digits at all, "
7004 "B<strtoul>()  stores the original value of I<nptr> in I<*endptr> (and "
7005 "returns 0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
7006 "I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
7007 msgstr ""
7008 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
7009 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
7010 "ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
7011 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
7012 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
7013
7014 #. type: Plain text
7015 #: build/C/man3/strtoul.3:127
7016 msgid ""
7017 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
7018 "returns an I<unsigned long long int> value."
7019 msgstr ""
7020 "B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
7021 "int> 型の値を返す。"
7022
7023 #. type: Plain text
7024 #: build/C/man3/strtoul.3:148
7025 msgid ""
7026 "The B<strtoul>()  function returns either the result of the conversion or, "
7027 "if there was a leading minus sign, the negation of the result of the "
7028 "conversion represented as an unsigned value, unless the original "
7029 "(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
7030 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
7031 "B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
7032 msgstr ""
7033 "B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
7034 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
7035 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
7036 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
7037 "替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
7038
7039 #. type: Plain text
7040 #: build/C/man3/strtoul.3:177
7041 msgid ""
7042 "The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
7043 "with exceptions.  These functions can be safely used in multithreaded "
7044 "applications, as long as B<setlocale>(3)  is not called to change the locale "
7045 "during their execution."
7046 msgstr ""
7047 "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
7048 "ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
7049 "レッドアプリケーションで安全に使用することができる。"
7050
7051 #. type: Plain text
7052 #: build/C/man3/strtoul.3:182
7053 msgid ""
7054 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
7055 "to C99 and POSIX.1-2001."
7056 msgstr ""
7057 "B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
7058 "B<strtoull>()  は C99 と POSIX.1-2001 に準拠している。"
7059
7060 #. type: Plain text
7061 #: build/C/man3/strtoul.3:196
7062 msgid ""
7063 "Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
7064 "for B<strtoull>())  on both success and failure, the calling program should "
7065 "set I<errno> to 0 before the call, and then determine if an error occurred "
7066 "by checking whether I<errno> has a nonzero value after the call."
7067 msgstr ""
7068 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
7069 "(B<strtoull>()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関"
7070 "数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
7071 "かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
7072
7073 #. type: Plain text
7074 #: build/C/man3/strtoul.3:200
7075 msgid ""
7076 "In locales other than the \"C\" locale, other strings may be accepted.  (For "
7077 "example, the thousands separator of the current locale may be supported.)"
7078 msgstr ""
7079 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
7080 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
7081
7082 #. type: Plain text
7083 #: build/C/man3/strtoul.3:206
7084 #, no-wrap
7085 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7086 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7087
7088 #. type: Plain text
7089 #: build/C/man3/strtoul.3:215
7090 msgid ""
7091 "with completely analogous definition.  Depending on the wordsize of the "
7092 "current architecture, this may be equivalent to B<strtoull>()  or to "
7093 "B<strtoul>()."
7094 msgstr ""
7095 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
7096 "であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
7097
7098 #. type: Plain text
7099 #: build/C/man3/strtoul.3:220
7100 msgid ""
7101 "Negative values are considered valid input and are silently converted to the "
7102 "equivalent I<unsigned long int> value."
7103 msgstr ""
7104 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7105 "の値に変換される。"
7106
7107 #. type: Plain text
7108 #: build/C/man3/strtoul.3:231
7109 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7110 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7111
7112 #. type: TH
7113 #: build/C/man3/system.3:31
7114 #, no-wrap
7115 msgid "SYSTEM"
7116 msgstr "SYSTEM"
7117
7118 #. type: TH
7119 #: build/C/man3/system.3:31
7120 #, no-wrap
7121 msgid "2014-05-10"
7122 msgstr "2014-05-10"
7123
7124 #. type: Plain text
7125 #: build/C/man3/system.3:34
7126 msgid "system - execute a shell command"
7127 msgstr "system - シェルコマンドの実行"
7128
7129 #. type: Plain text
7130 #: build/C/man3/system.3:39
7131 #, no-wrap
7132 msgid "B<int system(const char *>I<command>B<);>\n"
7133 msgstr "B<int system(const char *>I<command>B<);>\n"
7134
7135 #. type: Plain text
7136 #: build/C/man3/system.3:50
7137 msgid ""
7138 "The B<system>()  library function uses B<fork>(2)  to create a child process "
7139 "that executes the shell command specified in I<command> using B<execl>(3)  "
7140 "as follows:"
7141 msgstr ""
7142 "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
7143 "ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
7144 "使って実行する。"
7145
7146 #. type: Plain text
7147 #: build/C/man3/system.3:52
7148 #, no-wrap
7149 msgid "    execl(\"/bin/sh\", \"sh\". \"-c\", command, (char *) 0);\n"
7150 msgstr "    execl(\"/bin/sh\", \"sh\". \"-c\", command, (char *) 0);\n"
7151
7152 #. type: Plain text
7153 #: build/C/man3/system.3:55
7154 msgid "B<system>()  returns after the command has been completed."
7155 msgstr "B<system>() が返るのはコマンドが完了した後である。"
7156
7157 #. type: Plain text
7158 #: build/C/man3/system.3:67
7159 msgid ""
7160 "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
7161 "and B<SIGQUIT> will be ignored, in the process that calls B<system>()  "
7162 "(these signals will be handled according to their defaults inside the child "
7163 "process that executes I<command>)."
7164 msgstr ""
7165 "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
7166 "ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
7167 "ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
7168
7169 #. type: Plain text
7170 #: build/C/man3/system.3:73
7171 msgid ""
7172 "If I<command> is NULL, then B<system>()  returns a status indicating whether "
7173 "a shell is available on the system"
7174 msgstr ""
7175 "I<command> が NULL の場合、 B<system>()  はそのシステムでシェルが利用可能かを"
7176 "示すステータスを返す。"
7177
7178 #. type: Plain text
7179 #: build/C/man3/system.3:77
7180 msgid "The return value of B<system>()  is one of the following:"
7181 msgstr "B<system>() の返り値は以下のいずれかである。"
7182
7183 #. type: Plain text
7184 #: build/C/man3/system.3:82
7185 msgid ""
7186 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
7187 "no shell is available."
7188 msgstr ""
7189 "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
7190 "0。"
7191
7192 #. type: Plain text
7193 #: build/C/man3/system.3:86
7194 msgid ""
7195 "If a child process could not be created, or its status could not be "
7196 "retrieved, the return value is -1."
7197 msgstr ""
7198 "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
7199 "かった場合、 返り値は -1 である。"
7200
7201 #. type: Plain text
7202 #: build/C/man3/system.3:91
7203 msgid ""
7204 "If a shell could not be executed in the child process, then the return value "
7205 "is as though the child shell terminated by calling B<_exit>(2)  with the "
7206 "status 127."
7207 msgstr ""
7208 "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
7209 "127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
7210
7211 #. type: Plain text
7212 #: build/C/man3/system.3:98
7213 msgid ""
7214 "If all system calls succeed, then the return value is the termination status "
7215 "of the child shell used to execute I<command>.  (The termination status of a "
7216 "shell is the termination status of the last command it executes.)"
7217 msgstr ""
7218 "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
7219 "れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
7220 "シェルが実行した最後のコマンドの終了ステータスである)。"
7221
7222 #. type: Plain text
7223 #: build/C/man3/system.3:107
7224 msgid ""
7225 "In the last two cases, the return value is a \"wait status\" that can be "
7226 "examined using the macros described in B<waitpid>(2).  (i.e., "
7227 "B<WIFEXITED>()  B<WEXITSTATUS>()  and so on)."
7228 msgstr ""
7229 "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
7230 "いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
7231 "検査することができる。"
7232
7233 #. type: Plain text
7234 #: build/C/man3/system.3:110
7235 msgid "B<system>()  does not affect the wait status of any other children."
7236 msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
7237
7238 #. type: Plain text
7239 #: build/C/man3/system.3:112
7240 msgid "C89, C99, POSIX.1-2001."
7241 msgstr "C89, C99, POSIX.1-2001."
7242
7243 #. type: Plain text
7244 #: build/C/man3/system.3:129
7245 msgid ""
7246 "B<system>()  provides simplicity and convenience: it handles all of the "
7247 "details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
7248 "the necessary manipulations of signals; in addition, the shell performs the "
7249 "usual substitutions and I/O redirections for I<command>.  The main cost of "
7250 "B<system>()  is inefficiency: additional system calls are required to create "
7251 "the process that runs the shell and to execute the shell."
7252 msgstr ""
7253
7254 #. type: Plain text
7255 #: build/C/man3/system.3:141
7256 msgid ""
7257 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
7258 "I<any> header files), then the macros described in B<waitpid>(2)  "
7259 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
7260 "hE<gt>>."
7261 msgstr ""
7262 "(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
7263 "B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2)  で説明されているマクロ"
7264 "群 (B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
7265 "能になる。"
7266
7267 #. type: Plain text
7268 #: build/C/man3/system.3:152
7269 msgid ""
7270 "As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
7271 "programs that call it from a loop uninterruptible, unless they take care "
7272 "themselves to check the exit status of the child.  For example:"
7273 msgstr ""
7274 "既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7275 "てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
7276 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7277
7278 #. type: Plain text
7279 #: build/C/man3/system.3:157
7280 #, no-wrap
7281 msgid ""
7282 "    while (something) {\n"
7283 "        int ret = system(\"foo\");\n"
7284 msgstr ""
7285 "    while (something) {\n"
7286 "        int ret = system(\"foo\");\n"
7287
7288 #. type: Plain text
7289 #: build/C/man3/system.3:162
7290 #, no-wrap
7291 msgid ""
7292 "        if (WIFSIGNALED(ret) &&\n"
7293 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7294 "                break;\n"
7295 "    }\n"
7296 msgstr ""
7297 "        if (WIFSIGNALED(ret) &&\n"
7298 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7299 "                break;\n"
7300 "    }\n"
7301
7302 #. type: Plain text
7303 #: build/C/man3/system.3:182
7304 msgid ""
7305 "Do not use B<system>()  from a program with set-user-ID or set-group-ID "
7306 "privileges, because strange values for some environment variables might be "
7307 "used to subvert system integrity.  Use the B<exec>(3)  family of functions "
7308 "instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
7309 "fact, work properly from programs with set-user-ID or set-group-ID "
7310 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
7311 "drops privileges on startup.  (Debian uses a modified bash which does not do "
7312 "this when invoked as B<sh>.)"
7313 msgstr ""
7314 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
7315 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
7316 "なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
7317 "B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
7318 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
7319 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
7320 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
7321 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
7322 "る)"
7323
7324 #. type: Plain text
7325 #: build/C/man3/system.3:196
7326 msgid ""
7327 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
7328 "sh> was not actually performed if I<command> was NULL; instead it was always "
7329 "assumed to be available, and B<system>()  always returned 1 in this case.  "
7330 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
7331 "requires a conforming implementation to provide a shell, that shell may not "
7332 "be available or executable if the calling program has previously called "
7333 "B<chroot>(2)  (which is not specified by POSIX.1-2001)."
7334 msgstr ""
7335 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
7336 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
7337 "ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
7338 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
7339 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
7340 "B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
7341 "B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
7342 "ファイル でない場合があるからである。"
7343
7344 #. type: Plain text
7345 #: build/C/man3/system.3:202
7346 msgid ""
7347 "It is possible for the shell command to terminate with a status of 127, "
7348 "which yields a B<system>()  return value that is indistinguishable from the "
7349 "case where a shell could not be executed in the child process."
7350 msgstr ""
7351
7352 #. type: Plain text
7353 #: build/C/man3/system.3:210
7354 msgid ""
7355 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7356 "B<exec>(3), B<signal>(7)"
7357 msgstr ""
7358 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7359 "B<exec>(3), B<signal>(7)"
7360
7361 #. type: TH
7362 #: build/C/man7/vdso.7:13
7363 #, no-wrap
7364 msgid "VDSO"
7365 msgstr "VDSO"
7366
7367 #. type: TH
7368 #: build/C/man7/vdso.7:13
7369 #, no-wrap
7370 msgid "2014-02-01"
7371 msgstr "2014-02-01"
7372
7373 #. type: Plain text
7374 #: build/C/man7/vdso.7:16
7375 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7376 msgstr ""
7377
7378 #. type: Plain text
7379 #: build/C/man7/vdso.7:18
7380 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
7381 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
7382
7383 #. type: Plain text
7384 #: build/C/man7/vdso.7:20
7385 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7386 msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7387
7388 #. type: Plain text
7389 #: build/C/man7/vdso.7:29
7390 msgid ""
7391 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
7392 "the kernel automatically maps into the address space of all user-space "
7393 "applications.  Applications usually do not need to concern themselves with "
7394 "these details as the vDSO is most commonly called by the C library.  This "
7395 "way you can code in the normal way using standard functions and the C "
7396 "library will take care of using any functionality that is available via the "
7397 "vDSO."
7398 msgstr ""
7399
7400 #. type: Plain text
7401 #: build/C/man7/vdso.7:37
7402 msgid ""
7403 "Why does the vDSO exist at all? There are some system calls the kernel "
7404 "provides that user-space code ends up using frequently, to the point that "
7405 "such calls can dominate overall performance.  This is due both to the "
7406 "frequency of the call as well as the context-switch overhead that results "
7407 "from exiting user space and entering the kernel."
7408 msgstr ""
7409
7410 #. type: Plain text
7411 #: build/C/man7/vdso.7:42
7412 msgid ""
7413 "The rest of this documentation is geared toward the curious and/or C library "
7414 "writers rather than general developers.  If you're trying to call the vDSO "
7415 "in your own application rather than using the C library, you're most likely "
7416 "doing it wrong."
7417 msgstr ""
7418
7419 #. type: SS
7420 #: build/C/man7/vdso.7:42
7421 #, no-wrap
7422 msgid "Example background"
7423 msgstr ""
7424
7425 #. type: Plain text
7426 #: build/C/man7/vdso.7:56
7427 msgid ""
7428 "Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
7429 "software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
7430 "system call.  However, this instruction is expensive: it goes through the "
7431 "full interrupt-handling paths in the processor's microcode as well as in the "
7432 "kernel.  Newer processors have faster (but backward incompatible) "
7433 "instructions to initiate system calls.  Rather than require the C library to "
7434 "figure out if this functionality is available at run time, the C library can "
7435 "use functions provided by the kernel in the vDSO."
7436 msgstr ""
7437
7438 #. type: Plain text
7439 #: build/C/man7/vdso.7:63
7440 msgid ""
7441 "Note that the terminology can be confusing.  On x86 systems, the vDSO "
7442 "function used to determine the preferred method of making a system call is "
7443 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
7444 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
7445 "caller is on."
7446 msgstr ""
7447
7448 #. type: Plain text
7449 #: build/C/man7/vdso.7:79
7450 msgid ""
7451 "One frequently used system call is B<gettimeofday>(2).  This system call is "
7452 "called both directly by user-space applications as well as indirectly by the "
7453 "C library.  Think timestamps or timing loops or polling\\(emall of these "
7454 "frequently need to know what time it is right now.  This information is also "
7455 "not secret\\(emany application in any privilege mode (root or any "
7456 "unprivileged user) will get the same answer.  Thus the kernel arranges for "
7457 "the information required to answer this question to be placed in memory the "
7458 "process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
7459 "call to a normal function call and a few memory accesses."
7460 msgstr ""
7461
7462 #. type: SS
7463 #: build/C/man7/vdso.7:79
7464 #, no-wrap
7465 msgid "Finding the vDSO"
7466 msgstr ""
7467
7468 #. type: Plain text
7469 #: build/C/man7/vdso.7:86
7470 msgid ""
7471 "The base address of the vDSO (if one exists) is passed by the kernel to each "
7472 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
7473 "B<AT_SYSINFO_EHDR> tag."
7474 msgstr ""
7475
7476 #. type: Plain text
7477 #: build/C/man7/vdso.7:95
7478 msgid ""
7479 "You must not assume the vDSO is mapped at any particular location in the "
7480 "user's memory map.  The base address will usually be randomized at run time "
7481 "every time a new process image is created (at B<execve>(2)  time).  This is "
7482 "done for security reasons, to prevent \"return-to-libc\" attacks."
7483 msgstr ""
7484
7485 #. type: Plain text
7486 #: build/C/man7/vdso.7:104
7487 msgid ""
7488 "For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
7489 "only for locating the vsyscall entry point and is frequently omitted or set "
7490 "to 0 (meaning it's not available).  This tag is a throwback to the initial "
7491 "vDSO work (see I<History> below) and its use should be avoided."
7492 msgstr ""
7493
7494 #. type: SS
7495 #: build/C/man7/vdso.7:104
7496 #, no-wrap
7497 msgid "File format"
7498 msgstr ""
7499
7500 #. type: Plain text
7501 #: build/C/man7/vdso.7:111
7502 msgid ""
7503 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
7504 "it.  This allows new symbols to be added with newer kernel releases, and "
7505 "allows the C library to detect available functionality at run time when "
7506 "running under different kernel versions.  Oftentimes the C library will do "
7507 "detection with the first call and then cache the result for subsequent calls."
7508 msgstr ""
7509
7510 #. type: Plain text
7511 #: build/C/man7/vdso.7:120
7512 msgid ""
7513 "All symbols are also versioned (using the GNU version format).  This allows "
7514 "the kernel to update the function signature without breaking backward "
7515 "compatibility.  This means changing the arguments that the function accepts "
7516 "as well as the return value.  Thus, when looking up a symbol in the vDSO, "
7517 "you must always include the version to match the ABI you expect."
7518 msgstr ""
7519
7520 #. type: Plain text
7521 #: build/C/man7/vdso.7:125
7522 msgid ""
7523 "Typically the vDSO follows the naming convention of prefixing all symbols "
7524 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
7525 "standard symbols.  For example, the \"gettimeofday\" function is named "
7526 "\"__vdso_gettimeofday\"."
7527 msgstr ""
7528
7529 #. type: Plain text
7530 #: build/C/man7/vdso.7:129
7531 msgid ""
7532 "You use the standard C calling conventions when calling any of these "
7533 "functions.  No need to worry about weird register or stack behavior."
7534 msgstr ""
7535
7536 #. type: SS
7537 #: build/C/man7/vdso.7:130
7538 #, no-wrap
7539 msgid "Source"
7540 msgstr ""
7541
7542 #. type: Plain text
7543 #: build/C/man7/vdso.7:134
7544 msgid ""
7545 "When you compile the kernel, it will automatically compile and link the vDSO "
7546 "code for you.  You will frequently find it under the architecture-specific "
7547 "directory:"
7548 msgstr ""
7549
7550 #. type: Plain text
7551 #: build/C/man7/vdso.7:136
7552 #, no-wrap
7553 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7554 msgstr ""
7555
7556 #. type: SS
7557 #: build/C/man7/vdso.7:137
7558 #, no-wrap
7559 msgid "vDSO names"
7560 msgstr ""
7561
7562 #. type: Plain text
7563 #: build/C/man7/vdso.7:143
7564 msgid ""
7565 "The name of the vDSO varies across architectures.  It will often show up in "
7566 "things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
7567 "any code, so do not hardcode it."
7568 msgstr ""
7569
7570 #. type: tbl table
7571 #: build/C/man7/vdso.7:148
7572 #, no-wrap
7573 msgid "user ABI\tvDSO name\n"
7574 msgstr ""
7575
7576 #. type: tbl table
7577 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
7578 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
7579 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
7580 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:458
7581 #: build/C/man7/vdso.7:477
7582 #, no-wrap
7583 msgid "_\n"
7584 msgstr "_\n"
7585
7586 #. type: tbl table
7587 #: build/C/man7/vdso.7:150
7588 #, no-wrap
7589 msgid "aarch64\tlinux-vdso.so.1\n"
7590 msgstr "aarch64\tlinux-vdso.so.1\n"
7591
7592 #. type: tbl table
7593 #: build/C/man7/vdso.7:151
7594 #, no-wrap
7595 msgid "ia64\tlinux-gate.so.1\n"
7596 msgstr "ia64\tlinux-gate.so.1\n"
7597
7598 #. type: tbl table
7599 #: build/C/man7/vdso.7:152
7600 #, no-wrap
7601 msgid "ppc/32\tlinux-vdso32.so.1\n"
7602 msgstr "ppc/32\tlinux-vdso32.so.1\n"
7603
7604 #. type: tbl table
7605 #: build/C/man7/vdso.7:153
7606 #, no-wrap
7607 msgid "ppc/64\tlinux-vdso64.so.1\n"
7608 msgstr "ppc/64\tlinux-vdso64.so.1\n"
7609
7610 #. type: tbl table
7611 #: build/C/man7/vdso.7:154
7612 #, no-wrap
7613 msgid "s390\tlinux-vdso32.so.1\n"
7614 msgstr "s390\tlinux-vdso32.so.1\n"
7615
7616 #. type: tbl table
7617 #: build/C/man7/vdso.7:155
7618 #, no-wrap
7619 msgid "s390x\tlinux-vdso64.so.1\n"
7620 msgstr "s390x\tlinux-vdso64.so.1\n"
7621
7622 #. type: tbl table
7623 #: build/C/man7/vdso.7:156
7624 #, no-wrap
7625 msgid "sh\tlinux-gate.so.1\n"
7626 msgstr "sh\tlinux-gate.so.1\n"
7627
7628 #. type: tbl table
7629 #: build/C/man7/vdso.7:157
7630 #, no-wrap
7631 msgid "i386\tlinux-gate.so.1\n"
7632 msgstr "i386\tlinux-gate.so.1\n"
7633
7634 #. type: tbl table
7635 #: build/C/man7/vdso.7:158
7636 #, no-wrap
7637 msgid "x86_64\tlinux-vdso.so.1\n"
7638 msgstr "x86_64\tlinux-vdso.so.1\n"
7639
7640 #. type: tbl table
7641 #: build/C/man7/vdso.7:159
7642 #, no-wrap
7643 msgid "x86/x32\tlinux-vdso.so.1\n"
7644 msgstr "x86/x32\tlinux-vdso.so.1\n"
7645
7646 #. type: SH
7647 #: build/C/man7/vdso.7:165
7648 #, no-wrap
7649 msgid "ARCHITECTURE-SPECIFIC NOTES"
7650 msgstr ""
7651
7652 #. type: Plain text
7653 #: build/C/man7/vdso.7:168
7654 msgid "The subsections below provide architecture-specific notes on the vDSO."
7655 msgstr ""
7656
7657 #. type: Plain text
7658 #: build/C/man7/vdso.7:177
7659 msgid ""
7660 "Note that the vDSO that is used is based on the ABI of your user-space code "
7661 "and not the ABI of the kernel.  Thus, for example, when you run an i386 32-"
7662 "bit ELF binary, you'll get the same vDSO regardless of whether you run it "
7663 "under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
7664 "the name of the user-space ABI should be used to determine which of the "
7665 "sections below is relevant."
7666 msgstr ""
7667
7668 #. type: SS
7669 #: build/C/man7/vdso.7:177
7670 #, no-wrap
7671 msgid "ARM functions"
7672 msgstr ""
7673
7674 #.  See linux/arch/arm/kernel/entry-armv.S
7675 #.  See linux/Documentation/arm/kernel_user_helpers.txt
7676 #. type: Plain text
7677 #: build/C/man7/vdso.7:184
7678 msgid ""
7679 "The ARM port has a code page full of utility functions.  Since it's just a "
7680 "raw page of code, there is no ELF information for doing symbol lookups or "
7681 "versioning.  It does provide support for different versions though."
7682 msgstr ""
7683
7684 #. type: Plain text
7685 #: build/C/man7/vdso.7:189
7686 msgid ""
7687 "For information on this code page, it's best to refer to the kernel "
7688 "documentation as it's extremely detailed and covers everything you need to "
7689 "know: I<Documentation/arm/kernel_user_helpers.txt>."
7690 msgstr ""
7691
7692 #. type: SS
7693 #: build/C/man7/vdso.7:189
7694 #, no-wrap
7695 msgid "aarch64 functions"
7696 msgstr ""
7697
7698 #.  See linux/arch/x86/vdso/vdso32.lds.S
7699 #. type: Plain text
7700 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
7701 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
7702 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:471
7703 msgid "The table below lists the symbols exported by the vDSO."
7704 msgstr ""
7705
7706 #. type: tbl table
7707 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
7708 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
7709 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:457
7710 #: build/C/man7/vdso.7:476
7711 #, no-wrap
7712 msgid "symbol\tversion\n"
7713 msgstr ""
7714
7715 #. type: tbl table
7716 #: build/C/man7/vdso.7:199
7717 #, no-wrap
7718 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7719 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7720
7721 #. type: tbl table
7722 #: build/C/man7/vdso.7:200
7723 #, no-wrap
7724 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7725 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
7726
7727 #. type: tbl table
7728 #: build/C/man7/vdso.7:201
7729 #, no-wrap
7730 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7731 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
7732
7733 #. type: tbl table
7734 #: build/C/man7/vdso.7:202
7735 #, no-wrap
7736 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7737 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
7738
7739 #. type: SS
7740 #: build/C/man7/vdso.7:208
7741 #, no-wrap
7742 msgid "bfin (Blackfin) functions"
7743 msgstr ""
7744
7745 #.  See linux/arch/blackfin/kernel/fixed_code.S
7746 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7747 #. type: Plain text
7748 #: build/C/man7/vdso.7:220
7749 msgid ""
7750 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
7751 "in the normal sense.  Instead, it maps at boot time a few raw functions into "
7752 "a fixed location in memory.  User-space applications then call directly into "
7753 "that region.  There is no provision for backward compatibility beyond "
7754 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
7755 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
7756 "bFLT/FLAT)."
7757 msgstr ""
7758
7759 #. type: Plain text
7760 #: build/C/man7/vdso.7:223
7761 msgid ""
7762 "For information on this code page, it's best to refer to the public "
7763 "documentation:"
7764 msgstr ""
7765
7766 #. type: Plain text
7767 #: build/C/man7/vdso.7:225
7768 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7769 msgstr ""
7770
7771 #. type: SS
7772 #: build/C/man7/vdso.7:225
7773 #, no-wrap
7774 msgid "ia64 (Itanium) functions"
7775 msgstr ""
7776
7777 #. type: tbl table
7778 #: build/C/man7/vdso.7:236
7779 #, no-wrap
7780 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7781 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
7782
7783 #. type: tbl table
7784 #: build/C/man7/vdso.7:237
7785 #, no-wrap
7786 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7787 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
7788
7789 #. type: tbl table
7790 #: build/C/man7/vdso.7:238
7791 #, no-wrap
7792 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7793 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
7794
7795 #. type: Plain text
7796 #: build/C/man7/vdso.7:257
7797 msgid ""
7798 "The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
7799 "has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
7800 "\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper.  "
7801 "The system calls listed here have the same semantics as if you called them "
7802 "directly via B<syscall>(2), so refer to the relevant documentation for "
7803 "each.  The table below lists the functions available via this mechanism."
7804 msgstr ""
7805
7806 #. type: tbl table
7807 #: build/C/man7/vdso.7:262
7808 #, no-wrap
7809 msgid "function\n"
7810 msgstr ""
7811
7812 #. type: tbl table
7813 #: build/C/man7/vdso.7:264
7814 #, no-wrap
7815 msgid "clock_gettime\n"
7816 msgstr ""
7817
7818 #. type: tbl table
7819 #: build/C/man7/vdso.7:265
7820 #, no-wrap
7821 msgid "getcpu\n"
7822 msgstr ""
7823
7824 #. type: tbl table
7825 #: build/C/man7/vdso.7:266
7826 #, no-wrap
7827 msgid "getpid\n"
7828 msgstr ""
7829
7830 #. type: tbl table
7831 #: build/C/man7/vdso.7:267
7832 #, no-wrap
7833 msgid "getppid\n"
7834 msgstr ""
7835
7836 #. type: tbl table
7837 #: build/C/man7/vdso.7:268
7838 #, no-wrap
7839 msgid "gettimeofday\n"
7840 msgstr ""
7841
7842 #. type: tbl table
7843 #: build/C/man7/vdso.7:269
7844 #, no-wrap
7845 msgid "set_tid_address\n"
7846 msgstr ""
7847
7848 #. type: SS
7849 #: build/C/man7/vdso.7:275
7850 #, no-wrap
7851 msgid "parisc (hppa) functions"
7852 msgstr ""
7853
7854 #.  See linux/arch/parisc/kernel/syscall.S
7855 #.  See linux/Documentation/parisc/registers
7856 #. type: Plain text
7857 #: build/C/man7/vdso.7:286
7858 msgid ""
7859 "The parisc port has a code page full of utility functions called a gateway "
7860 "page.  Rather than use the normal ELF auxiliary vector approach, it passes "
7861 "the address of the page to the process via the SR2 register.  The "
7862 "permissions on the page are such that merely executing those addresses "
7863 "automatically executes with kernel privileges and not in user space.  This "
7864 "is done to match the way HP-UX works."
7865 msgstr ""
7866
7867 #. type: Plain text
7868 #: build/C/man7/vdso.7:291
7869 msgid ""
7870 "Since it's just a raw page of code, there is no ELF information for doing "
7871 "symbol lookups or versioning.  Simply call into the appropriate offset via "
7872 "the branch instruction, for example:"
7873 msgstr ""
7874
7875 #. type: Plain text
7876 #: build/C/man7/vdso.7:293
7877 #, no-wrap
7878 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7879 msgstr ""
7880
7881 #. type: tbl table
7882 #: build/C/man7/vdso.7:298
7883 #, no-wrap
7884 msgid "offset\tfunction\n"
7885 msgstr ""
7886
7887 #. type: tbl table
7888 #: build/C/man7/vdso.7:300
7889 #, no-wrap
7890 msgid "00b0\tlws_entry\n"
7891 msgstr ""
7892
7893 #. type: tbl table
7894 #: build/C/man7/vdso.7:301
7895 #, no-wrap
7896 msgid "00e0\tset_thread_pointer\n"
7897 msgstr ""
7898
7899 #. type: tbl table
7900 #: build/C/man7/vdso.7:302
7901 #, no-wrap
7902 msgid "0100\tlinux_gateway_entry (syscall)\n"
7903 msgstr ""
7904
7905 #. type: tbl table
7906 #: build/C/man7/vdso.7:303
7907 #, no-wrap
7908 msgid "0268\tsyscall_nosys\n"
7909 msgstr ""
7910
7911 #. type: tbl table
7912 #: build/C/man7/vdso.7:304
7913 #, no-wrap
7914 msgid "0274\ttracesys\n"
7915 msgstr ""
7916
7917 #. type: tbl table
7918 #: build/C/man7/vdso.7:305
7919 #, no-wrap
7920 msgid "0324\ttracesys_next\n"
7921 msgstr ""
7922
7923 #. type: tbl table
7924 #: build/C/man7/vdso.7:306
7925 #, no-wrap
7926 msgid "0368\ttracesys_exit\n"
7927 msgstr ""
7928
7929 #. type: tbl table
7930 #: build/C/man7/vdso.7:307
7931 #, no-wrap
7932 msgid "03a0\ttracesys_sigexit\n"
7933 msgstr ""
7934
7935 #. type: tbl table
7936 #: build/C/man7/vdso.7:308
7937 #, no-wrap
7938 msgid "03b8\tlws_start\n"
7939 msgstr ""
7940
7941 #. type: tbl table
7942 #: build/C/man7/vdso.7:309
7943 #, no-wrap
7944 msgid "03dc\tlws_exit_nosys\n"
7945 msgstr ""
7946
7947 #. type: tbl table
7948 #: build/C/man7/vdso.7:310
7949 #, no-wrap
7950 msgid "03e0\tlws_exit\n"
7951 msgstr ""
7952
7953 #. type: tbl table
7954 #: build/C/man7/vdso.7:311
7955 #, no-wrap
7956 msgid "03e4\tlws_compare_and_swap64\n"
7957 msgstr ""
7958
7959 #. type: tbl table
7960 #: build/C/man7/vdso.7:312
7961 #, no-wrap
7962 msgid "03e8\tlws_compare_and_swap\n"
7963 msgstr ""
7964
7965 #. type: tbl table
7966 #: build/C/man7/vdso.7:313
7967 #, no-wrap
7968 msgid "0404\tcas_wouldblock\n"
7969 msgstr ""
7970
7971 #. type: tbl table
7972 #: build/C/man7/vdso.7:314
7973 #, no-wrap
7974 msgid "0410\tcas_action\n"
7975 msgstr ""
7976
7977 #. type: SS
7978 #: build/C/man7/vdso.7:320
7979 #, no-wrap
7980 msgid "ppc/32 functions"
7981 msgstr ""
7982
7983 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
7984 #. type: Plain text
7985 #: build/C/man7/vdso.7:327
7986 msgid ""
7987 "The table below lists the symbols exported by the vDSO.  The functions "
7988 "marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
7989 "bit) kernel."
7990 msgstr ""
7991
7992 #. type: tbl table
7993 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
7994 #, no-wrap
7995 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
7996 msgstr ""
7997
7998 #. type: tbl table
7999 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
8000 #, no-wrap
8001 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
8002 msgstr ""
8003
8004 #. type: tbl table
8005 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
8006 #, no-wrap
8007 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
8008 msgstr ""
8009
8010 #. type: tbl table
8011 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
8012 #, no-wrap
8013 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
8014 msgstr ""
8015
8016 #. type: tbl table
8017 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
8018 #, no-wrap
8019 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
8020 msgstr ""
8021
8022 #. type: tbl table
8023 #: build/C/man7/vdso.7:339
8024 #, no-wrap
8025 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
8026 msgstr ""
8027
8028 #. type: tbl table
8029 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
8030 #, no-wrap
8031 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
8032 msgstr ""
8033
8034 #. type: tbl table
8035 #: build/C/man7/vdso.7:341
8036 #, no-wrap
8037 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
8038 msgstr ""
8039
8040 #. type: tbl table
8041 #: build/C/man7/vdso.7:342
8042 #, no-wrap
8043 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
8044 msgstr ""
8045
8046 #. type: tbl table
8047 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
8048 #, no-wrap
8049 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
8050 msgstr ""
8051
8052 #. type: tbl table
8053 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
8054 #, no-wrap
8055 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8056 msgstr ""
8057
8058 #. type: SS
8059 #: build/C/man7/vdso.7:350
8060 #, no-wrap
8061 msgid "ppc/64 functions"
8062 msgstr ""
8063
8064 #. type: tbl table
8065 #: build/C/man7/vdso.7:365
8066 #, no-wrap
8067 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
8068 msgstr ""
8069
8070 #. type: tbl table
8071 #: build/C/man7/vdso.7:367
8072 #, no-wrap
8073 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8074 msgstr ""
8075
8076 #. type: SS
8077 #: build/C/man7/vdso.7:375
8078 #, no-wrap
8079 msgid "s390 functions"
8080 msgstr ""
8081
8082 #. type: tbl table
8083 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
8084 #, no-wrap
8085 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
8086 msgstr ""
8087
8088 #. type: tbl table
8089 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
8090 #, no-wrap
8091 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
8092 msgstr ""
8093
8094 #. type: tbl table
8095 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
8096 #, no-wrap
8097 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
8098 msgstr ""
8099
8100 #. type: SS
8101 #: build/C/man7/vdso.7:393
8102 #, no-wrap
8103 msgid "s390x functions"
8104 msgstr ""
8105
8106 #. type: SS
8107 #: build/C/man7/vdso.7:411
8108 #, no-wrap
8109 msgid "sh (SuperH) functions"
8110 msgstr ""
8111
8112 #. type: tbl table
8113 #: build/C/man7/vdso.7:421
8114 #, no-wrap
8115 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
8116 msgstr ""
8117
8118 #. type: tbl table
8119 #: build/C/man7/vdso.7:422
8120 #, no-wrap
8121 msgid "__kernel_sigreturn\tLINUX_2.6\n"
8122 msgstr ""
8123
8124 #. type: tbl table
8125 #: build/C/man7/vdso.7:423
8126 #, no-wrap
8127 msgid "__kernel_vsyscall\tLINUX_2.6\n"
8128 msgstr ""
8129
8130 #. type: SS
8131 #: build/C/man7/vdso.7:429
8132 #, no-wrap
8133 msgid "i386 functions"
8134 msgstr ""
8135
8136 #. type: tbl table
8137 #: build/C/man7/vdso.7:439
8138 #, no-wrap
8139 msgid "__kernel_sigreturn\tLINUX_2.5\n"
8140 msgstr ""
8141
8142 #. type: tbl table
8143 #: build/C/man7/vdso.7:440
8144 #, no-wrap
8145 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
8146 msgstr ""
8147
8148 #. type: tbl table
8149 #: build/C/man7/vdso.7:441
8150 #, no-wrap
8151 msgid "__kernel_vsyscall\tLINUX_2.5\n"
8152 msgstr ""
8153
8154 #. type: SS
8155 #: build/C/man7/vdso.7:447
8156 #, no-wrap
8157 msgid "x86_64 functions"
8158 msgstr ""
8159
8160 #.  See linux/arch/x86/vdso/vdso.lds.S
8161 #. type: Plain text
8162 #: build/C/man7/vdso.7:452
8163 msgid ""
8164 "The table below lists the symbols exported by the vDSO.  All of these "
8165 "symbols are also available without the \"__vdso_\" prefix, but you should "
8166 "ignore those and stick to the names below."
8167 msgstr ""
8168
8169 #. type: tbl table
8170 #: build/C/man7/vdso.7:459 build/C/man7/vdso.7:478
8171 #, no-wrap
8172 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
8173 msgstr ""
8174
8175 #. type: tbl table
8176 #: build/C/man7/vdso.7:460 build/C/man7/vdso.7:479
8177 #, no-wrap
8178 msgid "__vdso_getcpu\tLINUX_2.6\n"
8179 msgstr ""
8180
8181 #. type: tbl table
8182 #: build/C/man7/vdso.7:461 build/C/man7/vdso.7:480
8183 #, no-wrap
8184 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8185 msgstr ""
8186
8187 #. type: tbl table
8188 #: build/C/man7/vdso.7:462 build/C/man7/vdso.7:481
8189 #, no-wrap
8190 msgid "__vdso_time\tLINUX_2.6\n"
8191 msgstr ""
8192
8193 #. type: SS
8194 #: build/C/man7/vdso.7:468
8195 #, no-wrap
8196 msgid "x86/x32 functions"
8197 msgstr ""
8198
8199 #. type: SS
8200 #: build/C/man7/vdso.7:487
8201 #, no-wrap
8202 msgid "History"
8203 msgstr ""
8204
8205 #. type: Plain text
8206 #: build/C/man7/vdso.7:494
8207 msgid ""
8208 "The vDSO was originally just a single function\\(emthe vsyscall.  In older "
8209 "kernels, you might see that name in a process's memory map rather than \"vdso"
8210 "\".  Over time, people realized that this mechanism was a great way to pass "
8211 "more functionality to user space, so it was reconceived as a vDSO in the "
8212 "current format."
8213 msgstr ""
8214
8215 #. type: Plain text
8216 #: build/C/man7/vdso.7:498
8217 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8218 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8219
8220 #. type: Plain text
8221 #: build/C/man7/vdso.7:500
8222 msgid "The documents, examples, and source code in the Linux source code tree:"
8223 msgstr ""
8224
8225 #. type: Plain text
8226 #: build/C/man7/vdso.7:506
8227 #, no-wrap
8228 msgid ""
8229 "Documentation/ABI/stable/vdso\n"
8230 "Documentation/ia64/fsys.txt\n"
8231 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8232 msgstr ""
8233
8234 #. type: Plain text
8235 #: build/C/man7/vdso.7:508
8236 #, no-wrap
8237 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8238 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8239
8240 #. type: TH
8241 #: build/C/man3/wcstombs.3:16
8242 #, no-wrap
8243 msgid "WCSTOMBS"
8244 msgstr "WCSTOMBS"
8245
8246 #. type: Plain text
8247 #: build/C/man3/wcstombs.3:19
8248 msgid "wcstombs - convert a wide-character string to a multibyte string"
8249 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8250
8251 #. type: Plain text
8252 #: build/C/man3/wcstombs.3:24
8253 #, no-wrap
8254 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8255 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8256
8257 #. type: Plain text
8258 #: build/C/man3/wcstombs.3:42
8259 msgid ""
8260 "If I<dest> is not NULL, the B<wcstombs>()  function converts the wide-"
8261 "character string I<src> to a multibyte string starting at I<dest>.  At most "
8262 "I<n> bytes are written to I<dest>.  The conversion starts in the initial "
8263 "state.  The conversion can stop for three reasons:"
8264 msgstr ""
8265 "I<dest> が NULL でない場合、 B<wcstombs>()  関数は ワイド文字列 I<src> を "
8266 "I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
8267 "トが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停"
8268 "止する。"
8269
8270 #. type: Plain text
8271 #: build/C/man3/wcstombs.3:48
8272 msgid ""
8273 "1. A wide character has been encountered that can not be represented as a "
8274 "multibyte sequence (according to the current locale).  In this case, "
8275 "I<(size_t)\\ -1> is returned."
8276 msgstr ""
8277 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8278 "場合。この場合には I<(size_t)\\ -1> が返される。"
8279
8280 #. type: Plain text
8281 #: build/C/man3/wcstombs.3:53
8282 msgid ""
8283 "2. The length limit forces a stop.  In this case, the number of bytes "
8284 "written to I<dest> is returned, but the shift state at this point is lost."
8285 msgstr ""
8286 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8287 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8288
8289 #. type: Plain text
8290 #: build/C/man3/wcstombs.3:60
8291 msgid ""
8292 "3. The wide-character string has been completely converted, including the "
8293 "terminating null wide character (L\\(aq\\e0\\(aq).  In this case, the "
8294 "conversion ends in the initial state.  The number of bytes written to "
8295 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
8296 msgstr ""
8297 "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
8298 "れた場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト"
8299 "数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
8300
8301 #. type: Plain text
8302 #: build/C/man3/wcstombs.3:66
8303 msgid ""
8304 "The programmer must ensure that there is room for at least I<n> bytes at "
8305 "I<dest>."
8306 msgstr ""
8307 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8308 "ばならない。"
8309
8310 #. type: Plain text
8311 #: build/C/man3/wcstombs.3:74
8312 msgid ""
8313 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
8314 "except that the converted bytes are not written out to memory, and no length "
8315 "limit exists."
8316 msgstr ""
8317 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8318 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
8319
8320 #. type: Plain text
8321 #: build/C/man3/wcstombs.3:79
8322 msgid ""
8323 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
8324 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
8325 msgstr ""
8326 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8327 "src,0)+1> 以上であることを保証しなければならない。"
8328
8329 #. type: Plain text
8330 #: build/C/man3/wcstombs.3:89
8331 msgid ""
8332 "The B<wcstombs>()  function returns the number of bytes that make up the "
8333 "converted part of a multibyte sequence, not including the terminating null "
8334 "byte.  If a wide character was encountered which could not be converted, "
8335 "I<(size_t)\\ -1> is returned."
8336 msgstr ""
8337 "B<wcstombs>()  関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字"
8338 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8339 "返す。"
8340
8341 #. type: Plain text
8342 #: build/C/man3/wcstombs.3:98
8343 msgid ""
8344 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
8345 "current locale."
8346 msgstr ""
8347 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
8348
8349 #. type: Plain text
8350 #: build/C/man3/wcstombs.3:103
8351 msgid ""
8352 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
8353 "functionality."
8354 msgstr ""
8355 "B<wcsrtombs>()  関数は同じ機能のためのスレッド・セーフな インターフェースを提"
8356 "供する。"
8357
8358 #. type: Plain text
8359 #: build/C/man3/wcstombs.3:109
8360 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8361 msgstr ""
8362 "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8363
8364 #. type: TH
8365 #: build/C/man3/wctomb.3:16
8366 #, no-wrap
8367 msgid "WCTOMB"
8368 msgstr "WCTOMB"
8369
8370 #. type: Plain text
8371 #: build/C/man3/wctomb.3:19
8372 msgid "wctomb - convert a wide character to a multibyte sequence"
8373 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8374
8375 #. type: Plain text
8376 #: build/C/man3/wctomb.3:24
8377 #, no-wrap
8378 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8379 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8380
8381 #. type: Plain text
8382 #: build/C/man3/wctomb.3:45
8383 msgid ""
8384 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
8385 "I<wc> to its multibyte representation and stores it at the beginning of the "
8386 "character array pointed to by I<s>.  It updates the shift state, which is "
8387 "stored in a static anonymous variable known only to the B<wctomb>()  "
8388 "function, and returns the length of said multibyte representation, that is, "
8389 "the number of bytes written at I<s>."
8390 msgstr ""
8391 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
8392 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8393 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8394 "なわち I<s> に書き込まれた バイト数を返す。"
8395
8396 #. type: Plain text
8397 #: build/C/man3/wctomb.3:51
8398 msgid ""
8399 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8400 "bytes at I<s>."
8401 msgstr ""
8402 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8403 "なければならない。"
8404
8405 #.  The Dinkumware doc and the Single UNIX specification say this, but
8406 #.  glibc doesn't implement this.
8407 #. type: Plain text
8408 #: build/C/man3/wctomb.3:63
8409 msgid ""
8410 "If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
8411 "only to this function, to the initial state, and returns nonzero if the "
8412 "encoding has nontrivial shift state, or zero if the encoding is stateless."
8413 msgstr ""
8414 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
8415 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8416 "依存しない場合にはゼロを返す。"
8417
8418 #. type: Plain text
8419 #: build/C/man3/wctomb.3:77
8420 msgid ""
8421 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
8422 "that have been written to the byte array at I<s>.  If I<wc> can not be "
8423 "represented as a multibyte sequence (according to the current locale), -1 is "
8424 "returned."
8425 msgstr ""
8426 "I<s> が NULL でない場合 B<wctomb>()  関数はバイト配列 I<s> に 書き込まれたバ"
8427 "イト数を返す。I<wc> が(現在のロケールにおいて)  マルチバイト列で表現できない"
8428 "場合には -1 を返す。"
8429
8430 #. type: Plain text
8431 #: build/C/man3/wctomb.3:84
8432 msgid ""
8433 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
8434 "has nontrivial shift state, or zero if the encoding is stateless."
8435 msgstr ""
8436 "I<s> が NULL の場合 B<wctomb>()  関数は文字符号がシフト状態に 依存している場"
8437 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8438
8439 #. type: Plain text
8440 #: build/C/man3/wctomb.3:89
8441 msgid "The B<wctomb>()  function is not thread-safe."
8442 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8443
8444 #. type: Plain text
8445 #: build/C/man3/wctomb.3:98
8446 msgid ""
8447 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
8448 "current locale."
8449 msgstr ""
8450 "B<wctomb>()  関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
8451 "る。"
8452
8453 #. type: Plain text
8454 #: build/C/man3/wctomb.3:103
8455 msgid ""
8456 "The function B<wcrtomb>(3)  provides a better interface to the same "
8457 "functionality."
8458 msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインタフェースを提供する。"
8459
8460 #. type: Plain text
8461 #: build/C/man3/wctomb.3:110
8462 msgid ""
8463 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8464 "B<wcstombs>(3)"
8465 msgstr ""
8466 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8467 "B<wcstombs>(3)"
8468
8469 #~ msgid ""
8470 #~ "B<system>()  executes a command specified in I<command> by calling B</bin/"
8471 #~ "sh -c> I<command>, and returns after the command has been completed.  "
8472 #~ "During execution of the command, B<SIGCHLD> will be blocked, and "
8473 #~ "B<SIGINT> and B<SIGQUIT> will be ignored."
8474 #~ msgstr ""
8475 #~ "B<system>()  は I<command> で指定したコマンドを B</bin/sh -c> I<command> "
8476 #~ "の形で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド"
8477 #~ "実行中は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視され"
8478 #~ "る。"
8479
8480 #~ msgid ""
8481 #~ "The value returned is -1 on error (e.g., B<fork>(2)  failed), and the "
8482 #~ "return status of the command otherwise.  This latter return status is in "
8483 #~ "the format specified in B<wait>(2).  Thus, the exit code of the command "
8484 #~ "will be I<WEXITSTATUS(status)>.  In case I</bin/sh> could not be "
8485 #~ "executed, the exit status will be that of a command that does "
8486 #~ "I<exit(127)>."
8487 #~ msgstr ""
8488 #~ "エラーが発生した場合 (B<fork>(2)  に失敗した場合など)、-1 を返す。 そうで"
8489 #~ "なければ、コマンドのステータスを返す。 後者の場合、ステータスは "
8490 #~ "B<wait>(2)  で定義されているフォーマットで返ってくる。 従って、コマンドの"
8491 #~ "終了コードは I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行"
8492 #~ "出来なかった場合、 終了ステータスはコマンドが I<exit(127)> を実行した場合"
8493 #~ "と同じになる。"
8494
8495 #~ msgid ""
8496 #~ "It is possible for the shell command to return 127, so that code is not a "
8497 #~ "sure indication that the B<execve>(2)  call failed."
8498 #~ msgstr ""
8499 #~ "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) "
8500 #~ "を返すことも考えられる。 そのため、プログラムは (リターンコードを見るだけ"
8501 #~ "では)  B<execve>(2)  の呼び出しが失敗したことを確実に知ることはできない。"
8502
8503 #~ msgid ""
8504 #~ "The B<mkostemp>()  function is like B<mkstemp>(), with the difference "
8505 #~ "that flags as for B<open>(2)  may be specified in I<flags> (e.g., "
8506 #~ "B<O_APPEND>, B<O_SYNC>)."
8507 #~ msgstr ""
8508 #~ "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
8509 #~ "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
8510
8511 #~ msgid ""
8512 #~ "This function is not multithread safe.  The function B<wcrtomb>(3)  "
8513 #~ "provides a better interface to the same functionality."
8514 #~ msgstr ""
8515 #~ "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3)  関数は 同じ機能"
8516 #~ "のより良いインターフェースを提供する。"
8517
8518 #~ msgid ""
8519 #~ "The B<putenv>()  function returns zero on success, or nonzero if an error "
8520 #~ "occurs."
8521 #~ msgstr ""
8522 #~ "B<putenv>()  関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返"
8523 #~ "す。"
8524
8525 #~ msgid ""
8526 #~ "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
8527 #~ "B<srandom>()  function returns no value.  The B<initstate>()  function "
8528 #~ "returns a pointer to the previous state array.  The B<setstate>()  "
8529 #~ "function returns a pointer to the previous state array, or NULL on error."
8530 #~ msgstr ""
8531 #~ "B<random>()  関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>()  関数は"
8532 #~ "値を返さない。 B<initstate>()  関数は直前の状態配列へのポインタを返す。 "
8533 #~ "B<setstate>()  関数は直前の状態配列へのポインタを返し、 エラーの場合は "
8534 #~ "NULL を返す。"
8535
8536 #~ msgid "All of these functions return 0 on success, or -1 on error."
8537 #~ msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
8538
8539 #~ msgid ""
8540 #~ "In locales other than the \"C\" locale, other strings may also be "
8541 #~ "accepted.  (For example, the thousands separator of the current locale "
8542 #~ "may be supported.)"
8543 #~ msgstr ""
8544 #~ "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 "
8545 #~ "(例えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれ"
8546 #~ "ない。)"
8547
8548 #~ msgid ""
8549 #~ "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  "
8550 #~ "include a B<malloc>()  implementation which is tunable via environment "
8551 #~ "variables.  When B<MALLOC_CHECK_> is set, a special (less efficient) "
8552 #~ "implementation is used which is designed to be tolerant against simple "
8553 #~ "errors, such as double calls of B<free>()  with the same argument, or "
8554 #~ "overruns of a single byte (off-by-one bugs).  Not all such errors can be "
8555 #~ "protected against, however, and memory leaks can result.  If "
8556 #~ "B<MALLOC_CHECK_> is set to 0, any detected heap corruption is silently "
8557 #~ "ignored; if set to 1, a diagnostic message is printed on I<stderr>; if "
8558 #~ "set to 2, B<abort>(3)  is called immediately; if set to 3, a diagnostic "
8559 #~ "message is printed on I<stderr> and the program is aborted.  Using a "
8560 #~ "nonzero B<MALLOC_CHECK_> value can be useful because otherwise a crash "
8561 #~ "may happen much later, and the true cause for the problem is then very "
8562 #~ "hard to track down."
8563 #~ msgstr ""
8564 #~ "最近のバージョンの Linux libc (5.4.23 以降) と glibc (2.x) では、 "
8565 #~ "B<malloc>()  の動作を環境変数によって制御できるような実装がされている。 "
8566 #~ "B<MALLOC_CHECK_> が設定されていると、特殊な実装が用いられ、 単純なエラーに"
8567 #~ "は耐えることができるようになる (効率は悪くなる)。例えば、 B<free>()  を同"
8568 #~ "じ引き数で二度呼び出してしまう、 1 バイトだけ行きすぎてしまう (off-by-one "
8569 #~ "バグ) などがこれに当たる。 しかし、これらのエラーの全てを防ぐことができる"
8570 #~ "わけではなく、 その場合にはメモリリークが起こってしまう。 "
8571 #~ "B<MALLOC_CHECK_> が 0 にセットされていると、ヒープの破壊を黙って無視す"
8572 #~ "る。 1 にセットされていると、診断メッセージが標準エラー出力に表示される。 "
8573 #~ "2 にセットされていると、ただちに B<abort>(3)  が呼び出される。 3 にセット"
8574 #~ "されていると、診断メッセージが標準エラー出力に表示され、 プログラムは強制"
8575 #~ "終了 (abort) される。 B<MALLOC_CHECK_> に 0 以外の値をセットして役に立つ状"
8576 #~ "況としては、 実際のプロセスのクラッシュがずっと後に起こり、 本当の原因を探"
8577 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"