OSDN Git Service

(split) LDP: Translation snapshots for LDP 3.63
[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-04-13 10:27+0900\n"
10 "PO-Revision-Date: 2014-04-16 02:59+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:30
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:30 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:31
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:31 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:33
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:33 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:36
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:36
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:42
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:39 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:129
174 #: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:85 build/C/man3/mbtowc.3:94
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:54
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:90 build/C/man3/gcvt.3:77
204 #: build/C/man3/getauxval.3:187 build/C/man3/getenv.3:96
205 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
206 #: build/C/man3/malloc.3:168 build/C/man3/mblen.3:92
207 #: build/C/man3/mbstowcs.3:95 build/C/man3/mbtowc.3:114
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:152
211 #: build/C/man3/random_r.3:128 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:78
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:177 build/C/man3/gcvt.3:86
234 #: build/C/man3/getauxval.3:213 build/C/man3/getenv.3:129
235 #: build/C/man3/getloadavg.3:69 build/C/man3/getsubopt.3:227
236 #: build/C/man3/malloc.3:259 build/C/man3/mblen.3:106
237 #: build/C/man3/mbstowcs.3:217 build/C/man3/mbtowc.3:129
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:188 build/C/man3/random_r.3:132
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:153 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:184 build/C/man3/gcvt.3:90
268 #: build/C/man3/getauxval.3:217 build/C/man3/getenv.3:137
269 #: build/C/man3/getloadavg.3:72 build/C/man3/getsubopt.3:229
270 #: build/C/man3/malloc.3:283 build/C/man3/mblen.3:108
271 #: build/C/man3/mbstowcs.3:223 build/C/man3/mbtowc.3:136
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:193 build/C/man3/random_r.3:136
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:158 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:51 build/C/man3/MB_LEN_MAX.3:53
287 #: build/C/man2/_exit.2:143 build/C/man3/a64l.3:104 build/C/man3/atexit.3:172
288 #: build/C/man3/atof.3:80 build/C/man3/atoi.3:137
289 #: build/C/man3/canonicalize_file_name.3:85 build/C/man3/cfree.3:126
290 #: build/C/man3/clearenv.3:110 build/C/man3/drand48.3:276
291 #: build/C/man3/drand48_r.3:125 build/C/man3/ecvt.3:148
292 #: build/C/man3/ecvt_r.3:106 build/C/man3/exit.3:191 build/C/man3/gcvt.3:97
293 #: build/C/man3/getauxval.3:224 build/C/man3/getenv.3:144
294 #: build/C/man3/getloadavg.3:79 build/C/man3/getsubopt.3:236
295 #: build/C/man3/malloc.3:290 build/C/man3/mblen.3:115
296 #: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
297 #: build/C/man3/mkdtemp.3:105 build/C/man3/mkstemp.3:246
298 #: build/C/man3/mktemp.3:130 build/C/man3/on_exit.3:99
299 #: build/C/man3/putenv.3:132 build/C/man3/qecvt.3:119 build/C/man3/rand.3:227
300 #: build/C/man3/random.3:200 build/C/man3/random_r.3:143
301 #: build/C/man3/rpmatch.3:157 build/C/man3/setenv.3:165
302 #: build/C/man3/strtod.3:204 build/C/man3/strtoimax.3:84
303 #: build/C/man3/strtol.3:310 build/C/man3/strtoul.3:238
304 #: build/C/man3/system.3:165 build/C/man7/vdso.7:517
305 #: build/C/man3/wcstombs.3:116 build/C/man3/wctomb.3:117
306 msgid ""
307 "This page is part of release 3.63 of the Linux I<man-pages> project.  A "
308 "description of the project, and information about reporting bugs, can be "
309 "found at \\%http://www.kernel.org/doc/man-pages/."
310 msgstr ""
311 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.63 の一部\n"
312 "である。プロジェクトの説明とバグ報告に関する情報は\n"
313 "http://www.kernel.org/doc/man-pages/ に書かれている。"
314
315 #. type: TH
316 #: build/C/man3/MB_LEN_MAX.3:17
317 #, no-wrap
318 msgid "MB_LEN_MAX"
319 msgstr "MB_LEN_MAX"
320
321 #. type: Plain text
322 #: build/C/man3/MB_LEN_MAX.3:20
323 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
324 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
325
326 #. type: Plain text
327 #: build/C/man3/MB_LEN_MAX.3:23
328 #, no-wrap
329 msgid "B<#include E<lt>limits.hE<gt>>\n"
330 msgstr "B<#include E<lt>limits.hE<gt>>\n"
331
332 #. type: Plain text
333 #: build/C/man3/MB_LEN_MAX.3:29
334 msgid ""
335 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
336 "represent a single wide character, across all locales."
337 msgstr ""
338 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
339 "となる 最大バイト数である。"
340
341 #. type: Plain text
342 #: build/C/man3/MB_LEN_MAX.3:31
343 msgid "A constant integer greater than zero."
344 msgstr "0 より大きいの整数型の定数。"
345
346 #. type: SH
347 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
348 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:115 build/C/man3/clearenv.3:74
349 #: build/C/man3/drand48.3:262 build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90
350 #: build/C/man3/exit.3:92 build/C/man3/getauxval.3:189
351 #: build/C/man3/getenv.3:102 build/C/man3/getsubopt.3:131
352 #: build/C/man3/malloc.3:170 build/C/man3/mblen.3:94
353 #: build/C/man3/mbstowcs.3:97 build/C/man3/mbtowc.3:116
354 #: build/C/man3/mkstemp.3:208 build/C/man3/mktemp.3:99
355 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
356 #: build/C/man3/random.3:154 build/C/man3/setenv.3:130
357 #: build/C/man3/strtod.3:177 build/C/man3/strtol.3:178
358 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:80 build/C/man7/vdso.7:129
359 #: build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
360 #, no-wrap
361 msgid "NOTES"
362 msgstr "注意"
363
364 #. type: Plain text
365 #: build/C/man3/MB_LEN_MAX.3:44
366 msgid ""
367 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
368 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
369 msgstr ""
370 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
371 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
372
373 #. type: Plain text
374 #: build/C/man3/MB_LEN_MAX.3:46
375 msgid "B<MB_CUR_MAX>(3)"
376 msgstr "B<MB_CUR_MAX>(3)"
377
378 #. type: TH
379 #: build/C/man2/_exit.2:29
380 #, no-wrap
381 msgid "_EXIT"
382 msgstr "_EXIT"
383
384 #. type: TH
385 #: build/C/man2/_exit.2:29 build/C/man3/gcvt.3:30
386 #, no-wrap
387 msgid "2010-09-20"
388 msgstr "2010-09-20"
389
390 #. type: Plain text
391 #: build/C/man2/_exit.2:32
392 msgid "_exit, _Exit - terminate the calling process"
393 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
394
395 #. type: Plain text
396 #: build/C/man2/_exit.2:34
397 msgid "B<#include E<lt>unistd.hE<gt>>"
398 msgstr "B<#include E<lt>unistd.hE<gt>>"
399
400 #. type: Plain text
401 #: build/C/man2/_exit.2:36
402 msgid "B<void _exit(int >I<status>B<);>"
403 msgstr "B<void _exit(int >I<status>B<);>"
404
405 #. type: Plain text
406 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
407 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
408 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
409 #: build/C/man3/strtod.3:50
410 msgid "B<#include E<lt>stdlib.hE<gt>>"
411 msgstr "B<#include E<lt>stdlib.hE<gt>>"
412
413 #. type: Plain text
414 #: build/C/man2/_exit.2:40
415 msgid "B<void _Exit(int >I<status>B<);>"
416 msgstr "B<void _Exit(int >I<status>B<);>"
417
418 #. type: Plain text
419 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:52
420 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
421 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
422 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
423 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
424 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
425 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
426 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
427 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
428 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
429 #: build/C/man3/strtoul.3:50
430 msgid ""
431 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
432 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
433
434 #. type: Plain text
435 #: build/C/man2/_exit.2:48
436 msgid "B<_Exit>():"
437 msgstr "B<_Exit>():"
438
439 #. type: Plain text
440 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
441 msgid ""
442 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
443 "200112L;"
444 msgstr ""
445 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
446 "200112L;"
447
448 #. type: Plain text
449 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:62 build/C/man3/strtod.3:71
450 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
451 msgid "or I<cc\\ -std=c99>"
452 msgstr "または I<cc\\ -std=c99>"
453
454 #. type: Plain text
455 #: build/C/man2/_exit.2:67
456 msgid ""
457 "The function B<_exit>()  terminates the calling process \"immediately\".  "
458 "Any open file descriptors belonging to the process are closed; any children "
459 "of the process are inherited by process 1, I<init>, and the process's parent "
460 "is sent a B<SIGCHLD> signal."
461 msgstr ""
462 "B<_exit>()  は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
463 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
464 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
465 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
466 "して B<SIGCHLD> シグナルが送出される。"
467
468 #. type: Plain text
469 #: build/C/man2/_exit.2:74
470 msgid ""
471 "The value I<status> is returned to the parent process as the process's exit "
472 "status, and can be collected using one of the B<wait>(2)  family of calls."
473 msgstr ""
474 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
475 "B<wait>(2)  系関数を利用することによって取得することができる。"
476
477 #. type: Plain text
478 #: build/C/man2/_exit.2:79
479 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
480 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
481
482 #. type: Plain text
483 #: build/C/man2/_exit.2:81
484 msgid "These functions do not return."
485 msgstr "これらの関数は値を返さない。"
486
487 #. type: Plain text
488 #: build/C/man2/_exit.2:86
489 msgid ""
490 "SVr4, POSIX.1-2001, 4.3BSD.  The function B<_Exit>()  was introduced by C99."
491 msgstr "SVr4, POSIX.1-2001, 4.3BSD.  関数 B<_Exit>()  は C99 で導入された。"
492
493 #. type: Plain text
494 #: build/C/man2/_exit.2:90
495 msgid ""
496 "For a discussion on the effects of an exit, the transmission of exit status, "
497 "zombie processes, signals sent, and so on, see B<exit>(3)."
498 msgstr ""
499 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
500 "ついての議論は、 B<exit>(3) を参照すること。"
501
502 #. type: Plain text
503 #: build/C/man2/_exit.2:117
504 msgid ""
505 "The function B<_exit>()  is like B<exit>(3), but does not call any functions "
506 "registered with B<atexit>(3)  or B<on_exit>(3).  Whether it flushes standard "
507 "I/O buffers and removes temporary files created with B<tmpfile>(3)  is "
508 "implementation-dependent.  On the other hand, B<_exit>()  does close open "
509 "file descriptors, and this may cause an unknown delay, waiting for pending "
510 "output to finish.  If the delay is undesired, it may be useful to call "
511 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
512 "pending I/O is canceled, and which pending I/O may be canceled upon B<_exit>"
513 "(), is implementation-dependent."
514 msgstr ""
515 "関数 B<_exit>()  は B<exit>(3)  に似ているが、ANSI C の B<atexit>(3)  や "
516 "B<on_exit>(3)  によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
517 "ファのフラッシュや、 B<tmpfile>(3)  で作成されたテンポラリファイルの削除を行"
518 "うかどうかは、実装に依存する。 一方で、 B<_exit>()  はオープンされているファ"
519 "イルディスクリプタをクローズしないため、 未決定になっている出力がフラッシュさ"
520 "れるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 "
521 "B<_exit>()  の前に B<tcflush>(3)  のような関数を呼び出せばよい。 B<_exit>()  "
522 "が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 "
523 "またどの I/O がキャンセルされるのかは実装に依存する。"
524
525 #. type: Plain text
526 #: build/C/man2/_exit.2:124
527 msgid ""
528 "In glibc up to version 2.3, the B<_exit>()  wrapper function invoked the "
529 "kernel system call of the same name.  Since glibc 2.3, the wrapper function "
530 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
531 "process."
532 msgstr ""
533 "バージョン 2.3 より前の glibc では、 B<_exit>()  のラッパー関数は同じ名前の"
534 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
535 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
536
537 #. type: Plain text
538 #: build/C/man2/_exit.2:136
539 msgid ""
540 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
541 "(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
542 msgstr ""
543 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>"
544 "(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
545
546 #. type: TH
547 #: build/C/man3/a64l.3:9
548 #, no-wrap
549 msgid "A64L"
550 msgstr "A64L"
551
552 #. type: TH
553 #: build/C/man3/a64l.3:9 build/C/man3/drand48.3:30 build/C/man3/mblen.3:16
554 #, no-wrap
555 msgid "2013-06-21"
556 msgstr "2013-06-21"
557
558 #. type: Plain text
559 #: build/C/man3/a64l.3:12
560 msgid "a64l, l64a - convert between long and base-64"
561 msgstr "a64l, l64a - long と base-64 を変換する"
562
563 #. type: Plain text
564 #: build/C/man3/a64l.3:16
565 msgid "B<long a64l(char *>I<str64>B<);>"
566 msgstr "B<long a64l(char *>I<str64>B<);>"
567
568 #. type: Plain text
569 #: build/C/man3/a64l.3:18
570 msgid "B<char *l64a(long >I<value>B<);>"
571 msgstr "B<char *l64a(long >I<value>B<);>"
572
573 #. type: Plain text
574 #: build/C/man3/a64l.3:26
575 msgid "B<a64l>(), B<l64a>():"
576 msgstr "B<a64l>(), B<l64a>():"
577
578 #. type: Plain text
579 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
580 msgid ""
581 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
582 "_XOPEN_SOURCE_EXTENDED"
583 msgstr ""
584 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
585 "_XOPEN_SOURCE_EXTENDED"
586
587 #. type: Plain text
588 #: build/C/man3/a64l.3:48
589 msgid ""
590 "These functions provide a conversion between 32-bit long integers and little-"
591 "endian base-64 ASCII strings (of length zero to six).  If the string used as "
592 "argument for B<a64l>()  has length greater than six, only the first six "
593 "bytes are used.  If the type I<long> has more than 32 bits, then B<l64a>()  "
594 "uses only the low order 32 bits of I<value>, and B<a64l>()  sign-extends its "
595 "32-bit result."
596 msgstr ""
597 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
598 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>()  の引き数の文字列が 7 文字以上の場"
599 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
600 "B<l64a>()  は I<value> の下位 32 ビットのみを使い、 B<a64l>()  は 32 ビットの"
601 "結果を符号拡張 (sign-extend) する。"
602
603 #. type: Plain text
604 #: build/C/man3/a64l.3:50
605 msgid "The 64 digits in the base-64 system are:"
606 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
607
608 #. type: Plain text
609 #: build/C/man3/a64l.3:58
610 #, no-wrap
611 msgid ""
612 "\\&\\(aq.\\(aq\trepresents a 0\n"
613 "\\&\\(aq/\\(aq\trepresents a 1\n"
614 "0-9\trepresent  2-11\n"
615 "A-Z\trepresent 12-37\n"
616 "a-z\trepresent 38-63\n"
617 msgstr ""
618 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
619 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
620 "0-9\tは 2-11 を表す。\n"
621 "A-Z\tは 12-37 を表す。\n"
622 "a-z\tは 38-63 を表す。\n"
623
624 #. type: Plain text
625 #: build/C/man3/a64l.3:62
626 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
627 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
628
629 #. type: SH
630 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:93
631 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
632 #: build/C/man3/ecvt.3:110 build/C/man3/mblen.3:87 build/C/man3/qecvt.3:85
633 #: build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:58
634 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
635 #: build/C/man3/wctomb.3:84
636 #, no-wrap
637 msgid "ATTRIBUTES"
638 msgstr "属性"
639
640 #. type: SS
641 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:94
642 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
643 #: build/C/man3/ecvt.3:111 build/C/man3/mblen.3:88 build/C/man3/qecvt.3:86
644 #: build/C/man3/strtod.3:161 build/C/man3/strtoimax.3:59
645 #: build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166
646 #: build/C/man3/wctomb.3:85
647 #, no-wrap
648 msgid "Multithreading (see pthreads(7))"
649 msgstr "マルチスレッディング (pthreads(7) 参照)"
650
651 #. type: Plain text
652 #: build/C/man3/a64l.3:67
653 msgid "The B<l64a>()  function is not thread-safe."
654 msgstr "B<l64a>() 関数はスレッドセーフではない。"
655
656 #. type: Plain text
657 #: build/C/man3/a64l.3:71
658 msgid "The B<a64l>()  function is thread-safe."
659 msgstr "B<a64l>() 関数はスレッドセーフである。"
660
661 #. type: Plain text
662 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:131
663 msgid "POSIX.1-2001."
664 msgstr "POSIX.1-2001."
665
666 #. type: Plain text
667 #: build/C/man3/a64l.3:78
668 msgid ""
669 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
670 "possibly overwritten by later calls."
671 msgstr ""
672 "B<l64a>()  で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
673 "び出しで上書きされる可能性がある。"
674
675 #. type: Plain text
676 #: build/C/man3/a64l.3:87
677 msgid ""
678 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
679 "I<value> is zero, it returns an empty string."
680 msgstr ""
681 "I<value> が負の場合、 B<l64a>()  の動作は定義されていない。 I<value> が 0 の"
682 "場合は空文字列を返す。"
683
684 #. type: Plain text
685 #: build/C/man3/a64l.3:90
686 msgid ""
687 "These functions are broken in glibc before 2.2.5 (puts most significant "
688 "digit first)."
689 msgstr ""
690 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
691 "る)。"
692
693 #. type: Plain text
694 #: build/C/man3/a64l.3:93
695 msgid "This is not the encoding used by B<uuencode>(1)."
696 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
697
698 #.  .BR itoa (3),
699 #. type: Plain text
700 #: build/C/man3/a64l.3:97
701 msgid "B<uuencode>(1), B<strtoul>(3)"
702 msgstr "B<uuencode>(1), B<strtoul>(3)"
703
704 #. type: TH
705 #: build/C/man3/atexit.3:33
706 #, no-wrap
707 msgid "ATEXIT"
708 msgstr "ATEXIT"
709
710 #. type: TH
711 #: build/C/man3/atexit.3:33 build/C/man3/on_exit.3:31
712 #, no-wrap
713 msgid "2008-12-05"
714 msgstr "2008-12-05"
715
716 #. type: Plain text
717 #: build/C/man3/atexit.3:36
718 msgid "atexit - register a function to be called at normal process termination"
719 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
720
721 #. type: Plain text
722 #: build/C/man3/atexit.3:41
723 #, no-wrap
724 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
725 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
726
727 #. type: Plain text
728 #: build/C/man3/atexit.3:54
729 msgid ""
730 "The B<atexit>()  function registers the given I<function> to be called at "
731 "normal process termination, either via B<exit>(3)  or via return from the "
732 "program's I<main>().  Functions so registered are called in the reverse "
733 "order of their registration; no arguments are passed."
734 msgstr ""
735 "B<atexit>()  関数は、与えられた I<function> を、 B<exit>(3)  やプログラムの "
736 "I<main>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
737 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
738 "れる。 登録した関数に引き数は渡されない。"
739
740 #. type: Plain text
741 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
742 msgid ""
743 "The same function may be registered multiple times: it is called once for "
744 "each registration."
745 msgstr ""
746 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
747 "れる。"
748
749 #. type: Plain text
750 #: build/C/man3/atexit.3:63
751 msgid ""
752 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
753 "(32) such functions to be registered.  The actual limit supported by an "
754 "implementation can be obtained using B<sysconf>(3)."
755 msgstr ""
756 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
757 "きることを要求している。 その実装でサポートされている実際の上限は B<sysconf>"
758 "(3)  を使って取得できる。"
759
760 #. type: Plain text
761 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
762 msgid ""
763 "When a child process is created via B<fork>(2), it inherits copies of its "
764 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
765 "functions, all registrations are removed."
766 msgstr ""
767 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
768 "る。\n"
769 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
770 "れる。"
771
772 #. type: Plain text
773 #: build/C/man3/atexit.3:76
774 msgid ""
775 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
776 "returns a nonzero value."
777 msgstr ""
778 "B<atexit>()  関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
779 "以外の値を返す。"
780
781 #. type: Plain text
782 #: build/C/man3/atexit.3:78
783 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
784 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
785
786 #. type: Plain text
787 #: build/C/man3/atexit.3:85
788 msgid ""
789 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
790 "if a process terminates abnormally because of the delivery of a signal."
791 msgstr ""
792 "B<atexit>()  (と B<on_exit>(3))  を使って登録された関数は、 シグナルの配送に"
793 "よりプロセスが異常終了した場合には呼び出されない。"
794
795 #. type: Plain text
796 #: build/C/man3/atexit.3:92
797 msgid ""
798 "If one of the functions registered functions calls B<_exit>(2), then any "
799 "remaining functions are not invoked, and the other process termination steps "
800 "performed by B<exit>(3)  are not performed."
801 msgstr ""
802 "登録された関数の一つが B<_exit>(2)  を呼び出した場合、残りの関数はどれも起動"
803 "されず、 B<exit>(3)  により実行される他のプロセス終了ステップは実行されない。"
804
805 #.  This can happen on OpenBSD 4.2 for example, and is documented
806 #.  as occurring on FreeBSD as well.
807 #.  Glibc does "the Right Thing" -- invocation of the remaining
808 #.  exit handlers carries on as normal.
809 #. type: Plain text
810 #: build/C/man3/atexit.3:109
811 msgid ""
812 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once (i."
813 "e., calling B<exit>(3)  within a function registered using B<atexit>())  is "
814 "undefined.  On some systems (but not Linux), this can result in an infinite "
815 "recursion; portable programs should not invoke B<exit>(3)  inside a function "
816 "registered using B<atexit>()."
817 msgstr ""
818 "POSIX.1-2001 では、 B<atexit>()  を使って登録された一つの関数内で、複数回 "
819 "B<exit>(3)  を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
820 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
821 "プログラムでは、 B<atexit>()  で登録された関数内で B<exit>(3)  を起動すべきで"
822 "はない。"
823
824 #. type: Plain text
825 #: build/C/man3/atexit.3:118
826 msgid ""
827 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
828 "list: at normal process termination, the registered functions are invoked in "
829 "reverse order of their registration by these two functions."
830 msgstr ""
831 "B<atexit>()  と B<on_exit>(3)  は、同じリストに対して関数を登録する。 プロセ"
832 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
833 "された関数が起動される。"
834
835 #.  In glibc, things seem to be handled okay
836 #. type: Plain text
837 #: build/C/man3/atexit.3:124
838 msgid ""
839 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
840 "terminate execution of one of the functions registered B<atexit>()."
841 msgstr ""
842 "POSIX.1-2001 では、 B<atexit>()  で登録された関数の実行を終了するために "
843 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
844
845 #. type: SS
846 #: build/C/man3/atexit.3:124
847 #, no-wrap
848 msgid "Linux notes"
849 msgstr "Linux での注意"
850
851 #. type: Plain text
852 #: build/C/man3/atexit.3:131
853 msgid ""
854 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
855 "shared library to establish functions that are called when the shared "
856 "library is unloaded."
857 msgstr ""
858 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
859 "録するために、共有ライブラリの中で B<atexit>()  (と B<on_exit>(3))  を使用す"
860 "ることができる。"
861
862 #. type: SH
863 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:138
864 #: build/C/man3/mbstowcs.3:109 build/C/man3/rand.3:160
865 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:186
866 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
867 #, no-wrap
868 msgid "EXAMPLE"
869 msgstr "例"
870
871 #. type: Plain text
872 #: build/C/man3/atexit.3:136
873 #, no-wrap
874 msgid ""
875 "#include E<lt>stdio.hE<gt>\n"
876 "#include E<lt>stdlib.hE<gt>\n"
877 "#include E<lt>unistd.hE<gt>\n"
878 msgstr ""
879 "#include E<lt>stdio.hE<gt>\n"
880 "#include E<lt>stdlib.hE<gt>\n"
881 "#include E<lt>unistd.hE<gt>\n"
882
883 #. type: Plain text
884 #: build/C/man3/atexit.3:142
885 #, no-wrap
886 msgid ""
887 "void\n"
888 "bye(void)\n"
889 "{\n"
890 "    printf(\"That was all, folks\\en\");\n"
891 "}\n"
892 msgstr ""
893 "void\n"
894 "bye(void)\n"
895 "{\n"
896 "    printf(\"That was all, folks\\en\");\n"
897 "}\n"
898
899 #. type: Plain text
900 #: build/C/man3/atexit.3:148
901 #, no-wrap
902 msgid ""
903 "int\n"
904 "main(void)\n"
905 "{\n"
906 "    long a;\n"
907 "    int i;\n"
908 msgstr ""
909 "int\n"
910 "main(void)\n"
911 "{\n"
912 "    long a;\n"
913 "    int i;\n"
914
915 #. type: Plain text
916 #: build/C/man3/atexit.3:151
917 #, no-wrap
918 msgid ""
919 "    a = sysconf(_SC_ATEXIT_MAX);\n"
920 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
921 msgstr ""
922 "    a = sysconf(_SC_ATEXIT_MAX);\n"
923 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
924
925 #. type: Plain text
926 #: build/C/man3/atexit.3:157
927 #, no-wrap
928 msgid ""
929 "    i = atexit(bye);\n"
930 "    if (i != 0) {\n"
931 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
932 "        exit(EXIT_FAILURE);\n"
933 "    }\n"
934 msgstr ""
935 "    i = atexit(bye);\n"
936 "    if (i != 0) {\n"
937 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
938 "        exit(EXIT_FAILURE);\n"
939 "    }\n"
940
941 #. type: Plain text
942 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:226
943 #: build/C/man3/mbstowcs.3:216 build/C/man3/rand.3:215
944 #: build/C/man3/strtol.3:296
945 #, no-wrap
946 msgid ""
947 "    exit(EXIT_SUCCESS);\n"
948 "}\n"
949 msgstr ""
950 "    exit(EXIT_SUCCESS);\n"
951 "}\n"
952
953 #. type: Plain text
954 #: build/C/man3/atexit.3:165
955 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
956 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
957
958 #. type: TH
959 #: build/C/man3/atof.3:31
960 #, no-wrap
961 msgid "ATOF"
962 msgstr "ATOF"
963
964 #. type: TH
965 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33 build/C/man3/strtod.3:45
966 #: build/C/man3/strtoimax.3:24
967 #, no-wrap
968 msgid "2014-01-22"
969 msgstr "2014-01-22"
970
971 #. type: TH
972 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
973 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
974 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
975 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
976 #: build/C/man3/malloc.3:30 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
977 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
978 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
979 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
980 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
981 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
982 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
983 #: build/C/man3/wctomb.3:16
984 #, no-wrap
985 msgid "GNU"
986 msgstr "GNU"
987
988 #. type: Plain text
989 #: build/C/man3/atof.3:34
990 msgid "atof - convert a string to a double"
991 msgstr "atof - 文字列を double 型の数値に変換"
992
993 #. type: Plain text
994 #: build/C/man3/atof.3:39
995 #, no-wrap
996 msgid "B<double atof(const char *>I<nptr>B<);>\n"
997 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
998
999 #. type: Plain text
1000 #: build/C/man3/atof.3:47
1001 msgid ""
1002 "The B<atof>()  function converts the initial portion of the string pointed "
1003 "to by I<nptr> to I<double>.  The behavior is the same as"
1004 msgstr ""
1005 "B<atof>()  関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
1006 "型の数値に変換する。 この振る舞いは、 B<atof>()  関数がエラーを見つけないこと"
1007 "を除いては、"
1008
1009 #. type: Plain text
1010 #: build/C/man3/atof.3:50
1011 msgid "strtod(nptr, NULL);"
1012 msgstr "strtod(nptr, NULL);"
1013
1014 #. type: Plain text
1015 #: build/C/man3/atof.3:55
1016 msgid "except that B<atof>()  does not detect errors."
1017 msgstr "と同じである。"
1018
1019 #. type: Plain text
1020 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:93
1021 msgid "The converted value."
1022 msgstr "変換された値。"
1023
1024 #. type: Plain text
1025 #: build/C/man3/atof.3:65
1026 msgid ""
1027 "The B<atof>()  function is thread-safe with exceptions.  It can be safely "
1028 "used in multithreaded applications, as long as B<setlocale>(3)  is not "
1029 "called to change the locale during its execution."
1030 msgstr "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
1031
1032 #. type: Plain text
1033 #: build/C/man3/atof.3:67
1034 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1035 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1036
1037 #. type: Plain text
1038 #: build/C/man3/atof.3:73
1039 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1040 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1041
1042 #. type: TH
1043 #: build/C/man3/atoi.3:33
1044 #, no-wrap
1045 msgid "ATOI"
1046 msgstr "ATOI"
1047
1048 #. type: Plain text
1049 #: build/C/man3/atoi.3:36
1050 msgid "atoi, atol, atoll, atoq - convert a string to an integer"
1051 msgstr "atoi, atol, atoll, atoq - 文字列を整数型に変換する"
1052
1053 #. type: Plain text
1054 #: build/C/man3/atoi.3:41
1055 #, no-wrap
1056 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1057 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1058
1059 #. type: Plain text
1060 #: build/C/man3/atoi.3:43
1061 #, no-wrap
1062 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1063 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1064
1065 #. type: Plain text
1066 #: build/C/man3/atoi.3:45
1067 #, no-wrap
1068 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1069 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1070
1071 #. type: Plain text
1072 #: build/C/man3/atoi.3:47
1073 #, no-wrap
1074 msgid "B<long long atoq(const char *>I<nptr>B<);>\n"
1075 msgstr "B<long long atoq(const char *>I<nptr>B<);>\n"
1076
1077 #. type: Plain text
1078 #: build/C/man3/atoi.3:56
1079 msgid "B<atoll>():"
1080 msgstr "B<atoll>():"
1081
1082 #. type: Plain text
1083 #: build/C/man3/atoi.3:59
1084 msgid ""
1085 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1086 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1087 msgstr ""
1088 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1089 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1090
1091 #. type: Plain text
1092 #: build/C/man3/atoi.3:71
1093 msgid ""
1094 "The B<atoi>()  function converts the initial portion of the string pointed "
1095 "to by I<nptr> to I<int>.  The behavior is the same as"
1096 msgstr ""
1097 "B<atoi>()  関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1098 "整数に変換する。 この振る舞いは、 B<atoi>()  関数がエラーを見つけない点以外"
1099 "は、"
1100
1101 #. type: Plain text
1102 #: build/C/man3/atoi.3:74
1103 msgid "strtol(nptr, NULL, 10);"
1104 msgstr "strtol(nptr, NULL, 10);"
1105
1106 #. type: Plain text
1107 #: build/C/man3/atoi.3:79
1108 msgid "except that B<atoi>()  does not detect errors."
1109 msgstr "と同じである。"
1110
1111 #. type: Plain text
1112 #: build/C/man3/atoi.3:91
1113 msgid ""
1114 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
1115 "except that they convert the initial portion of the string to their return "
1116 "type of I<long> or I<long long>.  B<atoq>()  is an obsolete name for B<atoll>"
1117 "()."
1118 msgstr ""
1119 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
1120 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。 B<atoq>()  "
1121 "は B<atoll>()  の古い名前である。"
1122
1123 #. type: Plain text
1124 #: build/C/man3/atoi.3:105
1125 msgid ""
1126 "The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
1127 "exceptions.  These functions can be safely used in multithreaded "
1128 "applications, as long as B<setlocale>(3)  is not called to change the locale "
1129 "during their execution."
1130 msgstr "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
1131
1132 #. type: Plain text
1133 #: build/C/man3/atoi.3:115
1134 msgid ""
1135 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
1136 "B<atoi>()  and B<atol>()  only.  B<atoq>()  is a GNU extension."
1137 msgstr ""
1138 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 と POSIX.1-1996 には B<atoi>()  と "
1139 "B<atol>()  だけが含まれている。 B<atoq>()  は GNU による拡張である。"
1140
1141 #. type: Plain text
1142 #: build/C/man3/atoi.3:125
1143 msgid ""
1144 "The nonstandard B<atoq>()  function is not present in libc 4.6.27 or glibc "
1145 "2, but is present in libc5 and libc 4.7 (though only as an inline function "
1146 "in I<E<lt>stdlib.hE<gt>> until libc 5.4.44).  The B<atoll>()  function is "
1147 "present in glibc 2 since version 2.0.2, but not in libc4 or libc5."
1148 msgstr ""
1149 "非標準である B<atoq>()  関数は libc 4.6.27 や glibc 2 には含まれていないが、 "
1150 "libc5 と libc 4.7 には存在している (ただし libc 5.4.44 までは I<E<lt>stdlib."
1151 "hE<gt>> のインライン関数のみである)。 B<atoll>()  関数は glibc 2 のバージョ"
1152 "ン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。"
1153
1154 #. type: Plain text
1155 #: build/C/man3/atoi.3:130
1156 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1157 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1158
1159 #. type: TH
1160 #: build/C/man3/canonicalize_file_name.3:26
1161 #, no-wrap
1162 msgid "CANONICALIZE_FILE_NAME"
1163 msgstr "CANONICALIZE_FILE_NAME"
1164
1165 #. type: TH
1166 #: build/C/man3/canonicalize_file_name.3:26
1167 #, no-wrap
1168 msgid "2013-05-11"
1169 msgstr "2013-05-11"
1170
1171 #. type: Plain text
1172 #: build/C/man3/canonicalize_file_name.3:29
1173 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1174 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1175
1176 #. type: Plain text
1177 #: build/C/man3/canonicalize_file_name.3:31
1178 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1179 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1180
1181 #. type: Plain text
1182 #: build/C/man3/canonicalize_file_name.3:35
1183 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1184 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1185
1186 #. type: Plain text
1187 #: build/C/man3/canonicalize_file_name.3:49
1188 msgid ""
1189 "The B<canonicalize_file_name>()  function returns a null-terminated string "
1190 "containing the canonicalized absolute pathname corresponding to I<path>.  In "
1191 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
1192 "pathname components.  Consecutive slash (I</>)  characters are replaced by a "
1193 "single slash."
1194 msgstr ""
1195 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1196 "示す NULL 終端された文字列を返す。返された文字列では、シンボリックリンクや、"
1197 "パス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字は"
1198 "スラッシュ一つに置換される。"
1199
1200 #. type: Plain text
1201 #: build/C/man3/canonicalize_file_name.3:55
1202 msgid ""
1203 "The returned string is dynamically allocated by B<canonicalize_file_name>()  "
1204 "and the caller should deallocate it with B<free>(3)  when it is no longer "
1205 "required."
1206 msgstr ""
1207 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1208 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1209
1210 #. type: Plain text
1211 #: build/C/man3/canonicalize_file_name.3:59
1212 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1213 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1214
1215 #. type: Plain text
1216 #: build/C/man3/canonicalize_file_name.3:61
1217 #, no-wrap
1218 msgid "    realpath(path, NULL);\n"
1219 msgstr "    realpath(path, NULL);\n"
1220
1221 #. type: Plain text
1222 #: build/C/man3/canonicalize_file_name.3:70
1223 msgid ""
1224 "On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
1225 "On error (e.g., a pathname component is unreadable or does not exist), "
1226 "B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
1227 "error."
1228 msgstr ""
1229 "成功すると、 B<canonicalize_file_name>() は NULL 終端された文字列を返す。エ"
1230 "ラーの場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれてい"
1231 "る場合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー"
1232 "内容を示す値を設定する。"
1233
1234 #. type: SH
1235 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1236 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1237 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1238 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1239 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:156
1240 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1241 #, no-wrap
1242 msgid "ERRORS"
1243 msgstr "エラー"
1244
1245 #. type: Plain text
1246 #: build/C/man3/canonicalize_file_name.3:73
1247 msgid "See B<realpath>(3)."
1248 msgstr "B<realpath>(3) 参照。"
1249
1250 #. type: Plain text
1251 #: build/C/man3/canonicalize_file_name.3:75
1252 msgid "This function is a GNU extension."
1253 msgstr "この関数は GNU による拡張である。"
1254
1255 #. type: Plain text
1256 #: build/C/man3/canonicalize_file_name.3:78
1257 msgid "B<readlink>(2), B<realpath>(3)"
1258 msgstr "B<readlink>(2), B<realpath>(3)"
1259
1260 #. type: TH
1261 #: build/C/man3/cfree.3:24
1262 #, no-wrap
1263 msgid "CFREE"
1264 msgstr "CFREE"
1265
1266 #. type: TH
1267 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1268 #, no-wrap
1269 msgid "2007-07-26"
1270 msgstr "2007-07-26"
1271
1272 #. type: Plain text
1273 #: build/C/man3/cfree.3:27
1274 msgid "cfree - free allocated memory"
1275 msgstr "cfree - 割り当てられたメモリを解放する"
1276
1277 #. type: Plain text
1278 #: build/C/man3/cfree.3:34
1279 #, no-wrap
1280 msgid ""
1281 "/* In SunOS 4 */\n"
1282 "B<int cfree(void *>I<ptr>B<);>\n"
1283 msgstr ""
1284 "/* SunOS 4 では */\n"
1285 "B<int cfree(void *>I<ptr>B<);>\n"
1286
1287 #. type: Plain text
1288 #: build/C/man3/cfree.3:37
1289 #, no-wrap
1290 msgid ""
1291 "/* In glibc or FreeBSD libcompat */\n"
1292 "B<void cfree(void *>I<ptr>B<);>\n"
1293 msgstr ""
1294 "/* glibc と FreeBSD libcompat では */\n"
1295 "B<void cfree(void *>I<ptr>B<);>\n"
1296
1297 #. type: Plain text
1298 #: build/C/man3/cfree.3:40
1299 #, no-wrap
1300 msgid ""
1301 "/* In SCO OpenServer */\n"
1302 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1303 msgstr ""
1304 "/* SCO OpenServer では */\n"
1305 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1306
1307 #. type: Plain text
1308 #: build/C/man3/cfree.3:43
1309 #, no-wrap
1310 msgid ""
1311 "/* In Solaris watchmalloc.so.1 */\n"
1312 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1313 msgstr ""
1314 "/* Solaris watchmalloc.so.1 では */\n"
1315 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1316
1317 #. type: Plain text
1318 #: build/C/man3/cfree.3:52
1319 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1320 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1321
1322 #. type: Plain text
1323 #: build/C/man3/cfree.3:57
1324 msgid "This function should never be used.  Use B<free>(3)  instead."
1325 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3)  を使うこと。"
1326
1327 #. type: SS
1328 #: build/C/man3/cfree.3:57
1329 #, no-wrap
1330 msgid "1-arg cfree"
1331 msgstr "引き数が 1 つの cfree"
1332
1333 #. type: Plain text
1334 #: build/C/man3/cfree.3:63
1335 msgid ""
1336 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
1337 "compatibility with SunOS\"."
1338 msgstr ""
1339 "glibc では、関数 B<cfree>()  は B<free>(3)  の別名であり、「SunOS との互換性"
1340 "のために追加された」。"
1341
1342 #. type: Plain text
1343 #: build/C/man3/cfree.3:69
1344 msgid ""
1345 "Other systems have other functions with this name.  The declaration is "
1346 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1347 msgstr ""
1348 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1349 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1350
1351 #. type: SS
1352 #: build/C/man3/cfree.3:69
1353 #, no-wrap
1354 msgid "3-arg cfree"
1355 msgstr "引き数が 3 つの cfree"
1356
1357 #. type: Plain text
1358 #: build/C/man3/cfree.3:74
1359 msgid ""
1360 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1361 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1362 msgstr ""
1363 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>()  が含"
1364 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3)  に類似してい"
1365 "る。"
1366
1367 #. type: Plain text
1368 #: build/C/man3/cfree.3:76
1369 msgid "If you need it while porting something, add"
1370 msgstr "何かを移植する時にこの関数が必要な場合、"
1371
1372 #. type: Plain text
1373 #: build/C/man3/cfree.3:79
1374 msgid "#define cfree(p, n, s) free((p))"
1375 msgstr "#define cfree(p, n, s) free((p))"
1376
1377 #. type: Plain text
1378 #: build/C/man3/cfree.3:82
1379 msgid "to your file."
1380 msgstr "をファイルに追加すること。"
1381
1382 #. type: Plain text
1383 #: build/C/man3/cfree.3:91
1384 msgid ""
1385 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
1386 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use B<free>"
1387 "(3)."
1388 msgstr ""
1389 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリを解放するのに "
1390 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
1391 "というものである。 答え: B<free>(3)  を使うこと。"
1392
1393 #. type: Plain text
1394 #: build/C/man3/cfree.3:96
1395 msgid ""
1396 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1397 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
1398 "are not used.\""
1399 msgstr ""
1400 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1401 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1402 "num と size 引き数は使用されない。」"
1403
1404 #. type: Plain text
1405 #: build/C/man3/cfree.3:112
1406 msgid ""
1407 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
1408 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
1409 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1410 "allocated by one of the routines in the B<malloc>(3)  family."
1411 msgstr ""
1412 "SunOS 版の B<cfree>()  (B<free>(3)  の別名) は、成功した場合に 1 を返し、失敗"
1413 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1414 "I<ptr> の値が B<malloc>()  系のルーチンの 1 つで以前に割り当てられた ブロック"
1415 "へのポインタでない。"
1416
1417 #. type: Plain text
1418 #: build/C/man3/cfree.3:117
1419 msgid ""
1420 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1421 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1422 msgstr ""
1423 "SCO で用いられている引き数が 3 つの B<cfree>()  は、iBCSe2 規格: Intel386 "
1424 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1425 "2 版) に準拠する。"
1426
1427 #. type: Plain text
1428 #: build/C/man3/cfree.3:119
1429 msgid "B<malloc>(3)"
1430 msgstr "B<malloc>(3)"
1431
1432 #. type: TH
1433 #: build/C/man3/clearenv.3:26
1434 #, no-wrap
1435 msgid "CLEARENV"
1436 msgstr "CLEARENV"
1437
1438 #. type: TH
1439 #: build/C/man3/clearenv.3:26
1440 #, no-wrap
1441 msgid "2010-10-04"
1442 msgstr "2010-10-04"
1443
1444 #. type: Plain text
1445 #: build/C/man3/clearenv.3:29
1446 msgid "clearenv - clear the environment"
1447 msgstr "clearenv - 環境 (environment) をクリアする"
1448
1449 #. type: Plain text
1450 #: build/C/man3/clearenv.3:34
1451 #, no-wrap
1452 msgid "B<int clearenv(void);>\n"
1453 msgstr "B<int clearenv(void);>\n"
1454
1455 #. type: Plain text
1456 #: build/C/man3/clearenv.3:43
1457 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1458 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1459
1460 #. type: Plain text
1461 #: build/C/man3/clearenv.3:50
1462 msgid ""
1463 "The B<clearenv>()  function clears the environment of all name-value pairs "
1464 "and sets the value of the external variable I<environ> to NULL."
1465 msgstr ""
1466 "B<clearenv>()  関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1467 "部変数 I<environ> の値を NULL にする。"
1468
1469 #.  Most versions of UNIX return -1 on error, or do not even have errors.
1470 #.  Glibc info and the Watcom C library document "a nonzero value".
1471 #. type: Plain text
1472 #: build/C/man3/clearenv.3:57
1473 msgid ""
1474 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1475 "failure."
1476 msgstr ""
1477 "B<clearenv>()  関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1478 "す。"
1479
1480 #. type: SH
1481 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:183
1482 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1483 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1484 #, no-wrap
1485 msgid "VERSIONS"
1486 msgstr "バージョン"
1487
1488 #. type: Plain text
1489 #: build/C/man3/clearenv.3:60
1490 msgid "Not in libc4, libc5.  In glibc since glibc 2.0."
1491 msgstr "libc4, libc5 では使用できない。 glibc 2.0 以降の glibc で使用できる。"
1492
1493 #. type: Plain text
1494 #: build/C/man3/clearenv.3:74
1495 msgid ""
1496 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
1497 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
1498 "but changed its mind and scheduled these functions for some later issue of "
1499 "this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
1500 "and rejected B<clearenv>()."
1501 msgstr ""
1502 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1503 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>()  と B<putenv>(3)  は採用さ"
1504 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1505 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
1506 "れ、 B<clearenv>()  の追加は否決された。"
1507
1508 #. type: Plain text
1509 #: build/C/man3/clearenv.3:78
1510 msgid ""
1511 "Used in security-conscious applications.  If it is unavailable the assignment"
1512 msgstr ""
1513 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1514 "きない場合は、"
1515
1516 #. type: Plain text
1517 #: build/C/man3/clearenv.3:81
1518 #, no-wrap
1519 msgid "    environ = NULL;\n"
1520 msgstr "    environ = NULL;\n"
1521
1522 #. type: Plain text
1523 #: build/C/man3/clearenv.3:84
1524 msgid "will probably do."
1525 msgstr "というように変数 environ を設定すればよい。"
1526
1527 #.  .LP
1528 #.  HP-UX has a ENOMEM error return.
1529 #. type: Plain text
1530 #: build/C/man3/clearenv.3:97
1531 msgid ""
1532 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1533 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
1534 "functions, then B<clearenv>()  will return an error and the process "
1535 "environment will remain unchanged."
1536 msgstr ""
1537 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が B<putenv>"
1538 "(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 B<clearenv>()  "
1539 "はエラーを返し、プロセス環境は変更前のままにされる。"
1540
1541 #. type: Plain text
1542 #: build/C/man3/clearenv.3:103
1543 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1544 msgstr ""
1545 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1546
1547 #. type: TH
1548 #: build/C/man3/drand48.3:30
1549 #, no-wrap
1550 msgid "DRAND48"
1551 msgstr "DRAND48"
1552
1553 #. type: Plain text
1554 #: build/C/man3/drand48.3:34
1555 msgid ""
1556 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1557 "lcong48 - generate uniformly distributed pseudo-random numbers"
1558 msgstr ""
1559 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1560 "lcong48 - 一様分布する疑似乱数を生成する関数"
1561
1562 #. type: Plain text
1563 #: build/C/man3/drand48.3:39
1564 #, no-wrap
1565 msgid "B<double drand48(void);>\n"
1566 msgstr "B<double drand48(void);>\n"
1567
1568 #. type: Plain text
1569 #: build/C/man3/drand48.3:41
1570 #, no-wrap
1571 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1572 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1573
1574 #. type: Plain text
1575 #: build/C/man3/drand48.3:43
1576 #, no-wrap
1577 msgid "B<long int lrand48(void);>\n"
1578 msgstr "B<long int lrand48(void);>\n"
1579
1580 #. type: Plain text
1581 #: build/C/man3/drand48.3:45
1582 #, no-wrap
1583 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1584 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1585
1586 #. type: Plain text
1587 #: build/C/man3/drand48.3:47
1588 #, no-wrap
1589 msgid "B<long int mrand48(void);>\n"
1590 msgstr "B<long int mrand48(void);>\n"
1591
1592 #. type: Plain text
1593 #: build/C/man3/drand48.3:49
1594 #, no-wrap
1595 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1596 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1597
1598 #. type: Plain text
1599 #: build/C/man3/drand48.3:51
1600 #, no-wrap
1601 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1602 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1603
1604 #. type: Plain text
1605 #: build/C/man3/drand48.3:53
1606 #, no-wrap
1607 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1608 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1609
1610 #. type: Plain text
1611 #: build/C/man3/drand48.3:55
1612 #, no-wrap
1613 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1614 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1615
1616 #.  .BR drand48 (),
1617 #.  .BR erand48 (),
1618 #.  .BR lrand48 (),
1619 #.  .BR nrand48 (),
1620 #.  .BR mrand48 (),
1621 #.  .BR jrand48 (),
1622 #.  .BR srand48 (),
1623 #.  .BR seed48 (),
1624 #.  .BR lcong48 ():
1625 #. type: Plain text
1626 #: build/C/man3/drand48.3:74
1627 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1628 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1629
1630 #. type: Plain text
1631 #: build/C/man3/drand48.3:78
1632 msgid ""
1633 "These functions generate pseudo-random numbers using the linear congruential "
1634 "algorithm and 48-bit integer arithmetic."
1635 msgstr ""
1636 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1637 "する。"
1638
1639 #. type: Plain text
1640 #: build/C/man3/drand48.3:86
1641 msgid ""
1642 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
1643 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1644 msgstr ""
1645 "関数 B<drand48>()  と B<erand48>()  は、区間 [0.0, 1.0) で 一様分布する非負の"
1646 "倍精度浮動小数点実数値を返す。"
1647
1648 #. type: Plain text
1649 #: build/C/man3/drand48.3:93
1650 msgid ""
1651 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1652 "integers uniformly distributed between 0 and 2^31."
1653 msgstr ""
1654 "関数 B<lrand48>()  と B<nrand48>()  は 0 と 2^31 の間で一様分布する 非負のロ"
1655 "ング整数を返す。"
1656
1657 #. type: Plain text
1658 #: build/C/man3/drand48.3:100
1659 msgid ""
1660 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1661 "uniformly distributed between -2^31 and 2^31."
1662 msgstr ""
1663 "関数 B<mrand48>()  と B<jrand48>()  は -2^31 と 2^31 の間で一様分布する符号付"
1664 "きロング整数を返す。"
1665
1666 #. type: Plain text
1667 #: build/C/man3/drand48.3:119
1668 msgid ""
1669 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
1670 "initialization functions, one of which should be called before using "
1671 "B<drand48>(), B<lrand48>()  or B<mrand48>().  The functions B<erand48>(), "
1672 "B<nrand48>()  and B<jrand48>()  do not require an initialization function to "
1673 "be called first."
1674 msgstr ""
1675 "関数 B<srand48>(), B<seed48>(), B<lcong48>()  は初期化関数 である。 関数 "
1676 "B<drand48>(), B<lrand48>(), B<mrand48>()  を 使用する前に、これらの初期化関数"
1677 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>()  "
1678 "は初めに 初期化関数を呼ぶことを必要としない。"
1679
1680 #. type: Plain text
1681 #: build/C/man3/drand48.3:123
1682 msgid ""
1683 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1684 "according to the linear congruential formula:"
1685 msgstr ""
1686 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1687 "ることで 機能している。生成方法は以下の線形合同の式による。"
1688
1689 #. type: Plain text
1690 #: build/C/man3/drand48.3:127
1691 #, no-wrap
1692 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1693 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1694
1695 #. type: Plain text
1696 #: build/C/man3/drand48.3:140
1697 msgid ""
1698 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
1699 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
1700 msgstr ""
1701 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1702 "演算が行われている。 B<lcong48>()  が呼ばれていない場合、I<a> と I<c> は以下"
1703 "の式で与えられる。"
1704
1705 #. type: Plain text
1706 #: build/C/man3/drand48.3:145
1707 #, no-wrap
1708 msgid ""
1709 "B<a = 0x5DEECE66D>\n"
1710 "B<c = 0xB>\n"
1711 msgstr ""
1712 "B<a = 0x5DEECE66D>\n"
1713 "B<c = 0xB>\n"
1714
1715 #. type: Plain text
1716 #: build/C/man3/drand48.3:165
1717 msgid ""
1718 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1719 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
1720 "first generating the next 48-bit I<Xi> in the sequence.  Then the "
1721 "appropriate number of bits, according to the type of data item to be "
1722 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1723 "the returned value."
1724 msgstr ""
1725 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1726 "B<jrand48>()  で返される値は次のようにして計算される。 はじめに、次の48ビット"
1727 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1728 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1729
1730 #. type: Plain text
1731 #: build/C/man3/drand48.3:191
1732 msgid ""
1733 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
1734 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
1735 "B<nrand48>()  and B<jrand48>()  require the calling program to provide "
1736 "storage for the successive I<Xi> values in the array argument I<xsubi>.  The "
1737 "functions are initialized by placing the initial value of I<Xi> into the "
1738 "array before calling the function for the first time."
1739 msgstr ""
1740 "関数 B<drand48>(), B<lrand48>(), B<mrand48>()  は 最後に生成された48ビットの "
1741 "I<Xi> を内部バッファに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値"
1742 "を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1743 "B<jrand48>()  は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1744 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1745
1746 #. type: Plain text
1747 #: build/C/man3/drand48.3:200
1748 msgid ""
1749 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
1750 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
1751 "value 0x330E."
1752 msgstr ""
1753 "初期化関数 B<srand48>()  は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1754 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1755
1756 #. type: Plain text
1757 #: build/C/man3/drand48.3:214
1758 msgid ""
1759 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
1760 "value specified in the array argument I<seed16v>.  The previous value of "
1761 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1762 "returned by B<seed48>()."
1763 msgstr ""
1764 "初期化関数 B<seed48>()  は、I<Xi> の値を、 配列の形をした引数である "
1765 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1766 "ファにコピーされ、このバッファへのポインタが B<seed48>()  によって返される。"
1767
1768 #. type: Plain text
1769 #: build/C/man3/drand48.3:245
1770 msgid ""
1771 "The initialization function B<lcong48>()  allows the user to specify initial "
1772 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
1773 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
1774 "After B<lcong48>()  has been called, a subsequent call to either B<srand48>"
1775 "()  or B<seed48>()  will restore the standard values of I<a> and I<c>."
1776 msgstr ""
1777 "初期化関数 B<lcong48>()  は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1778 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1779 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1780 "B<lcong48>()  が呼ばれた後で、 B<srand48>()  か B<seed48>()  を呼ぶと、前述"
1781 "の I<a> と I<c> の 標準値が再び設定される。"
1782
1783 #. type: Plain text
1784 #: build/C/man3/drand48.3:260
1785 msgid ""
1786 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1787 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
1788 "global state information for the random number generator, so they are not "
1789 "thread-safe."
1790 msgstr ""
1791 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1792 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1793 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1794 "ない。"
1795
1796 #. type: Plain text
1797 #: build/C/man3/drand48.3:262
1798 msgid "SVr4, POSIX.1-2001."
1799 msgstr "SVr4, POSIX.1-2001."
1800
1801 #. type: Plain text
1802 #: build/C/man3/drand48.3:266
1803 msgid ""
1804 "These functions are declared obsolete by SVID 3, which states that B<rand>"
1805 "(3)  should be used instead."
1806 msgstr ""
1807 "SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 では B<rand>(3)  "
1808 "が代わりに使用されるべきだと記述されている。"
1809
1810 #. type: Plain text
1811 #: build/C/man3/drand48.3:269
1812 msgid "B<rand>(3), B<random>(3)"
1813 msgstr "B<rand>(3), B<random>(3)"
1814
1815 #. type: TH
1816 #: build/C/man3/drand48_r.3:27
1817 #, no-wrap
1818 msgid "DRAND48_R"
1819 msgstr "DRAND48_R"
1820
1821 #. type: TH
1822 #: build/C/man3/drand48_r.3:27
1823 #, no-wrap
1824 msgid "2013-09-09"
1825 msgstr "2013-09-09"
1826
1827 #. type: Plain text
1828 #: build/C/man3/drand48_r.3:32
1829 msgid ""
1830 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1831 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1832 "reentrantly"
1833 msgstr ""
1834 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1835 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1836 "する"
1837
1838 #. type: Plain text
1839 #: build/C/man3/drand48_r.3:37
1840 #, no-wrap
1841 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1842 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1843
1844 #. type: Plain text
1845 #: build/C/man3/drand48_r.3:39
1846 #, no-wrap
1847 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1848 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1849
1850 #. type: Plain text
1851 #: build/C/man3/drand48_r.3:41
1852 #, no-wrap
1853 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1854 msgstr "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1855
1856 #. type: Plain text
1857 #: build/C/man3/drand48_r.3:43
1858 #, no-wrap
1859 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1860 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1861
1862 #. type: Plain text
1863 #: build/C/man3/drand48_r.3:45
1864 #, no-wrap
1865 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1866 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1867
1868 #. type: Plain text
1869 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1870 #, no-wrap
1871 msgid "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1872 msgstr "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1873
1874 #. type: Plain text
1875 #: build/C/man3/drand48_r.3:49
1876 #, no-wrap
1877 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1878 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1879
1880 #. type: Plain text
1881 #: build/C/man3/drand48_r.3:51
1882 #, no-wrap
1883 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1884 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1885
1886 #. type: Plain text
1887 #: build/C/man3/drand48_r.3:55
1888 #, no-wrap
1889 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1890 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1891
1892 #. type: Plain text
1893 #: build/C/man3/drand48_r.3:57
1894 #, no-wrap
1895 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1896 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1897
1898 #. type: Plain text
1899 #: build/C/man3/drand48_r.3:59
1900 #, no-wrap
1901 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1902 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1903
1904 #. type: Plain text
1905 #: build/C/man3/drand48_r.3:61
1906 #, no-wrap
1907 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1908 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1909
1910 #. type: Plain text
1911 #: build/C/man3/drand48_r.3:63
1912 #, no-wrap
1913 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1914 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1915
1916 #.  .BR drand48_r (),
1917 #.  .BR erand48_r (),
1918 #.  .BR lrand48_r (),
1919 #.  .BR nrand48_r (),
1920 #.  .BR mrand48_r (),
1921 #.  .BR jrand48_r (),
1922 #.  .BR srand48_r (),
1923 #.  .BR seed48_r (),
1924 #.  .BR lcong48_r ():
1925 #. type: Plain text
1926 #: build/C/man3/drand48_r.3:82
1927 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1928 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1929
1930 #. type: Plain text
1931 #: build/C/man3/drand48_r.3:89
1932 msgid ""
1933 "These functions are the reentrant analogs of the functions described in "
1934 "B<drand48>(3).  Instead of modifying the global random generator state, they "
1935 "use the supplied data I<buffer>."
1936 msgstr ""
1937 "これらの関数は B<drand48>(3)  で説明されている関数に類似するリエントラントな"
1938 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1939 "れたデータ I<buffer> を使う。"
1940
1941 #. type: Plain text
1942 #: build/C/man3/drand48_r.3:96
1943 msgid ""
1944 "Before the first use, this struct must be initialized, for example, by "
1945 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1946 "B<seed48_r>(), or B<lcong48_r>()."
1947 msgstr ""
1948 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1949 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>()  のいずれ"
1950 "かを呼び出すことによって行われる。"
1951
1952 #. type: Plain text
1953 #: build/C/man3/drand48_r.3:98
1954 msgid "The return value is 0."
1955 msgstr "返り値は 0 である。"
1956
1957 #. type: Plain text
1958 #: build/C/man3/drand48_r.3:112
1959 msgid ""
1960 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1961 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1962 "B<lcong48_r>()  functions are thread-safe."
1963 msgstr ""
1964 "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1965 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), B<lcong48_r>"
1966 "() はスレッドセーフである。"
1967
1968 #. type: Plain text
1969 #: build/C/man3/drand48_r.3:114
1970 msgid "These functions are GNU extensions and are not portable."
1971 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1972
1973 #. type: Plain text
1974 #: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:136
1975 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1976 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1977
1978 #. type: TH
1979 #: build/C/man3/ecvt.3:32
1980 #, no-wrap
1981 msgid "ECVT"
1982 msgstr "ECVT"
1983
1984 #. type: TH
1985 #: build/C/man3/ecvt.3:32
1986 #, no-wrap
1987 msgid "2013-07-04"
1988 msgstr "2013-07-04"
1989
1990 #. type: Plain text
1991 #: build/C/man3/ecvt.3:35
1992 msgid "ecvt, fcvt - convert a floating-point number to a string"
1993 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1994
1995 #. type: Plain text
1996 #: build/C/man3/ecvt.3:40
1997 msgid ""
1998 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1999 "B<int *>I<sign>B<);>"
2000 msgstr ""
2001 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2002 "B<int *>I<sign>B<);>"
2003
2004 #. type: Plain text
2005 #: build/C/man3/ecvt.3:43
2006 msgid ""
2007 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2008 "B<int *>I<sign>B<);>"
2009 msgstr ""
2010 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2011 "B<int *>I<sign>B<);>"
2012
2013 #. type: Plain text
2014 #: build/C/man3/ecvt.3:51
2015 msgid "B<ecvt>(), B<fcvt>():"
2016 msgstr "B<ecvt>(), B<fcvt>():"
2017
2018 #. type: TP
2019 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
2020 #, no-wrap
2021 msgid "Since glibc 2.12:"
2022 msgstr "glibc 2.12 以降:"
2023
2024 #. type: Plain text
2025 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
2026 #, no-wrap
2027 msgid ""
2028 "_SVID_SOURCE ||\n"
2029 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2030 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2031 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2032 msgstr ""
2033 "_SVID_SOURCE ||\n"
2034 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2035 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2036 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2037
2038 #. type: TP
2039 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
2040 #, no-wrap
2041 msgid "Before glibc 2.12:"
2042 msgstr "glibc 2.12 より前:"
2043
2044 #. type: Plain text
2045 #: build/C/man3/ecvt.3:92
2046 msgid ""
2047 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
2048 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
2049 "determined by the precision of a I<double>), and returns a pointer to the "
2050 "string.  The high-order digit is nonzero, unless I<number> is zero.  The low "
2051 "order digit is rounded.  The string itself does not contain a decimal point; "
2052 "however, the position of the decimal point relative to the start of the "
2053 "string is stored in I<*decpt>.  A negative value for I<*decpt> means that "
2054 "the decimal point is to the left of the start of the string.  If the sign of "
2055 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
2056 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
2057 "1."
2058 msgstr ""
2059 "関数 B<ecvt>()  は I<number> を NUL 文字で終端された I<ndigits> 文字の文字列"
2060 "へ変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によっ"
2061 "て決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の"
2062 "値となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁"
2063 "は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの"
2064 "小数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文"
2065 "字列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
2066 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
2067 "ら、I<*decpt> が 0 か 1 かは未規定である。"
2068
2069 #. type: Plain text
2070 #: build/C/man3/ecvt.3:99
2071 msgid ""
2072 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
2073 "specifies the number of digits after the decimal point."
2074 msgstr ""
2075 "関数 B<fcvt>()  は B<ecvt>()  と同じ機能を持つが、I<ndigits> は小数点以下の文"
2076 "字数を指定する。"
2077
2078 #. type: Plain text
2079 #: build/C/man3/ecvt.3:110
2080 msgid ""
2081 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
2082 "string containing the ASCII representation of I<number>.  The static string "
2083 "is overwritten by each call to B<ecvt>()  or B<fcvt>()."
2084 msgstr ""
2085 "関数 B<ecvt>()  と B<fcvt>()  は I<number> の ASCII 表現を含む 静的な領域内の"
2086 "文字列へのポインタを返す。 この文字列は B<ecvt>()  や B<fcvt>()  の呼び出しの"
2087 "たびに上書きされる。"
2088
2089 #. type: Plain text
2090 #: build/C/man3/ecvt.3:117
2091 msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
2092 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
2093
2094 #. type: Plain text
2095 #: build/C/man3/ecvt.3:129
2096 msgid ""
2097 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
2098 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
2099 "B<sprintf>(3)  instead (though B<snprintf>(3)  may be preferable)."
2100 msgstr ""
2101 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2102 "POSIX.1-2008 では B<ecvt>()  と B<fcvt>()  の仕様が削除され、代わりに "
2103 "B<sprintf>(3)  の使用が推奨されている(しかし B<snprintf>(3)  がより適切かもし"
2104 "れない)。"
2105
2106 #. type: Plain text
2107 #: build/C/man3/ecvt.3:135
2108 msgid ""
2109 "Linux libc4 and libc5 specified the type of I<ndigits> as I<size_t>.  Not "
2110 "all locales use a point as the radix character (\"decimal point\")."
2111 msgstr ""
2112 "Linux libc4 と libc5 では I<ndigits> の型は I<size_t> となっていた。 小数点に"
2113 "ピリオドを使わないロケールもある。"
2114
2115 #. type: Plain text
2116 #: build/C/man3/ecvt.3:141
2117 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2118 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2119
2120 #. type: TH
2121 #: build/C/man3/ecvt_r.3:30
2122 #, no-wrap
2123 msgid "ECVT_R"
2124 msgstr "ECVT_R"
2125
2126 #. type: Plain text
2127 #: build/C/man3/ecvt_r.3:33
2128 msgid ""
2129 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2130 "string"
2131 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2132
2133 #. type: Plain text
2134 #: build/C/man3/ecvt_r.3:39
2135 #, no-wrap
2136 msgid ""
2137 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2138 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2139 msgstr ""
2140 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2141 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2142
2143 #. type: Plain text
2144 #: build/C/man3/ecvt_r.3:42
2145 #, no-wrap
2146 msgid ""
2147 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2148 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2149 msgstr ""
2150 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2151 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2152
2153 #. type: Plain text
2154 #: build/C/man3/ecvt_r.3:45
2155 #, no-wrap
2156 msgid ""
2157 "B<int qecvt_r(long 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 qecvt_r(long 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:48
2165 #, no-wrap
2166 msgid ""
2167 "B<int qfcvt_r(long 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 qfcvt_r(long 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:60
2175 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2176 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2177
2178 #. type: Plain text
2179 #: build/C/man3/ecvt_r.3:62
2180 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2181 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2182
2183 #. type: Plain text
2184 #: build/C/man3/ecvt_r.3:86
2185 msgid ""
2186 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>()  and B<qfcvt_r>()  are "
2187 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3)  and B<qfcvt>(3), "
2188 "respectively, except that they do not return their result in a static "
2189 "buffer, but instead use the supplied I<buf> of size I<len>.  See B<ecvt>(3)  "
2190 "and B<qecvt>(3)."
2191 msgstr ""
2192 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>()  は、それぞれ "
2193 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3)  と同じであるが、 静的バッ"
2194 "ファの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 "
2195 "B<ecvt>(3), B<qecvt>(3)  を参照のこと。"
2196
2197 #. type: Plain text
2198 #: build/C/man3/ecvt_r.3:88
2199 msgid "These functions return 0 on success, and -1 otherwise."
2200 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2201
2202 #. type: Plain text
2203 #: build/C/man3/ecvt_r.3:90
2204 msgid "These functions are GNU extensions."
2205 msgstr "これらの関数は GNU による拡張である。"
2206
2207 #. type: Plain text
2208 #: build/C/man3/ecvt_r.3:95
2209 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
2210 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3)  の使用を推奨する。"
2211
2212 #. type: Plain text
2213 #: build/C/man3/ecvt_r.3:99
2214 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2215 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2216
2217 #. type: TH
2218 #: build/C/man3/exit.3:29
2219 #, no-wrap
2220 msgid "EXIT"
2221 msgstr "EXIT"
2222
2223 #. type: TH
2224 #: build/C/man3/exit.3:29
2225 #, no-wrap
2226 msgid "2013-02-14"
2227 msgstr "2013-02-14"
2228
2229 #. type: Plain text
2230 #: build/C/man3/exit.3:32
2231 msgid "exit - cause normal process termination"
2232 msgstr "exit - プロセスの正常終了"
2233
2234 #. type: Plain text
2235 #: build/C/man3/exit.3:37
2236 #, no-wrap
2237 msgid "B<void exit(int >I<status>B<);>\n"
2238 msgstr "B<void exit(int >I<status>B<);>\n"
2239
2240 #. type: Plain text
2241 #: build/C/man3/exit.3:45
2242 msgid ""
2243 "The B<exit>()  function causes normal process termination and the value of "
2244 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2245 msgstr ""
2246 "B<exit>()  関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2247 "ロセスへ返す (B<wait>(2)  を参照)。"
2248
2249 #. type: Plain text
2250 #: build/C/man3/exit.3:72
2251 msgid ""
2252 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
2253 "in the reverse order of their registration.  (It is possible for one of "
2254 "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
2255 "additional function to be executed during exit processing; the new "
2256 "registration is added to the front of the list of functions that remain to "
2257 "be called.)  If one of these functions does not return (e.g., it calls "
2258 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2259 "functions is called, and further exit processing (in particular, flushing of "
2260 "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
2261 "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
2262 "many times as it was registered."
2263 msgstr ""
2264 "B<atexit>(3)  や B<on_exit>(3)  によって 登録された全ての関数は、それらが登録"
2265 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3)  or "
2266 "B<on_exit>(3)  を使って exit 処理中に実行される追加の関数を登録することができ"
2267 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2268 "る。)  これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2)  "
2269 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2270 "出されず、それ以降の exit 処理 (特に B<stdio>(3)  ストリームのフラッシュな"
2271 "ど) は中止される。 ある関数が B<atexit>(3)  や B<on_exit>(3)  を使って複数回"
2272 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2273
2274 #. type: Plain text
2275 #: build/C/man3/exit.3:79
2276 msgid ""
2277 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
2278 "B<tmpfile>(3)  are removed."
2279 msgstr ""
2280 "オープン中の B<stdio>(3)  ストリームは全てフラッシュされて、クローズされる。 "
2281 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
2282
2283 #. type: Plain text
2284 #: build/C/man3/exit.3:86
2285 msgid ""
2286 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2287 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
2288 "termination, respectively."
2289 msgstr ""
2290 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2291 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>()  として渡すことができ"
2292 "る。"
2293
2294 #. type: Plain text
2295 #: build/C/man3/exit.3:90
2296 msgid "The B<exit>()  function does not return."
2297 msgstr "B<exit>()  関数は返らない。"
2298
2299 #. type: Plain text
2300 #: build/C/man3/exit.3:92
2301 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2302 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2303
2304 #. type: Plain text
2305 #: build/C/man3/exit.3:109
2306 msgid ""
2307 "It is undefined what happens if one of the functions registered using "
2308 "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
2309 "Note that a call to B<execve>(2)  removes registrations created using "
2310 "B<atexit>(3)  and B<on_exit>(3)."
2311 msgstr ""
2312 "B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>() か "
2313 "B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。 B<execve>"
2314 "(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された関数が削除"
2315 "される点に注意すること。"
2316
2317 #. type: Plain text
2318 #: build/C/man3/exit.3:118
2319 msgid ""
2320 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2321 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2322 "-1.  In particular, VMS uses a different convention."
2323 msgstr ""
2324 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2325 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2326 "VMS は別の方式を用いている。"
2327
2328 #. type: Plain text
2329 #: build/C/man3/exit.3:121
2330 msgid ""
2331 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2332 "hE<gt>>."
2333 msgstr ""
2334 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2335 "こと。"
2336
2337 #. type: Plain text
2338 #: build/C/man3/exit.3:146
2339 msgid ""
2340 "After B<exit>(), the exit status must be transmitted to the parent process.  "
2341 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
2342 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
2343 "parent was waiting on the child it is notified of the exit status.  In both "
2344 "cases the exiting process dies immediately.  If the parent has not indicated "
2345 "that it is not interested in the exit status, but is not waiting, the "
2346 "exiting process turns into a \"zombie\" process (which is nothing but a "
2347 "container for the single byte representing the exit status) so that the "
2348 "parent can learn the exit status when it later calls one of the B<wait>(2)  "
2349 "functions."
2350 msgstr ""
2351 "B<exit>()  の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2352 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2353 "た場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータス"
2354 "は破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終"
2355 "了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2356 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2357 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2358 "る)  「ゾンビ」プロセスになる。 これにより、後から B<wait>(2)  関数を呼び出す"
2359 "ことで、 親プロセスは終了ステータスを知ることができる。"
2360
2361 #. type: Plain text
2362 #: build/C/man3/exit.3:156
2363 msgid ""
2364 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2365 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2366 "a B<SIGCHLD> signal is sent."
2367 msgstr ""
2368 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2369 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2370 "ルが送られるかどうかは定義されていない。"
2371
2372 #. type: Plain text
2373 #: build/C/man3/exit.3:165
2374 msgid ""
2375 "If the process is a session leader and its controlling terminal is the "
2376 "controlling terminal of the session, then each process in the foreground "
2377 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2378 "the terminal is disassociated from this session, allowing it to be acquired "
2379 "by a new controlling process."
2380 msgstr ""
2381 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2382 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2383 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2384 "これにより新しい制御プロセスを取得することができる。"
2385
2386 #. type: Plain text
2387 #: build/C/man3/exit.3:177
2388 msgid ""
2389 "If the exit of the process causes a process group to become orphaned, and if "
2390 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2391 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2392 "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
2393 "groups."
2394 msgstr ""
2395 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2396 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2397 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2398 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
2399
2400 #. type: Plain text
2401 #: build/C/man3/exit.3:184
2402 msgid ""
2403 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2404 "B<tmpfile>(3)"
2405 msgstr ""
2406 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2407 "B<tmpfile>(3)"
2408
2409 #. type: TH
2410 #: build/C/man3/gcvt.3:30
2411 #, no-wrap
2412 msgid "GCVT"
2413 msgstr "GCVT"
2414
2415 #. type: Plain text
2416 #: build/C/man3/gcvt.3:33
2417 msgid "gcvt - convert a floating-point number to a string"
2418 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2419
2420 #. type: Plain text
2421 #: build/C/man3/gcvt.3:38
2422 #, no-wrap
2423 msgid "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
2424 msgstr "B<char *gcvt(double >I<number>B<, size_t >I<ndigit>B<, char *>I<buf>B<);>\n"
2425
2426 #. type: Plain text
2427 #: build/C/man3/gcvt.3:46
2428 msgid "B<gcvt>():"
2429 msgstr "B<gcvt>():"
2430
2431 #. type: Plain text
2432 #: build/C/man3/gcvt.3:61
2433 msgid ""
2434 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2435 "_XOPEN_SOURCE_EXTENDED"
2436 msgstr ""
2437 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2438 "_XOPEN_SOURCE_EXTENDED"
2439
2440 #. type: Plain text
2441 #: build/C/man3/gcvt.3:72
2442 msgid ""
2443 "The B<gcvt>()  function converts I<number> to a minimal length null-"
2444 "terminated ASCII string and stores the result in I<buf>.  It produces "
2445 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
2446 msgstr ""
2447 "関数 B<gcvt>()  は、 I<number> を、最短の長さの NULL 終端された ASCII 文字列"
2448 "へ変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマッ"
2449 "トや E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2450
2451 #. type: Plain text
2452 #: build/C/man3/gcvt.3:77
2453 msgid ""
2454 "The B<gcvt>()  function returns the address of the string pointed to by "
2455 "I<buf>."
2456 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインタを返す。"
2457
2458 #. type: Plain text
2459 #: build/C/man3/gcvt.3:86
2460 msgid ""
2461 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
2462 "B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though B<snprintf>"
2463 "(3)  may be preferable)."
2464 msgstr ""
2465 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2466 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
2467 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
2468
2469 #. type: Plain text
2470 #: build/C/man3/gcvt.3:90
2471 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2472 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2473
2474 #. type: TH
2475 #: build/C/man3/getauxval.3:29
2476 #, no-wrap
2477 msgid "GETAUXVAL"
2478 msgstr "GETAUXVAL"
2479
2480 #. type: TH
2481 #: build/C/man3/getauxval.3:29
2482 #, no-wrap
2483 msgid "2014-01-11"
2484 msgstr "2014-01-11"
2485
2486 #. type: Plain text
2487 #: build/C/man3/getauxval.3:32
2488 msgid "getauxval - retrieve a value from the auxiliary vector"
2489 msgstr ""
2490
2491 #. type: Plain text
2492 #: build/C/man3/getauxval.3:35
2493 #, no-wrap
2494 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2495 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2496
2497 #. type: Plain text
2498 #: build/C/man3/getauxval.3:37
2499 #, no-wrap
2500 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2501 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2502
2503 #. type: Plain text
2504 #: build/C/man3/getauxval.3:45
2505 msgid ""
2506 "The B<getauxval>()  function retrieves values from the auxiliary vector, a "
2507 "mechanism that the kernel's ELF binary loader uses to pass certain "
2508 "information to user space when a program is executed."
2509 msgstr ""
2510
2511 #. type: Plain text
2512 #: build/C/man3/getauxval.3:53
2513 msgid ""
2514 "Each entry in the auxiliary vector consists of a pair of values: a type that "
2515 "identifies what this entry represents, and a value for that type.  Given the "
2516 "argument I<type>, B<getauxval>()  returns the corresponding value."
2517 msgstr ""
2518
2519 #. type: Plain text
2520 #: build/C/man3/getauxval.3:60
2521 msgid ""
2522 "The value returned for each I<type> is given in the following list.  Not all "
2523 "I<type> values are present on all architectures."
2524 msgstr ""
2525
2526 #. type: TP
2527 #: build/C/man3/getauxval.3:60
2528 #, no-wrap
2529 msgid "B<AT_BASE>"
2530 msgstr "B<AT_BASE>"
2531
2532 #. type: Plain text
2533 #: build/C/man3/getauxval.3:63
2534 msgid ""
2535 "The base address of the program interpreter (usually, the dynamic linker)."
2536 msgstr ""
2537
2538 #. type: TP
2539 #: build/C/man3/getauxval.3:63
2540 #, no-wrap
2541 msgid "B<AT_BASE_PLATFORM>"
2542 msgstr "B<AT_BASE_PLATFORM>"
2543
2544 #. type: Plain text
2545 #: build/C/man3/getauxval.3:68
2546 msgid ""
2547 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2548 "(PowerPC only)."
2549 msgstr ""
2550
2551 #. type: TP
2552 #: build/C/man3/getauxval.3:68
2553 #, no-wrap
2554 msgid "B<AT_CLKTCK>"
2555 msgstr "B<AT_CLKTCK>"
2556
2557 #. type: Plain text
2558 #: build/C/man3/getauxval.3:75
2559 msgid ""
2560 "The frequency with which B<times>(2)  counts.  This value can also be "
2561 "obtained via I<sysconf(_SC_CLK_TCK)>."
2562 msgstr ""
2563
2564 #. type: TP
2565 #: build/C/man3/getauxval.3:75
2566 #, no-wrap
2567 msgid "B<AT_DCACHEBSIZE>"
2568 msgstr "B<AT_DCACHEBSIZE>"
2569
2570 #. type: Plain text
2571 #: build/C/man3/getauxval.3:78
2572 msgid "The data cache block size."
2573 msgstr ""
2574
2575 #. type: TP
2576 #: build/C/man3/getauxval.3:78
2577 #, no-wrap
2578 msgid "B<AT_EGID>"
2579 msgstr "B<AT_EGID>"
2580
2581 #. type: Plain text
2582 #: build/C/man3/getauxval.3:81
2583 msgid "The effective group ID of the thread."
2584 msgstr ""
2585
2586 #. type: TP
2587 #: build/C/man3/getauxval.3:81
2588 #, no-wrap
2589 msgid "B<AT_ENTRY>"
2590 msgstr "B<AT_ENTRY>"
2591
2592 #. type: Plain text
2593 #: build/C/man3/getauxval.3:84
2594 msgid "The entry address of the executable."
2595 msgstr ""
2596
2597 #. type: TP
2598 #: build/C/man3/getauxval.3:84
2599 #, no-wrap
2600 msgid "B<AT_EUID>"
2601 msgstr "B<AT_EUID>"
2602
2603 #. type: Plain text
2604 #: build/C/man3/getauxval.3:87
2605 msgid "The effective user ID of the thread."
2606 msgstr ""
2607
2608 #. type: TP
2609 #: build/C/man3/getauxval.3:87
2610 #, no-wrap
2611 msgid "B<AT_EXECFD>"
2612 msgstr "B<AT_EXECFD>"
2613
2614 #. type: Plain text
2615 #: build/C/man3/getauxval.3:90
2616 msgid "File descriptor of program."
2617 msgstr ""
2618
2619 #. type: TP
2620 #: build/C/man3/getauxval.3:90
2621 #, no-wrap
2622 msgid "B<AT_EXECFN>"
2623 msgstr "B<AT_EXECFN>"
2624
2625 #. type: Plain text
2626 #: build/C/man3/getauxval.3:93
2627 msgid "Pathname used to execute program."
2628 msgstr ""
2629
2630 #. type: TP
2631 #: build/C/man3/getauxval.3:93
2632 #, no-wrap
2633 msgid "B<AT_FLAGS>"
2634 msgstr "B<AT_FLAGS>"
2635
2636 #. type: Plain text
2637 #: build/C/man3/getauxval.3:96
2638 msgid "Flags (unused)."
2639 msgstr ""
2640
2641 #. type: TP
2642 #: build/C/man3/getauxval.3:96
2643 #, no-wrap
2644 msgid "B<AT_FPUCW>"
2645 msgstr "B<AT_FPUCW>"
2646
2647 #. type: Plain text
2648 #: build/C/man3/getauxval.3:101
2649 msgid ""
2650 "Used FPU control word (SuperH architecture only).  This gives some "
2651 "information about the FPU initialization performed by the kernel."
2652 msgstr ""
2653
2654 #. type: TP
2655 #: build/C/man3/getauxval.3:101
2656 #, no-wrap
2657 msgid "B<AT_GID>"
2658 msgstr "B<AT_GID>"
2659
2660 #. type: Plain text
2661 #: build/C/man3/getauxval.3:104
2662 msgid "The real group ID of the thread."
2663 msgstr ""
2664
2665 #. type: TP
2666 #: build/C/man3/getauxval.3:104
2667 #, no-wrap
2668 msgid "B<AT_HWCAP>"
2669 msgstr "B<AT_HWCAP>"
2670
2671 #. type: Plain text
2672 #: build/C/man3/getauxval.3:114
2673 msgid ""
2674 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2675 "processor capabilities.  The contents of the bit mask are hardware dependent "
2676 "(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
2677 "h> for details relating to the Intel x86 architecture).  A human-readable "
2678 "version of the same information is available via I</proc/cpuinfo>."
2679 msgstr ""
2680
2681 #. type: TP
2682 #: build/C/man3/getauxval.3:114
2683 #, no-wrap
2684 msgid "B<AT_ICACHEBSIZE>"
2685 msgstr "B<AT_ICACHEBSIZE>"
2686
2687 #.  .TP
2688 #.  .BR AT_IGNORE
2689 #.  .TP
2690 #.  .BR AT_IGNOREPPC
2691 #.  .TP
2692 #.  .BR AT_NOTELF
2693 #. type: Plain text
2694 #: build/C/man3/getauxval.3:123
2695 msgid "The instruction cache block size."
2696 msgstr ""
2697
2698 #. type: TP
2699 #: build/C/man3/getauxval.3:123
2700 #, no-wrap
2701 msgid "B<AT_PAGESZ>"
2702 msgstr "B<AT_PAGESZ>"
2703
2704 #. type: Plain text
2705 #: build/C/man3/getauxval.3:127
2706 msgid ""
2707 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2708 msgstr ""
2709
2710 #. type: TP
2711 #: build/C/man3/getauxval.3:127
2712 #, no-wrap
2713 msgid "B<AT_PHDR>"
2714 msgstr "B<AT_PHDR>"
2715
2716 #. type: Plain text
2717 #: build/C/man3/getauxval.3:130
2718 msgid "The address of the program headers of the executable."
2719 msgstr ""
2720
2721 #. type: TP
2722 #: build/C/man3/getauxval.3:130
2723 #, no-wrap
2724 msgid "B<AT_PHENT>"
2725 msgstr "B<AT_PHENT>"
2726
2727 #. type: Plain text
2728 #: build/C/man3/getauxval.3:133
2729 msgid "The size of program header entry."
2730 msgstr ""
2731
2732 #. type: TP
2733 #: build/C/man3/getauxval.3:133
2734 #, no-wrap
2735 msgid "B<AT_PHNUM>"
2736 msgstr "B<AT_PHNUM>"
2737
2738 #. type: Plain text
2739 #: build/C/man3/getauxval.3:136
2740 msgid "The number of program headers."
2741 msgstr ""
2742
2743 #. type: TP
2744 #: build/C/man3/getauxval.3:136
2745 #, no-wrap
2746 msgid "B<AT_PLATFORM>"
2747 msgstr "B<AT_PLATFORM>"
2748
2749 #. type: Plain text
2750 #: build/C/man3/getauxval.3:143
2751 msgid ""
2752 "A pointer to a string that identifies the hardware platform that the program "
2753 "is running on.  The dynamic linker uses this in the interpretation of "
2754 "I<rpath> values."
2755 msgstr ""
2756
2757 #. type: TP
2758 #: build/C/man3/getauxval.3:143
2759 #, no-wrap
2760 msgid "B<AT_RANDOM>"
2761 msgstr "B<AT_RANDOM>"
2762
2763 #. type: Plain text
2764 #: build/C/man3/getauxval.3:146
2765 msgid "The address of sixteen bytes containing a random value."
2766 msgstr ""
2767
2768 #. type: TP
2769 #: build/C/man3/getauxval.3:146
2770 #, no-wrap
2771 msgid "B<AT_SECURE>"
2772 msgstr "B<AT_SECURE>"
2773
2774 #. type: Plain text
2775 #: build/C/man3/getauxval.3:158
2776 msgid ""
2777 "Has a nonzero value if this executable should be treated securely.  Most "
2778 "commonly, a nonzero value indicates that the process is executing a set-user-"
2779 "ID or set-group-ID program; alternatively, a nonzero value may be triggered "
2780 "by a Linux Security Module.  When this value is nonzero, the dynamic linker "
2781 "disables the use of certain environment variables (see B<ld-linux.so>(8))  "
2782 "and glibc changes other aspects of its behavior.  (See also B<secure_getenv>"
2783 "(3).)"
2784 msgstr ""
2785
2786 #. type: TP
2787 #: build/C/man3/getauxval.3:158
2788 #, no-wrap
2789 msgid "B<AT_SYSINFO>"
2790 msgstr "B<AT_SYSINFO>"
2791
2792 #. type: Plain text
2793 #: build/C/man3/getauxval.3:162
2794 msgid ""
2795 "The entry point to the system call function in the vDSO.  Not present/needed "
2796 "on all architectures (e.g., absent on x86-64)."
2797 msgstr ""
2798
2799 #. type: TP
2800 #: build/C/man3/getauxval.3:162
2801 #, no-wrap
2802 msgid "B<AT_SYSINFO_EHDR>"
2803 msgstr "B<AT_SYSINFO_EHDR>"
2804
2805 #. type: Plain text
2806 #: build/C/man3/getauxval.3:167
2807 msgid ""
2808 "The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
2809 "that the kernel creates in order to provide fast implementations of certain "
2810 "system calls."
2811 msgstr ""
2812
2813 #. type: TP
2814 #: build/C/man3/getauxval.3:167
2815 #, no-wrap
2816 msgid "B<AT_UCACHEBSIZE>"
2817 msgstr "B<AT_UCACHEBSIZE>"
2818
2819 #. type: Plain text
2820 #: build/C/man3/getauxval.3:170
2821 msgid "The unified cache block size."
2822 msgstr ""
2823
2824 #. type: TP
2825 #: build/C/man3/getauxval.3:170
2826 #, no-wrap
2827 msgid "B<AT_UID>"
2828 msgstr "B<AT_UID>"
2829
2830 #. type: Plain text
2831 #: build/C/man3/getauxval.3:173
2832 msgid "The real user ID of the thread."
2833 msgstr ""
2834
2835 #. type: Plain text
2836 #: build/C/man3/getauxval.3:181
2837 msgid ""
2838 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2839 "I<type> is not found, 0 is returned."
2840 msgstr ""
2841 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2842 "らない場合には 0 を返す。"
2843
2844 #. type: Plain text
2845 #: build/C/man3/getauxval.3:183
2846 msgid "No errors are diagnosed."
2847 msgstr "エラーは検出されない。"
2848
2849 #. type: Plain text
2850 #: build/C/man3/getauxval.3:187
2851 msgid "The B<getauxval>()  function was added to glibc in version 2.16."
2852 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2853
2854 #. type: Plain text
2855 #: build/C/man3/getauxval.3:189
2856 msgid "This function is a nonstandard glibc extension."
2857 msgstr "この関数は非標準で glibc による拡張である。"
2858
2859 #. type: Plain text
2860 #: build/C/man3/getauxval.3:198
2861 msgid ""
2862 "The primary consumer of the information in the auxiliary vector is the "
2863 "dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
2864 "efficient shortcut that allows the kernel to communicate a certain set of "
2865 "standard information that the dynamic linker usually or always needs.  In "
2866 "some cases, the same information could be obtained by system calls, but "
2867 "using the auxiliary vector is cheaper."
2868 msgstr ""
2869
2870 #. type: Plain text
2871 #: build/C/man3/getauxval.3:204
2872 msgid ""
2873 "The auxiliary vector resides just above the argument list and environment in "
2874 "the process address space.  The auxiliary vector supplied to a program can "
2875 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2876 "program:"
2877 msgstr ""
2878
2879 #. type: Plain text
2880 #: build/C/man3/getauxval.3:206
2881 #, no-wrap
2882 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2883 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2884
2885 #. type: Plain text
2886 #: build/C/man3/getauxval.3:213
2887 msgid ""
2888 "The auxiliary vector of any process can (subject to file permissions)  be "
2889 "obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
2890 msgstr ""
2891
2892 #. type: Plain text
2893 #: build/C/man3/getauxval.3:217
2894 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2895 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2896
2897 #. type: TH
2898 #: build/C/man3/getenv.3:33
2899 #, no-wrap
2900 msgid "GETENV"
2901 msgstr "GETENV"
2902
2903 #. type: TH
2904 #: build/C/man3/getenv.3:33
2905 #, no-wrap
2906 msgid "2012-08-14"
2907 msgstr "2012-08-14"
2908
2909 #. type: Plain text
2910 #: build/C/man3/getenv.3:36
2911 msgid "getenv, secure_getenv - get an environment variable"
2912 msgstr "getenv, secure_getenv - 環境変数を得る"
2913
2914 #. type: Plain text
2915 #: build/C/man3/getenv.3:41
2916 #, no-wrap
2917 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2918 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2919
2920 #. type: Plain text
2921 #: build/C/man3/getenv.3:43
2922 #, no-wrap
2923 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2924 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2925
2926 #. type: Plain text
2927 #: build/C/man3/getenv.3:52
2928 msgid "B<secure_getenv>(): _GNU_SOURCE"
2929 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2930
2931 #. type: Plain text
2932 #: build/C/man3/getenv.3:61
2933 msgid ""
2934 "The B<getenv>()  function searches the environment list to find the "
2935 "environment variable I<name>, and returns a pointer to the corresponding "
2936 "I<value> string."
2937 msgstr ""
2938 "関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2939 "る I<value> 文字列へのポインタを返す。"
2940
2941 #. type: Plain text
2942 #: build/C/man3/getenv.3:69
2943 msgid ""
2944 "The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
2945 "except that it returns NULL in cases where \"secure execution\" is "
2946 "required.  Secure execution is required if one of the following conditions "
2947 "was true when the program run by the calling process was loaded:"
2948 msgstr ""
2949 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
2950 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
2951 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
2952 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2953
2954 #. type: IP
2955 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
2956 #, no-wrap
2957 msgid "*"
2958 msgstr "*"
2959
2960 #. type: Plain text
2961 #: build/C/man3/getenv.3:74
2962 msgid ""
2963 "the process's effective user ID did not match its real user ID or the "
2964 "process's effective group ID did not match its real group ID (typically this "
2965 "is the result of executing a set-user-ID or set-group-ID program);"
2966 msgstr ""
2967 "プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
2968 "セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
2969 "状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
2970 "合である)。"
2971
2972 #. type: Plain text
2973 #: build/C/man3/getenv.3:76
2974 msgid "the effective capability bit was set on the executable file; or"
2975 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
2976
2977 #. type: Plain text
2978 #: build/C/man3/getenv.3:78
2979 msgid "the process has a nonempty permitted capability set."
2980 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
2981
2982 #. type: Plain text
2983 #: build/C/man3/getenv.3:81
2984 msgid ""
2985 "Secure execution may also required if triggered by some Linux security "
2986 "modules."
2987 msgstr ""
2988 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
2989 "必要となる。"
2990
2991 #. type: Plain text
2992 #: build/C/man3/getenv.3:88
2993 msgid ""
2994 "The B<secure_getenv>()  function is intended for use in general-purpose "
2995 "libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
2996 "group-ID programs accidentally trusted the environment."
2997 msgstr ""
2998 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
2999 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
3000 "避するために使うことを意図して作られた。"
3001
3002 #. type: Plain text
3003 #: build/C/man3/getenv.3:93
3004 msgid ""
3005 "The B<getenv>()  function returns a pointer to the value in the environment, "
3006 "or NULL if there is no match."
3007 msgstr ""
3008 "関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
3009 "マッチする環境変数が存在しないときには NULL を返す。"
3010
3011 #. type: Plain text
3012 #: build/C/man3/getenv.3:96
3013 msgid "B<secure_getenv>()  first appeared in glibc 2.17."
3014 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
3015
3016 #. type: Plain text
3017 #: build/C/man3/getenv.3:99
3018 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3019 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3020
3021 #. type: Plain text
3022 #: build/C/man3/getenv.3:102
3023 msgid "B<secure_getenv>()  is a GNU extension."
3024 msgstr "B<secure_getenv>() は GNU による拡張である。"
3025
3026 #. type: Plain text
3027 #: build/C/man3/getenv.3:104
3028 msgid "The strings in the environment list are of the form I<name=value>."
3029 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
3030
3031 #. type: Plain text
3032 #: build/C/man3/getenv.3:110
3033 msgid ""
3034 "As typically implemented, B<getenv>()  returns a pointer to a string within "
3035 "the environment list.  The caller must take care not to modify this string, "
3036 "since that would change the environment of the process."
3037 msgstr ""
3038 "通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
3039 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
3040 "すると、そのプロセスの環境を変化させることになるからである。"
3041
3042 #. type: Plain text
3043 #: build/C/man3/getenv.3:123
3044 msgid ""
3045 "The implementation of B<getenv>()  is not required to be reentrant.  The "
3046 "string pointed to by the return value of B<getenv>()  may be statically "
3047 "allocated, and can be modified by a subsequent call to B<getenv>(), B<putenv>"
3048 "(3), B<setenv>(3), or B<unsetenv>(3)."
3049 msgstr ""
3050 "B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
3051 "い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
3052 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3053 "B<unsetenv>(3)  の呼び出しにより変更されることがある。"
3054
3055 #. type: Plain text
3056 #: build/C/man3/getenv.3:129
3057 msgid ""
3058 "The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
3059 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
3060 "to user space."
3061 msgstr ""
3062 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
3063 "に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
3064 "れる。"
3065
3066 #. type: Plain text
3067 #: build/C/man3/getenv.3:137
3068 msgid ""
3069 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3070 "B<capabilities>(7), B<environ>(7)"
3071 msgstr ""
3072 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3073 "B<capabilities>(7), B<environ>(7)"
3074
3075 #. type: TH
3076 #: build/C/man3/getloadavg.3:34
3077 #, no-wrap
3078 msgid "GETLOADAVG"
3079 msgstr "GETLOADAVG"
3080
3081 #. type: TH
3082 #: build/C/man3/getloadavg.3:34
3083 #, no-wrap
3084 msgid "2007-12-08"
3085 msgstr "2007-12-08"
3086
3087 #. type: Plain text
3088 #: build/C/man3/getloadavg.3:37
3089 msgid "getloadavg - get system load averages"
3090 msgstr "getloadavg - get system load averages"
3091
3092 #. type: Plain text
3093 #: build/C/man3/getloadavg.3:41
3094 #, no-wrap
3095 msgid ""
3096 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
3097 "B<#include E<lt>stdlib.hE<gt>>\n"
3098 msgstr ""
3099 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3100 "B<#include E<lt>stdlib.hE<gt>>\n"
3101
3102 #. type: Plain text
3103 #: build/C/man3/getloadavg.3:43
3104 #, no-wrap
3105 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3106 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3107
3108 #. type: Plain text
3109 #: build/C/man3/getloadavg.3:55
3110 msgid ""
3111 "The B<getloadavg>()  function returns the number of processes in the system "
3112 "run queue averaged over various periods of time.  Up to I<nelem> samples are "
3113 "retrieved and assigned to successive elements of I<loadavg>[].  The system "
3114 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
3115 "and 15 minutes, respectively."
3116 msgstr ""
3117 "B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
3118 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3119 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3120 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3121
3122 #.  .SH HISTORY
3123 #.  The
3124 #.  BR getloadavg ()
3125 #.  function appeared in
3126 #.  4.3BSD Reno .
3127 #. type: Plain text
3128 #: build/C/man3/getloadavg.3:63
3129 msgid ""
3130 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3131 "of samples actually retrieved is returned."
3132 msgstr ""
3133 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3134 "値の数を返す。"
3135
3136 #. type: Plain text
3137 #: build/C/man3/getloadavg.3:65
3138 msgid "This function is available in glibc since version 2.2."
3139 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3140
3141 #.  mdoc seems to have a bug - there must be no newline here
3142 #. type: Plain text
3143 #: build/C/man3/getloadavg.3:69
3144 msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
3145 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
3146
3147 #. type: Plain text
3148 #: build/C/man3/getloadavg.3:72
3149 msgid "B<uptime>(1), B<proc>(5)"
3150 msgstr "B<uptime>(1), B<proc>(5)"
3151
3152 #. type: TH
3153 #: build/C/man3/getsubopt.3:25
3154 #, no-wrap
3155 msgid "GETSUBOPT"
3156 msgstr "GETSUBOPT"
3157
3158 #. type: TH
3159 #: build/C/man3/getsubopt.3:25 build/C/man3/mkdtemp.3:26
3160 #, no-wrap
3161 msgid "2010-09-26"
3162 msgstr "2010-09-26"
3163
3164 #. type: Plain text
3165 #: build/C/man3/getsubopt.3:28
3166 msgid "getsubopt - parse suboption arguments from a string"
3167 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3168
3169 #. type: Plain text
3170 #: build/C/man3/getsubopt.3:33
3171 msgid ""
3172 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3173 "**>I<valuep>B<);>"
3174 msgstr ""
3175 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3176 "**>I<valuep>B<);>"
3177
3178 #. type: Plain text
3179 #: build/C/man3/getsubopt.3:40
3180 msgid "B<getsubopt>():"
3181 msgstr "B<getsubopt>():"
3182
3183 #. type: Plain text
3184 #: build/C/man3/getsubopt.3:45
3185 msgid ""
3186 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3187 msgstr ""
3188 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3189
3190 #. type: Plain text
3191 #: build/C/man3/getsubopt.3:47
3192 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3193 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3194
3195 #. type: Plain text
3196 #: build/C/man3/getsubopt.3:64
3197 msgid ""
3198 "B<getsubopt>()  parses the list of comma-separated suboptions provided in "
3199 "I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
3200 "is used to parse a command line; see for example the I<-o> option of B<mount>"
3201 "(8).)  Each suboption may include an associated value, which is separated "
3202 "from the suboption name by an equal sign.  The following is an example of "
3203 "the kind of string that might be passed in I<optionp>:"
3204 msgstr ""
3205 "B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
3206 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
3207 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
3208 "o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
3209 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
3210 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3211
3212 #. type: Plain text
3213 #: build/C/man3/getsubopt.3:67
3214 msgid "B<ro,name=xyz>"
3215 msgstr "B<ro,name=xyz>"
3216
3217 #. type: Plain text
3218 #: build/C/man3/getsubopt.3:77
3219 msgid ""
3220 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
3221 "to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
3222 "should be distinct, null-terminated strings containing at least one "
3223 "character, with no embedded equal signs or commas."
3224 msgstr ""
3225 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
3226 "端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
3227 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
3228 "要がある。 また、等号とカンマを含んではならない。"
3229
3230 #. type: Plain text
3231 #: build/C/man3/getsubopt.3:98
3232 msgid ""
3233 "Each call to B<getsubopt>()  returns information about the next unprocessed "
3234 "suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
3235 "interpreted as a separator between the name and the value of that "
3236 "suboption.  The value extends to the next comma, or (for the last suboption) "
3237 "to the end of the string.  If the name of the suboption matches a known name "
3238 "from I<tokens>, and a value string was found, B<getsubopt>()  sets "
3239 "I<*valuep> to the address of that string.  The first comma in I<optionp> is "
3240 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
3241 "\" for that suboption."
3242 msgstr ""
3243 "B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3244 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3245 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3246 "オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
3247 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3248 "B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3249 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3250 "はそのサブオプションの「値の文字列」そのものとなる。"
3251
3252 #. type: Plain text
3253 #: build/C/man3/getsubopt.3:102
3254 msgid ""
3255 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3256 "set to NULL."
3257 msgstr ""
3258 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3259 "*I<valuep> は NULL に設定される。"
3260
3261 #. type: Plain text
3262 #: build/C/man3/getsubopt.3:110
3263 msgid ""
3264 "When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
3265 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
3266 "suboption was just processed."
3267 msgstr ""
3268 "B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3269 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3270 "\\e0\\(aq) を指している。"
3271
3272 #. type: Plain text
3273 #: build/C/man3/getsubopt.3:122
3274 msgid ""
3275 "If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
3276 "the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
3277 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
3278 msgstr ""
3279 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
3280 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3281 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3282 "となる。"
3283
3284 #. type: Plain text
3285 #: build/C/man3/getsubopt.3:129
3286 msgid ""
3287 "Since I<*optionp> is changed, the first suboption before the call to "
3288 "B<getsubopt>()  is not (necessarily) the same as the first suboption after "
3289 "B<getsubopt>()."
3290 msgstr ""
3291 "I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
3292 "ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
3293 "い。"
3294
3295 #. type: Plain text
3296 #: build/C/man3/getsubopt.3:138
3297 msgid ""
3298 "Since B<getsubopt>()  overwrites any commas it finds in the string "
3299 "I<*optionp>, that string must be writable; it cannot be a string constant."
3300 msgstr ""
3301 "B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3302 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3303 "ない。"
3304
3305 #. type: Plain text
3306 #: build/C/man3/getsubopt.3:140
3307 msgid "The following program expects suboptions following a \"-o\" option."
3308 msgstr ""
3309 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3310 "ている。"
3311
3312 #. type: Plain text
3313 #: build/C/man3/getsubopt.3:146
3314 #, no-wrap
3315 msgid ""
3316 "#define _XOPEN_SOURCE 500\n"
3317 "#include E<lt>stdlib.hE<gt>\n"
3318 "#include E<lt>assert.hE<gt>\n"
3319 "#include E<lt>stdio.hE<gt>\n"
3320 msgstr ""
3321 "#define _XOPEN_SOURCE 500\n"
3322 "#include E<lt>stdlib.hE<gt>\n"
3323 "#include E<lt>assert.hE<gt>\n"
3324 "#include E<lt>stdio.hE<gt>\n"
3325
3326 #. type: Plain text
3327 #: build/C/man3/getsubopt.3:164
3328 #, no-wrap
3329 msgid ""
3330 "int\n"
3331 "main(int argc, char **argv)\n"
3332 "{\n"
3333 "    enum {\n"
3334 "        RO_OPT = 0,\n"
3335 "        RW_OPT,\n"
3336 "        NAME_OPT\n"
3337 "    };\n"
3338 "    char *const token[] = {\n"
3339 "        [RO_OPT]   = \"ro\",\n"
3340 "        [RW_OPT]   = \"rw\",\n"
3341 "        [NAME_OPT] = \"name\",\n"
3342 "        NULL\n"
3343 "    };\n"
3344 "    char *subopts;\n"
3345 "    char *value;\n"
3346 "    int opt;\n"
3347 msgstr ""
3348 "int\n"
3349 "main(int argc, char **argv)\n"
3350 "{\n"
3351 "    enum {\n"
3352 "        RO_OPT = 0,\n"
3353 "        RW_OPT,\n"
3354 "        NAME_OPT\n"
3355 "    };\n"
3356 "    char *const token[] = {\n"
3357 "        [RO_OPT]   = \"ro\",\n"
3358 "        [RW_OPT]   = \"rw\",\n"
3359 "        [NAME_OPT] = \"name\",\n"
3360 "        NULL\n"
3361 "    };\n"
3362 "    char *subopts;\n"
3363 "    char *value;\n"
3364 "    int opt;\n"
3365
3366 #. type: Plain text
3367 #: build/C/man3/getsubopt.3:169
3368 #, no-wrap
3369 msgid ""
3370 "    int readonly = 0;\n"
3371 "    int readwrite = 0;\n"
3372 "    char *name = NULL;\n"
3373 "    int errfnd = 0;\n"
3374 msgstr ""
3375 "    int readonly = 0;\n"
3376 "    int readwrite = 0;\n"
3377 "    char *name = NULL;\n"
3378 "    int errfnd = 0;\n"
3379
3380 #. type: Plain text
3381 #: build/C/man3/getsubopt.3:175
3382 #, no-wrap
3383 msgid ""
3384 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3385 "        switch (opt) {\n"
3386 "        case \\(aqo\\(aq:\n"
3387 "            subopts = optarg;\n"
3388 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3389 msgstr ""
3390 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3391 "        switch (opt) {\n"
3392 "        case \\(aqo\\(aq:\n"
3393 "            subopts = optarg;\n"
3394 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3395
3396 #. type: Plain text
3397 #: build/C/man3/getsubopt.3:180
3398 #, no-wrap
3399 msgid ""
3400 "            switch (getsubopt(&subopts, token, &value)) {\n"
3401 "            case RO_OPT:\n"
3402 "                readonly = 1;\n"
3403 "                break;\n"
3404 msgstr ""
3405 "            switch (getsubopt(&subopts, token, &value)) {\n"
3406 "            case RO_OPT:\n"
3407 "                readonly = 1;\n"
3408 "                break;\n"
3409
3410 #. type: Plain text
3411 #: build/C/man3/getsubopt.3:184
3412 #, no-wrap
3413 msgid ""
3414 "            case RW_OPT:\n"
3415 "                readwrite = 1;\n"
3416 "                break;\n"
3417 msgstr ""
3418 "            case RW_OPT:\n"
3419 "                readwrite = 1;\n"
3420 "                break;\n"
3421
3422 #. type: Plain text
3423 #: build/C/man3/getsubopt.3:192
3424 #, no-wrap
3425 msgid ""
3426 "            case NAME_OPT:\n"
3427 "                if (value == NULL) {\n"
3428 "                    fprintf(stderr, \"Missing value for \"\n"
3429 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3430 "                    errfnd = 1;\n"
3431 "                    continue;\n"
3432 "                }\n"
3433 msgstr ""
3434 "            case NAME_OPT:\n"
3435 "                if (value == NULL) {\n"
3436 "                    fprintf(stderr, \"Missing value for \"\n"
3437 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3438 "                    errfnd = 1;\n"
3439 "                    continue;\n"
3440 "                }\n"
3441
3442 #. type: Plain text
3443 #: build/C/man3/getsubopt.3:195
3444 #, no-wrap
3445 msgid ""
3446 "                name = value;\n"
3447 "                break;\n"
3448 msgstr ""
3449 "                name = value;\n"
3450 "                break;\n"
3451
3452 #. type: Plain text
3453 #: build/C/man3/getsubopt.3:209
3454 #, no-wrap
3455 msgid ""
3456 "            default:\n"
3457 "                fprintf(stderr, \"No match found \"\n"
3458 "                        \"for token: /%s/\\en\", value);\n"
3459 "                errfnd = 1;\n"
3460 "                break;\n"
3461 "            }\n"
3462 "        }\n"
3463 "        if (readwrite && readonly) {\n"
3464 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3465 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3466 "            errfnd = 1;\n"
3467 "        }\n"
3468 "        break;\n"
3469 msgstr ""
3470 "            default:\n"
3471 "                fprintf(stderr, \"No match found \"\n"
3472 "                        \"for token: /%s/\\en\", value);\n"
3473 "                errfnd = 1;\n"
3474 "                break;\n"
3475 "            }\n"
3476 "        }\n"
3477 "        if (readwrite && readonly) {\n"
3478 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3479 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3480 "            errfnd = 1;\n"
3481 "        }\n"
3482 "        break;\n"
3483
3484 #. type: Plain text
3485 #: build/C/man3/getsubopt.3:214
3486 #, no-wrap
3487 msgid ""
3488 "        default:\n"
3489 "            errfnd = 1;\n"
3490 "        }\n"
3491 "    }\n"
3492 msgstr ""
3493 "        default:\n"
3494 "            errfnd = 1;\n"
3495 "        }\n"
3496 "    }\n"
3497
3498 #. type: Plain text
3499 #: build/C/man3/getsubopt.3:221
3500 #, no-wrap
3501 msgid ""
3502 "    if (errfnd || argc == 1) {\n"
3503 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3504 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3505 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3506 "        exit(EXIT_FAILURE);\n"
3507 "    }\n"
3508 msgstr ""
3509 "    if (errfnd || argc == 1) {\n"
3510 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3511 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3512 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3513 "        exit(EXIT_FAILURE);\n"
3514 "    }\n"
3515
3516 #. type: Plain text
3517 #: build/C/man3/getsubopt.3:223
3518 #, no-wrap
3519 msgid "    /* Remainder of program... */\n"
3520 msgstr "    /* Remainder of program... */\n"
3521
3522 #. type: Plain text
3523 #: build/C/man3/getsubopt.3:229
3524 msgid "B<getopt>(3)"
3525 msgstr "B<getopt>(3)"
3526
3527 #. type: TH
3528 #: build/C/man3/malloc.3:30
3529 #, no-wrap
3530 msgid "MALLOC"
3531 msgstr "MALLOC"
3532
3533 #. type: TH
3534 #: build/C/man3/malloc.3:30
3535 #, no-wrap
3536 msgid "2013-12-12"
3537 msgstr "2013-12-12"
3538
3539 #. type: Plain text
3540 #: build/C/man3/malloc.3:33
3541 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3542 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
3543
3544 #. type: Plain text
3545 #: build/C/man3/malloc.3:41
3546 #, no-wrap
3547 msgid ""
3548 "B<void *malloc(size_t >I<size>B<);>\n"
3549 "B<void free(void >I<*ptr>B<);>\n"
3550 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3551 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3552 msgstr ""
3553 "B<void *malloc(size_t >I<size>B<);>\n"
3554 "B<void free(void >I<*ptr>B<);>\n"
3555 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3556 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3557
3558 #.  glibc does this:
3559 #. type: Plain text
3560 #: build/C/man3/malloc.3:58
3561 msgid ""
3562 "The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
3563 "the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
3564 "then B<malloc>()  returns either NULL, or a unique pointer value that can "
3565 "later be successfully passed to B<free>()."
3566 msgstr ""
3567 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
3568 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
3569 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3570 "一意なポインタ値を返す。"
3571
3572 #. type: Plain text
3573 #: build/C/man3/malloc.3:74
3574 msgid ""
3575 "The B<free>()  function frees the memory space pointed to by I<ptr>, which "
3576 "must have been returned by a previous call to B<malloc>(), B<calloc>()  or "
3577 "B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
3578 "undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
3579 msgstr ""
3580 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
3581 "は、\n"
3582 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3583 "値で\n"
3584 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
3585 "行\n"
3586 "されていたりした場合の動作は定義されていない。\n"
3587 "I<ptr> が NULL の場合には、何の動作も行われない。"
3588
3589 #.  glibc does this:
3590 #. type: Plain text
3591 #: build/C/man3/malloc.3:93
3592 msgid ""
3593 "The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
3594 "of I<size> bytes each and returns a pointer to the allocated memory.  The "
3595 "memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
3596 "returns either NULL, or a unique pointer value that can later be "
3597 "successfully passed to B<free>()."
3598 msgstr ""
3599 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
3600 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
3601 "ロ\n"
3602 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3603 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3604 "ポインタ値を返す。"
3605
3606 #. type: Plain text
3607 #: build/C/man3/malloc.3:129
3608 msgid ""
3609 "The B<realloc>()  function changes the size of the memory block pointed to "
3610 "by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
3611 "from the start of the region up to the minimum of the old and new sizes.  If "
3612 "the new size is larger than the old size, the added memory will I<not> be "
3613 "initialized.  If I<ptr> is NULL, then the call is equivalent to I<malloc"
3614 "(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> "
3615 "is not NULL, then the call is equivalent to I<free(ptr)>.  Unless I<ptr> is "
3616 "NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>"
3617 "()  or B<realloc>().  If the area pointed to was moved, a I<free(ptr)> is "
3618 "done."
3619 msgstr ""
3620 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
3621 "ト\n"
3622 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3623 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
3624 "初期化 I<されない>。\n"
3625 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
3626 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
3627 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
3628 "B<calloc>(),\n"
3629 "B<realloc>() のいずれかが返した値でなければならない。\n"
3630 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3631
3632 #. type: Plain text
3633 #: build/C/man3/malloc.3:149
3634 msgid ""
3635 "The B<malloc>()  and B<calloc>()  functions return a pointer to the "
3636 "allocated memory, which is suitably aligned for any built-in type.  On "
3637 "error, these functions return NULL.  NULL may also be returned by a "
3638 "successful call to B<malloc>()  with a I<size> of zero, or by a successful "
3639 "call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
3640 msgstr "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントされる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した場合にも NULL が返される。"
3641
3642 #. type: Plain text
3643 #: build/C/man3/malloc.3:153
3644 msgid "The B<free>()  function returns no value."
3645 msgstr "B<free>() 関数は値を返さない。"
3646
3647 #. type: Plain text
3648 #: build/C/man3/malloc.3:168
3649 msgid ""
3650 "The B<realloc>()  function returns a pointer to the newly allocated memory, "
3651 "which is suitably aligned for any built-in type and may be different from "
3652 "I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
3653 "NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
3654 "B<realloc>()  fails the original block is left untouched; it is not freed or "
3655 "moved."
3656 msgstr "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあらゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なることもある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合には、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動されたりはしない。"
3657
3658 #. type: Plain text
3659 #: build/C/man3/malloc.3:170
3660 msgid "C89, C99."
3661 msgstr "C89, C99."
3662
3663 #. type: Plain text
3664 #: build/C/man3/malloc.3:186
3665 msgid ""
3666 "By default, Linux follows an optimistic memory allocation strategy.  This "
3667 "means that when B<malloc>()  returns non-NULL there is no guarantee that the "
3668 "memory really is available.  In case it turns out that the system is out of "
3669 "memory, one or more processes will be killed by the OOM killer.  For more "
3670 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
3671 "proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
3672 "I<Documentation/vm/overcommit-accounting>."
3673 msgstr ""
3674 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
3675 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
3676 "と\n"
3677 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
3678 "killer) によって一つまたは複数のプロセスが削除される。\n"
3679 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
3680 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
3681 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
3682
3683 #. type: Plain text
3684 #: build/C/man3/malloc.3:207
3685 msgid ""
3686 "Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
3687 "of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
3688 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
3689 "allocates the memory as a private anonymous mapping using B<mmap>(2).  "
3690 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using B<mallopt>"
3691 "(3).  Allocations performed using B<mmap>(2)  are unaffected by the "
3692 "B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
3693 msgstr ""
3694 "通常、 B<malloc>()  は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
3695 "ズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
3696 "リブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を使っ"
3697 "てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
3698 "る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を使っ"
3699 "て調整できる。 B<mmap>(2)  を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
3700 "ソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
3701
3702 #. type: Plain text
3703 #: build/C/man3/malloc.3:225
3704 msgid ""
3705 "To avoid corruption in multithreaded applications, mutexes are used "
3706 "internally to protect the memory-management data structures employed by "
3707 "these functions.  In a multithreaded application in which threads "
3708 "simultaneously allocate and free memory, there could be contention for these "
3709 "mutexes.  To scalably handle memory allocation in multithreaded "
3710 "applications, glibc creates additional I<memory allocation arenas> if mutex "
3711 "contention is detected.  Each arena is a large region of memory that is "
3712 "internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
3713 "managed with its own mutexes."
3714 msgstr ""
3715 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3716 "を\n"
3717 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
3718 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
3719 "ケー\n"
3720 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3721 "ン\n"
3722 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3723 "の\n"
3724 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
3725 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3726 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3727
3728 #. type: Plain text
3729 #: build/C/man3/malloc.3:243
3730 msgid ""
3731 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
3732 "set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
3733 "(and the glibc versions of these routines do this); if you use a private "
3734 "malloc implementation that does not set I<errno>, then certain library "
3735 "routines may fail without having a reason in I<errno>."
3736 msgstr ""
3737 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
3738 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
3739 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
3740 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
3741 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
3742 "いライブラリルーチンがあるかもしれない。"
3743
3744 #. type: Plain text
3745 #: build/C/man3/malloc.3:252
3746 msgid ""
3747 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
3748 "always related to heap corruption, such as overflowing an allocated chunk or "
3749 "freeing the same pointer twice."
3750 msgstr ""
3751 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
3752 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3753 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3754
3755 #. type: Plain text
3756 #: build/C/man3/malloc.3:259
3757 msgid ""
3758 "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  include a "
3759 "B<malloc>()  implementation which is tunable via environment variables.  For "
3760 "details, see B<mallopt>(3)."
3761 msgstr ""
3762 "Linux libc の新しいバージョン (5.4.23 より後) と glibc (2.x) には、\n"
3763 "環境変数で動作を調整できる B<malloc>() 実装が含まれている。\n"
3764 "詳細は B<mallopt>(3) を参照のこと。"
3765
3766 #. type: Plain text
3767 #: build/C/man3/malloc.3:283
3768 msgid ""
3769 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_info>"
3770 "(3), B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mcheck>"
3771 "(3), B<mtrace>(3), B<posix_memalign>(3)"
3772 msgstr ""
3773 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_info>"
3774 "(3), B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mcheck>"
3775 "(3), B<mtrace>(3), B<posix_memalign>(3)"
3776
3777 #. type: TH
3778 #: build/C/man3/mblen.3:16
3779 #, no-wrap
3780 msgid "MBLEN"
3781 msgstr "MBLEN"
3782
3783 #. type: Plain text
3784 #: build/C/man3/mblen.3:19
3785 msgid "mblen - determine number of bytes in next multibyte character"
3786 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3787
3788 #. type: Plain text
3789 #: build/C/man3/mblen.3:24
3790 #, no-wrap
3791 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3792 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3793
3794 #. type: Plain text
3795 #: build/C/man3/mblen.3:43
3796 msgid ""
3797 "If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
3798 "the multibyte string starting at I<s> and extracts the next complete "
3799 "multibyte character.  It uses a static anonymous shift state known only to "
3800 "the B<mblen>()  function.  If the multibyte character is not the null wide "
3801 "character, it returns the number of bytes that were consumed from I<s>.  If "
3802 "the multibyte character is the null wide character, it returns 0."
3803 msgstr ""
3804 "I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 "
3805 "I<n> バイトのマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り"
3806 "出す。これには B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用"
3807 "される。 マルチバイト文字がナルワイド文字でなければ I<s> から消費される バイ"
3808 "ト数を返す。マルチバイト文字がナルワイド文字ならば 0 を返す。"
3809
3810 #. type: Plain text
3811 #: build/C/man3/mblen.3:57
3812 msgid ""
3813 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3814 "character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
3815 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3816 "shift sequences."
3817 msgstr ""
3818 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3819 "B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3820 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3821
3822 #. type: Plain text
3823 #: build/C/man3/mblen.3:64
3824 msgid ""
3825 "If the multibyte string starting at I<s> contains an invalid multibyte "
3826 "sequence before the next complete character, B<mblen>()  also returns -1."
3827 msgstr ""
3828 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3829 "を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
3830
3831 #.  The Dinkumware doc and the Single UNIX specification say this, but
3832 #.  glibc doesn't implement this.
3833 #. type: Plain text
3834 #: build/C/man3/mblen.3:75
3835 msgid ""
3836 "If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
3837 "only this function, to the initial state, and returns nonzero if the "
3838 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3839 msgstr ""
3840 "I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフ"
3841 "ト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、"
3842 "文字符号がシフト状態を持たない場合にはゼロを返す。"
3843
3844 #. type: Plain text
3845 #: build/C/man3/mblen.3:87
3846 msgid ""
3847 "The B<mblen>()  function returns the number of bytes parsed from the "
3848 "multibyte sequence starting at I<s>, if a non-null wide character was "
3849 "recognized.  It returns 0, if a null wide character was recognized.  It "
3850 "returns -1, if an invalid multibyte sequence was encountered or if it "
3851 "couldn't parse a complete multibyte character."
3852 msgstr ""
3853 "B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ナルワイド文字以外"
3854 "を確認した場合にはそのバイト数を返す。 ナルワイド文字を確認した場合にはゼロを"
3855 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3856 "かった場合には -1 を返す。"
3857
3858 #. type: Plain text
3859 #: build/C/man3/mblen.3:92
3860 msgid "The B<mblen>()  function is not thread-safe."
3861 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3862
3863 #. type: Plain text
3864 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:97
3865 #: build/C/man3/mbtowc.3:116 build/C/man3/wcstombs.3:91
3866 #: build/C/man3/wctomb.3:91
3867 msgid "C99."
3868 msgstr "C99."
3869
3870 #. type: Plain text
3871 #: build/C/man3/mblen.3:101
3872 msgid ""
3873 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
3874 "current locale."
3875 msgstr ""
3876 "B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3877
3878 #. type: Plain text
3879 #: build/C/man3/mblen.3:106
3880 msgid ""
3881 "The function B<mbrlen>(3)  provides a better interface to the same "
3882 "functionality."
3883 msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
3884
3885 #. type: Plain text
3886 #: build/C/man3/mblen.3:108
3887 msgid "B<mbrlen>(3)"
3888 msgstr "B<mbrlen>(3)"
3889
3890 #. type: TH
3891 #: build/C/man3/mbstowcs.3:18
3892 #, no-wrap
3893 msgid "MBSTOWCS"
3894 msgstr "MBSTOWCS"
3895
3896 #. type: TH
3897 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
3898 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
3899 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3900 #, no-wrap
3901 msgid "2014-03-18"
3902 msgstr "2014-03-18"
3903
3904 #. type: Plain text
3905 #: build/C/man3/mbstowcs.3:21
3906 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3907 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3908
3909 #. type: Plain text
3910 #: build/C/man3/mbstowcs.3:26
3911 #, no-wrap
3912 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3913 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3914
3915 #. type: Plain text
3916 #: build/C/man3/mbstowcs.3:45
3917 msgid ""
3918 "If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
3919 "string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
3920 "wide characters are written to I<dest>.  The conversion starts in the "
3921 "initial state.  The conversion can stop for three reasons:"
3922 msgstr ""
3923 "I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字"
3924 "列 I<*src> を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で "
3925 "I<n> 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つの"
3926 "いずれかの条件で停止する:"
3927
3928 #. type: IP
3929 #: build/C/man3/mbstowcs.3:45
3930 #, no-wrap
3931 msgid "1."
3932 msgstr "1."
3933
3934 #. type: Plain text
3935 #: build/C/man3/mbstowcs.3:50
3936 msgid ""
3937 "An invalid multibyte sequence has been encountered.  In this case I<"
3938 "(size_t)\\ -1> is returned."
3939 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3940
3941 #. type: IP
3942 #: build/C/man3/mbstowcs.3:50
3943 #, no-wrap
3944 msgid "2."
3945 msgstr "2."
3946
3947 #. type: Plain text
3948 #: build/C/man3/mbstowcs.3:59
3949 msgid ""
3950 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
3951 "this case the number of wide characters written to I<dest> is returned, but "
3952 "the shift state at this point is lost."
3953 msgstr ""
3954 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
3955 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
3956 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
3957 "る。"
3958
3959 #. type: IP
3960 #: build/C/man3/mbstowcs.3:59
3961 #, no-wrap
3962 msgid "3."
3963 msgstr "3."
3964
3965 #. type: Plain text
3966 #: build/C/man3/mbstowcs.3:65
3967 msgid ""
3968 "The multibyte string has been completely converted, including the "
3969 "terminating null wide character (\\(aq\\e0\\(aq).  In this case the number "
3970 "of wide characters written to I<dest>, excluding the terminating null wide "
3971 "character, is returned."
3972 msgstr ""
3973 "マルチバイト文字列が終端の NULL ワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に "
3974 "変換された場合。この場合は終端の NULL ワイド文字を除いて I<dest> に書き込まれ"
3975 "た文字数を返す。"
3976
3977 #. type: Plain text
3978 #: build/C/man3/mbstowcs.3:71
3979 msgid ""
3980 "The programmer must ensure that there is room for at least I<n> wide "
3981 "characters at I<dest>."
3982 msgstr ""
3983 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
3984 "があることを保証しなければならない。"
3985
3986 #. type: Plain text
3987 #: build/C/man3/mbstowcs.3:79
3988 msgid ""
3989 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
3990 "except that the converted wide characters are not written out to memory, and "
3991 "that no length limit exists."
3992 msgstr ""
3993 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
3994 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
3995
3996 #. type: Plain text
3997 #: build/C/man3/mbstowcs.3:85
3998 msgid ""
3999 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
4000 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
4001 msgstr ""
4002 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4003 "src,0)+1> 以上であることを保証すべきである。"
4004
4005 #. type: Plain text
4006 #: build/C/man3/mbstowcs.3:95
4007 msgid ""
4008 "The B<mbstowcs>()  function returns the number of wide characters that make "
4009 "up the converted part of the wide-character string, not including the "
4010 "terminating null wide character.  If an invalid multibyte sequence was "
4011 "encountered, I<(size_t)\\ -1> is returned."
4012 msgstr ""
4013 "B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4014 "ナルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には I<"
4015 "(size_t)\\ -1> を返す。"
4016
4017 #. type: Plain text
4018 #: build/C/man3/mbstowcs.3:104
4019 msgid ""
4020 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
4021 "current locale."
4022 msgstr ""
4023 "B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4024
4025 #. type: Plain text
4026 #: build/C/man3/mbstowcs.3:109
4027 msgid ""
4028 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
4029 "functionality."
4030 msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4031
4032 #. type: Plain text
4033 #: build/C/man3/mbstowcs.3:114
4034 msgid ""
4035 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
4036 "the wider character classification functions.  An example run is the "
4037 "following:"
4038 msgstr "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示したものである。実行例は以下のようになる。"
4039
4040 #. type: Plain text
4041 #: build/C/man3/mbstowcs.3:121
4042 #, no-wrap
4043 msgid ""
4044 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4045 "Length of source string (excluding terminator):\n"
4046 "    8 bytes\n"
4047 "    6 multibyte characters\n"
4048 msgstr ""
4049 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4050 "Length of source string (excluding terminator):\n"
4051 "    8 bytes\n"
4052 "    6 multibyte characters\n"
4053
4054 #. type: Plain text
4055 #: build/C/man3/mbstowcs.3:129
4056 #, no-wrap
4057 msgid ""
4058 "Wide character string is: Grüße! (6 characters)\n"
4059 "    G alpha upper\n"
4060 "    r alpha lower\n"
4061 "    ü alpha lower\n"
4062 "    ß alpha lower\n"
4063 "    e alpha lower\n"
4064 "    ! !alpha\n"
4065 msgstr ""
4066 "Wide character string is: Grüße! (6 characters)\n"
4067 "    G alpha upper\n"
4068 "    r alpha lower\n"
4069 "    ü alpha lower\n"
4070 "    ß alpha lower\n"
4071 "    e alpha lower\n"
4072 "    ! !alpha\n"
4073
4074 #. type: SS
4075 #: build/C/man3/mbstowcs.3:131 build/C/man3/strtol.3:248
4076 #, no-wrap
4077 msgid "Program source"
4078 msgstr "プログラムのソース"
4079
4080 #. type: Plain text
4081 #: build/C/man3/mbstowcs.3:138
4082 #, no-wrap
4083 msgid ""
4084 "#include E<lt>locale.hE<gt>\n"
4085 "#include E<lt>wchar.hE<gt>\n"
4086 "#include E<lt>stdio.hE<gt>\n"
4087 "#include E<lt>string.hE<gt>\n"
4088 "#include E<lt>stdlib.hE<gt>\n"
4089 msgstr ""
4090 "#include E<lt>locale.hE<gt>\n"
4091 "#include E<lt>wchar.hE<gt>\n"
4092 "#include E<lt>stdio.hE<gt>\n"
4093 "#include E<lt>string.hE<gt>\n"
4094 "#include E<lt>stdlib.hE<gt>\n"
4095
4096 #. type: Plain text
4097 #: build/C/man3/mbstowcs.3:145
4098 #, no-wrap
4099 msgid ""
4100 "int\n"
4101 "main(int argc, char *argv[])\n"
4102 "{\n"
4103 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4104 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4105 "    wchar_t *wp;\n"
4106 msgstr ""
4107 "int\n"
4108 "main(int argc, char *argv[])\n"
4109 "{\n"
4110 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4111 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4112 "    wchar_t *wp;\n"
4113
4114 #. type: Plain text
4115 #: build/C/man3/mbstowcs.3:150
4116 #, no-wrap
4117 msgid ""
4118 "    if (argc E<lt> 3) {\n"
4119 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4120 "        exit(EXIT_FAILURE);\n"
4121 "    }\n"
4122 msgstr ""
4123 "    if (argc E<lt> 3) {\n"
4124 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4125 "        exit(EXIT_FAILURE);\n"
4126 "    }\n"
4127
4128 #. type: Plain text
4129 #: build/C/man3/mbstowcs.3:152
4130 #, no-wrap
4131 msgid "    /* Apply the specified locale */\n"
4132 msgstr "    /* Apply the specified locale */\n"
4133
4134 #. type: Plain text
4135 #: build/C/man3/mbstowcs.3:157
4136 #, no-wrap
4137 msgid ""
4138 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4139 "        perror(\"setlocale\");\n"
4140 "        exit(EXIT_FAILURE);\n"
4141 "    }\n"
4142 msgstr ""
4143 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4144 "        perror(\"setlocale\");\n"
4145 "        exit(EXIT_FAILURE);\n"
4146 "    }\n"
4147
4148 #. type: Plain text
4149 #: build/C/man3/mbstowcs.3:160
4150 #, no-wrap
4151 msgid ""
4152 "    /* Calculate the length required to hold argv[2] converted to\n"
4153 "       a wide character string */\n"
4154 msgstr ""
4155 "    /* Calculate the length required to hold argv[2] converted to\n"
4156 "       a wide character string */\n"
4157
4158 #. type: Plain text
4159 #: build/C/man3/mbstowcs.3:166
4160 #, no-wrap
4161 msgid ""
4162 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4163 "    if (mbslen == (size_t) -1) {\n"
4164 "        perror(\"mbstowcs\");\n"
4165 "        exit(EXIT_FAILURE);\n"
4166 "    }\n"
4167 msgstr ""
4168 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4169 "    if (mbslen == (size_t) -1) {\n"
4170 "        perror(\"mbstowcs\");\n"
4171 "        exit(EXIT_FAILURE);\n"
4172 "    }\n"
4173
4174 #. type: Plain text
4175 #: build/C/man3/mbstowcs.3:168
4176 #, no-wrap
4177 msgid "    /* Describe the source string to the user */\n"
4178 msgstr "    /* Describe the source string to the user */\n"
4179
4180 #. type: Plain text
4181 #: build/C/man3/mbstowcs.3:172
4182 #, no-wrap
4183 msgid ""
4184 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4185 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4186 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4187 msgstr ""
4188 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4189 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4190 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4191
4192 #. type: Plain text
4193 #: build/C/man3/mbstowcs.3:175
4194 #, no-wrap
4195 msgid ""
4196 "    /* Allocate wide character string of the desired size.  Add 1\n"
4197 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4198 msgstr ""
4199 "    /* Allocate wide character string of the desired size.  Add 1\n"
4200 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4201
4202 #. type: Plain text
4203 #: build/C/man3/mbstowcs.3:181
4204 #, no-wrap
4205 msgid ""
4206 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4207 "    if (wcs == NULL) {\n"
4208 "        perror(\"calloc\");\n"
4209 "        exit(EXIT_FAILURE);\n"
4210 "    }\n"
4211 msgstr ""
4212 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4213 "    if (wcs == NULL) {\n"
4214 "        perror(\"calloc\");\n"
4215 "        exit(EXIT_FAILURE);\n"
4216 "    }\n"
4217
4218 #. type: Plain text
4219 #: build/C/man3/mbstowcs.3:184
4220 #, no-wrap
4221 msgid ""
4222 "    /* Convert the multibyte character string in argv[2] to a\n"
4223 "       wide character string */\n"
4224 msgstr ""
4225 "    /* Convert the multibyte character string in argv[2] to a\n"
4226 "       wide character string */\n"
4227
4228 #. type: Plain text
4229 #: build/C/man3/mbstowcs.3:189
4230 #, no-wrap
4231 msgid ""
4232 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4233 "        perror(\"mbstowcs\");\n"
4234 "        exit(EXIT_FAILURE);\n"
4235 "    }\n"
4236 msgstr ""
4237 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4238 "        perror(\"mbstowcs\");\n"
4239 "        exit(EXIT_FAILURE);\n"
4240 "    }\n"
4241
4242 #. type: Plain text
4243 #: build/C/man3/mbstowcs.3:192
4244 #, no-wrap
4245 msgid ""
4246 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4247 "            wcs, mbslen);\n"
4248 msgstr ""
4249 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4250 "            wcs, mbslen);\n"
4251
4252 #. type: Plain text
4253 #: build/C/man3/mbstowcs.3:195
4254 #, no-wrap
4255 msgid ""
4256 "    /* Now do some inspection of the classes of the characters in\n"
4257 "       the wide character string */\n"
4258 msgstr ""
4259 "    /* Now do some inspection of the classes of the characters in\n"
4260 "       the wide character string */\n"
4261
4262 #. type: Plain text
4263 #: build/C/man3/mbstowcs.3:198
4264 #, no-wrap
4265 msgid ""
4266 "    for (wp = wcs; *wp != 0; wp++) {\n"
4267 "        printf(\"    %lc \", (wint_t) *wp);\n"
4268 msgstr ""
4269 "    for (wp = wcs; *wp != 0; wp++) {\n"
4270 "        printf(\"    %lc \", (wint_t) *wp);\n"
4271
4272 #. type: Plain text
4273 #: build/C/man3/mbstowcs.3:202
4274 #, no-wrap
4275 msgid ""
4276 "        if (!iswalpha(*wp))\n"
4277 "            printf(\"!\");\n"
4278 "        printf(\"alpha \");\n"
4279 msgstr ""
4280 "        if (!iswalpha(*wp))\n"
4281 "            printf(\"!\");\n"
4282 "        printf(\"alpha \");\n"
4283
4284 #. type: Plain text
4285 #: build/C/man3/mbstowcs.3:206
4286 #, no-wrap
4287 msgid ""
4288 "        if (iswalpha(*wp)) {\n"
4289 "            if (iswupper(*wp))\n"
4290 "                printf(\"upper \");\n"
4291 msgstr ""
4292 "        if (iswalpha(*wp)) {\n"
4293 "            if (iswupper(*wp))\n"
4294 "                printf(\"upper \");\n"
4295
4296 #. type: Plain text
4297 #: build/C/man3/mbstowcs.3:210
4298 #, no-wrap
4299 msgid ""
4300 "            if (iswlower(*wp))\n"
4301 "                printf(\"lower \");\n"
4302 "        }\n"
4303 msgstr ""
4304 "            if (iswlower(*wp))\n"
4305 "                printf(\"lower \");\n"
4306 "        }\n"
4307
4308 #. type: Plain text
4309 #: build/C/man3/mbstowcs.3:213
4310 #, no-wrap
4311 msgid ""
4312 "        putchar(\\(aq\\en\\(aq);\n"
4313 "    }\n"
4314 msgstr ""
4315 "        putchar(\\(aq\\en\\(aq);\n"
4316 "    }\n"
4317
4318 #. type: Plain text
4319 #: build/C/man3/mbstowcs.3:223
4320 msgid ""
4321 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4322 msgstr "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4323
4324 #. type: TH
4325 #: build/C/man3/mbtowc.3:16
4326 #, no-wrap
4327 msgid "MBTOWC"
4328 msgstr "MBTOWC"
4329
4330 #. type: Plain text
4331 #: build/C/man3/mbtowc.3:19
4332 msgid "mbtowc - convert a multibyte sequence to a wide character"
4333 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4334
4335 #. type: Plain text
4336 #: build/C/man3/mbtowc.3:24
4337 #, no-wrap
4338 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4339 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4340
4341 #. type: Plain text
4342 #: build/C/man3/mbtowc.3:50
4343 msgid ""
4344 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
4345 "NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
4346 "of the multibyte string starting at I<s>, extracts the next complete "
4347 "multibyte character, converts it to a wide character and stores it at "
4348 "I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
4349 "function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
4350 "returns the number of bytes that were consumed from I<s>, otherwise it "
4351 "returns 0."
4352 msgstr ""
4353 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
4354 "の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
4355 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
4356 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
4357 "る。I<s> が NULL バイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消"
4358 "費するバイト数を返す。 I<s> が NULL バイトを指している場合には 0 を返す。"
4359
4360 #. type: Plain text
4361 #: build/C/man3/mbtowc.3:64
4362 msgid ""
4363 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
4364 "character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
4365 "returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
4366 "multibyte string contains redundant shift sequences."
4367 msgstr ""
4368 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4369 "なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
4370 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4371 "場合もこのようなことが 起こりえる。"
4372
4373 #. type: Plain text
4374 #: build/C/man3/mbtowc.3:75
4375 msgid ""
4376 "A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case "
4377 "the B<mbtowc>()  function behaves as above, except that it does not store "
4378 "the converted wide character in memory."
4379 msgstr ""
4380 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
4381 "動作するが、変換したワイド文字はメモリには書き込まれない。"
4382
4383 #.  The Dinkumware doc and the Single UNIX specification say this, but
4384 #.  glibc doesn't implement this.
4385 #. type: Plain text
4386 #: build/C/man3/mbtowc.3:94
4387 msgid ""
4388 "A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
4389 "ignored.  The B<mbtowc>()  function resets the shift state, only known to "
4390 "this function, to the initial state, and returns nonzero if the encoding has "
4391 "nontrivial shift state, or zero if the encoding is stateless."
4392 msgstr ""
4393 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4394 "B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4395 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4396 "を返す。"
4397
4398 #. type: Plain text
4399 #: build/C/man3/mbtowc.3:106
4400 msgid ""
4401 "If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
4402 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
4403 "upon failure."
4404 msgstr ""
4405 "I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
4406 "I<s> がナル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4407
4408 #. type: Plain text
4409 #: build/C/man3/mbtowc.3:114
4410 msgid ""
4411 "If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
4412 "has nontrivial shift state, or zero if the encoding is stateless."
4413 msgstr ""
4414 "I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
4415 "ゼロ以外を、状態によらなければゼロを返す。"
4416
4417 #. type: Plain text
4418 #: build/C/man3/mbtowc.3:123
4419 msgid ""
4420 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
4421 "current locale."
4422 msgstr ""
4423 "B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4424
4425 #. type: Plain text
4426 #: build/C/man3/mbtowc.3:129
4427 msgid ""
4428 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
4429 "a better interface to the same functionality."
4430 msgstr ""
4431 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
4432 "り良いインターフェースを提供する。"
4433
4434 #. type: Plain text
4435 #: build/C/man3/mbtowc.3:136
4436 msgid ""
4437 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4438 "B<wcstombs>(3)"
4439 msgstr "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), B<wcstombs>(3)"
4440
4441 #. type: TH
4442 #: build/C/man3/mkdtemp.3:26
4443 #, no-wrap
4444 msgid "MKDTEMP"
4445 msgstr "MKDTEMP"
4446
4447 #. type: Plain text
4448 #: build/C/man3/mkdtemp.3:29
4449 msgid "mkdtemp - create a unique temporary directory"
4450 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4451
4452 #. type: Plain text
4453 #: build/C/man3/mkdtemp.3:34
4454 #, no-wrap
4455 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4456 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4457
4458 #. type: Plain text
4459 #: build/C/man3/mkdtemp.3:42
4460 msgid "B<mkdtemp>():"
4461 msgstr "B<mkdtemp>():"
4462
4463 #. type: Plain text
4464 #: build/C/man3/mkdtemp.3:47
4465 msgid "_BSD_SOURCE"
4466 msgstr "_BSD_SOURCE"
4467
4468 #. type: Plain text
4469 #: build/C/man3/mkdtemp.3:49
4470 msgid "|| /* Since glibc 2.10: */"
4471 msgstr "|| /* Since glibc 2.10: */"
4472
4473 #. type: Plain text
4474 #: build/C/man3/mkdtemp.3:51
4475 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4476 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4477
4478 #. type: Plain text
4479 #: build/C/man3/mkdtemp.3:68
4480 msgid ""
4481 "The B<mkdtemp>()  function generates a uniquely named temporary directory "
4482 "from I<template>.  The last six characters of I<template> must be XXXXXX and "
4483 "these are replaced with a string that makes the directory name unique.  The "
4484 "directory is then created with permissions 0700.  Since it will be modified, "
4485 "I<template> must not be a string constant, but should be declared as a "
4486 "character array."
4487 msgstr ""
4488 "B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4489 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4490 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4491 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4492 "字列定数にしてはならず、文字配列にすべきである。"
4493
4494 #. type: Plain text
4495 #: build/C/man3/mkdtemp.3:75
4496 msgid ""
4497 "The B<mkdtemp>()  function returns a pointer to the modified template string "
4498 "on success, and NULL on failure, in which case I<errno> is set appropriately."
4499 msgstr ""
4500 "成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
4501 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4502
4503 #. type: TP
4504 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
4505 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
4506 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
4507 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
4508 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
4509 #: build/C/man3/strtoul.3:149
4510 #, no-wrap
4511 msgid "B<EINVAL>"
4512 msgstr "B<EINVAL>"
4513
4514 #. type: Plain text
4515 #: build/C/man3/mkdtemp.3:80
4516 msgid ""
4517 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
4518 "unchanged."
4519 msgstr ""
4520 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4521 "ない。"
4522
4523 #. type: Plain text
4524 #: build/C/man3/mkdtemp.3:84
4525 msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
4526 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
4527
4528 #. type: Plain text
4529 #: build/C/man3/mkdtemp.3:86
4530 msgid "Available since glibc 2.1.91."
4531 msgstr "OpenBSD 2.2 で導入された。"
4532
4533 #.  As at 2006, this function is being considered for a revision of POSIX.1
4534 #.  Also in NetBSD 1.4.
4535 #. type: Plain text
4536 #: build/C/man3/mkdtemp.3:91
4537 msgid "POSIX.1-2008.  This function is present on the BSDs."
4538 msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
4539
4540 #. type: Plain text
4541 #: build/C/man3/mkdtemp.3:98
4542 msgid ""
4543 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4544 "B<tmpnam>(3)"
4545 msgstr ""
4546 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4547 "B<tmpnam>(3)"
4548
4549 #. type: TH
4550 #: build/C/man3/mkstemp.3:35
4551 #, no-wrap
4552 msgid "MKSTEMP"
4553 msgstr "MKSTEMP"
4554
4555 #. type: TH
4556 #: build/C/man3/mkstemp.3:35
4557 #, no-wrap
4558 msgid "2013-12-28"
4559 msgstr "2013-12-28"
4560
4561 #. type: Plain text
4562 #: build/C/man3/mkstemp.3:38
4563 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4564 msgstr ""
4565 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4566 "を作成する"
4567
4568 #. type: Plain text
4569 #: build/C/man3/mkstemp.3:43
4570 #, no-wrap
4571 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4572 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4573
4574 #. type: Plain text
4575 #: build/C/man3/mkstemp.3:45
4576 #, no-wrap
4577 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4578 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4579
4580 #. type: Plain text
4581 #: build/C/man3/mkstemp.3:47
4582 #, no-wrap
4583 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4584 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4585
4586 #. type: Plain text
4587 #: build/C/man3/mkstemp.3:49
4588 #, no-wrap
4589 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4590 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4591
4592 #. type: Plain text
4593 #: build/C/man3/mkstemp.3:57
4594 msgid "B<mkstemp>():"
4595 msgstr "B<mkstemp>():"
4596
4597 #. type: Plain text
4598 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4599 msgid ""
4600 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4601 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4602 msgstr ""
4603 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4604 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4605
4606 #. type: Plain text
4607 #: build/C/man3/mkstemp.3:64
4608 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4609 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4610
4611 #. type: Plain text
4612 #: build/C/man3/mkstemp.3:70
4613 msgid "B<mkostemp>(): _GNU_SOURCE"
4614 msgstr "B<mkostemp>(): _GNU_SOURCE"
4615
4616 #. type: Plain text
4617 #: build/C/man3/mkstemp.3:73
4618 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4619 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4620
4621 #. type: Plain text
4622 #: build/C/man3/mkstemp.3:76
4623 msgid "B<mkostemps>(): _GNU_SOURCE"
4624 msgstr "B<mkostemps>(): _GNU_SOURCE"
4625
4626 #. type: Plain text
4627 #: build/C/man3/mkstemp.3:83
4628 msgid ""
4629 "The B<mkstemp>()  function generates a unique temporary filename from "
4630 "I<template>, creates and opens the file, and returns an open file descriptor "
4631 "for the file."
4632 msgstr ""
4633 "関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
4634 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4635 "ファイルディスクリプタを返す。"
4636
4637 #. type: Plain text
4638 #: build/C/man3/mkstemp.3:91
4639 msgid ""
4640 "The last six characters of I<template> must be \"XXXXXX\" and these are "
4641 "replaced with a string that makes the filename unique.  Since it will be "
4642 "modified, I<template> must not be a string constant, but should be declared "
4643 "as a character array."
4644 msgstr ""
4645 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4646 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4647 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4648 "うにしなければならない。"
4649
4650 #. type: Plain text
4651 #: build/C/man3/mkstemp.3:99
4652 msgid ""
4653 "The file is created with permissions 0600, that is, read plus write for "
4654 "owner only.  The returned file descriptor provides both read and write "
4655 "access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
4656 "guaranteeing that the caller is the process that creates the file."
4657 msgstr ""
4658 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4659 "るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
4660 "る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
4661 "ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
4662
4663 #.  Reportedly, FreeBSD
4664 #. type: Plain text
4665 #: build/C/man3/mkstemp.3:130
4666 msgid ""
4667 "The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
4668 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
4669 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
4670 "when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
4671 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
4672 "including these values in the I<flags> argument given to B<mkostemp>()  is "
4673 "unnecessary, and produces errors on some systems."
4674 msgstr "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システムによってはエラーが発生する点に注意すること。"
4675
4676 #. type: Plain text
4677 #: build/C/man3/mkstemp.3:146
4678 msgid ""
4679 "The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
4680 "I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
4681 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
4682 "for B<mkstemp>()."
4683 msgstr ""
4684 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4685 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4686 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4687 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4688
4689 #. type: Plain text
4690 #: build/C/man3/mkstemp.3:155
4691 msgid ""
4692 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
4693 "B<mkstemp>()."
4694 msgstr ""
4695 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4696 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4697
4698 #. type: Plain text
4699 #: build/C/man3/mkstemp.3:161
4700 msgid ""
4701 "On success, these functions return the file descriptor of the temporary "
4702 "file.  On error, -1 is returned, and I<errno> is set appropriately."
4703 msgstr ""
4704 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
4705 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
4706
4707 #. type: TP
4708 #: build/C/man3/mkstemp.3:162
4709 #, no-wrap
4710 msgid "B<EEXIST>"
4711 msgstr "B<EEXIST>"
4712
4713 #. type: Plain text
4714 #: build/C/man3/mkstemp.3:166
4715 msgid ""
4716 "Could not create a unique temporary filename.  Now the contents of "
4717 "I<template> are undefined."
4718 msgstr ""
4719 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4720
4721 #. type: Plain text
4722 #: build/C/man3/mkstemp.3:174
4723 msgid ""
4724 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
4725 "were not XXXXXX; now I<template> is unchanged."
4726 msgstr ""
4727 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4728 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4729 "この場合、I<template> は変更されない。"
4730
4731 #. type: Plain text
4732 #: build/C/man3/mkstemp.3:185
4733 msgid ""
4734 "For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
4735 "suffixlen)> characters long, or the last 6 characters before the suffix in "
4736 "I<template> were not XXXXXX."
4737 msgstr ""
4738 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4739 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4740 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4741
4742 #. type: Plain text
4743 #: build/C/man3/mkstemp.3:188
4744 msgid ""
4745 "These functions may also fail with any of the errors described for B<open>"
4746 "(2)."
4747 msgstr ""
4748 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4749 "る。"
4750
4751 #. type: Plain text
4752 #: build/C/man3/mkstemp.3:195
4753 msgid ""
4754 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and B<mkostemps>"
4755 "()  are available since glibc 2.11."
4756 msgstr ""
4757 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4758 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4759
4760 #. type: Plain text
4761 #: build/C/man3/mkstemp.3:198
4762 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4763 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4764
4765 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4766 #.  and Tru64.
4767 #. type: Plain text
4768 #: build/C/man3/mkstemp.3:203
4769 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4770 msgstr ""
4771 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4772
4773 #. type: Plain text
4774 #: build/C/man3/mkstemp.3:208
4775 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
4776 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4777
4778 #. type: Plain text
4779 #: build/C/man3/mkstemp.3:215
4780 msgid ""
4781 "In glibc versions 2.06 and earlier, the file is created with permissions "
4782 "0666, that is, read and write for all users.  This old behavior may be a "
4783 "security risk, especially since other UNIX flavors use 0600, and somebody "
4784 "might overlook this detail when porting programs.  POSIX.1-2008 adds a "
4785 "requirement that the file be created with mode 0600."
4786 msgstr ""
4787 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4788 "ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
4789 "る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
4790 "る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
4791 "ルを許可モード 0600 で作成することが必須要件として追加された。"
4792
4793 #. type: Plain text
4794 #: build/C/man3/mkstemp.3:226
4795 msgid ""
4796 "More generally, the POSIX specification of B<mkstemp>()  does not say "
4797 "anything about file modes, so the application should make sure its file mode "
4798 "creation mask (see B<umask>(2))  is set appropriately before calling "
4799 "B<mkstemp>()  (and B<mkostemp>())."
4800 msgstr ""
4801 "より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
4802 "べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
4803 "呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
4804 "るか確認するべきである。"
4805
4806 #. type: Plain text
4807 #: build/C/man3/mkstemp.3:233
4808 msgid ""
4809 "The prototype for B<mktemp>()  is in I<E<lt>unistd.hE<gt>> for libc4, libc5, "
4810 "glibc1; glibc2 follows POSIX.1 and has the prototype in I<E<lt>stdlib."
4811 "hE<gt>>."
4812 msgstr ""
4813 "B<mktemp>()  のプロトタイプ宣言は、libc4, libc5, glibc1 では I<E<lt>unistd."
4814 "hE<gt>> に含まれる; glibc2 では POSIX.1 に準拠し I<E<lt>stdlib.hE<gt>> に含ま"
4815 "れている。"
4816
4817 #. type: Plain text
4818 #: build/C/man3/mkstemp.3:239
4819 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4820 msgstr ""
4821 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4822
4823 #. type: TH
4824 #: build/C/man3/mktemp.3:34
4825 #, no-wrap
4826 msgid "MKTEMP"
4827 msgstr "MKTEMP"
4828
4829 #. type: TH
4830 #: build/C/man3/mktemp.3:34
4831 #, no-wrap
4832 msgid "2014-02-27"
4833 msgstr "2014-02-27"
4834
4835 #. type: Plain text
4836 #: build/C/man3/mktemp.3:37
4837 msgid "mktemp - make a unique temporary filename"
4838 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4839
4840 #. type: Plain text
4841 #: build/C/man3/mktemp.3:42
4842 #, no-wrap
4843 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4844 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4845
4846 #. type: Plain text
4847 #: build/C/man3/mktemp.3:50
4848 msgid "B<mktemp>():"
4849 msgstr "B<mktemp>():"
4850
4851 #. type: Plain text
4852 #: build/C/man3/mktemp.3:59
4853 #, no-wrap
4854 msgid ""
4855 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4856 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4857 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4858 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4859 msgstr ""
4860 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4861 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4862 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4863 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4864
4865 #. type: Plain text
4866 #: build/C/man3/mktemp.3:69
4867 msgid "I<Never use this function>; see NOTES."
4868 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
4869
4870 #. type: Plain text
4871 #: build/C/man3/mktemp.3:80
4872 msgid ""
4873 "The B<mktemp>()  function generates a unique temporary filename from "
4874 "I<template>.  The last six characters of I<template> must be XXXXXX and "
4875 "these are replaced with a string that makes the filename unique.  Since it "
4876 "will be modified, I<template> must not be a string constant, but should be "
4877 "declared as a character array."
4878 msgstr ""
4879 "関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
4880 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
4881 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
4882 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
4883 "るように しなければならない。"
4884
4885 #. type: Plain text
4886 #: build/C/man3/mktemp.3:91
4887 msgid ""
4888 "The B<mktemp>()  function always returns I<template>.  If a unique name was "
4889 "created, the last six bytes of I<template> will have been modified in such a "
4890 "way that the resulting name is unique (i.e., does not exist already)  If a "
4891 "unique name could not be created, I<template> is made an empty string, and "
4892 "I<errno> is set to indicate the error."
4893 msgstr ""
4894 "関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
4895 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
4896 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
4897 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
4898 "る。"
4899
4900 #. type: Plain text
4901 #: build/C/man3/mktemp.3:95
4902 msgid "The last six characters of I<template> were not XXXXXX."
4903 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
4904
4905 #. type: Plain text
4906 #: build/C/man3/mktemp.3:99
4907 msgid ""
4908 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
4909 msgstr ""
4910 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
4911 "る。"
4912
4913 #. type: Plain text
4914 #: build/C/man3/mktemp.3:105
4915 msgid ""
4916 "The prototype is in I<E<lt>unistd.hE<gt>> for libc4, libc5, glibc1; glibc2 "
4917 "follows the Single UNIX Specification and has the prototype in I<E<lt>stdlib."
4918 "hE<gt>>."
4919 msgstr ""
4920 "libc4, libc5, glibc1 でのプロトタイプ宣言は I<E<lt>unistd.hE<gt>> に含まれ"
4921 "る; glibc2 では Single UNIX Specification に従って I<E<lt>stdlib.hE<gt>> に含"
4922 "まれている。"
4923
4924 #. type: SH
4925 #: build/C/man3/mktemp.3:105 build/C/man3/random.3:180
4926 #: build/C/man3/rpmatch.3:104 build/C/man3/setenv.3:144
4927 #, no-wrap
4928 msgid "BUGS"
4929 msgstr "バグ"
4930
4931 #. type: Plain text
4932 #: build/C/man3/mktemp.3:118
4933 msgid ""
4934 "Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
4935 "XXXXXX by the current process ID and a single letter, so that at most 26 "
4936 "different names can be returned.  Since on the one hand the names are easy "
4937 "to guess, and on the other hand there is a race between testing whether the "
4938 "name exists and opening the file, every use of B<mktemp>()  is a security "
4939 "risk.  The race is avoided by B<mkstemp>(3)."
4940 msgstr ""
4941 "B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
4942 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
4943 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
4944 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
4945 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
4946 "ことで避けられる。"
4947
4948 #. type: Plain text
4949 #: build/C/man3/mktemp.3:123
4950 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4951 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4952
4953 #. type: TH
4954 #: build/C/man3/on_exit.3:31
4955 #, no-wrap
4956 msgid "ON_EXIT"
4957 msgstr "ON_EXIT"
4958
4959 #. type: Plain text
4960 #: build/C/man3/on_exit.3:34
4961 msgid ""
4962 "on_exit - register a function to be called at normal process termination"
4963 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
4964
4965 #. type: Plain text
4966 #: build/C/man3/on_exit.3:39
4967 #, no-wrap
4968 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
4969 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
4970
4971 #. type: Plain text
4972 #: build/C/man3/on_exit.3:48
4973 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
4974 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
4975
4976 #. type: Plain text
4977 #: build/C/man3/on_exit.3:66
4978 msgid ""
4979 "The B<on_exit>()  function registers the given I<function> to be called at "
4980 "normal process termination, whether via B<exit>(3)  or via return from the "
4981 "program's I<main>().  The I<function> is passed the status argument given to "
4982 "the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
4983 msgstr ""
4984 "B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
4985 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
4986 "ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
4987 "は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
4988 "I<arg> 引数が渡される。"
4989
4990 #. type: Plain text
4991 #: build/C/man3/on_exit.3:81
4992 msgid ""
4993 "The B<on_exit>()  function returns the value 0 if successful; otherwise it "
4994 "returns a nonzero value."
4995 msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
4996
4997 #. type: Plain text
4998 #: build/C/man3/on_exit.3:88
4999 msgid ""
5000 "This function comes from SunOS 4, but is also present in libc4, libc5 and "
5001 "glibc.  It no longer occurs in Solaris (SunOS 5).  Avoid this function, and "
5002 "use the standard B<atexit>(3)  instead."
5003 msgstr ""
5004 "この関数は SunOS 4 由来であるが、libc4, libc5, glibc にも存在する。 Solaris "
5005 "(SunOS 5) にはもはや存在しない。 この関数の使用は避け、代わりに標準の "
5006 "B<atexit>(3)  を使うこと。"
5007
5008 #. type: Plain text
5009 #: build/C/man3/on_exit.3:92
5010 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5011 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5012
5013 #. type: TH
5014 #: build/C/man3/putenv.3:36
5015 #, no-wrap
5016 msgid "PUTENV"
5017 msgstr "PUTENV"
5018
5019 #. type: TH
5020 #: build/C/man3/putenv.3:36 build/C/man3/random.3:33
5021 #: build/C/man3/random_r.3:26
5022 #, no-wrap
5023 msgid "2013-04-19"
5024 msgstr "2013-04-19"
5025
5026 #. type: Plain text
5027 #: build/C/man3/putenv.3:39
5028 msgid "putenv - change or add an environment variable"
5029 msgstr "putenv - 環境変数の変更または追加"
5030
5031 #.  Not: const char *
5032 #. type: Plain text
5033 #: build/C/man3/putenv.3:45
5034 #, no-wrap
5035 msgid "B<int putenv(char *>I<string>B<);>\n"
5036 msgstr "B<int putenv(char *>I<string>B<);>\n"
5037
5038 #. type: Plain text
5039 #: build/C/man3/putenv.3:54
5040 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5041 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5042
5043 #. type: Plain text
5044 #: build/C/man3/putenv.3:67
5045 msgid ""
5046 "The B<putenv>()  function adds or changes the value of environment "
5047 "variables.  The argument I<string> is of the form I<name>=I<value>.  If "
5048 "I<name> does not already exist in the environment, then I<string> is added "
5049 "to the environment.  If I<name> does exist, then the value of I<name> in the "
5050 "environment is changed to I<value>.  The string pointed to by I<string> "
5051 "becomes part of the environment, so altering the string changes the "
5052 "environment."
5053 msgstr ""
5054 "B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
5055 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
5056 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
5057 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
5058 "文字列を変更すると環境も変更される。"
5059
5060 #. type: Plain text
5061 #: build/C/man3/putenv.3:75
5062 msgid ""
5063 "The B<putenv>()  function returns zero on success, or nonzero if an error "
5064 "occurs.  In the event of an error, I<errno> is set to indicate the cause."
5065 msgstr ""
5066 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5067 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5068
5069 #. type: TP
5070 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5071 #, no-wrap
5072 msgid "B<ENOMEM>"
5073 msgstr "B<ENOMEM>"
5074
5075 #. type: Plain text
5076 #: build/C/man3/putenv.3:79
5077 msgid "Insufficient space to allocate new environment."
5078 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5079
5080 #. type: Plain text
5081 #: build/C/man3/putenv.3:81
5082 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5083 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5084
5085 #. type: Plain text
5086 #: build/C/man3/putenv.3:86
5087 msgid ""
5088 "The B<putenv>()  function is not required to be reentrant, and the one in "
5089 "libc4, libc5 and glibc 2.0 is not, but the glibc 2.1 version is."
5090 msgstr ""
5091 "B<putenv>()  はリエントラントであることを求められていない。 libc4, libc5, "
5092 "glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
5093
5094 #. type: Plain text
5095 #: build/C/man3/putenv.3:99
5096 msgid ""
5097 "Description for libc4, libc5, glibc: If the argument I<string> is of the "
5098 "form I<name>, and does not contain an \\(aq=\\(aq character, then the "
5099 "variable I<name> is removed from the environment.  If B<putenv>()  has to "
5100 "allocate a new array I<environ>, and the previous array was also allocated "
5101 "by B<putenv>(), then it will be freed.  In no case will the old storage "
5102 "associated to the environment variable itself be freed."
5103 msgstr ""
5104 "libc4, libc5, glibc に関する説明: もし引数 I<string> が I<name> 単独で、 "
5105 "\\(aq=\\(aq 文字を含んでいない場合、環境変数 I<name> は環境から除去される。 "
5106 "もし B<putenv>()  が新しい I<environ> 配列を確保しなければならない時、 以前"
5107 "の I<environ> 配列も B<putenv>()  によって確保されたものならば、 それは解放さ"
5108 "れる。 環境変数そのものに割り当てられた古い記憶領域が解放されることはない。"
5109
5110 #. type: Plain text
5111 #: build/C/man3/putenv.3:115
5112 msgid ""
5113 "The libc4 and libc5 and glibc 2.1.2 versions conform to SUSv2: the pointer "
5114 "I<string> given to B<putenv>()  is used.  In particular, this string becomes "
5115 "part of the environment; changing it later will change the environment.  "
5116 "(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
5117 "the argument, then return from the calling function while I<string> is still "
5118 "part of the environment.)  However, glibc 2.0-2.1.1 differs: a copy of the "
5119 "string is used.  On the one hand this causes a memory leak, and on the other "
5120 "hand it violates SUSv2.  This has been fixed in glibc 2.1.2."
5121 msgstr ""
5122 "libc4 と libc5 と glibc 2.1.2 では SUSv2 に準拠している。 B<putenv>()  で与え"
5123 "られたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更"
5124 "すると環境も変わる。 (従って、 B<putenv>()  を自動変数を引数として呼び出し、 "
5125 "I<string>が環境の一部のままで呼び出した関数から return するとエラーになる)  "
5126 "しかし、glibc 2.0-2.1.1 では異なり、文字列のコピーが使われる。 これはメモリ"
5127 "リークを引き起こすだけでなく、 SUSv2 に違反している。 これは glibc2.1.2 で修"
5128 "正された。"
5129
5130 #. type: Plain text
5131 #: build/C/man3/putenv.3:117
5132 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
5133 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
5134
5135 #. type: Plain text
5136 #: build/C/man3/putenv.3:119
5137 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5138 msgstr ""
5139 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5140 "うになっている。"
5141
5142 #. type: Plain text
5143 #: build/C/man3/putenv.3:125
5144 msgid ""
5145 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5146 msgstr ""
5147 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5148
5149 #. type: TH
5150 #: build/C/man3/qecvt.3:28
5151 #, no-wrap
5152 msgid "QECVT"
5153 msgstr "QECVT"
5154
5155 #. type: TH
5156 #: build/C/man3/qecvt.3:28
5157 #, no-wrap
5158 msgid "2014-03-11"
5159 msgstr "2014-03-11"
5160
5161 #. type: Plain text
5162 #: build/C/man3/qecvt.3:31
5163 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
5164 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
5165
5166 #. type: Plain text
5167 #: build/C/man3/qecvt.3:36
5168 msgid ""
5169 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5170 "> B<int *>I<sign>B<);>"
5171 msgstr ""
5172 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5173 "> B<int *>I<sign>B<);>"
5174
5175 #. type: Plain text
5176 #: build/C/man3/qecvt.3:39
5177 msgid ""
5178 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5179 "> B<int *>I<sign>B<);>"
5180 msgstr ""
5181 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5182 "> B<int *>I<sign>B<);>"
5183
5184 #. type: Plain text
5185 #: build/C/man3/qecvt.3:41
5186 msgid ""
5187 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5188 msgstr ""
5189 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5190
5191 #. type: Plain text
5192 #: build/C/man3/qecvt.3:52
5193 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5194 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5195
5196 #. type: Plain text
5197 #: build/C/man3/qecvt.3:85
5198 msgid ""
5199 "The functions B<qecvt>(), B<qfcvt>()  and B<qgcvt>()  are identical to "
5200 "B<ecvt>(3), B<fcvt>(3)  and B<gcvt>(3)  respectively, except that they use a "
5201 "I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
5202 msgstr ""
5203 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), B<fcvt>"
5204 "(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型である点"
5205 "だけが異なる。"
5206
5207 #. type: Plain text
5208 #: build/C/man3/qecvt.3:92
5209 msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
5210 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
5211
5212 #. type: Plain text
5213 #: build/C/man3/qecvt.3:96
5214 msgid "The B<qgcvt>()  function is thread-safe."
5215 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5216
5217 #. type: Plain text
5218 #: build/C/man3/qecvt.3:102
5219 msgid ""
5220 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
5221 "Not supported by libc4 and libc5.  Supported by glibc."
5222 msgstr ""
5223 "SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5224 "る。 libc4 と libc5 ではサポートされていないが、 glibc ではサポートされてい"
5225 "る。"
5226
5227 #. type: Plain text
5228 #: build/C/man3/qecvt.3:107
5229 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
5230 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5231
5232 #. type: Plain text
5233 #: build/C/man3/qecvt.3:112
5234 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5235 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5236
5237 #. type: TH
5238 #: build/C/man3/rand.3:41
5239 #, no-wrap
5240 msgid "RAND"
5241 msgstr "RAND"
5242
5243 #. type: TH
5244 #: build/C/man3/rand.3:41
5245 #, no-wrap
5246 msgid "2014-01-18"
5247 msgstr "2014-01-18"
5248
5249 #. type: Plain text
5250 #: build/C/man3/rand.3:44
5251 msgid "rand, rand_r, srand - pseudo-random number generator"
5252 msgstr "rand, srand - 乱数を生成する関数"
5253
5254 #. type: Plain text
5255 #: build/C/man3/rand.3:49
5256 #, no-wrap
5257 msgid "B<int rand(void);>\n"
5258 msgstr "B<int rand(void);>\n"
5259
5260 #. type: Plain text
5261 #: build/C/man3/rand.3:51
5262 #, no-wrap
5263 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5264 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5265
5266 #. type: Plain text
5267 #: build/C/man3/rand.3:53
5268 #, no-wrap
5269 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5270 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5271
5272 #. type: Plain text
5273 #: build/C/man3/rand.3:62
5274 msgid ""
5275 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5276 msgstr ""
5277 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5278
5279 #. type: Plain text
5280 #: build/C/man3/rand.3:68
5281 msgid ""
5282 "The B<rand>()  function returns a pseudo-random integer in the range 0 to "
5283 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
5284 msgstr ""
5285 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5286 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5287
5288 #. type: Plain text
5289 #: build/C/man3/rand.3:77
5290 msgid ""
5291 "The B<srand>()  function sets its argument as the seed for a new sequence of "
5292 "pseudo-random integers to be returned by B<rand>().  These sequences are "
5293 "repeatable by calling B<srand>()  with the same seed value."
5294 msgstr ""
5295 "B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
5296 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5297 "は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
5298 "る。"
5299
5300 #. type: Plain text
5301 #: build/C/man3/rand.3:81
5302 msgid ""
5303 "If no seed value is provided, the B<rand>()  function is automatically "
5304 "seeded with a value of 1."
5305 msgstr ""
5306 "種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
5307
5308 #. type: Plain text
5309 #: build/C/man3/rand.3:92
5310 msgid ""
5311 "The function B<rand>()  is not reentrant or thread-safe, since it uses "
5312 "hidden state that is modified on each call.  This might just be the seed "
5313 "value to be used by the next call, or it might be something more elaborate.  "
5314 "In order to get reproducible behavior in a threaded application, this state "
5315 "must be made explicit; this can be done using the reentrant function "
5316 "B<rand_r>()."
5317 msgstr ""
5318 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
5319 "い。\n"
5320 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5321 "る。\n"
5322 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5323 "る。\n"
5324 "実際にはもう少し複雑かもしれないが。\n"
5325 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5326 "この状態を明示的に指定できなければならない。これを行うには、\n"
5327 "再入可能な B<rand_r>() 関数を使用する。"
5328
5329 #. type: Plain text
5330 #: build/C/man3/rand.3:108
5331 msgid ""
5332 "Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
5333 "\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
5334 "that is used to store state between calls.  If B<rand_r>()  is called with "
5335 "the same initial value for the integer pointed to by I<seedp>, and that "
5336 "value is not modified between calls, then the same pseudo-random sequence "
5337 "will result."
5338 msgstr ""
5339 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5340 "す。\n"
5341 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5342 "I<unsigned int> へのポインタである。\n"
5343 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5344 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5345
5346 #. type: Plain text
5347 #: build/C/man3/rand.3:118
5348 msgid ""
5349 "The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
5350 "a very small amount of state, so this function will be a weak pseudo-random "
5351 "generator.  Try B<drand48_r>(3)  instead."
5352 msgstr ""
5353 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5354 "間\n"
5355 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5356 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5357
5358 #. type: Plain text
5359 #: build/C/man3/rand.3:129
5360 msgid ""
5361 "The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
5362 "B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
5363 msgstr ""
5364 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5365 "関数 B<srand>() は値を返さない。"
5366
5367 #. type: Plain text
5368 #: build/C/man3/rand.3:141
5369 msgid ""
5370 "The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
5371 "POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
5372 "marks B<rand_r>()  as obsolete."
5373 msgstr ""
5374 "関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
5375 "している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
5376 "B<rand_r>()  を廃止予定としている。"
5377
5378 #. type: Plain text
5379 #: build/C/man3/rand.3:160
5380 msgid ""
5381 "The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
5382 "same random number generator as B<random>(3)  and B<srandom>(3), so the "
5383 "lower-order bits should be as random as the higher-order bits.  However, on "
5384 "older B<rand>()  implementations, and on current implementations on "
5385 "different systems, the lower-order bits are much less random than the higher-"
5386 "order bits.  Do not use this function in applications intended to be "
5387 "portable when good randomness is needed.  (Use B<random>(3)  instead.)"
5388 msgstr ""
5389 "B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
5390 "B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5391 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5392 "B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5393 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5394 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
5395 "うこと)。"
5396
5397 #. type: Plain text
5398 #: build/C/man3/rand.3:166
5399 msgid ""
5400 "POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
5401 "and B<srand>(), possibly useful when one needs the same sequence on two "
5402 "different machines."
5403 msgstr ""
5404 "POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
5405 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5406
5407 #. type: Plain text
5408 #: build/C/man3/rand.3:170
5409 #, no-wrap
5410 msgid "static unsigned long next = 1;\n"
5411 msgstr "static unsigned long next = 1;\n"
5412
5413 #. type: Plain text
5414 #: build/C/man3/rand.3:176
5415 #, no-wrap
5416 msgid ""
5417 "/* RAND_MAX assumed to be 32767 */\n"
5418 "int myrand(void) {\n"
5419 "    next = next * 1103515245 + 12345;\n"
5420 "    return((unsigned)(next/65536) % 32768);\n"
5421 "}\n"
5422 msgstr ""
5423 "/* RAND_MAX を 32767 と仮定 */\n"
5424 "int myrand(void) {\n"
5425 "    next = next * 1103515245 + 12345;\n"
5426 "    return((unsigned)(next/65536) % 32768);\n"
5427 "}\n"
5428
5429 #. type: Plain text
5430 #: build/C/man3/rand.3:180
5431 #, no-wrap
5432 msgid ""
5433 "void mysrand(unsigned int seed) {\n"
5434 "    next = seed;\n"
5435 "}\n"
5436 msgstr ""
5437 "void mysrand(unsigned int seed) {\n"
5438 "    next = seed;\n"
5439 "}\n"
5440
5441 #. type: Plain text
5442 #: build/C/man3/rand.3:187
5443 msgid ""
5444 "The following program can be used to display the pseudo-random sequence "
5445 "produced by B<rand>()  when given a particular seed."
5446 msgstr ""
5447 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5448 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5449
5450 #. type: Plain text
5451 #: build/C/man3/rand.3:192
5452 #, no-wrap
5453 msgid ""
5454 "#include E<lt>stdlib.hE<gt>\n"
5455 "#include E<lt>stdio.hE<gt>\n"
5456 msgstr ""
5457 "#include E<lt>stdlib.hE<gt>\n"
5458 "#include E<lt>stdio.hE<gt>\n"
5459
5460 #. type: Plain text
5461 #: build/C/man3/rand.3:198
5462 #, no-wrap
5463 msgid ""
5464 "int\n"
5465 "main(int argc, char *argv[])\n"
5466 "{\n"
5467 "    int j, r, nloops;\n"
5468 "    unsigned int seed;\n"
5469 msgstr ""
5470 "int\n"
5471 "main(int argc, char *argv[])\n"
5472 "{\n"
5473 "    int j, r, nloops;\n"
5474 "    unsigned int seed;\n"
5475
5476 #. type: Plain text
5477 #: build/C/man3/rand.3:203
5478 #, no-wrap
5479 msgid ""
5480 "    if (argc != 3) {\n"
5481 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5482 "        exit(EXIT_FAILURE);\n"
5483 "    }\n"
5484 msgstr ""
5485 "    if (argc != 3) {\n"
5486 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5487 "        exit(EXIT_FAILURE);\n"
5488 "    }\n"
5489
5490 #. type: Plain text
5491 #: build/C/man3/rand.3:206
5492 #, no-wrap
5493 msgid ""
5494 "    seed = atoi(argv[1]);\n"
5495 "    nloops = atoi(argv[2]);\n"
5496 msgstr ""
5497 "    seed = atoi(argv[1]);\n"
5498 "    nloops = atoi(argv[2]);\n"
5499
5500 #. type: Plain text
5501 #: build/C/man3/rand.3:212
5502 #, no-wrap
5503 msgid ""
5504 "    srand(seed);\n"
5505 "    for (j = 0; j E<lt> nloops; j++) {\n"
5506 "        r =  rand();\n"
5507 "        printf(\"%d\\en\", r);\n"
5508 "    }\n"
5509 msgstr ""
5510 "    srand(seed);\n"
5511 "    for (j = 0; j E<lt> nloops; j++) {\n"
5512 "        r =  rand();\n"
5513 "        printf(\"%d\\en\", r);\n"
5514 "    }\n"
5515
5516 #. type: Plain text
5517 #: build/C/man3/rand.3:220
5518 msgid "B<drand48>(3), B<random>(3)"
5519 msgstr "B<drand48>(3), B<random>(3)"
5520
5521 #. type: TH
5522 #: build/C/man3/random.3:33
5523 #, no-wrap
5524 msgid "RANDOM"
5525 msgstr "RANDOM"
5526
5527 #. type: Plain text
5528 #: build/C/man3/random.3:36
5529 msgid "random, srandom, initstate, setstate - random number generator"
5530 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5531
5532 #. type: Plain text
5533 #: build/C/man3/random.3:41
5534 #, no-wrap
5535 msgid "B<long int random(void);>\n"
5536 msgstr "B<long int random(void);>\n"
5537
5538 #. type: Plain text
5539 #: build/C/man3/random.3:43
5540 #, no-wrap
5541 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5542 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5543
5544 #. type: Plain text
5545 #: build/C/man3/random.3:45
5546 #, no-wrap
5547 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5548 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5549
5550 #. type: Plain text
5551 #: build/C/man3/random.3:47
5552 #, no-wrap
5553 msgid "B<char *setstate(char *>I<state>B<);>\n"
5554 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5555
5556 #. type: Plain text
5557 #: build/C/man3/random.3:59
5558 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5559 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5560
5561 #. type: Plain text
5562 #: build/C/man3/random.3:62
5563 msgid ""
5564 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5565 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5566 msgstr ""
5567 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5568 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5569
5570 #. type: Plain text
5571 #: build/C/man3/random.3:73
5572 msgid ""
5573 "The B<random>()  function uses a nonlinear additive feedback random number "
5574 "generator employing a default table of size 31 long integers to return "
5575 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
5576 "period of this random number generator is very large, approximately I<16\\ *"
5577 "\\ ((2^31)\\ -\\ 1)>."
5578 msgstr ""
5579 "B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5580 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5581 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5582 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5583
5584 #. type: Plain text
5585 #: build/C/man3/random.3:87
5586 msgid ""
5587 "The B<srandom>()  function sets its argument as the seed for a new sequence "
5588 "of pseudo-random integers to be returned by B<random>().  These sequences "
5589 "are repeatable by calling B<srandom>()  with the same seed value.  If no "
5590 "seed value is provided, the B<random>()  function is automatically seeded "
5591 "with a value of 1."
5592 msgstr ""
5593 "B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
5594 "る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 B<random>"
5595 "()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼ぶことで"
5596 "再現可能である。 種の値が与えられない場合には B<random>()  関数は、自動的に "
5597 "1 を種に設定する。"
5598
5599 #. type: Plain text
5600 #: build/C/man3/random.3:102
5601 msgid ""
5602 "The B<initstate>()  function allows a state array I<state> to be initialized "
5603 "for use by B<random>().  The size of the state array I<n> is used by "
5604 "B<initstate>()  to decide how sophisticated a random number generator it "
5605 "should use\\(emthe larger the state array, the better the random numbers "
5606 "will be.  I<seed> is the seed for the initialization, which specifies a "
5607 "starting point for the random number sequence, and provides for restarting "
5608 "at the same point."
5609 msgstr ""
5610 "B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
5611 "する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5612 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5613 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5614 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5615 "ることができる。"
5616
5617 #. type: Plain text
5618 #: build/C/man3/random.3:118
5619 msgid ""
5620 "The B<setstate>()  function changes the state array used by the B<random>()  "
5621 "function.  The state array I<state> is used for random number generation "
5622 "until the next call to B<initstate>()  or B<setstate>().  I<state> must "
5623 "first have been initialized using B<initstate>()  or be the result of a "
5624 "previous call of B<setstate>()."
5625 msgstr ""
5626 "B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
5627 "列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
5628 "で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
5629 "されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
5630
5631 #. type: Plain text
5632 #: build/C/man3/random.3:126
5633 msgid ""
5634 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
5635 "B<srandom>()  function returns no value."
5636 msgstr ""
5637 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5638 "関数 B<srandom>() は値を返さない。"
5639
5640 #. type: Plain text
5641 #: build/C/man3/random.3:133
5642 msgid ""
5643 "The B<initstate>()  function returns a pointer to the previous state array.  "
5644 "On error, I<errno> is set to indicate the cause."
5645 msgstr ""
5646 "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
5647 "I<errno> に原因を示す値が設定される。"
5648
5649 #. type: Plain text
5650 #: build/C/man3/random.3:140
5651 msgid ""
5652 "On success, B<setstate>()  returns a pointer to the previous state array.  "
5653 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
5654 "error."
5655 msgstr ""
5656 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5657 "I<errno> にエラーの原因を示す値が設定される。"
5658
5659 #. type: Plain text
5660 #: build/C/man3/random.3:148
5661 msgid "The I<state> argument given to B<setstate>()  was NULL."
5662 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
5663
5664 #. type: Plain text
5665 #: build/C/man3/random.3:152
5666 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
5667 msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
5668
5669 #. type: Plain text
5670 #: build/C/man3/random.3:154 build/C/man3/setenv.3:130
5671 msgid "4.3BSD, POSIX.1-2001."
5672 msgstr "4.3BSD, POSIX.1-2001."
5673
5674 #. type: Plain text
5675 #: build/C/man3/random.3:160
5676 msgid ""
5677 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
5678 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
5679 "known amount.  Using less than 8 bytes will cause an error."
5680 msgstr ""
5681 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5682 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5683 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5684
5685 #. type: Plain text
5686 #: build/C/man3/random.3:167
5687 msgid ""
5688 "This function should not be used in cases where multiple threads use "
5689 "B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
5690 "for that purpose."
5691 msgstr ""
5692 "複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
5693 "ない。 その場合には B<random_r>(3)  を使うこと。"
5694
5695 #. type: Plain text
5696 #: build/C/man3/random.3:174
5697 msgid ""
5698 "Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
5699 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5700 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5701 "2007, 3rd ed.)  provides an excellent discussion of practical random-number "
5702 "generation issues in Chapter 7 (Random Numbers)."
5703 msgstr ""
5704 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
5705 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5706 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5707 "2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
5708 "展開されている。"
5709
5710 #. type: Plain text
5711 #: build/C/man3/random.3:180
5712 msgid ""
5713 "For a more theoretical discussion which also covers many practical issues in "
5714 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
5715 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
5716 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
5717 msgstr ""
5718 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
5719 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
5720 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
5721 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5722
5723 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5724 #. type: Plain text
5725 #: build/C/man3/random.3:188
5726 msgid ""
5727 "According to POSIX, B<initstate>()  should return NULL on error.  In the "
5728 "glibc implementation, I<errno> is (as specified) set on error, but the "
5729 "function does not return NULL."
5730 msgstr ""
5731 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5732 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5733 "NULL ではない。"
5734
5735 #. type: Plain text
5736 #: build/C/man3/random.3:193
5737 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5738 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5739
5740 #. type: TH
5741 #: build/C/man3/random_r.3:26
5742 #, no-wrap
5743 msgid "RANDOM_R"
5744 msgstr "RANDOM_R"
5745
5746 #. type: Plain text
5747 #: build/C/man3/random_r.3:30
5748 msgid ""
5749 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5750 "generator"
5751 msgstr ""
5752 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5753
5754 #. type: Plain text
5755 #: build/C/man3/random_r.3:35
5756 #, no-wrap
5757 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5758 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5759
5760 #. type: Plain text
5761 #: build/C/man3/random_r.3:37
5762 #, no-wrap
5763 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5764 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5765
5766 #. type: Plain text
5767 #: build/C/man3/random_r.3:40
5768 #, no-wrap
5769 msgid ""
5770 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5771 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5772 msgstr ""
5773 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5774 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5775
5776 #. type: Plain text
5777 #: build/C/man3/random_r.3:42
5778 #, no-wrap
5779 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5780 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5781
5782 #. type: Plain text
5783 #: build/C/man3/random_r.3:54
5784 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5785 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5786
5787 #. type: Plain text
5788 #: build/C/man3/random_r.3:56
5789 msgid "_SVID_SOURCE || _BSD_SOURCE"
5790 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5791
5792 #. type: Plain text
5793 #: build/C/man3/random_r.3:64
5794 msgid ""
5795 "These functions are the reentrant equivalents of the functions described in "
5796 "B<random>(3).  They are suitable for use in multithreaded programs where "
5797 "each thread needs to obtain an independent, reproducible sequence of random "
5798 "numbers."
5799 msgstr ""
5800 "これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
5801 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5802 "ような マルチスレッド・プログラムでの使用に適している。"
5803
5804 #. type: Plain text
5805 #: build/C/man3/random_r.3:75
5806 msgid ""
5807 "The B<random_r>()  function is like B<random>(3), except that instead of "
5808 "using state information maintained in a global variable, it uses the state "
5809 "information in the argument pointed to by I<buf>.  The generated random "
5810 "number is returned in the argument I<result>."
5811 msgstr ""
5812 "B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
5813 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5814 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5815
5816 #. type: Plain text
5817 #: build/C/man3/random_r.3:84
5818 msgid ""
5819 "The B<srandom_r>()  function is like B<srandom>(3), except that it "
5820 "initializes the seed for the random number generator whose state is "
5821 "maintained in the object pointed to by I<buf>, instead of the seed "
5822 "associated with the global state variable."
5823 msgstr ""
5824 "B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
5825 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5826 "対応する乱数生成器の種を 初期化する。"
5827
5828 #. type: Plain text
5829 #: build/C/man3/random_r.3:92
5830 msgid ""
5831 "The B<initstate_r>()  function is like B<initstate>(3)  except that it "
5832 "initializes the state in the object pointed to by I<buf>, rather than "
5833 "initializing the global state variable."
5834 msgstr ""
5835 "B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
5836 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5837
5838 #. type: Plain text
5839 #: build/C/man3/random_r.3:100
5840 msgid ""
5841 "The B<setstate_r>()  function is like B<setstate>(3)  except that it "
5842 "modifies the state in the object pointer to by I<buf>, rather than modifying "
5843 "the global state variable."
5844 msgstr ""
5845 "B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
5846 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5847
5848 #. type: Plain text
5849 #: build/C/man3/random_r.3:105
5850 msgid ""
5851 "All of these functions return 0 on success.  On error, -1 is returned, with "
5852 "I<errno> set to indicate the cause of the error."
5853 msgstr ""
5854 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5855 "I<errno> にエラーの原因を示す値がセットされる。"
5856
5857 #. type: Plain text
5858 #: build/C/man3/random_r.3:110
5859 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
5860 msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
5861
5862 #. type: Plain text
5863 #: build/C/man3/random_r.3:119
5864 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
5865 msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
5866
5867 #. type: Plain text
5868 #: build/C/man3/random_r.3:128
5869 msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
5870 msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
5871
5872 #.  These functions appear to be on Tru64, but don't seem to be on
5873 #.  Solaris, HP-UX, or FreeBSD.
5874 #. type: Plain text
5875 #: build/C/man3/random_r.3:132
5876 msgid "These functions are nonstandard glibc extensions."
5877 msgstr "これらの関数は非標準で glibc による拡張である。"
5878
5879 #. type: TH
5880 #: build/C/man3/rpmatch.3:29
5881 #, no-wrap
5882 msgid "RPMATCH"
5883 msgstr "RPMATCH"
5884
5885 #. type: Plain text
5886 #: build/C/man3/rpmatch.3:32
5887 msgid ""
5888 "rpmatch - determine if the answer to a question is affirmative or negative"
5889 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
5890
5891 #. type: Plain text
5892 #: build/C/man3/rpmatch.3:37
5893 #, no-wrap
5894 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
5895 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
5896
5897 #. type: Plain text
5898 #: build/C/man3/rpmatch.3:46
5899 msgid "B<rpmatch>(): _SVID_SOURCE"
5900 msgstr "B<rpmatch>(): _SVID_SOURCE"
5901
5902 #. type: Plain text
5903 #: build/C/man3/rpmatch.3:50
5904 msgid ""
5905 "B<rpmatch>()  handles a user response to yes or no questions, with support "
5906 "for internationalization."
5907 msgstr ""
5908 "B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
5909 "(I18N) に対応している。"
5910
5911 #. type: Plain text
5912 #: build/C/man3/rpmatch.3:57
5913 msgid ""
5914 "I<response> should be a null-terminated string containing a user-supplied "
5915 "response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
5916 msgstr ""
5917 "I<response> にはユーザからの応答を格納した NULL 終端文字列が入っている必要が"
5918 "ある。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
5919
5920 #. type: Plain text
5921 #: build/C/man3/rpmatch.3:67
5922 msgid ""
5923 "The user's language preference is taken into account per the environment "
5924 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
5925 "B<setlocale>(3)  to effect their changes."
5926 msgstr ""
5927 "プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
5928 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
5929 "る。"
5930
5931 #. type: Plain text
5932 #: build/C/man3/rpmatch.3:73
5933 msgid ""
5934 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
5935 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
5936 msgstr ""
5937 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 B<^[Nn]"
5938 "> にマッチする応答は常に否定だと解釈される。"
5939
5940 #. type: Plain text
5941 #: build/C/man3/rpmatch.3:82
5942 msgid ""
5943 "After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
5944 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
5945 "and -1 when the value of I<response> is unrecognized."
5946 msgstr ""
5947 "I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
5948 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
5949 "I<response> の値を解釈できなかった場合は -1 を返す。"
5950
5951 #. type: Plain text
5952 #: build/C/man3/rpmatch.3:86
5953 msgid ""
5954 "A return value of -1 may indicate either an invalid input, or some other "
5955 "error.  It is incorrect to only test if the return value is nonzero."
5956 msgstr ""
5957 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
5958 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
5959
5960 #. type: Plain text
5961 #: build/C/man3/rpmatch.3:99
5962 msgid ""
5963 "B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
5964 "B<regexec>(3)  can fail; the cause of the error is not available from "
5965 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
5966 "this case is indistinguishable from that of an unrecognized value of "
5967 "I<response>)."
5968 msgstr ""
5969 "B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
5970 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
5971 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
5972 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
5973
5974 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
5975 #. type: Plain text
5976 #: build/C/man3/rpmatch.3:104
5977 msgid ""
5978 "B<rpmatch>()  is not required by any standard, but is available on a few "
5979 "other systems."
5980 msgstr ""
5981 "B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
5982 "ステムもいくつかは存在する。"
5983
5984 #. type: Plain text
5985 #: build/C/man3/rpmatch.3:119
5986 msgid ""
5987 "The B<rpmatch>()  implementation looks at only the first character of "
5988 "I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
5989 "million years\" returns 1.  It would be preferable to accept input strings "
5990 "much more strictly, for example (using the extended regular expression "
5991 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
5992 "NO)$>."
5993 msgstr ""
5994 "B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
5995 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
5996 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
5997 "(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
5998 "B<^([nN]|no|NO)$> で解釈するなど。"
5999
6000 #. type: Plain text
6001 #: build/C/man3/rpmatch.3:123
6002 msgid ""
6003 "The following program displays the results when B<rpmatch>()  is applied to "
6004 "the string given in the program's command-line argument."
6005 msgstr ""
6006 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
6007 "に渡した場合の結果を表示する。"
6008
6009 #. type: Plain text
6010 #: build/C/man3/rpmatch.3:130
6011 #, no-wrap
6012 msgid ""
6013 "#define _SVID_SOURCE\n"
6014 "#include E<lt>locale.hE<gt>\n"
6015 "#include E<lt>stdlib.hE<gt>\n"
6016 "#include E<lt>string.hE<gt>\n"
6017 "#include E<lt>stdio.hE<gt>\n"
6018 msgstr ""
6019 "#define _SVID_SOURCE\n"
6020 "#include E<lt>locale.hE<gt>\n"
6021 "#include E<lt>stdlib.hE<gt>\n"
6022 "#include E<lt>string.hE<gt>\n"
6023 "#include E<lt>stdio.hE<gt>\n"
6024
6025 #. type: Plain text
6026 #: build/C/man3/rpmatch.3:138
6027 #, no-wrap
6028 msgid ""
6029 "int\n"
6030 "main(int argc, char *argv[])\n"
6031 "{\n"
6032 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6033 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6034 "        exit(EXIT_FAILURE);\n"
6035 "    }\n"
6036 msgstr ""
6037 "int\n"
6038 "main(int argc, char *argv[])\n"
6039 "{\n"
6040 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6041 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6042 "        exit(EXIT_FAILURE);\n"
6043 "    }\n"
6044
6045 #. type: Plain text
6046 #: build/C/man3/rpmatch.3:143
6047 #, no-wrap
6048 msgid ""
6049 "    setlocale(LC_ALL, \"\");\n"
6050 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6051 "    exit(EXIT_SUCCESS);\n"
6052 "}\n"
6053 msgstr ""
6054 "    setlocale(LC_ALL, \"\");\n"
6055 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6056 "    exit(EXIT_SUCCESS);\n"
6057 "}\n"
6058
6059 #. type: Plain text
6060 #: build/C/man3/rpmatch.3:150
6061 msgid ""
6062 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6063 msgstr ""
6064 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6065
6066 #. type: TH
6067 #: build/C/man3/setenv.3:37
6068 #, no-wrap
6069 msgid "SETENV"
6070 msgstr "SETENV"
6071
6072 #. type: TH
6073 #: build/C/man3/setenv.3:37
6074 #, no-wrap
6075 msgid "2013-10-11"
6076 msgstr "2013-10-11"
6077
6078 #. type: Plain text
6079 #: build/C/man3/setenv.3:40
6080 msgid "setenv - change or add an environment variable"
6081 msgstr "setenv - 環境変数を変更または追加する"
6082
6083 #. type: Plain text
6084 #: build/C/man3/setenv.3:45
6085 #, no-wrap
6086 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6087 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6088
6089 #. type: Plain text
6090 #: build/C/man3/setenv.3:47
6091 #, no-wrap
6092 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6093 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6094
6095 #. type: Plain text
6096 #: build/C/man3/setenv.3:57
6097 msgid "B<setenv>(), B<unsetenv>():"
6098 msgstr "B<setenv>(), B<unsetenv>():"
6099
6100 #. type: Plain text
6101 #: build/C/man3/setenv.3:59
6102 msgid ""
6103 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6104 "\\ 600"
6105 msgstr ""
6106 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6107 "\\ 600"
6108
6109 #. type: Plain text
6110 #: build/C/man3/setenv.3:94
6111 msgid ""
6112 "The B<setenv>()  function adds the variable I<name> to the environment with "
6113 "the value I<value>, if I<name> does not already exist.  If I<name> does "
6114 "exist in the environment, then its value is changed to I<value> if "
6115 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
6116 "is not changed (and B<setenv>()  returns a success status).  This function "
6117 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
6118 "with B<putenv>(3))."
6119 msgstr "B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 (B<putenv>(3)  と違い)  I<name> と I<value> により参照される文字列のコピーを行う。"
6120
6121 #. type: Plain text
6122 #: build/C/man3/setenv.3:105
6123 msgid ""
6124 "The B<unsetenv>()  function deletes the variable I<name> from the "
6125 "environment.  If I<name> does not exist in the environment, then the "
6126 "function succeeds, and the environment is unchanged."
6127 msgstr ""
6128 "B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6129 "場合、この関数は成功し、環境は変更されない。"
6130
6131 #. type: Plain text
6132 #: build/C/man3/setenv.3:112
6133 msgid ""
6134 "The B<setenv>()  function returns zero on success, or -1 on error, with "
6135 "I<errno> set to indicate the cause of the error."
6136 msgstr ""
6137 "B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6138 "I<errno> にエラーの原因を示す値がセットされる。"
6139
6140 #. type: Plain text
6141 #: build/C/man3/setenv.3:119
6142 msgid ""
6143 "The B<unsetenv>()  function returns zero on success, or -1 on error, with "
6144 "I<errno> set to indicate the cause of the error."
6145 msgstr ""
6146 "B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6147 "I<errno> を設定してエラーの原因を示す。"
6148
6149 #. type: Plain text
6150 #: build/C/man3/setenv.3:125
6151 msgid ""
6152 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6153 "character."
6154 msgstr ""
6155 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6156 "が含まれている。"
6157
6158 #. type: Plain text
6159 #: build/C/man3/setenv.3:128
6160 msgid "Insufficient memory to add a new variable to the environment."
6161 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
6162
6163 #. type: Plain text
6164 #: build/C/man3/setenv.3:136
6165 msgid ""
6166 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
6167 msgstr ""
6168 "POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
6169 "であることを要求していない。"
6170
6171 #. type: Plain text
6172 #: build/C/man3/setenv.3:144
6173 msgid ""
6174 "Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
6175 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
6176 "in the SYNOPSIS."
6177 msgstr ""
6178 "glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
6179 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6180 "POSIX.1-2001 互換のプロトタイプである。"
6181
6182 #. type: Plain text
6183 #: build/C/man3/setenv.3:153
6184 msgid ""
6185 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
6186 "then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
6187 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
6188 msgstr ""
6189 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
6190 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6191 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6192 "る。"
6193
6194 #. type: Plain text
6195 #: build/C/man3/setenv.3:158
6196 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6197 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6198
6199 #. type: TH
6200 #: build/C/man3/strtod.3:45
6201 #, no-wrap
6202 msgid "STRTOD"
6203 msgstr "STRTOD"
6204
6205 #. type: Plain text
6206 #: build/C/man3/strtod.3:48
6207 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
6208 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
6209
6210 #. type: Plain text
6211 #: build/C/man3/strtod.3:52
6212 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6213 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6214
6215 #. type: Plain text
6216 #: build/C/man3/strtod.3:54
6217 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6218 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6219
6220 #. type: Plain text
6221 #: build/C/man3/strtod.3:56
6222 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6223 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6224
6225 #. type: Plain text
6226 #: build/C/man3/strtod.3:65
6227 msgid "B<strtof>(), B<strtold>():"
6228 msgstr "B<strtof>(), B<strtold>():"
6229
6230 #. type: Plain text
6231 #: build/C/man3/strtod.3:87
6232 msgid ""
6233 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
6234 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
6235 "and I<long double> representation, respectively."
6236 msgstr ""
6237 "B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
6238 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6239
6240 #. type: Plain text
6241 #: build/C/man3/strtod.3:94
6242 msgid ""
6243 "The expected form of the (initial portion of the) string is optional leading "
6244 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
6245 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
6246 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
6247 msgstr ""
6248 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6249 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6250 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6251 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6252 "は B<isspace>(3)  で識別される)。"
6253
6254 #. type: Plain text
6255 #: build/C/man3/strtod.3:103
6256 msgid ""
6257 "A I<decimal number> consists of a nonempty sequence of decimal digits "
6258 "possibly containing a radix character (decimal point, locale-dependent, "
6259 "usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
6260 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
6261 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
6262 "indicates multiplication by a power of 10."
6263 msgstr ""
6264 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6265 "charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6266 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6267 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6268 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6269
6270 #. type: Plain text
6271 #: build/C/man3/strtod.3:114
6272 msgid ""
6273 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
6274 "nonempty sequence of hexadecimal digits possibly containing a radix "
6275 "character, optionally followed by a binary exponent.  A binary exponent "
6276 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
6277 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
6278 "multiplication by a power of 2.  At least one of radix character and binary "
6279 "exponent must be present."
6280 msgstr ""
6281 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6282 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6283 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6284 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6285 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6286 "存在してはならない。"
6287
6288 #. type: Plain text
6289 #: build/C/man3/strtod.3:118
6290 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6291 msgstr ""
6292 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6293
6294 #.  From glibc 2.8's stdlib/strtod_l.c:
6295 #.      We expect it to be a number which is put in the
6296 #.      mantissa of the number.
6297 #. type: Plain text
6298 #: build/C/man3/strtod.3:128
6299 msgid ""
6300 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by \\(aq(\\(aq, "
6301 "a sequence of characters, followed by \\(aq)\\(aq.  The character string "
6302 "specifies in an implementation-dependent way the type of NAN."
6303 msgstr ""
6304 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に \\(aq"
6305 "(\\(aq 文字列 \\(aq)\\(aq が続く場合もある。 この文字列は実装に依存する NAN "
6306 "を指定する。"
6307
6308 #. type: Plain text
6309 #: build/C/man3/strtod.3:130
6310 msgid "These functions return the converted value, if any."
6311 msgstr "これらの関数は、変換された値があれば、それを返す。"
6312
6313 #. type: Plain text
6314 #: build/C/man3/strtod.3:137
6315 msgid ""
6316 "If I<endptr> is not NULL, a pointer to the character after the last "
6317 "character used in the conversion is stored in the location referenced by "
6318 "I<endptr>."
6319 msgstr ""
6320 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6321 "ターが I<endptr> で参照される場所へ保存される。"
6322
6323 #. type: Plain text
6324 #: build/C/man3/strtod.3:142
6325 msgid ""
6326 "If no conversion is performed, zero is returned and the value of I<nptr> is "
6327 "stored in the location referenced by I<endptr>."
6328 msgstr ""
6329 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6330 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6331
6332 #. type: Plain text
6333 #: build/C/man3/strtod.3:156
6334 msgid ""
6335 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
6336 "(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
6337 "value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
6338 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
6339 msgstr ""
6340 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6341 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
6342 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6343 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6344
6345 #. type: TP
6346 #: build/C/man3/strtod.3:157 build/C/man3/strtol.3:151
6347 #: build/C/man3/strtoul.3:155
6348 #, no-wrap
6349 msgid "B<ERANGE>"
6350 msgstr "B<ERANGE>"
6351
6352 #. type: Plain text
6353 #: build/C/man3/strtod.3:160
6354 msgid "Overflow or underflow occurred."
6355 msgstr "オーバーフローまたはアンダーフローが起こった。"
6356
6357 #. type: Plain text
6358 #: build/C/man3/strtod.3:172
6359 msgid ""
6360 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
6361 "with exceptions.  These functions can be safely used in multithreaded "
6362 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6363 "during their execution."
6364 msgstr "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
6365
6366 #. type: Plain text
6367 #: build/C/man3/strtod.3:177
6368 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
6369 msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
6370
6371 #. type: Plain text
6372 #: build/C/man3/strtod.3:186
6373 msgid ""
6374 "Since 0 can legitimately be returned on both success and failure, the "
6375 "calling program should set I<errno> to 0 before the call, and then determine "
6376 "if an error occurred by checking whether I<errno> has a nonzero value after "
6377 "the call."
6378 msgstr ""
6379 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6380 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6381 "しエラーが発生したかどうかを判断する 必要がある。"
6382
6383 #. type: Plain text
6384 #: build/C/man3/strtod.3:191 build/C/man3/strtoul.3:225
6385 msgid ""
6386 "See the example on the B<strtol>(3)  manual page; the use of the functions "
6387 "described in this manual page is similar."
6388 msgstr ""
6389 "B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
6390 "法も同様である。"
6391
6392 #. type: Plain text
6393 #: build/C/man3/strtod.3:197
6394 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
6395 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtol>(3), B<strtoul>(3)"
6396
6397 #. type: TH
6398 #: build/C/man3/strtoimax.3:24
6399 #, no-wrap
6400 msgid "STRTOIMAX"
6401 msgstr "STRTOIMAX"
6402
6403 #. type: Plain text
6404 #: build/C/man3/strtoimax.3:27
6405 msgid "strtoimax, strtoumax - convert string to integer"
6406 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6407
6408 #. type: Plain text
6409 #: build/C/man3/strtoimax.3:30
6410 #, no-wrap
6411 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6412 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6413
6414 #. type: Plain text
6415 #: build/C/man3/strtoimax.3:32
6416 #, no-wrap
6417 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6418 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6419
6420 #. type: Plain text
6421 #: build/C/man3/strtoimax.3:34
6422 #, no-wrap
6423 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6424 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6425
6426 #. type: Plain text
6427 #: build/C/man3/strtoimax.3:45
6428 msgid ""
6429 "These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
6430 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
6431 msgstr ""
6432 "これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
6433 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6434
6435 #. type: Plain text
6436 #: build/C/man3/strtoimax.3:58
6437 msgid ""
6438 "On success, the converted value is returned.  If nothing was found to "
6439 "convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
6440 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
6441 "B<ERANGE>."
6442 msgstr ""
6443 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6444 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6445 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6446 "れる。"
6447
6448 #. type: Plain text
6449 #: build/C/man3/strtoimax.3:69
6450 msgid ""
6451 "The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
6452 "exceptions.  These functions can be safely used in multithreaded "
6453 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6454 "during their execution."
6455 msgstr "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
6456
6457 #. type: Plain text
6458 #: build/C/man3/strtoimax.3:77
6459 msgid ""
6460 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6461 msgstr ""
6462 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6463
6464 #. type: TH
6465 #: build/C/man3/strtol.3:31
6466 #, no-wrap
6467 msgid "STRTOL"
6468 msgstr "STRTOL"
6469
6470 #. type: Plain text
6471 #: build/C/man3/strtol.3:34
6472 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
6473 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
6474
6475 #. type: Plain text
6476 #: build/C/man3/strtol.3:39
6477 #, no-wrap
6478 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6479 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6480
6481 #. type: Plain text
6482 #: build/C/man3/strtol.3:42
6483 #, no-wrap
6484 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6485 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6486
6487 #. type: Plain text
6488 #: build/C/man3/strtol.3:51
6489 msgid "B<strtoll>():"
6490 msgstr "B<strtoll>():"
6491
6492 #. type: Plain text
6493 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6494 msgid ""
6495 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6496 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6497 msgstr ""
6498 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6499 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6500
6501 #. type: Plain text
6502 #: build/C/man3/strtol.3:68
6503 msgid ""
6504 "The B<strtol>()  function converts the initial part of the string in I<nptr> "
6505 "to a long integer value according to the given I<base>, which must be "
6506 "between 2 and 36 inclusive, or be the special value 0."
6507 msgstr ""
6508 "B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6509 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6510 "持つ値 0 でなければならない。"
6511
6512 #. type: Plain text
6513 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6514 msgid ""
6515 "The string may begin with an arbitrary amount of white space (as determined "
6516 "by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
6517 "sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
6518 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
6519 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
6520 "case it is taken as 8 (octal)."
6521 msgstr ""
6522 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6523 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6524 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6525 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6526 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6527 "は 10進数として扱われる。"
6528
6529 #. type: Plain text
6530 #: build/C/man3/strtol.3:90
6531 msgid ""
6532 "The remainder of the string is converted to a I<long int> value in the "
6533 "obvious manner, stopping at the first character which is not a valid digit "
6534 "in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
6535 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
6536 "forth, with \\(aqZ\\(aq representing 35.)"
6537 msgstr ""
6538 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6539 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6540 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6541 "35 を表す。)"
6542
6543 #. type: Plain text
6544 #: build/C/man3/strtol.3:111
6545 msgid ""
6546 "If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
6547 "invalid character in I<*endptr>.  If there were no digits at all, B<strtol>"
6548 "()  stores the original value of I<nptr> in I<*endptr> (and returns 0).  In "
6549 "particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
6550 "\\e0\\(aq on return, the entire string is valid."
6551 msgstr ""
6552 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が B<strtol>"
6553 "()  によって I<*endptr> に保存されている。 文字列に有効な数字がひとつもなけれ"
6554 "ば、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そして 0 を返"
6555 "す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
6556 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6557
6558 #. type: Plain text
6559 #: build/C/man3/strtol.3:117
6560 msgid ""
6561 "The B<strtoll>()  function works just like the B<strtol>()  function but "
6562 "returns a long long integer value."
6563 msgstr ""
6564 "B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
6565
6566 #. type: Plain text
6567 #: build/C/man3/strtol.3:144
6568 msgid ""
6569 "The B<strtol>()  function returns the result of the conversion, unless the "
6570 "value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
6571 "returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
6572 "B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
6573 "same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
6574 "B<LONG_MIN> and B<LONG_MAX>)."
6575 msgstr ""
6576 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
6577 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
6578 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
6579 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
6580 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
6581 "が返される。"
6582
6583 #. type: Plain text
6584 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
6585 msgid "(not in C99)  The given I<base> contains an unsupported value."
6586 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
6587
6588 #. type: Plain text
6589 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6590 msgid "The resulting value was out of range."
6591 msgstr "結果の値が範囲外である。"
6592
6593 #. type: Plain text
6594 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6595 msgid ""
6596 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6597 "was performed (no digits seen, and 0 returned)."
6598 msgstr ""
6599 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6600 "I<errno> に B<EINVAL> が設定される場合がある。"
6601
6602 #. type: Plain text
6603 #: build/C/man3/strtol.3:173
6604 msgid ""
6605 "The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
6606 "with exceptions.  These functions can be safely used in multithreaded "
6607 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6608 "during their execution."
6609 msgstr "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
6610
6611 #. type: Plain text
6612 #: build/C/man3/strtol.3:178
6613 msgid ""
6614 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6615 "B<strtoll>()  to C99 and POSIX.1-2001."
6616 msgstr ""
6617 "B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6618 "B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
6619
6620 #. type: Plain text
6621 #: build/C/man3/strtol.3:196
6622 msgid ""
6623 "Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
6624 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
6625 "failure, the calling program should set I<errno> to 0 before the call, and "
6626 "then determine if an error occurred by checking whether I<errno> has a "
6627 "nonzero value after the call."
6628 msgstr ""
6629 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
6630 "(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
6631 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
6632 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6633
6634 #. type: Plain text
6635 #: build/C/man3/strtol.3:201
6636 msgid ""
6637 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6638 "these functions may accept other, implementation-defined numeric strings."
6639 msgstr ""
6640 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6641 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6642
6643 #. type: Plain text
6644 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6645 msgid "BSD also has"
6646 msgstr "BSD には、"
6647
6648 #. type: Plain text
6649 #: build/C/man3/strtol.3:207
6650 #, no-wrap
6651 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6652 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6653
6654 #. type: Plain text
6655 #: build/C/man3/strtol.3:216
6656 msgid ""
6657 "with completely analogous definition.  Depending on the wordsize of the "
6658 "current architecture, this may be equivalent to B<strtoll>()  or to B<strtol>"
6659 "()."
6660 msgstr ""
6661 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6662 "であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
6663
6664 #. type: Plain text
6665 #: build/C/man3/strtol.3:230
6666 msgid ""
6667 "The program shown below demonstrates the use of B<strtol>().  The first "
6668 "command-line argument specifies a string from which B<strtol>()  should "
6669 "parse a number.  The second (optional) argument specifies the base to be "
6670 "used for the conversion.  (This argument is converted to numeric form using "
6671 "B<atoi>(3), a function that performs no error checking and has a simpler "
6672 "interface than B<strtol>().)  Some examples of the results produced by this "
6673 "program are the following:"
6674 msgstr ""
6675 "以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
6676 "は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6677 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
6678 "数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
6679 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
6680 "くつか以下に示す:"
6681
6682 #. type: Plain text
6683 #: build/C/man3/strtol.3:246
6684 #, no-wrap
6685 msgid ""
6686 "$B< ./a.out 123>\n"
6687 "strtol() returned 123\n"
6688 "$B< ./a.out \\(aq    123\\(aq>\n"
6689 "strtol() returned 123\n"
6690 "$B< ./a.out 123abc>\n"
6691 "strtol() returned 123\n"
6692 "Further characters after number: abc\n"
6693 "$B< ./a.out 123abc 55>\n"
6694 "strtol: Invalid argument\n"
6695 "$B< ./a.out \\(aq\\(aq>\n"
6696 "No digits were found\n"
6697 "$B< ./a.out 4000000000>\n"
6698 "strtol: Numerical result out of range\n"
6699 msgstr ""
6700 "$B< ./a.out 123>\n"
6701 "strtol() returned 123\n"
6702 "$B< ./a.out \\(aq    123\\(aq>\n"
6703 "strtol() returned 123\n"
6704 "$B< ./a.out 123abc>\n"
6705 "strtol() returned 123\n"
6706 "Further characters after number: abc\n"
6707 "$B< ./a.out 123abc 55>\n"
6708 "strtol: Invalid argument\n"
6709 "$B< ./a.out \\(aq\\(aq>\n"
6710 "No digits were found\n"
6711 "$B< ./a.out 4000000000>\n"
6712 "strtol: Numerical result out of range\n"
6713
6714 #. type: Plain text
6715 #: build/C/man3/strtol.3:255
6716 #, no-wrap
6717 msgid ""
6718 "#include E<lt>stdlib.hE<gt>\n"
6719 "#include E<lt>limits.hE<gt>\n"
6720 "#include E<lt>stdio.hE<gt>\n"
6721 "#include E<lt>errno.hE<gt>\n"
6722 msgstr ""
6723 "#include E<lt>stdlib.hE<gt>\n"
6724 "#include E<lt>limits.hE<gt>\n"
6725 "#include E<lt>stdio.hE<gt>\n"
6726 "#include E<lt>errno.hE<gt>\n"
6727
6728 #. type: Plain text
6729 #: build/C/man3/strtol.3:262
6730 #, no-wrap
6731 msgid ""
6732 "int\n"
6733 "main(int argc, char *argv[])\n"
6734 "{\n"
6735 "    int base;\n"
6736 "    char *endptr, *str;\n"
6737 "    long val;\n"
6738 msgstr ""
6739 "int\n"
6740 "main(int argc, char *argv[])\n"
6741 "{\n"
6742 "    int base;\n"
6743 "    char *endptr, *str;\n"
6744 "    long val;\n"
6745
6746 #. type: Plain text
6747 #: build/C/man3/strtol.3:267
6748 #, no-wrap
6749 msgid ""
6750 "    if (argc E<lt> 2) {\n"
6751 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6752 "        exit(EXIT_FAILURE);\n"
6753 "    }\n"
6754 msgstr ""
6755 "    if (argc E<lt> 2) {\n"
6756 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6757 "        exit(EXIT_FAILURE);\n"
6758 "    }\n"
6759
6760 #. type: Plain text
6761 #: build/C/man3/strtol.3:270
6762 #, no-wrap
6763 msgid ""
6764 "    str = argv[1];\n"
6765 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6766 msgstr ""
6767 "    str = argv[1];\n"
6768 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6769
6770 #. type: Plain text
6771 #: build/C/man3/strtol.3:273
6772 #, no-wrap
6773 msgid ""
6774 "    errno = 0;    /* To distinguish success/failure after call */\n"
6775 "    val = strtol(str, &endptr, base);\n"
6776 msgstr ""
6777 "    errno = 0;    /* To distinguish success/failure after call */\n"
6778 "    val = strtol(str, &endptr, base);\n"
6779
6780 #. type: Plain text
6781 #: build/C/man3/strtol.3:275
6782 #, no-wrap
6783 msgid "    /* Check for various possible errors */\n"
6784 msgstr "    /* Check for various possible errors */\n"
6785
6786 #. type: Plain text
6787 #: build/C/man3/strtol.3:281
6788 #, no-wrap
6789 msgid ""
6790 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6791 "            || (errno != 0 && val == 0)) {\n"
6792 "        perror(\"strtol\");\n"
6793 "        exit(EXIT_FAILURE);\n"
6794 "    }\n"
6795 msgstr ""
6796 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6797 "            || (errno != 0 && val == 0)) {\n"
6798 "        perror(\"strtol\");\n"
6799 "        exit(EXIT_FAILURE);\n"
6800 "    }\n"
6801
6802 #. type: Plain text
6803 #: build/C/man3/strtol.3:286
6804 #, no-wrap
6805 msgid ""
6806 "    if (endptr == str) {\n"
6807 "        fprintf(stderr, \"No digits were found\\en\");\n"
6808 "        exit(EXIT_FAILURE);\n"
6809 "    }\n"
6810 msgstr ""
6811 "    if (endptr == str) {\n"
6812 "        fprintf(stderr, \"No digits were found\\en\");\n"
6813 "        exit(EXIT_FAILURE);\n"
6814 "    }\n"
6815
6816 #. type: Plain text
6817 #: build/C/man3/strtol.3:288
6818 #, no-wrap
6819 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
6820 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
6821
6822 #. type: Plain text
6823 #: build/C/man3/strtol.3:290
6824 #, no-wrap
6825 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
6826 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
6827
6828 #. type: Plain text
6829 #: build/C/man3/strtol.3:293
6830 #, no-wrap
6831 msgid ""
6832 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6833 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6834 msgstr ""
6835 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6836 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6837
6838 #. type: Plain text
6839 #: build/C/man3/strtol.3:303
6840 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6841 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6842
6843 #. type: TH
6844 #: build/C/man3/strtoul.3:33
6845 #, no-wrap
6846 msgid "STRTOUL"
6847 msgstr "STRTOUL"
6848
6849 #. type: Plain text
6850 #: build/C/man3/strtoul.3:36
6851 msgid ""
6852 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
6853 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
6854
6855 #. type: Plain text
6856 #: build/C/man3/strtoul.3:42
6857 #, no-wrap
6858 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6859 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6860
6861 #. type: Plain text
6862 #: build/C/man3/strtoul.3:45
6863 #, no-wrap
6864 msgid ""
6865 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6866 "B<                                int >I<base>B<);>\n"
6867 msgstr ""
6868 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6869 "B<                                int >I<base>B<);>\n"
6870
6871 #. type: Plain text
6872 #: build/C/man3/strtoul.3:54
6873 msgid "B<strtoull>():"
6874 msgstr "B<strtoull>():"
6875
6876 #. type: Plain text
6877 #: build/C/man3/strtoul.3:75
6878 msgid ""
6879 "The B<strtoul>()  function converts the initial part of the string in "
6880 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
6881 "which must be between 2 and 36 inclusive, or be the special value 0."
6882 msgstr ""
6883 "B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6884 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
6885 "特別な意味を持つ値 0 でなければならない。"
6886
6887 #. type: Plain text
6888 #: build/C/man3/strtoul.3:98
6889 msgid ""
6890 "The remainder of the string is converted to an I<unsigned long int> value in "
6891 "the obvious manner, stopping at the first character which is not a valid "
6892 "digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
6893 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
6894 "so forth, with \\(aqZ\\(aq representing 35.)"
6895 msgstr ""
6896 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
6897 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
6898 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
6899 "\\(aq は 35 を表す。)"
6900
6901 #. type: Plain text
6902 #: build/C/man3/strtoul.3:119
6903 msgid ""
6904 "If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
6905 "invalid character in I<*endptr>.  If there were no digits at all, B<strtoul>"
6906 "()  stores the original value of I<nptr> in I<*endptr> (and returns 0).  In "
6907 "particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq"
6908 "\\e0\\(aq on return, the entire string is valid."
6909 msgstr ""
6910 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
6911 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
6912 "ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
6913 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
6914 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6915
6916 #. type: Plain text
6917 #: build/C/man3/strtoul.3:127
6918 msgid ""
6919 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
6920 "returns an I<unsigned long long int> value."
6921 msgstr ""
6922 "B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
6923 "int> 型の値を返す。"
6924
6925 #. type: Plain text
6926 #: build/C/man3/strtoul.3:148
6927 msgid ""
6928 "The B<strtoul>()  function returns either the result of the conversion or, "
6929 "if there was a leading minus sign, the negation of the result of the "
6930 "conversion represented as an unsigned value, unless the original "
6931 "(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
6932 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
6933 "B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
6934 msgstr ""
6935 "B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
6936 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
6937 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
6938 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
6939 "替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
6940
6941 #. type: Plain text
6942 #: build/C/man3/strtoul.3:177
6943 msgid ""
6944 "The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
6945 "with exceptions.  These functions can be safely used in multithreaded "
6946 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6947 "during their execution."
6948 msgstr "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
6949
6950 #. type: Plain text
6951 #: build/C/man3/strtoul.3:182
6952 msgid ""
6953 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
6954 "to C99 and POSIX.1-2001."
6955 msgstr ""
6956 "B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 B<strtoull>"
6957 "()  は C99 と POSIX.1-2001 に準拠している。"
6958
6959 #. type: Plain text
6960 #: build/C/man3/strtoul.3:196
6961 msgid ""
6962 "Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
6963 "for B<strtoull>())  on both success and failure, the calling program should "
6964 "set I<errno> to 0 before the call, and then determine if an error occurred "
6965 "by checking whether I<errno> has a nonzero value after the call."
6966 msgstr ""
6967 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> (B<strtoull>"
6968 "()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関数を呼び出す"
6969 "前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確"
6970 "認しエラーが発生したかどうかを判断する 必要がある。"
6971
6972 #. type: Plain text
6973 #: build/C/man3/strtoul.3:200
6974 msgid ""
6975 "In locales other than the \"C\" locale, other strings may be accepted.  (For "
6976 "example, the thousands separator of the current locale may be supported.)"
6977 msgstr ""
6978 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
6979 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
6980
6981 #. type: Plain text
6982 #: build/C/man3/strtoul.3:206
6983 #, no-wrap
6984 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6985 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6986
6987 #. type: Plain text
6988 #: build/C/man3/strtoul.3:215
6989 msgid ""
6990 "with completely analogous definition.  Depending on the wordsize of the "
6991 "current architecture, this may be equivalent to B<strtoull>()  or to "
6992 "B<strtoul>()."
6993 msgstr ""
6994 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6995 "であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
6996
6997 #. type: Plain text
6998 #: build/C/man3/strtoul.3:220
6999 msgid ""
7000 "Negative values are considered valid input and are silently converted to the "
7001 "equivalent I<unsigned long int> value."
7002 msgstr ""
7003 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7004 "の値に変換される。"
7005
7006 #. type: Plain text
7007 #: build/C/man3/strtoul.3:231
7008 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7009 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7010
7011 #. type: TH
7012 #: build/C/man3/system.3:30
7013 #, no-wrap
7014 msgid "SYSTEM"
7015 msgstr "SYSTEM"
7016
7017 #. type: TH
7018 #: build/C/man3/system.3:30
7019 #, no-wrap
7020 msgid "2010-09-10"
7021 msgstr "2010-09-10"
7022
7023 #. type: Plain text
7024 #: build/C/man3/system.3:33
7025 msgid "system - execute a shell command"
7026 msgstr "system - シェルコマンドの実行"
7027
7028 #. type: Plain text
7029 #: build/C/man3/system.3:38
7030 #, no-wrap
7031 msgid "B<int system(const char *>I<command>B<);>\n"
7032 msgstr "B<int system(const char *>I<command>B<);>\n"
7033
7034 #. type: Plain text
7035 #: build/C/man3/system.3:54
7036 msgid ""
7037 "B<system>()  executes a command specified in I<command> by calling B</bin/sh "
7038 "-c> I<command>, and returns after the command has been completed.  During "
7039 "execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> and "
7040 "B<SIGQUIT> will be ignored."
7041 msgstr ""
7042 "B<system>()  は I<command> で指定したコマンドを B</bin/sh -c> I<command> の形"
7043 "で実行する。指定したコマンドが終了すればこの関数も終了する。 コマンド実行中"
7044 "は、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視される。"
7045
7046 #. type: Plain text
7047 #: build/C/man3/system.3:69
7048 msgid ""
7049 "The value returned is -1 on error (e.g., B<fork>(2)  failed), and the return "
7050 "status of the command otherwise.  This latter return status is in the format "
7051 "specified in B<wait>(2).  Thus, the exit code of the command will be "
7052 "I<WEXITSTATUS(status)>.  In case I</bin/sh> could not be executed, the exit "
7053 "status will be that of a command that does I<exit(127)>."
7054 msgstr ""
7055 "エラーが発生した場合 (B<fork>(2)  に失敗した場合など)、-1 を返す。 そうでなけ"
7056 "れば、コマンドのステータスを返す。 後者の場合、ステータスは B<wait>(2)  で定"
7057 "義されているフォーマットで返ってくる。 従って、コマンドの終了コードは "
7058 "I<WEXITSTATUS(status)> で得ることが出来る。 I</bin/sh> が実行出来なかった場"
7059 "合、 終了ステータスはコマンドが I<exit(127)> を実行した場合と同じになる。"
7060
7061 #. type: Plain text
7062 #: build/C/man3/system.3:75
7063 msgid ""
7064 "If the value of I<command> is NULL, B<system>()  returns nonzero if the "
7065 "shell is available, and zero if not."
7066 msgstr ""
7067 "I<command> の値が NULL のときは、 B<system>()  はシェルが利用可能ならゼロ以外"
7068 "の値を返し、利用不可ならゼロを返す。"
7069
7070 #. type: Plain text
7071 #: build/C/man3/system.3:78
7072 msgid "B<system>()  does not affect the wait status of any other children."
7073 msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
7074
7075 #. type: Plain text
7076 #: build/C/man3/system.3:80
7077 msgid "C89, C99, POSIX.1-2001."
7078 msgstr "C89, C99, POSIX.1-2001."
7079
7080 #. type: Plain text
7081 #: build/C/man3/system.3:93
7082 msgid ""
7083 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
7084 "I<any> header files), then the macros described in B<wait>(2)  "
7085 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
7086 "hE<gt>>."
7087 msgstr ""
7088 "(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
7089 "B<_XOPEN_SOURCE> が定義された場合には、 B<wait>(2)  で説明されているマクロ群 "
7090 "(B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可能"
7091 "になる。"
7092
7093 #. type: Plain text
7094 #: build/C/man3/system.3:104
7095 msgid ""
7096 "As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
7097 "programs that call it from a loop uninterruptible, unless they take care "
7098 "themselves to check the exit status of the child.  E.g."
7099 msgstr ""
7100 "既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7101 "てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
7102 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7103
7104 #. type: Plain text
7105 #: build/C/man3/system.3:109
7106 #, no-wrap
7107 msgid ""
7108 "    while (something) {\n"
7109 "        int ret = system(\"foo\");\n"
7110 msgstr ""
7111 "    while (something) {\n"
7112 "        int ret = system(\"foo\");\n"
7113
7114 #. type: Plain text
7115 #: build/C/man3/system.3:114
7116 #, no-wrap
7117 msgid ""
7118 "        if (WIFSIGNALED(ret) &&\n"
7119 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7120 "                break;\n"
7121 "    }\n"
7122 msgstr ""
7123 "        if (WIFSIGNALED(ret) &&\n"
7124 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7125 "                break;\n"
7126 "    }\n"
7127
7128 #. type: Plain text
7129 #: build/C/man3/system.3:134
7130 msgid ""
7131 "Do not use B<system>()  from a program with set-user-ID or set-group-ID "
7132 "privileges, because strange values for some environment variables might be "
7133 "used to subvert system integrity.  Use the B<exec>(3)  family of functions "
7134 "instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
7135 "fact, work properly from programs with set-user-ID or set-group-ID "
7136 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
7137 "drops privileges on startup.  (Debian uses a modified bash which does not do "
7138 "this when invoked as B<sh>.)"
7139 msgstr ""
7140 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
7141 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
7142 "なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
7143 "B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
7144 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
7145 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
7146 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
7147 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
7148 "る)"
7149
7150 #. type: Plain text
7151 #: build/C/man3/system.3:148
7152 msgid ""
7153 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
7154 "sh> was not actually performed if I<command> was NULL; instead it was always "
7155 "assumed to be available, and B<system>()  always returned 1 in this case.  "
7156 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
7157 "requires a conforming implementation to provide a shell, that shell may not "
7158 "be available or executable if the calling program has previously called "
7159 "B<chroot>(2)  (which is not specified by POSIX.1-2001)."
7160 msgstr ""
7161 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
7162 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
7163 "ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
7164 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
7165 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
7166 "B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
7167 "B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
7168 "ファイル でない場合があるからである。"
7169
7170 #. type: Plain text
7171 #: build/C/man3/system.3:153
7172 msgid ""
7173 "It is possible for the shell command to return 127, so that code is not a "
7174 "sure indication that the B<execve>(2)  call failed."
7175 msgstr ""
7176 "実行したシェルコマンドが 127 (B</bin/sh> の呼び出しに失敗した時に返す値) を返"
7177 "すことも考えられる。 そのため、プログラムは (リターンコードを見るだけでは)  "
7178 "B<execve>(2)  の呼び出しが失敗したことを確実に知ることはできない。"
7179
7180 #. type: Plain text
7181 #: build/C/man3/system.3:158
7182 msgid "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
7183 msgstr "B<sh>(1), B<signal>(2), B<wait>(2), B<exec>(3)"
7184
7185 #. type: TH
7186 #: build/C/man7/vdso.7:13
7187 #, no-wrap
7188 msgid "VDSO"
7189 msgstr ""
7190
7191 #. type: TH
7192 #: build/C/man7/vdso.7:13
7193 #, no-wrap
7194 msgid "2014-02-01"
7195 msgstr "2014-02-01"
7196
7197 #. type: Plain text
7198 #: build/C/man7/vdso.7:16
7199 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7200 msgstr ""
7201
7202 #. type: Plain text
7203 #: build/C/man7/vdso.7:18
7204 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
7205 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
7206
7207 #. type: Plain text
7208 #: build/C/man7/vdso.7:20
7209 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7210 msgstr ""
7211
7212 #. type: Plain text
7213 #: build/C/man7/vdso.7:29
7214 msgid ""
7215 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
7216 "the kernel automatically maps into the address space of all user-space "
7217 "applications.  Applications usually do not need to concern themselves with "
7218 "these details as the vDSO is most commonly called by the C library.  This "
7219 "way you can code in the normal way using standard functions and the C "
7220 "library will take care of using any functionality that is available via the "
7221 "vDSO."
7222 msgstr ""
7223
7224 #. type: Plain text
7225 #: build/C/man7/vdso.7:37
7226 msgid ""
7227 "Why does the vDSO exist at all? There are some system calls the kernel "
7228 "provides that user-space code ends up using frequently, to the point that "
7229 "such calls can dominate overall performance.  This is due both to the "
7230 "frequency of the call as well as the context-switch overhead that results "
7231 "from exiting user space and entering the kernel."
7232 msgstr ""
7233
7234 #. type: Plain text
7235 #: build/C/man7/vdso.7:42
7236 msgid ""
7237 "The rest of this documentation is geared toward the curious and/or C library "
7238 "writers rather than general developers.  If you're trying to call the vDSO "
7239 "in your own application rather than using the C library, you're most likely "
7240 "doing it wrong."
7241 msgstr ""
7242
7243 #. type: SS
7244 #: build/C/man7/vdso.7:42
7245 #, no-wrap
7246 msgid "Example background"
7247 msgstr ""
7248
7249 #. type: Plain text
7250 #: build/C/man7/vdso.7:56
7251 msgid ""
7252 "Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
7253 "software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
7254 "system call.  However, this instruction is expensive: it goes through the "
7255 "full interrupt-handling paths in the processor's microcode as well as in the "
7256 "kernel.  Newer processors have faster (but backward incompatible) "
7257 "instructions to initiate system calls.  Rather than require the C library to "
7258 "figure out if this functionality is available at run time, the C library can "
7259 "use functions provided by the kernel in the vDSO."
7260 msgstr ""
7261
7262 #. type: Plain text
7263 #: build/C/man7/vdso.7:63
7264 msgid ""
7265 "Note that the terminology can be confusing.  On x86 systems, the vDSO "
7266 "function used to determine the preferred method of making a system call is "
7267 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
7268 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
7269 "caller is on."
7270 msgstr ""
7271
7272 #. type: Plain text
7273 #: build/C/man7/vdso.7:79
7274 msgid ""
7275 "One frequently used system call is B<gettimeofday>(2).  This system call is "
7276 "called both directly by user-space applications as well as indirectly by the "
7277 "C library.  Think timestamps or timing loops or polling\\(emall of these "
7278 "frequently need to know what time it is right now.  This information is also "
7279 "not secret\\(emany application in any privilege mode (root or any "
7280 "unprivileged user) will get the same answer.  Thus the kernel arranges for "
7281 "the information required to answer this question to be placed in memory the "
7282 "process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
7283 "call to a normal function call and a few memory accesses."
7284 msgstr ""
7285
7286 #. type: SS
7287 #: build/C/man7/vdso.7:79
7288 #, no-wrap
7289 msgid "Finding the vDSO"
7290 msgstr ""
7291
7292 #. type: Plain text
7293 #: build/C/man7/vdso.7:86
7294 msgid ""
7295 "The base address of the vDSO (if one exists) is passed by the kernel to each "
7296 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
7297 "B<AT_SYSINFO_EHDR> tag."
7298 msgstr ""
7299
7300 #. type: Plain text
7301 #: build/C/man7/vdso.7:95
7302 msgid ""
7303 "You must not assume the vDSO is mapped at any particular location in the "
7304 "user's memory map.  The base address will usually be randomized at run time "
7305 "every time a new process image is created (at B<execve>(2)  time).  This is "
7306 "done for security reasons, to prevent \"return-to-libc\" attacks."
7307 msgstr ""
7308
7309 #. type: Plain text
7310 #: build/C/man7/vdso.7:104
7311 msgid ""
7312 "For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
7313 "only for locating the vsyscall entry point and is frequently omitted or set "
7314 "to 0 (meaning it's not available).  This tag is a throwback to the initial "
7315 "vDSO work (see I<History> below) and its use should be avoided."
7316 msgstr ""
7317
7318 #. type: SS
7319 #: build/C/man7/vdso.7:104
7320 #, no-wrap
7321 msgid "File format"
7322 msgstr ""
7323
7324 #. type: Plain text
7325 #: build/C/man7/vdso.7:111
7326 msgid ""
7327 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
7328 "it.  This allows new symbols to be added with newer kernel releases, and "
7329 "allows the C library to detect available functionality at run time when "
7330 "running under different kernel versions.  Oftentimes the C library will do "
7331 "detection with the first call and then cache the result for subsequent calls."
7332 msgstr ""
7333
7334 #. type: Plain text
7335 #: build/C/man7/vdso.7:120
7336 msgid ""
7337 "All symbols are also versioned (using the GNU version format).  This allows "
7338 "the kernel to update the function signature without breaking backward "
7339 "compatibility.  This means changing the arguments that the function accepts "
7340 "as well as the return value.  Thus, when looking up a symbol in the vDSO, "
7341 "you must always include the version to match the ABI you expect."
7342 msgstr ""
7343
7344 #. type: Plain text
7345 #: build/C/man7/vdso.7:125
7346 msgid ""
7347 "Typically the vDSO follows the naming convention of prefixing all symbols "
7348 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
7349 "standard symbols.  For example, the \"gettimeofday\" function is named "
7350 "\"__vdso_gettimeofday\"."
7351 msgstr ""
7352
7353 #. type: Plain text
7354 #: build/C/man7/vdso.7:129
7355 msgid ""
7356 "You use the standard C calling conventions when calling any of these "
7357 "functions.  No need to worry about weird register or stack behavior."
7358 msgstr ""
7359
7360 #. type: SS
7361 #: build/C/man7/vdso.7:130
7362 #, no-wrap
7363 msgid "Source"
7364 msgstr ""
7365
7366 #. type: Plain text
7367 #: build/C/man7/vdso.7:134
7368 msgid ""
7369 "When you compile the kernel, it will automatically compile and link the vDSO "
7370 "code for you.  You will frequently find it under the architecture-specific "
7371 "directory:"
7372 msgstr ""
7373
7374 #. type: Plain text
7375 #: build/C/man7/vdso.7:136
7376 #, no-wrap
7377 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7378 msgstr ""
7379
7380 #. type: SS
7381 #: build/C/man7/vdso.7:137
7382 #, no-wrap
7383 msgid "vDSO names"
7384 msgstr ""
7385
7386 #. type: Plain text
7387 #: build/C/man7/vdso.7:143
7388 msgid ""
7389 "The name of the vDSO varies across architectures.  It will often show up in "
7390 "things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
7391 "any code, so do not hardcode it."
7392 msgstr ""
7393
7394 #. type: tbl table
7395 #: build/C/man7/vdso.7:148
7396 #, no-wrap
7397 msgid "user ABI\tvDSO name\n"
7398 msgstr ""
7399
7400 #. type: tbl table
7401 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
7402 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
7403 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
7404 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:458
7405 #: build/C/man7/vdso.7:477
7406 #, no-wrap
7407 msgid "_\n"
7408 msgstr ""
7409
7410 #. type: tbl table
7411 #: build/C/man7/vdso.7:150
7412 #, no-wrap
7413 msgid "aarch64\tlinux-vdso.so.1\n"
7414 msgstr ""
7415
7416 #. type: tbl table
7417 #: build/C/man7/vdso.7:151
7418 #, no-wrap
7419 msgid "ia64\tlinux-gate.so.1\n"
7420 msgstr ""
7421
7422 #. type: tbl table
7423 #: build/C/man7/vdso.7:152
7424 #, no-wrap
7425 msgid "ppc/32\tlinux-vdso32.so.1\n"
7426 msgstr ""
7427
7428 #. type: tbl table
7429 #: build/C/man7/vdso.7:153
7430 #, no-wrap
7431 msgid "ppc/64\tlinux-vdso64.so.1\n"
7432 msgstr ""
7433
7434 #. type: tbl table
7435 #: build/C/man7/vdso.7:154
7436 #, no-wrap
7437 msgid "s390\tlinux-vdso32.so.1\n"
7438 msgstr ""
7439
7440 #. type: tbl table
7441 #: build/C/man7/vdso.7:155
7442 #, no-wrap
7443 msgid "s390x\tlinux-vdso64.so.1\n"
7444 msgstr ""
7445
7446 #. type: tbl table
7447 #: build/C/man7/vdso.7:156
7448 #, no-wrap
7449 msgid "sh\tlinux-gate.so.1\n"
7450 msgstr ""
7451
7452 #. type: tbl table
7453 #: build/C/man7/vdso.7:157
7454 #, no-wrap
7455 msgid "i386\tlinux-gate.so.1\n"
7456 msgstr ""
7457
7458 #. type: tbl table
7459 #: build/C/man7/vdso.7:158
7460 #, no-wrap
7461 msgid "x86_64\tlinux-vdso.so.1\n"
7462 msgstr ""
7463
7464 #. type: tbl table
7465 #: build/C/man7/vdso.7:159
7466 #, no-wrap
7467 msgid "x86/x32\tlinux-vdso.so.1\n"
7468 msgstr ""
7469
7470 #. type: SH
7471 #: build/C/man7/vdso.7:165
7472 #, no-wrap
7473 msgid "ARCHITECTURE-SPECIFIC NOTES"
7474 msgstr ""
7475
7476 #. type: Plain text
7477 #: build/C/man7/vdso.7:168
7478 msgid "The subsections below provide architecture-specific notes on the vDSO."
7479 msgstr ""
7480
7481 #. type: Plain text
7482 #: build/C/man7/vdso.7:177
7483 msgid ""
7484 "Note that the vDSO that is used is based on the ABI of your user-space code "
7485 "and not the ABI of the kernel.  Thus, for example, when you run an i386 32-"
7486 "bit ELF binary, you'll get the same vDSO regardless of whether you run it "
7487 "under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
7488 "the name of the user-space ABI should be used to determine which of the "
7489 "sections below is relevant."
7490 msgstr ""
7491
7492 #. type: SS
7493 #: build/C/man7/vdso.7:177
7494 #, no-wrap
7495 msgid "ARM functions"
7496 msgstr ""
7497
7498 #.  See linux/arch/arm/kernel/entry-armv.S
7499 #.  See linux/Documentation/arm/kernel_user_helpers.txt
7500 #. type: Plain text
7501 #: build/C/man7/vdso.7:184
7502 msgid ""
7503 "The ARM port has a code page full of utility functions.  Since it's just a "
7504 "raw page of code, there is no ELF information for doing symbol lookups or "
7505 "versioning.  It does provide support for different versions though."
7506 msgstr ""
7507
7508 #. type: Plain text
7509 #: build/C/man7/vdso.7:189
7510 msgid ""
7511 "For information on this code page, it's best to refer to the kernel "
7512 "documentation as it's extremely detailed and covers everything you need to "
7513 "know: I<Documentation/arm/kernel_user_helpers.txt>."
7514 msgstr ""
7515
7516 #. type: SS
7517 #: build/C/man7/vdso.7:189
7518 #, no-wrap
7519 msgid "aarch64 functions"
7520 msgstr ""
7521
7522 #.  See linux/arch/x86/vdso/vdso32.lds.S
7523 #. type: Plain text
7524 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
7525 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
7526 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:471
7527 msgid "The table below lists the symbols exported by the vDSO."
7528 msgstr ""
7529
7530 #. type: tbl table
7531 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
7532 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
7533 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:457
7534 #: build/C/man7/vdso.7:476
7535 #, no-wrap
7536 msgid "symbol\tversion\n"
7537 msgstr ""
7538
7539 #. type: tbl table
7540 #: build/C/man7/vdso.7:199
7541 #, no-wrap
7542 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7543 msgstr ""
7544
7545 #. type: tbl table
7546 #: build/C/man7/vdso.7:200
7547 #, no-wrap
7548 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7549 msgstr ""
7550
7551 #. type: tbl table
7552 #: build/C/man7/vdso.7:201
7553 #, no-wrap
7554 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7555 msgstr ""
7556
7557 #. type: tbl table
7558 #: build/C/man7/vdso.7:202
7559 #, no-wrap
7560 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7561 msgstr ""
7562
7563 #. type: SS
7564 #: build/C/man7/vdso.7:208
7565 #, no-wrap
7566 msgid "bfin (Blackfin) functions"
7567 msgstr ""
7568
7569 #.  See linux/arch/blackfin/kernel/fixed_code.S
7570 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7571 #. type: Plain text
7572 #: build/C/man7/vdso.7:220
7573 msgid ""
7574 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
7575 "in the normal sense.  Instead, it maps at boot time a few raw functions into "
7576 "a fixed location in memory.  User-space applications then call directly into "
7577 "that region.  There is no provision for backward compatibility beyond "
7578 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
7579 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
7580 "bFLT/FLAT)."
7581 msgstr ""
7582
7583 #. type: Plain text
7584 #: build/C/man7/vdso.7:223
7585 msgid ""
7586 "For information on this code page, it's best to refer to the public "
7587 "documentation:"
7588 msgstr ""
7589
7590 #. type: Plain text
7591 #: build/C/man7/vdso.7:225
7592 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7593 msgstr ""
7594
7595 #. type: SS
7596 #: build/C/man7/vdso.7:225
7597 #, no-wrap
7598 msgid "ia64 (Itanium) functions"
7599 msgstr ""
7600
7601 #. type: tbl table
7602 #: build/C/man7/vdso.7:236
7603 #, no-wrap
7604 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7605 msgstr ""
7606
7607 #. type: tbl table
7608 #: build/C/man7/vdso.7:237
7609 #, no-wrap
7610 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7611 msgstr ""
7612
7613 #. type: tbl table
7614 #: build/C/man7/vdso.7:238
7615 #, no-wrap
7616 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7617 msgstr ""
7618
7619 #. type: Plain text
7620 #: build/C/man7/vdso.7:257
7621 msgid ""
7622 "The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
7623 "has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
7624 "\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper.  "
7625 "The system calls listed here have the same semantics as if you called them "
7626 "directly via B<syscall>(2), so refer to the relevant documentation for "
7627 "each.  The table below lists the functions available via this mechanism."
7628 msgstr ""
7629
7630 #. type: tbl table
7631 #: build/C/man7/vdso.7:262
7632 #, no-wrap
7633 msgid "function\n"
7634 msgstr ""
7635
7636 #. type: tbl table
7637 #: build/C/man7/vdso.7:264
7638 #, no-wrap
7639 msgid "clock_gettime\n"
7640 msgstr ""
7641
7642 #. type: tbl table
7643 #: build/C/man7/vdso.7:265
7644 #, no-wrap
7645 msgid "getcpu\n"
7646 msgstr ""
7647
7648 #. type: tbl table
7649 #: build/C/man7/vdso.7:266
7650 #, no-wrap
7651 msgid "getpid\n"
7652 msgstr ""
7653
7654 #. type: tbl table
7655 #: build/C/man7/vdso.7:267
7656 #, no-wrap
7657 msgid "getppid\n"
7658 msgstr ""
7659
7660 #. type: tbl table
7661 #: build/C/man7/vdso.7:268
7662 #, no-wrap
7663 msgid "gettimeofday\n"
7664 msgstr ""
7665
7666 #. type: tbl table
7667 #: build/C/man7/vdso.7:269
7668 #, no-wrap
7669 msgid "set_tid_address\n"
7670 msgstr ""
7671
7672 #. type: SS
7673 #: build/C/man7/vdso.7:275
7674 #, no-wrap
7675 msgid "parisc (hppa) functions"
7676 msgstr ""
7677
7678 #.  See linux/arch/parisc/kernel/syscall.S
7679 #.  See linux/Documentation/parisc/registers
7680 #. type: Plain text
7681 #: build/C/man7/vdso.7:286
7682 msgid ""
7683 "The parisc port has a code page full of utility functions called a gateway "
7684 "page.  Rather than use the normal ELF auxiliary vector approach, it passes "
7685 "the address of the page to the process via the SR2 register.  The "
7686 "permissions on the page are such that merely executing those addresses "
7687 "automatically executes with kernel privileges and not in user space.  This "
7688 "is done to match the way HP-UX works."
7689 msgstr ""
7690
7691 #. type: Plain text
7692 #: build/C/man7/vdso.7:291
7693 msgid ""
7694 "Since it's just a raw page of code, there is no ELF information for doing "
7695 "symbol lookups or versioning.  Simply call into the appropriate offset via "
7696 "the branch instruction, for example:"
7697 msgstr ""
7698
7699 #. type: Plain text
7700 #: build/C/man7/vdso.7:293
7701 #, no-wrap
7702 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7703 msgstr ""
7704
7705 #. type: tbl table
7706 #: build/C/man7/vdso.7:298
7707 #, no-wrap
7708 msgid "offset\tfunction\n"
7709 msgstr ""
7710
7711 #. type: tbl table
7712 #: build/C/man7/vdso.7:300
7713 #, no-wrap
7714 msgid "00b0\tlws_entry\n"
7715 msgstr ""
7716
7717 #. type: tbl table
7718 #: build/C/man7/vdso.7:301
7719 #, no-wrap
7720 msgid "00e0\tset_thread_pointer\n"
7721 msgstr ""
7722
7723 #. type: tbl table
7724 #: build/C/man7/vdso.7:302
7725 #, no-wrap
7726 msgid "0100\tlinux_gateway_entry (syscall)\n"
7727 msgstr ""
7728
7729 #. type: tbl table
7730 #: build/C/man7/vdso.7:303
7731 #, no-wrap
7732 msgid "0268\tsyscall_nosys\n"
7733 msgstr ""
7734
7735 #. type: tbl table
7736 #: build/C/man7/vdso.7:304
7737 #, no-wrap
7738 msgid "0274\ttracesys\n"
7739 msgstr ""
7740
7741 #. type: tbl table
7742 #: build/C/man7/vdso.7:305
7743 #, no-wrap
7744 msgid "0324\ttracesys_next\n"
7745 msgstr ""
7746
7747 #. type: tbl table
7748 #: build/C/man7/vdso.7:306
7749 #, no-wrap
7750 msgid "0368\ttracesys_exit\n"
7751 msgstr ""
7752
7753 #. type: tbl table
7754 #: build/C/man7/vdso.7:307
7755 #, no-wrap
7756 msgid "03a0\ttracesys_sigexit\n"
7757 msgstr ""
7758
7759 #. type: tbl table
7760 #: build/C/man7/vdso.7:308
7761 #, no-wrap
7762 msgid "03b8\tlws_start\n"
7763 msgstr ""
7764
7765 #. type: tbl table
7766 #: build/C/man7/vdso.7:309
7767 #, no-wrap
7768 msgid "03dc\tlws_exit_nosys\n"
7769 msgstr ""
7770
7771 #. type: tbl table
7772 #: build/C/man7/vdso.7:310
7773 #, no-wrap
7774 msgid "03e0\tlws_exit\n"
7775 msgstr ""
7776
7777 #. type: tbl table
7778 #: build/C/man7/vdso.7:311
7779 #, no-wrap
7780 msgid "03e4\tlws_compare_and_swap64\n"
7781 msgstr ""
7782
7783 #. type: tbl table
7784 #: build/C/man7/vdso.7:312
7785 #, no-wrap
7786 msgid "03e8\tlws_compare_and_swap\n"
7787 msgstr ""
7788
7789 #. type: tbl table
7790 #: build/C/man7/vdso.7:313
7791 #, no-wrap
7792 msgid "0404\tcas_wouldblock\n"
7793 msgstr ""
7794
7795 #. type: tbl table
7796 #: build/C/man7/vdso.7:314
7797 #, no-wrap
7798 msgid "0410\tcas_action\n"
7799 msgstr ""
7800
7801 #. type: SS
7802 #: build/C/man7/vdso.7:320
7803 #, no-wrap
7804 msgid "ppc/32 functions"
7805 msgstr ""
7806
7807 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
7808 #. type: Plain text
7809 #: build/C/man7/vdso.7:327
7810 msgid ""
7811 "The table below lists the symbols exported by the vDSO.  The functions "
7812 "marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
7813 "bit) kernel."
7814 msgstr ""
7815
7816 #. type: tbl table
7817 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
7818 #, no-wrap
7819 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
7820 msgstr ""
7821
7822 #. type: tbl table
7823 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
7824 #, no-wrap
7825 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
7826 msgstr ""
7827
7828 #. type: tbl table
7829 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
7830 #, no-wrap
7831 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
7832 msgstr ""
7833
7834 #. type: tbl table
7835 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
7836 #, no-wrap
7837 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
7838 msgstr ""
7839
7840 #. type: tbl table
7841 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
7842 #, no-wrap
7843 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
7844 msgstr ""
7845
7846 #. type: tbl table
7847 #: build/C/man7/vdso.7:339
7848 #, no-wrap
7849 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
7850 msgstr ""
7851
7852 #. type: tbl table
7853 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
7854 #, no-wrap
7855 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
7856 msgstr ""
7857
7858 #. type: tbl table
7859 #: build/C/man7/vdso.7:341
7860 #, no-wrap
7861 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
7862 msgstr ""
7863
7864 #. type: tbl table
7865 #: build/C/man7/vdso.7:342
7866 #, no-wrap
7867 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
7868 msgstr ""
7869
7870 #. type: tbl table
7871 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
7872 #, no-wrap
7873 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
7874 msgstr ""
7875
7876 #. type: tbl table
7877 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
7878 #, no-wrap
7879 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
7880 msgstr ""
7881
7882 #. type: SS
7883 #: build/C/man7/vdso.7:350
7884 #, no-wrap
7885 msgid "ppc/64 functions"
7886 msgstr ""
7887
7888 #. type: tbl table
7889 #: build/C/man7/vdso.7:365
7890 #, no-wrap
7891 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
7892 msgstr ""
7893
7894 #. type: tbl table
7895 #: build/C/man7/vdso.7:367
7896 #, no-wrap
7897 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
7898 msgstr ""
7899
7900 #. type: SS
7901 #: build/C/man7/vdso.7:375
7902 #, no-wrap
7903 msgid "s390 functions"
7904 msgstr ""
7905
7906 #. type: tbl table
7907 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
7908 #, no-wrap
7909 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
7910 msgstr ""
7911
7912 #. type: tbl table
7913 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
7914 #, no-wrap
7915 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
7916 msgstr ""
7917
7918 #. type: tbl table
7919 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
7920 #, no-wrap
7921 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
7922 msgstr ""
7923
7924 #. type: SS
7925 #: build/C/man7/vdso.7:393
7926 #, no-wrap
7927 msgid "s390x functions"
7928 msgstr ""
7929
7930 #. type: SS
7931 #: build/C/man7/vdso.7:411
7932 #, no-wrap
7933 msgid "sh (SuperH) functions"
7934 msgstr ""
7935
7936 #. type: tbl table
7937 #: build/C/man7/vdso.7:421
7938 #, no-wrap
7939 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
7940 msgstr ""
7941
7942 #. type: tbl table
7943 #: build/C/man7/vdso.7:422
7944 #, no-wrap
7945 msgid "__kernel_sigreturn\tLINUX_2.6\n"
7946 msgstr ""
7947
7948 #. type: tbl table
7949 #: build/C/man7/vdso.7:423
7950 #, no-wrap
7951 msgid "__kernel_vsyscall\tLINUX_2.6\n"
7952 msgstr ""
7953
7954 #. type: SS
7955 #: build/C/man7/vdso.7:429
7956 #, no-wrap
7957 msgid "i386 functions"
7958 msgstr ""
7959
7960 #. type: tbl table
7961 #: build/C/man7/vdso.7:439
7962 #, no-wrap
7963 msgid "__kernel_sigreturn\tLINUX_2.5\n"
7964 msgstr ""
7965
7966 #. type: tbl table
7967 #: build/C/man7/vdso.7:440
7968 #, no-wrap
7969 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
7970 msgstr ""
7971
7972 #. type: tbl table
7973 #: build/C/man7/vdso.7:441
7974 #, no-wrap
7975 msgid "__kernel_vsyscall\tLINUX_2.5\n"
7976 msgstr ""
7977
7978 #. type: SS
7979 #: build/C/man7/vdso.7:447
7980 #, no-wrap
7981 msgid "x86_64 functions"
7982 msgstr ""
7983
7984 #.  See linux/arch/x86/vdso/vdso.lds.S
7985 #. type: Plain text
7986 #: build/C/man7/vdso.7:452
7987 msgid ""
7988 "The table below lists the symbols exported by the vDSO.  All of these "
7989 "symbols are also available without the \"__vdso_\" prefix, but you should "
7990 "ignore those and stick to the names below."
7991 msgstr ""
7992
7993 #. type: tbl table
7994 #: build/C/man7/vdso.7:459 build/C/man7/vdso.7:478
7995 #, no-wrap
7996 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
7997 msgstr ""
7998
7999 #. type: tbl table
8000 #: build/C/man7/vdso.7:460 build/C/man7/vdso.7:479
8001 #, no-wrap
8002 msgid "__vdso_getcpu\tLINUX_2.6\n"
8003 msgstr ""
8004
8005 #. type: tbl table
8006 #: build/C/man7/vdso.7:461 build/C/man7/vdso.7:480
8007 #, no-wrap
8008 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8009 msgstr ""
8010
8011 #. type: tbl table
8012 #: build/C/man7/vdso.7:462 build/C/man7/vdso.7:481
8013 #, no-wrap
8014 msgid "__vdso_time\tLINUX_2.6\n"
8015 msgstr ""
8016
8017 #. type: SS
8018 #: build/C/man7/vdso.7:468
8019 #, no-wrap
8020 msgid "x86/x32 functions"
8021 msgstr ""
8022
8023 #. type: SS
8024 #: build/C/man7/vdso.7:487
8025 #, no-wrap
8026 msgid "History"
8027 msgstr ""
8028
8029 #. type: Plain text
8030 #: build/C/man7/vdso.7:494
8031 msgid ""
8032 "The vDSO was originally just a single function\\(emthe vsyscall.  In older "
8033 "kernels, you might see that name in a process's memory map rather than \"vdso"
8034 "\".  Over time, people realized that this mechanism was a great way to pass "
8035 "more functionality to user space, so it was reconceived as a vDSO in the "
8036 "current format."
8037 msgstr ""
8038
8039 #. type: Plain text
8040 #: build/C/man7/vdso.7:498
8041 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8042 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8043
8044 #. type: Plain text
8045 #: build/C/man7/vdso.7:500
8046 msgid "The documents, examples, and source code in the Linux source code tree:"
8047 msgstr ""
8048
8049 #. type: Plain text
8050 #: build/C/man7/vdso.7:506
8051 #, no-wrap
8052 msgid ""
8053 "Documentation/ABI/stable/vdso\n"
8054 "Documentation/ia64/fsys.txt\n"
8055 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8056 msgstr ""
8057
8058 #. type: Plain text
8059 #: build/C/man7/vdso.7:508
8060 #, no-wrap
8061 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8062 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8063
8064 #. type: TH
8065 #: build/C/man3/wcstombs.3:16
8066 #, no-wrap
8067 msgid "WCSTOMBS"
8068 msgstr "WCSTOMBS"
8069
8070 #. type: Plain text
8071 #: build/C/man3/wcstombs.3:19
8072 msgid "wcstombs - convert a wide-character string to a multibyte string"
8073 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8074
8075 #. type: Plain text
8076 #: build/C/man3/wcstombs.3:24
8077 #, no-wrap
8078 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8079 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8080
8081 #. type: Plain text
8082 #: build/C/man3/wcstombs.3:42
8083 msgid ""
8084 "If I<dest> is not NULL, the B<wcstombs>()  function converts the wide-"
8085 "character string I<src> to a multibyte string starting at I<dest>.  At most "
8086 "I<n> bytes are written to I<dest>.  The conversion starts in the initial "
8087 "state.  The conversion can stop for three reasons:"
8088 msgstr ""
8089 "I<dest> が NULL でない場合、 B<wcstombs>()  関数は ワイド文字列 "
8090 "I<src> を I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大"
8091 "で I<n> バイトが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの"
8092 "理由により停止する。"
8093
8094 #. type: Plain text
8095 #: build/C/man3/wcstombs.3:48
8096 msgid ""
8097 "1. A wide character has been encountered that can not be represented as a "
8098 "multibyte sequence (according to the current locale).  In this case I<"
8099 "(size_t)\\ -1> is returned."
8100 msgstr ""
8101 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8102 "場合。この場合には I<(size_t)\\ -1> が返される。"
8103
8104 #. type: Plain text
8105 #: build/C/man3/wcstombs.3:53
8106 msgid ""
8107 "2. The length limit forces a stop.  In this case the number of bytes written "
8108 "to I<dest> is returned, but the shift state at this point is lost."
8109 msgstr ""
8110 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8111 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8112
8113 #. type: Plain text
8114 #: build/C/man3/wcstombs.3:60
8115 msgid ""
8116 "3. The wide-character string has been completely converted, including the "
8117 "terminating null wide character (L\\(aq\\e0\\(aq).  In this case the "
8118 "conversion ends in the initial state.  The number of bytes written to "
8119 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
8120 msgstr ""
8121 "3. ワイド文字列が終端の NULL ワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換"
8122 "された場合。\n"
8123 "この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト数を返す\n"
8124 "(終端の NULL バイト (\\(aq\\e0\\(aq) は含まれない)。"
8125
8126 #. type: Plain text
8127 #: build/C/man3/wcstombs.3:66
8128 msgid ""
8129 "The programmer must ensure that there is room for at least I<n> bytes at "
8130 "I<dest>."
8131 msgstr ""
8132 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8133 "ばならない。"
8134
8135 #. type: Plain text
8136 #: build/C/man3/wcstombs.3:74
8137 msgid ""
8138 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
8139 "except that the converted bytes are not written out to memory, and no length "
8140 "limit exists."
8141 msgstr ""
8142 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8143 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
8144
8145 #. type: Plain text
8146 #: build/C/man3/wcstombs.3:79
8147 msgid ""
8148 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
8149 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
8150 msgstr ""
8151 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8152 "src,0)+1> 以上であることを保証しなければならない。"
8153
8154 #. type: Plain text
8155 #: build/C/man3/wcstombs.3:89
8156 msgid ""
8157 "The B<wcstombs>()  function returns the number of bytes that make up the "
8158 "converted part of a multibyte sequence, not including the terminating null "
8159 "byte.  If a wide character was encountered which could not be converted, I<"
8160 "(size_t)\\ -1> is returned."
8161 msgstr ""
8162 "B<wcstombs>()  関数は生成したマルチバイト列のバイト数を返す。終端の ナル文字"
8163 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8164 "返す。"
8165
8166 #. type: Plain text
8167 #: build/C/man3/wcstombs.3:98
8168 msgid ""
8169 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
8170 "current locale."
8171 msgstr ""
8172 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
8173
8174 #. type: Plain text
8175 #: build/C/man3/wcstombs.3:103
8176 msgid ""
8177 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
8178 "functionality."
8179 msgstr ""
8180 "B<wcsrtombs>()  関数は同じ機能のためのスレッド・セーフな インターフェースを提"
8181 "供する。"
8182
8183 #. type: Plain text
8184 #: build/C/man3/wcstombs.3:109
8185 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8186 msgstr "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8187
8188 #. type: TH
8189 #: build/C/man3/wctomb.3:16
8190 #, no-wrap
8191 msgid "WCTOMB"
8192 msgstr "WCTOMB"
8193
8194 #. type: Plain text
8195 #: build/C/man3/wctomb.3:19
8196 msgid "wctomb - convert a wide character to a multibyte sequence"
8197 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8198
8199 #. type: Plain text
8200 #: build/C/man3/wctomb.3:24
8201 #, no-wrap
8202 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8203 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8204
8205 #. type: Plain text
8206 #: build/C/man3/wctomb.3:45
8207 msgid ""
8208 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
8209 "I<wc> to its multibyte representation and stores it at the beginning of the "
8210 "character array pointed to by I<s>.  It updates the shift state, which is "
8211 "stored in a static anonymous variable known only to the B<wctomb>()  "
8212 "function, and returns the length of said multibyte representation, that is, "
8213 "the number of bytes written at I<s>."
8214 msgstr ""
8215 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
8216 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8217 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8218 "なわち I<s> に書き込まれた バイト数を返す。"
8219
8220 #. type: Plain text
8221 #: build/C/man3/wctomb.3:51
8222 msgid ""
8223 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8224 "bytes at I<s>."
8225 msgstr ""
8226 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8227 "なければならない。"
8228
8229 #.  The Dinkumware doc and the Single UNIX specification say this, but
8230 #.  glibc doesn't implement this.
8231 #. type: Plain text
8232 #: build/C/man3/wctomb.3:63
8233 msgid ""
8234 "If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
8235 "only to this function, to the initial state, and returns nonzero if the "
8236 "encoding has nontrivial shift state, or zero if the encoding is stateless."
8237 msgstr ""
8238 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
8239 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8240 "依存しない場合にはゼロを返す。"
8241
8242 #. type: Plain text
8243 #: build/C/man3/wctomb.3:77
8244 msgid ""
8245 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
8246 "that have been written to the byte array at I<s>.  If I<wc> can not be "
8247 "represented as a multibyte sequence (according to the current locale), -1 is "
8248 "returned."
8249 msgstr ""
8250 "I<s> が NULL でない場合 B<wctomb>()  関数はバイト配列 I<s> に 書き込まれたバ"
8251 "イト数を返す。I<wc> が(現在のロケールにおいて)  マルチバイト列で表現できない"
8252 "場合には -1 を返す。"
8253
8254 #. type: Plain text
8255 #: build/C/man3/wctomb.3:84
8256 msgid ""
8257 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
8258 "has nontrivial shift state, or zero if the encoding is stateless."
8259 msgstr ""
8260 "I<s> が NULL の場合 B<wctomb>()  関数は文字符号がシフト状態に 依存している場"
8261 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8262
8263 #. type: Plain text
8264 #: build/C/man3/wctomb.3:89
8265 msgid "The B<wctomb>()  function is not thread-safe."
8266 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8267
8268 #. type: Plain text
8269 #: build/C/man3/wctomb.3:98
8270 msgid ""
8271 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
8272 "current locale."
8273 msgstr ""
8274 "B<wctomb>()  関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
8275 "る。"
8276
8277 #. type: Plain text
8278 #: build/C/man3/wctomb.3:103
8279 msgid ""
8280 "The function B<wcrtomb>(3)  provides a better interface to the same "
8281 "functionality."
8282 msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインタフェースを提供する。"
8283
8284 #. type: Plain text
8285 #: build/C/man3/wctomb.3:110
8286 msgid ""
8287 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8288 "B<wcstombs>(3)"
8289 msgstr "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), B<wcstombs>(3)"
8290
8291 #~ msgid ""
8292 #~ "The B<mkostemp>()  function is like B<mkstemp>(), with the difference "
8293 #~ "that flags as for B<open>(2)  may be specified in I<flags> (e.g., "
8294 #~ "B<O_APPEND>, B<O_SYNC>)."
8295 #~ msgstr ""
8296 #~ "B<mkostemp>() 関数は B<mkstemp>() と同様だが、B<open>(2) に渡される\n"
8297 #~ "フラグ O_APPENDB<,> B<O_SYNC> など) を I<flags> で指定できる点が異なる"
8298
8299 #~ msgid ""
8300 #~ "This function is not multithread safe.  The function B<wcrtomb>(3)  "
8301 #~ "provides a better interface to the same functionality."
8302 #~ msgstr ""
8303 #~ "この関数はマルチスレッドでは安全ではない。 B<wcrtomb>(3)  関数は 同じ機能"
8304 #~ "のより良いインターフェースを提供する。"
8305
8306 #~ msgid ""
8307 #~ "The B<putenv>()  function returns zero on success, or nonzero if an error "
8308 #~ "occurs."
8309 #~ msgstr ""
8310 #~ "B<putenv>()  関数は、成功した場合 0 を、 エラーが発生した場合 0 以外を返"
8311 #~ "す。"
8312
8313 #~ msgid ""
8314 #~ "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
8315 #~ "B<srandom>()  function returns no value.  The B<initstate>()  function "
8316 #~ "returns a pointer to the previous state array.  The B<setstate>()  "
8317 #~ "function returns a pointer to the previous state array, or NULL on error."
8318 #~ msgstr ""
8319 #~ "B<random>()  関数は 0 と B<RAND_MAX> の間の値を返す。 B<srandom>()  関数は"
8320 #~ "値を返さない。 B<initstate>()  関数は直前の状態配列へのポインタを返す。 "
8321 #~ "B<setstate>()  関数は直前の状態配列へのポインタを返し、 エラーの場合は "
8322 #~ "NULL を返す。"
8323
8324 #~ msgid "All of these functions return 0 on success, or -1 on error."
8325 #~ msgstr "これらの関数は、成功すると 0 を返し、 エラーの場合は -1 を返す。"
8326
8327 #~ msgid ""
8328 #~ "In locales other than the \"C\" locale, other strings may also be "
8329 #~ "accepted.  (For example, the thousands separator of the current locale "
8330 #~ "may be supported.)"
8331 #~ msgstr ""
8332 #~ "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 "
8333 #~ "(例えば、現在のロケールの 1000 毎の区切り文字がサポートされているかもしれ"
8334 #~ "ない。)"
8335
8336 #~ msgid ""
8337 #~ "Recent versions of Linux libc (later than 5.4.23) and glibc (2.x)  "
8338 #~ "include a B<malloc>()  implementation which is tunable via environment "
8339 #~ "variables.  When B<MALLOC_CHECK_> is set, a special (less efficient) "
8340 #~ "implementation is used which is designed to be tolerant against simple "
8341 #~ "errors, such as double calls of B<free>()  with the same argument, or "
8342 #~ "overruns of a single byte (off-by-one bugs).  Not all such errors can be "
8343 #~ "protected against, however, and memory leaks can result.  If "
8344 #~ "B<MALLOC_CHECK_> is set to 0, any detected heap corruption is silently "
8345 #~ "ignored; if set to 1, a diagnostic message is printed on I<stderr>; if "
8346 #~ "set to 2, B<abort>(3)  is called immediately; if set to 3, a diagnostic "
8347 #~ "message is printed on I<stderr> and the program is aborted.  Using a "
8348 #~ "nonzero B<MALLOC_CHECK_> value can be useful because otherwise a crash "
8349 #~ "may happen much later, and the true cause for the problem is then very "
8350 #~ "hard to track down."
8351 #~ msgstr ""
8352 #~ "最近のバージョンの Linux libc (5.4.23 以降) と glibc (2.x) では、 "
8353 #~ "B<malloc>()  の動作を環境変数によって制御できるような実装がされている。 "
8354 #~ "B<MALLOC_CHECK_> が設定されていると、特殊な実装が用いられ、 単純なエラーに"
8355 #~ "は耐えることができるようになる (効率は悪くなる)。例えば、 B<free>()  を同"
8356 #~ "じ引き数で二度呼び出してしまう、 1 バイトだけ行きすぎてしまう (off-by-one "
8357 #~ "バグ) などがこれに当たる。 しかし、これらのエラーの全てを防ぐことができる"
8358 #~ "わけではなく、 その場合にはメモリリークが起こってしまう。 "
8359 #~ "B<MALLOC_CHECK_> が 0 にセットされていると、ヒープの破壊を黙って無視す"
8360 #~ "る。 1 にセットされていると、診断メッセージが標準エラー出力に表示される。 "
8361 #~ "2 にセットされていると、ただちに B<abort>(3)  が呼び出される。 3 にセット"
8362 #~ "されていると、診断メッセージが標準エラー出力に表示され、 プログラムは強制"
8363 #~ "終了 (abort) される。 B<MALLOC_CHECK_> に 0 以外の値をセットして役に立つ状"
8364 #~ "況としては、 実際のプロセスのクラッシュがずっと後に起こり、 本当の原因を探"
8365 #~ "し出すのが非常に困難な場合などが挙げられるだろう。"