OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-02-04 23:31+0900\n"
10 "PO-Revision-Date: 2015-02-05 00:24+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 build/C/man2/getrandom.2:27
35 #, no-wrap
36 msgid "Linux"
37 msgstr "Linux"
38
39 #. type: TH
40 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
41 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33
42 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
43 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24
44 #: build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30
45 #: build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30
46 #: build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
47 #: build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34
48 #: build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33
49 #: build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
50 #: build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35
51 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
52 #: build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33
53 #: build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29
54 #: build/C/man3/setenv.3:37 build/C/man3/strtod.3:45
55 #: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31
56 #: build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13
57 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
58 #: build/C/man2/getrandom.2:27
59 #, no-wrap
60 msgid "Linux Programmer's Manual"
61 msgstr "Linux Programmer's Manual"
62
63 #. type: SH
64 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
65 #: build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34
66 #: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
67 #: build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25
68 #: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31
69 #: build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
70 #: build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30
71 #: build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35
72 #: build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34
73 #: build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17
74 #: build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36
75 #: build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37
76 #: build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34
77 #: build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30
78 #: build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
79 #: build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32
80 #: build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14
81 #: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
82 #: build/C/man2/getrandom.2:28
83 #, no-wrap
84 msgid "NAME"
85 msgstr "名前"
86
87 #. type: Plain text
88 #: build/C/man3/MB_CUR_MAX.3:20
89 msgid ""
90 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
91 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
92
93 #. type: SH
94 #: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20
95 #: build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36
96 #: build/C/man3/atof.3:34 build/C/man3/atoi.3:36
97 #: build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27
98 #: build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34
99 #: build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33
100 #: build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32
101 #: build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37
102 #: build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36
103 #: build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19
104 #: build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38
105 #: build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39
106 #: build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36
107 #: build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32
108 #: build/C/man3/setenv.3:40 build/C/man3/strtod.3:48
109 #: build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34
110 #: build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16
111 #: build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
112 #: build/C/man2/getrandom.2:30
113 #, no-wrap
114 msgid "SYNOPSIS"
115 msgstr "書式"
116
117 #. type: Plain text
118 #: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39
119 #: build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31
120 #: build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37
121 #: build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35
122 #: build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39
123 #: build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22
124 #: build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41
125 #: build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42
126 #: build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33
127 #: build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37
128 #: build/C/man3/strtoul.3:39 build/C/man3/system.3:37
129 #: build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
130 #, no-wrap
131 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
132 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
133
134 #. type: SH
135 #: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24
136 #: build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42
137 #: build/C/man3/atof.3:40 build/C/man3/atoi.3:62
138 #: build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52
139 #: build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75
140 #: build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64
141 #: build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38
142 #: build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44
143 #: build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45
144 #: build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25
145 #: build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76
146 #: build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54
147 #: build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64
148 #: build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46
149 #: build/C/man3/setenv.3:61 build/C/man3/strtod.3:73
150 #: build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59
151 #: build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20
152 #: build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
153 #: build/C/man2/getrandom.2:34
154 #, no-wrap
155 msgid "DESCRIPTION"
156 msgstr "説明"
157
158 #. type: Plain text
159 #: build/C/man3/MB_CUR_MAX.3:31
160 msgid ""
161 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
162 "number of bytes needed to represent a single wide character in the current "
163 "locale.  It is locale dependent and therefore not a compile-time constant."
164 msgstr ""
165 "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要"
166 "な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイ"
167 "ル時に決まる定数ではない。"
168
169 #. type: SH
170 #: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29
171 #: build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55
172 #: build/C/man3/atoi.3:86 build/C/man3/canonicalize_file_name.3:61
173 #: build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50
174 #: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86
175 #: build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173
176 #: build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55
177 #: build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132
178 #: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93
179 #: build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155
180 #: build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67
181 #: build/C/man3/rand.3:118 build/C/man3/random.3:118
182 #: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73
183 #: build/C/man3/setenv.3:105 build/C/man3/strtod.3:127
184 #: build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117
185 #: build/C/man3/strtoul.3:127 build/C/man3/system.3:73
186 #: build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
187 #: build/C/man2/getrandom.2:123
188 #, no-wrap
189 msgid "RETURN VALUE"
190 msgstr "返り値"
191
192 #. type: Plain text
193 #: build/C/man3/MB_CUR_MAX.3:35
194 msgid ""
195 "An integer in the range [1, B<MB_LEN_MAX>].  The value 1 denotes traditional "
196 "8-bit encoded characters."
197 msgstr ""
198 "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-"
199 "bit エンコードされた文字を意味する。"
200
201 #. type: SH
202 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
203 #: build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76
204 #: build/C/man3/atof.3:65 build/C/man3/atoi.3:100
205 #: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
206 #: build/C/man3/clearenv.3:59 build/C/man3/drand48.3:260
207 #: build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117
208 #: build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77
209 #: build/C/man3/getauxval.3:197 build/C/man3/getenv.3:96
210 #: build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134
211 #: build/C/man3/malloc.3:171 build/C/man3/mblen.3:92
212 #: build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113
213 #: build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:204
214 #: build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79
215 #: build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161
216 #: build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99
217 #: build/C/man3/setenv.3:128 build/C/man3/strtod.3:171
218 #: build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173
219 #: build/C/man3/strtoul.3:177 build/C/man3/system.3:115
220 #: build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
221 #: build/C/man2/getrandom.2:171
222 #, no-wrap
223 msgid "CONFORMING TO"
224 msgstr "準拠"
225
226 #. type: Plain text
227 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33
228 #: build/C/man3/strtoimax.3:71
229 msgid "C99, POSIX.1-2001."
230 msgstr "C99, POSIX.1-2001."
231
232 #. type: SH
233 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44
234 #: build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161
235 #: build/C/man3/atof.3:67 build/C/man3/atoi.3:119
236 #: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
237 #: build/C/man3/clearenv.3:96 build/C/man3/drand48.3:262
238 #: build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135
239 #: build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86
240 #: build/C/man3/getauxval.3:232 build/C/man3/getenv.3:129
241 #: build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232
242 #: build/C/man3/malloc.3:261 build/C/man3/mblen.3:106
243 #: build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128
244 #: build/C/man3/mkdtemp.3:96 build/C/man3/mkstemp.3:242
245 #: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:87
246 #: build/C/man3/putenv.3:118 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217
247 #: build/C/man3/random.3:197 build/C/man3/random_r.3:141
248 #: build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153
249 #: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:71
250 #: build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225
251 #: build/C/man3/system.3:207 build/C/man7/vdso.7:499
252 #: build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
253 #: build/C/man2/getrandom.2:326
254 #, no-wrap
255 msgid "SEE ALSO"
256 msgstr "関連項目"
257
258 #. type: Plain text
259 #: build/C/man3/MB_CUR_MAX.3:44
260 msgid ""
261 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
262 "B<wctomb>(3)"
263 msgstr ""
264 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
265 "B<wctomb>(3)"
266
267 #. type: SH
268 #: build/C/man3/MB_CUR_MAX.3:44 build/C/man3/MB_LEN_MAX.3:46
269 #: build/C/man2/_exit.2:136 build/C/man3/a64l.3:97 build/C/man3/atexit.3:165
270 #: build/C/man3/atof.3:73 build/C/man3/atoi.3:124
271 #: build/C/man3/canonicalize_file_name.3:78 build/C/man3/cfree.3:119
272 #: build/C/man3/clearenv.3:102 build/C/man3/drand48.3:265
273 #: build/C/man3/drand48_r.3:118 build/C/man3/ecvt.3:141
274 #: build/C/man3/ecvt_r.3:99 build/C/man3/exit.3:190 build/C/man3/gcvt.3:90
275 #: build/C/man3/getauxval.3:236 build/C/man3/getenv.3:137
276 #: build/C/man3/getloadavg.3:77 build/C/man3/getsubopt.3:234
277 #: build/C/man3/malloc.3:285 build/C/man3/mblen.3:108
278 #: build/C/man3/mbstowcs.3:222 build/C/man3/mbtowc.3:135
279 #: build/C/man3/mkdtemp.3:103 build/C/man3/mkstemp.3:248
280 #: build/C/man3/mktemp.3:123 build/C/man3/on_exit.3:91
281 #: build/C/man3/putenv.3:124 build/C/man3/qecvt.3:112 build/C/man3/rand.3:220
282 #: build/C/man3/random.3:203 build/C/man3/random_r.3:145
283 #: build/C/man3/rpmatch.3:150 build/C/man3/setenv.3:158
284 #: build/C/man3/strtod.3:214 build/C/man3/strtoimax.3:77
285 #: build/C/man3/strtol.3:303 build/C/man3/strtoul.3:231
286 #: build/C/man3/system.3:215 build/C/man7/vdso.7:515
287 #: build/C/man3/wcstombs.3:109 build/C/man3/wctomb.3:110
288 #: build/C/man2/getrandom.2:330
289 #, no-wrap
290 msgid "COLOPHON"
291 msgstr "この文書について"
292
293 #. type: Plain text
294 #: build/C/man3/MB_CUR_MAX.3:52 build/C/man3/MB_LEN_MAX.3:54
295 #: build/C/man2/_exit.2:144 build/C/man3/a64l.3:105 build/C/man3/atexit.3:173
296 #: build/C/man3/atof.3:81 build/C/man3/atoi.3:132
297 #: build/C/man3/canonicalize_file_name.3:86 build/C/man3/cfree.3:127
298 #: build/C/man3/clearenv.3:110 build/C/man3/drand48.3:273
299 #: build/C/man3/drand48_r.3:126 build/C/man3/ecvt.3:149
300 #: build/C/man3/ecvt_r.3:107 build/C/man3/exit.3:198 build/C/man3/gcvt.3:98
301 #: build/C/man3/getauxval.3:244 build/C/man3/getenv.3:145
302 #: build/C/man3/getloadavg.3:85 build/C/man3/getsubopt.3:242
303 #: build/C/man3/malloc.3:293 build/C/man3/mblen.3:116
304 #: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
305 #: build/C/man3/mkdtemp.3:111 build/C/man3/mkstemp.3:256
306 #: build/C/man3/mktemp.3:131 build/C/man3/on_exit.3:99
307 #: build/C/man3/putenv.3:132 build/C/man3/qecvt.3:120 build/C/man3/rand.3:228
308 #: build/C/man3/random.3:211 build/C/man3/random_r.3:153
309 #: build/C/man3/rpmatch.3:158 build/C/man3/setenv.3:166
310 #: build/C/man3/strtod.3:222 build/C/man3/strtoimax.3:85
311 #: build/C/man3/strtol.3:311 build/C/man3/strtoul.3:239
312 #: build/C/man3/system.3:223 build/C/man7/vdso.7:523
313 #: build/C/man3/wcstombs.3:117 build/C/man3/wctomb.3:118
314 #: build/C/man2/getrandom.2:338
315 msgid ""
316 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
317 "description of the project, information about reporting bugs, and the latest "
318 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
319 "pages/."
320 msgstr ""
321 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.79 の一部\n"
322 "である。プロジェクトの説明とバグ報告に関する情報は\n"
323 "http://www.kernel.org/doc/man-pages/ に書かれている。"
324
325 #. type: TH
326 #: build/C/man3/MB_LEN_MAX.3:17
327 #, no-wrap
328 msgid "MB_LEN_MAX"
329 msgstr "MB_LEN_MAX"
330
331 #. type: Plain text
332 #: build/C/man3/MB_LEN_MAX.3:20
333 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
334 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
335
336 #. type: Plain text
337 #: build/C/man3/MB_LEN_MAX.3:23
338 #, no-wrap
339 msgid "B<#include E<lt>limits.hE<gt>>\n"
340 msgstr "B<#include E<lt>limits.hE<gt>>\n"
341
342 #. type: Plain text
343 #: build/C/man3/MB_LEN_MAX.3:29
344 msgid ""
345 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
346 "represent a single wide character, across all locales."
347 msgstr ""
348 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
349 "となる 最大バイト数である。"
350
351 #. type: Plain text
352 #: build/C/man3/MB_LEN_MAX.3:31
353 msgid "A constant integer greater than zero."
354 msgstr "0 より大きいの整数型の定数。"
355
356 #. type: SH
357 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
358 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:108 build/C/man3/clearenv.3:73
359 #: build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90 build/C/man3/exit.3:98
360 #: build/C/man3/getauxval.3:199 build/C/man3/getenv.3:102
361 #: build/C/man3/getsubopt.3:136 build/C/man3/malloc.3:173
362 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
363 #: build/C/man3/mbtowc.3:115 build/C/man3/mkstemp.3:217
364 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
365 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
366 #: build/C/man3/strtod.3:176 build/C/man3/strtol.3:178
367 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:117
368 #: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
369 #: build/C/man2/getrandom.2:173
370 #, no-wrap
371 msgid "NOTES"
372 msgstr "注意"
373
374 #. type: Plain text
375 #: build/C/man3/MB_LEN_MAX.3:44
376 msgid ""
377 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
378 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
379 msgstr ""
380 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
381 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
382
383 #. type: Plain text
384 #: build/C/man3/MB_LEN_MAX.3:46
385 msgid "B<MB_CUR_MAX>(3)"
386 msgstr "B<MB_CUR_MAX>(3)"
387
388 #. type: TH
389 #: build/C/man2/_exit.2:29
390 #, no-wrap
391 msgid "_EXIT"
392 msgstr "_EXIT"
393
394 #. type: TH
395 #: build/C/man2/_exit.2:29 build/C/man2/getrandom.2:27
396 #, no-wrap
397 msgid "2015-01-22"
398 msgstr "2015-01-22"
399
400 #. type: Plain text
401 #: build/C/man2/_exit.2:32
402 msgid "_exit, _Exit - terminate the calling process"
403 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
404
405 #. type: Plain text
406 #: build/C/man2/_exit.2:34
407 msgid "B<#include E<lt>unistd.hE<gt>>"
408 msgstr "B<#include E<lt>unistd.hE<gt>>"
409
410 #. type: Plain text
411 #: build/C/man2/_exit.2:36
412 msgid "B<void _exit(int >I<status>B<);>"
413 msgstr "B<void _exit(int >I<status>B<);>"
414
415 #. type: Plain text
416 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
417 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
418 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
419 #: build/C/man3/strtod.3:50
420 msgid "B<#include E<lt>stdlib.hE<gt>>"
421 msgstr "B<#include E<lt>stdlib.hE<gt>>"
422
423 #. type: Plain text
424 #: build/C/man2/_exit.2:40
425 msgid "B<void _Exit(int >I<status>B<);>"
426 msgstr "B<void _Exit(int >I<status>B<);>"
427
428 #. type: Plain text
429 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:50
430 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
431 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
432 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
433 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
434 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
435 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
436 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
437 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
438 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
439 #: build/C/man3/strtoul.3:50
440 msgid ""
441 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
442 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
443
444 #. type: Plain text
445 #: build/C/man2/_exit.2:48
446 msgid "B<_Exit>():"
447 msgstr "B<_Exit>():"
448
449 #. type: Plain text
450 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
451 msgid ""
452 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
453 "200112L;"
454 msgstr ""
455 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
456 "200112L;"
457
458 #. type: Plain text
459 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:71
460 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
461 msgid "or I<cc\\ -std=c99>"
462 msgstr "または I<cc\\ -std=c99>"
463
464 #. type: Plain text
465 #: build/C/man2/_exit.2:67
466 msgid ""
467 "The function B<_exit>()  terminates the calling process \"immediately\".  "
468 "Any open file descriptors belonging to the process are closed; any children "
469 "of the process are inherited by process 1, I<init>, and the process's parent "
470 "is sent a B<SIGCHLD> signal."
471 msgstr ""
472 "B<_exit>()  は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
473 "セスが所有しているディスクリプター (descriptor) で、 オープンされているものは"
474 "全てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
475 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
476 "して B<SIGCHLD> シグナルが送出される。"
477
478 #. type: Plain text
479 #: build/C/man2/_exit.2:74
480 msgid ""
481 "The value I<status> is returned to the parent process as the process's exit "
482 "status, and can be collected using one of the B<wait>(2)  family of calls."
483 msgstr ""
484 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
485 "B<wait>(2)  系関数を利用することによって取得することができる。"
486
487 #. type: Plain text
488 #: build/C/man2/_exit.2:79
489 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
490 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
491
492 #. type: Plain text
493 #: build/C/man2/_exit.2:81
494 msgid "These functions do not return."
495 msgstr "これらの関数は値を返さない。"
496
497 #. type: Plain text
498 #: build/C/man2/_exit.2:86
499 msgid ""
500 "SVr4, POSIX.1-2001, 4.3BSD.  The function B<_Exit>()  was introduced by C99."
501 msgstr "SVr4, POSIX.1-2001, 4.3BSD.  関数 B<_Exit>()  は C99 で導入された。"
502
503 #. type: Plain text
504 #: build/C/man2/_exit.2:90
505 msgid ""
506 "For a discussion on the effects of an exit, the transmission of exit status, "
507 "zombie processes, signals sent, and so on, see B<exit>(3)."
508 msgstr ""
509 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
510 "ついての議論は、 B<exit>(3) を参照すること。"
511
512 #. type: Plain text
513 #: build/C/man2/_exit.2:117
514 msgid ""
515 "The function B<_exit>()  is like B<exit>(3), but does not call any functions "
516 "registered with B<atexit>(3)  or B<on_exit>(3).  Whether it flushes standard "
517 "I/O buffers and removes temporary files created with B<tmpfile>(3)  is "
518 "implementation-dependent.  On the other hand, B<_exit>()  does close open "
519 "file descriptors, and this may cause an unknown delay, waiting for pending "
520 "output to finish.  If the delay is undesired, it may be useful to call "
521 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
522 "pending I/O is canceled, and which pending I/O may be canceled upon "
523 "B<_exit>(), is implementation-dependent."
524 msgstr ""
525 "関数 B<_exit>()  は B<exit>(3)  に似ているが、ANSI C の B<atexit>(3)  や "
526 "B<on_exit>(3)  によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
527 "ファーのフラッシュや、 B<tmpfile>(3)  で作成されたテンポラリファイルの削除を"
528 "行うかどうかは、実装に依存する。 一方で、 B<_exit>()  はオープンされている"
529 "ファイルディスクリプターをクローズしないため、 未決定になっている出力がフラッ"
530 "シュされるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなけれ"
531 "ば、 B<_exit>()  の前に B<tcflush>(3)  のような関数を呼び出せばよい。 "
532 "B<_exit>()  が呼び出されたときに、 未決定になっている全ての I/O がキャンセル"
533 "されるのか、 またどの I/O がキャンセルされるのかは実装に依存する。"
534
535 #. type: SS
536 #: build/C/man2/_exit.2:117
537 #, no-wrap
538 msgid "C library/kernel ABI differences"
539 msgstr "C ライブラリとカーネル ABI の違い"
540
541 #. type: Plain text
542 #: build/C/man2/_exit.2:124
543 msgid ""
544 "In glibc up to version 2.3, the B<_exit>()  wrapper function invoked the "
545 "kernel system call of the same name.  Since glibc 2.3, the wrapper function "
546 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
547 "process."
548 msgstr ""
549 "バージョン 2.3 より前の glibc では、 B<_exit>()  のラッパー関数は同じ名前の"
550 "カーネルシステムコールを起動していた。 glibc 2.3 以降では、プロセス内の全ての"
551 "スレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
552
553 #. type: Plain text
554 #: build/C/man2/_exit.2:136
555 msgid ""
556 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
557 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
558 "B<termios>(3)"
559 msgstr ""
560 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
561 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
562 "B<termios>(3)"
563
564 #. type: TH
565 #: build/C/man3/a64l.3:9
566 #, no-wrap
567 msgid "A64L"
568 msgstr "A64L"
569
570 #. type: TH
571 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
572 #, no-wrap
573 msgid "2014-05-28"
574 msgstr "2014-05-28"
575
576 #. type: Plain text
577 #: build/C/man3/a64l.3:12
578 msgid "a64l, l64a - convert between long and base-64"
579 msgstr "a64l, l64a - long と base-64 を変換する"
580
581 #. type: Plain text
582 #: build/C/man3/a64l.3:16
583 msgid "B<long a64l(const char *>I<str64>B<);>"
584 msgstr "B<long a64l(const char *>I<str64>B<);>"
585
586 #. type: Plain text
587 #: build/C/man3/a64l.3:18
588 msgid "B<char *l64a(long >I<value>B<);>"
589 msgstr "B<char *l64a(long >I<value>B<);>"
590
591 #. type: Plain text
592 #: build/C/man3/a64l.3:26
593 msgid "B<a64l>(), B<l64a>():"
594 msgstr "B<a64l>(), B<l64a>():"
595
596 #. type: Plain text
597 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
598 msgid ""
599 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
600 "_XOPEN_SOURCE_EXTENDED"
601 msgstr ""
602 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
603 "_XOPEN_SOURCE_EXTENDED"
604
605 #. type: Plain text
606 #: build/C/man3/a64l.3:48
607 msgid ""
608 "These functions provide a conversion between 32-bit long integers and little-"
609 "endian base-64 ASCII strings (of length zero to six).  If the string used as "
610 "argument for B<a64l>()  has length greater than six, only the first six "
611 "bytes are used.  If the type I<long> has more than 32 bits, then B<l64a>()  "
612 "uses only the low order 32 bits of I<value>, and B<a64l>()  sign-extends its "
613 "32-bit result."
614 msgstr ""
615 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
616 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>()  の引き数の文字列が 7 文字以上の場"
617 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
618 "B<l64a>()  は I<value> の下位 32 ビットのみを使い、 B<a64l>()  は 32 ビットの"
619 "結果を符号拡張 (sign-extend) する。"
620
621 #. type: Plain text
622 #: build/C/man3/a64l.3:50
623 msgid "The 64 digits in the base-64 system are:"
624 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
625
626 #. type: Plain text
627 #: build/C/man3/a64l.3:58
628 #, no-wrap
629 msgid ""
630 "\\&\\(aq.\\(aq\trepresents a 0\n"
631 "\\&\\(aq/\\(aq\trepresents a 1\n"
632 "0-9\trepresent  2-11\n"
633 "A-Z\trepresent 12-37\n"
634 "a-z\trepresent 38-63\n"
635 msgstr ""
636 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
637 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
638 "0-9\tは 2-11 を表す。\n"
639 "A-Z\tは 12-37 を表す。\n"
640 "a-z\tは 38-63 を表す。\n"
641
642 #. type: Plain text
643 #: build/C/man3/a64l.3:62
644 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
645 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
646
647 #. type: SH
648 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:88
649 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
650 #: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:192
651 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
652 #: build/C/man3/mblen.3:87 build/C/man3/mkdtemp.3:86
653 #: build/C/man3/mkstemp.3:195 build/C/man3/qecvt.3:85
654 #: build/C/man3/random.3:152 build/C/man3/random_r.3:128
655 #: build/C/man3/strtod.3:159 build/C/man3/strtoimax.3:58
656 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
657 #: build/C/man3/system.3:110 build/C/man3/wctomb.3:84
658 #, no-wrap
659 msgid "ATTRIBUTES"
660 msgstr "属性"
661
662 #. type: SS
663 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:89
664 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
665 #: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:193
666 #: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
667 #: build/C/man3/mblen.3:88 build/C/man3/mkdtemp.3:87
668 #: build/C/man3/mkstemp.3:196 build/C/man3/qecvt.3:86
669 #: build/C/man3/random.3:153 build/C/man3/random_r.3:129
670 #: build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:59
671 #: build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166
672 #: build/C/man3/system.3:111 build/C/man3/wctomb.3:85
673 #, no-wrap
674 msgid "Multithreading (see pthreads(7))"
675 msgstr "マルチスレッディング (pthreads(7) 参照)"
676
677 #. type: Plain text
678 #: build/C/man3/a64l.3:67
679 msgid "The B<l64a>()  function is not thread-safe."
680 msgstr "B<l64a>() 関数はスレッドセーフではない。"
681
682 #. type: Plain text
683 #: build/C/man3/a64l.3:71
684 msgid "The B<a64l>()  function is thread-safe."
685 msgstr "B<a64l>() 関数はスレッドセーフである。"
686
687 #. type: Plain text
688 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
689 msgid "POSIX.1-2001."
690 msgstr "POSIX.1-2001."
691
692 #. type: Plain text
693 #: build/C/man3/a64l.3:78
694 msgid ""
695 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
696 "possibly overwritten by later calls."
697 msgstr ""
698 "B<l64a>()  で返される値は静的バッファーへのポインターかもしれないので、 以降"
699 "の呼び出しで上書きされる可能性がある。"
700
701 #. type: Plain text
702 #: build/C/man3/a64l.3:87
703 msgid ""
704 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
705 "I<value> is zero, it returns an empty string."
706 msgstr ""
707 "I<value> が負の場合、 B<l64a>()  の動作は定義されていない。 I<value> が 0 の"
708 "場合は空文字列を返す。"
709
710 #. type: Plain text
711 #: build/C/man3/a64l.3:90
712 msgid ""
713 "These functions are broken in glibc before 2.2.5 (puts most significant "
714 "digit first)."
715 msgstr ""
716 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
717 "る)。"
718
719 #. type: Plain text
720 #: build/C/man3/a64l.3:93
721 msgid "This is not the encoding used by B<uuencode>(1)."
722 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
723
724 #.  .BR itoa (3),
725 #. type: Plain text
726 #: build/C/man3/a64l.3:97
727 msgid "B<uuencode>(1), B<strtoul>(3)"
728 msgstr "B<uuencode>(1), B<strtoul>(3)"
729
730 #. type: TH
731 #: build/C/man3/atexit.3:33
732 #, no-wrap
733 msgid "ATEXIT"
734 msgstr "ATEXIT"
735
736 #. type: TH
737 #: build/C/man3/atexit.3:33
738 #, no-wrap
739 msgid "2008-12-05"
740 msgstr "2008-12-05"
741
742 #. type: Plain text
743 #: build/C/man3/atexit.3:36
744 msgid "atexit - register a function to be called at normal process termination"
745 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
746
747 #. type: Plain text
748 #: build/C/man3/atexit.3:41
749 #, no-wrap
750 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
751 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
752
753 #. type: Plain text
754 #: build/C/man3/atexit.3:54
755 msgid ""
756 "The B<atexit>()  function registers the given I<function> to be called at "
757 "normal process termination, either via B<exit>(3)  or via return from the "
758 "program's I<main>().  Functions so registered are called in the reverse "
759 "order of their registration; no arguments are passed."
760 msgstr ""
761 "B<atexit>()  関数は、与えられた I<function> を、 B<exit>(3)  やプログラムの "
762 "I<main>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
763 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
764 "れる。 登録した関数に引き数は渡されない。"
765
766 #. type: Plain text
767 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
768 msgid ""
769 "The same function may be registered multiple times: it is called once for "
770 "each registration."
771 msgstr ""
772 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
773 "れる。"
774
775 #. type: Plain text
776 #: build/C/man3/atexit.3:63
777 msgid ""
778 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
779 "(32) such functions to be registered.  The actual limit supported by an "
780 "implementation can be obtained using B<sysconf>(3)."
781 msgstr ""
782 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
783 "きることを要求している。 その実装でサポートされている実際の上限は "
784 "B<sysconf>(3)  を使って取得できる。"
785
786 #. type: Plain text
787 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
788 msgid ""
789 "When a child process is created via B<fork>(2), it inherits copies of its "
790 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
791 "functions, all registrations are removed."
792 msgstr ""
793 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
794 "る。\n"
795 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
796 "れる。"
797
798 #. type: Plain text
799 #: build/C/man3/atexit.3:76
800 msgid ""
801 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
802 "returns a nonzero value."
803 msgstr ""
804 "B<atexit>()  関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
805 "以外の値を返す。"
806
807 #. type: Plain text
808 #: build/C/man3/atexit.3:78
809 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
810 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
811
812 #. type: Plain text
813 #: build/C/man3/atexit.3:85
814 msgid ""
815 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
816 "if a process terminates abnormally because of the delivery of a signal."
817 msgstr ""
818 "B<atexit>()  (と B<on_exit>(3))  を使って登録された関数は、 シグナルの配送に"
819 "よりプロセスが異常終了した場合には呼び出されない。"
820
821 #. type: Plain text
822 #: build/C/man3/atexit.3:92
823 msgid ""
824 "If one of the functions registered functions calls B<_exit>(2), then any "
825 "remaining functions are not invoked, and the other process termination steps "
826 "performed by B<exit>(3)  are not performed."
827 msgstr ""
828 "登録された関数の一つが B<_exit>(2)  を呼び出した場合、残りの関数はどれも起動"
829 "されず、 B<exit>(3)  により実行される他のプロセス終了ステップは実行されない。"
830
831 #.  This can happen on OpenBSD 4.2 for example, and is documented
832 #.  as occurring on FreeBSD as well.
833 #.  Glibc does "the Right Thing" -- invocation of the remaining
834 #.  exit handlers carries on as normal.
835 #. type: Plain text
836 #: build/C/man3/atexit.3:109
837 msgid ""
838 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once (i."
839 "e., calling B<exit>(3)  within a function registered using B<atexit>())  is "
840 "undefined.  On some systems (but not Linux), this can result in an infinite "
841 "recursion; portable programs should not invoke B<exit>(3)  inside a function "
842 "registered using B<atexit>()."
843 msgstr ""
844 "POSIX.1-2001 では、 B<atexit>()  を使って登録された一つの関数内で、複数回 "
845 "B<exit>(3)  を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
846 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
847 "プログラムでは、 B<atexit>()  で登録された関数内で B<exit>(3)  を起動すべきで"
848 "はない。"
849
850 #. type: Plain text
851 #: build/C/man3/atexit.3:118
852 msgid ""
853 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
854 "list: at normal process termination, the registered functions are invoked in "
855 "reverse order of their registration by these two functions."
856 msgstr ""
857 "B<atexit>()  と B<on_exit>(3)  は、同じリストに対して関数を登録する。 プロセ"
858 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
859 "された関数が起動される。"
860
861 #.  In glibc, things seem to be handled okay
862 #. type: Plain text
863 #: build/C/man3/atexit.3:124
864 msgid ""
865 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
866 "terminate execution of one of the functions registered B<atexit>()."
867 msgstr ""
868 "POSIX.1-2001 では、 B<atexit>()  で登録された関数の実行を終了するために "
869 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
870
871 #. type: SS
872 #: build/C/man3/atexit.3:124
873 #, no-wrap
874 msgid "Linux notes"
875 msgstr "Linux での注意"
876
877 #. type: Plain text
878 #: build/C/man3/atexit.3:131
879 msgid ""
880 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
881 "shared library to establish functions that are called when the shared "
882 "library is unloaded."
883 msgstr ""
884 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
885 "録するために、共有ライブラリの中で B<atexit>()  (と B<on_exit>(3))  を使用す"
886 "ることができる。"
887
888 #. type: SH
889 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
890 #: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
891 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:200
892 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
893 #, no-wrap
894 msgid "EXAMPLE"
895 msgstr "例"
896
897 #. type: Plain text
898 #: build/C/man3/atexit.3:136
899 #, no-wrap
900 msgid ""
901 "#include E<lt>stdio.hE<gt>\n"
902 "#include E<lt>stdlib.hE<gt>\n"
903 "#include E<lt>unistd.hE<gt>\n"
904 msgstr ""
905 "#include E<lt>stdio.hE<gt>\n"
906 "#include E<lt>stdlib.hE<gt>\n"
907 "#include E<lt>unistd.hE<gt>\n"
908
909 #. type: Plain text
910 #: build/C/man3/atexit.3:142
911 #, no-wrap
912 msgid ""
913 "void\n"
914 "bye(void)\n"
915 "{\n"
916 "    printf(\"That was all, folks\\en\");\n"
917 "}\n"
918 msgstr ""
919 "void\n"
920 "bye(void)\n"
921 "{\n"
922 "    printf(\"That was all, folks\\en\");\n"
923 "}\n"
924
925 #. type: Plain text
926 #: build/C/man3/atexit.3:148
927 #, no-wrap
928 msgid ""
929 "int\n"
930 "main(void)\n"
931 "{\n"
932 "    long a;\n"
933 "    int i;\n"
934 msgstr ""
935 "int\n"
936 "main(void)\n"
937 "{\n"
938 "    long a;\n"
939 "    int i;\n"
940
941 #. type: Plain text
942 #: build/C/man3/atexit.3:151
943 #, no-wrap
944 msgid ""
945 "    a = sysconf(_SC_ATEXIT_MAX);\n"
946 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
947 msgstr ""
948 "    a = sysconf(_SC_ATEXIT_MAX);\n"
949 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
950
951 #. type: Plain text
952 #: build/C/man3/atexit.3:157
953 #, no-wrap
954 msgid ""
955 "    i = atexit(bye);\n"
956 "    if (i != 0) {\n"
957 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
958 "        exit(EXIT_FAILURE);\n"
959 "    }\n"
960 msgstr ""
961 "    i = atexit(bye);\n"
962 "    if (i != 0) {\n"
963 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
964 "        exit(EXIT_FAILURE);\n"
965 "    }\n"
966
967 #. type: Plain text
968 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
969 #: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
970 #: build/C/man3/strtol.3:296
971 #, no-wrap
972 msgid ""
973 "    exit(EXIT_SUCCESS);\n"
974 "}\n"
975 msgstr ""
976 "    exit(EXIT_SUCCESS);\n"
977 "}\n"
978
979 #. type: Plain text
980 #: build/C/man3/atexit.3:165
981 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
982 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
983
984 #. type: TH
985 #: build/C/man3/atof.3:31
986 #, no-wrap
987 msgid "ATOF"
988 msgstr "ATOF"
989
990 #. type: TH
991 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
992 #, no-wrap
993 msgid "2014-01-22"
994 msgstr "2014-01-22"
995
996 #. type: TH
997 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
998 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
999 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
1000 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
1001 #: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
1002 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
1003 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
1004 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
1005 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
1006 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
1007 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
1008 #: build/C/man3/wctomb.3:16
1009 #, no-wrap
1010 msgid "GNU"
1011 msgstr "GNU"
1012
1013 #. type: Plain text
1014 #: build/C/man3/atof.3:34
1015 msgid "atof - convert a string to a double"
1016 msgstr "atof - 文字列を double 型の数値に変換"
1017
1018 #. type: Plain text
1019 #: build/C/man3/atof.3:39
1020 #, no-wrap
1021 msgid "B<double atof(const char *>I<nptr>B<);>\n"
1022 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
1023
1024 #. type: Plain text
1025 #: build/C/man3/atof.3:47
1026 msgid ""
1027 "The B<atof>()  function converts the initial portion of the string pointed "
1028 "to by I<nptr> to I<double>.  The behavior is the same as"
1029 msgstr ""
1030 "B<atof>()  関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
1031 "型の数値に変換する。 この振る舞いは、 B<atof>()  関数がエラーを見つけないこと"
1032 "を除いては、"
1033
1034 #. type: Plain text
1035 #: build/C/man3/atof.3:50
1036 msgid "strtod(nptr, NULL);"
1037 msgstr "strtod(nptr, NULL);"
1038
1039 #. type: Plain text
1040 #: build/C/man3/atof.3:55
1041 msgid "except that B<atof>()  does not detect errors."
1042 msgstr "と同じである。"
1043
1044 #. type: Plain text
1045 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
1046 msgid "The converted value."
1047 msgstr "変換された値。"
1048
1049 #. type: Plain text
1050 #: build/C/man3/atof.3:65
1051 msgid ""
1052 "The B<atof>()  function is thread-safe with exceptions.  It can be safely "
1053 "used in multithreaded applications, as long as B<setlocale>(3)  is not "
1054 "called to change the locale during its execution."
1055 msgstr ""
1056 "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
1057 "呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
1058 "用することができる。"
1059
1060 #. type: Plain text
1061 #: build/C/man3/atof.3:67
1062 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1063 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1064
1065 #. type: Plain text
1066 #: build/C/man3/atof.3:73
1067 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1068 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1069
1070 #. type: TH
1071 #: build/C/man3/atoi.3:33
1072 #, no-wrap
1073 msgid "ATOI"
1074 msgstr "ATOI"
1075
1076 #. type: TH
1077 #: build/C/man3/atoi.3:33 build/C/man3/clearenv.3:26 build/C/man3/ecvt.3:32
1078 #: build/C/man3/getauxval.3:29 build/C/man3/mkstemp.3:35
1079 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
1080 #: build/C/man3/qecvt.3:28 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
1081 #, no-wrap
1082 msgid "2014-08-19"
1083 msgstr "2014-08-19"
1084
1085 #. type: Plain text
1086 #: build/C/man3/atoi.3:36
1087 msgid "atoi, atol, atoll - convert a string to an integer"
1088 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
1089
1090 #. type: Plain text
1091 #: build/C/man3/atoi.3:41
1092 #, no-wrap
1093 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1094 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1095
1096 #. type: Plain text
1097 #: build/C/man3/atoi.3:43
1098 #, no-wrap
1099 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1100 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1101
1102 #. type: Plain text
1103 #: build/C/man3/atoi.3:45
1104 #, no-wrap
1105 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1106 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1107
1108 #. type: Plain text
1109 #: build/C/man3/atoi.3:54
1110 msgid "B<atoll>():"
1111 msgstr "B<atoll>():"
1112
1113 #. type: Plain text
1114 #: build/C/man3/atoi.3:57
1115 msgid ""
1116 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1117 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1118 msgstr ""
1119 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1120 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1121
1122 #. type: Plain text
1123 #: build/C/man3/atoi.3:69
1124 msgid ""
1125 "The B<atoi>()  function converts the initial portion of the string pointed "
1126 "to by I<nptr> to I<int>.  The behavior is the same as"
1127 msgstr ""
1128 "B<atoi>()  関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1129 "整数に変換する。 この振る舞いは、 B<atoi>()  関数がエラーを見つけない点以外"
1130 "は、"
1131
1132 #. type: Plain text
1133 #: build/C/man3/atoi.3:72
1134 msgid "strtol(nptr, NULL, 10);"
1135 msgstr "strtol(nptr, NULL, 10);"
1136
1137 #. type: Plain text
1138 #: build/C/man3/atoi.3:77
1139 msgid "except that B<atoi>()  does not detect errors."
1140 msgstr "と同じである。"
1141
1142 #. type: Plain text
1143 #: build/C/man3/atoi.3:86
1144 msgid ""
1145 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
1146 "except that they convert the initial portion of the string to their return "
1147 "type of I<long> or I<long long>."
1148 msgstr ""
1149 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
1150 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。"
1151
1152 #. type: Plain text
1153 #: build/C/man3/atoi.3:100
1154 msgid ""
1155 "The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
1156 "exceptions.  These functions can be safely used in multithreaded "
1157 "applications, as long as B<setlocale>(3)  is not called to change the locale "
1158 "during their execution."
1159 msgstr ""
1160 "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
1161 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
1162 "プリケーションで安全に使用することができる。"
1163
1164 #. type: Plain text
1165 #: build/C/man3/atoi.3:108
1166 msgid ""
1167 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
1168 "B<atoi>()  and B<atol>()  only."
1169 msgstr ""
1170 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 と POSIX.1-1996 には B<atoi>()  と "
1171 "B<atol>()  だけが含まれている。"
1172
1173 #.  The
1174 #.  .BR atoll ()
1175 #.  function is present in glibc 2 since version 2.0.2, but
1176 #.  not in libc4 or libc5.
1177 #. type: Plain text
1178 #: build/C/man3/atoi.3:119
1179 msgid ""
1180 "Linux libc provided B<atoq>()  as an obsolete name for B<atoll>(); "
1181 "B<atoq>()  is not provided by glibc."
1182 msgstr ""
1183 "Linux libc は B<atoll>() の古い名前として B<atoq>() を提供していた。 glibc で"
1184 "は B<atoq>() は提供されていない。"
1185
1186 #. type: Plain text
1187 #: build/C/man3/atoi.3:124
1188 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1189 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1190
1191 #. type: TH
1192 #: build/C/man3/canonicalize_file_name.3:26
1193 #, no-wrap
1194 msgid "CANONICALIZE_FILE_NAME"
1195 msgstr "CANONICALIZE_FILE_NAME"
1196
1197 #. type: TH
1198 #: build/C/man3/canonicalize_file_name.3:26
1199 #, no-wrap
1200 msgid "2013-05-11"
1201 msgstr "2013-05-11"
1202
1203 #. type: Plain text
1204 #: build/C/man3/canonicalize_file_name.3:29
1205 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1206 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1207
1208 #. type: Plain text
1209 #: build/C/man3/canonicalize_file_name.3:31
1210 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1211 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1212
1213 #. type: Plain text
1214 #: build/C/man3/canonicalize_file_name.3:35
1215 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1216 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1217
1218 #. type: Plain text
1219 #: build/C/man3/canonicalize_file_name.3:49
1220 msgid ""
1221 "The B<canonicalize_file_name>()  function returns a null-terminated string "
1222 "containing the canonicalized absolute pathname corresponding to I<path>.  In "
1223 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
1224 "pathname components.  Consecutive slash (I</>)  characters are replaced by a "
1225 "single slash."
1226 msgstr ""
1227 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1228 "示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
1229 "ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
1230 "ラッシュ一つに置換される。"
1231
1232 #. type: Plain text
1233 #: build/C/man3/canonicalize_file_name.3:55
1234 msgid ""
1235 "The returned string is dynamically allocated by B<canonicalize_file_name>()  "
1236 "and the caller should deallocate it with B<free>(3)  when it is no longer "
1237 "required."
1238 msgstr ""
1239 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1240 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1241
1242 #. type: Plain text
1243 #: build/C/man3/canonicalize_file_name.3:59
1244 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1245 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1246
1247 #. type: Plain text
1248 #: build/C/man3/canonicalize_file_name.3:61
1249 #, no-wrap
1250 msgid "    realpath(path, NULL);\n"
1251 msgstr "    realpath(path, NULL);\n"
1252
1253 #. type: Plain text
1254 #: build/C/man3/canonicalize_file_name.3:70
1255 msgid ""
1256 "On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
1257 "On error (e.g., a pathname component is unreadable or does not exist), "
1258 "B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
1259 "error."
1260 msgstr ""
1261 "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
1262 "の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
1263 "合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
1264 "を示す値を設定する。"
1265
1266 #. type: SH
1267 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1268 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1269 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1270 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1271 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:155
1272 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1273 #: build/C/man2/getrandom.2:141
1274 #, no-wrap
1275 msgid "ERRORS"
1276 msgstr "エラー"
1277
1278 #. type: Plain text
1279 #: build/C/man3/canonicalize_file_name.3:73
1280 msgid "See B<realpath>(3)."
1281 msgstr "B<realpath>(3) 参照。"
1282
1283 #. type: Plain text
1284 #: build/C/man3/canonicalize_file_name.3:75
1285 msgid "This function is a GNU extension."
1286 msgstr "この関数は GNU による拡張である。"
1287
1288 #. type: Plain text
1289 #: build/C/man3/canonicalize_file_name.3:78
1290 msgid "B<readlink>(2), B<realpath>(3)"
1291 msgstr "B<readlink>(2), B<realpath>(3)"
1292
1293 #. type: TH
1294 #: build/C/man3/cfree.3:24
1295 #, no-wrap
1296 msgid "CFREE"
1297 msgstr "CFREE"
1298
1299 #. type: TH
1300 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1301 #, no-wrap
1302 msgid "2007-07-26"
1303 msgstr "2007-07-26"
1304
1305 #. type: Plain text
1306 #: build/C/man3/cfree.3:27
1307 msgid "cfree - free allocated memory"
1308 msgstr "cfree - 割り当てられたメモリーを解放する"
1309
1310 #. type: Plain text
1311 #: build/C/man3/cfree.3:34
1312 #, no-wrap
1313 msgid ""
1314 "/* In SunOS 4 */\n"
1315 "B<int cfree(void *>I<ptr>B<);>\n"
1316 msgstr ""
1317 "/* SunOS 4 では */\n"
1318 "B<int cfree(void *>I<ptr>B<);>\n"
1319
1320 #. type: Plain text
1321 #: build/C/man3/cfree.3:37
1322 #, no-wrap
1323 msgid ""
1324 "/* In glibc or FreeBSD libcompat */\n"
1325 "B<void cfree(void *>I<ptr>B<);>\n"
1326 msgstr ""
1327 "/* glibc と FreeBSD libcompat では */\n"
1328 "B<void cfree(void *>I<ptr>B<);>\n"
1329
1330 #. type: Plain text
1331 #: build/C/man3/cfree.3:40
1332 #, no-wrap
1333 msgid ""
1334 "/* In SCO OpenServer */\n"
1335 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1336 msgstr ""
1337 "/* SCO OpenServer では */\n"
1338 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1339
1340 #. type: Plain text
1341 #: build/C/man3/cfree.3:43
1342 #, no-wrap
1343 msgid ""
1344 "/* In Solaris watchmalloc.so.1 */\n"
1345 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1346 msgstr ""
1347 "/* Solaris watchmalloc.so.1 では */\n"
1348 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1349
1350 #. type: Plain text
1351 #: build/C/man3/cfree.3:52
1352 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1353 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1354
1355 #. type: Plain text
1356 #: build/C/man3/cfree.3:57
1357 msgid "This function should never be used.  Use B<free>(3)  instead."
1358 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3)  を使うこと。"
1359
1360 #. type: SS
1361 #: build/C/man3/cfree.3:57
1362 #, no-wrap
1363 msgid "1-arg cfree"
1364 msgstr "引き数が 1 つの cfree"
1365
1366 #. type: Plain text
1367 #: build/C/man3/cfree.3:63
1368 msgid ""
1369 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
1370 "compatibility with SunOS\"."
1371 msgstr ""
1372 "glibc では、関数 B<cfree>()  は B<free>(3)  の別名であり、「SunOS との互換性"
1373 "のために追加された」。"
1374
1375 #. type: Plain text
1376 #: build/C/man3/cfree.3:69
1377 msgid ""
1378 "Other systems have other functions with this name.  The declaration is "
1379 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1380 msgstr ""
1381 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1382 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1383
1384 #. type: SS
1385 #: build/C/man3/cfree.3:69
1386 #, no-wrap
1387 msgid "3-arg cfree"
1388 msgstr "引き数が 3 つの cfree"
1389
1390 #. type: Plain text
1391 #: build/C/man3/cfree.3:74
1392 msgid ""
1393 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1394 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1395 msgstr ""
1396 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>()  が含"
1397 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3)  に類似してい"
1398 "る。"
1399
1400 #. type: Plain text
1401 #: build/C/man3/cfree.3:76
1402 msgid "If you need it while porting something, add"
1403 msgstr "何かを移植する時にこの関数が必要な場合、"
1404
1405 #. type: Plain text
1406 #: build/C/man3/cfree.3:79
1407 msgid "#define cfree(p, n, s) free((p))"
1408 msgstr "#define cfree(p, n, s) free((p))"
1409
1410 #. type: Plain text
1411 #: build/C/man3/cfree.3:82
1412 msgid "to your file."
1413 msgstr "をファイルに追加すること。"
1414
1415 #. type: Plain text
1416 #: build/C/man3/cfree.3:91
1417 msgid ""
1418 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
1419 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
1420 "B<free>(3)."
1421 msgstr ""
1422 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリーを解放するのに "
1423 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
1424 "というものである。 答え: B<free>(3)  を使うこと。"
1425
1426 #. type: Plain text
1427 #: build/C/man3/cfree.3:96
1428 msgid ""
1429 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1430 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
1431 "are not used.\""
1432 msgstr ""
1433 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1434 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1435 "num と size 引き数は使用されない。」"
1436
1437 #. type: Plain text
1438 #: build/C/man3/cfree.3:112
1439 msgid ""
1440 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
1441 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
1442 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1443 "allocated by one of the routines in the B<malloc>(3)  family."
1444 msgstr ""
1445 "SunOS 版の B<cfree>()  (B<free>(3)  の別名) は、成功した場合に 1 を返し、失敗"
1446 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1447 "I<ptr> の値が B<malloc>()  系のルーチンの 1 つで以前に割り当てられた ブロック"
1448 "へのポインターでない。"
1449
1450 #. type: Plain text
1451 #: build/C/man3/cfree.3:117
1452 msgid ""
1453 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1454 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1455 msgstr ""
1456 "SCO で用いられている引き数が 3 つの B<cfree>()  は、iBCSe2 規格: Intel386 "
1457 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1458 "2 版) に準拠する。"
1459
1460 #. type: Plain text
1461 #: build/C/man3/cfree.3:119
1462 msgid "B<malloc>(3)"
1463 msgstr "B<malloc>(3)"
1464
1465 #. type: TH
1466 #: build/C/man3/clearenv.3:26
1467 #, no-wrap
1468 msgid "CLEARENV"
1469 msgstr "CLEARENV"
1470
1471 #. type: Plain text
1472 #: build/C/man3/clearenv.3:29
1473 msgid "clearenv - clear the environment"
1474 msgstr "clearenv - 環境 (environment) をクリアする"
1475
1476 #. type: Plain text
1477 #: build/C/man3/clearenv.3:34
1478 #, no-wrap
1479 msgid "B<int clearenv(void);>\n"
1480 msgstr "B<int clearenv(void);>\n"
1481
1482 #. type: Plain text
1483 #: build/C/man3/clearenv.3:43
1484 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1485 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1486
1487 #. type: Plain text
1488 #: build/C/man3/clearenv.3:50
1489 msgid ""
1490 "The B<clearenv>()  function clears the environment of all name-value pairs "
1491 "and sets the value of the external variable I<environ> to NULL."
1492 msgstr ""
1493 "B<clearenv>()  関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1494 "部変数 I<environ> の値を NULL にする。"
1495
1496 #.  Most versions of UNIX return -1 on error, or do not even have errors.
1497 #.  Glibc info and the Watcom C library document "a nonzero value".
1498 #. type: Plain text
1499 #: build/C/man3/clearenv.3:57
1500 msgid ""
1501 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1502 "failure."
1503 msgstr ""
1504 "B<clearenv>()  関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1505 "す。"
1506
1507 #. type: SH
1508 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:188
1509 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1510 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1511 #: build/C/man2/getrandom.2:168
1512 #, no-wrap
1513 msgid "VERSIONS"
1514 msgstr "バージョン"
1515
1516 #. type: Plain text
1517 #: build/C/man3/clearenv.3:59
1518 msgid "Available since glibc 2.0."
1519 msgstr "glibc 2.0 以降で利用可能。"
1520
1521 #. type: Plain text
1522 #: build/C/man3/clearenv.3:73
1523 msgid ""
1524 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
1525 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
1526 "but changed its mind and scheduled these functions for some later issue of "
1527 "this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
1528 "and rejected B<clearenv>()."
1529 msgstr ""
1530 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1531 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>()  と B<putenv>(3)  は採用さ"
1532 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1533 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
1534 "れ、 B<clearenv>()  の追加は否決された。"
1535
1536 #. type: Plain text
1537 #: build/C/man3/clearenv.3:77
1538 msgid ""
1539 "Used in security-conscious applications.  If it is unavailable the assignment"
1540 msgstr ""
1541 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1542 "きない場合は、"
1543
1544 #. type: Plain text
1545 #: build/C/man3/clearenv.3:80
1546 #, no-wrap
1547 msgid "    environ = NULL;\n"
1548 msgstr "    environ = NULL;\n"
1549
1550 #. type: Plain text
1551 #: build/C/man3/clearenv.3:83
1552 msgid "will probably do."
1553 msgstr "というように変数 environ を設定すればよい。"
1554
1555 #.  .LP
1556 #.  HP-UX has a ENOMEM error return.
1557 #. type: Plain text
1558 #: build/C/man3/clearenv.3:96
1559 msgid ""
1560 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1561 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
1562 "functions, then B<clearenv>()  will return an error and the process "
1563 "environment will remain unchanged."
1564 msgstr ""
1565 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
1566 "B<putenv>(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 "
1567 "B<clearenv>()  はエラーを返し、プロセス環境は変更前のままにされる。"
1568
1569 #. type: Plain text
1570 #: build/C/man3/clearenv.3:102
1571 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1572 msgstr ""
1573 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1574
1575 #. type: TH
1576 #: build/C/man3/drand48.3:30
1577 #, no-wrap
1578 msgid "DRAND48"
1579 msgstr "DRAND48"
1580
1581 #. type: TH
1582 #: build/C/man3/drand48.3:30
1583 #, no-wrap
1584 msgid "2014-09-21"
1585 msgstr "2014-09-21"
1586
1587 #. type: Plain text
1588 #: build/C/man3/drand48.3:34
1589 msgid ""
1590 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1591 "lcong48 - generate uniformly distributed pseudo-random numbers"
1592 msgstr ""
1593 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1594 "lcong48 - 一様分布する疑似乱数を生成する関数"
1595
1596 #. type: Plain text
1597 #: build/C/man3/drand48.3:39
1598 #, no-wrap
1599 msgid "B<double drand48(void);>\n"
1600 msgstr "B<double drand48(void);>\n"
1601
1602 #. type: Plain text
1603 #: build/C/man3/drand48.3:41
1604 #, no-wrap
1605 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1606 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1607
1608 #. type: Plain text
1609 #: build/C/man3/drand48.3:43
1610 #, no-wrap
1611 msgid "B<long int lrand48(void);>\n"
1612 msgstr "B<long int lrand48(void);>\n"
1613
1614 #. type: Plain text
1615 #: build/C/man3/drand48.3:45
1616 #, no-wrap
1617 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1618 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1619
1620 #. type: Plain text
1621 #: build/C/man3/drand48.3:47
1622 #, no-wrap
1623 msgid "B<long int mrand48(void);>\n"
1624 msgstr "B<long int mrand48(void);>\n"
1625
1626 #. type: Plain text
1627 #: build/C/man3/drand48.3:49
1628 #, no-wrap
1629 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1630 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1631
1632 #. type: Plain text
1633 #: build/C/man3/drand48.3:51
1634 #, no-wrap
1635 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1636 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1637
1638 #. type: Plain text
1639 #: build/C/man3/drand48.3:53
1640 #, no-wrap
1641 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1642 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1643
1644 #. type: Plain text
1645 #: build/C/man3/drand48.3:55
1646 #, no-wrap
1647 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1648 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1649
1650 #.  .BR drand48 (),
1651 #.  .BR erand48 (),
1652 #.  .BR lrand48 (),
1653 #.  .BR nrand48 (),
1654 #.  .BR mrand48 (),
1655 #.  .BR jrand48 (),
1656 #.  .BR srand48 (),
1657 #.  .BR seed48 (),
1658 #.  .BR lcong48 ():
1659 #. type: Plain text
1660 #: build/C/man3/drand48.3:74
1661 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1662 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1663
1664 #. type: Plain text
1665 #: build/C/man3/drand48.3:78
1666 msgid ""
1667 "These functions generate pseudo-random numbers using the linear congruential "
1668 "algorithm and 48-bit integer arithmetic."
1669 msgstr ""
1670 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1671 "する。"
1672
1673 #. type: Plain text
1674 #: build/C/man3/drand48.3:86
1675 msgid ""
1676 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
1677 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1678 msgstr ""
1679 "関数 B<drand48>()  と B<erand48>()  は、区間 [0.0, 1.0) で 一様分布する非負の"
1680 "倍精度浮動小数点実数値を返す。"
1681
1682 #. type: Plain text
1683 #: build/C/man3/drand48.3:93
1684 msgid ""
1685 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1686 "integers uniformly distributed between 0 and 2^31."
1687 msgstr ""
1688 "関数 B<lrand48>()  と B<nrand48>()  は 0 と 2^31 の間で一様分布する 非負のロ"
1689 "ング整数を返す。"
1690
1691 #. type: Plain text
1692 #: build/C/man3/drand48.3:100
1693 msgid ""
1694 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1695 "uniformly distributed between -2^31 and 2^31."
1696 msgstr ""
1697 "関数 B<mrand48>()  と B<jrand48>()  は -2^31 と 2^31 の間で一様分布する符号付"
1698 "きロング整数を返す。"
1699
1700 #. type: Plain text
1701 #: build/C/man3/drand48.3:119
1702 msgid ""
1703 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
1704 "initialization functions, one of which should be called before using "
1705 "B<drand48>(), B<lrand48>()  or B<mrand48>().  The functions B<erand48>(), "
1706 "B<nrand48>()  and B<jrand48>()  do not require an initialization function to "
1707 "be called first."
1708 msgstr ""
1709 "関数 B<srand48>(), B<seed48>(), B<lcong48>()  は初期化関数 である。 関数 "
1710 "B<drand48>(), B<lrand48>(), B<mrand48>()  を 使用する前に、これらの初期化関数"
1711 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>()  "
1712 "は初めに 初期化関数を呼ぶことを必要としない。"
1713
1714 #. type: Plain text
1715 #: build/C/man3/drand48.3:123
1716 msgid ""
1717 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1718 "according to the linear congruential formula:"
1719 msgstr ""
1720 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1721 "ることで 機能している。生成方法は以下の線形合同の式による。"
1722
1723 #. type: Plain text
1724 #: build/C/man3/drand48.3:127
1725 #, no-wrap
1726 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1727 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1728
1729 #. type: Plain text
1730 #: build/C/man3/drand48.3:140
1731 msgid ""
1732 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
1733 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
1734 msgstr ""
1735 "ここで n E<gt>= 0 である。 パラメーターが I<m> = 2^48 であるため、48ビット整"
1736 "数演算が行われている。 B<lcong48>()  が呼ばれていない場合、I<a> と I<c> は以"
1737 "下の式で与えられる。"
1738
1739 #. type: Plain text
1740 #: build/C/man3/drand48.3:145
1741 #, no-wrap
1742 msgid ""
1743 "B<a = 0x5DEECE66D>\n"
1744 "B<c = 0xB>\n"
1745 msgstr ""
1746 "B<a = 0x5DEECE66D>\n"
1747 "B<c = 0xB>\n"
1748
1749 #. type: Plain text
1750 #: build/C/man3/drand48.3:165
1751 msgid ""
1752 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1753 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
1754 "first generating the next 48-bit I<Xi> in the sequence.  Then the "
1755 "appropriate number of bits, according to the type of data item to be "
1756 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1757 "the returned value."
1758 msgstr ""
1759 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1760 "B<jrand48>()  で返される値は次のようにして計算される。 はじめに、次の48ビット"
1761 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1762 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1763
1764 #. type: Plain text
1765 #: build/C/man3/drand48.3:191
1766 msgid ""
1767 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
1768 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
1769 "B<nrand48>()  and B<jrand48>()  require the calling program to provide "
1770 "storage for the successive I<Xi> values in the array argument I<xsubi>.  The "
1771 "functions are initialized by placing the initial value of I<Xi> into the "
1772 "array before calling the function for the first time."
1773 msgstr ""
1774 "関数 B<drand48>(), B<lrand48>(), B<mrand48>()  は 最後に生成された48ビットの "
1775 "I<Xi> を内部バッファーに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の"
1776 "値を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1777 "B<jrand48>()  は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1778 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1779
1780 #. type: Plain text
1781 #: build/C/man3/drand48.3:200
1782 msgid ""
1783 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
1784 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
1785 "value 0x330E."
1786 msgstr ""
1787 "初期化関数 B<srand48>()  は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1788 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1789
1790 #. type: Plain text
1791 #: build/C/man3/drand48.3:214
1792 msgid ""
1793 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
1794 "value specified in the array argument I<seed16v>.  The previous value of "
1795 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1796 "returned by B<seed48>()."
1797 msgstr ""
1798 "初期化関数 B<seed48>()  は、I<Xi> の値を、 配列の形をした引数である "
1799 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1800 "ファーにコピーされ、このバッファーへのポインターが B<seed48>()  によって返さ"
1801 "れる。"
1802
1803 #. type: Plain text
1804 #: build/C/man3/drand48.3:245
1805 msgid ""
1806 "The initialization function B<lcong48>()  allows the user to specify initial "
1807 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
1808 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
1809 "After B<lcong48>()  has been called, a subsequent call to either "
1810 "B<srand48>()  or B<seed48>()  will restore the standard values of I<a> and "
1811 "I<c>."
1812 msgstr ""
1813 "初期化関数 B<lcong48>()  は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1814 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1815 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1816 "B<lcong48>()  が呼ばれた後で、 B<srand48>()  か B<seed48>()  を呼ぶと、前述"
1817 "の I<a> と I<c> の 標準値が再び設定される。"
1818
1819 #. type: Plain text
1820 #: build/C/man3/drand48.3:260
1821 msgid ""
1822 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1823 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
1824 "global state information for the random number generator, so they are not "
1825 "thread-safe."
1826 msgstr ""
1827 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1828 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1829 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1830 "ない。"
1831
1832 #. type: Plain text
1833 #: build/C/man3/drand48.3:262
1834 msgid "SVr4, POSIX.1-2001."
1835 msgstr "SVr4, POSIX.1-2001."
1836
1837 #. type: Plain text
1838 #: build/C/man3/drand48.3:265
1839 msgid "B<rand>(3), B<random>(3)"
1840 msgstr "B<rand>(3), B<random>(3)"
1841
1842 #. type: TH
1843 #: build/C/man3/drand48_r.3:27
1844 #, no-wrap
1845 msgid "DRAND48_R"
1846 msgstr "DRAND48_R"
1847
1848 #. type: TH
1849 #: build/C/man3/drand48_r.3:27
1850 #, no-wrap
1851 msgid "2013-09-09"
1852 msgstr "2013-09-09"
1853
1854 #. type: Plain text
1855 #: build/C/man3/drand48_r.3:32
1856 msgid ""
1857 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1858 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1859 "reentrantly"
1860 msgstr ""
1861 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1862 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1863 "する"
1864
1865 #. type: Plain text
1866 #: build/C/man3/drand48_r.3:37
1867 #, no-wrap
1868 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1869 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1870
1871 #. type: Plain text
1872 #: build/C/man3/drand48_r.3:39
1873 #, no-wrap
1874 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1875 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1876
1877 #. type: Plain text
1878 #: build/C/man3/drand48_r.3:41
1879 #, no-wrap
1880 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1881 msgstr "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1882
1883 #. type: Plain text
1884 #: build/C/man3/drand48_r.3:43
1885 #, no-wrap
1886 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1887 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1888
1889 #. type: Plain text
1890 #: build/C/man3/drand48_r.3:45
1891 #, no-wrap
1892 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1893 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1894
1895 #. type: Plain text
1896 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1897 #, no-wrap
1898 msgid "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1899 msgstr "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1900
1901 #. type: Plain text
1902 #: build/C/man3/drand48_r.3:49
1903 #, no-wrap
1904 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1905 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1906
1907 #. type: Plain text
1908 #: build/C/man3/drand48_r.3:51
1909 #, no-wrap
1910 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1911 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1912
1913 #. type: Plain text
1914 #: build/C/man3/drand48_r.3:55
1915 #, no-wrap
1916 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1917 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1918
1919 #. type: Plain text
1920 #: build/C/man3/drand48_r.3:57
1921 #, no-wrap
1922 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1923 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1924
1925 #. type: Plain text
1926 #: build/C/man3/drand48_r.3:59
1927 #, no-wrap
1928 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1929 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1930
1931 #. type: Plain text
1932 #: build/C/man3/drand48_r.3:61
1933 #, no-wrap
1934 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1935 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1936
1937 #. type: Plain text
1938 #: build/C/man3/drand48_r.3:63
1939 #, no-wrap
1940 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1941 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1942
1943 #.  .BR drand48_r (),
1944 #.  .BR erand48_r (),
1945 #.  .BR lrand48_r (),
1946 #.  .BR nrand48_r (),
1947 #.  .BR mrand48_r (),
1948 #.  .BR jrand48_r (),
1949 #.  .BR srand48_r (),
1950 #.  .BR seed48_r (),
1951 #.  .BR lcong48_r ():
1952 #. type: Plain text
1953 #: build/C/man3/drand48_r.3:82
1954 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1955 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1956
1957 #. type: Plain text
1958 #: build/C/man3/drand48_r.3:89
1959 msgid ""
1960 "These functions are the reentrant analogs of the functions described in "
1961 "B<drand48>(3).  Instead of modifying the global random generator state, they "
1962 "use the supplied data I<buffer>."
1963 msgstr ""
1964 "これらの関数は B<drand48>(3)  で説明されている関数に類似するリエントラントな"
1965 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1966 "れたデータ I<buffer> を使う。"
1967
1968 #. type: Plain text
1969 #: build/C/man3/drand48_r.3:96
1970 msgid ""
1971 "Before the first use, this struct must be initialized, for example, by "
1972 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1973 "B<seed48_r>(), or B<lcong48_r>()."
1974 msgstr ""
1975 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1976 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>()  のいずれ"
1977 "かを呼び出すことによって行われる。"
1978
1979 #. type: Plain text
1980 #: build/C/man3/drand48_r.3:98
1981 msgid "The return value is 0."
1982 msgstr "返り値は 0 である。"
1983
1984 #. type: Plain text
1985 #: build/C/man3/drand48_r.3:112
1986 msgid ""
1987 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1988 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1989 "B<lcong48_r>()  functions are thread-safe."
1990 msgstr ""
1991 "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1992 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), "
1993 "B<lcong48_r>() はスレッドセーフである。"
1994
1995 #. type: Plain text
1996 #: build/C/man3/drand48_r.3:114
1997 msgid "These functions are GNU extensions and are not portable."
1998 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1999
2000 #. type: Plain text
2001 #: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:145
2002 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
2003 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
2004
2005 #. type: TH
2006 #: build/C/man3/ecvt.3:32
2007 #, no-wrap
2008 msgid "ECVT"
2009 msgstr "ECVT"
2010
2011 #. type: Plain text
2012 #: build/C/man3/ecvt.3:35
2013 msgid "ecvt, fcvt - convert a floating-point number to a string"
2014 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
2015
2016 #. type: Plain text
2017 #: build/C/man3/ecvt.3:40
2018 msgid ""
2019 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2020 "B<int *>I<sign>B<);>"
2021 msgstr ""
2022 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2023 "B<int *>I<sign>B<);>"
2024
2025 #. type: Plain text
2026 #: build/C/man3/ecvt.3:43
2027 msgid ""
2028 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2029 "B<int *>I<sign>B<);>"
2030 msgstr ""
2031 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2032 "B<int *>I<sign>B<);>"
2033
2034 #. type: Plain text
2035 #: build/C/man3/ecvt.3:51
2036 msgid "B<ecvt>(), B<fcvt>():"
2037 msgstr "B<ecvt>(), B<fcvt>():"
2038
2039 #. type: TP
2040 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
2041 #, no-wrap
2042 msgid "Since glibc 2.12:"
2043 msgstr "glibc 2.12 以降:"
2044
2045 #. type: Plain text
2046 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
2047 #, no-wrap
2048 msgid ""
2049 "_SVID_SOURCE ||\n"
2050 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2051 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2052 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2053 msgstr ""
2054 "_SVID_SOURCE ||\n"
2055 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2056 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2057 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2058
2059 #. type: TP
2060 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
2061 #, no-wrap
2062 msgid "Before glibc 2.12:"
2063 msgstr "glibc 2.12 より前:"
2064
2065 #. type: Plain text
2066 #: build/C/man3/ecvt.3:92
2067 msgid ""
2068 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
2069 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
2070 "determined by the precision of a I<double>), and returns a pointer to the "
2071 "string.  The high-order digit is nonzero, unless I<number> is zero.  The low "
2072 "order digit is rounded.  The string itself does not contain a decimal point; "
2073 "however, the position of the decimal point relative to the start of the "
2074 "string is stored in I<*decpt>.  A negative value for I<*decpt> means that "
2075 "the decimal point is to the left of the start of the string.  If the sign of "
2076 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
2077 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
2078 "1."
2079 msgstr ""
2080 "関数 B<ecvt>()  は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ"
2081 "変換し、その文字列へのポインターを返す (I<ndigits> が I<double> の精度によっ"
2082 "て決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の"
2083 "値となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁"
2084 "は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの"
2085 "小数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文"
2086 "字列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
2087 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
2088 "ら、I<*decpt> が 0 か 1 かは未規定である。"
2089
2090 #. type: Plain text
2091 #: build/C/man3/ecvt.3:99
2092 msgid ""
2093 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
2094 "specifies the number of digits after the decimal point."
2095 msgstr ""
2096 "関数 B<fcvt>()  は B<ecvt>()  と同じ機能を持つが、I<ndigits> は小数点以下の文"
2097 "字数を指定する。"
2098
2099 #. type: Plain text
2100 #: build/C/man3/ecvt.3:110
2101 msgid ""
2102 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
2103 "string containing the ASCII representation of I<number>.  The static string "
2104 "is overwritten by each call to B<ecvt>()  or B<fcvt>()."
2105 msgstr ""
2106 "関数 B<ecvt>()  と B<fcvt>()  は I<number> の ASCII 表現を含む 静的な領域内の"
2107 "文字列へのポインターを返す。 この文字列は B<ecvt>()  や B<fcvt>()  の呼び出し"
2108 "のたびに上書きされる。"
2109
2110 #. type: Plain text
2111 #: build/C/man3/ecvt.3:117
2112 msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
2113 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
2114
2115 #. type: Plain text
2116 #: build/C/man3/ecvt.3:129
2117 msgid ""
2118 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
2119 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
2120 "B<sprintf>(3)  instead (though B<snprintf>(3)  may be preferable)."
2121 msgstr ""
2122 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2123 "POSIX.1-2008 では B<ecvt>()  と B<fcvt>()  の仕様が削除され、代わりに "
2124 "B<sprintf>(3)  の使用が推奨されている(しかし B<snprintf>(3)  がより適切かもし"
2125 "れない)。"
2126
2127 #.  Linux libc4 and libc5 specified the type of
2128 #.  .I ndigits
2129 #.  as
2130 #.  .IR size_t .
2131 #. type: Plain text
2132 #: build/C/man3/ecvt.3:135
2133 msgid "Not all locales use a point as the radix character (\"decimal point\")."
2134 msgstr "小数点にピリオドを使わないロケールもある。"
2135
2136 #. type: Plain text
2137 #: build/C/man3/ecvt.3:141
2138 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2139 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2140
2141 #. type: TH
2142 #: build/C/man3/ecvt_r.3:30
2143 #, no-wrap
2144 msgid "ECVT_R"
2145 msgstr "ECVT_R"
2146
2147 #. type: Plain text
2148 #: build/C/man3/ecvt_r.3:33
2149 msgid ""
2150 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2151 "string"
2152 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2153
2154 #. type: Plain text
2155 #: build/C/man3/ecvt_r.3:39
2156 #, no-wrap
2157 msgid ""
2158 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2159 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2160 msgstr ""
2161 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2162 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2163
2164 #. type: Plain text
2165 #: build/C/man3/ecvt_r.3:42
2166 #, no-wrap
2167 msgid ""
2168 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2169 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2170 msgstr ""
2171 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2172 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2173
2174 #. type: Plain text
2175 #: build/C/man3/ecvt_r.3:45
2176 #, no-wrap
2177 msgid ""
2178 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2179 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2180 msgstr ""
2181 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2182 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2183
2184 #. type: Plain text
2185 #: build/C/man3/ecvt_r.3:48
2186 #, no-wrap
2187 msgid ""
2188 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2189 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2190 msgstr ""
2191 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2192 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2193
2194 #. type: Plain text
2195 #: build/C/man3/ecvt_r.3:60
2196 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2197 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2198
2199 #. type: Plain text
2200 #: build/C/man3/ecvt_r.3:62
2201 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2202 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2203
2204 #. type: Plain text
2205 #: build/C/man3/ecvt_r.3:86
2206 msgid ""
2207 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), and B<qfcvt_r>()  are "
2208 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), and B<qfcvt>(3), "
2209 "respectively, except that they do not return their result in a static "
2210 "buffer, but instead use the supplied I<buf> of size I<len>.  See B<ecvt>(3)  "
2211 "and B<qecvt>(3)."
2212 msgstr ""
2213 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>()  は、それぞれ "
2214 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3)  と同じであるが、 静的バッ"
2215 "ファーの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異な"
2216 "る。 B<ecvt>(3), B<qecvt>(3)  を参照のこと。"
2217
2218 #. type: Plain text
2219 #: build/C/man3/ecvt_r.3:88
2220 msgid "These functions return 0 on success, and -1 otherwise."
2221 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2222
2223 #. type: Plain text
2224 #: build/C/man3/ecvt_r.3:90
2225 msgid "These functions are GNU extensions."
2226 msgstr "これらの関数は GNU による拡張である。"
2227
2228 #. type: Plain text
2229 #: build/C/man3/ecvt_r.3:95
2230 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
2231 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3)  の使用を推奨する。"
2232
2233 #. type: Plain text
2234 #: build/C/man3/ecvt_r.3:99
2235 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2236 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2237
2238 #. type: TH
2239 #: build/C/man3/exit.3:29
2240 #, no-wrap
2241 msgid "EXIT"
2242 msgstr "EXIT"
2243
2244 #. type: TH
2245 #: build/C/man3/exit.3:29 build/C/man3/random_r.3:26
2246 #, no-wrap
2247 msgid "2014-03-25"
2248 msgstr "2014-03-25"
2249
2250 #. type: Plain text
2251 #: build/C/man3/exit.3:32
2252 msgid "exit - cause normal process termination"
2253 msgstr "exit - プロセスの正常終了"
2254
2255 #. type: Plain text
2256 #: build/C/man3/exit.3:37
2257 #, no-wrap
2258 msgid "B<void exit(int >I<status>B<);>\n"
2259 msgstr "B<void exit(int >I<status>B<);>\n"
2260
2261 #. type: Plain text
2262 #: build/C/man3/exit.3:45
2263 msgid ""
2264 "The B<exit>()  function causes normal process termination and the value of "
2265 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2266 msgstr ""
2267 "B<exit>()  関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2268 "ロセスへ返す (B<wait>(2)  を参照)。"
2269
2270 #. type: Plain text
2271 #: build/C/man3/exit.3:72
2272 msgid ""
2273 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
2274 "in the reverse order of their registration.  (It is possible for one of "
2275 "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
2276 "additional function to be executed during exit processing; the new "
2277 "registration is added to the front of the list of functions that remain to "
2278 "be called.)  If one of these functions does not return (e.g., it calls "
2279 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2280 "functions is called, and further exit processing (in particular, flushing of "
2281 "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
2282 "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
2283 "many times as it was registered."
2284 msgstr ""
2285 "B<atexit>(3)  や B<on_exit>(3)  によって 登録された全ての関数は、それらが登録"
2286 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3)  or "
2287 "B<on_exit>(3)  を使って exit 処理中に実行される追加の関数を登録することができ"
2288 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2289 "る。)  これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2)  "
2290 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2291 "出されず、それ以降の exit 処理 (特に B<stdio>(3)  ストリームのフラッシュな"
2292 "ど) は中止される。 ある関数が B<atexit>(3)  や B<on_exit>(3)  を使って複数回"
2293 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2294
2295 #. type: Plain text
2296 #: build/C/man3/exit.3:79
2297 msgid ""
2298 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
2299 "B<tmpfile>(3)  are removed."
2300 msgstr ""
2301 "オープン中の B<stdio>(3)  ストリームは全てフラッシュされて、クローズされる。 "
2302 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
2303
2304 #. type: Plain text
2305 #: build/C/man3/exit.3:86
2306 msgid ""
2307 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2308 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
2309 "termination, respectively."
2310 msgstr ""
2311 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2312 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>()  として渡すことができ"
2313 "る。"
2314
2315 #. type: Plain text
2316 #: build/C/man3/exit.3:90
2317 msgid "The B<exit>()  function does not return."
2318 msgstr "B<exit>()  関数は返らない。"
2319
2320 #. type: Plain text
2321 #: build/C/man3/exit.3:96
2322 msgid ""
2323 "The B<exit>()  function uses a global variable that is not protected, so it "
2324 "is not thread-safe."
2325 msgstr ""
2326 "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
2327 "セーフではない。"
2328
2329 #. type: Plain text
2330 #: build/C/man3/exit.3:98
2331 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2332 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2333
2334 #. type: Plain text
2335 #: build/C/man3/exit.3:115
2336 msgid ""
2337 "It is undefined what happens if one of the functions registered using "
2338 "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
2339 "Note that a call to B<execve>(2)  removes registrations created using "
2340 "B<atexit>(3)  and B<on_exit>(3)."
2341 msgstr ""
2342 "B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>() か "
2343 "B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。 "
2344 "B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された"
2345 "関数が削除される点に注意すること。"
2346
2347 #. type: Plain text
2348 #: build/C/man3/exit.3:124
2349 msgid ""
2350 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2351 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2352 "-1.  In particular, VMS uses a different convention."
2353 msgstr ""
2354 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2355 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2356 "VMS は別の方式を用いている。"
2357
2358 #. type: Plain text
2359 #: build/C/man3/exit.3:127
2360 msgid ""
2361 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2362 "hE<gt>>."
2363 msgstr ""
2364 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2365 "こと。"
2366
2367 #. type: Plain text
2368 #: build/C/man3/exit.3:152
2369 msgid ""
2370 "After B<exit>(), the exit status must be transmitted to the parent process.  "
2371 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
2372 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
2373 "parent was waiting on the child, it is notified of the exit status.  In both "
2374 "cases the exiting process dies immediately.  If the parent has not indicated "
2375 "that it is not interested in the exit status, but is not waiting, the "
2376 "exiting process turns into a \"zombie\" process (which is nothing but a "
2377 "container for the single byte representing the exit status) so that the "
2378 "parent can learn the exit status when it later calls one of the B<wait>(2)  "
2379 "functions."
2380 msgstr ""
2381 "B<exit>()  の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2382 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2383 "た場合、 または B<SIGCHLD> ハンドラーを B<SIG_IGN> に設定した場合、 ステータ"
2384 "スは破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに"
2385 "終了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2386 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2387 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2388 "る)  「ゾンビ」プロセスになる。 これにより、後から B<wait>(2)  関数を呼び出す"
2389 "ことで、 親プロセスは終了ステータスを知ることができる。"
2390
2391 #. type: Plain text
2392 #: build/C/man3/exit.3:162
2393 msgid ""
2394 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2395 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2396 "a B<SIGCHLD> signal is sent."
2397 msgstr ""
2398 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2399 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2400 "ルが送られるかどうかは定義されていない。"
2401
2402 #. type: Plain text
2403 #: build/C/man3/exit.3:171
2404 msgid ""
2405 "If the process is a session leader and its controlling terminal is the "
2406 "controlling terminal of the session, then each process in the foreground "
2407 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2408 "the terminal is disassociated from this session, allowing it to be acquired "
2409 "by a new controlling process."
2410 msgstr ""
2411 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2412 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2413 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2414 "これにより新しい制御プロセスを取得することができる。"
2415
2416 #. type: Plain text
2417 #: build/C/man3/exit.3:183
2418 msgid ""
2419 "If the exit of the process causes a process group to become orphaned, and if "
2420 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2421 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2422 "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
2423 "groups."
2424 msgstr ""
2425 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2426 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2427 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2428 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
2429
2430 #. type: Plain text
2431 #: build/C/man3/exit.3:190
2432 msgid ""
2433 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2434 "B<tmpfile>(3)"
2435 msgstr ""
2436 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2437 "B<tmpfile>(3)"
2438
2439 #. type: TH
2440 #: build/C/man3/gcvt.3:30
2441 #, no-wrap
2442 msgid "GCVT"
2443 msgstr "GCVT"
2444
2445 #. type: Plain text
2446 #: build/C/man3/gcvt.3:33
2447 msgid "gcvt - convert a floating-point number to a string"
2448 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2449
2450 #. type: Plain text
2451 #: build/C/man3/gcvt.3:38
2452 #, no-wrap
2453 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2454 msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2455
2456 #. type: Plain text
2457 #: build/C/man3/gcvt.3:46
2458 msgid "B<gcvt>():"
2459 msgstr "B<gcvt>():"
2460
2461 #. type: Plain text
2462 #: build/C/man3/gcvt.3:61
2463 msgid ""
2464 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2465 "_XOPEN_SOURCE_EXTENDED"
2466 msgstr ""
2467 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2468 "_XOPEN_SOURCE_EXTENDED"
2469
2470 #. type: Plain text
2471 #: build/C/man3/gcvt.3:72
2472 msgid ""
2473 "The B<gcvt>()  function converts I<number> to a minimal length null-"
2474 "terminated ASCII string and stores the result in I<buf>.  It produces "
2475 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
2476 msgstr ""
2477 "関数 B<gcvt>()  は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
2478 "変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマット"
2479 "や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2480
2481 #. type: Plain text
2482 #: build/C/man3/gcvt.3:77
2483 msgid ""
2484 "The B<gcvt>()  function returns the address of the string pointed to by "
2485 "I<buf>."
2486 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインターを返す。"
2487
2488 #. type: Plain text
2489 #: build/C/man3/gcvt.3:86
2490 msgid ""
2491 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
2492 "B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though "
2493 "B<snprintf>(3)  may be preferable)."
2494 msgstr ""
2495 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2496 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
2497 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
2498
2499 #. type: Plain text
2500 #: build/C/man3/gcvt.3:90
2501 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2502 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2503
2504 #. type: TH
2505 #: build/C/man3/getauxval.3:29
2506 #, no-wrap
2507 msgid "GETAUXVAL"
2508 msgstr "GETAUXVAL"
2509
2510 #. type: Plain text
2511 #: build/C/man3/getauxval.3:32
2512 msgid "getauxval - retrieve a value from the auxiliary vector"
2513 msgstr "getauxval - 補助ベクトルから値を取得する"
2514
2515 #. type: Plain text
2516 #: build/C/man3/getauxval.3:35
2517 #, no-wrap
2518 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2519 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2520
2521 #. type: Plain text
2522 #: build/C/man3/getauxval.3:37
2523 #, no-wrap
2524 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2525 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2526
2527 #. type: Plain text
2528 #: build/C/man3/getauxval.3:45
2529 msgid ""
2530 "The B<getauxval>()  function retrieves values from the auxiliary vector, a "
2531 "mechanism that the kernel's ELF binary loader uses to pass certain "
2532 "information to user space when a program is executed."
2533 msgstr ""
2534 "B<getauxval>() 関数は補助ベクトル (auxiliary vector) から値を取得する。 補助"
2535 "ベクトルは、 プログラムが実行される際に、 カーネルの ELF バイナリーローダーが"
2536 "ユーザー空間にある種の情報を渡すのに使われる仕組みである。"
2537
2538 #. type: Plain text
2539 #: build/C/man3/getauxval.3:53
2540 msgid ""
2541 "Each entry in the auxiliary vector consists of a pair of values: a type that "
2542 "identifies what this entry represents, and a value for that type.  Given the "
2543 "argument I<type>, B<getauxval>()  returns the corresponding value."
2544 msgstr ""
2545 "補助ベクトルの各エントリーは、 このエントリーを示すタイプとそのタイプの値のペ"
2546 "アで構成される。 引き数 I<type> が指定されると、 B<getauxval>() は対応する値"
2547 "を返す。"
2548
2549 #. type: Plain text
2550 #: build/C/man3/getauxval.3:60
2551 msgid ""
2552 "The value returned for each I<type> is given in the following list.  Not all "
2553 "I<type> values are present on all architectures."
2554 msgstr ""
2555 "それぞれの I<type> に対して返される値の詳細を以下に示す。 すべてのアーキテク"
2556 "チャーですべて I<type> 値が存在するわけではない。"
2557
2558 #. type: TP
2559 #: build/C/man3/getauxval.3:60
2560 #, no-wrap
2561 msgid "B<AT_BASE>"
2562 msgstr "B<AT_BASE>"
2563
2564 #. type: Plain text
2565 #: build/C/man3/getauxval.3:63
2566 msgid ""
2567 "The base address of the program interpreter (usually, the dynamic linker)."
2568 msgstr "プログラムインタープリター (通常は動的ローダー) のベースアドレス。"
2569
2570 #. type: TP
2571 #: build/C/man3/getauxval.3:63
2572 #, no-wrap
2573 msgid "B<AT_BASE_PLATFORM>"
2574 msgstr "B<AT_BASE_PLATFORM>"
2575
2576 #. type: Plain text
2577 #: build/C/man3/getauxval.3:68
2578 msgid ""
2579 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2580 "(PowerPC only)."
2581 msgstr ""
2582 "実プラットフォームを示す文字列。 B<AT_PLATFORM> と異なる値の場合がある。 "
2583 "(PowerPC のみ)"
2584
2585 #. type: TP
2586 #: build/C/man3/getauxval.3:68
2587 #, no-wrap
2588 msgid "B<AT_CLKTCK>"
2589 msgstr "B<AT_CLKTCK>"
2590
2591 #. type: Plain text
2592 #: build/C/man3/getauxval.3:75
2593 msgid ""
2594 "The frequency with which B<times>(2)  counts.  This value can also be "
2595 "obtained via I<sysconf(_SC_CLK_TCK)>."
2596 msgstr ""
2597 "B<times>(2) のカウントが行われる周波数。 この値は I<sysconf(_SC_CLK_TCK)> で"
2598 "も取得できる。"
2599
2600 #. type: TP
2601 #: build/C/man3/getauxval.3:75
2602 #, no-wrap
2603 msgid "B<AT_DCACHEBSIZE>"
2604 msgstr "B<AT_DCACHEBSIZE>"
2605
2606 #. type: Plain text
2607 #: build/C/man3/getauxval.3:78
2608 msgid "The data cache block size."
2609 msgstr "データキャッシュのブロックサイズ。"
2610
2611 #. type: TP
2612 #: build/C/man3/getauxval.3:78
2613 #, no-wrap
2614 msgid "B<AT_EGID>"
2615 msgstr "B<AT_EGID>"
2616
2617 #. type: Plain text
2618 #: build/C/man3/getauxval.3:81
2619 msgid "The effective group ID of the thread."
2620 msgstr "このスレッドの実効グループ ID。"
2621
2622 #. type: TP
2623 #: build/C/man3/getauxval.3:81
2624 #, no-wrap
2625 msgid "B<AT_ENTRY>"
2626 msgstr "B<AT_ENTRY>"
2627
2628 #. type: Plain text
2629 #: build/C/man3/getauxval.3:84
2630 msgid "The entry address of the executable."
2631 msgstr "実行ファイルのエントリーアドレス。"
2632
2633 #. type: TP
2634 #: build/C/man3/getauxval.3:84
2635 #, no-wrap
2636 msgid "B<AT_EUID>"
2637 msgstr "B<AT_EUID>"
2638
2639 #. type: Plain text
2640 #: build/C/man3/getauxval.3:87
2641 msgid "The effective user ID of the thread."
2642 msgstr "このスレッドの実効ユーザー ID。"
2643
2644 #. type: TP
2645 #: build/C/man3/getauxval.3:87
2646 #, no-wrap
2647 msgid "B<AT_EXECFD>"
2648 msgstr "B<AT_EXECFD>"
2649
2650 #. type: Plain text
2651 #: build/C/man3/getauxval.3:90
2652 msgid "File descriptor of program."
2653 msgstr "プログラムのファイルディスクリプター。"
2654
2655 #. type: TP
2656 #: build/C/man3/getauxval.3:90
2657 #, no-wrap
2658 msgid "B<AT_EXECFN>"
2659 msgstr "B<AT_EXECFN>"
2660
2661 #. type: Plain text
2662 #: build/C/man3/getauxval.3:93
2663 msgid "Pathname used to execute program."
2664 msgstr "実行プログラムに使用されたパス名。"
2665
2666 #. type: TP
2667 #: build/C/man3/getauxval.3:93
2668 #, no-wrap
2669 msgid "B<AT_FLAGS>"
2670 msgstr "B<AT_FLAGS>"
2671
2672 #. type: Plain text
2673 #: build/C/man3/getauxval.3:96
2674 msgid "Flags (unused)."
2675 msgstr "フラグ (未使用)。"
2676
2677 #. type: TP
2678 #: build/C/man3/getauxval.3:96
2679 #, no-wrap
2680 msgid "B<AT_FPUCW>"
2681 msgstr "B<AT_FPUCW>"
2682
2683 #. type: Plain text
2684 #: build/C/man3/getauxval.3:101
2685 msgid ""
2686 "Used FPU control word (SuperH architecture only).  This gives some "
2687 "information about the FPU initialization performed by the kernel."
2688 msgstr ""
2689 "使用された FPU 制御ワード (SuperH アーキテクチャーのみ)。 カーネルが実行した "
2690 "FPU 初期化に関する情報を提供するためのものである。"
2691
2692 #. type: TP
2693 #: build/C/man3/getauxval.3:101
2694 #, no-wrap
2695 msgid "B<AT_GID>"
2696 msgstr "B<AT_GID>"
2697
2698 #. type: Plain text
2699 #: build/C/man3/getauxval.3:104
2700 msgid "The real group ID of the thread."
2701 msgstr "このスレッドの実グループ ID。"
2702
2703 #. type: TP
2704 #: build/C/man3/getauxval.3:104
2705 #, no-wrap
2706 msgid "B<AT_HWCAP>"
2707 msgstr "B<AT_HWCAP>"
2708
2709 #. type: Plain text
2710 #: build/C/man3/getauxval.3:114
2711 msgid ""
2712 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2713 "processor capabilities.  The contents of the bit mask are hardware dependent "
2714 "(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
2715 "h> for details relating to the Intel x86 architecture).  A human-readable "
2716 "version of the same information is available via I</proc/cpuinfo>."
2717 msgstr ""
2718 "プロセッサーの詳細な機能 (capabilities) を示す複数バイトからなるビットマスク"
2719 "へのポインターである。 このビットマスクの内容はハードウェア依存である (例え"
2720 "ば、 Intel x86 アーキテクチャーに関する詳細はカーネルのソースファイル I<arch/"
2721 "x86/include/asm/cpufeature.h> を参照)。 同じ情報を人が読みやすい形になってい"
2722 "るのが I</proc/cpuinfo> である。"
2723
2724 #. type: TP
2725 #: build/C/man3/getauxval.3:114
2726 #, no-wrap
2727 msgid "B<AT_ICACHEBSIZE>"
2728 msgstr "B<AT_ICACHEBSIZE>"
2729
2730 #.  .TP
2731 #.  .BR AT_IGNORE
2732 #.  .TP
2733 #.  .BR AT_IGNOREPPC
2734 #.  .TP
2735 #.  .BR AT_NOTELF
2736 #. type: Plain text
2737 #: build/C/man3/getauxval.3:123
2738 msgid "The instruction cache block size."
2739 msgstr "命令キャッシュのブロックサイズ。"
2740
2741 #. type: TP
2742 #: build/C/man3/getauxval.3:123
2743 #, no-wrap
2744 msgid "B<AT_PAGESZ>"
2745 msgstr "B<AT_PAGESZ>"
2746
2747 #. type: Plain text
2748 #: build/C/man3/getauxval.3:127
2749 msgid ""
2750 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2751 msgstr "システムページサイズ (I<sysconf(_SC_PAGESIZE)> が返す値と同じ)。"
2752
2753 #. type: TP
2754 #: build/C/man3/getauxval.3:127
2755 #, no-wrap
2756 msgid "B<AT_PHDR>"
2757 msgstr "B<AT_PHDR>"
2758
2759 #. type: Plain text
2760 #: build/C/man3/getauxval.3:130
2761 msgid "The address of the program headers of the executable."
2762 msgstr "実行プログラムのプログラムヘッダーのアドレス。"
2763
2764 #. type: TP
2765 #: build/C/man3/getauxval.3:130
2766 #, no-wrap
2767 msgid "B<AT_PHENT>"
2768 msgstr "B<AT_PHENT>"
2769
2770 #. type: Plain text
2771 #: build/C/man3/getauxval.3:133
2772 msgid "The size of program header entry."
2773 msgstr "プログラムヘッダーエントリーのサイズ。"
2774
2775 #. type: TP
2776 #: build/C/man3/getauxval.3:133
2777 #, no-wrap
2778 msgid "B<AT_PHNUM>"
2779 msgstr "B<AT_PHNUM>"
2780
2781 #. type: Plain text
2782 #: build/C/man3/getauxval.3:136
2783 msgid "The number of program headers."
2784 msgstr "プログラムヘッダー数。"
2785
2786 #. type: TP
2787 #: build/C/man3/getauxval.3:136
2788 #, no-wrap
2789 msgid "B<AT_PLATFORM>"
2790 msgstr "B<AT_PLATFORM>"
2791
2792 #. type: Plain text
2793 #: build/C/man3/getauxval.3:143
2794 msgid ""
2795 "A pointer to a string that identifies the hardware platform that the program "
2796 "is running on.  The dynamic linker uses this in the interpretation of "
2797 "I<rpath> values."
2798 msgstr ""
2799 "このプログラムが実行されているハードウェアプラットフォームを特定する文字列へ"
2800 "のポインター。 動的リンカーは I<rpath> 値の解釈を行う際にこの値を使用する。"
2801
2802 #. type: TP
2803 #: build/C/man3/getauxval.3:143
2804 #, no-wrap
2805 msgid "B<AT_RANDOM>"
2806 msgstr "B<AT_RANDOM>"
2807
2808 #. type: Plain text
2809 #: build/C/man3/getauxval.3:146
2810 msgid "The address of sixteen bytes containing a random value."
2811 msgstr "ランダム値が入った 16 バイトがあるアドレス。"
2812
2813 #. type: TP
2814 #: build/C/man3/getauxval.3:146
2815 #, no-wrap
2816 msgid "B<AT_SECURE>"
2817 msgstr "B<AT_SECURE>"
2818
2819 #. type: Plain text
2820 #: build/C/man3/getauxval.3:158
2821 msgid ""
2822 "Has a nonzero value if this executable should be treated securely.  Most "
2823 "commonly, a nonzero value indicates that the process is executing a set-user-"
2824 "ID or set-group-ID program; alternatively, a nonzero value may be triggered "
2825 "by a Linux Security Module.  When this value is nonzero, the dynamic linker "
2826 "disables the use of certain environment variables (see B<ld-linux.so>(8))  "
2827 "and glibc changes other aspects of its behavior.  (See also "
2828 "B<secure_getenv>(3).)"
2829 msgstr ""
2830 "この実行ファイルを安全に扱う必要がある場合に 0 以外の値になる。 一番よくある"
2831 "場合としては、 0 以外の値になるのは、 そのプロセスが set-user-ID か set-"
2832 "group-ID されたプログラムを実行している場合である。 他の場合としては、 Linux "
2833 "Security Module が有効になっている場合にも 0 以外の値となる。 この値が 0 以外"
2834 "の場合、 動的リンカーは特定の環境変数の使用を無効化し (B<ld-linux.so>(8) 参"
2835 "照)、 glibc はそのプロセスの動作を別の観点で変更する (B<secure_getenv>(3) 参"
2836 "照)。"
2837
2838 #. type: TP
2839 #: build/C/man3/getauxval.3:158
2840 #, no-wrap
2841 msgid "B<AT_SYSINFO>"
2842 msgstr "B<AT_SYSINFO>"
2843
2844 #. type: Plain text
2845 #: build/C/man3/getauxval.3:162
2846 msgid ""
2847 "The entry point to the system call function in the vDSO.  Not present/needed "
2848 "on all architectures (e.g., absent on x86-64)."
2849 msgstr ""
2850 "vDSO のシステムコール関数へのエントリーポイント。すべてのアーキテクチャーで存"
2851 "在するわけではなく、 また必要というわけでもない (例えば x86-64 には存在しな"
2852 "い)。"
2853
2854 #. type: TP
2855 #: build/C/man3/getauxval.3:162
2856 #, no-wrap
2857 msgid "B<AT_SYSINFO_EHDR>"
2858 msgstr "B<AT_SYSINFO_EHDR>"
2859
2860 #. type: Plain text
2861 #: build/C/man3/getauxval.3:167
2862 msgid ""
2863 "The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
2864 "that the kernel creates in order to provide fast implementations of certain "
2865 "system calls."
2866 msgstr ""
2867 "仮想動的共有オブジェクト (vDSO; virtual Dynamic Shared Object) が入ったページ"
2868 "のアドレス。 vDSO は、 特定のシステムコールの高速な実装を提供するためにカーネ"
2869 "ルが作成する共有オブジェクトである。"
2870
2871 #. type: TP
2872 #: build/C/man3/getauxval.3:167
2873 #, no-wrap
2874 msgid "B<AT_UCACHEBSIZE>"
2875 msgstr "B<AT_UCACHEBSIZE>"
2876
2877 #. type: Plain text
2878 #: build/C/man3/getauxval.3:170
2879 msgid "The unified cache block size."
2880 msgstr "ユニファイド (unified) キャッシュのブロックサイズ。"
2881
2882 #. type: TP
2883 #: build/C/man3/getauxval.3:170
2884 #, no-wrap
2885 msgid "B<AT_UID>"
2886 msgstr "B<AT_UID>"
2887
2888 #. type: Plain text
2889 #: build/C/man3/getauxval.3:173
2890 msgid "The real user ID of the thread."
2891 msgstr "このスレッドの実ユーザー ID。"
2892
2893 #. type: Plain text
2894 #: build/C/man3/getauxval.3:181
2895 msgid ""
2896 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2897 "I<type> is not found, 0 is returned."
2898 msgstr ""
2899 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2900 "らない場合には 0 を返す。"
2901
2902 #. type: TP
2903 #: build/C/man3/getauxval.3:182
2904 #, no-wrap
2905 msgid "B<ENOENT> (since glibc 2.19)"
2906 msgstr "B<ENOENT> (glibc 2.19 以降)"
2907
2908 #.  commit b9ab448f980e296eac21ac65f53783967cc6037b
2909 #. type: Plain text
2910 #: build/C/man3/getauxval.3:188
2911 msgid ""
2912 "No entry corresponding to I<type> could be found in the auxiliary vector."
2913 msgstr "I<type> に対応するエントリーが補助ベクトルになかった。"
2914
2915 #. type: Plain text
2916 #: build/C/man3/getauxval.3:192
2917 msgid "The B<getauxval>()  function was added to glibc in version 2.16."
2918 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2919
2920 #. type: Plain text
2921 #: build/C/man3/getauxval.3:197
2922 msgid "The B<getauxval>()  function is thread-safe."
2923 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2924
2925 #. type: Plain text
2926 #: build/C/man3/getauxval.3:199
2927 msgid "This function is a nonstandard glibc extension."
2928 msgstr "この関数は非標準で glibc による拡張である。"
2929
2930 #. type: Plain text
2931 #: build/C/man3/getauxval.3:208
2932 msgid ""
2933 "The primary consumer of the information in the auxiliary vector is the "
2934 "dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
2935 "efficient shortcut that allows the kernel to communicate a certain set of "
2936 "standard information that the dynamic linker usually or always needs.  In "
2937 "some cases, the same information could be obtained by system calls, but "
2938 "using the auxiliary vector is cheaper."
2939 msgstr ""
2940 "補助ベクトルの情報を主に使用するのは、 動的ローダー B<ld-linux.so>(8) であ"
2941 "る。 補助ベクトルは、 カーネルが動的リンカーが通常もしくは常に必要とするある"
2942 "意味標準的な情報を伝えるための便利で効率的なショートカットである。 いくつかの"
2943 "場合では、 同じ情報がシステムコール経由でも取得できるが、 補助ベクトルを使う"
2944 "方がコストがかからない。"
2945
2946 #. type: Plain text
2947 #: build/C/man3/getauxval.3:214
2948 msgid ""
2949 "The auxiliary vector resides just above the argument list and environment in "
2950 "the process address space.  The auxiliary vector supplied to a program can "
2951 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2952 "program:"
2953 msgstr ""
2954 "補助ベクトルには、 単に、 プロセスのアドレス空間の引き数リストと環境上に存在"
2955 "するだけである。 プログラム実行時に B<LD_SHOW_AUXV> 環境変数を設定すると、 プ"
2956 "ログラムに渡された補助ベクトルを表示することができる。"
2957
2958 #. type: Plain text
2959 #: build/C/man3/getauxval.3:216
2960 #, no-wrap
2961 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2962 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2963
2964 #. type: Plain text
2965 #: build/C/man3/getauxval.3:223
2966 msgid ""
2967 "The auxiliary vector of any process can (subject to file permissions)  be "
2968 "obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
2969 msgstr ""
2970 "任意のプロセスの補助ベクトルは (ファイルのアクセス許可があれば) I</proc/PID/"
2971 "auxv> 経由で取得できる。 詳細は B<proc>(5) を参照。"
2972
2973 #. type: SH
2974 #: build/C/man3/getauxval.3:223 build/C/man3/mktemp.3:105
2975 #: build/C/man3/random.3:189 build/C/man3/rpmatch.3:104
2976 #: build/C/man3/setenv.3:144 build/C/man2/getrandom.2:319
2977 #, no-wrap
2978 msgid "BUGS"
2979 msgstr "バグ"
2980
2981 #. type: Plain text
2982 #: build/C/man3/getauxval.3:232
2983 msgid ""
2984 "Before the addition of the B<ENOENT> error in glibc 2.19, there was no way "
2985 "to unambiguously distinguish the case where I<type> could not be found from "
2986 "the case where the value corresponding to I<type> was zero."
2987 msgstr ""
2988 "glibc 2.19 で B<ENOENT> エラーが追加される前は、 I<type> が見つからなかった場"
2989 "合と I<type> に対応する値が 0 だった場合を明確に区別する方法がなかった。"
2990
2991 #. type: Plain text
2992 #: build/C/man3/getauxval.3:236
2993 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2994 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2995
2996 #. type: TH
2997 #: build/C/man3/getenv.3:33
2998 #, no-wrap
2999 msgid "GETENV"
3000 msgstr "GETENV"
3001
3002 #. type: TH
3003 #: build/C/man3/getenv.3:33
3004 #, no-wrap
3005 msgid "2012-08-14"
3006 msgstr "2012-08-14"
3007
3008 #. type: Plain text
3009 #: build/C/man3/getenv.3:36
3010 msgid "getenv, secure_getenv - get an environment variable"
3011 msgstr "getenv, secure_getenv - 環境変数を得る"
3012
3013 #. type: Plain text
3014 #: build/C/man3/getenv.3:41
3015 #, no-wrap
3016 msgid "B<char *getenv(const char *>I<name>B<);>\n"
3017 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
3018
3019 #. type: Plain text
3020 #: build/C/man3/getenv.3:43
3021 #, no-wrap
3022 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
3023 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
3024
3025 #. type: Plain text
3026 #: build/C/man3/getenv.3:52
3027 msgid "B<secure_getenv>(): _GNU_SOURCE"
3028 msgstr "B<secure_getenv>(): _GNU_SOURCE"
3029
3030 #. type: Plain text
3031 #: build/C/man3/getenv.3:61
3032 msgid ""
3033 "The B<getenv>()  function searches the environment list to find the "
3034 "environment variable I<name>, and returns a pointer to the corresponding "
3035 "I<value> string."
3036 msgstr ""
3037 "関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
3038 "る I<value> 文字列へのポインターを返す。"
3039
3040 #. type: Plain text
3041 #: build/C/man3/getenv.3:69
3042 msgid ""
3043 "The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
3044 "except that it returns NULL in cases where \"secure execution\" is "
3045 "required.  Secure execution is required if one of the following conditions "
3046 "was true when the program run by the calling process was loaded:"
3047 msgstr ""
3048 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
3049 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
3050 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
3051 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
3052
3053 #. type: IP
3054 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
3055 #: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
3056 #: build/C/man3/system.3:91 build/C/man2/getrandom.2:176
3057 #: build/C/man2/getrandom.2:184 build/C/man2/getrandom.2:322
3058 #, no-wrap
3059 msgid "*"
3060 msgstr "*"
3061
3062 #. type: Plain text
3063 #: build/C/man3/getenv.3:74
3064 msgid ""
3065 "the process's effective user ID did not match its real user ID or the "
3066 "process's effective group ID did not match its real group ID (typically this "
3067 "is the result of executing a set-user-ID or set-group-ID program);"
3068 msgstr ""
3069 "プロセスの実効ユーザー ID がプロセスの実ユーザー ID と一致しない場合、または"
3070 "プロセスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、"
3071 "この状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行し"
3072 "た場合である)。"
3073
3074 #. type: Plain text
3075 #: build/C/man3/getenv.3:76
3076 msgid "the effective capability bit was set on the executable file; or"
3077 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
3078
3079 #. type: Plain text
3080 #: build/C/man3/getenv.3:78
3081 msgid "the process has a nonempty permitted capability set."
3082 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
3083
3084 #. type: Plain text
3085 #: build/C/man3/getenv.3:81
3086 msgid ""
3087 "Secure execution may also required if triggered by some Linux security "
3088 "modules."
3089 msgstr ""
3090 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
3091 "必要となる。"
3092
3093 #. type: Plain text
3094 #: build/C/man3/getenv.3:88
3095 msgid ""
3096 "The B<secure_getenv>()  function is intended for use in general-purpose "
3097 "libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
3098 "group-ID programs accidentally trusted the environment."
3099 msgstr ""
3100 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
3101 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
3102 "避するために使うことを意図して作られた。"
3103
3104 #. type: Plain text
3105 #: build/C/man3/getenv.3:93
3106 msgid ""
3107 "The B<getenv>()  function returns a pointer to the value in the environment, "
3108 "or NULL if there is no match."
3109 msgstr ""
3110 "関数 B<getenv>()  は、環境における値 value へのポインターを返す。 I<name> に"
3111 "マッチする環境変数が存在しないときには NULL を返す。"
3112
3113 #. type: Plain text
3114 #: build/C/man3/getenv.3:96
3115 msgid "B<secure_getenv>()  first appeared in glibc 2.17."
3116 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
3117
3118 #. type: Plain text
3119 #: build/C/man3/getenv.3:99
3120 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3121 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3122
3123 #. type: Plain text
3124 #: build/C/man3/getenv.3:102
3125 msgid "B<secure_getenv>()  is a GNU extension."
3126 msgstr "B<secure_getenv>() は GNU による拡張である。"
3127
3128 #. type: Plain text
3129 #: build/C/man3/getenv.3:104
3130 msgid "The strings in the environment list are of the form I<name=value>."
3131 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
3132
3133 #. type: Plain text
3134 #: build/C/man3/getenv.3:110
3135 msgid ""
3136 "As typically implemented, B<getenv>()  returns a pointer to a string within "
3137 "the environment list.  The caller must take care not to modify this string, "
3138 "since that would change the environment of the process."
3139 msgstr ""
3140 "通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインターを返す。 呼"
3141 "び出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変"
3142 "更すると、そのプロセスの環境を変化させることになるからである。"
3143
3144 #. type: Plain text
3145 #: build/C/man3/getenv.3:123
3146 msgid ""
3147 "The implementation of B<getenv>()  is not required to be reentrant.  The "
3148 "string pointed to by the return value of B<getenv>()  may be statically "
3149 "allocated, and can be modified by a subsequent call to B<getenv>(), "
3150 "B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
3151 msgstr ""
3152 "B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
3153 "い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
3154 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3155 "B<unsetenv>(3)  の呼び出しにより変更されることがある。"
3156
3157 #. type: Plain text
3158 #: build/C/man3/getenv.3:129
3159 msgid ""
3160 "The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
3161 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
3162 "to user space."
3163 msgstr ""
3164 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザー空"
3165 "間に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御"
3166 "される。"
3167
3168 #. type: Plain text
3169 #: build/C/man3/getenv.3:137
3170 msgid ""
3171 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3172 "B<capabilities>(7), B<environ>(7)"
3173 msgstr ""
3174 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3175 "B<capabilities>(7), B<environ>(7)"
3176
3177 #. type: TH
3178 #: build/C/man3/getloadavg.3:34
3179 #, no-wrap
3180 msgid "GETLOADAVG"
3181 msgstr "GETLOADAVG"
3182
3183 #. type: TH
3184 #: build/C/man3/getloadavg.3:34
3185 #, no-wrap
3186 msgid "2014-04-01"
3187 msgstr "2014-04-01"
3188
3189 #. type: Plain text
3190 #: build/C/man3/getloadavg.3:37
3191 msgid "getloadavg - get system load averages"
3192 msgstr "getloadavg - get system load averages"
3193
3194 #. type: Plain text
3195 #: build/C/man3/getloadavg.3:41
3196 #, no-wrap
3197 msgid ""
3198 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
3199 "B<#include E<lt>stdlib.hE<gt>>\n"
3200 msgstr ""
3201 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3202 "B<#include E<lt>stdlib.hE<gt>>\n"
3203
3204 #. type: Plain text
3205 #: build/C/man3/getloadavg.3:43
3206 #, no-wrap
3207 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3208 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3209
3210 #. type: Plain text
3211 #: build/C/man3/getloadavg.3:55
3212 msgid ""
3213 "The B<getloadavg>()  function returns the number of processes in the system "
3214 "run queue averaged over various periods of time.  Up to I<nelem> samples are "
3215 "retrieved and assigned to successive elements of I<loadavg>[].  The system "
3216 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
3217 "and 15 minutes, respectively."
3218 msgstr ""
3219 "B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
3220 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3221 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3222 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3223
3224 #.  .SH HISTORY
3225 #.  The
3226 #.  BR getloadavg ()
3227 #.  function appeared in
3228 #.  4.3BSD Reno .
3229 #. type: Plain text
3230 #: build/C/man3/getloadavg.3:63
3231 msgid ""
3232 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3233 "of samples actually retrieved is returned."
3234 msgstr ""
3235 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3236 "値の数を返す。"
3237
3238 #. type: Plain text
3239 #: build/C/man3/getloadavg.3:65
3240 msgid "This function is available in glibc since version 2.2."
3241 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3242
3243 #. type: Plain text
3244 #: build/C/man3/getloadavg.3:70
3245 msgid "The B<getloadavg>()  function is thread-safe."
3246 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
3247
3248 #.  mdoc seems to have a bug - there must be no newline here
3249 #. type: Plain text
3250 #: build/C/man3/getloadavg.3:74
3251 msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
3252 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
3253
3254 #. type: Plain text
3255 #: build/C/man3/getloadavg.3:77
3256 msgid "B<uptime>(1), B<proc>(5)"
3257 msgstr "B<uptime>(1), B<proc>(5)"
3258
3259 #. type: TH
3260 #: build/C/man3/getsubopt.3:25
3261 #, no-wrap
3262 msgid "GETSUBOPT"
3263 msgstr "GETSUBOPT"
3264
3265 #. type: TH
3266 #: build/C/man3/getsubopt.3:25
3267 #, no-wrap
3268 msgid "2014-04-08"
3269 msgstr "2014-04-08"
3270
3271 #. type: Plain text
3272 #: build/C/man3/getsubopt.3:28
3273 msgid "getsubopt - parse suboption arguments from a string"
3274 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3275
3276 #. type: Plain text
3277 #: build/C/man3/getsubopt.3:33
3278 msgid ""
3279 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3280 "**>I<valuep>B<);>"
3281 msgstr ""
3282 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3283 "**>I<valuep>B<);>"
3284
3285 #. type: Plain text
3286 #: build/C/man3/getsubopt.3:40
3287 msgid "B<getsubopt>():"
3288 msgstr "B<getsubopt>():"
3289
3290 #. type: Plain text
3291 #: build/C/man3/getsubopt.3:45
3292 msgid ""
3293 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3294 msgstr ""
3295 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3296
3297 #. type: Plain text
3298 #: build/C/man3/getsubopt.3:47
3299 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3300 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3301
3302 #. type: Plain text
3303 #: build/C/man3/getsubopt.3:64
3304 msgid ""
3305 "B<getsubopt>()  parses the list of comma-separated suboptions provided in "
3306 "I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
3307 "is used to parse a command line; see for example the I<-o> option of "
3308 "B<mount>(8).)  Each suboption may include an associated value, which is "
3309 "separated from the suboption name by an equal sign.  The following is an "
3310 "example of the kind of string that might be passed in I<optionp>:"
3311 msgstr ""
3312 "B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプションリス"
3313 "トを解析する。 (このようなサブオプションリストは B<getopt>(3)  を使ってコマン"
3314 "ドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-o> オ"
3315 "プションを見るとよい。)  それぞれのサブオプションには対応する値を指定すること"
3316 "ができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切られ"
3317 "る。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3318
3319 #. type: Plain text
3320 #: build/C/man3/getsubopt.3:67
3321 msgid "B<ro,name=xyz>"
3322 msgstr "B<ro,name=xyz>"
3323
3324 #. type: Plain text
3325 #: build/C/man3/getsubopt.3:77
3326 msgid ""
3327 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
3328 "to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
3329 "should be distinct, null-terminated strings containing at least one "
3330 "character, with no embedded equal signs or commas."
3331 msgstr ""
3332 "I<tokens> 引き数はトークンへのポインターの配列へのポインターで、 配列は NULL "
3333 "で終端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞ"
3334 "れのトークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別でき"
3335 "る必要がある。 また、等号とカンマを含んではならない。"
3336
3337 #. type: Plain text
3338 #: build/C/man3/getsubopt.3:98
3339 msgid ""
3340 "Each call to B<getsubopt>()  returns information about the next unprocessed "
3341 "suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
3342 "interpreted as a separator between the name and the value of that "
3343 "suboption.  The value extends to the next comma, or (for the last suboption) "
3344 "to the end of the string.  If the name of the suboption matches a known name "
3345 "from I<tokens>, and a value string was found, B<getsubopt>()  sets "
3346 "I<*valuep> to the address of that string.  The first comma in I<optionp> is "
3347 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
3348 "\" for that suboption."
3349 msgstr ""
3350 "B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3351 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3352 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3353 "オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
3354 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3355 "B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3356 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3357 "はそのサブオプションの「値の文字列」そのものとなる。"
3358
3359 #. type: Plain text
3360 #: build/C/man3/getsubopt.3:102
3361 msgid ""
3362 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3363 "set to NULL."
3364 msgstr ""
3365 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3366 "*I<valuep> は NULL に設定される。"
3367
3368 #. type: Plain text
3369 #: build/C/man3/getsubopt.3:110
3370 msgid ""
3371 "When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
3372 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
3373 "suboption was just processed."
3374 msgstr ""
3375 "B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3376 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3377 "\\e0\\(aq) を指している。"
3378
3379 #. type: Plain text
3380 #: build/C/man3/getsubopt.3:122
3381 msgid ""
3382 "If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
3383 "the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
3384 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
3385 msgstr ""
3386 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
3387 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3388 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3389 "となる。"
3390
3391 #. type: Plain text
3392 #: build/C/man3/getsubopt.3:129
3393 msgid ""
3394 "Since I<*optionp> is changed, the first suboption before the call to "
3395 "B<getsubopt>()  is not (necessarily) the same as the first suboption after "
3396 "B<getsubopt>()."
3397 msgstr ""
3398 "I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
3399 "ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
3400 "い。"
3401
3402 #. type: Plain text
3403 #: build/C/man3/getsubopt.3:134
3404 msgid "The B<getsubopt>()  function is thread-safe."
3405 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
3406
3407 #. type: Plain text
3408 #: build/C/man3/getsubopt.3:143
3409 msgid ""
3410 "Since B<getsubopt>()  overwrites any commas it finds in the string "
3411 "I<*optionp>, that string must be writable; it cannot be a string constant."
3412 msgstr ""
3413 "B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3414 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3415 "ない。"
3416
3417 #. type: Plain text
3418 #: build/C/man3/getsubopt.3:145
3419 msgid "The following program expects suboptions following a \"-o\" option."
3420 msgstr ""
3421 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3422 "ている。"
3423
3424 #. type: Plain text
3425 #: build/C/man3/getsubopt.3:151
3426 #, no-wrap
3427 msgid ""
3428 "#define _XOPEN_SOURCE 500\n"
3429 "#include E<lt>stdlib.hE<gt>\n"
3430 "#include E<lt>assert.hE<gt>\n"
3431 "#include E<lt>stdio.hE<gt>\n"
3432 msgstr ""
3433 "#define _XOPEN_SOURCE 500\n"
3434 "#include E<lt>stdlib.hE<gt>\n"
3435 "#include E<lt>assert.hE<gt>\n"
3436 "#include E<lt>stdio.hE<gt>\n"
3437
3438 #. type: Plain text
3439 #: build/C/man3/getsubopt.3:169
3440 #, no-wrap
3441 msgid ""
3442 "int\n"
3443 "main(int argc, char **argv)\n"
3444 "{\n"
3445 "    enum {\n"
3446 "        RO_OPT = 0,\n"
3447 "        RW_OPT,\n"
3448 "        NAME_OPT\n"
3449 "    };\n"
3450 "    char *const token[] = {\n"
3451 "        [RO_OPT]   = \"ro\",\n"
3452 "        [RW_OPT]   = \"rw\",\n"
3453 "        [NAME_OPT] = \"name\",\n"
3454 "        NULL\n"
3455 "    };\n"
3456 "    char *subopts;\n"
3457 "    char *value;\n"
3458 "    int opt;\n"
3459 msgstr ""
3460 "int\n"
3461 "main(int argc, char **argv)\n"
3462 "{\n"
3463 "    enum {\n"
3464 "        RO_OPT = 0,\n"
3465 "        RW_OPT,\n"
3466 "        NAME_OPT\n"
3467 "    };\n"
3468 "    char *const token[] = {\n"
3469 "        [RO_OPT]   = \"ro\",\n"
3470 "        [RW_OPT]   = \"rw\",\n"
3471 "        [NAME_OPT] = \"name\",\n"
3472 "        NULL\n"
3473 "    };\n"
3474 "    char *subopts;\n"
3475 "    char *value;\n"
3476 "    int opt;\n"
3477
3478 #. type: Plain text
3479 #: build/C/man3/getsubopt.3:174
3480 #, no-wrap
3481 msgid ""
3482 "    int readonly = 0;\n"
3483 "    int readwrite = 0;\n"
3484 "    char *name = NULL;\n"
3485 "    int errfnd = 0;\n"
3486 msgstr ""
3487 "    int readonly = 0;\n"
3488 "    int readwrite = 0;\n"
3489 "    char *name = NULL;\n"
3490 "    int errfnd = 0;\n"
3491
3492 #. type: Plain text
3493 #: build/C/man3/getsubopt.3:180
3494 #, no-wrap
3495 msgid ""
3496 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3497 "        switch (opt) {\n"
3498 "        case \\(aqo\\(aq:\n"
3499 "            subopts = optarg;\n"
3500 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3501 msgstr ""
3502 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3503 "        switch (opt) {\n"
3504 "        case \\(aqo\\(aq:\n"
3505 "            subopts = optarg;\n"
3506 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3507
3508 #. type: Plain text
3509 #: build/C/man3/getsubopt.3:185
3510 #, no-wrap
3511 msgid ""
3512 "            switch (getsubopt(&subopts, token, &value)) {\n"
3513 "            case RO_OPT:\n"
3514 "                readonly = 1;\n"
3515 "                break;\n"
3516 msgstr ""
3517 "            switch (getsubopt(&subopts, token, &value)) {\n"
3518 "            case RO_OPT:\n"
3519 "                readonly = 1;\n"
3520 "                break;\n"
3521
3522 #. type: Plain text
3523 #: build/C/man3/getsubopt.3:189
3524 #, no-wrap
3525 msgid ""
3526 "            case RW_OPT:\n"
3527 "                readwrite = 1;\n"
3528 "                break;\n"
3529 msgstr ""
3530 "            case RW_OPT:\n"
3531 "                readwrite = 1;\n"
3532 "                break;\n"
3533
3534 #. type: Plain text
3535 #: build/C/man3/getsubopt.3:197
3536 #, no-wrap
3537 msgid ""
3538 "            case NAME_OPT:\n"
3539 "                if (value == NULL) {\n"
3540 "                    fprintf(stderr, \"Missing value for \"\n"
3541 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3542 "                    errfnd = 1;\n"
3543 "                    continue;\n"
3544 "                }\n"
3545 msgstr ""
3546 "            case NAME_OPT:\n"
3547 "                if (value == NULL) {\n"
3548 "                    fprintf(stderr, \"Missing value for \"\n"
3549 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3550 "                    errfnd = 1;\n"
3551 "                    continue;\n"
3552 "                }\n"
3553
3554 #. type: Plain text
3555 #: build/C/man3/getsubopt.3:200
3556 #, no-wrap
3557 msgid ""
3558 "                name = value;\n"
3559 "                break;\n"
3560 msgstr ""
3561 "                name = value;\n"
3562 "                break;\n"
3563
3564 #. type: Plain text
3565 #: build/C/man3/getsubopt.3:214
3566 #, no-wrap
3567 msgid ""
3568 "            default:\n"
3569 "                fprintf(stderr, \"No match found \"\n"
3570 "                        \"for token: /%s/\\en\", value);\n"
3571 "                errfnd = 1;\n"
3572 "                break;\n"
3573 "            }\n"
3574 "        }\n"
3575 "        if (readwrite && readonly) {\n"
3576 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3577 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3578 "            errfnd = 1;\n"
3579 "        }\n"
3580 "        break;\n"
3581 msgstr ""
3582 "            default:\n"
3583 "                fprintf(stderr, \"No match found \"\n"
3584 "                        \"for token: /%s/\\en\", value);\n"
3585 "                errfnd = 1;\n"
3586 "                break;\n"
3587 "            }\n"
3588 "        }\n"
3589 "        if (readwrite && readonly) {\n"
3590 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3591 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3592 "            errfnd = 1;\n"
3593 "        }\n"
3594 "        break;\n"
3595
3596 #. type: Plain text
3597 #: build/C/man3/getsubopt.3:219
3598 #, no-wrap
3599 msgid ""
3600 "        default:\n"
3601 "            errfnd = 1;\n"
3602 "        }\n"
3603 "    }\n"
3604 msgstr ""
3605 "        default:\n"
3606 "            errfnd = 1;\n"
3607 "        }\n"
3608 "    }\n"
3609
3610 #. type: Plain text
3611 #: build/C/man3/getsubopt.3:226
3612 #, no-wrap
3613 msgid ""
3614 "    if (errfnd || argc == 1) {\n"
3615 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3616 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3617 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3618 "        exit(EXIT_FAILURE);\n"
3619 "    }\n"
3620 msgstr ""
3621 "    if (errfnd || argc == 1) {\n"
3622 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3623 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3624 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3625 "        exit(EXIT_FAILURE);\n"
3626 "    }\n"
3627
3628 #. type: Plain text
3629 #: build/C/man3/getsubopt.3:228
3630 #, no-wrap
3631 msgid "    /* Remainder of program... */\n"
3632 msgstr "    /* Remainder of program... */\n"
3633
3634 #. type: Plain text
3635 #: build/C/man3/getsubopt.3:234
3636 msgid "B<getopt>(3)"
3637 msgstr "B<getopt>(3)"
3638
3639 #. type: TH
3640 #: build/C/man3/malloc.3:33
3641 #, no-wrap
3642 msgid "MALLOC"
3643 msgstr "MALLOC"
3644
3645 #. type: TH
3646 #: build/C/man3/malloc.3:33
3647 #, no-wrap
3648 msgid "2014-05-21"
3649 msgstr "2014-05-21"
3650
3651 #. type: Plain text
3652 #: build/C/man3/malloc.3:36
3653 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3654 msgstr "malloc, free, calloc, realloc - 動的なメモリーの割り当てと解放を行う"
3655
3656 #. type: Plain text
3657 #: build/C/man3/malloc.3:44
3658 #, no-wrap
3659 msgid ""
3660 "B<void *malloc(size_t >I<size>B<);>\n"
3661 "B<void free(void >I<*ptr>B<);>\n"
3662 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3663 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3664 msgstr ""
3665 "B<void *malloc(size_t >I<size>B<);>\n"
3666 "B<void free(void >I<*ptr>B<);>\n"
3667 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3668 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3669
3670 #.  glibc does this:
3671 #. type: Plain text
3672 #: build/C/man3/malloc.3:61
3673 msgid ""
3674 "The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
3675 "the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
3676 "then B<malloc>()  returns either NULL, or a unique pointer value that can "
3677 "later be successfully passed to B<free>()."
3678 msgstr ""
3679 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリーに対す"
3680 "る\n"
3681 "ポインターを返す。I<メモリーの内容は初期化されない>。 I<size> が 0 の場合、\n"
3682 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3683 "一意なポインター値を返す。"
3684
3685 #. type: Plain text
3686 #: build/C/man3/malloc.3:77
3687 msgid ""
3688 "The B<free>()  function frees the memory space pointed to by I<ptr>, which "
3689 "must have been returned by a previous call to B<malloc>(), B<calloc>(), or "
3690 "B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
3691 "undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
3692 msgstr ""
3693 "B<free>() 関数はポインター I<ptr> が指すメモリー空間を解放する。このポイン"
3694 "ターは、\n"
3695 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3696 "値で\n"
3697 "なければならない。これ以外のポインターを指定したり、すでに I<free(ptr)> が実"
3698 "行\n"
3699 "されていたりした場合の動作は定義されていない。\n"
3700 "I<ptr> が NULL の場合には、何の動作も行われない。"
3701
3702 #.  glibc does this:
3703 #. type: Plain text
3704 #: build/C/man3/malloc.3:96
3705 msgid ""
3706 "The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
3707 "of I<size> bytes each and returns a pointer to the allocated memory.  The "
3708 "memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
3709 "returns either NULL, or a unique pointer value that can later be "
3710 "successfully passed to B<free>()."
3711 msgstr ""
3712 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリーを\n"
3713 "割り当て、割り当てられたメモリーに対するポインターを返す。 メモリーの内容は数"
3714 "値ゼロ\n"
3715 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3716 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3717 "ポインター値を返す。"
3718
3719 #. type: Plain text
3720 #: build/C/man3/malloc.3:132
3721 msgid ""
3722 "The B<realloc>()  function changes the size of the memory block pointed to "
3723 "by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
3724 "from the start of the region up to the minimum of the old and new sizes.  If "
3725 "the new size is larger than the old size, the added memory will I<not> be "
3726 "initialized.  If I<ptr> is NULL, then the call is equivalent to "
3727 "I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
3728 "I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless "
3729 "I<ptr> is NULL, it must have been returned by an earlier call to "
3730 "B<malloc>(), B<calloc>()  or B<realloc>().  If the area pointed to was "
3731 "moved, a I<free(ptr)> is done."
3732 msgstr ""
3733 "B<realloc>() は、ポインター I<ptr> が示すメモリーブロックのサイズを I<size> "
3734 "バイト\n"
3735 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3736 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリー"
3737 "は\n"
3738 "初期化 I<されない>。\n"
3739 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
3740 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
3741 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
3742 "B<calloc>(),\n"
3743 "B<realloc>() のいずれかが返した値でなければならない。\n"
3744 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3745
3746 #. type: Plain text
3747 #: build/C/man3/malloc.3:152
3748 msgid ""
3749 "The B<malloc>()  and B<calloc>()  functions return a pointer to the "
3750 "allocated memory, which is suitably aligned for any built-in type.  On "
3751 "error, these functions return NULL.  NULL may also be returned by a "
3752 "successful call to B<malloc>()  with a I<size> of zero, or by a successful "
3753 "call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
3754 msgstr ""
3755 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリーへのポインターを返"
3756 "す。 割り当てられたメモリーは、あらゆる組み込み型に対応できるようにアラインメ"
3757 "ントされる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出"
3758 "した B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功"
3759 "した場合にも NULL が返される。"
3760
3761 #. type: Plain text
3762 #: build/C/man3/malloc.3:156
3763 msgid "The B<free>()  function returns no value."
3764 msgstr "B<free>() 関数は値を返さない。"
3765
3766 #. type: Plain text
3767 #: build/C/man3/malloc.3:171
3768 msgid ""
3769 "The B<realloc>()  function returns a pointer to the newly allocated memory, "
3770 "which is suitably aligned for any built-in type and may be different from "
3771 "I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
3772 "NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
3773 "B<realloc>()  fails, the original block is left untouched; it is not freed "
3774 "or moved."
3775 msgstr ""
3776 "B<realloc>() 関数は新たに割り当てられたメモリーへのポインターを返す。 これは"
3777 "あらゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異"
3778 "なることもある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場"
3779 "合には、NULL もしくは B<free>() に渡すことができるポインターが返る。 "
3780 "B<realloc>() が失敗した場合には、元のブロックは変更されない。 つまり、解放さ"
3781 "れたり移動されたりはしない。"
3782
3783 #. type: Plain text
3784 #: build/C/man3/malloc.3:173
3785 msgid "C89, C99."
3786 msgstr "C89, C99."
3787
3788 #. type: Plain text
3789 #: build/C/man3/malloc.3:189
3790 msgid ""
3791 "By default, Linux follows an optimistic memory allocation strategy.  This "
3792 "means that when B<malloc>()  returns non-NULL there is no guarantee that the "
3793 "memory really is available.  In case it turns out that the system is out of "
3794 "memory, one or more processes will be killed by the OOM killer.  For more "
3795 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
3796 "proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
3797 "I<Documentation/vm/overcommit-accounting>."
3798 msgstr ""
3799 "デフォルトでは、Linux は楽観的メモリー配置戦略を用いている。つまり、\n"
3800 "B<malloc>() が NULL でない値を返しても、そのメモリーが実際に利用可能であるこ"
3801 "と\n"
3802 "が保証されない。システムがメモリー不足状態になったとき、メモリー不足解決器 "
3803 "(OOM\n"
3804 "killer) によって一つまたは複数のプロセスが削除される。\n"
3805 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
3806 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
3807 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
3808
3809 #. type: Plain text
3810 #: build/C/man3/malloc.3:210
3811 msgid ""
3812 "Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
3813 "of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
3814 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
3815 "allocates the memory as a private anonymous mapping using B<mmap>(2).  "
3816 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
3817 "B<mallopt>(3).  Allocations performed using B<mmap>(2)  are unaffected by "
3818 "the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
3819 msgstr ""
3820 "通常、 B<malloc>()  は、ヒープからメモリーを割り当て、必要に応じてヒープのサ"
3821 "イズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメ"
3822 "モリーブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を"
3823 "使ってプライベートな無名マッピング (anonymous mapping) として メモリーを割り"
3824 "当てる。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を"
3825 "使って調整できる。 B<mmap>(2)  を使って行われたメモリー割り当ては "
3826 "B<RLIMIT_DATA> リソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
3827
3828 #. type: Plain text
3829 #: build/C/man3/malloc.3:228
3830 msgid ""
3831 "To avoid corruption in multithreaded applications, mutexes are used "
3832 "internally to protect the memory-management data structures employed by "
3833 "these functions.  In a multithreaded application in which threads "
3834 "simultaneously allocate and free memory, there could be contention for these "
3835 "mutexes.  To scalably handle memory allocation in multithreaded "
3836 "applications, glibc creates additional I<memory allocation arenas> if mutex "
3837 "contention is detected.  Each arena is a large region of memory that is "
3838 "internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
3839 "managed with its own mutexes."
3840 msgstr ""
3841 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3842 "を\n"
3843 "使用して、これらの関数で利用されるメモリー管理用のデータ構造を保護してい"
3844 "る。\n"
3845 "複数のスレッドが同時にメモリーの確保や解放を行うようなマルチスレッドアプリ"
3846 "ケー\n"
3847 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3848 "ン\n"
3849 "でのメモリー割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3850 "の\n"
3851 "衝突が検出された際には追加の I<メモリー割り当て領域> を作成する。\n"
3852 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3853 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3854
3855 #. type: Plain text
3856 #: build/C/man3/malloc.3:246
3857 msgid ""
3858 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
3859 "set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
3860 "(and the glibc versions of these routines do this); if you use a private "
3861 "malloc implementation that does not set I<errno>, then certain library "
3862 "routines may fail without having a reason in I<errno>."
3863 msgstr ""
3864 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
3865 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
3866 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
3867 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
3868 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
3869 "いライブラリルーチンがあるかもしれない。"
3870
3871 #. type: Plain text
3872 #: build/C/man3/malloc.3:255
3873 msgid ""
3874 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
3875 "always related to heap corruption, such as overflowing an allocated chunk or "
3876 "freeing the same pointer twice."
3877 msgstr ""
3878 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
3879 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3880 "オーバーフローする、 同じポインターに二度 free する、などがこれにあたる。"
3881
3882 #. type: Plain text
3883 #: build/C/man3/malloc.3:261
3884 msgid ""
3885 "The B<malloc>()  implementation is tunable via environment variables; see "
3886 "B<mallopt>(3)  for details."
3887 msgstr ""
3888 "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
3889 "こと。"
3890
3891 #. type: Plain text
3892 #: build/C/man3/malloc.3:285
3893 msgid ""
3894 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3895 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3896 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3897 msgstr ""
3898 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3899 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3900 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3901
3902 #. type: TH
3903 #: build/C/man3/mblen.3:16
3904 #, no-wrap
3905 msgid "MBLEN"
3906 msgstr "MBLEN"
3907
3908 #. type: TH
3909 #: build/C/man3/mblen.3:16
3910 #, no-wrap
3911 msgid "2013-06-21"
3912 msgstr "2013-06-21"
3913
3914 #. type: Plain text
3915 #: build/C/man3/mblen.3:19
3916 msgid "mblen - determine number of bytes in next multibyte character"
3917 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3918
3919 #. type: Plain text
3920 #: build/C/man3/mblen.3:24
3921 #, no-wrap
3922 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3923 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3924
3925 #. type: Plain text
3926 #: build/C/man3/mblen.3:43
3927 msgid ""
3928 "If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
3929 "the multibyte string starting at I<s> and extracts the next complete "
3930 "multibyte character.  It uses a static anonymous shift state known only to "
3931 "the B<mblen>()  function.  If the multibyte character is not the null wide "
3932 "character, it returns the number of bytes that were consumed from I<s>.  If "
3933 "the multibyte character is the null wide character, it returns 0."
3934 msgstr ""
3935 "I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 I<n> バイト"
3936 "のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
3937 "は B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
3938 "ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
3939 "マルチバイト文字がヌルワイド文字ならば 0 を返す。"
3940
3941 #. type: Plain text
3942 #: build/C/man3/mblen.3:57
3943 msgid ""
3944 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3945 "character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
3946 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3947 "shift sequences."
3948 msgstr ""
3949 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3950 "B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3951 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3952
3953 #. type: Plain text
3954 #: build/C/man3/mblen.3:64
3955 msgid ""
3956 "If the multibyte string starting at I<s> contains an invalid multibyte "
3957 "sequence before the next complete character, B<mblen>()  also returns -1."
3958 msgstr ""
3959 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3960 "を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
3961
3962 #.  The Dinkumware doc and the Single UNIX specification say this, but
3963 #.  glibc doesn't implement this.
3964 #. type: Plain text
3965 #: build/C/man3/mblen.3:75
3966 msgid ""
3967 "If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
3968 "only this function, to the initial state, and returns nonzero if the "
3969 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3970 msgstr ""
3971 "I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフト状態を初"
3972 "期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
3973 "シフト状態を持たない場合にはゼロを返す。"
3974
3975 #. type: Plain text
3976 #: build/C/man3/mblen.3:87
3977 msgid ""
3978 "The B<mblen>()  function returns the number of bytes parsed from the "
3979 "multibyte sequence starting at I<s>, if a non-null wide character was "
3980 "recognized.  It returns 0, if a null wide character was recognized.  It "
3981 "returns -1, if an invalid multibyte sequence was encountered or if it "
3982 "couldn't parse a complete multibyte character."
3983 msgstr ""
3984 "B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
3985 "を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
3986 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3987 "かった場合には -1 を返す。"
3988
3989 #. type: Plain text
3990 #: build/C/man3/mblen.3:92
3991 msgid "The B<mblen>()  function is not thread-safe."
3992 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3993
3994 #. type: Plain text
3995 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
3996 #: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
3997 #: build/C/man3/wctomb.3:91
3998 msgid "C99."
3999 msgstr "C99."
4000
4001 #. type: Plain text
4002 #: build/C/man3/mblen.3:101
4003 msgid ""
4004 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
4005 "current locale."
4006 msgstr ""
4007 "B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリーに依存している。"
4008
4009 #. type: Plain text
4010 #: build/C/man3/mblen.3:106
4011 msgid ""
4012 "The function B<mbrlen>(3)  provides a better interface to the same "
4013 "functionality."
4014 msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4015
4016 #. type: Plain text
4017 #: build/C/man3/mblen.3:108
4018 msgid "B<mbrlen>(3)"
4019 msgstr "B<mbrlen>(3)"
4020
4021 #. type: TH
4022 #: build/C/man3/mbstowcs.3:18
4023 #, no-wrap
4024 msgid "MBSTOWCS"
4025 msgstr "MBSTOWCS"
4026
4027 #. type: TH
4028 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
4029 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
4030 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
4031 #, no-wrap
4032 msgid "2014-03-18"
4033 msgstr "2014-03-18"
4034
4035 #. type: Plain text
4036 #: build/C/man3/mbstowcs.3:21
4037 msgid "mbstowcs - convert a multibyte string to a wide-character string"
4038 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
4039
4040 #. type: Plain text
4041 #: build/C/man3/mbstowcs.3:26
4042 #, no-wrap
4043 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
4044 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
4045
4046 #. type: Plain text
4047 #: build/C/man3/mbstowcs.3:45
4048 msgid ""
4049 "If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
4050 "string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
4051 "wide characters are written to I<dest>.  The conversion starts in the "
4052 "initial state.  The conversion can stop for three reasons:"
4053 msgstr ""
4054 "I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字列 I<*src> "
4055 "を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
4056 "ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
4057 "条件で停止する:"
4058
4059 #. type: IP
4060 #: build/C/man3/mbstowcs.3:45
4061 #, no-wrap
4062 msgid "1."
4063 msgstr "1."
4064
4065 #. type: Plain text
4066 #: build/C/man3/mbstowcs.3:50
4067 msgid ""
4068 "An invalid multibyte sequence has been encountered.  In this case, "
4069 "I<(size_t)\\ -1> is returned."
4070 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
4071
4072 #. type: IP
4073 #: build/C/man3/mbstowcs.3:50
4074 #, no-wrap
4075 msgid "2."
4076 msgstr "2."
4077
4078 #. type: Plain text
4079 #: build/C/man3/mbstowcs.3:58
4080 msgid ""
4081 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
4082 "this case, the number of wide characters written to I<dest> is returned, but "
4083 "the shift state at this point is lost."
4084 msgstr ""
4085 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
4086 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
4087 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
4088 "る。"
4089
4090 #. type: IP
4091 #: build/C/man3/mbstowcs.3:58
4092 #, no-wrap
4093 msgid "3."
4094 msgstr "3."
4095
4096 #. type: Plain text
4097 #: build/C/man3/mbstowcs.3:64
4098 msgid ""
4099 "The multibyte string has been completely converted, including the "
4100 "terminating null wide character (\\(aq\\e0\\(aq).  In this case, the number "
4101 "of wide characters written to I<dest>, excluding the terminating null wide "
4102 "character, is returned."
4103 msgstr ""
4104 "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
4105 "換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
4106 "字数を返す。"
4107
4108 #. type: Plain text
4109 #: build/C/man3/mbstowcs.3:70
4110 msgid ""
4111 "The programmer must ensure that there is room for at least I<n> wide "
4112 "characters at I<dest>."
4113 msgstr ""
4114 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
4115 "があることを保証しなければならない。"
4116
4117 #. type: Plain text
4118 #: build/C/man3/mbstowcs.3:78
4119 msgid ""
4120 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
4121 "except that the converted wide characters are not written out to memory, and "
4122 "that no length limit exists."
4123 msgstr ""
4124 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
4125 "されたワイド文字はメモリーに書き込まれず、変換先の上限 が存在しない。"
4126
4127 #. type: Plain text
4128 #: build/C/man3/mbstowcs.3:84
4129 msgid ""
4130 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
4131 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
4132 msgstr ""
4133 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4134 "src,0)+1> 以上であることを保証すべきである。"
4135
4136 #. type: Plain text
4137 #: build/C/man3/mbstowcs.3:94
4138 msgid ""
4139 "The B<mbstowcs>()  function returns the number of wide characters that make "
4140 "up the converted part of the wide-character string, not including the "
4141 "terminating null wide character.  If an invalid multibyte sequence was "
4142 "encountered, I<(size_t)\\ -1> is returned."
4143 msgstr ""
4144 "B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4145 "ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
4146 "I<(size_t)\\ -1> を返す。"
4147
4148 #. type: Plain text
4149 #: build/C/man3/mbstowcs.3:103
4150 msgid ""
4151 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
4152 "current locale."
4153 msgstr ""
4154 "B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリーに依存してい"
4155 "る。"
4156
4157 #. type: Plain text
4158 #: build/C/man3/mbstowcs.3:108
4159 msgid ""
4160 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
4161 "functionality."
4162 msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4163
4164 #. type: Plain text
4165 #: build/C/man3/mbstowcs.3:113
4166 msgid ""
4167 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
4168 "the wide character classification functions.  An example run is the "
4169 "following:"
4170 msgstr ""
4171 "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
4172 "したものである。実行例は以下のようになる。"
4173
4174 #. type: Plain text
4175 #: build/C/man3/mbstowcs.3:120
4176 #, no-wrap
4177 msgid ""
4178 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4179 "Length of source string (excluding terminator):\n"
4180 "    8 bytes\n"
4181 "    6 multibyte characters\n"
4182 msgstr ""
4183 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4184 "Length of source string (excluding terminator):\n"
4185 "    8 bytes\n"
4186 "    6 multibyte characters\n"
4187
4188 #. type: Plain text
4189 #: build/C/man3/mbstowcs.3:128
4190 #, no-wrap
4191 msgid ""
4192 "Wide character string is: Grüße! (6 characters)\n"
4193 "    G alpha upper\n"
4194 "    r alpha lower\n"
4195 "    ü alpha lower\n"
4196 "    ß alpha lower\n"
4197 "    e alpha lower\n"
4198 "    ! !alpha\n"
4199 msgstr ""
4200 "Wide character string is: Grüße! (6 characters)\n"
4201 "    G alpha upper\n"
4202 "    r alpha lower\n"
4203 "    ü alpha lower\n"
4204 "    ß alpha lower\n"
4205 "    e alpha lower\n"
4206 "    ! !alpha\n"
4207
4208 #. type: SS
4209 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
4210 #, no-wrap
4211 msgid "Program source"
4212 msgstr "プログラムのソース"
4213
4214 #. type: Plain text
4215 #: build/C/man3/mbstowcs.3:137
4216 #, no-wrap
4217 msgid ""
4218 "#include E<lt>locale.hE<gt>\n"
4219 "#include E<lt>wchar.hE<gt>\n"
4220 "#include E<lt>stdio.hE<gt>\n"
4221 "#include E<lt>string.hE<gt>\n"
4222 "#include E<lt>stdlib.hE<gt>\n"
4223 msgstr ""
4224 "#include E<lt>locale.hE<gt>\n"
4225 "#include E<lt>wchar.hE<gt>\n"
4226 "#include E<lt>stdio.hE<gt>\n"
4227 "#include E<lt>string.hE<gt>\n"
4228 "#include E<lt>stdlib.hE<gt>\n"
4229
4230 #. type: Plain text
4231 #: build/C/man3/mbstowcs.3:144
4232 #, no-wrap
4233 msgid ""
4234 "int\n"
4235 "main(int argc, char *argv[])\n"
4236 "{\n"
4237 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4238 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4239 "    wchar_t *wp;\n"
4240 msgstr ""
4241 "int\n"
4242 "main(int argc, char *argv[])\n"
4243 "{\n"
4244 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4245 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4246 "    wchar_t *wp;\n"
4247
4248 #. type: Plain text
4249 #: build/C/man3/mbstowcs.3:149
4250 #, no-wrap
4251 msgid ""
4252 "    if (argc E<lt> 3) {\n"
4253 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4254 "        exit(EXIT_FAILURE);\n"
4255 "    }\n"
4256 msgstr ""
4257 "    if (argc E<lt> 3) {\n"
4258 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4259 "        exit(EXIT_FAILURE);\n"
4260 "    }\n"
4261
4262 #. type: Plain text
4263 #: build/C/man3/mbstowcs.3:151
4264 #, no-wrap
4265 msgid "    /* Apply the specified locale */\n"
4266 msgstr "    /* Apply the specified locale */\n"
4267
4268 #. type: Plain text
4269 #: build/C/man3/mbstowcs.3:156
4270 #, no-wrap
4271 msgid ""
4272 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4273 "        perror(\"setlocale\");\n"
4274 "        exit(EXIT_FAILURE);\n"
4275 "    }\n"
4276 msgstr ""
4277 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4278 "        perror(\"setlocale\");\n"
4279 "        exit(EXIT_FAILURE);\n"
4280 "    }\n"
4281
4282 #. type: Plain text
4283 #: build/C/man3/mbstowcs.3:159
4284 #, no-wrap
4285 msgid ""
4286 "    /* Calculate the length required to hold argv[2] converted to\n"
4287 "       a wide character string */\n"
4288 msgstr ""
4289 "    /* Calculate the length required to hold argv[2] converted to\n"
4290 "       a wide character string */\n"
4291
4292 #. type: Plain text
4293 #: build/C/man3/mbstowcs.3:165
4294 #, no-wrap
4295 msgid ""
4296 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4297 "    if (mbslen == (size_t) -1) {\n"
4298 "        perror(\"mbstowcs\");\n"
4299 "        exit(EXIT_FAILURE);\n"
4300 "    }\n"
4301 msgstr ""
4302 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4303 "    if (mbslen == (size_t) -1) {\n"
4304 "        perror(\"mbstowcs\");\n"
4305 "        exit(EXIT_FAILURE);\n"
4306 "    }\n"
4307
4308 #. type: Plain text
4309 #: build/C/man3/mbstowcs.3:167
4310 #, no-wrap
4311 msgid "    /* Describe the source string to the user */\n"
4312 msgstr "    /* Describe the source string to the user */\n"
4313
4314 #. type: Plain text
4315 #: build/C/man3/mbstowcs.3:171
4316 #, no-wrap
4317 msgid ""
4318 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4319 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4320 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4321 msgstr ""
4322 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4323 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4324 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4325
4326 #. type: Plain text
4327 #: build/C/man3/mbstowcs.3:174
4328 #, no-wrap
4329 msgid ""
4330 "    /* Allocate wide character string of the desired size.  Add 1\n"
4331 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4332 msgstr ""
4333 "    /* Allocate wide character string of the desired size.  Add 1\n"
4334 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4335
4336 #. type: Plain text
4337 #: build/C/man3/mbstowcs.3:180
4338 #, no-wrap
4339 msgid ""
4340 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4341 "    if (wcs == NULL) {\n"
4342 "        perror(\"calloc\");\n"
4343 "        exit(EXIT_FAILURE);\n"
4344 "    }\n"
4345 msgstr ""
4346 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4347 "    if (wcs == NULL) {\n"
4348 "        perror(\"calloc\");\n"
4349 "        exit(EXIT_FAILURE);\n"
4350 "    }\n"
4351
4352 #. type: Plain text
4353 #: build/C/man3/mbstowcs.3:183
4354 #, no-wrap
4355 msgid ""
4356 "    /* Convert the multibyte character string in argv[2] to a\n"
4357 "       wide character string */\n"
4358 msgstr ""
4359 "    /* Convert the multibyte character string in argv[2] to a\n"
4360 "       wide character string */\n"
4361
4362 #. type: Plain text
4363 #: build/C/man3/mbstowcs.3:188
4364 #, no-wrap
4365 msgid ""
4366 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4367 "        perror(\"mbstowcs\");\n"
4368 "        exit(EXIT_FAILURE);\n"
4369 "    }\n"
4370 msgstr ""
4371 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4372 "        perror(\"mbstowcs\");\n"
4373 "        exit(EXIT_FAILURE);\n"
4374 "    }\n"
4375
4376 #. type: Plain text
4377 #: build/C/man3/mbstowcs.3:191
4378 #, no-wrap
4379 msgid ""
4380 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4381 "            wcs, mbslen);\n"
4382 msgstr ""
4383 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4384 "            wcs, mbslen);\n"
4385
4386 #. type: Plain text
4387 #: build/C/man3/mbstowcs.3:194
4388 #, no-wrap
4389 msgid ""
4390 "    /* Now do some inspection of the classes of the characters in\n"
4391 "       the wide character string */\n"
4392 msgstr ""
4393 "    /* Now do some inspection of the classes of the characters in\n"
4394 "       the wide character string */\n"
4395
4396 #. type: Plain text
4397 #: build/C/man3/mbstowcs.3:197
4398 #, no-wrap
4399 msgid ""
4400 "    for (wp = wcs; *wp != 0; wp++) {\n"
4401 "        printf(\"    %lc \", (wint_t) *wp);\n"
4402 msgstr ""
4403 "    for (wp = wcs; *wp != 0; wp++) {\n"
4404 "        printf(\"    %lc \", (wint_t) *wp);\n"
4405
4406 #. type: Plain text
4407 #: build/C/man3/mbstowcs.3:201
4408 #, no-wrap
4409 msgid ""
4410 "        if (!iswalpha(*wp))\n"
4411 "            printf(\"!\");\n"
4412 "        printf(\"alpha \");\n"
4413 msgstr ""
4414 "        if (!iswalpha(*wp))\n"
4415 "            printf(\"!\");\n"
4416 "        printf(\"alpha \");\n"
4417
4418 #. type: Plain text
4419 #: build/C/man3/mbstowcs.3:205
4420 #, no-wrap
4421 msgid ""
4422 "        if (iswalpha(*wp)) {\n"
4423 "            if (iswupper(*wp))\n"
4424 "                printf(\"upper \");\n"
4425 msgstr ""
4426 "        if (iswalpha(*wp)) {\n"
4427 "            if (iswupper(*wp))\n"
4428 "                printf(\"upper \");\n"
4429
4430 #. type: Plain text
4431 #: build/C/man3/mbstowcs.3:209
4432 #, no-wrap
4433 msgid ""
4434 "            if (iswlower(*wp))\n"
4435 "                printf(\"lower \");\n"
4436 "        }\n"
4437 msgstr ""
4438 "            if (iswlower(*wp))\n"
4439 "                printf(\"lower \");\n"
4440 "        }\n"
4441
4442 #. type: Plain text
4443 #: build/C/man3/mbstowcs.3:212
4444 #, no-wrap
4445 msgid ""
4446 "        putchar(\\(aq\\en\\(aq);\n"
4447 "    }\n"
4448 msgstr ""
4449 "        putchar(\\(aq\\en\\(aq);\n"
4450 "    }\n"
4451
4452 #. type: Plain text
4453 #: build/C/man3/mbstowcs.3:222
4454 msgid ""
4455 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4456 msgstr ""
4457 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4458
4459 #. type: TH
4460 #: build/C/man3/mbtowc.3:16
4461 #, no-wrap
4462 msgid "MBTOWC"
4463 msgstr "MBTOWC"
4464
4465 #. type: Plain text
4466 #: build/C/man3/mbtowc.3:19
4467 msgid "mbtowc - convert a multibyte sequence to a wide character"
4468 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4469
4470 #. type: Plain text
4471 #: build/C/man3/mbtowc.3:24
4472 #, no-wrap
4473 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4474 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4475
4476 #. type: Plain text
4477 #: build/C/man3/mbtowc.3:50
4478 msgid ""
4479 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
4480 "NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
4481 "of the multibyte string starting at I<s>, extracts the next complete "
4482 "multibyte character, converts it to a wide character and stores it at "
4483 "I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
4484 "function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
4485 "returns the number of bytes that were consumed from I<s>, otherwise it "
4486 "returns 0."
4487 msgstr ""
4488 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
4489 "の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
4490 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
4491 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
4492 "る。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費"
4493 "するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
4494
4495 #. type: Plain text
4496 #: build/C/man3/mbtowc.3:64
4497 msgid ""
4498 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
4499 "character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
4500 "returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
4501 "multibyte string contains redundant shift sequences."
4502 msgstr ""
4503 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4504 "なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
4505 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4506 "場合もこのようなことが 起こりえる。"
4507
4508 #. type: Plain text
4509 #: build/C/man3/mbtowc.3:74
4510 msgid ""
4511 "A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case, "
4512 "the B<mbtowc>()  function behaves as above, except that it does not store "
4513 "the converted wide character in memory."
4514 msgstr ""
4515 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
4516 "動作するが、変換したワイド文字はメモリーには書き込まれない。"
4517
4518 #.  The Dinkumware doc and the Single UNIX specification say this, but
4519 #.  glibc doesn't implement this.
4520 #. type: Plain text
4521 #: build/C/man3/mbtowc.3:93
4522 msgid ""
4523 "A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
4524 "ignored.  The B<mbtowc>()  function resets the shift state, only known to "
4525 "this function, to the initial state, and returns nonzero if the encoding has "
4526 "nontrivial shift state, or zero if the encoding is stateless."
4527 msgstr ""
4528 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4529 "B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4530 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4531 "を返す。"
4532
4533 #. type: Plain text
4534 #: build/C/man3/mbtowc.3:105
4535 msgid ""
4536 "If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
4537 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
4538 "upon failure."
4539 msgstr ""
4540 "I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
4541 "I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4542
4543 #. type: Plain text
4544 #: build/C/man3/mbtowc.3:113
4545 msgid ""
4546 "If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
4547 "has nontrivial shift state, or zero if the encoding is stateless."
4548 msgstr ""
4549 "I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
4550 "ゼロ以外を、状態によらなければゼロを返す。"
4551
4552 #. type: Plain text
4553 #: build/C/man3/mbtowc.3:122
4554 msgid ""
4555 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
4556 "current locale."
4557 msgstr ""
4558 "B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリーに依存している。"
4559
4560 #. type: Plain text
4561 #: build/C/man3/mbtowc.3:128
4562 msgid ""
4563 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
4564 "a better interface to the same functionality."
4565 msgstr ""
4566 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
4567 "り良いインターフェースを提供する。"
4568
4569 #. type: Plain text
4570 #: build/C/man3/mbtowc.3:135
4571 msgid ""
4572 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4573 "B<wcstombs>(3)"
4574 msgstr ""
4575 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4576 "B<wcstombs>(3)"
4577
4578 #. type: TH
4579 #: build/C/man3/mkdtemp.3:26
4580 #, no-wrap
4581 msgid "MKDTEMP"
4582 msgstr "MKDTEMP"
4583
4584 #. type: TH
4585 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
4586 #, no-wrap
4587 msgid "2014-06-13"
4588 msgstr "2014-06-13"
4589
4590 #. type: Plain text
4591 #: build/C/man3/mkdtemp.3:29
4592 msgid "mkdtemp - create a unique temporary directory"
4593 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4594
4595 #. type: Plain text
4596 #: build/C/man3/mkdtemp.3:34
4597 #, no-wrap
4598 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4599 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4600
4601 #. type: Plain text
4602 #: build/C/man3/mkdtemp.3:42
4603 msgid "B<mkdtemp>():"
4604 msgstr "B<mkdtemp>():"
4605
4606 #. type: Plain text
4607 #: build/C/man3/mkdtemp.3:47
4608 msgid "_BSD_SOURCE"
4609 msgstr "_BSD_SOURCE"
4610
4611 #. type: Plain text
4612 #: build/C/man3/mkdtemp.3:49
4613 msgid "|| /* Since glibc 2.10: */"
4614 msgstr "|| /* Since glibc 2.10: */"
4615
4616 #. type: Plain text
4617 #: build/C/man3/mkdtemp.3:51
4618 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4619 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4620
4621 #. type: Plain text
4622 #: build/C/man3/mkdtemp.3:68
4623 msgid ""
4624 "The B<mkdtemp>()  function generates a uniquely named temporary directory "
4625 "from I<template>.  The last six characters of I<template> must be XXXXXX and "
4626 "these are replaced with a string that makes the directory name unique.  The "
4627 "directory is then created with permissions 0700.  Since it will be modified, "
4628 "I<template> must not be a string constant, but should be declared as a "
4629 "character array."
4630 msgstr ""
4631 "B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4632 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4633 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4634 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4635 "字列定数にしてはならず、文字配列にすべきである。"
4636
4637 #. type: Plain text
4638 #: build/C/man3/mkdtemp.3:75
4639 msgid ""
4640 "The B<mkdtemp>()  function returns a pointer to the modified template string "
4641 "on success, and NULL on failure, in which case I<errno> is set appropriately."
4642 msgstr ""
4643 "成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインター"
4644 "を返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4645
4646 #. type: TP
4647 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
4648 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
4649 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
4650 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
4651 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
4652 #: build/C/man3/strtoul.3:149 build/C/man2/getrandom.2:142
4653 #, no-wrap
4654 msgid "B<EINVAL>"
4655 msgstr "B<EINVAL>"
4656
4657 #. type: Plain text
4658 #: build/C/man3/mkdtemp.3:80
4659 msgid ""
4660 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
4661 "unchanged."
4662 msgstr ""
4663 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4664 "ない。"
4665
4666 #. type: Plain text
4667 #: build/C/man3/mkdtemp.3:84
4668 msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
4669 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
4670
4671 #. type: Plain text
4672 #: build/C/man3/mkdtemp.3:86
4673 msgid "Available since glibc 2.1.91."
4674 msgstr "glibc 2.1.91 以降で利用可能。"
4675
4676 #. type: Plain text
4677 #: build/C/man3/mkdtemp.3:91
4678 msgid "The B<mkdtemp>()  function is thread-safe."
4679 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
4680
4681 #.  As at 2006, this function is being considered for a revision of POSIX.1
4682 #.  Also in NetBSD 1.4.
4683 #. type: Plain text
4684 #: build/C/man3/mkdtemp.3:96
4685 msgid "POSIX.1-2008.  This function is present on the BSDs."
4686 msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
4687
4688 #. type: Plain text
4689 #: build/C/man3/mkdtemp.3:103
4690 msgid ""
4691 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4692 "B<tmpnam>(3)"
4693 msgstr ""
4694 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4695 "B<tmpnam>(3)"
4696
4697 #. type: TH
4698 #: build/C/man3/mkstemp.3:35
4699 #, no-wrap
4700 msgid "MKSTEMP"
4701 msgstr "MKSTEMP"
4702
4703 #. type: Plain text
4704 #: build/C/man3/mkstemp.3:38
4705 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4706 msgstr ""
4707 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4708 "を作成する"
4709
4710 #. type: Plain text
4711 #: build/C/man3/mkstemp.3:43
4712 #, no-wrap
4713 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4714 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4715
4716 #. type: Plain text
4717 #: build/C/man3/mkstemp.3:45
4718 #, no-wrap
4719 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4720 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4721
4722 #. type: Plain text
4723 #: build/C/man3/mkstemp.3:47
4724 #, no-wrap
4725 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4726 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4727
4728 #. type: Plain text
4729 #: build/C/man3/mkstemp.3:49
4730 #, no-wrap
4731 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4732 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4733
4734 #. type: Plain text
4735 #: build/C/man3/mkstemp.3:57
4736 msgid "B<mkstemp>():"
4737 msgstr "B<mkstemp>():"
4738
4739 #. type: Plain text
4740 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4741 msgid ""
4742 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4743 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4744 msgstr ""
4745 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4746 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4747
4748 #. type: Plain text
4749 #: build/C/man3/mkstemp.3:64
4750 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4751 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4752
4753 #. type: Plain text
4754 #: build/C/man3/mkstemp.3:70
4755 msgid "B<mkostemp>(): _GNU_SOURCE"
4756 msgstr "B<mkostemp>(): _GNU_SOURCE"
4757
4758 #. type: Plain text
4759 #: build/C/man3/mkstemp.3:73
4760 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4761 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4762
4763 #. type: Plain text
4764 #: build/C/man3/mkstemp.3:76
4765 msgid "B<mkostemps>(): _GNU_SOURCE"
4766 msgstr "B<mkostemps>(): _GNU_SOURCE"
4767
4768 #. type: Plain text
4769 #: build/C/man3/mkstemp.3:83
4770 msgid ""
4771 "The B<mkstemp>()  function generates a unique temporary filename from "
4772 "I<template>, creates and opens the file, and returns an open file descriptor "
4773 "for the file."
4774 msgstr ""
4775 "関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
4776 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4777 "ファイルディスクリプターを返す。"
4778
4779 #. type: Plain text
4780 #: build/C/man3/mkstemp.3:91
4781 msgid ""
4782 "The last six characters of I<template> must be \"XXXXXX\" and these are "
4783 "replaced with a string that makes the filename unique.  Since it will be "
4784 "modified, I<template> must not be a string constant, but should be declared "
4785 "as a character array."
4786 msgstr ""
4787 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4788 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4789 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4790 "うにしなければならない。"
4791
4792 #. type: Plain text
4793 #: build/C/man3/mkstemp.3:99
4794 msgid ""
4795 "The file is created with permissions 0600, that is, read plus write for "
4796 "owner only.  The returned file descriptor provides both read and write "
4797 "access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
4798 "guaranteeing that the caller is the process that creates the file."
4799 msgstr ""
4800 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4801 "るファイルディスクリプターで、このファイルへの読み書き両方のアクセスが 可能で"
4802 "ある。 呼び出し者がそのファイルを作成するプロセスであることを保証するため"
4803 "に、 ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
4804
4805 #.  Reportedly, FreeBSD
4806 #. type: Plain text
4807 #: build/C/man3/mkstemp.3:130
4808 msgid ""
4809 "The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
4810 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
4811 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
4812 "when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
4813 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
4814 "including these values in the I<flags> argument given to B<mkostemp>()  is "
4815 "unnecessary, and produces errors on some systems."
4816 msgstr ""
4817 "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, "
4818 "B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と"
4819 "同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す "
4820 "I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 "
4821 "B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システム"
4822 "によってはエラーが発生する点に注意すること。"
4823
4824 #. type: Plain text
4825 #: build/C/man3/mkstemp.3:146
4826 msgid ""
4827 "The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
4828 "I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
4829 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
4830 "for B<mkstemp>()."
4831 msgstr ""
4832 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4833 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4834 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4835 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4836
4837 #. type: Plain text
4838 #: build/C/man3/mkstemp.3:155
4839 msgid ""
4840 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
4841 "B<mkstemp>()."
4842 msgstr ""
4843 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4844 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4845
4846 #. type: Plain text
4847 #: build/C/man3/mkstemp.3:161
4848 msgid ""
4849 "On success, these functions return the file descriptor of the temporary "
4850 "file.  On error, -1 is returned, and I<errno> is set appropriately."
4851 msgstr ""
4852 "成功すると、これらの関数は一時ファイルのファイルディスクリプターを返す。 エ"
4853 "ラーの場合は、-1 を返し、 I<errno> を適切に設定する。"
4854
4855 #. type: TP
4856 #: build/C/man3/mkstemp.3:162
4857 #, no-wrap
4858 msgid "B<EEXIST>"
4859 msgstr "B<EEXIST>"
4860
4861 #. type: Plain text
4862 #: build/C/man3/mkstemp.3:166
4863 msgid ""
4864 "Could not create a unique temporary filename.  Now the contents of "
4865 "I<template> are undefined."
4866 msgstr ""
4867 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4868
4869 #. type: Plain text
4870 #: build/C/man3/mkstemp.3:174
4871 msgid ""
4872 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
4873 "were not XXXXXX; now I<template> is unchanged."
4874 msgstr ""
4875 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4876 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4877 "この場合、I<template> は変更されない。"
4878
4879 #. type: Plain text
4880 #: build/C/man3/mkstemp.3:185
4881 msgid ""
4882 "For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
4883 "suffixlen)> characters long, or the last 6 characters before the suffix in "
4884 "I<template> were not XXXXXX."
4885 msgstr ""
4886 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4887 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4888 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4889
4890 #. type: Plain text
4891 #: build/C/man3/mkstemp.3:188
4892 msgid ""
4893 "These functions may also fail with any of the errors described for "
4894 "B<open>(2)."
4895 msgstr ""
4896 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4897 "る。"
4898
4899 #. type: Plain text
4900 #: build/C/man3/mkstemp.3:195
4901 msgid ""
4902 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
4903 "B<mkostemps>()  are available since glibc 2.11."
4904 msgstr ""
4905 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4906 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4907
4908 #. type: Plain text
4909 #: build/C/man3/mkstemp.3:204
4910 msgid ""
4911 "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>()  "
4912 "functions are thread-safe."
4913 msgstr ""
4914 "関数 B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), B<mkostemps>() はスレッド"
4915 "セーフである。"
4916
4917 #. type: Plain text
4918 #: build/C/man3/mkstemp.3:207
4919 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4920 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4921
4922 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4923 #.  and Tru64.
4924 #. type: Plain text
4925 #: build/C/man3/mkstemp.3:212
4926 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4927 msgstr ""
4928 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4929
4930 #. type: Plain text
4931 #: build/C/man3/mkstemp.3:217
4932 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
4933 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4934
4935 #. type: Plain text
4936 #: build/C/man3/mkstemp.3:224
4937 msgid ""
4938 "In glibc versions 2.06 and earlier, the file is created with permissions "
4939 "0666, that is, read and write for all users.  This old behavior may be a "
4940 "security risk, especially since other UNIX flavors use 0600, and somebody "
4941 "might overlook this detail when porting programs.  POSIX.1-2008 adds a "
4942 "requirement that the file be created with mode 0600."
4943 msgstr ""
4944 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4945 "ユーザーが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり"
4946 "得る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植"
4947 "する際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファ"
4948 "イルを許可モード 0600 で作成することが必須要件として追加された。"
4949
4950 #.  The prototype for
4951 #.  .BR mktemp ()
4952 #.  is in
4953 #.  .I <unistd.h>
4954 #.  for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
4955 #.  .IR <stdlib.h> .
4956 #. type: Plain text
4957 #: build/C/man3/mkstemp.3:242
4958 msgid ""
4959 "More generally, the POSIX specification of B<mkstemp>()  does not say "
4960 "anything about file modes, so the application should make sure its file mode "
4961 "creation mask (see B<umask>(2))  is set appropriately before calling "
4962 "B<mkstemp>()  (and B<mkostemp>())."
4963 msgstr ""
4964 "より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
4965 "べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
4966 "呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
4967 "るか確認するべきである。"
4968
4969 #. type: Plain text
4970 #: build/C/man3/mkstemp.3:248
4971 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4972 msgstr ""
4973 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4974
4975 #. type: TH
4976 #: build/C/man3/mktemp.3:34
4977 #, no-wrap
4978 msgid "MKTEMP"
4979 msgstr "MKTEMP"
4980
4981 #. type: Plain text
4982 #: build/C/man3/mktemp.3:37
4983 msgid "mktemp - make a unique temporary filename"
4984 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4985
4986 #. type: Plain text
4987 #: build/C/man3/mktemp.3:42
4988 #, no-wrap
4989 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4990 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4991
4992 #. type: Plain text
4993 #: build/C/man3/mktemp.3:50
4994 msgid "B<mktemp>():"
4995 msgstr "B<mktemp>():"
4996
4997 #. type: Plain text
4998 #: build/C/man3/mktemp.3:59
4999 #, no-wrap
5000 msgid ""
5001 "_BSD_SOURCE || _SVID_SOURCE ||\n"
5002 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
5003 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
5004 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
5005 msgstr ""
5006 "_BSD_SOURCE || _SVID_SOURCE ||\n"
5007 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
5008 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
5009 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
5010
5011 #. type: Plain text
5012 #: build/C/man3/mktemp.3:69
5013 msgid "I<Never use this function>; see NOTES."
5014 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
5015
5016 #. type: Plain text
5017 #: build/C/man3/mktemp.3:80
5018 msgid ""
5019 "The B<mktemp>()  function generates a unique temporary filename from "
5020 "I<template>.  The last six characters of I<template> must be XXXXXX and "
5021 "these are replaced with a string that makes the filename unique.  Since it "
5022 "will be modified, I<template> must not be a string constant, but should be "
5023 "declared as a character array."
5024 msgstr ""
5025 "関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
5026 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
5027 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
5028 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
5029 "るように しなければならない。"
5030
5031 #. type: Plain text
5032 #: build/C/man3/mktemp.3:91
5033 msgid ""
5034 "The B<mktemp>()  function always returns I<template>.  If a unique name was "
5035 "created, the last six bytes of I<template> will have been modified in such a "
5036 "way that the resulting name is unique (i.e., does not exist already)  If a "
5037 "unique name could not be created, I<template> is made an empty string, and "
5038 "I<errno> is set to indicate the error."
5039 msgstr ""
5040 "関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
5041 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
5042 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
5043 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
5044 "る。"
5045
5046 #. type: Plain text
5047 #: build/C/man3/mktemp.3:95
5048 msgid "The last six characters of I<template> were not XXXXXX."
5049 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
5050
5051 #.  .SH NOTES
5052 #.  The prototype is in
5053 #.  .I <unistd.h>
5054 #.  for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
5055 #.  and has the prototype in
5056 #.  .IR <stdlib.h> .
5057 #. type: Plain text
5058 #: build/C/man3/mktemp.3:105
5059 msgid ""
5060 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
5061 msgstr ""
5062 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
5063 "る。"
5064
5065 #. type: Plain text
5066 #: build/C/man3/mktemp.3:118
5067 msgid ""
5068 "Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
5069 "XXXXXX by the current process ID and a single letter, so that at most 26 "
5070 "different names can be returned.  Since on the one hand the names are easy "
5071 "to guess, and on the other hand there is a race between testing whether the "
5072 "name exists and opening the file, every use of B<mktemp>()  is a security "
5073 "risk.  The race is avoided by B<mkstemp>(3)."
5074 msgstr ""
5075 "B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
5076 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
5077 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
5078 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
5079 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
5080 "ことで避けられる。"
5081
5082 #. type: Plain text
5083 #: build/C/man3/mktemp.3:123
5084 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5085 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5086
5087 #. type: TH
5088 #: build/C/man3/on_exit.3:31
5089 #, no-wrap
5090 msgid "ON_EXIT"
5091 msgstr "ON_EXIT"
5092
5093 #. type: Plain text
5094 #: build/C/man3/on_exit.3:34
5095 msgid ""
5096 "on_exit - register a function to be called at normal process termination"
5097 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
5098
5099 #. type: Plain text
5100 #: build/C/man3/on_exit.3:39
5101 #, no-wrap
5102 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5103 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5104
5105 #. type: Plain text
5106 #: build/C/man3/on_exit.3:48
5107 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5108 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5109
5110 #. type: Plain text
5111 #: build/C/man3/on_exit.3:66
5112 msgid ""
5113 "The B<on_exit>()  function registers the given I<function> to be called at "
5114 "normal process termination, whether via B<exit>(3)  or via return from the "
5115 "program's I<main>().  The I<function> is passed the status argument given to "
5116 "the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
5117 msgstr ""
5118 "B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
5119 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
5120 "ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
5121 "は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
5122 "I<arg> 引数が渡される。"
5123
5124 #. type: Plain text
5125 #: build/C/man3/on_exit.3:81
5126 msgid ""
5127 "The B<on_exit>()  function returns the value 0 if successful; otherwise it "
5128 "returns a nonzero value."
5129 msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
5130
5131 #. type: Plain text
5132 #: build/C/man3/on_exit.3:87
5133 msgid ""
5134 "This function comes from SunOS 4, but is also present in glibc.  It no "
5135 "longer occurs in Solaris (SunOS 5).  Portable application should avoid this "
5136 "function, and use the standard B<atexit>(3)  instead."
5137 msgstr ""
5138 "この関数は SunOS 4 由来であるが、 glibc にも存在する。 Solaris (SunOS 5) には"
5139 "もはや存在しない。移植性が必要なアプリケーションではこの関数の使用は避け、代"
5140 "わりに標準の B<atexit>(3) を使うこと。"
5141
5142 #. type: Plain text
5143 #: build/C/man3/on_exit.3:91
5144 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5145 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5146
5147 #. type: TH
5148 #: build/C/man3/putenv.3:36
5149 #, no-wrap
5150 msgid "PUTENV"
5151 msgstr "PUTENV"
5152
5153 #. type: Plain text
5154 #: build/C/man3/putenv.3:39
5155 msgid "putenv - change or add an environment variable"
5156 msgstr "putenv - 環境変数の変更または追加"
5157
5158 #.  Not: const char *
5159 #. type: Plain text
5160 #: build/C/man3/putenv.3:45
5161 #, no-wrap
5162 msgid "B<int putenv(char *>I<string>B<);>\n"
5163 msgstr "B<int putenv(char *>I<string>B<);>\n"
5164
5165 #. type: Plain text
5166 #: build/C/man3/putenv.3:54
5167 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5168 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5169
5170 #. type: Plain text
5171 #: build/C/man3/putenv.3:67
5172 msgid ""
5173 "The B<putenv>()  function adds or changes the value of environment "
5174 "variables.  The argument I<string> is of the form I<name>=I<value>.  If "
5175 "I<name> does not already exist in the environment, then I<string> is added "
5176 "to the environment.  If I<name> does exist, then the value of I<name> in the "
5177 "environment is changed to I<value>.  The string pointed to by I<string> "
5178 "becomes part of the environment, so altering the string changes the "
5179 "environment."
5180 msgstr ""
5181 "B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
5182 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
5183 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
5184 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
5185 "文字列を変更すると環境も変更される。"
5186
5187 #. type: Plain text
5188 #: build/C/man3/putenv.3:75
5189 msgid ""
5190 "The B<putenv>()  function returns zero on success, or nonzero if an error "
5191 "occurs.  In the event of an error, I<errno> is set to indicate the cause."
5192 msgstr ""
5193 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5194 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5195
5196 #. type: TP
5197 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5198 #, no-wrap
5199 msgid "B<ENOMEM>"
5200 msgstr "B<ENOMEM>"
5201
5202 #. type: Plain text
5203 #: build/C/man3/putenv.3:79
5204 msgid "Insufficient space to allocate new environment."
5205 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5206
5207 #. type: Plain text
5208 #: build/C/man3/putenv.3:81
5209 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5210 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5211
5212 #.  .LP
5213 #.  Description for libc4, libc5, glibc:
5214 #.  If the argument \fIstring\fP is of the form \fIname\fP,
5215 #.  and does not contain an \(aq=\(aq character, then the variable \fIname\fP
5216 #.  is removed from the environment.
5217 #.  If
5218 #.  .BR putenv ()
5219 #.  has to allocate a new array \fIenviron\fP,
5220 #.  and the previous array was also allocated by
5221 #.  .BR putenv (),
5222 #.  then it will be freed.
5223 #.  In no case will the old storage associated
5224 #.  to the environment variable itself be freed.
5225 #. type: Plain text
5226 #: build/C/man3/putenv.3:99
5227 msgid ""
5228 "The B<putenv>()  function is not required to be reentrant, and the one in "
5229 "glibc 2.0 is not, but the glibc 2.1 version is."
5230 msgstr ""
5231 "B<putenv>()  はリエントラントであることを求められていない。 glibc 2.0 ではリ"
5232 "エントラントではない。 glibc 2.1 ではリエントラントである。"
5233
5234 #. type: Plain text
5235 #: build/C/man3/putenv.3:114
5236 msgid ""
5237 "Since version 2.1.2, the glibc implementation conforms to SUSv2: the pointer "
5238 "I<string> given to B<putenv>()  is used.  In particular, this string becomes "
5239 "part of the environment; changing it later will change the environment.  "
5240 "(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
5241 "the argument, then return from the calling function while I<string> is still "
5242 "part of the environment.)  However, glibc versions 2.0 to 2.1.1 differ: a "
5243 "copy of the string is used.  On the one hand this causes a memory leak, and "
5244 "on the other hand it violates SUSv2."
5245 msgstr ""
5246 "バージョン 2.1.2 以降では、 glibc の実装は SUSv2 に準拠している。 "
5247 "B<putenv>()  で与えられたポインター I<string> が使われる。 この文字列は環境の"
5248 "一部となり、後で変更すると環境も変わる。 (従って、 B<putenv>()  を自動変数を"
5249 "引数として呼び出し、 I<string>が環境の一部のままで呼び出した関数から return "
5250 "するとエラーになる)  しかし、glibc バージョン 2.0 から 2.1.1 まででは違ってお"
5251 "り、文字列のコピーが使われる。 これはメモリーリークを引き起こすだけでなく、 "
5252 "SUSv2 にも違反している。"
5253
5254 #. type: Plain text
5255 #: build/C/man3/putenv.3:116
5256 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
5257 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
5258
5259 #. type: Plain text
5260 #: build/C/man3/putenv.3:118
5261 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5262 msgstr ""
5263 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5264 "うになっている。"
5265
5266 #. type: Plain text
5267 #: build/C/man3/putenv.3:124
5268 msgid ""
5269 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5270 msgstr ""
5271 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5272
5273 #. type: TH
5274 #: build/C/man3/qecvt.3:28
5275 #, no-wrap
5276 msgid "QECVT"
5277 msgstr "QECVT"
5278
5279 #. type: Plain text
5280 #: build/C/man3/qecvt.3:31
5281 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
5282 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
5283
5284 #. type: Plain text
5285 #: build/C/man3/qecvt.3:36
5286 msgid ""
5287 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5288 "> B<int *>I<sign>B<);>"
5289 msgstr ""
5290 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5291 "> B<int *>I<sign>B<);>"
5292
5293 #. type: Plain text
5294 #: build/C/man3/qecvt.3:39
5295 msgid ""
5296 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5297 "> B<int *>I<sign>B<);>"
5298 msgstr ""
5299 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5300 "> B<int *>I<sign>B<);>"
5301
5302 #. type: Plain text
5303 #: build/C/man3/qecvt.3:41
5304 msgid ""
5305 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5306 msgstr ""
5307 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5308
5309 #. type: Plain text
5310 #: build/C/man3/qecvt.3:52
5311 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5312 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5313
5314 #. type: Plain text
5315 #: build/C/man3/qecvt.3:85
5316 msgid ""
5317 "The functions B<qecvt>(), B<qfcvt>(), and B<qgcvt>()  are identical to "
5318 "B<ecvt>(3), B<fcvt>(3), and B<gcvt>(3)  respectively, except that they use a "
5319 "I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
5320 msgstr ""
5321 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), "
5322 "B<fcvt>(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型"
5323 "である点だけが異なる。"
5324
5325 #. type: Plain text
5326 #: build/C/man3/qecvt.3:92
5327 msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
5328 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
5329
5330 #. type: Plain text
5331 #: build/C/man3/qecvt.3:96
5332 msgid "The B<qgcvt>()  function is thread-safe."
5333 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5334
5335 #.  Not supported by libc4 and libc5.
5336 #. type: Plain text
5337 #: build/C/man3/qecvt.3:102
5338 msgid ""
5339 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
5340 "Supported by glibc."
5341 msgstr ""
5342 "SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5343 "る。 glibc ではサポートされている。"
5344
5345 #. type: Plain text
5346 #: build/C/man3/qecvt.3:107
5347 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
5348 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5349
5350 #. type: Plain text
5351 #: build/C/man3/qecvt.3:112
5352 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5353 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5354
5355 #. type: TH
5356 #: build/C/man3/rand.3:41
5357 #, no-wrap
5358 msgid "RAND"
5359 msgstr "RAND"
5360
5361 #. type: TH
5362 #: build/C/man3/rand.3:41
5363 #, no-wrap
5364 msgid "2014-01-18"
5365 msgstr "2014-01-18"
5366
5367 #. type: Plain text
5368 #: build/C/man3/rand.3:44
5369 msgid "rand, rand_r, srand - pseudo-random number generator"
5370 msgstr "rand, srand - 乱数を生成する関数"
5371
5372 #. type: Plain text
5373 #: build/C/man3/rand.3:49
5374 #, no-wrap
5375 msgid "B<int rand(void);>\n"
5376 msgstr "B<int rand(void);>\n"
5377
5378 #. type: Plain text
5379 #: build/C/man3/rand.3:51
5380 #, no-wrap
5381 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5382 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5383
5384 #. type: Plain text
5385 #: build/C/man3/rand.3:53
5386 #, no-wrap
5387 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5388 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5389
5390 #. type: Plain text
5391 #: build/C/man3/rand.3:62
5392 msgid ""
5393 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5394 msgstr ""
5395 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5396
5397 #. type: Plain text
5398 #: build/C/man3/rand.3:68
5399 msgid ""
5400 "The B<rand>()  function returns a pseudo-random integer in the range 0 to "
5401 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
5402 msgstr ""
5403 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5404 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5405
5406 #. type: Plain text
5407 #: build/C/man3/rand.3:77
5408 msgid ""
5409 "The B<srand>()  function sets its argument as the seed for a new sequence of "
5410 "pseudo-random integers to be returned by B<rand>().  These sequences are "
5411 "repeatable by calling B<srand>()  with the same seed value."
5412 msgstr ""
5413 "B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
5414 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5415 "は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
5416 "る。"
5417
5418 #. type: Plain text
5419 #: build/C/man3/rand.3:81
5420 msgid ""
5421 "If no seed value is provided, the B<rand>()  function is automatically "
5422 "seeded with a value of 1."
5423 msgstr ""
5424 "種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
5425
5426 #. type: Plain text
5427 #: build/C/man3/rand.3:92
5428 msgid ""
5429 "The function B<rand>()  is not reentrant or thread-safe, since it uses "
5430 "hidden state that is modified on each call.  This might just be the seed "
5431 "value to be used by the next call, or it might be something more elaborate.  "
5432 "In order to get reproducible behavior in a threaded application, this state "
5433 "must be made explicit; this can be done using the reentrant function "
5434 "B<rand_r>()."
5435 msgstr ""
5436 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッドセーフではな"
5437 "い。\n"
5438 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5439 "る。\n"
5440 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5441 "る。\n"
5442 "実際にはもう少し複雑かもしれないが。\n"
5443 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5444 "この状態を明示的に指定できなければならない。これを行うには、\n"
5445 "再入可能な B<rand_r>() 関数を使用する。"
5446
5447 #. type: Plain text
5448 #: build/C/man3/rand.3:108
5449 msgid ""
5450 "Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
5451 "\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
5452 "that is used to store state between calls.  If B<rand_r>()  is called with "
5453 "the same initial value for the integer pointed to by I<seedp>, and that "
5454 "value is not modified between calls, then the same pseudo-random sequence "
5455 "will result."
5456 msgstr ""
5457 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5458 "す。\n"
5459 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5460 "I<unsigned int> へのポインターである。\n"
5461 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5462 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5463
5464 #. type: Plain text
5465 #: build/C/man3/rand.3:118
5466 msgid ""
5467 "The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
5468 "a very small amount of state, so this function will be a weak pseudo-random "
5469 "generator.  Try B<drand48_r>(3)  instead."
5470 msgstr ""
5471 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5472 "間\n"
5473 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5474 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5475
5476 #. type: Plain text
5477 #: build/C/man3/rand.3:129
5478 msgid ""
5479 "The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
5480 "B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
5481 msgstr ""
5482 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5483 "関数 B<srand>() は値を返さない。"
5484
5485 #. type: Plain text
5486 #: build/C/man3/rand.3:141
5487 msgid ""
5488 "The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
5489 "POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
5490 "marks B<rand_r>()  as obsolete."
5491 msgstr ""
5492 "関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
5493 "している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
5494 "B<rand_r>()  を廃止予定としている。"
5495
5496 #. type: Plain text
5497 #: build/C/man3/rand.3:160
5498 msgid ""
5499 "The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
5500 "same random number generator as B<random>(3)  and B<srandom>(3), so the "
5501 "lower-order bits should be as random as the higher-order bits.  However, on "
5502 "older B<rand>()  implementations, and on current implementations on "
5503 "different systems, the lower-order bits are much less random than the higher-"
5504 "order bits.  Do not use this function in applications intended to be "
5505 "portable when good randomness is needed.  (Use B<random>(3)  instead.)"
5506 msgstr ""
5507 "B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
5508 "B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5509 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5510 "B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5511 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5512 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
5513 "うこと)。"
5514
5515 #. type: Plain text
5516 #: build/C/man3/rand.3:166
5517 msgid ""
5518 "POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
5519 "and B<srand>(), possibly useful when one needs the same sequence on two "
5520 "different machines."
5521 msgstr ""
5522 "POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
5523 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5524
5525 #. type: Plain text
5526 #: build/C/man3/rand.3:170
5527 #, no-wrap
5528 msgid "static unsigned long next = 1;\n"
5529 msgstr "static unsigned long next = 1;\n"
5530
5531 #. type: Plain text
5532 #: build/C/man3/rand.3:176
5533 #, no-wrap
5534 msgid ""
5535 "/* RAND_MAX assumed to be 32767 */\n"
5536 "int myrand(void) {\n"
5537 "    next = next * 1103515245 + 12345;\n"
5538 "    return((unsigned)(next/65536) % 32768);\n"
5539 "}\n"
5540 msgstr ""
5541 "/* RAND_MAX を 32767 と仮定 */\n"
5542 "int myrand(void) {\n"
5543 "    next = next * 1103515245 + 12345;\n"
5544 "    return((unsigned)(next/65536) % 32768);\n"
5545 "}\n"
5546
5547 #. type: Plain text
5548 #: build/C/man3/rand.3:180
5549 #, no-wrap
5550 msgid ""
5551 "void mysrand(unsigned int seed) {\n"
5552 "    next = seed;\n"
5553 "}\n"
5554 msgstr ""
5555 "void mysrand(unsigned int seed) {\n"
5556 "    next = seed;\n"
5557 "}\n"
5558
5559 #. type: Plain text
5560 #: build/C/man3/rand.3:187
5561 msgid ""
5562 "The following program can be used to display the pseudo-random sequence "
5563 "produced by B<rand>()  when given a particular seed."
5564 msgstr ""
5565 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5566 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5567
5568 #. type: Plain text
5569 #: build/C/man3/rand.3:192
5570 #, no-wrap
5571 msgid ""
5572 "#include E<lt>stdlib.hE<gt>\n"
5573 "#include E<lt>stdio.hE<gt>\n"
5574 msgstr ""
5575 "#include E<lt>stdlib.hE<gt>\n"
5576 "#include E<lt>stdio.hE<gt>\n"
5577
5578 #. type: Plain text
5579 #: build/C/man3/rand.3:198
5580 #, no-wrap
5581 msgid ""
5582 "int\n"
5583 "main(int argc, char *argv[])\n"
5584 "{\n"
5585 "    int j, r, nloops;\n"
5586 "    unsigned int seed;\n"
5587 msgstr ""
5588 "int\n"
5589 "main(int argc, char *argv[])\n"
5590 "{\n"
5591 "    int j, r, nloops;\n"
5592 "    unsigned int seed;\n"
5593
5594 #. type: Plain text
5595 #: build/C/man3/rand.3:203
5596 #, no-wrap
5597 msgid ""
5598 "    if (argc != 3) {\n"
5599 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5600 "        exit(EXIT_FAILURE);\n"
5601 "    }\n"
5602 msgstr ""
5603 "    if (argc != 3) {\n"
5604 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5605 "        exit(EXIT_FAILURE);\n"
5606 "    }\n"
5607
5608 #. type: Plain text
5609 #: build/C/man3/rand.3:206
5610 #, no-wrap
5611 msgid ""
5612 "    seed = atoi(argv[1]);\n"
5613 "    nloops = atoi(argv[2]);\n"
5614 msgstr ""
5615 "    seed = atoi(argv[1]);\n"
5616 "    nloops = atoi(argv[2]);\n"
5617
5618 #. type: Plain text
5619 #: build/C/man3/rand.3:212
5620 #, no-wrap
5621 msgid ""
5622 "    srand(seed);\n"
5623 "    for (j = 0; j E<lt> nloops; j++) {\n"
5624 "        r =  rand();\n"
5625 "        printf(\"%d\\en\", r);\n"
5626 "    }\n"
5627 msgstr ""
5628 "    srand(seed);\n"
5629 "    for (j = 0; j E<lt> nloops; j++) {\n"
5630 "        r =  rand();\n"
5631 "        printf(\"%d\\en\", r);\n"
5632 "    }\n"
5633
5634 #. type: Plain text
5635 #: build/C/man3/rand.3:220
5636 msgid "B<drand48>(3), B<random>(3)"
5637 msgstr "B<drand48>(3), B<random>(3)"
5638
5639 #. type: TH
5640 #: build/C/man3/random.3:33
5641 #, no-wrap
5642 msgid "RANDOM"
5643 msgstr "RANDOM"
5644
5645 #. type: TH
5646 #: build/C/man3/random.3:33
5647 #, no-wrap
5648 msgid "2015-02-01"
5649 msgstr "2015-02-01"
5650
5651 #. type: Plain text
5652 #: build/C/man3/random.3:36
5653 msgid "random, srandom, initstate, setstate - random number generator"
5654 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5655
5656 #. type: Plain text
5657 #: build/C/man3/random.3:41
5658 #, no-wrap
5659 msgid "B<long int random(void);>\n"
5660 msgstr "B<long int random(void);>\n"
5661
5662 #. type: Plain text
5663 #: build/C/man3/random.3:43
5664 #, no-wrap
5665 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5666 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5667
5668 #. type: Plain text
5669 #: build/C/man3/random.3:45
5670 #, no-wrap
5671 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5672 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5673
5674 #. type: Plain text
5675 #: build/C/man3/random.3:47
5676 #, no-wrap
5677 msgid "B<char *setstate(char *>I<state>B<);>\n"
5678 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5679
5680 #. type: Plain text
5681 #: build/C/man3/random.3:59
5682 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5683 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5684
5685 #. type: Plain text
5686 #: build/C/man3/random.3:62
5687 msgid ""
5688 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5689 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5690 msgstr ""
5691 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5692 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5693
5694 #. type: Plain text
5695 #: build/C/man3/random.3:73
5696 msgid ""
5697 "The B<random>()  function uses a nonlinear additive feedback random number "
5698 "generator employing a default table of size 31 long integers to return "
5699 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
5700 "period of this random number generator is very large, approximately I<16\\ *"
5701 "\\ ((2^31)\\ -\\ 1)>."
5702 msgstr ""
5703 "B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5704 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5705 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5706 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5707
5708 #. type: Plain text
5709 #: build/C/man3/random.3:87
5710 msgid ""
5711 "The B<srandom>()  function sets its argument as the seed for a new sequence "
5712 "of pseudo-random integers to be returned by B<random>().  These sequences "
5713 "are repeatable by calling B<srandom>()  with the same seed value.  If no "
5714 "seed value is provided, the B<random>()  function is automatically seeded "
5715 "with a value of 1."
5716 msgstr ""
5717 "B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
5718 "る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 "
5719 "B<random>()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼"
5720 "ぶことで再現可能である。 種の値が与えられない場合には B<random>()  関数は、自"
5721 "動的に 1 を種に設定する。"
5722
5723 #. type: Plain text
5724 #: build/C/man3/random.3:102
5725 msgid ""
5726 "The B<initstate>()  function allows a state array I<state> to be initialized "
5727 "for use by B<random>().  The size of the state array I<n> is used by "
5728 "B<initstate>()  to decide how sophisticated a random number generator it "
5729 "should use\\(emthe larger the state array, the better the random numbers "
5730 "will be.  I<seed> is the seed for the initialization, which specifies a "
5731 "starting point for the random number sequence, and provides for restarting "
5732 "at the same point."
5733 msgstr ""
5734 "B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
5735 "する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5736 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5737 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5738 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5739 "ることができる。"
5740
5741 #. type: Plain text
5742 #: build/C/man3/random.3:118
5743 msgid ""
5744 "The B<setstate>()  function changes the state array used by the B<random>()  "
5745 "function.  The state array I<state> is used for random number generation "
5746 "until the next call to B<initstate>()  or B<setstate>().  I<state> must "
5747 "first have been initialized using B<initstate>()  or be the result of a "
5748 "previous call of B<setstate>()."
5749 msgstr ""
5750 "B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
5751 "列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
5752 "で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
5753 "されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
5754
5755 #. type: Plain text
5756 #: build/C/man3/random.3:126
5757 msgid ""
5758 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
5759 "B<srandom>()  function returns no value."
5760 msgstr ""
5761 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5762 "関数 B<srandom>() は値を返さない。"
5763
5764 #. type: Plain text
5765 #: build/C/man3/random.3:133
5766 msgid ""
5767 "The B<initstate>()  function returns a pointer to the previous state array.  "
5768 "On error, I<errno> is set to indicate the cause."
5769 msgstr ""
5770 "関数 B<initstate>() は、変更前の状態配列へのポインターを返す。エラーの場合、 "
5771 "I<errno> に原因を示す値が設定される。"
5772
5773 #. type: Plain text
5774 #: build/C/man3/random.3:140
5775 msgid ""
5776 "On success, B<setstate>()  returns a pointer to the previous state array.  "
5777 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
5778 "error."
5779 msgstr ""
5780 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5781 "I<errno> にエラーの原因を示す値が設定される。"
5782
5783 #. type: Plain text
5784 #: build/C/man3/random.3:148
5785 msgid "The I<state> argument given to B<setstate>()  was NULL."
5786 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
5787
5788 #. type: Plain text
5789 #: build/C/man3/random.3:152
5790 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
5791 msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
5792
5793 #. type: Plain text
5794 #: build/C/man3/random.3:161
5795 msgid ""
5796 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
5797 "are thread-safe."
5798 msgstr ""
5799 "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
5800 "フである。"
5801
5802 #. type: Plain text
5803 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
5804 msgid "4.3BSD, POSIX.1-2001."
5805 msgstr "4.3BSD, POSIX.1-2001."
5806
5807 #. type: Plain text
5808 #: build/C/man3/random.3:169
5809 msgid ""
5810 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
5811 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
5812 "known amount.  Using less than 8 bytes will cause an error."
5813 msgstr ""
5814 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5815 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5816 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5817
5818 #. type: Plain text
5819 #: build/C/man3/random.3:176
5820 msgid ""
5821 "This function should not be used in cases where multiple threads use "
5822 "B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
5823 "for that purpose."
5824 msgstr ""
5825 "複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
5826 "ない。 その場合には B<random_r>(3)  を使うこと。"
5827
5828 #. type: Plain text
5829 #: build/C/man3/random.3:183
5830 msgid ""
5831 "Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
5832 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5833 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5834 "2007, 3rd ed.)  provides an excellent discussion of practical random-number "
5835 "generation issues in Chapter 7 (Random Numbers)."
5836 msgstr ""
5837 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
5838 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5839 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5840 "2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
5841 "展開されている。"
5842
5843 #. type: Plain text
5844 #: build/C/man3/random.3:189
5845 msgid ""
5846 "For a more theoretical discussion which also covers many practical issues in "
5847 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
5848 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
5849 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
5850 msgstr ""
5851 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
5852 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
5853 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
5854 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5855
5856 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5857 #. type: Plain text
5858 #: build/C/man3/random.3:197
5859 msgid ""
5860 "According to POSIX, B<initstate>()  should return NULL on error.  In the "
5861 "glibc implementation, I<errno> is (as specified) set on error, but the "
5862 "function does not return NULL."
5863 msgstr ""
5864 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5865 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5866 "NULL ではない。"
5867
5868 #. type: Plain text
5869 #: build/C/man3/random.3:203
5870 msgid "B<drand48>(3), B<getrandom>(2), B<rand>(3), B<random_r>(3), B<srand>(3)"
5871 msgstr "B<drand48>(3), B<getrandom>(2), B<rand>(3), B<random_r>(3), B<srand>(3)"
5872
5873 #. type: TH
5874 #: build/C/man3/random_r.3:26
5875 #, no-wrap
5876 msgid "RANDOM_R"
5877 msgstr "RANDOM_R"
5878
5879 #. type: Plain text
5880 #: build/C/man3/random_r.3:30
5881 msgid ""
5882 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5883 "generator"
5884 msgstr ""
5885 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5886
5887 #. type: Plain text
5888 #: build/C/man3/random_r.3:35
5889 #, no-wrap
5890 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5891 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5892
5893 #. type: Plain text
5894 #: build/C/man3/random_r.3:37
5895 #, no-wrap
5896 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5897 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5898
5899 #. type: Plain text
5900 #: build/C/man3/random_r.3:40
5901 #, no-wrap
5902 msgid ""
5903 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5904 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5905 msgstr ""
5906 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5907 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5908
5909 #. type: Plain text
5910 #: build/C/man3/random_r.3:42
5911 #, no-wrap
5912 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5913 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5914
5915 #. type: Plain text
5916 #: build/C/man3/random_r.3:54
5917 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5918 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5919
5920 #. type: Plain text
5921 #: build/C/man3/random_r.3:56
5922 msgid "_SVID_SOURCE || _BSD_SOURCE"
5923 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5924
5925 #. type: Plain text
5926 #: build/C/man3/random_r.3:64
5927 msgid ""
5928 "These functions are the reentrant equivalents of the functions described in "
5929 "B<random>(3).  They are suitable for use in multithreaded programs where "
5930 "each thread needs to obtain an independent, reproducible sequence of random "
5931 "numbers."
5932 msgstr ""
5933 "これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
5934 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5935 "ような マルチスレッドプログラムでの使用に適している。"
5936
5937 #. type: Plain text
5938 #: build/C/man3/random_r.3:75
5939 msgid ""
5940 "The B<random_r>()  function is like B<random>(3), except that instead of "
5941 "using state information maintained in a global variable, it uses the state "
5942 "information in the argument pointed to by I<buf>.  The generated random "
5943 "number is returned in the argument I<result>."
5944 msgstr ""
5945 "B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
5946 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5947 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5948
5949 #. type: Plain text
5950 #: build/C/man3/random_r.3:84
5951 msgid ""
5952 "The B<srandom_r>()  function is like B<srandom>(3), except that it "
5953 "initializes the seed for the random number generator whose state is "
5954 "maintained in the object pointed to by I<buf>, instead of the seed "
5955 "associated with the global state variable."
5956 msgstr ""
5957 "B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
5958 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5959 "対応する乱数生成器の種を 初期化する。"
5960
5961 #. type: Plain text
5962 #: build/C/man3/random_r.3:92
5963 msgid ""
5964 "The B<initstate_r>()  function is like B<initstate>(3)  except that it "
5965 "initializes the state in the object pointed to by I<buf>, rather than "
5966 "initializing the global state variable."
5967 msgstr ""
5968 "B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
5969 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5970
5971 #. type: Plain text
5972 #: build/C/man3/random_r.3:100
5973 msgid ""
5974 "The B<setstate_r>()  function is like B<setstate>(3)  except that it "
5975 "modifies the state in the object pointer to by I<buf>, rather than modifying "
5976 "the global state variable."
5977 msgstr ""
5978 "B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
5979 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5980
5981 #. type: Plain text
5982 #: build/C/man3/random_r.3:105
5983 msgid ""
5984 "All of these functions return 0 on success.  On error, -1 is returned, with "
5985 "I<errno> set to indicate the cause of the error."
5986 msgstr ""
5987 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5988 "I<errno> にエラーの原因を示す値がセットされる。"
5989
5990 #. type: Plain text
5991 #: build/C/man3/random_r.3:110
5992 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
5993 msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
5994
5995 #. type: Plain text
5996 #: build/C/man3/random_r.3:119
5997 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
5998 msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
5999
6000 #. type: Plain text
6001 #: build/C/man3/random_r.3:128
6002 msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
6003 msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
6004
6005 #. type: Plain text
6006 #: build/C/man3/random_r.3:137
6007 msgid ""
6008 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
6009 "functions are thread-safe."
6010 msgstr ""
6011 "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
6012 "レッドセーフである。"
6013
6014 #.  These functions appear to be on Tru64, but don't seem to be on
6015 #.  Solaris, HP-UX, or FreeBSD.
6016 #. type: Plain text
6017 #: build/C/man3/random_r.3:141
6018 msgid "These functions are nonstandard glibc extensions."
6019 msgstr "これらの関数は非標準で glibc による拡張である。"
6020
6021 #. type: TH
6022 #: build/C/man3/rpmatch.3:29
6023 #, no-wrap
6024 msgid "RPMATCH"
6025 msgstr "RPMATCH"
6026
6027 #. type: Plain text
6028 #: build/C/man3/rpmatch.3:32
6029 msgid ""
6030 "rpmatch - determine if the answer to a question is affirmative or negative"
6031 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
6032
6033 #. type: Plain text
6034 #: build/C/man3/rpmatch.3:37
6035 #, no-wrap
6036 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
6037 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
6038
6039 #. type: Plain text
6040 #: build/C/man3/rpmatch.3:46
6041 msgid "B<rpmatch>(): _SVID_SOURCE"
6042 msgstr "B<rpmatch>(): _SVID_SOURCE"
6043
6044 #. type: Plain text
6045 #: build/C/man3/rpmatch.3:50
6046 msgid ""
6047 "B<rpmatch>()  handles a user response to yes or no questions, with support "
6048 "for internationalization."
6049 msgstr ""
6050 "B<rpmatch>()  は yes/no の質問に対するユーザーからの応答を処理する。 国際化 "
6051 "(I18N) に対応している。"
6052
6053 #. type: Plain text
6054 #: build/C/man3/rpmatch.3:57
6055 msgid ""
6056 "I<response> should be a null-terminated string containing a user-supplied "
6057 "response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
6058 msgstr ""
6059 "I<response> にはユーザーからの応答を格納したヌル終端文字列が入っている必要が"
6060 "ある。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
6061
6062 #. type: Plain text
6063 #: build/C/man3/rpmatch.3:67
6064 msgid ""
6065 "The user's language preference is taken into account per the environment "
6066 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
6067 "B<setlocale>(3)  to effect their changes."
6068 msgstr ""
6069 "プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
6070 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザーの言語設定として考慮され"
6071 "る。"
6072
6073 #. type: Plain text
6074 #: build/C/man3/rpmatch.3:73
6075 msgid ""
6076 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
6077 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
6078 msgstr ""
6079 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
6080 "B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
6081
6082 #. type: Plain text
6083 #: build/C/man3/rpmatch.3:82
6084 msgid ""
6085 "After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
6086 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
6087 "and -1 when the value of I<response> is unrecognized."
6088 msgstr ""
6089 "I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
6090 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
6091 "I<response> の値を解釈できなかった場合は -1 を返す。"
6092
6093 #. type: Plain text
6094 #: build/C/man3/rpmatch.3:86
6095 msgid ""
6096 "A return value of -1 may indicate either an invalid input, or some other "
6097 "error.  It is incorrect to only test if the return value is nonzero."
6098 msgstr ""
6099 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
6100 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
6101
6102 #. type: Plain text
6103 #: build/C/man3/rpmatch.3:99
6104 msgid ""
6105 "B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
6106 "B<regexec>(3)  can fail; the cause of the error is not available from "
6107 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
6108 "this case is indistinguishable from that of an unrecognized value of "
6109 "I<response>)."
6110 msgstr ""
6111 "B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
6112 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
6113 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
6114 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
6115
6116 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
6117 #. type: Plain text
6118 #: build/C/man3/rpmatch.3:104
6119 msgid ""
6120 "B<rpmatch>()  is not required by any standard, but is available on a few "
6121 "other systems."
6122 msgstr ""
6123 "B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
6124 "ステムもいくつかは存在する。"
6125
6126 #. type: Plain text
6127 #: build/C/man3/rpmatch.3:119
6128 msgid ""
6129 "The B<rpmatch>()  implementation looks at only the first character of "
6130 "I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
6131 "million years\" returns 1.  It would be preferable to accept input strings "
6132 "much more strictly, for example (using the extended regular expression "
6133 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
6134 "NO)$>."
6135 msgstr ""
6136 "B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
6137 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
6138 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
6139 "(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
6140 "B<^([nN]|no|NO)$> で解釈するなど。"
6141
6142 #. type: Plain text
6143 #: build/C/man3/rpmatch.3:123
6144 msgid ""
6145 "The following program displays the results when B<rpmatch>()  is applied to "
6146 "the string given in the program's command-line argument."
6147 msgstr ""
6148 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
6149 "に渡した場合の結果を表示する。"
6150
6151 #. type: Plain text
6152 #: build/C/man3/rpmatch.3:130
6153 #, no-wrap
6154 msgid ""
6155 "#define _SVID_SOURCE\n"
6156 "#include E<lt>locale.hE<gt>\n"
6157 "#include E<lt>stdlib.hE<gt>\n"
6158 "#include E<lt>string.hE<gt>\n"
6159 "#include E<lt>stdio.hE<gt>\n"
6160 msgstr ""
6161 "#define _SVID_SOURCE\n"
6162 "#include E<lt>locale.hE<gt>\n"
6163 "#include E<lt>stdlib.hE<gt>\n"
6164 "#include E<lt>string.hE<gt>\n"
6165 "#include E<lt>stdio.hE<gt>\n"
6166
6167 #. type: Plain text
6168 #: build/C/man3/rpmatch.3:138
6169 #, no-wrap
6170 msgid ""
6171 "int\n"
6172 "main(int argc, char *argv[])\n"
6173 "{\n"
6174 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6175 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6176 "        exit(EXIT_FAILURE);\n"
6177 "    }\n"
6178 msgstr ""
6179 "int\n"
6180 "main(int argc, char *argv[])\n"
6181 "{\n"
6182 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6183 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6184 "        exit(EXIT_FAILURE);\n"
6185 "    }\n"
6186
6187 #. type: Plain text
6188 #: build/C/man3/rpmatch.3:143
6189 #, no-wrap
6190 msgid ""
6191 "    setlocale(LC_ALL, \"\");\n"
6192 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6193 "    exit(EXIT_SUCCESS);\n"
6194 "}\n"
6195 msgstr ""
6196 "    setlocale(LC_ALL, \"\");\n"
6197 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6198 "    exit(EXIT_SUCCESS);\n"
6199 "}\n"
6200
6201 #. type: Plain text
6202 #: build/C/man3/rpmatch.3:150
6203 msgid ""
6204 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6205 msgstr ""
6206 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6207
6208 #. type: TH
6209 #: build/C/man3/setenv.3:37
6210 #, no-wrap
6211 msgid "SETENV"
6212 msgstr "SETENV"
6213
6214 #. type: TH
6215 #: build/C/man3/setenv.3:37
6216 #, no-wrap
6217 msgid "2013-10-11"
6218 msgstr "2013-10-11"
6219
6220 #. type: Plain text
6221 #: build/C/man3/setenv.3:40
6222 msgid "setenv - change or add an environment variable"
6223 msgstr "setenv - 環境変数を変更または追加する"
6224
6225 #. type: Plain text
6226 #: build/C/man3/setenv.3:45
6227 #, no-wrap
6228 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6229 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6230
6231 #. type: Plain text
6232 #: build/C/man3/setenv.3:47
6233 #, no-wrap
6234 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6235 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6236
6237 #. type: Plain text
6238 #: build/C/man3/setenv.3:57
6239 msgid "B<setenv>(), B<unsetenv>():"
6240 msgstr "B<setenv>(), B<unsetenv>():"
6241
6242 #. type: Plain text
6243 #: build/C/man3/setenv.3:59
6244 msgid ""
6245 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6246 "\\ 600"
6247 msgstr ""
6248 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6249 "\\ 600"
6250
6251 #. type: Plain text
6252 #: build/C/man3/setenv.3:94
6253 msgid ""
6254 "The B<setenv>()  function adds the variable I<name> to the environment with "
6255 "the value I<value>, if I<name> does not already exist.  If I<name> does "
6256 "exist in the environment, then its value is changed to I<value> if "
6257 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
6258 "is not changed (and B<setenv>()  returns a success status).  This function "
6259 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
6260 "with B<putenv>(3))."
6261 msgstr ""
6262 "B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
6263 "を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
6264 "外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
6265 "変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 "
6266 "(B<putenv>(3)  と違い)  I<name> と I<value> により参照される文字列のコピーを"
6267 "行う。"
6268
6269 #. type: Plain text
6270 #: build/C/man3/setenv.3:105
6271 msgid ""
6272 "The B<unsetenv>()  function deletes the variable I<name> from the "
6273 "environment.  If I<name> does not exist in the environment, then the "
6274 "function succeeds, and the environment is unchanged."
6275 msgstr ""
6276 "B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6277 "場合、この関数は成功し、環境は変更されない。"
6278
6279 #. type: Plain text
6280 #: build/C/man3/setenv.3:112
6281 msgid ""
6282 "The B<setenv>()  function returns zero on success, or -1 on error, with "
6283 "I<errno> set to indicate the cause of the error."
6284 msgstr ""
6285 "B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6286 "I<errno> にエラーの原因を示す値がセットされる。"
6287
6288 #. type: Plain text
6289 #: build/C/man3/setenv.3:119
6290 msgid ""
6291 "The B<unsetenv>()  function returns zero on success, or -1 on error, with "
6292 "I<errno> set to indicate the cause of the error."
6293 msgstr ""
6294 "B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6295 "I<errno> を設定してエラーの原因を示す。"
6296
6297 #. type: Plain text
6298 #: build/C/man3/setenv.3:125
6299 msgid ""
6300 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6301 "character."
6302 msgstr ""
6303 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6304 "が含まれている。"
6305
6306 #. type: Plain text
6307 #: build/C/man3/setenv.3:128
6308 msgid "Insufficient memory to add a new variable to the environment."
6309 msgstr "環境に新しい変数を追加するのに十分なメモリーがない。"
6310
6311 #. type: Plain text
6312 #: build/C/man3/setenv.3:136
6313 msgid ""
6314 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
6315 msgstr ""
6316 "POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
6317 "であることを要求していない。"
6318
6319 #. type: Plain text
6320 #: build/C/man3/setenv.3:144
6321 msgid ""
6322 "Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
6323 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
6324 "in the SYNOPSIS."
6325 msgstr ""
6326 "glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
6327 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6328 "POSIX.1-2001 互換のプロトタイプである。"
6329
6330 #. type: Plain text
6331 #: build/C/man3/setenv.3:153
6332 msgid ""
6333 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
6334 "then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
6335 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
6336 msgstr ""
6337 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
6338 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6339 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6340 "る。"
6341
6342 #. type: Plain text
6343 #: build/C/man3/setenv.3:158
6344 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6345 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6346
6347 #. type: TH
6348 #: build/C/man3/strtod.3:45
6349 #, no-wrap
6350 msgid "STRTOD"
6351 msgstr "STRTOD"
6352
6353 #. type: Plain text
6354 #: build/C/man3/strtod.3:48
6355 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
6356 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
6357
6358 #. type: Plain text
6359 #: build/C/man3/strtod.3:52
6360 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6361 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6362
6363 #. type: Plain text
6364 #: build/C/man3/strtod.3:54
6365 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6366 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6367
6368 #. type: Plain text
6369 #: build/C/man3/strtod.3:56
6370 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6371 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6372
6373 #. type: Plain text
6374 #: build/C/man3/strtod.3:65
6375 msgid "B<strtof>(), B<strtold>():"
6376 msgstr "B<strtof>(), B<strtold>():"
6377
6378 #. type: Plain text
6379 #: build/C/man3/strtod.3:87
6380 msgid ""
6381 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
6382 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
6383 "and I<long double> representation, respectively."
6384 msgstr ""
6385 "B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
6386 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6387
6388 #. type: Plain text
6389 #: build/C/man3/strtod.3:94
6390 msgid ""
6391 "The expected form of the (initial portion of the) string is optional leading "
6392 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
6393 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
6394 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
6395 msgstr ""
6396 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6397 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6398 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6399 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6400 "は B<isspace>(3)  で識別される)。"
6401
6402 #. type: Plain text
6403 #: build/C/man3/strtod.3:103
6404 msgid ""
6405 "A I<decimal number> consists of a nonempty sequence of decimal digits "
6406 "possibly containing a radix character (decimal point, locale-dependent, "
6407 "usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
6408 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
6409 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
6410 "indicates multiplication by a power of 10."
6411 msgstr ""
6412 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6413 "charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6414 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6415 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6416 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6417
6418 #. type: Plain text
6419 #: build/C/man3/strtod.3:114
6420 msgid ""
6421 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
6422 "nonempty sequence of hexadecimal digits possibly containing a radix "
6423 "character, optionally followed by a binary exponent.  A binary exponent "
6424 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
6425 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
6426 "multiplication by a power of 2.  At least one of radix character and binary "
6427 "exponent must be present."
6428 msgstr ""
6429 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6430 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6431 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6432 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6433 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6434 "存在してはならない。"
6435
6436 #. type: Plain text
6437 #: build/C/man3/strtod.3:118
6438 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6439 msgstr ""
6440 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6441
6442 #. type: Plain text
6443 #: build/C/man3/strtod.3:127
6444 msgid ""
6445 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by a string, "
6446 "I<(n-char-sequence)>, where I<n-char-sequence> specifies in an "
6447 "implementation-dependent way the type of NAN (see NOTES)."
6448 msgstr ""
6449 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に文字列 "
6450 "I<(n-char-sequence)> が続く場合もある。 I<(n-char-sequence)> は実装に依存す"
6451 "る NAN の型を指定する。"
6452
6453 #. type: Plain text
6454 #: build/C/man3/strtod.3:129
6455 msgid "These functions return the converted value, if any."
6456 msgstr "これらの関数は、変換された値があれば、それを返す。"
6457
6458 #. type: Plain text
6459 #: build/C/man3/strtod.3:136
6460 msgid ""
6461 "If I<endptr> is not NULL, a pointer to the character after the last "
6462 "character used in the conversion is stored in the location referenced by "
6463 "I<endptr>."
6464 msgstr ""
6465 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6466 "ターが I<endptr> で参照される場所へ保存される。"
6467
6468 #. type: Plain text
6469 #: build/C/man3/strtod.3:141
6470 msgid ""
6471 "If no conversion is performed, zero is returned and the value of I<nptr> is "
6472 "stored in the location referenced by I<endptr>."
6473 msgstr ""
6474 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6475 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6476
6477 #. type: Plain text
6478 #: build/C/man3/strtod.3:155
6479 msgid ""
6480 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
6481 "(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
6482 "value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
6483 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
6484 msgstr ""
6485 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6486 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
6487 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6488 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6489
6490 #. type: TP
6491 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
6492 #: build/C/man3/strtoul.3:155
6493 #, no-wrap
6494 msgid "B<ERANGE>"
6495 msgstr "B<ERANGE>"
6496
6497 #. type: Plain text
6498 #: build/C/man3/strtod.3:159
6499 msgid "Overflow or underflow occurred."
6500 msgstr "オーバーフローまたはアンダーフローが起こった。"
6501
6502 #. type: Plain text
6503 #: build/C/man3/strtod.3:171
6504 msgid ""
6505 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
6506 "with exceptions.  These functions can be safely used in multithreaded "
6507 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6508 "during their execution."
6509 msgstr ""
6510 "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
6511 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6512 "レッドアプリケーションで安全に使用することができる。"
6513
6514 #. type: Plain text
6515 #: build/C/man3/strtod.3:176
6516 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
6517 msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
6518
6519 #. type: Plain text
6520 #: build/C/man3/strtod.3:185
6521 msgid ""
6522 "Since 0 can legitimately be returned on both success and failure, the "
6523 "calling program should set I<errno> to 0 before the call, and then determine "
6524 "if an error occurred by checking whether I<errno> has a nonzero value after "
6525 "the call."
6526 msgstr ""
6527 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6528 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6529 "しエラーが発生したかどうかを判断する 必要がある。"
6530
6531 #.  From glibc 2.8's stdlib/strtod_l.c:
6532 #.      We expect it to be a number which is put in the
6533 #.      mantissa of the number.
6534 #.  It looks as though at least FreeBSD (according to the manual) does
6535 #.  something similar.
6536 #.  C11 says: "An implementation may use the n-char sequence to determine
6537 #.      extra information to be represented in the NaN's significant."
6538 #. type: Plain text
6539 #: build/C/man3/strtod.3:200
6540 msgid ""
6541 "In the glibc implementation, the I<n-char-sequence> that optionally follows "
6542 "\"NAN\" is interpreted as an integer number (with an optional '0' or '0x' "
6543 "prefix to select base 8 or 16)  that is to be placed in the mantissa "
6544 "component of the returned value."
6545 msgstr ""
6546 "glibc の実装では、\"NAN\" の後ろに置くことができる I<n-char-sequence> は、整"
6547 "数値として解釈される (基数の 8 や 16 を示す '0' や '0x' を接頭辞として付ける"
6548 "ことができる)。 この整数値は返り値の仮数部として使われる。"
6549
6550 #. type: Plain text
6551 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
6552 msgid ""
6553 "See the example on the B<strtol>(3)  manual page; the use of the functions "
6554 "described in this manual page is similar."
6555 msgstr ""
6556 "B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
6557 "法も同様である。"
6558
6559 #. type: Plain text
6560 #: build/C/man3/strtod.3:214
6561 msgid ""
6562 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6563 "B<strtol>(3), B<strtoul>(3)"
6564 msgstr ""
6565 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6566 "B<strtol>(3), B<strtoul>(3)"
6567
6568 #. type: TH
6569 #: build/C/man3/strtoimax.3:24
6570 #, no-wrap
6571 msgid "STRTOIMAX"
6572 msgstr "STRTOIMAX"
6573
6574 #. type: Plain text
6575 #: build/C/man3/strtoimax.3:27
6576 msgid "strtoimax, strtoumax - convert string to integer"
6577 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6578
6579 #. type: Plain text
6580 #: build/C/man3/strtoimax.3:30
6581 #, no-wrap
6582 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6583 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6584
6585 #. type: Plain text
6586 #: build/C/man3/strtoimax.3:32
6587 #, no-wrap
6588 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6589 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6590
6591 #. type: Plain text
6592 #: build/C/man3/strtoimax.3:34
6593 #, no-wrap
6594 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6595 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6596
6597 #. type: Plain text
6598 #: build/C/man3/strtoimax.3:45
6599 msgid ""
6600 "These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
6601 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
6602 msgstr ""
6603 "これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
6604 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6605
6606 #. type: Plain text
6607 #: build/C/man3/strtoimax.3:58
6608 msgid ""
6609 "On success, the converted value is returned.  If nothing was found to "
6610 "convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
6611 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
6612 "B<ERANGE>."
6613 msgstr ""
6614 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6615 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6616 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6617 "れる。"
6618
6619 #. type: Plain text
6620 #: build/C/man3/strtoimax.3:69
6621 msgid ""
6622 "The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
6623 "exceptions.  These functions can be safely used in multithreaded "
6624 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6625 "during their execution."
6626 msgstr ""
6627 "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
6628 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
6629 "プリケーションで安全に使用することができる。"
6630
6631 #. type: Plain text
6632 #: build/C/man3/strtoimax.3:77
6633 msgid ""
6634 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6635 msgstr ""
6636 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6637
6638 #. type: TH
6639 #: build/C/man3/strtol.3:31
6640 #, no-wrap
6641 msgid "STRTOL"
6642 msgstr "STRTOL"
6643
6644 #. type: Plain text
6645 #: build/C/man3/strtol.3:34
6646 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
6647 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
6648
6649 #. type: Plain text
6650 #: build/C/man3/strtol.3:39
6651 #, no-wrap
6652 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6653 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6654
6655 #. type: Plain text
6656 #: build/C/man3/strtol.3:42
6657 #, no-wrap
6658 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6659 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6660
6661 #. type: Plain text
6662 #: build/C/man3/strtol.3:51
6663 msgid "B<strtoll>():"
6664 msgstr "B<strtoll>():"
6665
6666 #. type: Plain text
6667 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6668 msgid ""
6669 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
6670 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6671 msgstr ""
6672 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6673 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6674
6675 #. type: Plain text
6676 #: build/C/man3/strtol.3:68
6677 msgid ""
6678 "The B<strtol>()  function converts the initial part of the string in I<nptr> "
6679 "to a long integer value according to the given I<base>, which must be "
6680 "between 2 and 36 inclusive, or be the special value 0."
6681 msgstr ""
6682 "B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6683 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6684 "持つ値 0 でなければならない。"
6685
6686 #. type: Plain text
6687 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6688 msgid ""
6689 "The string may begin with an arbitrary amount of white space (as determined "
6690 "by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
6691 "sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
6692 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
6693 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
6694 "case it is taken as 8 (octal)."
6695 msgstr ""
6696 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6697 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6698 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6699 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6700 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6701 "は 10進数として扱われる。"
6702
6703 #. type: Plain text
6704 #: build/C/man3/strtol.3:90
6705 msgid ""
6706 "The remainder of the string is converted to a I<long int> value in the "
6707 "obvious manner, stopping at the first character which is not a valid digit "
6708 "in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
6709 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
6710 "forth, with \\(aqZ\\(aq representing 35.)"
6711 msgstr ""
6712 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6713 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6714 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6715 "35 を表す。)"
6716
6717 #. type: Plain text
6718 #: build/C/man3/strtol.3:111
6719 msgid ""
6720 "If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
6721 "invalid character in I<*endptr>.  If there were no digits at all, "
6722 "B<strtol>()  stores the original value of I<nptr> in I<*endptr> (and returns "
6723 "0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
6724 "\\(aq\\e0\\(aq on return, the entire string is valid."
6725 msgstr ""
6726 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が "
6727 "B<strtol>()  によって I<*endptr> に保存されている。 文字列に有効な数字がひと"
6728 "つもなければ、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そし"
6729 "て 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> "
6730 "が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6731
6732 #. type: Plain text
6733 #: build/C/man3/strtol.3:117
6734 msgid ""
6735 "The B<strtoll>()  function works just like the B<strtol>()  function but "
6736 "returns a long long integer value."
6737 msgstr ""
6738 "B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
6739
6740 #. type: Plain text
6741 #: build/C/man3/strtol.3:144
6742 msgid ""
6743 "The B<strtol>()  function returns the result of the conversion, unless the "
6744 "value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
6745 "returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
6746 "B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
6747 "same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
6748 "B<LONG_MIN> and B<LONG_MAX>)."
6749 msgstr ""
6750 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
6751 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
6752 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
6753 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
6754 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
6755 "が返される。"
6756
6757 #. type: Plain text
6758 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
6759 msgid "(not in C99)  The given I<base> contains an unsupported value."
6760 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
6761
6762 #. type: Plain text
6763 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6764 msgid "The resulting value was out of range."
6765 msgstr "結果の値が範囲外である。"
6766
6767 #. type: Plain text
6768 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6769 msgid ""
6770 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6771 "was performed (no digits seen, and 0 returned)."
6772 msgstr ""
6773 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6774 "I<errno> に B<EINVAL> が設定される場合がある。"
6775
6776 #. type: Plain text
6777 #: build/C/man3/strtol.3:173
6778 msgid ""
6779 "The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
6780 "with exceptions.  These functions can be safely used in multithreaded "
6781 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6782 "during their execution."
6783 msgstr ""
6784 "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
6785 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6786 "レッドアプリケーションで安全に使用することができる。"
6787
6788 #. type: Plain text
6789 #: build/C/man3/strtol.3:178
6790 msgid ""
6791 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6792 "B<strtoll>()  to C99 and POSIX.1-2001."
6793 msgstr ""
6794 "B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6795 "B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
6796
6797 #. type: Plain text
6798 #: build/C/man3/strtol.3:196
6799 msgid ""
6800 "Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
6801 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
6802 "failure, the calling program should set I<errno> to 0 before the call, and "
6803 "then determine if an error occurred by checking whether I<errno> has a "
6804 "nonzero value after the call."
6805 msgstr ""
6806 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
6807 "(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
6808 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
6809 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6810
6811 #. type: Plain text
6812 #: build/C/man3/strtol.3:201
6813 msgid ""
6814 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6815 "these functions may accept other, implementation-defined numeric strings."
6816 msgstr ""
6817 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6818 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6819
6820 #. type: Plain text
6821 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6822 msgid "BSD also has"
6823 msgstr "BSD には、"
6824
6825 #. type: Plain text
6826 #: build/C/man3/strtol.3:207
6827 #, no-wrap
6828 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6829 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6830
6831 #. type: Plain text
6832 #: build/C/man3/strtol.3:216
6833 msgid ""
6834 "with completely analogous definition.  Depending on the wordsize of the "
6835 "current architecture, this may be equivalent to B<strtoll>()  or to "
6836 "B<strtol>()."
6837 msgstr ""
6838 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャーのワード長次"
6839 "第であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
6840
6841 #. type: Plain text
6842 #: build/C/man3/strtol.3:230
6843 msgid ""
6844 "The program shown below demonstrates the use of B<strtol>().  The first "
6845 "command-line argument specifies a string from which B<strtol>()  should "
6846 "parse a number.  The second (optional) argument specifies the base to be "
6847 "used for the conversion.  (This argument is converted to numeric form using "
6848 "B<atoi>(3), a function that performs no error checking and has a simpler "
6849 "interface than B<strtol>().)  Some examples of the results produced by this "
6850 "program are the following:"
6851 msgstr ""
6852 "以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
6853 "は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6854 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
6855 "数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインターフェースを"
6856 "持つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例を"
6857 "いくつか以下に示す:"
6858
6859 #. type: Plain text
6860 #: build/C/man3/strtol.3:246
6861 #, no-wrap
6862 msgid ""
6863 "$B< ./a.out 123>\n"
6864 "strtol() returned 123\n"
6865 "$B< ./a.out \\(aq    123\\(aq>\n"
6866 "strtol() returned 123\n"
6867 "$B< ./a.out 123abc>\n"
6868 "strtol() returned 123\n"
6869 "Further characters after number: abc\n"
6870 "$B< ./a.out 123abc 55>\n"
6871 "strtol: Invalid argument\n"
6872 "$B< ./a.out \\(aq\\(aq>\n"
6873 "No digits were found\n"
6874 "$B< ./a.out 4000000000>\n"
6875 "strtol: Numerical result out of range\n"
6876 msgstr ""
6877 "$B< ./a.out 123>\n"
6878 "strtol() returned 123\n"
6879 "$B< ./a.out \\(aq    123\\(aq>\n"
6880 "strtol() returned 123\n"
6881 "$B< ./a.out 123abc>\n"
6882 "strtol() returned 123\n"
6883 "Further characters after number: abc\n"
6884 "$B< ./a.out 123abc 55>\n"
6885 "strtol: Invalid argument\n"
6886 "$B< ./a.out \\(aq\\(aq>\n"
6887 "No digits were found\n"
6888 "$B< ./a.out 4000000000>\n"
6889 "strtol: Numerical result out of range\n"
6890
6891 #. type: Plain text
6892 #: build/C/man3/strtol.3:255
6893 #, no-wrap
6894 msgid ""
6895 "#include E<lt>stdlib.hE<gt>\n"
6896 "#include E<lt>limits.hE<gt>\n"
6897 "#include E<lt>stdio.hE<gt>\n"
6898 "#include E<lt>errno.hE<gt>\n"
6899 msgstr ""
6900 "#include E<lt>stdlib.hE<gt>\n"
6901 "#include E<lt>limits.hE<gt>\n"
6902 "#include E<lt>stdio.hE<gt>\n"
6903 "#include E<lt>errno.hE<gt>\n"
6904
6905 #. type: Plain text
6906 #: build/C/man3/strtol.3:262
6907 #, no-wrap
6908 msgid ""
6909 "int\n"
6910 "main(int argc, char *argv[])\n"
6911 "{\n"
6912 "    int base;\n"
6913 "    char *endptr, *str;\n"
6914 "    long val;\n"
6915 msgstr ""
6916 "int\n"
6917 "main(int argc, char *argv[])\n"
6918 "{\n"
6919 "    int base;\n"
6920 "    char *endptr, *str;\n"
6921 "    long val;\n"
6922
6923 #. type: Plain text
6924 #: build/C/man3/strtol.3:267
6925 #, no-wrap
6926 msgid ""
6927 "    if (argc E<lt> 2) {\n"
6928 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6929 "        exit(EXIT_FAILURE);\n"
6930 "    }\n"
6931 msgstr ""
6932 "    if (argc E<lt> 2) {\n"
6933 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6934 "        exit(EXIT_FAILURE);\n"
6935 "    }\n"
6936
6937 #. type: Plain text
6938 #: build/C/man3/strtol.3:270
6939 #, no-wrap
6940 msgid ""
6941 "    str = argv[1];\n"
6942 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6943 msgstr ""
6944 "    str = argv[1];\n"
6945 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6946
6947 #. type: Plain text
6948 #: build/C/man3/strtol.3:273
6949 #, no-wrap
6950 msgid ""
6951 "    errno = 0;    /* To distinguish success/failure after call */\n"
6952 "    val = strtol(str, &endptr, base);\n"
6953 msgstr ""
6954 "    errno = 0;    /* To distinguish success/failure after call */\n"
6955 "    val = strtol(str, &endptr, base);\n"
6956
6957 #. type: Plain text
6958 #: build/C/man3/strtol.3:275
6959 #, no-wrap
6960 msgid "    /* Check for various possible errors */\n"
6961 msgstr "    /* Check for various possible errors */\n"
6962
6963 #. type: Plain text
6964 #: build/C/man3/strtol.3:281
6965 #, no-wrap
6966 msgid ""
6967 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6968 "            || (errno != 0 && val == 0)) {\n"
6969 "        perror(\"strtol\");\n"
6970 "        exit(EXIT_FAILURE);\n"
6971 "    }\n"
6972 msgstr ""
6973 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6974 "            || (errno != 0 && val == 0)) {\n"
6975 "        perror(\"strtol\");\n"
6976 "        exit(EXIT_FAILURE);\n"
6977 "    }\n"
6978
6979 #. type: Plain text
6980 #: build/C/man3/strtol.3:286
6981 #, no-wrap
6982 msgid ""
6983 "    if (endptr == str) {\n"
6984 "        fprintf(stderr, \"No digits were found\\en\");\n"
6985 "        exit(EXIT_FAILURE);\n"
6986 "    }\n"
6987 msgstr ""
6988 "    if (endptr == str) {\n"
6989 "        fprintf(stderr, \"No digits were found\\en\");\n"
6990 "        exit(EXIT_FAILURE);\n"
6991 "    }\n"
6992
6993 #. type: Plain text
6994 #: build/C/man3/strtol.3:288
6995 #, no-wrap
6996 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
6997 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
6998
6999 #. type: Plain text
7000 #: build/C/man3/strtol.3:290
7001 #, no-wrap
7002 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
7003 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
7004
7005 #. type: Plain text
7006 #: build/C/man3/strtol.3:293
7007 #, no-wrap
7008 msgid ""
7009 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
7010 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
7011 msgstr ""
7012 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
7013 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
7014
7015 #. type: Plain text
7016 #: build/C/man3/strtol.3:303
7017 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
7018 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
7019
7020 #. type: TH
7021 #: build/C/man3/strtoul.3:33
7022 #, no-wrap
7023 msgid "STRTOUL"
7024 msgstr "STRTOUL"
7025
7026 #. type: Plain text
7027 #: build/C/man3/strtoul.3:36
7028 msgid ""
7029 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
7030 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
7031
7032 #. type: Plain text
7033 #: build/C/man3/strtoul.3:42
7034 #, no-wrap
7035 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7036 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7037
7038 #. type: Plain text
7039 #: build/C/man3/strtoul.3:45
7040 #, no-wrap
7041 msgid ""
7042 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
7043 "B<                                int >I<base>B<);>\n"
7044 msgstr ""
7045 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
7046 "B<                                int >I<base>B<);>\n"
7047
7048 #. type: Plain text
7049 #: build/C/man3/strtoul.3:54
7050 msgid "B<strtoull>():"
7051 msgstr "B<strtoull>():"
7052
7053 #. type: Plain text
7054 #: build/C/man3/strtoul.3:75
7055 msgid ""
7056 "The B<strtoul>()  function converts the initial part of the string in "
7057 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
7058 "which must be between 2 and 36 inclusive, or be the special value 0."
7059 msgstr ""
7060 "B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
7061 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
7062 "特別な意味を持つ値 0 でなければならない。"
7063
7064 #. type: Plain text
7065 #: build/C/man3/strtoul.3:98
7066 msgid ""
7067 "The remainder of the string is converted to an I<unsigned long int> value in "
7068 "the obvious manner, stopping at the first character which is not a valid "
7069 "digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
7070 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
7071 "so forth, with \\(aqZ\\(aq representing 35.)"
7072 msgstr ""
7073 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
7074 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
7075 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
7076 "\\(aq は 35 を表す。)"
7077
7078 #. type: Plain text
7079 #: build/C/man3/strtoul.3:119
7080 msgid ""
7081 "If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
7082 "invalid character in I<*endptr>.  If there were no digits at all, "
7083 "B<strtoul>()  stores the original value of I<nptr> in I<*endptr> (and "
7084 "returns 0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
7085 "I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
7086 msgstr ""
7087 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
7088 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
7089 "ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
7090 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
7091 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
7092
7093 #. type: Plain text
7094 #: build/C/man3/strtoul.3:127
7095 msgid ""
7096 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
7097 "returns an I<unsigned long long int> value."
7098 msgstr ""
7099 "B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
7100 "int> 型の値を返す。"
7101
7102 #. type: Plain text
7103 #: build/C/man3/strtoul.3:148
7104 msgid ""
7105 "The B<strtoul>()  function returns either the result of the conversion or, "
7106 "if there was a leading minus sign, the negation of the result of the "
7107 "conversion represented as an unsigned value, unless the original "
7108 "(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
7109 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
7110 "B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
7111 msgstr ""
7112 "B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
7113 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
7114 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
7115 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
7116 "替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
7117
7118 #. type: Plain text
7119 #: build/C/man3/strtoul.3:177
7120 msgid ""
7121 "The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
7122 "with exceptions.  These functions can be safely used in multithreaded "
7123 "applications, as long as B<setlocale>(3)  is not called to change the locale "
7124 "during their execution."
7125 msgstr ""
7126 "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
7127 "ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
7128 "レッドアプリケーションで安全に使用することができる。"
7129
7130 #. type: Plain text
7131 #: build/C/man3/strtoul.3:182
7132 msgid ""
7133 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
7134 "to C99 and POSIX.1-2001."
7135 msgstr ""
7136 "B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
7137 "B<strtoull>()  は C99 と POSIX.1-2001 に準拠している。"
7138
7139 #. type: Plain text
7140 #: build/C/man3/strtoul.3:196
7141 msgid ""
7142 "Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
7143 "for B<strtoull>())  on both success and failure, the calling program should "
7144 "set I<errno> to 0 before the call, and then determine if an error occurred "
7145 "by checking whether I<errno> has a nonzero value after the call."
7146 msgstr ""
7147 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
7148 "(B<strtoull>()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関"
7149 "数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
7150 "かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
7151
7152 #. type: Plain text
7153 #: build/C/man3/strtoul.3:200
7154 msgid ""
7155 "In locales other than the \"C\" locale, other strings may be accepted.  (For "
7156 "example, the thousands separator of the current locale may be supported.)"
7157 msgstr ""
7158 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
7159 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
7160
7161 #. type: Plain text
7162 #: build/C/man3/strtoul.3:206
7163 #, no-wrap
7164 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7165 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7166
7167 #. type: Plain text
7168 #: build/C/man3/strtoul.3:215
7169 msgid ""
7170 "with completely analogous definition.  Depending on the wordsize of the "
7171 "current architecture, this may be equivalent to B<strtoull>()  or to "
7172 "B<strtoul>()."
7173 msgstr ""
7174 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャーのワード長次"
7175 "第であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえ"
7176 "る。"
7177
7178 #. type: Plain text
7179 #: build/C/man3/strtoul.3:220
7180 msgid ""
7181 "Negative values are considered valid input and are silently converted to the "
7182 "equivalent I<unsigned long int> value."
7183 msgstr ""
7184 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7185 "の値に変換される。"
7186
7187 #. type: Plain text
7188 #: build/C/man3/strtoul.3:231
7189 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7190 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7191
7192 #. type: TH
7193 #: build/C/man3/system.3:31
7194 #, no-wrap
7195 msgid "SYSTEM"
7196 msgstr "SYSTEM"
7197
7198 #. type: Plain text
7199 #: build/C/man3/system.3:34
7200 msgid "system - execute a shell command"
7201 msgstr "system - シェルコマンドの実行"
7202
7203 #. type: Plain text
7204 #: build/C/man3/system.3:39
7205 #, no-wrap
7206 msgid "B<int system(const char *>I<command>B<);>\n"
7207 msgstr "B<int system(const char *>I<command>B<);>\n"
7208
7209 #. type: Plain text
7210 #: build/C/man3/system.3:50
7211 msgid ""
7212 "The B<system>()  library function uses B<fork>(2)  to create a child process "
7213 "that executes the shell command specified in I<command> using B<execl>(3)  "
7214 "as follows:"
7215 msgstr ""
7216 "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
7217 "ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
7218 "使って実行する。"
7219
7220 #. type: Plain text
7221 #: build/C/man3/system.3:52
7222 #, no-wrap
7223 msgid "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7224 msgstr "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7225
7226 #. type: Plain text
7227 #: build/C/man3/system.3:55
7228 msgid "B<system>()  returns after the command has been completed."
7229 msgstr "B<system>() が返るのはコマンドが完了した後である。"
7230
7231 #. type: Plain text
7232 #: build/C/man3/system.3:67
7233 msgid ""
7234 "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
7235 "and B<SIGQUIT> will be ignored, in the process that calls B<system>()  "
7236 "(these signals will be handled according to their defaults inside the child "
7237 "process that executes I<command>)."
7238 msgstr ""
7239 "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
7240 "ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
7241 "ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
7242
7243 #. type: Plain text
7244 #: build/C/man3/system.3:73
7245 msgid ""
7246 "If I<command> is NULL, then B<system>()  returns a status indicating whether "
7247 "a shell is available on the system"
7248 msgstr ""
7249 "I<command> が NULL の場合、 B<system>()  はそのシステムでシェルが利用可能かを"
7250 "示すステータスを返す。"
7251
7252 #. type: Plain text
7253 #: build/C/man3/system.3:77
7254 msgid "The return value of B<system>()  is one of the following:"
7255 msgstr "B<system>() の返り値は以下のいずれかである。"
7256
7257 #. type: Plain text
7258 #: build/C/man3/system.3:82
7259 msgid ""
7260 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
7261 "no shell is available."
7262 msgstr ""
7263 "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
7264 "0。"
7265
7266 #. type: Plain text
7267 #: build/C/man3/system.3:86
7268 msgid ""
7269 "If a child process could not be created, or its status could not be "
7270 "retrieved, the return value is -1."
7271 msgstr ""
7272 "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
7273 "かった場合、 返り値は -1 である。"
7274
7275 #. type: Plain text
7276 #: build/C/man3/system.3:91
7277 msgid ""
7278 "If a shell could not be executed in the child process, then the return value "
7279 "is as though the child shell terminated by calling B<_exit>(2)  with the "
7280 "status 127."
7281 msgstr ""
7282 "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
7283 "127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
7284
7285 #. type: Plain text
7286 #: build/C/man3/system.3:98
7287 msgid ""
7288 "If all system calls succeed, then the return value is the termination status "
7289 "of the child shell used to execute I<command>.  (The termination status of a "
7290 "shell is the termination status of the last command it executes.)"
7291 msgstr ""
7292 "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
7293 "れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
7294 "シェルが実行した最後のコマンドの終了ステータスである)。"
7295
7296 #. type: Plain text
7297 #: build/C/man3/system.3:107
7298 msgid ""
7299 "In the last two cases, the return value is a \"wait status\" that can be "
7300 "examined using the macros described in B<waitpid>(2).  (i.e., "
7301 "B<WIFEXITED>()  B<WEXITSTATUS>()  and so on)."
7302 msgstr ""
7303 "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
7304 "いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
7305 "検査することができる。"
7306
7307 #. type: Plain text
7308 #: build/C/man3/system.3:110
7309 msgid "B<system>()  does not affect the wait status of any other children."
7310 msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
7311
7312 #. type: Plain text
7313 #: build/C/man3/system.3:115
7314 msgid "The B<system>()  function is thread-safe."
7315 msgstr "関数 B<system>() はスレッドセーフである。"
7316
7317 #. type: Plain text
7318 #: build/C/man3/system.3:117
7319 msgid "C89, C99, POSIX.1-2001."
7320 msgstr "C89, C99, POSIX.1-2001."
7321
7322 #. type: Plain text
7323 #: build/C/man3/system.3:134
7324 msgid ""
7325 "B<system>()  provides simplicity and convenience: it handles all of the "
7326 "details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
7327 "the necessary manipulations of signals; in addition, the shell performs the "
7328 "usual substitutions and I/O redirections for I<command>.  The main cost of "
7329 "B<system>()  is inefficiency: additional system calls are required to create "
7330 "the process that runs the shell and to execute the shell."
7331 msgstr ""
7332 "B<system>() により簡便性と利便性がもたらされる。この関数は B<fork>(2), "
7333 "B<execl>(3), B<waitpid>(2) の呼び出しにおける詳細をすべて行うとともに、 シグ"
7334 "ナルの適切な処理も行う。 また、シェルは I<command> に対して通常の置換 "
7335 "(substitutions) と I/O リダイレクトを行う。 B<system>() を使用することによる"
7336 "主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェ"
7337 "ルを実行するために、余計にシステムコールが必要となる。"
7338
7339 #. type: Plain text
7340 #: build/C/man3/system.3:146
7341 msgid ""
7342 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
7343 "I<any> header files), then the macros described in B<waitpid>(2)  "
7344 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
7345 "hE<gt>>."
7346 msgstr ""
7347 "(「どの」ヘッダーファイルをインクルードするよりも前に)  機能検査マクロ "
7348 "B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2)  で説明されているマクロ"
7349 "群 (B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
7350 "能になる。"
7351
7352 #. type: Plain text
7353 #: build/C/man3/system.3:157
7354 msgid ""
7355 "As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
7356 "programs that call it from a loop uninterruptible, unless they take care "
7357 "themselves to check the exit status of the child.  For example:"
7358 msgstr ""
7359 "既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7360 "てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
7361 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7362
7363 #. type: Plain text
7364 #: build/C/man3/system.3:162
7365 #, no-wrap
7366 msgid ""
7367 "    while (something) {\n"
7368 "        int ret = system(\"foo\");\n"
7369 msgstr ""
7370 "    while (something) {\n"
7371 "        int ret = system(\"foo\");\n"
7372
7373 #. type: Plain text
7374 #: build/C/man3/system.3:167
7375 #, no-wrap
7376 msgid ""
7377 "        if (WIFSIGNALED(ret) &&\n"
7378 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7379 "                break;\n"
7380 "    }\n"
7381 msgstr ""
7382 "        if (WIFSIGNALED(ret) &&\n"
7383 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7384 "                break;\n"
7385 "    }\n"
7386
7387 #. type: Plain text
7388 #: build/C/man3/system.3:187
7389 msgid ""
7390 "Do not use B<system>()  from a program with set-user-ID or set-group-ID "
7391 "privileges, because strange values for some environment variables might be "
7392 "used to subvert system integrity.  Use the B<exec>(3)  family of functions "
7393 "instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
7394 "fact, work properly from programs with set-user-ID or set-group-ID "
7395 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
7396 "drops privileges on startup.  (Debian uses a modified bash which does not do "
7397 "this when invoked as B<sh>.)"
7398 msgstr ""
7399 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
7400 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
7401 "なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
7402 "B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
7403 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
7404 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
7405 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
7406 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
7407 "る)"
7408
7409 #. type: Plain text
7410 #: build/C/man3/system.3:201
7411 msgid ""
7412 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
7413 "sh> was not actually performed if I<command> was NULL; instead it was always "
7414 "assumed to be available, and B<system>()  always returned 1 in this case.  "
7415 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
7416 "requires a conforming implementation to provide a shell, that shell may not "
7417 "be available or executable if the calling program has previously called "
7418 "B<chroot>(2)  (which is not specified by POSIX.1-2001)."
7419 msgstr ""
7420 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
7421 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
7422 "ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
7423 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
7424 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
7425 "B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
7426 "B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
7427 "ファイル でない場合があるからである。"
7428
7429 #. type: Plain text
7430 #: build/C/man3/system.3:207
7431 msgid ""
7432 "It is possible for the shell command to terminate with a status of 127, "
7433 "which yields a B<system>()  return value that is indistinguishable from the "
7434 "case where a shell could not be executed in the child process."
7435 msgstr ""
7436 "シェルコマンドがステータス 127 で終了することもある。 この場合、B<system>() "
7437 "の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
7438
7439 #. type: Plain text
7440 #: build/C/man3/system.3:215
7441 msgid ""
7442 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7443 "B<exec>(3), B<signal>(7)"
7444 msgstr ""
7445 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7446 "B<exec>(3), B<signal>(7)"
7447
7448 #. type: TH
7449 #: build/C/man7/vdso.7:13
7450 #, no-wrap
7451 msgid "VDSO"
7452 msgstr "VDSO"
7453
7454 #. type: Plain text
7455 #: build/C/man7/vdso.7:16
7456 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7457 msgstr "vDSO - 仮想 ELF 動的共有オブジェクトの概要"
7458
7459 #. type: Plain text
7460 #: build/C/man7/vdso.7:18
7461 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
7462 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
7463
7464 #. type: Plain text
7465 #: build/C/man7/vdso.7:20
7466 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7467 msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7468
7469 #. type: Plain text
7470 #: build/C/man7/vdso.7:29
7471 msgid ""
7472 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
7473 "the kernel automatically maps into the address space of all user-space "
7474 "applications.  Applications usually do not need to concern themselves with "
7475 "these details as the vDSO is most commonly called by the C library.  This "
7476 "way you can code in the normal way using standard functions and the C "
7477 "library will take care of using any functionality that is available via the "
7478 "vDSO."
7479 msgstr ""
7480 "\"vDSO\" (virtual dynamic shared object; 仮想動的共有オブジェクト) は、 カー"
7481 "ネルが自動的にすべてのユーザー空間アプリケーションのアドレス空間にマッピング"
7482 "を行う小さな共有ライブラリである。 vDSO はほとんどの場合 C ライブラリから呼び"
7483 "出されるため、 アプリケーションは通常これらの詳細を自分では気にする必要はな"
7484 "い。 このように、 標準関数と C ライブラリを使って通常の方法でコードを作成する"
7485 "ことで、 vDSO 経由で利用可能な機能が活用されることになる。"
7486
7487 #. type: Plain text
7488 #: build/C/man7/vdso.7:37
7489 msgid ""
7490 "Why does the vDSO exist at all? There are some system calls the kernel "
7491 "provides that user-space code ends up using frequently, to the point that "
7492 "such calls can dominate overall performance.  This is due both to the "
7493 "frequency of the call as well as the context-switch overhead that results "
7494 "from exiting user space and entering the kernel."
7495 msgstr ""
7496 "いったいなぜ vDSO は存在しているのか? カーネルが提供するシステムコールのいく"
7497 "つかは、 ユーザー空間のコードがこれらのシステムコールを頻繁に呼び出すことにな"
7498 "り、 このような呼び出しが全体の性能を支配するようになる場合がある。 これは、 "
7499 "呼び出しの頻度と、 ユーザー空間から抜けてカーネルに入ることによるコンテキスト"
7500 "スイッチのオーバーヘッドの両方に起因する。"
7501
7502 #. type: Plain text
7503 #: build/C/man7/vdso.7:42
7504 msgid ""
7505 "The rest of this documentation is geared toward the curious and/or C library "
7506 "writers rather than general developers.  If you're trying to call the vDSO "
7507 "in your own application rather than using the C library, you're most likely "
7508 "doing it wrong."
7509 msgstr ""
7510 "この文書の残りの部分は、 一般の開発者向けというではなく、 好奇心がある人と C "
7511 "ライブラリの開発者向けの内容となっている。 もしあなたが C ライブラリではなく"
7512 "自分のアプリケーションで vDSO を呼びだそうとしているのであれば、 ほとんどの場"
7513 "合間違ったことをしていることだろう。"
7514
7515 #. type: SS
7516 #: build/C/man7/vdso.7:42
7517 #, no-wrap
7518 msgid "Example background"
7519 msgstr ""
7520
7521 #. type: Plain text
7522 #: build/C/man7/vdso.7:56
7523 msgid ""
7524 "Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
7525 "software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
7526 "system call.  However, this instruction is expensive: it goes through the "
7527 "full interrupt-handling paths in the processor's microcode as well as in the "
7528 "kernel.  Newer processors have faster (but backward incompatible) "
7529 "instructions to initiate system calls.  Rather than require the C library to "
7530 "figure out if this functionality is available at run time, the C library can "
7531 "use functions provided by the kernel in the vDSO."
7532 msgstr ""
7533 "システムコールの呼び出しは遅くなる場合がある。 x86 32 ビットシステムでは、 シ"
7534 "ステムコールを呼び出したいことをカーネルに教えるためにソフトウェア割り込み "
7535 "(I<int $0x80>) を使うことができる。 しかしながら、この割り込みはコストがかか"
7536 "る処理である。 割り込みがあると、 カーネルとプロセッサーのマイクロコードの両"
7537 "方のすべての割り込み処理パスが実行される。 新しいプロセッサーには、 システム"
7538 "コール呼び出しを起動するための高速な (だが、後方互換性がある) 命令が用意され"
7539 "ている。 C ライブラリが実行時にこの機能が利用できるかを確認するのではなく、 "
7540 "C ライブラリは vDSO でカーネルが提供する関数を使うことができる。"
7541
7542 #. type: Plain text
7543 #: build/C/man7/vdso.7:63
7544 msgid ""
7545 "Note that the terminology can be confusing.  On x86 systems, the vDSO "
7546 "function used to determine the preferred method of making a system call is "
7547 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
7548 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
7549 "caller is on."
7550 msgstr ""
7551 "用語が紛らわしい点には注意が必要である。 x86 システムでは、 システムコールを"
7552 "呼び出す推奨される方法を判定するのに使用される vDSO 関数は "
7553 "\"__kernel_vsyscall\" という名前だが、 x86_64 では、 \"vsyscall\" という用語"
7554 "は、 カーネルに時刻はいつかや呼び出し元はどの CPU 上にいるかを問い合わせるた"
7555 "めの廃止予定の方法も参照している。"
7556
7557 #. type: Plain text
7558 #: build/C/man7/vdso.7:79
7559 msgid ""
7560 "One frequently used system call is B<gettimeofday>(2).  This system call is "
7561 "called both directly by user-space applications as well as indirectly by the "
7562 "C library.  Think timestamps or timing loops or polling\\(emall of these "
7563 "frequently need to know what time it is right now.  This information is also "
7564 "not secret\\(emany application in any privilege mode (root or any "
7565 "unprivileged user) will get the same answer.  Thus the kernel arranges for "
7566 "the information required to answer this question to be placed in memory the "
7567 "process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
7568 "call to a normal function call and a few memory accesses."
7569 msgstr ""
7570 "頻繁に使用されるシステムコールの一つが B<gettimeofday>(2) である。 このシステ"
7571 "ムコールは、 ユーザー空間アプリケーションから直接呼び出されることも、 C ライ"
7572 "ブラリから間接的に呼び出されることもある。 タイムスタンプが必要な場面、 タイ"
7573 "ミングループを行う場面、 ポーリングを行う場面を考えてほしい。 これらはいずれ"
7574 "も現在時刻が何かを直ちに知りたいのが普通である。 また、この情報は秘密ではな"
7575 "く、 (ルートでも非特権ユーザーでも) 任意の特権モードの多くのアプリケーション"
7576 "が同じ情報を取得できる。 したがって、 カーネルはこの質問に応えるのに必要な情"
7577 "報をプロセスがアクセスできるメモリー上に配置する。 これにより、 "
7578 "B<gettimeofday>(2) はシステムコールから通常の関数コールになり、 少ないメモ"
7579 "リーアクセスになる。"
7580
7581 #. type: SS
7582 #: build/C/man7/vdso.7:79
7583 #, no-wrap
7584 msgid "Finding the vDSO"
7585 msgstr "vDSO を見つける"
7586
7587 #. type: Plain text
7588 #: build/C/man7/vdso.7:86
7589 msgid ""
7590 "The base address of the vDSO (if one exists) is passed by the kernel to each "
7591 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
7592 "B<AT_SYSINFO_EHDR> tag."
7593 msgstr ""
7594 "vDSO のベースアドレスは、 (存在する場合には) カーネルから各プログラムに初期補"
7595 "助ベクトル (B<getauxval>(3) 参照) の B<AT_SYSINFO_EHDR> タグ経由で渡される。"
7596
7597 #. type: Plain text
7598 #: build/C/man7/vdso.7:95
7599 msgid ""
7600 "You must not assume the vDSO is mapped at any particular location in the "
7601 "user's memory map.  The base address will usually be randomized at run time "
7602 "every time a new process image is created (at B<execve>(2)  time).  This is "
7603 "done for security reasons, to prevent \"return-to-libc\" attacks."
7604 msgstr ""
7605 "vDSO がユーザーのメモリーマップの何か特定の場所にマッピングされると仮定しては"
7606 "ならない。 通常新しいプロセスイメージが作成されるたびに (B<execve>(2) 実行時"
7607 "点) 、 実行時にベースアドレスのランダム化が行われる。 これは \"return-to-libc"
7608 "\" 攻撃 を防ぐためにセキュリティ上の理由から行われる。"
7609
7610 #. type: Plain text
7611 #: build/C/man7/vdso.7:104
7612 msgid ""
7613 "For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
7614 "only for locating the vsyscall entry point and is frequently omitted or set "
7615 "to 0 (meaning it's not available).  This tag is a throwback to the initial "
7616 "vDSO work (see I<History> below) and its use should be avoided."
7617 msgstr ""
7618 "アーキテクチャーによっては B<AT_SYSINFO> タグもある。 このタグは vsyscall エ"
7619 "ントリーポイントの場所を知るためだけのものであり、 しばしば省略されるか (利用"
7620 "できない場合は) 0 にセットされる。 このタグは最初の vDSO の実装で使用されてい"
7621 "たものであり (下記の「歴史」を参照)、 このタグを利用するのは避けるべきであ"
7622 "る。"
7623
7624 #. type: SS
7625 #: build/C/man7/vdso.7:104
7626 #, no-wrap
7627 msgid "File format"
7628 msgstr "ファイルフォーマット"
7629
7630 #. type: Plain text
7631 #: build/C/man7/vdso.7:111
7632 msgid ""
7633 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
7634 "it.  This allows new symbols to be added with newer kernel releases, and "
7635 "allows the C library to detect available functionality at run time when "
7636 "running under different kernel versions.  Oftentimes the C library will do "
7637 "detection with the first call and then cache the result for subsequent calls."
7638 msgstr ""
7639 "vDSO は完全な形式の ELF イメージなので、 vDSO に対してシンボルの検索を行うこ"
7640 "とができる。 このため、 新しいカーネルリリースで新しいシンボルを追加すること"
7641 "ができ、 C ライブラリが別のバージョンのカーネル上で動作する際に実行時に利用可"
7642 "能な機能を検出することができる。 多くの場合、 C ライブラリは最初の呼び出し時"
7643 "に検出を行い、 それ以降の呼び出しで利用できるようにその結果をキャッシュする。"
7644
7645 #. type: Plain text
7646 #: build/C/man7/vdso.7:120
7647 msgid ""
7648 "All symbols are also versioned (using the GNU version format).  This allows "
7649 "the kernel to update the function signature without breaking backward "
7650 "compatibility.  This means changing the arguments that the function accepts "
7651 "as well as the return value.  Thus, when looking up a symbol in the vDSO, "
7652 "you must always include the version to match the ABI you expect."
7653 msgstr ""
7654 "すべてのシンボルは (GNU のバージョンフォーマットを使って) バージョンが付けら"
7655 "れている。 これにより、 カーネルは後方互換性を持たせつつ関数のシグネチャーを"
7656 "更新することができる。 つまり、 関数が受け取る引き数や返り値が変更されること"
7657 "があるということである。 したがって、 vDSO のシンボルを検索する際には、 自分"
7658 "が期待する ABI に一致するバージョンをしなければならない。"
7659
7660 #. type: Plain text
7661 #: build/C/man7/vdso.7:125
7662 msgid ""
7663 "Typically the vDSO follows the naming convention of prefixing all symbols "
7664 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
7665 "standard symbols.  For example, the \"gettimeofday\" function is named "
7666 "\"__vdso_gettimeofday\"."
7667 msgstr ""
7668 "通常は vDSO はすべてのシンボルに \"__vdso_\" か \"__kernel_\" というプレ"
7669 "フィックスを付けるという慣習に従った名前付けを行っており、 他の標準のシンボル"
7670 "から区別することができる。 例えば、 \"gettimeofday\" 関数は "
7671 "\"\"__vdso_gettimeofday\" という名前になっている。"
7672
7673 #. type: Plain text
7674 #: build/C/man7/vdso.7:129
7675 msgid ""
7676 "You use the standard C calling conventions when calling any of these "
7677 "functions.  No need to worry about weird register or stack behavior."
7678 msgstr ""
7679 "これらの関数を呼び出す場合は標準の C の呼び出しの慣習にしたがっておけばよ"
7680 "い。 特殊なレジスターやスタックの動作に気を使う必要はない。"
7681
7682 #. type: SS
7683 #: build/C/man7/vdso.7:130
7684 #, no-wrap
7685 msgid "Source"
7686 msgstr "ソース"
7687
7688 #. type: Plain text
7689 #: build/C/man7/vdso.7:134
7690 msgid ""
7691 "When you compile the kernel, it will automatically compile and link the vDSO "
7692 "code for you.  You will frequently find it under the architecture-specific "
7693 "directory:"
7694 msgstr ""
7695 "カーネルをコンパイルする際に、 vDSO コードはコンパイルされリンクが行われる。 "
7696 "通常はアーキテクチャー固有のディレクトリに vDSO コードが生成される。"
7697
7698 #. type: Plain text
7699 #: build/C/man7/vdso.7:136
7700 #, no-wrap
7701 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7702 msgstr "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7703
7704 #. type: SS
7705 #: build/C/man7/vdso.7:137
7706 #, no-wrap
7707 msgid "vDSO names"
7708 msgstr "vDSO 名"
7709
7710 #. type: Plain text
7711 #: build/C/man7/vdso.7:143
7712 msgid ""
7713 "The name of the vDSO varies across architectures.  It will often show up in "
7714 "things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
7715 "any code, so do not hardcode it."
7716 msgstr ""
7717 "vDSO の名前はアーキテクチャーにより異なる。 この名前は glibc の B<ldd>(1) の"
7718 "出力などに現れる。 名前はコードで必要となることはなく、 名前をハードコードし"
7719 "ないこと。"
7720
7721 #. type: tbl table
7722 #: build/C/man7/vdso.7:148
7723 #, no-wrap
7724 msgid "user ABI\tvDSO name\n"
7725 msgstr "ユーザー ABI\tvDSO 名\n"
7726
7727 #. type: tbl table
7728 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
7729 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
7730 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
7731 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:463
7732 #: build/C/man7/vdso.7:482
7733 #, no-wrap
7734 msgid "_\n"
7735 msgstr "_\n"
7736
7737 #. type: tbl table
7738 #: build/C/man7/vdso.7:150
7739 #, no-wrap
7740 msgid "aarch64\tlinux-vdso.so.1\n"
7741 msgstr "aarch64\tlinux-vdso.so.1\n"
7742
7743 #. type: tbl table
7744 #: build/C/man7/vdso.7:151
7745 #, no-wrap
7746 msgid "ia64\tlinux-gate.so.1\n"
7747 msgstr "ia64\tlinux-gate.so.1\n"
7748
7749 #. type: tbl table
7750 #: build/C/man7/vdso.7:152
7751 #, no-wrap
7752 msgid "ppc/32\tlinux-vdso32.so.1\n"
7753 msgstr "ppc/32\tlinux-vdso32.so.1\n"
7754
7755 #. type: tbl table
7756 #: build/C/man7/vdso.7:153
7757 #, no-wrap
7758 msgid "ppc/64\tlinux-vdso64.so.1\n"
7759 msgstr "ppc/64\tlinux-vdso64.so.1\n"
7760
7761 #. type: tbl table
7762 #: build/C/man7/vdso.7:154
7763 #, no-wrap
7764 msgid "s390\tlinux-vdso32.so.1\n"
7765 msgstr "s390\tlinux-vdso32.so.1\n"
7766
7767 #. type: tbl table
7768 #: build/C/man7/vdso.7:155
7769 #, no-wrap
7770 msgid "s390x\tlinux-vdso64.so.1\n"
7771 msgstr "s390x\tlinux-vdso64.so.1\n"
7772
7773 #. type: tbl table
7774 #: build/C/man7/vdso.7:156
7775 #, no-wrap
7776 msgid "sh\tlinux-gate.so.1\n"
7777 msgstr "sh\tlinux-gate.so.1\n"
7778
7779 #. type: tbl table
7780 #: build/C/man7/vdso.7:157
7781 #, no-wrap
7782 msgid "i386\tlinux-gate.so.1\n"
7783 msgstr "i386\tlinux-gate.so.1\n"
7784
7785 #. type: tbl table
7786 #: build/C/man7/vdso.7:158
7787 #, no-wrap
7788 msgid "x86_64\tlinux-vdso.so.1\n"
7789 msgstr "x86_64\tlinux-vdso.so.1\n"
7790
7791 #. type: tbl table
7792 #: build/C/man7/vdso.7:159
7793 #, no-wrap
7794 msgid "x86/x32\tlinux-vdso.so.1\n"
7795 msgstr "x86/x32\tlinux-vdso.so.1\n"
7796
7797 #. type: SH
7798 #: build/C/man7/vdso.7:165
7799 #, no-wrap
7800 msgid "ARCHITECTURE-SPECIFIC NOTES"
7801 msgstr "アーキテクチャー固有の注意"
7802
7803 #. type: Plain text
7804 #: build/C/man7/vdso.7:168
7805 msgid "The subsections below provide architecture-specific notes on the vDSO."
7806 msgstr "以下のサブ章では vDSO のアーキテクチャー固有の注意について説明する。"
7807
7808 #. type: Plain text
7809 #: build/C/man7/vdso.7:177
7810 msgid ""
7811 "Note that the vDSO that is used is based on the ABI of your user-space code "
7812 "and not the ABI of the kernel.  Thus, for example, when you run an i386 32-"
7813 "bit ELF binary, you'll get the same vDSO regardless of whether you run it "
7814 "under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
7815 "the name of the user-space ABI should be used to determine which of the "
7816 "sections below is relevant."
7817 msgstr ""
7818 "使用される vDSO は、 カーネルの ABI ではなく、 ユーザー空間コードの ABI に基"
7819 "づくことに注意すること。 したがって、 例えば、 i386 32 ビットの ELF ライブラ"
7820 "リ上で実行する場合、 i386 32 ビットカーネル上で実行されているか x86_64 64 "
7821 "ビットカーネル上で実行されているかに関わらず同じ vDSO が得られる。 したがっ"
7822 "て、 以下のどの節が関係するかを判断する際にはユーザー空間 ABI の名前を使用す"
7823 "る必要がある。"
7824
7825 #. type: SS
7826 #: build/C/man7/vdso.7:177
7827 #, no-wrap
7828 msgid "ARM functions"
7829 msgstr "ARM 関数"
7830
7831 #.  See linux/arch/arm/kernel/entry-armv.S
7832 #.  See linux/Documentation/arm/kernel_user_helpers.txt
7833 #. type: Plain text
7834 #: build/C/man7/vdso.7:184
7835 msgid ""
7836 "The ARM port has a code page full of utility functions.  Since it's just a "
7837 "raw page of code, there is no ELF information for doing symbol lookups or "
7838 "versioning.  It does provide support for different versions though."
7839 msgstr ""
7840
7841 #. type: Plain text
7842 #: build/C/man7/vdso.7:189
7843 msgid ""
7844 "For information on this code page, it's best to refer to the kernel "
7845 "documentation as it's extremely detailed and covers everything you need to "
7846 "know: I<Documentation/arm/kernel_user_helpers.txt>."
7847 msgstr ""
7848
7849 #. type: SS
7850 #: build/C/man7/vdso.7:189
7851 #, no-wrap
7852 msgid "aarch64 functions"
7853 msgstr "aarch64 関数"
7854
7855 #.  See linux/arch/x86/vdso/vdso32.lds.S
7856 #. type: Plain text
7857 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
7858 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
7859 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:476
7860 msgid "The table below lists the symbols exported by the vDSO."
7861 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。"
7862
7863 #. type: tbl table
7864 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
7865 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
7866 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:462
7867 #: build/C/man7/vdso.7:481
7868 #, no-wrap
7869 msgid "symbol\tversion\n"
7870 msgstr "シンボル\tバージョン\n"
7871
7872 #. type: tbl table
7873 #: build/C/man7/vdso.7:199
7874 #, no-wrap
7875 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7876 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7877
7878 #. type: tbl table
7879 #: build/C/man7/vdso.7:200
7880 #, no-wrap
7881 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7882 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
7883
7884 #. type: tbl table
7885 #: build/C/man7/vdso.7:201
7886 #, no-wrap
7887 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7888 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
7889
7890 #. type: tbl table
7891 #: build/C/man7/vdso.7:202
7892 #, no-wrap
7893 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7894 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
7895
7896 #. type: SS
7897 #: build/C/man7/vdso.7:208
7898 #, no-wrap
7899 msgid "bfin (Blackfin) functions"
7900 msgstr "bfin (Blackfin) 関数"
7901
7902 #.  See linux/arch/blackfin/kernel/fixed_code.S
7903 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7904 #. type: Plain text
7905 #: build/C/man7/vdso.7:220
7906 msgid ""
7907 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
7908 "in the normal sense.  Instead, it maps at boot time a few raw functions into "
7909 "a fixed location in memory.  User-space applications then call directly into "
7910 "that region.  There is no provision for backward compatibility beyond "
7911 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
7912 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
7913 "bFLT/FLAT)."
7914 msgstr ""
7915
7916 #. type: Plain text
7917 #: build/C/man7/vdso.7:223
7918 msgid ""
7919 "For information on this code page, it's best to refer to the public "
7920 "documentation:"
7921 msgstr ""
7922
7923 #. type: Plain text
7924 #: build/C/man7/vdso.7:225
7925 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7926 msgstr "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7927
7928 #. type: SS
7929 #: build/C/man7/vdso.7:225
7930 #, no-wrap
7931 msgid "ia64 (Itanium) functions"
7932 msgstr "ia64 (Itanium) 関数"
7933
7934 #. type: tbl table
7935 #: build/C/man7/vdso.7:236
7936 #, no-wrap
7937 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7938 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
7939
7940 #. type: tbl table
7941 #: build/C/man7/vdso.7:237
7942 #, no-wrap
7943 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7944 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
7945
7946 #. type: tbl table
7947 #: build/C/man7/vdso.7:238
7948 #, no-wrap
7949 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7950 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
7951
7952 #. type: Plain text
7953 #: build/C/man7/vdso.7:257
7954 msgid ""
7955 "The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
7956 "has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
7957 "\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper.  "
7958 "The system calls listed here have the same semantics as if you called them "
7959 "directly via B<syscall>(2), so refer to the relevant documentation for "
7960 "each.  The table below lists the functions available via this mechanism."
7961 msgstr ""
7962
7963 #. type: tbl table
7964 #: build/C/man7/vdso.7:262
7965 #, no-wrap
7966 msgid "function\n"
7967 msgstr "関数\n"
7968
7969 #. type: tbl table
7970 #: build/C/man7/vdso.7:264
7971 #, no-wrap
7972 msgid "clock_gettime\n"
7973 msgstr "clock_gettime\n"
7974
7975 #. type: tbl table
7976 #: build/C/man7/vdso.7:265
7977 #, no-wrap
7978 msgid "getcpu\n"
7979 msgstr "getcpu\n"
7980
7981 #. type: tbl table
7982 #: build/C/man7/vdso.7:266
7983 #, no-wrap
7984 msgid "getpid\n"
7985 msgstr "getpid\n"
7986
7987 #. type: tbl table
7988 #: build/C/man7/vdso.7:267
7989 #, no-wrap
7990 msgid "getppid\n"
7991 msgstr "getppid\n"
7992
7993 #. type: tbl table
7994 #: build/C/man7/vdso.7:268
7995 #, no-wrap
7996 msgid "gettimeofday\n"
7997 msgstr "gettimeofday\n"
7998
7999 #. type: tbl table
8000 #: build/C/man7/vdso.7:269
8001 #, no-wrap
8002 msgid "set_tid_address\n"
8003 msgstr "set_tid_address\n"
8004
8005 #. type: SS
8006 #: build/C/man7/vdso.7:275
8007 #, no-wrap
8008 msgid "parisc (hppa) functions"
8009 msgstr "parisc (hppa) 関数"
8010
8011 #.  See linux/arch/parisc/kernel/syscall.S
8012 #.  See linux/Documentation/parisc/registers
8013 #. type: Plain text
8014 #: build/C/man7/vdso.7:286
8015 msgid ""
8016 "The parisc port has a code page full of utility functions called a gateway "
8017 "page.  Rather than use the normal ELF auxiliary vector approach, it passes "
8018 "the address of the page to the process via the SR2 register.  The "
8019 "permissions on the page are such that merely executing those addresses "
8020 "automatically executes with kernel privileges and not in user space.  This "
8021 "is done to match the way HP-UX works."
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man7/vdso.7:291
8026 msgid ""
8027 "Since it's just a raw page of code, there is no ELF information for doing "
8028 "symbol lookups or versioning.  Simply call into the appropriate offset via "
8029 "the branch instruction, for example:"
8030 msgstr ""
8031
8032 #. type: Plain text
8033 #: build/C/man7/vdso.7:293
8034 #, no-wrap
8035 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
8036 msgstr "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
8037
8038 #. type: tbl table
8039 #: build/C/man7/vdso.7:298
8040 #, no-wrap
8041 msgid "offset\tfunction\n"
8042 msgstr "オフセット\t関数\n"
8043
8044 #. type: tbl table
8045 #: build/C/man7/vdso.7:300
8046 #, no-wrap
8047 msgid "00b0\tlws_entry\n"
8048 msgstr "00b0\tlws_entry\n"
8049
8050 #. type: tbl table
8051 #: build/C/man7/vdso.7:301
8052 #, no-wrap
8053 msgid "00e0\tset_thread_pointer\n"
8054 msgstr "00e0\tset_thread_pointer\n"
8055
8056 #. type: tbl table
8057 #: build/C/man7/vdso.7:302
8058 #, no-wrap
8059 msgid "0100\tlinux_gateway_entry (syscall)\n"
8060 msgstr "0100\tlinux_gateway_entry (syscall)\n"
8061
8062 #. type: tbl table
8063 #: build/C/man7/vdso.7:303
8064 #, no-wrap
8065 msgid "0268\tsyscall_nosys\n"
8066 msgstr "0268\tsyscall_nosys\n"
8067
8068 #. type: tbl table
8069 #: build/C/man7/vdso.7:304
8070 #, no-wrap
8071 msgid "0274\ttracesys\n"
8072 msgstr "0274\ttracesys\n"
8073
8074 #. type: tbl table
8075 #: build/C/man7/vdso.7:305
8076 #, no-wrap
8077 msgid "0324\ttracesys_next\n"
8078 msgstr "0324\ttracesys_next\n"
8079
8080 #. type: tbl table
8081 #: build/C/man7/vdso.7:306
8082 #, no-wrap
8083 msgid "0368\ttracesys_exit\n"
8084 msgstr "0368\ttracesys_exit\n"
8085
8086 #. type: tbl table
8087 #: build/C/man7/vdso.7:307
8088 #, no-wrap
8089 msgid "03a0\ttracesys_sigexit\n"
8090 msgstr "03a0\ttracesys_sigexit\n"
8091
8092 #. type: tbl table
8093 #: build/C/man7/vdso.7:308
8094 #, no-wrap
8095 msgid "03b8\tlws_start\n"
8096 msgstr "03b8\tlws_start\n"
8097
8098 #. type: tbl table
8099 #: build/C/man7/vdso.7:309
8100 #, no-wrap
8101 msgid "03dc\tlws_exit_nosys\n"
8102 msgstr "03dc\tlws_exit_nosys\n"
8103
8104 #. type: tbl table
8105 #: build/C/man7/vdso.7:310
8106 #, no-wrap
8107 msgid "03e0\tlws_exit\n"
8108 msgstr "03e0\tlws_exit\n"
8109
8110 #. type: tbl table
8111 #: build/C/man7/vdso.7:311
8112 #, no-wrap
8113 msgid "03e4\tlws_compare_and_swap64\n"
8114 msgstr "03e4\tlws_compare_and_swap64\n"
8115
8116 #. type: tbl table
8117 #: build/C/man7/vdso.7:312
8118 #, no-wrap
8119 msgid "03e8\tlws_compare_and_swap\n"
8120 msgstr "03e8\tlws_compare_and_swap\n"
8121
8122 #. type: tbl table
8123 #: build/C/man7/vdso.7:313
8124 #, no-wrap
8125 msgid "0404\tcas_wouldblock\n"
8126 msgstr "0404\tcas_wouldblock\n"
8127
8128 #. type: tbl table
8129 #: build/C/man7/vdso.7:314
8130 #, no-wrap
8131 msgid "0410\tcas_action\n"
8132 msgstr "0410\tcas_action\n"
8133
8134 #. type: SS
8135 #: build/C/man7/vdso.7:320
8136 #, no-wrap
8137 msgid "ppc/32 functions"
8138 msgstr "ppc/32 関数"
8139
8140 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
8141 #. type: Plain text
8142 #: build/C/man7/vdso.7:327
8143 msgid ""
8144 "The table below lists the symbols exported by the vDSO.  The functions "
8145 "marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
8146 "bit) kernel."
8147 msgstr ""
8148 "以下のテーブルは vDSO で公開されるシンボルの一覧である。 I<*> のマークが付い"
8149 "た関数は、カーネルが PowerPC64 (64 ビット) カーネルの場合にだけ利用可能であ"
8150 "る。"
8151
8152 #. type: tbl table
8153 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
8154 #, no-wrap
8155 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
8156 msgstr "__kernel_clock_getres\tLINUX_2.6.15\n"
8157
8158 #. type: tbl table
8159 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
8160 #, no-wrap
8161 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
8162 msgstr "__kernel_clock_gettime\tLINUX_2.6.15\n"
8163
8164 #. type: tbl table
8165 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
8166 #, no-wrap
8167 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
8168 msgstr "__kernel_datapage_offset\tLINUX_2.6.15\n"
8169
8170 #. type: tbl table
8171 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
8172 #, no-wrap
8173 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
8174 msgstr "__kernel_get_syscall_map\tLINUX_2.6.15\n"
8175
8176 #. type: tbl table
8177 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
8178 #, no-wrap
8179 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
8180 msgstr "__kernel_get_tbfreq\tLINUX_2.6.15\n"
8181
8182 #. type: tbl table
8183 #: build/C/man7/vdso.7:339
8184 #, no-wrap
8185 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
8186 msgstr "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
8187
8188 #. type: tbl table
8189 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
8190 #, no-wrap
8191 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
8192 msgstr "__kernel_gettimeofday\tLINUX_2.6.15\n"
8193
8194 #. type: tbl table
8195 #: build/C/man7/vdso.7:341
8196 #, no-wrap
8197 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
8198 msgstr "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
8199
8200 #. type: tbl table
8201 #: build/C/man7/vdso.7:342
8202 #, no-wrap
8203 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
8204 msgstr "__kernel_sigtramp32\tLINUX_2.6.15\n"
8205
8206 #. type: tbl table
8207 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
8208 #, no-wrap
8209 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
8210 msgstr "__kernel_sync_dicache\tLINUX_2.6.15\n"
8211
8212 #. type: tbl table
8213 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
8214 #, no-wrap
8215 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8216 msgstr "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8217
8218 #. type: SS
8219 #: build/C/man7/vdso.7:350
8220 #, no-wrap
8221 msgid "ppc/64 functions"
8222 msgstr "ppc/64 関数"
8223
8224 #. type: tbl table
8225 #: build/C/man7/vdso.7:365
8226 #, no-wrap
8227 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
8228 msgstr "__kernel_getcpu\tLINUX_2.6.15\n"
8229
8230 #. type: tbl table
8231 #: build/C/man7/vdso.7:367
8232 #, no-wrap
8233 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8234 msgstr "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8235
8236 #. type: SS
8237 #: build/C/man7/vdso.7:375
8238 #, no-wrap
8239 msgid "s390 functions"
8240 msgstr "s390 関数"
8241
8242 #. type: tbl table
8243 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
8244 #, no-wrap
8245 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
8246 msgstr "__kernel_clock_getres\tLINUX_2.6.29\n"
8247
8248 #. type: tbl table
8249 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
8250 #, no-wrap
8251 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
8252 msgstr "__kernel_clock_gettime\tLINUX_2.6.29\n"
8253
8254 #. type: tbl table
8255 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
8256 #, no-wrap
8257 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
8258 msgstr "__kernel_gettimeofday\tLINUX_2.6.29\n"
8259
8260 #. type: SS
8261 #: build/C/man7/vdso.7:393
8262 #, no-wrap
8263 msgid "s390x functions"
8264 msgstr "s390x 関数"
8265
8266 #. type: SS
8267 #: build/C/man7/vdso.7:411
8268 #, no-wrap
8269 msgid "sh (SuperH) functions"
8270 msgstr "sh (SuperH) 関数"
8271
8272 #. type: tbl table
8273 #: build/C/man7/vdso.7:421
8274 #, no-wrap
8275 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
8276 msgstr "__kernel_rt_sigreturn\tLINUX_2.6\n"
8277
8278 #. type: tbl table
8279 #: build/C/man7/vdso.7:422
8280 #, no-wrap
8281 msgid "__kernel_sigreturn\tLINUX_2.6\n"
8282 msgstr "__kernel_sigreturn\tLINUX_2.6\n"
8283
8284 #. type: tbl table
8285 #: build/C/man7/vdso.7:423
8286 #, no-wrap
8287 msgid "__kernel_vsyscall\tLINUX_2.6\n"
8288 msgstr "__kernel_vsyscall\tLINUX_2.6\n"
8289
8290 #. type: SS
8291 #: build/C/man7/vdso.7:429
8292 #, no-wrap
8293 msgid "i386 functions"
8294 msgstr "i386 関数"
8295
8296 #. type: tbl table
8297 #: build/C/man7/vdso.7:439
8298 #, no-wrap
8299 msgid "__kernel_sigreturn\tLINUX_2.5\n"
8300 msgstr "__kernel_sigreturn\tLINUX_2.5\n"
8301
8302 #. type: tbl table
8303 #: build/C/man7/vdso.7:440
8304 #, no-wrap
8305 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
8306 msgstr "__kernel_rt_sigreturn\tLINUX_2.5\n"
8307
8308 #. type: tbl table
8309 #: build/C/man7/vdso.7:441
8310 #, no-wrap
8311 msgid "__kernel_vsyscall\tLINUX_2.5\n"
8312 msgstr "__kernel_vsyscall\tLINUX_2.5\n"
8313
8314 #.  Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
8315 #.  in 37c975545ec63320789962bf307f000f08fabd48.
8316 #. type: tbl table
8317 #: build/C/man7/vdso.7:444
8318 #, no-wrap
8319 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
8320 msgstr "__vdso_clock_gettime\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8321
8322 #. type: tbl table
8323 #: build/C/man7/vdso.7:445
8324 #, no-wrap
8325 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
8326 msgstr "__vdso_gettimeofday\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8327
8328 #. type: tbl table
8329 #: build/C/man7/vdso.7:446
8330 #, no-wrap
8331 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
8332 msgstr "__vdso_time\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8333
8334 #. type: SS
8335 #: build/C/man7/vdso.7:452
8336 #, no-wrap
8337 msgid "x86_64 functions"
8338 msgstr "x86_64 関数"
8339
8340 #.  See linux/arch/x86/vdso/vdso.lds.S
8341 #. type: Plain text
8342 #: build/C/man7/vdso.7:457
8343 msgid ""
8344 "The table below lists the symbols exported by the vDSO.  All of these "
8345 "symbols are also available without the \"__vdso_\" prefix, but you should "
8346 "ignore those and stick to the names below."
8347 msgstr ""
8348 "以下のテーブルは vDSO で公開されるシンボルの一覧である。 これらのシンボルはす"
8349 "べて \"__vdso_\" のプレフィックスなしでも利用できるが、 これらは無視し、 以下"
8350 "の名前だけを使うこと。"
8351
8352 #. type: tbl table
8353 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
8354 #, no-wrap
8355 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
8356 msgstr "__vdso_clock_gettime\tLINUX_2.6\n"
8357
8358 #. type: tbl table
8359 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
8360 #, no-wrap
8361 msgid "__vdso_getcpu\tLINUX_2.6\n"
8362 msgstr "__vdso_getcpu\tLINUX_2.6\n"
8363
8364 #. type: tbl table
8365 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
8366 #, no-wrap
8367 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8368 msgstr "__vdso_gettimeofday\tLINUX_2.6\n"
8369
8370 #. type: tbl table
8371 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
8372 #, no-wrap
8373 msgid "__vdso_time\tLINUX_2.6\n"
8374 msgstr "__vdso_time\tLINUX_2.6\n"
8375
8376 #. type: SS
8377 #: build/C/man7/vdso.7:473
8378 #, no-wrap
8379 msgid "x86/x32 functions"
8380 msgstr "x86/x32 関数"
8381
8382 #. type: SS
8383 #: build/C/man7/vdso.7:492
8384 #, no-wrap
8385 msgid "History"
8386 msgstr "歴史"
8387
8388 #. type: Plain text
8389 #: build/C/man7/vdso.7:499
8390 msgid ""
8391 "The vDSO was originally just a single function\\(emthe vsyscall.  In older "
8392 "kernels, you might see that name in a process's memory map rather than \"vdso"
8393 "\".  Over time, people realized that this mechanism was a great way to pass "
8394 "more functionality to user space, so it was reconceived as a vDSO in the "
8395 "current format."
8396 msgstr ""
8397 "vDSO は元々は一つの関数 vsyscall であった。 古いカーネルでは、 プロセスのメモ"
8398 "リーマップに \"vdso\" ではなくこの名前が見えるかもしれない。 時間が経つに連れ"
8399 "て、 この仕組みはより多くの機能をユーザー空間に渡す有効な方法であると認識され"
8400 "るようになり、 現在の形の vDSO という形に見直しが行われた。"
8401
8402 #. type: Plain text
8403 #: build/C/man7/vdso.7:503
8404 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8405 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8406
8407 #. type: Plain text
8408 #: build/C/man7/vdso.7:505
8409 msgid "The documents, examples, and source code in the Linux source code tree:"
8410 msgstr "Linux のソースコードツリーのドキュメント、例、ソースコード:"
8411
8412 #. type: Plain text
8413 #: build/C/man7/vdso.7:511
8414 #, no-wrap
8415 msgid ""
8416 "Documentation/ABI/stable/vdso\n"
8417 "Documentation/ia64/fsys.txt\n"
8418 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8419 msgstr ""
8420 "Documentation/ABI/stable/vdso\n"
8421 "Documentation/ia64/fsys.txt\n"
8422 "Documentation/vDSO/* (vDSO の使用例がある)\n"
8423
8424 #. type: Plain text
8425 #: build/C/man7/vdso.7:513
8426 #, no-wrap
8427 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8428 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8429
8430 #. type: TH
8431 #: build/C/man3/wcstombs.3:16
8432 #, no-wrap
8433 msgid "WCSTOMBS"
8434 msgstr "WCSTOMBS"
8435
8436 #. type: Plain text
8437 #: build/C/man3/wcstombs.3:19
8438 msgid "wcstombs - convert a wide-character string to a multibyte string"
8439 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8440
8441 #. type: Plain text
8442 #: build/C/man3/wcstombs.3:24
8443 #, no-wrap
8444 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8445 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8446
8447 #. type: Plain text
8448 #: build/C/man3/wcstombs.3:42
8449 msgid ""
8450 "If I<dest> is not NULL, the B<wcstombs>()  function converts the wide-"
8451 "character string I<src> to a multibyte string starting at I<dest>.  At most "
8452 "I<n> bytes are written to I<dest>.  The conversion starts in the initial "
8453 "state.  The conversion can stop for three reasons:"
8454 msgstr ""
8455 "I<dest> が NULL でない場合、 B<wcstombs>()  関数は ワイド文字列 I<src> を "
8456 "I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
8457 "トが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停"
8458 "止する。"
8459
8460 #. type: Plain text
8461 #: build/C/man3/wcstombs.3:48
8462 msgid ""
8463 "1. A wide character has been encountered that can not be represented as a "
8464 "multibyte sequence (according to the current locale).  In this case, "
8465 "I<(size_t)\\ -1> is returned."
8466 msgstr ""
8467 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8468 "場合。この場合には I<(size_t)\\ -1> が返される。"
8469
8470 #. type: Plain text
8471 #: build/C/man3/wcstombs.3:53
8472 msgid ""
8473 "2. The length limit forces a stop.  In this case, the number of bytes "
8474 "written to I<dest> is returned, but the shift state at this point is lost."
8475 msgstr ""
8476 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8477 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8478
8479 #. type: Plain text
8480 #: build/C/man3/wcstombs.3:60
8481 msgid ""
8482 "3. The wide-character string has been completely converted, including the "
8483 "terminating null wide character (L\\(aq\\e0\\(aq).  In this case, the "
8484 "conversion ends in the initial state.  The number of bytes written to "
8485 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
8486 msgstr ""
8487 "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
8488 "れた場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト"
8489 "数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
8490
8491 #. type: Plain text
8492 #: build/C/man3/wcstombs.3:66
8493 msgid ""
8494 "The programmer must ensure that there is room for at least I<n> bytes at "
8495 "I<dest>."
8496 msgstr ""
8497 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8498 "ばならない。"
8499
8500 #. type: Plain text
8501 #: build/C/man3/wcstombs.3:74
8502 msgid ""
8503 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
8504 "except that the converted bytes are not written out to memory, and no length "
8505 "limit exists."
8506 msgstr ""
8507 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8508 "換結果のバイト列はメモリーには書き込まれない。 また長さの上限が存在しない。"
8509
8510 #. type: Plain text
8511 #: build/C/man3/wcstombs.3:79
8512 msgid ""
8513 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
8514 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
8515 msgstr ""
8516 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8517 "src,0)+1> 以上であることを保証しなければならない。"
8518
8519 #. type: Plain text
8520 #: build/C/man3/wcstombs.3:89
8521 msgid ""
8522 "The B<wcstombs>()  function returns the number of bytes that make up the "
8523 "converted part of a multibyte sequence, not including the terminating null "
8524 "byte.  If a wide character was encountered which could not be converted, "
8525 "I<(size_t)\\ -1> is returned."
8526 msgstr ""
8527 "B<wcstombs>()  関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字"
8528 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8529 "返す。"
8530
8531 #. type: Plain text
8532 #: build/C/man3/wcstombs.3:98
8533 msgid ""
8534 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
8535 "current locale."
8536 msgstr ""
8537 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリーに依存してい"
8538 "る。"
8539
8540 #. type: Plain text
8541 #: build/C/man3/wcstombs.3:103
8542 msgid ""
8543 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
8544 "functionality."
8545 msgstr ""
8546 "B<wcsrtombs>()  関数は同じ機能のためのスレッドセーフな インターフェースを提供"
8547 "する。"
8548
8549 #. type: Plain text
8550 #: build/C/man3/wcstombs.3:109
8551 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8552 msgstr ""
8553 "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8554
8555 #. type: TH
8556 #: build/C/man3/wctomb.3:16
8557 #, no-wrap
8558 msgid "WCTOMB"
8559 msgstr "WCTOMB"
8560
8561 #. type: Plain text
8562 #: build/C/man3/wctomb.3:19
8563 msgid "wctomb - convert a wide character to a multibyte sequence"
8564 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8565
8566 #. type: Plain text
8567 #: build/C/man3/wctomb.3:24
8568 #, no-wrap
8569 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8570 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8571
8572 #. type: Plain text
8573 #: build/C/man3/wctomb.3:45
8574 msgid ""
8575 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
8576 "I<wc> to its multibyte representation and stores it at the beginning of the "
8577 "character array pointed to by I<s>.  It updates the shift state, which is "
8578 "stored in a static anonymous variable known only to the B<wctomb>()  "
8579 "function, and returns the length of said multibyte representation, that is, "
8580 "the number of bytes written at I<s>."
8581 msgstr ""
8582 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
8583 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8584 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8585 "なわち I<s> に書き込まれた バイト数を返す。"
8586
8587 #. type: Plain text
8588 #: build/C/man3/wctomb.3:51
8589 msgid ""
8590 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8591 "bytes at I<s>."
8592 msgstr ""
8593 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8594 "なければならない。"
8595
8596 #.  The Dinkumware doc and the Single UNIX specification say this, but
8597 #.  glibc doesn't implement this.
8598 #. type: Plain text
8599 #: build/C/man3/wctomb.3:63
8600 msgid ""
8601 "If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
8602 "only to this function, to the initial state, and returns nonzero if the "
8603 "encoding has nontrivial shift state, or zero if the encoding is stateless."
8604 msgstr ""
8605 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
8606 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8607 "依存しない場合にはゼロを返す。"
8608
8609 #. type: Plain text
8610 #: build/C/man3/wctomb.3:77
8611 msgid ""
8612 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
8613 "that have been written to the byte array at I<s>.  If I<wc> can not be "
8614 "represented as a multibyte sequence (according to the current locale), -1 is "
8615 "returned."
8616 msgstr ""
8617 "I<s> が NULL でない場合 B<wctomb>()  関数はバイト配列 I<s> に 書き込まれたバ"
8618 "イト数を返す。I<wc> が(現在のロケールにおいて)  マルチバイト列で表現できない"
8619 "場合には -1 を返す。"
8620
8621 #. type: Plain text
8622 #: build/C/man3/wctomb.3:84
8623 msgid ""
8624 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
8625 "has nontrivial shift state, or zero if the encoding is stateless."
8626 msgstr ""
8627 "I<s> が NULL の場合 B<wctomb>()  関数は文字符号がシフト状態に 依存している場"
8628 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8629
8630 #. type: Plain text
8631 #: build/C/man3/wctomb.3:89
8632 msgid "The B<wctomb>()  function is not thread-safe."
8633 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8634
8635 #. type: Plain text
8636 #: build/C/man3/wctomb.3:98
8637 msgid ""
8638 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
8639 "current locale."
8640 msgstr ""
8641 "B<wctomb>()  関数の動作は現在のロケールの B<LC_CTYPE> カテゴリーに依存してい"
8642 "る。"
8643
8644 #. type: Plain text
8645 #: build/C/man3/wctomb.3:103
8646 msgid ""
8647 "The function B<wcrtomb>(3)  provides a better interface to the same "
8648 "functionality."
8649 msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインターフェースを提供する。"
8650
8651 #. type: Plain text
8652 #: build/C/man3/wctomb.3:110
8653 msgid ""
8654 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8655 "B<wcstombs>(3)"
8656 msgstr ""
8657 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8658 "B<wcstombs>(3)"
8659
8660 #. type: TH
8661 #: build/C/man2/getrandom.2:27
8662 #, no-wrap
8663 msgid "GETRANDOM"
8664 msgstr "GETRANDOM"
8665
8666 #. type: Plain text
8667 #: build/C/man2/getrandom.2:30
8668 msgid "getrandom - obtain a series of random bytes"
8669 msgstr ""
8670
8671 #. type: Plain text
8672 #: build/C/man2/getrandom.2:32
8673 msgid "B<#include E<lt>linux/random.hE<gt>>"
8674 msgstr "B<#include E<lt>linux/random.hE<gt>>"
8675
8676 #. type: Plain text
8677 #: build/C/man2/getrandom.2:34
8678 msgid ""
8679 "B<int getrandom(void *>I<buf>B<, size_t >I<buflen>B<, unsigned int "
8680 ">I<flags>B<);>"
8681 msgstr "B<int getrandom(void *>I<buf>B<, size_t >I<buflen>B<, unsigned int >I<flags>B<);>"
8682
8683 #. type: Plain text
8684 #: build/C/man2/getrandom.2:44
8685 msgid ""
8686 "The B<getrandom>()  system call fills the buffer pointed to by I<buf> with "
8687 "up to I<buflen> random bytes.  These bytes can be used to seed user-space "
8688 "random number generators or for cryptographic purposes."
8689 msgstr ""
8690
8691 #. type: Plain text
8692 #: build/C/man2/getrandom.2:58
8693 msgid ""
8694 "B<getrandom>()  relies on entropy gathered from device drivers and other "
8695 "sources of environmental noise.  Unnecessarily reading large quantities of "
8696 "data will have a negative impact on other users of the I</dev/random> and I</"
8697 "dev/urandom> devices.  Therefore, B<getrandom>()  should not be used for "
8698 "Monte Carlo simulations or other programs/algorithms which are doing "
8699 "probabilistic sampling."
8700 msgstr ""
8701
8702 #. type: Plain text
8703 #: build/C/man2/getrandom.2:80
8704 msgid ""
8705 "By default, B<getrandom>()  draws entropy from the I</dev/urandom> pool.  "
8706 "This behavior can be changed via the I<flags> argument.  If the I</dev/"
8707 "urandom> pool has been initialized, reads of up to 256 bytes will always "
8708 "return as many bytes as requested and will not be interrupted by signals.  "
8709 "No such guarantees apply for larger buffer sizes.  For example, if the call "
8710 "is interrupted by a signal handler, it may return a partially filled buffer, "
8711 "or fail with the error B<EINTR>.  If the pool has not yet been initialized, "
8712 "then the call blocks, unless B<GRND_RANDOM> is specified in I<flags>."
8713 msgstr ""
8714
8715 #. type: Plain text
8716 #: build/C/man2/getrandom.2:85
8717 msgid ""
8718 "The I<flags> argument is a bit mask that can contain zero or more of the "
8719 "following values ORed together:"
8720 msgstr ""
8721
8722 #. type: TP
8723 #: build/C/man2/getrandom.2:85
8724 #, no-wrap
8725 msgid "B<GRND_RANDOM>"
8726 msgstr "B<GRND_RANDOM>"
8727
8728 #. type: Plain text
8729 #: build/C/man2/getrandom.2:106
8730 msgid ""
8731 "If this bit is set, then random bytes are drawn from the I</dev/random> pool "
8732 "instead of the I</dev/urandom> pool.  The I</dev/random> pool is limited "
8733 "based on the entropy that can be obtained from environmental noise.  If the "
8734 "number of available bytes in I</dev/random> is less than requested in "
8735 "I<buflen>, the call returns just the available random bytes.  If no random "
8736 "bytes are available, the behavior depends on the presence of "
8737 "B<GRND_NONBLOCK> in the I<flags> argument."
8738 msgstr ""
8739
8740 #. type: TP
8741 #: build/C/man2/getrandom.2:106
8742 #, no-wrap
8743 msgid "B<GRND_NONBLOCK>"
8744 msgstr "B<GRND_NONBLOCK>"
8745
8746 #. type: Plain text
8747 #: build/C/man2/getrandom.2:123
8748 msgid ""
8749 "By default, when reading from I</dev/random>, B<getrandom>()  blocks if no "
8750 "random bytes are available, and when reading from I</dev/urandom>, it blocks "
8751 "if the entropy pool has not yet been initialized.  If the B<GRND_NONBLOCK> "
8752 "flag is set, then B<getrandom>()  does not block in these cases, but instead "
8753 "immediately returns -1 with I<errno> set to B<EAGAIN>."
8754 msgstr ""
8755
8756 #. type: Plain text
8757 #: build/C/man2/getrandom.2:137
8758 msgid ""
8759 "On success, B<getrandom>()  returns the number of bytes that were copied to "
8760 "the buffer I<buf>.  This may be less than the number of bytes requested via "
8761 "I<buflen> if B<GRND_RANDOM> was specified in I<flags> and insufficient "
8762 "entropy was present in the I</dev/random> pool, or if the system call was "
8763 "interrupted by a signal."
8764 msgstr ""
8765
8766 #. type: Plain text
8767 #: build/C/man2/getrandom.2:141
8768 msgid "On error, -1 is returned, and I<errno> is set appropriately."
8769 msgstr "エラーの場合は、-1 を返し、 I<errno> を適切に設定する。"
8770
8771 #. type: Plain text
8772 #: build/C/man2/getrandom.2:146
8773 msgid "An invalid flag was specified in I<flags>."
8774 msgstr ""
8775
8776 #. type: TP
8777 #: build/C/man2/getrandom.2:146
8778 #, no-wrap
8779 msgid "B<EFAULT>"
8780 msgstr "B<EFAULT>"
8781
8782 #. type: Plain text
8783 #: build/C/man2/getrandom.2:151
8784 msgid ""
8785 "The address referred to by I<buf> is outside the accessible address space."
8786 msgstr ""
8787
8788 #. type: TP
8789 #: build/C/man2/getrandom.2:151
8790 #, no-wrap
8791 msgid "B<EAGAIN>"
8792 msgstr "B<EAGAIN>"
8793
8794 #. type: Plain text
8795 #: build/C/man2/getrandom.2:158
8796 msgid ""
8797 "The requested entropy was not available, and B<getrandom>()  would have "
8798 "blocked if the B<GRND_NONBLOCK> flag was not set."
8799 msgstr ""
8800
8801 #. type: TP
8802 #: build/C/man2/getrandom.2:158
8803 #, no-wrap
8804 msgid "B<EINTR>"
8805 msgstr "B<EINVAL>"
8806
8807 #. type: Plain text
8808 #: build/C/man2/getrandom.2:168
8809 msgid ""
8810 "The call was interrupted by a signal handler; see the description of how "
8811 "interrupted B<read>(2)  calls on \"slow\" devices are handled with and "
8812 "without the B<SA_RESTART> flag in the B<signal>(7)  man page."
8813 msgstr ""
8814
8815 #. type: Plain text
8816 #: build/C/man2/getrandom.2:171
8817 msgid "B<getrandom>()  was introduced in version 3.17 of the Linux kernel."
8818 msgstr ""
8819
8820 #. type: Plain text
8821 #: build/C/man2/getrandom.2:173
8822 msgid "This system call is Linux-specific."
8823 msgstr ""
8824
8825 #. type: SS
8826 #: build/C/man2/getrandom.2:174
8827 #, no-wrap
8828 msgid "Maximum number of bytes returned"
8829 msgstr ""
8830
8831 #. type: Plain text
8832 #: build/C/man2/getrandom.2:176
8833 msgid "As of Linux 3.19 the following limits apply:"
8834 msgstr ""
8835
8836 #. type: Plain text
8837 #: build/C/man2/getrandom.2:184
8838 msgid ""
8839 "When reading from I</dev/urandom>, a maximum of 33554431 bytes is returned "
8840 "by a single call to B<getrandom>()  on a system where I<int> has a size of "
8841 "32 bits."
8842 msgstr ""
8843
8844 #. type: Plain text
8845 #: build/C/man2/getrandom.2:188
8846 msgid "When reading from I</dev/random>, a maximum of 512 bytes is returned."
8847 msgstr ""
8848
8849 #. type: SS
8850 #: build/C/man2/getrandom.2:188
8851 #, no-wrap
8852 msgid "Initialization of the entropy pool"
8853 msgstr ""
8854
8855 #. type: Plain text
8856 #: build/C/man2/getrandom.2:194
8857 msgid ""
8858 "The kernel collects bits of entropy from environment.  When a sufficient "
8859 "number of random bits has been collected, the I</dev/urandom> entropy pool "
8860 "is considered to be initialized.  This state is normally reached early in "
8861 "the system bootstrap phase."
8862 msgstr ""
8863
8864 #. type: SS
8865 #: build/C/man2/getrandom.2:194
8866 #, no-wrap
8867 msgid "Interruption by a signal handler"
8868 msgstr ""
8869
8870 #. type: Plain text
8871 #: build/C/man2/getrandom.2:218
8872 msgid ""
8873 "When reading from I</dev/urandom> (B<GRND_RANDOM> is not set), "
8874 "B<getrandom>()  will block until the entropy pool has been initialized "
8875 "(unless the B<GRND_NONBLOCK> flag was specified).  If a request is made to "
8876 "read a large number (more than 256) of bytes, B<getrandom>()  will block "
8877 "until those bytes have been generated and transferred from kernel memory to "
8878 "I<buf>.  When reading from I</dev/random> (B<GRND_RANDOM> is set), "
8879 "B<getrandom>()  will block until some random bytes become available (unless "
8880 "the B<GRND_NONBLOCK> flag was specified)."
8881 msgstr ""
8882
8883 #. type: Plain text
8884 #: build/C/man2/getrandom.2:243
8885 msgid ""
8886 "The behavior when a call to B<getrandom>()  that is blocked while reading "
8887 "from I</dev/urandom> is interrupted by a signal handler depends on the "
8888 "initialization state of the entropy buffer and on the request size, "
8889 "I<buflen>.  If the entropy is not yet initialized, then the call will fail "
8890 "with the B<EINTR> error.  If the entropy pool has been initialized and the "
8891 "request size is large (I<buflen>\\ E<gt>\\ 256), the call either succeeds, "
8892 "returning a partially filled buffer, or fails with the error B<EINTR.> If "
8893 "the entropy pool has been initialized and the request size is small "
8894 "(I<buflen>\\ E<lt>=\\ 256), then B<getrandom>()  will not fail with "
8895 "B<EINTR>.  Instead, it will return all of the bytes that have been requested."
8896 msgstr ""
8897
8898 #. type: Plain text
8899 #: build/C/man2/getrandom.2:249
8900 msgid ""
8901 "When reading from I</dev/random>, blocking requests of any size can be "
8902 "interrupted by a signal (the call fails with the error B<EINTR>)."
8903 msgstr ""
8904
8905 #. type: Plain text
8906 #: build/C/man2/getrandom.2:257
8907 msgid ""
8908 "Calling B<getrandom>()  to read I</dev/urandom> for small values (E<lt>=\\ "
8909 "256) of I<buflen> is the preferred mode of usage."
8910 msgstr ""
8911
8912 #. type: Plain text
8913 #: build/C/man2/getrandom.2:264
8914 msgid ""
8915 "The special treatment of small values of I<buflen> was designed for "
8916 "compatibility with OpenBSD's B<getentropy>()  system call."
8917 msgstr ""
8918
8919 #. type: Plain text
8920 #: build/C/man2/getrandom.2:278
8921 msgid ""
8922 "The user of B<getrandom>()  I<must> always check the return value, to "
8923 "determine whether either an error occurred or fewer bytes than requested "
8924 "were returned.  In the case where B<GRND_RANDOM> is not specified and "
8925 "I<buflen> is less than or equal to 256, a return of fewer bytes than "
8926 "requested should never happen, but the careful programmer will check for "
8927 "this anyway!"
8928 msgstr ""
8929
8930 #. type: SS
8931 #: build/C/man2/getrandom.2:278
8932 #, no-wrap
8933 msgid "Choice of random device"
8934 msgstr ""
8935
8936 #. type: Plain text
8937 #: build/C/man2/getrandom.2:293
8938 msgid ""
8939 "Unless you are doing long-term key generation (and perhaps not even then), "
8940 "you probably shouldn't be using B<GRND_RANDOM.> The cryptographic algorithms "
8941 "used for I</dev/urandom> are quite conservative, and so should be sufficient "
8942 "for all purposes.  The disadvantage of B<GRND_RANDOM> is that it can block.  "
8943 "Furthermore, dealing with the partially fulfilled B<getrandom>()  requests "
8944 "that can occur when using B<GRND_RANDOM> increases code complexity."
8945 msgstr ""
8946
8947 #. type: SS
8948 #: build/C/man2/getrandom.2:293
8949 #, no-wrap
8950 msgid "Emulating OpenBSD's getentropy()"
8951 msgstr ""
8952
8953 #. type: Plain text
8954 #: build/C/man2/getrandom.2:298
8955 msgid ""
8956 "The B<getentropy>()  system call in OpenBSD can be emulated using the "
8957 "following function:"
8958 msgstr ""
8959
8960 #. type: Plain text
8961 #: build/C/man2/getrandom.2:305
8962 #, no-wrap
8963 msgid ""
8964 "int\n"
8965 "getentropy(void *buf, size_t buflen)\n"
8966 "{\n"
8967 "    int ret;\n"
8968 msgstr ""
8969
8970 #. type: Plain text
8971 #: build/C/man2/getrandom.2:317
8972 #, no-wrap
8973 msgid ""
8974 "    if (buflen E<gt> 256)\n"
8975 "        goto failure;\n"
8976 "    ret = getrandom(buf, buflen, 0);\n"
8977 "    if (ret E<lt> 0)\n"
8978 "        return ret;\n"
8979 "    if (ret == buflen)\n"
8980 "        return 0;\n"
8981 "failure:\n"
8982 "    errno = EIO;\n"
8983 "    return -1;\n"
8984 "}\n"
8985 msgstr ""
8986
8987 #.  FIXME patch proposed https://lkml.org/lkml/2014/11/29/16
8988 #. type: Plain text
8989 #: build/C/man2/getrandom.2:322
8990 msgid "As of Linux 3.19, the following bug exists:"
8991 msgstr ""
8992
8993 #. type: Plain text
8994 #: build/C/man2/getrandom.2:326
8995 msgid ""
8996 "Depending on CPU load, B<getrandom>()  does not react to interrupts before "
8997 "reading all bytes requested."
8998 msgstr ""
8999
9000 #. type: Plain text
9001 #: build/C/man2/getrandom.2:330
9002 msgid "B<random>(4), B<urandom>(4), B<signal>(7)"
9003 msgstr "B<random>(4), B<urandom>(4), B<signal>(7)"