OSDN Git Service

d0ca6d3de3ae2a2adb0b056d7565c9b2fdf74b3a
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:23+0900\n"
10 "PO-Revision-Date: 2015-01-25 00:20+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/MB_CUR_MAX.3:17
20 #, no-wrap
21 msgid "MB_CUR_MAX"
22 msgstr "MB_CUR_MAX"
23
24 #. type: TH
25 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
26 #, no-wrap
27 msgid "1999-07-04"
28 msgstr "1999-07-04"
29
30 #. type: TH
31 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
32 #: build/C/man2/_exit.2:29 build/C/man3/atexit.3:33 build/C/man3/clearenv.3:26
33 #: build/C/man3/exit.3:29 build/C/man3/getloadavg.3:34
34 #: build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
35 #, no-wrap
36 msgid "Linux"
37 msgstr "Linux"
38
39 #. type: TH
40 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
41 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33
42 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
43 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24
44 #: build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30
45 #: build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30
46 #: build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
47 #: build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34
48 #: build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33
49 #: build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
50 #: build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35
51 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
52 #: build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33
53 #: build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29
54 #: build/C/man3/setenv.3:37 build/C/man3/strtod.3:45
55 #: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31
56 #: build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13
57 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
58 #, no-wrap
59 msgid "Linux Programmer's Manual"
60 msgstr "Linux Programmer's Manual"
61
62 #. type: SH
63 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
64 #: build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34
65 #: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
66 #: build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25
67 #: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31
68 #: build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
69 #: build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30
70 #: build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35
71 #: build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34
72 #: build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17
73 #: build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36
74 #: build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37
75 #: build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34
76 #: build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30
77 #: build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
78 #: build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32
79 #: build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14
80 #: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
81 #, no-wrap
82 msgid "NAME"
83 msgstr "名前"
84
85 #. type: Plain text
86 #: build/C/man3/MB_CUR_MAX.3:20
87 msgid ""
88 "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
89 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
90
91 #. type: SH
92 #: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20
93 #: build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36
94 #: build/C/man3/atof.3:34 build/C/man3/atoi.3:36
95 #: build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27
96 #: build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34
97 #: build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33
98 #: build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32
99 #: build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37
100 #: build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36
101 #: build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19
102 #: build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38
103 #: build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39
104 #: build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36
105 #: build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32
106 #: build/C/man3/setenv.3:40 build/C/man3/strtod.3:48
107 #: build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34
108 #: build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16
109 #: build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
110 #, no-wrap
111 msgid "SYNOPSIS"
112 msgstr "書式"
113
114 #. type: Plain text
115 #: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39
116 #: build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31
117 #: build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37
118 #: build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35
119 #: build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39
120 #: build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22
121 #: build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41
122 #: build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42
123 #: build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33
124 #: build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37
125 #: build/C/man3/strtoul.3:39 build/C/man3/system.3:37
126 #: build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
127 #, no-wrap
128 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
129 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
130
131 #. type: SH
132 #: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24
133 #: build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42
134 #: build/C/man3/atof.3:40 build/C/man3/atoi.3:62
135 #: build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52
136 #: build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75
137 #: build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64
138 #: build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38
139 #: build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44
140 #: build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45
141 #: build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25
142 #: build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76
143 #: build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54
144 #: build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64
145 #: build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46
146 #: build/C/man3/setenv.3:61 build/C/man3/strtod.3:73
147 #: build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59
148 #: build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20
149 #: build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
150 #, no-wrap
151 msgid "DESCRIPTION"
152 msgstr "説明"
153
154 #. type: Plain text
155 #: build/C/man3/MB_CUR_MAX.3:31
156 msgid ""
157 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
158 "number of bytes needed to represent a single wide character in the current "
159 "locale.  It is locale dependent and therefore not a compile-time constant."
160 msgstr ""
161 "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要"
162 "な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイ"
163 "ル時に決まる定数ではない。"
164
165 #. type: SH
166 #: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29
167 #: build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55
168 #: build/C/man3/atoi.3:86 build/C/man3/canonicalize_file_name.3:61
169 #: build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50
170 #: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86
171 #: build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173
172 #: build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55
173 #: build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132
174 #: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93
175 #: build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155
176 #: build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67
177 #: build/C/man3/rand.3:118 build/C/man3/random.3:118
178 #: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73
179 #: build/C/man3/setenv.3:105 build/C/man3/strtod.3:127
180 #: build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117
181 #: build/C/man3/strtoul.3:127 build/C/man3/system.3:73
182 #: build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
183 #, no-wrap
184 msgid "RETURN VALUE"
185 msgstr "返り値"
186
187 #. type: Plain text
188 #: build/C/man3/MB_CUR_MAX.3:35
189 msgid ""
190 "An integer in the range [1, B<MB_LEN_MAX>].  The value 1 denotes traditional "
191 "8-bit encoded characters."
192 msgstr ""
193 "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-"
194 "bit エンコードされた文字を意味する。"
195
196 #. type: SH
197 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
198 #: build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76
199 #: build/C/man3/atof.3:65 build/C/man3/atoi.3:100
200 #: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
201 #: build/C/man3/clearenv.3:59 build/C/man3/drand48.3:260
202 #: build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117
203 #: build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77
204 #: build/C/man3/getauxval.3:197 build/C/man3/getenv.3:96
205 #: build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134
206 #: build/C/man3/malloc.3:171 build/C/man3/mblen.3:92
207 #: build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113
208 #: build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:204
209 #: build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79
210 #: build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161
211 #: build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99
212 #: build/C/man3/setenv.3:128 build/C/man3/strtod.3:171
213 #: build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173
214 #: build/C/man3/strtoul.3:177 build/C/man3/system.3:115
215 #: build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
216 #, no-wrap
217 msgid "CONFORMING TO"
218 msgstr "準拠"
219
220 #. type: Plain text
221 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33
222 #: build/C/man3/strtoimax.3:71
223 msgid "C99, POSIX.1-2001."
224 msgstr "C99, POSIX.1-2001."
225
226 #. type: SH
227 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44
228 #: build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161
229 #: build/C/man3/atof.3:67 build/C/man3/atoi.3:119
230 #: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
231 #: build/C/man3/clearenv.3:96 build/C/man3/drand48.3:262
232 #: build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135
233 #: build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86
234 #: build/C/man3/getauxval.3:232 build/C/man3/getenv.3:129
235 #: build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232
236 #: build/C/man3/malloc.3:261 build/C/man3/mblen.3:106
237 #: build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128
238 #: build/C/man3/mkdtemp.3:96 build/C/man3/mkstemp.3:242
239 #: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:87
240 #: build/C/man3/putenv.3:118 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217
241 #: build/C/man3/random.3:197 build/C/man3/random_r.3:141
242 #: build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153
243 #: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:71
244 #: build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225
245 #: build/C/man3/system.3:207 build/C/man7/vdso.7:499
246 #: build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
247 #, no-wrap
248 msgid "SEE ALSO"
249 msgstr "関連項目"
250
251 #. type: Plain text
252 #: build/C/man3/MB_CUR_MAX.3:44
253 msgid ""
254 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
255 "B<wctomb>(3)"
256 msgstr ""
257 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
258 "B<wctomb>(3)"
259
260 #. type: SH
261 #: build/C/man3/MB_CUR_MAX.3:44 build/C/man3/MB_LEN_MAX.3:46
262 #: build/C/man2/_exit.2:136 build/C/man3/a64l.3:97 build/C/man3/atexit.3:165
263 #: build/C/man3/atof.3:73 build/C/man3/atoi.3:124
264 #: build/C/man3/canonicalize_file_name.3:78 build/C/man3/cfree.3:119
265 #: build/C/man3/clearenv.3:102 build/C/man3/drand48.3:265
266 #: build/C/man3/drand48_r.3:118 build/C/man3/ecvt.3:141
267 #: build/C/man3/ecvt_r.3:99 build/C/man3/exit.3:190 build/C/man3/gcvt.3:90
268 #: build/C/man3/getauxval.3:236 build/C/man3/getenv.3:137
269 #: build/C/man3/getloadavg.3:77 build/C/man3/getsubopt.3:234
270 #: build/C/man3/malloc.3:285 build/C/man3/mblen.3:108
271 #: build/C/man3/mbstowcs.3:222 build/C/man3/mbtowc.3:135
272 #: build/C/man3/mkdtemp.3:103 build/C/man3/mkstemp.3:248
273 #: build/C/man3/mktemp.3:123 build/C/man3/on_exit.3:91
274 #: build/C/man3/putenv.3:124 build/C/man3/qecvt.3:112 build/C/man3/rand.3:220
275 #: build/C/man3/random.3:202 build/C/man3/random_r.3:145
276 #: build/C/man3/rpmatch.3:150 build/C/man3/setenv.3:158
277 #: build/C/man3/strtod.3:214 build/C/man3/strtoimax.3:77
278 #: build/C/man3/strtol.3:303 build/C/man3/strtoul.3:231
279 #: build/C/man3/system.3:215 build/C/man7/vdso.7:515
280 #: build/C/man3/wcstombs.3:109 build/C/man3/wctomb.3:110
281 #, no-wrap
282 msgid "COLOPHON"
283 msgstr "この文書について"
284
285 #. type: Plain text
286 #: build/C/man3/MB_CUR_MAX.3:52 build/C/man3/MB_LEN_MAX.3:54
287 #: build/C/man2/_exit.2:144 build/C/man3/a64l.3:105 build/C/man3/atexit.3:173
288 #: build/C/man3/atof.3:81 build/C/man3/atoi.3:132
289 #: build/C/man3/canonicalize_file_name.3:86 build/C/man3/cfree.3:127
290 #: build/C/man3/clearenv.3:110 build/C/man3/drand48.3:273
291 #: build/C/man3/drand48_r.3:126 build/C/man3/ecvt.3:149
292 #: build/C/man3/ecvt_r.3:107 build/C/man3/exit.3:198 build/C/man3/gcvt.3:98
293 #: build/C/man3/getauxval.3:244 build/C/man3/getenv.3:145
294 #: build/C/man3/getloadavg.3:85 build/C/man3/getsubopt.3:242
295 #: build/C/man3/malloc.3:293 build/C/man3/mblen.3:116
296 #: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
297 #: build/C/man3/mkdtemp.3:111 build/C/man3/mkstemp.3:256
298 #: build/C/man3/mktemp.3:131 build/C/man3/on_exit.3:99
299 #: build/C/man3/putenv.3:132 build/C/man3/qecvt.3:120 build/C/man3/rand.3:228
300 #: build/C/man3/random.3:210 build/C/man3/random_r.3:153
301 #: build/C/man3/rpmatch.3:158 build/C/man3/setenv.3:166
302 #: build/C/man3/strtod.3:222 build/C/man3/strtoimax.3:85
303 #: build/C/man3/strtol.3:311 build/C/man3/strtoul.3:239
304 #: build/C/man3/system.3:223 build/C/man7/vdso.7:523
305 #: build/C/man3/wcstombs.3:117 build/C/man3/wctomb.3:118
306 msgid ""
307 "This page is part of release 3.78 of the Linux I<man-pages> project.  A "
308 "description of the project, information about reporting bugs, and the latest "
309 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
310 "pages/."
311 msgstr ""
312 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
313 "である。プロジェクトの説明とバグ報告に関する情報は\n"
314 "http://www.kernel.org/doc/man-pages/ に書かれている。"
315
316 #. type: TH
317 #: build/C/man3/MB_LEN_MAX.3:17
318 #, no-wrap
319 msgid "MB_LEN_MAX"
320 msgstr "MB_LEN_MAX"
321
322 #. type: Plain text
323 #: build/C/man3/MB_LEN_MAX.3:20
324 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
325 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
326
327 #. type: Plain text
328 #: build/C/man3/MB_LEN_MAX.3:23
329 #, no-wrap
330 msgid "B<#include E<lt>limits.hE<gt>>\n"
331 msgstr "B<#include E<lt>limits.hE<gt>>\n"
332
333 #. type: Plain text
334 #: build/C/man3/MB_LEN_MAX.3:29
335 msgid ""
336 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
337 "represent a single wide character, across all locales."
338 msgstr ""
339 "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要"
340 "となる 最大バイト数である。"
341
342 #. type: Plain text
343 #: build/C/man3/MB_LEN_MAX.3:31
344 msgid "A constant integer greater than zero."
345 msgstr "0 より大きいの整数型の定数。"
346
347 #. type: SH
348 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
349 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:108 build/C/man3/clearenv.3:73
350 #: build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90 build/C/man3/exit.3:98
351 #: build/C/man3/getauxval.3:199 build/C/man3/getenv.3:102
352 #: build/C/man3/getsubopt.3:136 build/C/man3/malloc.3:173
353 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
354 #: build/C/man3/mbtowc.3:115 build/C/man3/mkstemp.3:217
355 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
356 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
357 #: build/C/man3/strtod.3:176 build/C/man3/strtol.3:178
358 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:117
359 #: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
360 #, no-wrap
361 msgid "NOTES"
362 msgstr "注意"
363
364 #. type: Plain text
365 #: build/C/man3/MB_LEN_MAX.3:44
366 msgid ""
367 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
368 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
369 msgstr ""
370 "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では "
371 "B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
372
373 #. type: Plain text
374 #: build/C/man3/MB_LEN_MAX.3:46
375 msgid "B<MB_CUR_MAX>(3)"
376 msgstr "B<MB_CUR_MAX>(3)"
377
378 #. type: TH
379 #: build/C/man2/_exit.2:29
380 #, no-wrap
381 msgid "_EXIT"
382 msgstr "_EXIT"
383
384 #. type: TH
385 #: build/C/man2/_exit.2:29
386 #, no-wrap
387 msgid "2015-01-22"
388 msgstr "2015-01-22"
389
390 #. type: Plain text
391 #: build/C/man2/_exit.2:32
392 msgid "_exit, _Exit - terminate the calling process"
393 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
394
395 #. type: Plain text
396 #: build/C/man2/_exit.2:34
397 msgid "B<#include E<lt>unistd.hE<gt>>"
398 msgstr "B<#include E<lt>unistd.hE<gt>>"
399
400 #. type: Plain text
401 #: build/C/man2/_exit.2:36
402 msgid "B<void _exit(int >I<status>B<);>"
403 msgstr "B<void _exit(int >I<status>B<);>"
404
405 #. type: Plain text
406 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
407 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
408 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
409 #: build/C/man3/strtod.3:50
410 msgid "B<#include E<lt>stdlib.hE<gt>>"
411 msgstr "B<#include E<lt>stdlib.hE<gt>>"
412
413 #. type: Plain text
414 #: build/C/man2/_exit.2:40
415 msgid "B<void _Exit(int >I<status>B<);>"
416 msgstr "B<void _Exit(int >I<status>B<);>"
417
418 #. type: Plain text
419 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:50
420 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
421 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
422 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
423 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
424 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
425 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
426 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
427 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
428 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
429 #: build/C/man3/strtoul.3:50
430 msgid ""
431 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
432 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
433
434 #. type: Plain text
435 #: build/C/man2/_exit.2:48
436 msgid "B<_Exit>():"
437 msgstr "B<_Exit>():"
438
439 #. type: Plain text
440 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
441 msgid ""
442 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
443 "200112L;"
444 msgstr ""
445 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
446 "200112L;"
447
448 #. type: Plain text
449 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:71
450 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
451 msgid "or I<cc\\ -std=c99>"
452 msgstr "または I<cc\\ -std=c99>"
453
454 #. type: Plain text
455 #: build/C/man2/_exit.2:67
456 msgid ""
457 "The function B<_exit>()  terminates the calling process \"immediately\".  "
458 "Any open file descriptors belonging to the process are closed; any children "
459 "of the process are inherited by process 1, I<init>, and the process's parent "
460 "is sent a B<SIGCHLD> signal."
461 msgstr ""
462 "B<_exit>()  は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロ"
463 "セスが所有しているディスクリプタ (descriptor) で、 オープンされているものは全"
464 "てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番"
465 "号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対"
466 "して B<SIGCHLD> シグナルが送出される。"
467
468 #. type: Plain text
469 #: build/C/man2/_exit.2:74
470 msgid ""
471 "The value I<status> is returned to the parent process as the process's exit "
472 "status, and can be collected using one of the B<wait>(2)  family of calls."
473 msgstr ""
474 "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 "
475 "B<wait>(2)  系関数を利用することによって取得することができる。"
476
477 #. type: Plain text
478 #: build/C/man2/_exit.2:79
479 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
480 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
481
482 #. type: Plain text
483 #: build/C/man2/_exit.2:81
484 msgid "These functions do not return."
485 msgstr "これらの関数は値を返さない。"
486
487 #. type: Plain text
488 #: build/C/man2/_exit.2:86
489 msgid ""
490 "SVr4, POSIX.1-2001, 4.3BSD.  The function B<_Exit>()  was introduced by C99."
491 msgstr "SVr4, POSIX.1-2001, 4.3BSD.  関数 B<_Exit>()  は C99 で導入された。"
492
493 #. type: Plain text
494 #: build/C/man2/_exit.2:90
495 msgid ""
496 "For a discussion on the effects of an exit, the transmission of exit status, "
497 "zombie processes, signals sent, and so on, see B<exit>(3)."
498 msgstr ""
499 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
500 "ついての議論は、 B<exit>(3) を参照すること。"
501
502 #. type: Plain text
503 #: build/C/man2/_exit.2:117
504 msgid ""
505 "The function B<_exit>()  is like B<exit>(3), but does not call any functions "
506 "registered with B<atexit>(3)  or B<on_exit>(3).  Whether it flushes standard "
507 "I/O buffers and removes temporary files created with B<tmpfile>(3)  is "
508 "implementation-dependent.  On the other hand, B<_exit>()  does close open "
509 "file descriptors, and this may cause an unknown delay, waiting for pending "
510 "output to finish.  If the delay is undesired, it may be useful to call "
511 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
512 "pending I/O is canceled, and which pending I/O may be canceled upon "
513 "B<_exit>(), is implementation-dependent."
514 msgstr ""
515 "関数 B<_exit>()  は B<exit>(3)  に似ているが、ANSI C の B<atexit>(3)  や "
516 "B<on_exit>(3)  によって登録されたいかなる関数も呼び出さない。 標準 I/O バッ"
517 "ファのフラッシュや、 B<tmpfile>(3)  で作成されたテンポラリファイルの削除を行"
518 "うかどうかは、実装に依存する。 一方で、 B<_exit>()  はオープンされているファ"
519 "イルディスクリプタをクローズしないため、 未決定になっている出力がフラッシュさ"
520 "れるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 "
521 "B<_exit>()  の前に B<tcflush>(3)  のような関数を呼び出せばよい。 B<_exit>()  "
522 "が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 "
523 "またどの I/O がキャンセルされるのかは実装に依存する。"
524
525 #. type: SS
526 #: build/C/man2/_exit.2:117
527 #, no-wrap
528 msgid "C library/kernel ABI differences"
529 msgstr "C ライブラリとカーネル ABI の違い"
530
531 #. type: Plain text
532 #: build/C/man2/_exit.2:124
533 msgid ""
534 "In glibc up to version 2.3, the B<_exit>()  wrapper function invoked the "
535 "kernel system call of the same name.  Since glibc 2.3, the wrapper function "
536 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
537 "process."
538 msgstr ""
539 "バージョン 2.3 より前の glibc では、 B<_exit>()  のラッパー関数は同じ名前の"
540 "カーネル・システムコールを起動していた。 glibc 2.3 以降では、プロセス内の全て"
541 "のスレッドを終了するために、 ラッパー関数は B<exit_group>(2)  を起動する。"
542
543 #. type: Plain text
544 #: build/C/man2/_exit.2:136
545 msgid ""
546 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
547 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
548 "B<termios>(3)"
549 msgstr ""
550 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
551 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
552 "B<termios>(3)"
553
554 #. type: TH
555 #: build/C/man3/a64l.3:9
556 #, no-wrap
557 msgid "A64L"
558 msgstr "A64L"
559
560 #. type: TH
561 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
562 #, no-wrap
563 msgid "2014-05-28"
564 msgstr "2014-05-28"
565
566 #. type: Plain text
567 #: build/C/man3/a64l.3:12
568 msgid "a64l, l64a - convert between long and base-64"
569 msgstr "a64l, l64a - long と base-64 を変換する"
570
571 #. type: Plain text
572 #: build/C/man3/a64l.3:16
573 msgid "B<long a64l(const char *>I<str64>B<);>"
574 msgstr "B<long a64l(const char *>I<str64>B<);>"
575
576 #. type: Plain text
577 #: build/C/man3/a64l.3:18
578 msgid "B<char *l64a(long >I<value>B<);>"
579 msgstr "B<char *l64a(long >I<value>B<);>"
580
581 #. type: Plain text
582 #: build/C/man3/a64l.3:26
583 msgid "B<a64l>(), B<l64a>():"
584 msgstr "B<a64l>(), B<l64a>():"
585
586 #. type: Plain text
587 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
588 msgid ""
589 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
590 "_XOPEN_SOURCE_EXTENDED"
591 msgstr ""
592 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
593 "_XOPEN_SOURCE_EXTENDED"
594
595 #. type: Plain text
596 #: build/C/man3/a64l.3:48
597 msgid ""
598 "These functions provide a conversion between 32-bit long integers and little-"
599 "endian base-64 ASCII strings (of length zero to six).  If the string used as "
600 "argument for B<a64l>()  has length greater than six, only the first six "
601 "bytes are used.  If the type I<long> has more than 32 bits, then B<l64a>()  "
602 "uses only the low order 32 bits of I<value>, and B<a64l>()  sign-extends its "
603 "32-bit result."
604 msgstr ""
605 "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 "
606 "(長さ 0 〜 6) の間の変換を行う。 B<a64l>()  の引き数の文字列が 7 文字以上の場"
607 "合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 "
608 "B<l64a>()  は I<value> の下位 32 ビットのみを使い、 B<a64l>()  は 32 ビットの"
609 "結果を符号拡張 (sign-extend) する。"
610
611 #. type: Plain text
612 #: build/C/man3/a64l.3:50
613 msgid "The 64 digits in the base-64 system are:"
614 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
615
616 #. type: Plain text
617 #: build/C/man3/a64l.3:58
618 #, no-wrap
619 msgid ""
620 "\\&\\(aq.\\(aq\trepresents a 0\n"
621 "\\&\\(aq/\\(aq\trepresents a 1\n"
622 "0-9\trepresent  2-11\n"
623 "A-Z\trepresent 12-37\n"
624 "a-z\trepresent 38-63\n"
625 msgstr ""
626 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
627 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
628 "0-9\tは 2-11 を表す。\n"
629 "A-Z\tは 12-37 を表す。\n"
630 "a-z\tは 38-63 を表す。\n"
631
632 #. type: Plain text
633 #: build/C/man3/a64l.3:62
634 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
635 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
636
637 #. type: SH
638 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:88
639 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
640 #: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:192
641 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
642 #: build/C/man3/mblen.3:87 build/C/man3/mkdtemp.3:86
643 #: build/C/man3/mkstemp.3:195 build/C/man3/qecvt.3:85
644 #: build/C/man3/random.3:152 build/C/man3/random_r.3:128
645 #: build/C/man3/strtod.3:159 build/C/man3/strtoimax.3:58
646 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
647 #: build/C/man3/system.3:110 build/C/man3/wctomb.3:84
648 #, no-wrap
649 msgid "ATTRIBUTES"
650 msgstr "属性"
651
652 #. type: SS
653 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:89
654 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
655 #: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:193
656 #: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
657 #: build/C/man3/mblen.3:88 build/C/man3/mkdtemp.3:87
658 #: build/C/man3/mkstemp.3:196 build/C/man3/qecvt.3:86
659 #: build/C/man3/random.3:153 build/C/man3/random_r.3:129
660 #: build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:59
661 #: build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166
662 #: build/C/man3/system.3:111 build/C/man3/wctomb.3:85
663 #, no-wrap
664 msgid "Multithreading (see pthreads(7))"
665 msgstr "マルチスレッディング (pthreads(7) 参照)"
666
667 #. type: Plain text
668 #: build/C/man3/a64l.3:67
669 msgid "The B<l64a>()  function is not thread-safe."
670 msgstr "B<l64a>() 関数はスレッドセーフではない。"
671
672 #. type: Plain text
673 #: build/C/man3/a64l.3:71
674 msgid "The B<a64l>()  function is thread-safe."
675 msgstr "B<a64l>() 関数はスレッドセーフである。"
676
677 #. type: Plain text
678 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
679 msgid "POSIX.1-2001."
680 msgstr "POSIX.1-2001."
681
682 #. type: Plain text
683 #: build/C/man3/a64l.3:78
684 msgid ""
685 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
686 "possibly overwritten by later calls."
687 msgstr ""
688 "B<l64a>()  で返される値は静的バッファへのポインタかもしれないので、 以降の呼"
689 "び出しで上書きされる可能性がある。"
690
691 #. type: Plain text
692 #: build/C/man3/a64l.3:87
693 msgid ""
694 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
695 "I<value> is zero, it returns an empty string."
696 msgstr ""
697 "I<value> が負の場合、 B<l64a>()  の動作は定義されていない。 I<value> が 0 の"
698 "場合は空文字列を返す。"
699
700 #. type: Plain text
701 #: build/C/man3/a64l.3:90
702 msgid ""
703 "These functions are broken in glibc before 2.2.5 (puts most significant "
704 "digit first)."
705 msgstr ""
706 "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしてい"
707 "る)。"
708
709 #. type: Plain text
710 #: build/C/man3/a64l.3:93
711 msgid "This is not the encoding used by B<uuencode>(1)."
712 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
713
714 #.  .BR itoa (3),
715 #. type: Plain text
716 #: build/C/man3/a64l.3:97
717 msgid "B<uuencode>(1), B<strtoul>(3)"
718 msgstr "B<uuencode>(1), B<strtoul>(3)"
719
720 #. type: TH
721 #: build/C/man3/atexit.3:33
722 #, no-wrap
723 msgid "ATEXIT"
724 msgstr "ATEXIT"
725
726 #. type: TH
727 #: build/C/man3/atexit.3:33
728 #, no-wrap
729 msgid "2008-12-05"
730 msgstr "2008-12-05"
731
732 #. type: Plain text
733 #: build/C/man3/atexit.3:36
734 msgid "atexit - register a function to be called at normal process termination"
735 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
736
737 #. type: Plain text
738 #: build/C/man3/atexit.3:41
739 #, no-wrap
740 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
741 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
742
743 #. type: Plain text
744 #: build/C/man3/atexit.3:54
745 msgid ""
746 "The B<atexit>()  function registers the given I<function> to be called at "
747 "normal process termination, either via B<exit>(3)  or via return from the "
748 "program's I<main>().  Functions so registered are called in the reverse "
749 "order of their registration; no arguments are passed."
750 msgstr ""
751 "B<atexit>()  関数は、与えられた I<function> を、 B<exit>(3)  やプログラムの "
752 "I<main>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関"
753 "数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出さ"
754 "れる。 登録した関数に引き数は渡されない。"
755
756 #. type: Plain text
757 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
758 msgid ""
759 "The same function may be registered multiple times: it is called once for "
760 "each registration."
761 msgstr ""
762 "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出さ"
763 "れる。"
764
765 #. type: Plain text
766 #: build/C/man3/atexit.3:63
767 msgid ""
768 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
769 "(32) such functions to be registered.  The actual limit supported by an "
770 "implementation can be obtained using B<sysconf>(3)."
771 msgstr ""
772 "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録で"
773 "きることを要求している。 その実装でサポートされている実際の上限は "
774 "B<sysconf>(3)  を使って取得できる。"
775
776 #. type: Plain text
777 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
778 msgid ""
779 "When a child process is created via B<fork>(2), it inherits copies of its "
780 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
781 "functions, all registrations are removed."
782 msgstr ""
783 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承す"
784 "る。\n"
785 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除さ"
786 "れる。"
787
788 #. type: Plain text
789 #: build/C/man3/atexit.3:76
790 msgid ""
791 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
792 "returns a nonzero value."
793 msgstr ""
794 "B<atexit>()  関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 "
795 "以外の値を返す。"
796
797 #. type: Plain text
798 #: build/C/man3/atexit.3:78
799 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
800 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
801
802 #. type: Plain text
803 #: build/C/man3/atexit.3:85
804 msgid ""
805 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
806 "if a process terminates abnormally because of the delivery of a signal."
807 msgstr ""
808 "B<atexit>()  (と B<on_exit>(3))  を使って登録された関数は、 シグナルの配送に"
809 "よりプロセスが異常終了した場合には呼び出されない。"
810
811 #. type: Plain text
812 #: build/C/man3/atexit.3:92
813 msgid ""
814 "If one of the functions registered functions calls B<_exit>(2), then any "
815 "remaining functions are not invoked, and the other process termination steps "
816 "performed by B<exit>(3)  are not performed."
817 msgstr ""
818 "登録された関数の一つが B<_exit>(2)  を呼び出した場合、残りの関数はどれも起動"
819 "されず、 B<exit>(3)  により実行される他のプロセス終了ステップは実行されない。"
820
821 #.  This can happen on OpenBSD 4.2 for example, and is documented
822 #.  as occurring on FreeBSD as well.
823 #.  Glibc does "the Right Thing" -- invocation of the remaining
824 #.  exit handlers carries on as normal.
825 #. type: Plain text
826 #: build/C/man3/atexit.3:109
827 msgid ""
828 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once (i."
829 "e., calling B<exit>(3)  within a function registered using B<atexit>())  is "
830 "undefined.  On some systems (but not Linux), this can result in an infinite "
831 "recursion; portable programs should not invoke B<exit>(3)  inside a function "
832 "registered using B<atexit>()."
833 msgstr ""
834 "POSIX.1-2001 では、 B<atexit>()  を使って登録された一つの関数内で、複数回 "
835 "B<exit>(3)  を呼び出した際の結果は未定義である。 (Linux ではないが) いくつか"
836 "のシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要な"
837 "プログラムでは、 B<atexit>()  で登録された関数内で B<exit>(3)  を起動すべきで"
838 "はない。"
839
840 #. type: Plain text
841 #: build/C/man3/atexit.3:118
842 msgid ""
843 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
844 "list: at normal process termination, the registered functions are invoked in "
845 "reverse order of their registration by these two functions."
846 msgstr ""
847 "B<atexit>()  と B<on_exit>(3)  は、同じリストに対して関数を登録する。 プロセ"
848 "スが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録"
849 "された関数が起動される。"
850
851 #.  In glibc, things seem to be handled okay
852 #. type: Plain text
853 #: build/C/man3/atexit.3:124
854 msgid ""
855 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
856 "terminate execution of one of the functions registered B<atexit>()."
857 msgstr ""
858 "POSIX.1-2001 では、 B<atexit>()  で登録された関数の実行を終了するために "
859 "B<longjmp>(3)  が使用された場合の結果は未定義である。"
860
861 #. type: SS
862 #: build/C/man3/atexit.3:124
863 #, no-wrap
864 msgid "Linux notes"
865 msgstr "Linux での注意"
866
867 #. type: Plain text
868 #: build/C/man3/atexit.3:131
869 msgid ""
870 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
871 "shared library to establish functions that are called when the shared "
872 "library is unloaded."
873 msgstr ""
874 "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登"
875 "録するために、共有ライブラリの中で B<atexit>()  (と B<on_exit>(3))  を使用す"
876 "ることができる。"
877
878 #. type: SH
879 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
880 #: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
881 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:200
882 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
883 #, no-wrap
884 msgid "EXAMPLE"
885 msgstr "例"
886
887 #. type: Plain text
888 #: build/C/man3/atexit.3:136
889 #, no-wrap
890 msgid ""
891 "#include E<lt>stdio.hE<gt>\n"
892 "#include E<lt>stdlib.hE<gt>\n"
893 "#include E<lt>unistd.hE<gt>\n"
894 msgstr ""
895 "#include E<lt>stdio.hE<gt>\n"
896 "#include E<lt>stdlib.hE<gt>\n"
897 "#include E<lt>unistd.hE<gt>\n"
898
899 #. type: Plain text
900 #: build/C/man3/atexit.3:142
901 #, no-wrap
902 msgid ""
903 "void\n"
904 "bye(void)\n"
905 "{\n"
906 "    printf(\"That was all, folks\\en\");\n"
907 "}\n"
908 msgstr ""
909 "void\n"
910 "bye(void)\n"
911 "{\n"
912 "    printf(\"That was all, folks\\en\");\n"
913 "}\n"
914
915 #. type: Plain text
916 #: build/C/man3/atexit.3:148
917 #, no-wrap
918 msgid ""
919 "int\n"
920 "main(void)\n"
921 "{\n"
922 "    long a;\n"
923 "    int i;\n"
924 msgstr ""
925 "int\n"
926 "main(void)\n"
927 "{\n"
928 "    long a;\n"
929 "    int i;\n"
930
931 #. type: Plain text
932 #: build/C/man3/atexit.3:151
933 #, no-wrap
934 msgid ""
935 "    a = sysconf(_SC_ATEXIT_MAX);\n"
936 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
937 msgstr ""
938 "    a = sysconf(_SC_ATEXIT_MAX);\n"
939 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
940
941 #. type: Plain text
942 #: build/C/man3/atexit.3:157
943 #, no-wrap
944 msgid ""
945 "    i = atexit(bye);\n"
946 "    if (i != 0) {\n"
947 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
948 "        exit(EXIT_FAILURE);\n"
949 "    }\n"
950 msgstr ""
951 "    i = atexit(bye);\n"
952 "    if (i != 0) {\n"
953 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
954 "        exit(EXIT_FAILURE);\n"
955 "    }\n"
956
957 #. type: Plain text
958 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
959 #: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
960 #: build/C/man3/strtol.3:296
961 #, no-wrap
962 msgid ""
963 "    exit(EXIT_SUCCESS);\n"
964 "}\n"
965 msgstr ""
966 "    exit(EXIT_SUCCESS);\n"
967 "}\n"
968
969 #. type: Plain text
970 #: build/C/man3/atexit.3:165
971 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
972 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
973
974 #. type: TH
975 #: build/C/man3/atof.3:31
976 #, no-wrap
977 msgid "ATOF"
978 msgstr "ATOF"
979
980 #. type: TH
981 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
982 #, no-wrap
983 msgid "2014-01-22"
984 msgstr "2014-01-22"
985
986 #. type: TH
987 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
988 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
989 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
990 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
991 #: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
992 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
993 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
994 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
995 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
996 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
997 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
998 #: build/C/man3/wctomb.3:16
999 #, no-wrap
1000 msgid "GNU"
1001 msgstr "GNU"
1002
1003 #. type: Plain text
1004 #: build/C/man3/atof.3:34
1005 msgid "atof - convert a string to a double"
1006 msgstr "atof - 文字列を double 型の数値に変換"
1007
1008 #. type: Plain text
1009 #: build/C/man3/atof.3:39
1010 #, no-wrap
1011 msgid "B<double atof(const char *>I<nptr>B<);>\n"
1012 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
1013
1014 #. type: Plain text
1015 #: build/C/man3/atof.3:47
1016 msgid ""
1017 "The B<atof>()  function converts the initial portion of the string pointed "
1018 "to by I<nptr> to I<double>.  The behavior is the same as"
1019 msgstr ""
1020 "B<atof>()  関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> "
1021 "型の数値に変換する。 この振る舞いは、 B<atof>()  関数がエラーを見つけないこと"
1022 "を除いては、"
1023
1024 #. type: Plain text
1025 #: build/C/man3/atof.3:50
1026 msgid "strtod(nptr, NULL);"
1027 msgstr "strtod(nptr, NULL);"
1028
1029 #. type: Plain text
1030 #: build/C/man3/atof.3:55
1031 msgid "except that B<atof>()  does not detect errors."
1032 msgstr "と同じである。"
1033
1034 #. type: Plain text
1035 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
1036 msgid "The converted value."
1037 msgstr "変換された値。"
1038
1039 #. type: Plain text
1040 #: build/C/man3/atof.3:65
1041 msgid ""
1042 "The B<atof>()  function is thread-safe with exceptions.  It can be safely "
1043 "used in multithreaded applications, as long as B<setlocale>(3)  is not "
1044 "called to change the locale during its execution."
1045 msgstr ""
1046 "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を"
1047 "呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使"
1048 "用することができる。"
1049
1050 #. type: Plain text
1051 #: build/C/man3/atof.3:67
1052 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1053 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
1054
1055 #. type: Plain text
1056 #: build/C/man3/atof.3:73
1057 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1058 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1059
1060 #. type: TH
1061 #: build/C/man3/atoi.3:33
1062 #, no-wrap
1063 msgid "ATOI"
1064 msgstr "ATOI"
1065
1066 #. type: TH
1067 #: build/C/man3/atoi.3:33 build/C/man3/clearenv.3:26 build/C/man3/ecvt.3:32
1068 #: build/C/man3/getauxval.3:29 build/C/man3/mkstemp.3:35
1069 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
1070 #: build/C/man3/qecvt.3:28 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
1071 #, no-wrap
1072 msgid "2014-08-19"
1073 msgstr "2014-08-19"
1074
1075 #. type: Plain text
1076 #: build/C/man3/atoi.3:36
1077 msgid "atoi, atol, atoll - convert a string to an integer"
1078 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
1079
1080 #. type: Plain text
1081 #: build/C/man3/atoi.3:41
1082 #, no-wrap
1083 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
1084 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
1085
1086 #. type: Plain text
1087 #: build/C/man3/atoi.3:43
1088 #, no-wrap
1089 msgid "B<long atol(const char *>I<nptr>B<);>\n"
1090 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
1091
1092 #. type: Plain text
1093 #: build/C/man3/atoi.3:45
1094 #, no-wrap
1095 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
1096 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
1097
1098 #. type: Plain text
1099 #: build/C/man3/atoi.3:54
1100 msgid "B<atoll>():"
1101 msgstr "B<atoll>():"
1102
1103 #. type: Plain text
1104 #: build/C/man3/atoi.3:57
1105 msgid ""
1106 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1107 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1108 msgstr ""
1109 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
1110 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
1111
1112 #. type: Plain text
1113 #: build/C/man3/atoi.3:69
1114 msgid ""
1115 "The B<atoi>()  function converts the initial portion of the string pointed "
1116 "to by I<nptr> to I<int>.  The behavior is the same as"
1117 msgstr ""
1118 "B<atoi>()  関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型"
1119 "整数に変換する。 この振る舞いは、 B<atoi>()  関数がエラーを見つけない点以外"
1120 "は、"
1121
1122 #. type: Plain text
1123 #: build/C/man3/atoi.3:72
1124 msgid "strtol(nptr, NULL, 10);"
1125 msgstr "strtol(nptr, NULL, 10);"
1126
1127 #. type: Plain text
1128 #: build/C/man3/atoi.3:77
1129 msgid "except that B<atoi>()  does not detect errors."
1130 msgstr "と同じである。"
1131
1132 #. type: Plain text
1133 #: build/C/man3/atoi.3:86
1134 msgid ""
1135 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
1136 "except that they convert the initial portion of the string to their return "
1137 "type of I<long> or I<long long>."
1138 msgstr ""
1139 "B<atol>()  関数と B<atoll>()  関数は B<atoi>()  と同様の振る舞いをするが、 文"
1140 "字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。"
1141
1142 #. type: Plain text
1143 #: build/C/man3/atoi.3:100
1144 msgid ""
1145 "The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
1146 "exceptions.  These functions can be safely used in multithreaded "
1147 "applications, as long as B<setlocale>(3)  is not called to change the locale "
1148 "during their execution."
1149 msgstr ""
1150 "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実"
1151 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
1152 "プリケーションで安全に使用することができる。"
1153
1154 #. type: Plain text
1155 #: build/C/man3/atoi.3:108
1156 msgid ""
1157 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
1158 "B<atoi>()  and B<atol>()  only."
1159 msgstr ""
1160 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 と POSIX.1-1996 には B<atoi>()  と "
1161 "B<atol>()  だけが含まれている。"
1162
1163 #.  The
1164 #.  .BR atoll ()
1165 #.  function is present in glibc 2 since version 2.0.2, but
1166 #.  not in libc4 or libc5.
1167 #. type: Plain text
1168 #: build/C/man3/atoi.3:119
1169 msgid ""
1170 "Linux libc provided B<atoq>()  as an obsolete name for B<atoll>(); "
1171 "B<atoq>()  is not provided by glibc."
1172 msgstr ""
1173 "Linux libc は B<atoll>() の古い名前として B<atoq>() を提供していた。 glibc で"
1174 "は B<atoq>() は提供されていない。"
1175
1176 #. type: Plain text
1177 #: build/C/man3/atoi.3:124
1178 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1179 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
1180
1181 #. type: TH
1182 #: build/C/man3/canonicalize_file_name.3:26
1183 #, no-wrap
1184 msgid "CANONICALIZE_FILE_NAME"
1185 msgstr "CANONICALIZE_FILE_NAME"
1186
1187 #. type: TH
1188 #: build/C/man3/canonicalize_file_name.3:26
1189 #, no-wrap
1190 msgid "2013-05-11"
1191 msgstr "2013-05-11"
1192
1193 #. type: Plain text
1194 #: build/C/man3/canonicalize_file_name.3:29
1195 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
1196 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
1197
1198 #. type: Plain text
1199 #: build/C/man3/canonicalize_file_name.3:31
1200 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
1201 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
1202
1203 #. type: Plain text
1204 #: build/C/man3/canonicalize_file_name.3:35
1205 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1206 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1207
1208 #. type: Plain text
1209 #: build/C/man3/canonicalize_file_name.3:49
1210 msgid ""
1211 "The B<canonicalize_file_name>()  function returns a null-terminated string "
1212 "containing the canonicalized absolute pathname corresponding to I<path>.  In "
1213 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
1214 "pathname components.  Consecutive slash (I</>)  characters are replaced by a "
1215 "single slash."
1216 msgstr ""
1217 "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を"
1218 "示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パ"
1219 "ス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はス"
1220 "ラッシュ一つに置換される。"
1221
1222 #. type: Plain text
1223 #: build/C/man3/canonicalize_file_name.3:55
1224 msgid ""
1225 "The returned string is dynamically allocated by B<canonicalize_file_name>()  "
1226 "and the caller should deallocate it with B<free>(3)  when it is no longer "
1227 "required."
1228 msgstr ""
1229 "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び"
1230 "出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1231
1232 #. type: Plain text
1233 #: build/C/man3/canonicalize_file_name.3:59
1234 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1235 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1236
1237 #. type: Plain text
1238 #: build/C/man3/canonicalize_file_name.3:61
1239 #, no-wrap
1240 msgid "    realpath(path, NULL);\n"
1241 msgstr "    realpath(path, NULL);\n"
1242
1243 #. type: Plain text
1244 #: build/C/man3/canonicalize_file_name.3:70
1245 msgid ""
1246 "On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
1247 "On error (e.g., a pathname component is unreadable or does not exist), "
1248 "B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
1249 "error."
1250 msgstr ""
1251 "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラー"
1252 "の場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場"
1253 "合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容"
1254 "を示す値を設定する。"
1255
1256 #. type: SH
1257 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1258 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1259 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1260 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1261 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:155
1262 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1263 #, no-wrap
1264 msgid "ERRORS"
1265 msgstr "エラー"
1266
1267 #. type: Plain text
1268 #: build/C/man3/canonicalize_file_name.3:73
1269 msgid "See B<realpath>(3)."
1270 msgstr "B<realpath>(3) 参照。"
1271
1272 #. type: Plain text
1273 #: build/C/man3/canonicalize_file_name.3:75
1274 msgid "This function is a GNU extension."
1275 msgstr "この関数は GNU による拡張である。"
1276
1277 #. type: Plain text
1278 #: build/C/man3/canonicalize_file_name.3:78
1279 msgid "B<readlink>(2), B<realpath>(3)"
1280 msgstr "B<readlink>(2), B<realpath>(3)"
1281
1282 #. type: TH
1283 #: build/C/man3/cfree.3:24
1284 #, no-wrap
1285 msgid "CFREE"
1286 msgstr "CFREE"
1287
1288 #. type: TH
1289 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1290 #, no-wrap
1291 msgid "2007-07-26"
1292 msgstr "2007-07-26"
1293
1294 #. type: Plain text
1295 #: build/C/man3/cfree.3:27
1296 msgid "cfree - free allocated memory"
1297 msgstr "cfree - 割り当てられたメモリを解放する"
1298
1299 #. type: Plain text
1300 #: build/C/man3/cfree.3:34
1301 #, no-wrap
1302 msgid ""
1303 "/* In SunOS 4 */\n"
1304 "B<int cfree(void *>I<ptr>B<);>\n"
1305 msgstr ""
1306 "/* SunOS 4 では */\n"
1307 "B<int cfree(void *>I<ptr>B<);>\n"
1308
1309 #. type: Plain text
1310 #: build/C/man3/cfree.3:37
1311 #, no-wrap
1312 msgid ""
1313 "/* In glibc or FreeBSD libcompat */\n"
1314 "B<void cfree(void *>I<ptr>B<);>\n"
1315 msgstr ""
1316 "/* glibc と FreeBSD libcompat では */\n"
1317 "B<void cfree(void *>I<ptr>B<);>\n"
1318
1319 #. type: Plain text
1320 #: build/C/man3/cfree.3:40
1321 #, no-wrap
1322 msgid ""
1323 "/* In SCO OpenServer */\n"
1324 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1325 msgstr ""
1326 "/* SCO OpenServer では */\n"
1327 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1328
1329 #. type: Plain text
1330 #: build/C/man3/cfree.3:43
1331 #, no-wrap
1332 msgid ""
1333 "/* In Solaris watchmalloc.so.1 */\n"
1334 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1335 msgstr ""
1336 "/* Solaris watchmalloc.so.1 では */\n"
1337 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1338
1339 #. type: Plain text
1340 #: build/C/man3/cfree.3:52
1341 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1342 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1343
1344 #. type: Plain text
1345 #: build/C/man3/cfree.3:57
1346 msgid "This function should never be used.  Use B<free>(3)  instead."
1347 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3)  を使うこと。"
1348
1349 #. type: SS
1350 #: build/C/man3/cfree.3:57
1351 #, no-wrap
1352 msgid "1-arg cfree"
1353 msgstr "引き数が 1 つの cfree"
1354
1355 #. type: Plain text
1356 #: build/C/man3/cfree.3:63
1357 msgid ""
1358 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
1359 "compatibility with SunOS\"."
1360 msgstr ""
1361 "glibc では、関数 B<cfree>()  は B<free>(3)  の別名であり、「SunOS との互換性"
1362 "のために追加された」。"
1363
1364 #. type: Plain text
1365 #: build/C/man3/cfree.3:69
1366 msgid ""
1367 "Other systems have other functions with this name.  The declaration is "
1368 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1369 msgstr ""
1370 "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib."
1371 "hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1372
1373 #. type: SS
1374 #: build/C/man3/cfree.3:69
1375 #, no-wrap
1376 msgid "3-arg cfree"
1377 msgstr "引き数が 3 つの cfree"
1378
1379 #. type: Plain text
1380 #: build/C/man3/cfree.3:74
1381 msgid ""
1382 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
1383 "B<cfree>(), apparently as an analog to B<calloc>(3)."
1384 msgstr ""
1385 "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>()  が含"
1386 "まれる malloc ライブラリがある。 これは明らかに B<calloc>(3)  に類似してい"
1387 "る。"
1388
1389 #. type: Plain text
1390 #: build/C/man3/cfree.3:76
1391 msgid "If you need it while porting something, add"
1392 msgstr "何かを移植する時にこの関数が必要な場合、"
1393
1394 #. type: Plain text
1395 #: build/C/man3/cfree.3:79
1396 msgid "#define cfree(p, n, s) free((p))"
1397 msgstr "#define cfree(p, n, s) free((p))"
1398
1399 #. type: Plain text
1400 #: build/C/man3/cfree.3:82
1401 msgid "to your file."
1402 msgstr "をファイルに追加すること。"
1403
1404 #. type: Plain text
1405 #: build/C/man3/cfree.3:91
1406 msgid ""
1407 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
1408 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
1409 "B<free>(3)."
1410 msgstr ""
1411 "よく尋ねられる質問は 「B<calloc>(3)  で割り当てられたメモリを解放するのに "
1412 "B<free>(3)  を使うことができるか、 それとも B<cfree>()  を使う必要があるか」"
1413 "というものである。 答え: B<free>(3)  を使うこと。"
1414
1415 #. type: Plain text
1416 #: build/C/man3/cfree.3:96
1417 msgid ""
1418 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
1419 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
1420 "are not used.\""
1421 msgstr ""
1422 "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規"
1423 "格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の "
1424 "num と size 引き数は使用されない。」"
1425
1426 #. type: Plain text
1427 #: build/C/man3/cfree.3:112
1428 msgid ""
1429 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
1430 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
1431 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1432 "allocated by one of the routines in the B<malloc>(3)  family."
1433 msgstr ""
1434 "SunOS 版の B<cfree>()  (B<free>(3)  の別名) は、成功した場合に 1 を返し、失敗"
1435 "した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: "
1436 "I<ptr> の値が B<malloc>()  系のルーチンの 1 つで以前に割り当てられた ブロック"
1437 "へのポインタでない。"
1438
1439 #. type: Plain text
1440 #: build/C/man3/cfree.3:117
1441 msgid ""
1442 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1443 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1444 msgstr ""
1445 "SCO で用いられている引き数が 3 つの B<cfree>()  は、iBCSe2 規格: Intel386 "
1446 "Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 "
1447 "2 版) に準拠する。"
1448
1449 #. type: Plain text
1450 #: build/C/man3/cfree.3:119
1451 msgid "B<malloc>(3)"
1452 msgstr "B<malloc>(3)"
1453
1454 #. type: TH
1455 #: build/C/man3/clearenv.3:26
1456 #, no-wrap
1457 msgid "CLEARENV"
1458 msgstr "CLEARENV"
1459
1460 #. type: Plain text
1461 #: build/C/man3/clearenv.3:29
1462 msgid "clearenv - clear the environment"
1463 msgstr "clearenv - 環境 (environment) をクリアする"
1464
1465 #. type: Plain text
1466 #: build/C/man3/clearenv.3:34
1467 #, no-wrap
1468 msgid "B<int clearenv(void);>\n"
1469 msgstr "B<int clearenv(void);>\n"
1470
1471 #. type: Plain text
1472 #: build/C/man3/clearenv.3:43
1473 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1474 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1475
1476 #. type: Plain text
1477 #: build/C/man3/clearenv.3:50
1478 msgid ""
1479 "The B<clearenv>()  function clears the environment of all name-value pairs "
1480 "and sets the value of the external variable I<environ> to NULL."
1481 msgstr ""
1482 "B<clearenv>()  関数は、名前と値が組になった全ての環境をクリアする。 さらに外"
1483 "部変数 I<environ> の値を NULL にする。"
1484
1485 #.  Most versions of UNIX return -1 on error, or do not even have errors.
1486 #.  Glibc info and the Watcom C library document "a nonzero value".
1487 #. type: Plain text
1488 #: build/C/man3/clearenv.3:57
1489 msgid ""
1490 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1491 "failure."
1492 msgstr ""
1493 "B<clearenv>()  関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返"
1494 "す。"
1495
1496 #. type: SH
1497 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:188
1498 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1499 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1500 #, no-wrap
1501 msgid "VERSIONS"
1502 msgstr "バージョン"
1503
1504 #. type: Plain text
1505 #: build/C/man3/clearenv.3:59
1506 msgid "Available since glibc 2.0."
1507 msgstr "glibc 2.0 以降で利用可能。"
1508
1509 #. type: Plain text
1510 #: build/C/man3/clearenv.3:73
1511 msgid ""
1512 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
1513 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
1514 "but changed its mind and scheduled these functions for some later issue of "
1515 "this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
1516 "and rejected B<clearenv>()."
1517 msgstr ""
1518 "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディング"
1519 "である) POSIX.9。 POSIX.1-1996 では B<clearenv>()  と B<putenv>(3)  は採用さ"
1520 "れなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では "
1521 "採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加さ"
1522 "れ、 B<clearenv>()  の追加は否決された。"
1523
1524 #. type: Plain text
1525 #: build/C/man3/clearenv.3:77
1526 msgid ""
1527 "Used in security-conscious applications.  If it is unavailable the assignment"
1528 msgstr ""
1529 "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用で"
1530 "きない場合は、"
1531
1532 #. type: Plain text
1533 #: build/C/man3/clearenv.3:80
1534 #, no-wrap
1535 msgid "    environ = NULL;\n"
1536 msgstr "    environ = NULL;\n"
1537
1538 #. type: Plain text
1539 #: build/C/man3/clearenv.3:83
1540 msgid "will probably do."
1541 msgstr "というように変数 environ を設定すればよい。"
1542
1543 #.  .LP
1544 #.  HP-UX has a ENOMEM error return.
1545 #. type: Plain text
1546 #: build/C/man3/clearenv.3:96
1547 msgid ""
1548 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1549 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
1550 "functions, then B<clearenv>()  will return an error and the process "
1551 "environment will remain unchanged."
1552 msgstr ""
1553 "DG/UX と Tru64 man ページには次のように記されている: I<environ> が "
1554 "B<putenv>(3), B<getenv>(3), B<clearenv>()  関数以外で変更された場合、 "
1555 "B<clearenv>()  はエラーを返し、プロセス環境は変更前のままにされる。"
1556
1557 #. type: Plain text
1558 #: build/C/man3/clearenv.3:102
1559 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1560 msgstr ""
1561 "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1562
1563 #. type: TH
1564 #: build/C/man3/drand48.3:30
1565 #, no-wrap
1566 msgid "DRAND48"
1567 msgstr "DRAND48"
1568
1569 #. type: TH
1570 #: build/C/man3/drand48.3:30
1571 #, no-wrap
1572 msgid "2014-09-21"
1573 msgstr "2014-09-21"
1574
1575 #. type: Plain text
1576 #: build/C/man3/drand48.3:34
1577 msgid ""
1578 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1579 "lcong48 - generate uniformly distributed pseudo-random numbers"
1580 msgstr ""
1581 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1582 "lcong48 - 一様分布する疑似乱数を生成する関数"
1583
1584 #. type: Plain text
1585 #: build/C/man3/drand48.3:39
1586 #, no-wrap
1587 msgid "B<double drand48(void);>\n"
1588 msgstr "B<double drand48(void);>\n"
1589
1590 #. type: Plain text
1591 #: build/C/man3/drand48.3:41
1592 #, no-wrap
1593 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1594 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1595
1596 #. type: Plain text
1597 #: build/C/man3/drand48.3:43
1598 #, no-wrap
1599 msgid "B<long int lrand48(void);>\n"
1600 msgstr "B<long int lrand48(void);>\n"
1601
1602 #. type: Plain text
1603 #: build/C/man3/drand48.3:45
1604 #, no-wrap
1605 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1606 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1607
1608 #. type: Plain text
1609 #: build/C/man3/drand48.3:47
1610 #, no-wrap
1611 msgid "B<long int mrand48(void);>\n"
1612 msgstr "B<long int mrand48(void);>\n"
1613
1614 #. type: Plain text
1615 #: build/C/man3/drand48.3:49
1616 #, no-wrap
1617 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1618 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1619
1620 #. type: Plain text
1621 #: build/C/man3/drand48.3:51
1622 #, no-wrap
1623 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1624 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1625
1626 #. type: Plain text
1627 #: build/C/man3/drand48.3:53
1628 #, no-wrap
1629 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1630 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1631
1632 #. type: Plain text
1633 #: build/C/man3/drand48.3:55
1634 #, no-wrap
1635 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1636 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1637
1638 #.  .BR drand48 (),
1639 #.  .BR erand48 (),
1640 #.  .BR lrand48 (),
1641 #.  .BR nrand48 (),
1642 #.  .BR mrand48 (),
1643 #.  .BR jrand48 (),
1644 #.  .BR srand48 (),
1645 #.  .BR seed48 (),
1646 #.  .BR lcong48 ():
1647 #. type: Plain text
1648 #: build/C/man3/drand48.3:74
1649 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1650 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1651
1652 #. type: Plain text
1653 #: build/C/man3/drand48.3:78
1654 msgid ""
1655 "These functions generate pseudo-random numbers using the linear congruential "
1656 "algorithm and 48-bit integer arithmetic."
1657 msgstr ""
1658 "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成"
1659 "する。"
1660
1661 #. type: Plain text
1662 #: build/C/man3/drand48.3:86
1663 msgid ""
1664 "The B<drand48>()  and B<erand48>()  functions return nonnegative double-"
1665 "precision floating-point values uniformly distributed between [0.0, 1.0)."
1666 msgstr ""
1667 "関数 B<drand48>()  と B<erand48>()  は、区間 [0.0, 1.0) で 一様分布する非負の"
1668 "倍精度浮動小数点実数値を返す。"
1669
1670 #. type: Plain text
1671 #: build/C/man3/drand48.3:93
1672 msgid ""
1673 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1674 "integers uniformly distributed between 0 and 2^31."
1675 msgstr ""
1676 "関数 B<lrand48>()  と B<nrand48>()  は 0 と 2^31 の間で一様分布する 非負のロ"
1677 "ング整数を返す。"
1678
1679 #. type: Plain text
1680 #: build/C/man3/drand48.3:100
1681 msgid ""
1682 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1683 "uniformly distributed between -2^31 and 2^31."
1684 msgstr ""
1685 "関数 B<mrand48>()  と B<jrand48>()  は -2^31 と 2^31 の間で一様分布する符号付"
1686 "きロング整数を返す。"
1687
1688 #. type: Plain text
1689 #: build/C/man3/drand48.3:119
1690 msgid ""
1691 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
1692 "initialization functions, one of which should be called before using "
1693 "B<drand48>(), B<lrand48>()  or B<mrand48>().  The functions B<erand48>(), "
1694 "B<nrand48>()  and B<jrand48>()  do not require an initialization function to "
1695 "be called first."
1696 msgstr ""
1697 "関数 B<srand48>(), B<seed48>(), B<lcong48>()  は初期化関数 である。 関数 "
1698 "B<drand48>(), B<lrand48>(), B<mrand48>()  を 使用する前に、これらの初期化関数"
1699 "のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>()  "
1700 "は初めに 初期化関数を呼ぶことを必要としない。"
1701
1702 #. type: Plain text
1703 #: build/C/man3/drand48.3:123
1704 msgid ""
1705 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1706 "according to the linear congruential formula:"
1707 msgstr ""
1708 "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成す"
1709 "ることで 機能している。生成方法は以下の線形合同の式による。"
1710
1711 #. type: Plain text
1712 #: build/C/man3/drand48.3:127
1713 #, no-wrap
1714 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1715 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1716
1717 #. type: Plain text
1718 #: build/C/man3/drand48.3:140
1719 msgid ""
1720 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
1721 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
1722 msgstr ""
1723 "ここで n E<gt>= 0 である。 パラメータが I<m> = 2^48 であるため、48ビット整数"
1724 "演算が行われている。 B<lcong48>()  が呼ばれていない場合、I<a> と I<c> は以下"
1725 "の式で与えられる。"
1726
1727 #. type: Plain text
1728 #: build/C/man3/drand48.3:145
1729 #, no-wrap
1730 msgid ""
1731 "B<a = 0x5DEECE66D>\n"
1732 "B<c = 0xB>\n"
1733 msgstr ""
1734 "B<a = 0x5DEECE66D>\n"
1735 "B<c = 0xB>\n"
1736
1737 #. type: Plain text
1738 #: build/C/man3/drand48.3:165
1739 msgid ""
1740 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1741 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
1742 "first generating the next 48-bit I<Xi> in the sequence.  Then the "
1743 "appropriate number of bits, according to the type of data item to be "
1744 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1745 "the returned value."
1746 msgstr ""
1747 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1748 "B<jrand48>()  で返される値は次のようにして計算される。 はじめに、次の48ビット"
1749 "の I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数"
1750 "が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1751
1752 #. type: Plain text
1753 #: build/C/man3/drand48.3:191
1754 msgid ""
1755 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
1756 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
1757 "B<nrand48>()  and B<jrand48>()  require the calling program to provide "
1758 "storage for the successive I<Xi> values in the array argument I<xsubi>.  The "
1759 "functions are initialized by placing the initial value of I<Xi> into the "
1760 "array before calling the function for the first time."
1761 msgstr ""
1762 "関数 B<drand48>(), B<lrand48>(), B<mrand48>()  は 最後に生成された48ビットの "
1763 "I<Xi> を内部バッファに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値"
1764 "を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), "
1765 "B<jrand48>()  は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめ"
1766 "てそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1767
1768 #. type: Plain text
1769 #: build/C/man3/drand48.3:200
1770 msgid ""
1771 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
1772 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
1773 "value 0x330E."
1774 msgstr ""
1775 "初期化関数 B<srand48>()  は、I<Xi> の 上位32ビットを引数 I<seedval> に設定す"
1776 "る。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1777
1778 #. type: Plain text
1779 #: build/C/man3/drand48.3:214
1780 msgid ""
1781 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
1782 "value specified in the array argument I<seed16v>.  The previous value of "
1783 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1784 "returned by B<seed48>()."
1785 msgstr ""
1786 "初期化関数 B<seed48>()  は、I<Xi> の値を、 配列の形をした引数である "
1787 "I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッ"
1788 "ファにコピーされ、このバッファへのポインタが B<seed48>()  によって返される。"
1789
1790 #. type: Plain text
1791 #: build/C/man3/drand48.3:245
1792 msgid ""
1793 "The initialization function B<lcong48>()  allows the user to specify initial "
1794 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
1795 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
1796 "After B<lcong48>()  has been called, a subsequent call to either "
1797 "B<srand48>()  or B<seed48>()  will restore the standard values of I<a> and "
1798 "I<c>."
1799 msgstr ""
1800 "初期化関数 B<lcong48>()  は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するため"
1801 "の関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> "
1802 "を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 "
1803 "B<lcong48>()  が呼ばれた後で、 B<srand48>()  か B<seed48>()  を呼ぶと、前述"
1804 "の I<a> と I<c> の 標準値が再び設定される。"
1805
1806 #. type: Plain text
1807 #: build/C/man3/drand48.3:260
1808 msgid ""
1809 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1810 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
1811 "global state information for the random number generator, so they are not "
1812 "thread-safe."
1813 msgstr ""
1814 "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1815 "B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する"
1816 "状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフでは"
1817 "ない。"
1818
1819 #. type: Plain text
1820 #: build/C/man3/drand48.3:262
1821 msgid "SVr4, POSIX.1-2001."
1822 msgstr "SVr4, POSIX.1-2001."
1823
1824 #. type: Plain text
1825 #: build/C/man3/drand48.3:265
1826 msgid "B<rand>(3), B<random>(3)"
1827 msgstr "B<rand>(3), B<random>(3)"
1828
1829 #. type: TH
1830 #: build/C/man3/drand48_r.3:27
1831 #, no-wrap
1832 msgid "DRAND48_R"
1833 msgstr "DRAND48_R"
1834
1835 #. type: TH
1836 #: build/C/man3/drand48_r.3:27
1837 #, no-wrap
1838 msgid "2013-09-09"
1839 msgstr "2013-09-09"
1840
1841 #. type: Plain text
1842 #: build/C/man3/drand48_r.3:32
1843 msgid ""
1844 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1845 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1846 "reentrantly"
1847 msgstr ""
1848 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1849 "seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成"
1850 "する"
1851
1852 #. type: Plain text
1853 #: build/C/man3/drand48_r.3:37
1854 #, no-wrap
1855 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1856 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1857
1858 #. type: Plain text
1859 #: build/C/man3/drand48_r.3:39
1860 #, no-wrap
1861 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1862 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1863
1864 #. type: Plain text
1865 #: build/C/man3/drand48_r.3:41
1866 #, no-wrap
1867 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1868 msgstr "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1869
1870 #. type: Plain text
1871 #: build/C/man3/drand48_r.3:43
1872 #, no-wrap
1873 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1874 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1875
1876 #. type: Plain text
1877 #: build/C/man3/drand48_r.3:45
1878 #, no-wrap
1879 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1880 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1881
1882 #. type: Plain text
1883 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1884 #, no-wrap
1885 msgid "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1886 msgstr "B<              struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1887
1888 #. type: Plain text
1889 #: build/C/man3/drand48_r.3:49
1890 #, no-wrap
1891 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1892 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1893
1894 #. type: Plain text
1895 #: build/C/man3/drand48_r.3:51
1896 #, no-wrap
1897 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1898 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1899
1900 #. type: Plain text
1901 #: build/C/man3/drand48_r.3:55
1902 #, no-wrap
1903 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1904 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1905
1906 #. type: Plain text
1907 #: build/C/man3/drand48_r.3:57
1908 #, no-wrap
1909 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1910 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1911
1912 #. type: Plain text
1913 #: build/C/man3/drand48_r.3:59
1914 #, no-wrap
1915 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1916 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1917
1918 #. type: Plain text
1919 #: build/C/man3/drand48_r.3:61
1920 #, no-wrap
1921 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1922 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1923
1924 #. type: Plain text
1925 #: build/C/man3/drand48_r.3:63
1926 #, no-wrap
1927 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1928 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1929
1930 #.  .BR drand48_r (),
1931 #.  .BR erand48_r (),
1932 #.  .BR lrand48_r (),
1933 #.  .BR nrand48_r (),
1934 #.  .BR mrand48_r (),
1935 #.  .BR jrand48_r (),
1936 #.  .BR srand48_r (),
1937 #.  .BR seed48_r (),
1938 #.  .BR lcong48_r ():
1939 #. type: Plain text
1940 #: build/C/man3/drand48_r.3:82
1941 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1942 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1943
1944 #. type: Plain text
1945 #: build/C/man3/drand48_r.3:89
1946 msgid ""
1947 "These functions are the reentrant analogs of the functions described in "
1948 "B<drand48>(3).  Instead of modifying the global random generator state, they "
1949 "use the supplied data I<buffer>."
1950 msgstr ""
1951 "これらの関数は B<drand48>(3)  で説明されている関数に類似するリエントラントな"
1952 "関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定さ"
1953 "れたデータ I<buffer> を使う。"
1954
1955 #. type: Plain text
1956 #: build/C/man3/drand48_r.3:96
1957 msgid ""
1958 "Before the first use, this struct must be initialized, for example, by "
1959 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1960 "B<seed48_r>(), or B<lcong48_r>()."
1961 msgstr ""
1962 "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえ"
1963 "ば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>()  のいずれ"
1964 "かを呼び出すことによって行われる。"
1965
1966 #. type: Plain text
1967 #: build/C/man3/drand48_r.3:98
1968 msgid "The return value is 0."
1969 msgstr "返り値は 0 である。"
1970
1971 #. type: Plain text
1972 #: build/C/man3/drand48_r.3:112
1973 msgid ""
1974 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1975 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1976 "B<lcong48_r>()  functions are thread-safe."
1977 msgstr ""
1978 "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1979 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), "
1980 "B<lcong48_r>() はスレッドセーフである。"
1981
1982 #. type: Plain text
1983 #: build/C/man3/drand48_r.3:114
1984 msgid "These functions are GNU extensions and are not portable."
1985 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1986
1987 #. type: Plain text
1988 #: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:145
1989 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1990 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1991
1992 #. type: TH
1993 #: build/C/man3/ecvt.3:32
1994 #, no-wrap
1995 msgid "ECVT"
1996 msgstr "ECVT"
1997
1998 #. type: Plain text
1999 #: build/C/man3/ecvt.3:35
2000 msgid "ecvt, fcvt - convert a floating-point number to a string"
2001 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
2002
2003 #. type: Plain text
2004 #: build/C/man3/ecvt.3:40
2005 msgid ""
2006 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2007 "B<int *>I<sign>B<);>"
2008 msgstr ""
2009 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2010 "B<int *>I<sign>B<);>"
2011
2012 #. type: Plain text
2013 #: build/C/man3/ecvt.3:43
2014 msgid ""
2015 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2016 "B<int *>I<sign>B<);>"
2017 msgstr ""
2018 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
2019 "B<int *>I<sign>B<);>"
2020
2021 #. type: Plain text
2022 #: build/C/man3/ecvt.3:51
2023 msgid "B<ecvt>(), B<fcvt>():"
2024 msgstr "B<ecvt>(), B<fcvt>():"
2025
2026 #. type: TP
2027 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
2028 #, no-wrap
2029 msgid "Since glibc 2.12:"
2030 msgstr "glibc 2.12 以降:"
2031
2032 #. type: Plain text
2033 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
2034 #, no-wrap
2035 msgid ""
2036 "_SVID_SOURCE ||\n"
2037 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2038 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2039 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2040 msgstr ""
2041 "_SVID_SOURCE ||\n"
2042 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2043 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2044 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2045
2046 #. type: TP
2047 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
2048 #, no-wrap
2049 msgid "Before glibc 2.12:"
2050 msgstr "glibc 2.12 より前:"
2051
2052 #. type: Plain text
2053 #: build/C/man3/ecvt.3:92
2054 msgid ""
2055 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
2056 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
2057 "determined by the precision of a I<double>), and returns a pointer to the "
2058 "string.  The high-order digit is nonzero, unless I<number> is zero.  The low "
2059 "order digit is rounded.  The string itself does not contain a decimal point; "
2060 "however, the position of the decimal point relative to the start of the "
2061 "string is stored in I<*decpt>.  A negative value for I<*decpt> means that "
2062 "the decimal point is to the left of the start of the string.  If the sign of "
2063 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
2064 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
2065 "1."
2066 msgstr ""
2067 "関数 B<ecvt>()  は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ"
2068 "変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によって"
2069 "決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の値"
2070 "となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁は"
2071 "丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの小"
2072 "数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文字"
2073 "列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば "
2074 "I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 な"
2075 "ら、I<*decpt> が 0 か 1 かは未規定である。"
2076
2077 #. type: Plain text
2078 #: build/C/man3/ecvt.3:99
2079 msgid ""
2080 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
2081 "specifies the number of digits after the decimal point."
2082 msgstr ""
2083 "関数 B<fcvt>()  は B<ecvt>()  と同じ機能を持つが、I<ndigits> は小数点以下の文"
2084 "字数を指定する。"
2085
2086 #. type: Plain text
2087 #: build/C/man3/ecvt.3:110
2088 msgid ""
2089 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
2090 "string containing the ASCII representation of I<number>.  The static string "
2091 "is overwritten by each call to B<ecvt>()  or B<fcvt>()."
2092 msgstr ""
2093 "関数 B<ecvt>()  と B<fcvt>()  は I<number> の ASCII 表現を含む 静的な領域内の"
2094 "文字列へのポインタを返す。 この文字列は B<ecvt>()  や B<fcvt>()  の呼び出しの"
2095 "たびに上書きされる。"
2096
2097 #. type: Plain text
2098 #: build/C/man3/ecvt.3:117
2099 msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
2100 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
2101
2102 #. type: Plain text
2103 #: build/C/man3/ecvt.3:129
2104 msgid ""
2105 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
2106 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
2107 "B<sprintf>(3)  instead (though B<snprintf>(3)  may be preferable)."
2108 msgstr ""
2109 "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 "
2110 "POSIX.1-2008 では B<ecvt>()  と B<fcvt>()  の仕様が削除され、代わりに "
2111 "B<sprintf>(3)  の使用が推奨されている(しかし B<snprintf>(3)  がより適切かもし"
2112 "れない)。"
2113
2114 #.  Linux libc4 and libc5 specified the type of
2115 #.  .I ndigits
2116 #.  as
2117 #.  .IR size_t .
2118 #. type: Plain text
2119 #: build/C/man3/ecvt.3:135
2120 msgid "Not all locales use a point as the radix character (\"decimal point\")."
2121 msgstr "小数点にピリオドを使わないロケールもある。"
2122
2123 #. type: Plain text
2124 #: build/C/man3/ecvt.3:141
2125 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2126 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
2127
2128 #. type: TH
2129 #: build/C/man3/ecvt_r.3:30
2130 #, no-wrap
2131 msgid "ECVT_R"
2132 msgstr "ECVT_R"
2133
2134 #. type: Plain text
2135 #: build/C/man3/ecvt_r.3:33
2136 msgid ""
2137 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
2138 "string"
2139 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
2140
2141 #. type: Plain text
2142 #: build/C/man3/ecvt_r.3:39
2143 #, no-wrap
2144 msgid ""
2145 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2146 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2147 msgstr ""
2148 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2149 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2150
2151 #. type: Plain text
2152 #: build/C/man3/ecvt_r.3:42
2153 #, no-wrap
2154 msgid ""
2155 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2156 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2157 msgstr ""
2158 "B<int fcvt_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
2161 #. type: Plain text
2162 #: build/C/man3/ecvt_r.3:45
2163 #, no-wrap
2164 msgid ""
2165 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2166 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2167 msgstr ""
2168 "B<int qecvt_r(long 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
2171 #. type: Plain text
2172 #: build/C/man3/ecvt_r.3:48
2173 #, no-wrap
2174 msgid ""
2175 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
2176 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2177 msgstr ""
2178 "B<int qfcvt_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
2181 #. type: Plain text
2182 #: build/C/man3/ecvt_r.3:60
2183 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2184 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
2185
2186 #. type: Plain text
2187 #: build/C/man3/ecvt_r.3:62
2188 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2189 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
2190
2191 #. type: Plain text
2192 #: build/C/man3/ecvt_r.3:86
2193 msgid ""
2194 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), and B<qfcvt_r>()  are "
2195 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), and B<qfcvt>(3), "
2196 "respectively, except that they do not return their result in a static "
2197 "buffer, but instead use the supplied I<buf> of size I<len>.  See B<ecvt>(3)  "
2198 "and B<qecvt>(3)."
2199 msgstr ""
2200 "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>()  は、それぞれ "
2201 "B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3)  と同じであるが、 静的バッ"
2202 "ファの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 "
2203 "B<ecvt>(3), B<qecvt>(3)  を参照のこと。"
2204
2205 #. type: Plain text
2206 #: build/C/man3/ecvt_r.3:88
2207 msgid "These functions return 0 on success, and -1 otherwise."
2208 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
2209
2210 #. type: Plain text
2211 #: build/C/man3/ecvt_r.3:90
2212 msgid "These functions are GNU extensions."
2213 msgstr "これらの関数は GNU による拡張である。"
2214
2215 #. type: Plain text
2216 #: build/C/man3/ecvt_r.3:95
2217 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
2218 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3)  の使用を推奨する。"
2219
2220 #. type: Plain text
2221 #: build/C/man3/ecvt_r.3:99
2222 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2223 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
2224
2225 #. type: TH
2226 #: build/C/man3/exit.3:29
2227 #, no-wrap
2228 msgid "EXIT"
2229 msgstr "EXIT"
2230
2231 #. type: TH
2232 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
2233 #, no-wrap
2234 msgid "2014-03-25"
2235 msgstr "2014-03-25"
2236
2237 #. type: Plain text
2238 #: build/C/man3/exit.3:32
2239 msgid "exit - cause normal process termination"
2240 msgstr "exit - プロセスの正常終了"
2241
2242 #. type: Plain text
2243 #: build/C/man3/exit.3:37
2244 #, no-wrap
2245 msgid "B<void exit(int >I<status>B<);>\n"
2246 msgstr "B<void exit(int >I<status>B<);>\n"
2247
2248 #. type: Plain text
2249 #: build/C/man3/exit.3:45
2250 msgid ""
2251 "The B<exit>()  function causes normal process termination and the value of "
2252 "I<status & 0377> is returned to the parent (see B<wait>(2))."
2253 msgstr ""
2254 "B<exit>()  関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プ"
2255 "ロセスへ返す (B<wait>(2)  を参照)。"
2256
2257 #. type: Plain text
2258 #: build/C/man3/exit.3:72
2259 msgid ""
2260 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
2261 "in the reverse order of their registration.  (It is possible for one of "
2262 "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
2263 "additional function to be executed during exit processing; the new "
2264 "registration is added to the front of the list of functions that remain to "
2265 "be called.)  If one of these functions does not return (e.g., it calls "
2266 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
2267 "functions is called, and further exit processing (in particular, flushing of "
2268 "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
2269 "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
2270 "many times as it was registered."
2271 msgstr ""
2272 "B<atexit>(3)  や B<on_exit>(3)  によって 登録された全ての関数は、それらが登録"
2273 "された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3)  or "
2274 "B<on_exit>(3)  を使って exit 処理中に実行される追加の関数を登録することができ"
2275 "る; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加され"
2276 "る。)  これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2)  "
2277 "を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び"
2278 "出されず、それ以降の exit 処理 (特に B<stdio>(3)  ストリームのフラッシュな"
2279 "ど) は中止される。 ある関数が B<atexit>(3)  や B<on_exit>(3)  を使って複数回"
2280 "登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
2281
2282 #. type: Plain text
2283 #: build/C/man3/exit.3:79
2284 msgid ""
2285 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
2286 "B<tmpfile>(3)  are removed."
2287 msgstr ""
2288 "オープン中の B<stdio>(3)  ストリームは全てフラッシュされて、クローズされる。 "
2289 "B<tmpfile>(3)  によって作成されたファイルは削除される。"
2290
2291 #. type: Plain text
2292 #: build/C/man3/exit.3:86
2293 msgid ""
2294 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
2295 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
2296 "termination, respectively."
2297 msgstr ""
2298 "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されてい"
2299 "る。それぞれ正常終了と異常終了を示すもので、 B<exit>()  として渡すことができ"
2300 "る。"
2301
2302 #. type: Plain text
2303 #: build/C/man3/exit.3:90
2304 msgid "The B<exit>()  function does not return."
2305 msgstr "B<exit>()  関数は返らない。"
2306
2307 #. type: Plain text
2308 #: build/C/man3/exit.3:96
2309 msgid ""
2310 "The B<exit>()  function uses a global variable that is not protected, so it "
2311 "is not thread-safe."
2312 msgstr ""
2313 "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッド"
2314 "セーフではない。"
2315
2316 #. type: Plain text
2317 #: build/C/man3/exit.3:98
2318 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2319 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
2320
2321 #. type: Plain text
2322 #: build/C/man3/exit.3:115
2323 msgid ""
2324 "It is undefined what happens if one of the functions registered using "
2325 "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
2326 "Note that a call to B<execve>(2)  removes registrations created using "
2327 "B<atexit>(3)  and B<on_exit>(3)."
2328 msgstr ""
2329 "B<atexit>(3)  や B<on_exit>(3)  を使って登録された関数の中で B<exit>() か "
2330 "B<longjmp>(3)  が呼び出された場合、 何が起こるかは未定義である。 "
2331 "B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された"
2332 "関数が削除される点に注意すること。"
2333
2334 #. type: Plain text
2335 #: build/C/man3/exit.3:124
2336 msgid ""
2337 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
2338 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
2339 "-1.  In particular, VMS uses a different convention."
2340 msgstr ""
2341 "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の"
2342 "値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に "
2343 "VMS は別の方式を用いている。"
2344
2345 #. type: Plain text
2346 #: build/C/man3/exit.3:127
2347 msgid ""
2348 "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits."
2349 "hE<gt>>."
2350 msgstr ""
2351 "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照する"
2352 "こと。"
2353
2354 #. type: Plain text
2355 #: build/C/man3/exit.3:152
2356 msgid ""
2357 "After B<exit>(), the exit status must be transmitted to the parent process.  "
2358 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
2359 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
2360 "parent was waiting on the child, it is notified of the exit status.  In both "
2361 "cases the exiting process dies immediately.  If the parent has not indicated "
2362 "that it is not interested in the exit status, but is not waiting, the "
2363 "exiting process turns into a \"zombie\" process (which is nothing but a "
2364 "container for the single byte representing the exit status) so that the "
2365 "parent can learn the exit status when it later calls one of the B<wait>(2)  "
2366 "functions."
2367 msgstr ""
2368 "B<exit>()  の後、親プロセスに終了ステータスが渡されなければならない。 終了ス"
2369 "テータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定し"
2370 "た場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータス"
2371 "は破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終"
2372 "了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了す"
2373 "る。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示"
2374 "していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持す"
2375 "る)  「ゾンビ」プロセスになる。 これにより、後から B<wait>(2)  関数を呼び出す"
2376 "ことで、 親プロセスは終了ステータスを知ることができる。"
2377
2378 #. type: Plain text
2379 #: build/C/man3/exit.3:162
2380 msgid ""
2381 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
2382 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
2383 "a B<SIGCHLD> signal is sent."
2384 msgstr ""
2385 "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセス"
2386 "に送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナ"
2387 "ルが送られるかどうかは定義されていない。"
2388
2389 #. type: Plain text
2390 #: build/C/man3/exit.3:171
2391 msgid ""
2392 "If the process is a session leader and its controlling terminal is the "
2393 "controlling terminal of the session, then each process in the foreground "
2394 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
2395 "the terminal is disassociated from this session, allowing it to be acquired "
2396 "by a new controlling process."
2397 msgstr ""
2398 "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッション"
2399 "の制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある "
2400 "各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 "
2401 "これにより新しい制御プロセスを取得することができる。"
2402
2403 #. type: Plain text
2404 #: build/C/man3/exit.3:183
2405 msgid ""
2406 "If the exit of the process causes a process group to become orphaned, and if "
2407 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
2408 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
2409 "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
2410 "groups."
2411 msgstr ""
2412 "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメン"
2413 "バーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して "
2414 "B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した "
2415 "(orphaned) プロセスグループの説明は B<setpgid>(2)  を参照。"
2416
2417 #. type: Plain text
2418 #: build/C/man3/exit.3:190
2419 msgid ""
2420 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2421 "B<tmpfile>(3)"
2422 msgstr ""
2423 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
2424 "B<tmpfile>(3)"
2425
2426 #. type: TH
2427 #: build/C/man3/gcvt.3:30
2428 #, no-wrap
2429 msgid "GCVT"
2430 msgstr "GCVT"
2431
2432 #. type: Plain text
2433 #: build/C/man3/gcvt.3:33
2434 msgid "gcvt - convert a floating-point number to a string"
2435 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
2436
2437 #. type: Plain text
2438 #: build/C/man3/gcvt.3:38
2439 #, no-wrap
2440 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2441 msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
2442
2443 #. type: Plain text
2444 #: build/C/man3/gcvt.3:46
2445 msgid "B<gcvt>():"
2446 msgstr "B<gcvt>():"
2447
2448 #. type: Plain text
2449 #: build/C/man3/gcvt.3:61
2450 msgid ""
2451 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2452 "_XOPEN_SOURCE_EXTENDED"
2453 msgstr ""
2454 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
2455 "_XOPEN_SOURCE_EXTENDED"
2456
2457 #. type: Plain text
2458 #: build/C/man3/gcvt.3:72
2459 msgid ""
2460 "The B<gcvt>()  function converts I<number> to a minimal length null-"
2461 "terminated ASCII string and stores the result in I<buf>.  It produces "
2462 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
2463 msgstr ""
2464 "関数 B<gcvt>()  は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ"
2465 "変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3)  の F フォーマット"
2466 "や E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
2467
2468 #. type: Plain text
2469 #: build/C/man3/gcvt.3:77
2470 msgid ""
2471 "The B<gcvt>()  function returns the address of the string pointed to by "
2472 "I<buf>."
2473 msgstr "関数 B<gcvt>()  は文字列 I<buf> へのポインタを返す。"
2474
2475 #. type: Plain text
2476 #: build/C/man3/gcvt.3:86
2477 msgid ""
2478 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
2479 "B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though "
2480 "B<snprintf>(3)  may be preferable)."
2481 msgstr ""
2482 "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 "
2483 "POSIX.1-2008 では、 B<gcvt>()  の仕様は削除され、 代わりに B<sprintf>(3)  を"
2484 "使用することが推奨されている (B<snprintf>(3)  の方が適切かもしれないが)。"
2485
2486 #. type: Plain text
2487 #: build/C/man3/gcvt.3:90
2488 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2489 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
2490
2491 #. type: TH
2492 #: build/C/man3/getauxval.3:29
2493 #, no-wrap
2494 msgid "GETAUXVAL"
2495 msgstr "GETAUXVAL"
2496
2497 #. type: Plain text
2498 #: build/C/man3/getauxval.3:32
2499 msgid "getauxval - retrieve a value from the auxiliary vector"
2500 msgstr ""
2501
2502 #. type: Plain text
2503 #: build/C/man3/getauxval.3:35
2504 #, no-wrap
2505 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
2506 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
2507
2508 #. type: Plain text
2509 #: build/C/man3/getauxval.3:37
2510 #, no-wrap
2511 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2512 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
2513
2514 #. type: Plain text
2515 #: build/C/man3/getauxval.3:45
2516 msgid ""
2517 "The B<getauxval>()  function retrieves values from the auxiliary vector, a "
2518 "mechanism that the kernel's ELF binary loader uses to pass certain "
2519 "information to user space when a program is executed."
2520 msgstr ""
2521
2522 #. type: Plain text
2523 #: build/C/man3/getauxval.3:53
2524 msgid ""
2525 "Each entry in the auxiliary vector consists of a pair of values: a type that "
2526 "identifies what this entry represents, and a value for that type.  Given the "
2527 "argument I<type>, B<getauxval>()  returns the corresponding value."
2528 msgstr ""
2529
2530 #. type: Plain text
2531 #: build/C/man3/getauxval.3:60
2532 msgid ""
2533 "The value returned for each I<type> is given in the following list.  Not all "
2534 "I<type> values are present on all architectures."
2535 msgstr ""
2536
2537 #. type: TP
2538 #: build/C/man3/getauxval.3:60
2539 #, no-wrap
2540 msgid "B<AT_BASE>"
2541 msgstr "B<AT_BASE>"
2542
2543 #. type: Plain text
2544 #: build/C/man3/getauxval.3:63
2545 msgid ""
2546 "The base address of the program interpreter (usually, the dynamic linker)."
2547 msgstr ""
2548
2549 #. type: TP
2550 #: build/C/man3/getauxval.3:63
2551 #, no-wrap
2552 msgid "B<AT_BASE_PLATFORM>"
2553 msgstr "B<AT_BASE_PLATFORM>"
2554
2555 #. type: Plain text
2556 #: build/C/man3/getauxval.3:68
2557 msgid ""
2558 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
2559 "(PowerPC only)."
2560 msgstr ""
2561
2562 #. type: TP
2563 #: build/C/man3/getauxval.3:68
2564 #, no-wrap
2565 msgid "B<AT_CLKTCK>"
2566 msgstr "B<AT_CLKTCK>"
2567
2568 #. type: Plain text
2569 #: build/C/man3/getauxval.3:75
2570 msgid ""
2571 "The frequency with which B<times>(2)  counts.  This value can also be "
2572 "obtained via I<sysconf(_SC_CLK_TCK)>."
2573 msgstr ""
2574
2575 #. type: TP
2576 #: build/C/man3/getauxval.3:75
2577 #, no-wrap
2578 msgid "B<AT_DCACHEBSIZE>"
2579 msgstr "B<AT_DCACHEBSIZE>"
2580
2581 #. type: Plain text
2582 #: build/C/man3/getauxval.3:78
2583 msgid "The data cache block size."
2584 msgstr ""
2585
2586 #. type: TP
2587 #: build/C/man3/getauxval.3:78
2588 #, no-wrap
2589 msgid "B<AT_EGID>"
2590 msgstr "B<AT_EGID>"
2591
2592 #. type: Plain text
2593 #: build/C/man3/getauxval.3:81
2594 msgid "The effective group ID of the thread."
2595 msgstr ""
2596
2597 #. type: TP
2598 #: build/C/man3/getauxval.3:81
2599 #, no-wrap
2600 msgid "B<AT_ENTRY>"
2601 msgstr "B<AT_ENTRY>"
2602
2603 #. type: Plain text
2604 #: build/C/man3/getauxval.3:84
2605 msgid "The entry address of the executable."
2606 msgstr ""
2607
2608 #. type: TP
2609 #: build/C/man3/getauxval.3:84
2610 #, no-wrap
2611 msgid "B<AT_EUID>"
2612 msgstr "B<AT_EUID>"
2613
2614 #. type: Plain text
2615 #: build/C/man3/getauxval.3:87
2616 msgid "The effective user ID of the thread."
2617 msgstr ""
2618
2619 #. type: TP
2620 #: build/C/man3/getauxval.3:87
2621 #, no-wrap
2622 msgid "B<AT_EXECFD>"
2623 msgstr "B<AT_EXECFD>"
2624
2625 #. type: Plain text
2626 #: build/C/man3/getauxval.3:90
2627 msgid "File descriptor of program."
2628 msgstr ""
2629
2630 #. type: TP
2631 #: build/C/man3/getauxval.3:90
2632 #, no-wrap
2633 msgid "B<AT_EXECFN>"
2634 msgstr "B<AT_EXECFN>"
2635
2636 #. type: Plain text
2637 #: build/C/man3/getauxval.3:93
2638 msgid "Pathname used to execute program."
2639 msgstr ""
2640
2641 #. type: TP
2642 #: build/C/man3/getauxval.3:93
2643 #, no-wrap
2644 msgid "B<AT_FLAGS>"
2645 msgstr "B<AT_FLAGS>"
2646
2647 #. type: Plain text
2648 #: build/C/man3/getauxval.3:96
2649 msgid "Flags (unused)."
2650 msgstr ""
2651
2652 #. type: TP
2653 #: build/C/man3/getauxval.3:96
2654 #, no-wrap
2655 msgid "B<AT_FPUCW>"
2656 msgstr "B<AT_FPUCW>"
2657
2658 #. type: Plain text
2659 #: build/C/man3/getauxval.3:101
2660 msgid ""
2661 "Used FPU control word (SuperH architecture only).  This gives some "
2662 "information about the FPU initialization performed by the kernel."
2663 msgstr ""
2664
2665 #. type: TP
2666 #: build/C/man3/getauxval.3:101
2667 #, no-wrap
2668 msgid "B<AT_GID>"
2669 msgstr "B<AT_GID>"
2670
2671 #. type: Plain text
2672 #: build/C/man3/getauxval.3:104
2673 msgid "The real group ID of the thread."
2674 msgstr ""
2675
2676 #. type: TP
2677 #: build/C/man3/getauxval.3:104
2678 #, no-wrap
2679 msgid "B<AT_HWCAP>"
2680 msgstr "B<AT_HWCAP>"
2681
2682 #. type: Plain text
2683 #: build/C/man3/getauxval.3:114
2684 msgid ""
2685 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2686 "processor capabilities.  The contents of the bit mask are hardware dependent "
2687 "(for example, see the kernel source file I<arch/x86/include/asm/cpufeature."
2688 "h> for details relating to the Intel x86 architecture).  A human-readable "
2689 "version of the same information is available via I</proc/cpuinfo>."
2690 msgstr ""
2691
2692 #. type: TP
2693 #: build/C/man3/getauxval.3:114
2694 #, no-wrap
2695 msgid "B<AT_ICACHEBSIZE>"
2696 msgstr "B<AT_ICACHEBSIZE>"
2697
2698 #.  .TP
2699 #.  .BR AT_IGNORE
2700 #.  .TP
2701 #.  .BR AT_IGNOREPPC
2702 #.  .TP
2703 #.  .BR AT_NOTELF
2704 #. type: Plain text
2705 #: build/C/man3/getauxval.3:123
2706 msgid "The instruction cache block size."
2707 msgstr ""
2708
2709 #. type: TP
2710 #: build/C/man3/getauxval.3:123
2711 #, no-wrap
2712 msgid "B<AT_PAGESZ>"
2713 msgstr "B<AT_PAGESZ>"
2714
2715 #. type: Plain text
2716 #: build/C/man3/getauxval.3:127
2717 msgid ""
2718 "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2719 msgstr ""
2720
2721 #. type: TP
2722 #: build/C/man3/getauxval.3:127
2723 #, no-wrap
2724 msgid "B<AT_PHDR>"
2725 msgstr "B<AT_PHDR>"
2726
2727 #. type: Plain text
2728 #: build/C/man3/getauxval.3:130
2729 msgid "The address of the program headers of the executable."
2730 msgstr ""
2731
2732 #. type: TP
2733 #: build/C/man3/getauxval.3:130
2734 #, no-wrap
2735 msgid "B<AT_PHENT>"
2736 msgstr "B<AT_PHENT>"
2737
2738 #. type: Plain text
2739 #: build/C/man3/getauxval.3:133
2740 msgid "The size of program header entry."
2741 msgstr ""
2742
2743 #. type: TP
2744 #: build/C/man3/getauxval.3:133
2745 #, no-wrap
2746 msgid "B<AT_PHNUM>"
2747 msgstr "B<AT_PHNUM>"
2748
2749 #. type: Plain text
2750 #: build/C/man3/getauxval.3:136
2751 msgid "The number of program headers."
2752 msgstr ""
2753
2754 #. type: TP
2755 #: build/C/man3/getauxval.3:136
2756 #, no-wrap
2757 msgid "B<AT_PLATFORM>"
2758 msgstr "B<AT_PLATFORM>"
2759
2760 #. type: Plain text
2761 #: build/C/man3/getauxval.3:143
2762 msgid ""
2763 "A pointer to a string that identifies the hardware platform that the program "
2764 "is running on.  The dynamic linker uses this in the interpretation of "
2765 "I<rpath> values."
2766 msgstr ""
2767
2768 #. type: TP
2769 #: build/C/man3/getauxval.3:143
2770 #, no-wrap
2771 msgid "B<AT_RANDOM>"
2772 msgstr "B<AT_RANDOM>"
2773
2774 #. type: Plain text
2775 #: build/C/man3/getauxval.3:146
2776 msgid "The address of sixteen bytes containing a random value."
2777 msgstr ""
2778
2779 #. type: TP
2780 #: build/C/man3/getauxval.3:146
2781 #, no-wrap
2782 msgid "B<AT_SECURE>"
2783 msgstr "B<AT_SECURE>"
2784
2785 #. type: Plain text
2786 #: build/C/man3/getauxval.3:158
2787 msgid ""
2788 "Has a nonzero value if this executable should be treated securely.  Most "
2789 "commonly, a nonzero value indicates that the process is executing a set-user-"
2790 "ID or set-group-ID program; alternatively, a nonzero value may be triggered "
2791 "by a Linux Security Module.  When this value is nonzero, the dynamic linker "
2792 "disables the use of certain environment variables (see B<ld-linux.so>(8))  "
2793 "and glibc changes other aspects of its behavior.  (See also "
2794 "B<secure_getenv>(3).)"
2795 msgstr ""
2796
2797 #. type: TP
2798 #: build/C/man3/getauxval.3:158
2799 #, no-wrap
2800 msgid "B<AT_SYSINFO>"
2801 msgstr "B<AT_SYSINFO>"
2802
2803 #. type: Plain text
2804 #: build/C/man3/getauxval.3:162
2805 msgid ""
2806 "The entry point to the system call function in the vDSO.  Not present/needed "
2807 "on all architectures (e.g., absent on x86-64)."
2808 msgstr ""
2809
2810 #. type: TP
2811 #: build/C/man3/getauxval.3:162
2812 #, no-wrap
2813 msgid "B<AT_SYSINFO_EHDR>"
2814 msgstr "B<AT_SYSINFO_EHDR>"
2815
2816 #. type: Plain text
2817 #: build/C/man3/getauxval.3:167
2818 msgid ""
2819 "The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
2820 "that the kernel creates in order to provide fast implementations of certain "
2821 "system calls."
2822 msgstr ""
2823
2824 #. type: TP
2825 #: build/C/man3/getauxval.3:167
2826 #, no-wrap
2827 msgid "B<AT_UCACHEBSIZE>"
2828 msgstr "B<AT_UCACHEBSIZE>"
2829
2830 #. type: Plain text
2831 #: build/C/man3/getauxval.3:170
2832 msgid "The unified cache block size."
2833 msgstr ""
2834
2835 #. type: TP
2836 #: build/C/man3/getauxval.3:170
2837 #, no-wrap
2838 msgid "B<AT_UID>"
2839 msgstr "B<AT_UID>"
2840
2841 #. type: Plain text
2842 #: build/C/man3/getauxval.3:173
2843 msgid "The real user ID of the thread."
2844 msgstr ""
2845
2846 #. type: Plain text
2847 #: build/C/man3/getauxval.3:181
2848 msgid ""
2849 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2850 "I<type> is not found, 0 is returned."
2851 msgstr ""
2852 "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つか"
2853 "らない場合には 0 を返す。"
2854
2855 #. type: TP
2856 #: build/C/man3/getauxval.3:182
2857 #, no-wrap
2858 msgid "B<ENOENT> (since glibc 2.19)"
2859 msgstr "B<ENOENT> (glibc 2.19 以降)"
2860
2861 #.  commit b9ab448f980e296eac21ac65f53783967cc6037b
2862 #. type: Plain text
2863 #: build/C/man3/getauxval.3:188
2864 msgid ""
2865 "No entry corresponding to I<type> could be found in the auxiliary vector."
2866 msgstr ""
2867
2868 #. type: Plain text
2869 #: build/C/man3/getauxval.3:192
2870 msgid "The B<getauxval>()  function was added to glibc in version 2.16."
2871 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2872
2873 #. type: Plain text
2874 #: build/C/man3/getauxval.3:197
2875 msgid "The B<getauxval>()  function is thread-safe."
2876 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2877
2878 #. type: Plain text
2879 #: build/C/man3/getauxval.3:199
2880 msgid "This function is a nonstandard glibc extension."
2881 msgstr "この関数は非標準で glibc による拡張である。"
2882
2883 #. type: Plain text
2884 #: build/C/man3/getauxval.3:208
2885 msgid ""
2886 "The primary consumer of the information in the auxiliary vector is the "
2887 "dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
2888 "efficient shortcut that allows the kernel to communicate a certain set of "
2889 "standard information that the dynamic linker usually or always needs.  In "
2890 "some cases, the same information could be obtained by system calls, but "
2891 "using the auxiliary vector is cheaper."
2892 msgstr ""
2893
2894 #. type: Plain text
2895 #: build/C/man3/getauxval.3:214
2896 msgid ""
2897 "The auxiliary vector resides just above the argument list and environment in "
2898 "the process address space.  The auxiliary vector supplied to a program can "
2899 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2900 "program:"
2901 msgstr ""
2902
2903 #. type: Plain text
2904 #: build/C/man3/getauxval.3:216
2905 #, no-wrap
2906 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2907 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2908
2909 #. type: Plain text
2910 #: build/C/man3/getauxval.3:223
2911 msgid ""
2912 "The auxiliary vector of any process can (subject to file permissions)  be "
2913 "obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
2914 msgstr ""
2915
2916 #. type: SH
2917 #: build/C/man3/getauxval.3:223 build/C/man3/mktemp.3:105
2918 #: build/C/man3/random.3:189 build/C/man3/rpmatch.3:104
2919 #: build/C/man3/setenv.3:144
2920 #, no-wrap
2921 msgid "BUGS"
2922 msgstr "バグ"
2923
2924 #. type: Plain text
2925 #: build/C/man3/getauxval.3:232
2926 msgid ""
2927 "Before the addition of the B<ENOENT> error in glibc 2.19, there was no way "
2928 "to unambiguously distinguish the case where I<type> could not be found from "
2929 "the case where the value corresponding to I<type> was zer0."
2930 msgstr ""
2931
2932 #. type: Plain text
2933 #: build/C/man3/getauxval.3:236
2934 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2935 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2936
2937 #. type: TH
2938 #: build/C/man3/getenv.3:33
2939 #, no-wrap
2940 msgid "GETENV"
2941 msgstr "GETENV"
2942
2943 #. type: TH
2944 #: build/C/man3/getenv.3:33
2945 #, no-wrap
2946 msgid "2012-08-14"
2947 msgstr "2012-08-14"
2948
2949 #. type: Plain text
2950 #: build/C/man3/getenv.3:36
2951 msgid "getenv, secure_getenv - get an environment variable"
2952 msgstr "getenv, secure_getenv - 環境変数を得る"
2953
2954 #. type: Plain text
2955 #: build/C/man3/getenv.3:41
2956 #, no-wrap
2957 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2958 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2959
2960 #. type: Plain text
2961 #: build/C/man3/getenv.3:43
2962 #, no-wrap
2963 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2964 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2965
2966 #. type: Plain text
2967 #: build/C/man3/getenv.3:52
2968 msgid "B<secure_getenv>(): _GNU_SOURCE"
2969 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2970
2971 #. type: Plain text
2972 #: build/C/man3/getenv.3:61
2973 msgid ""
2974 "The B<getenv>()  function searches the environment list to find the "
2975 "environment variable I<name>, and returns a pointer to the corresponding "
2976 "I<value> string."
2977 msgstr ""
2978 "関数 B<getenv>()  は、環境リストから名前が I<name> の環境変数を検索し、対応す"
2979 "る I<value> 文字列へのポインタを返す。"
2980
2981 #. type: Plain text
2982 #: build/C/man3/getenv.3:69
2983 msgid ""
2984 "The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
2985 "except that it returns NULL in cases where \"secure execution\" is "
2986 "required.  Secure execution is required if one of the following conditions "
2987 "was true when the program run by the calling process was loaded:"
2988 msgstr ""
2989 "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure "
2990 "execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 "
2991 "\"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプ"
2992 "ログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2993
2994 #. type: IP
2995 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
2996 #: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
2997 #: build/C/man3/system.3:91
2998 #, no-wrap
2999 msgid "*"
3000 msgstr "*"
3001
3002 #. type: Plain text
3003 #: build/C/man3/getenv.3:74
3004 msgid ""
3005 "the process's effective user ID did not match its real user ID or the "
3006 "process's effective group ID did not match its real group ID (typically this "
3007 "is the result of executing a set-user-ID or set-group-ID program);"
3008 msgstr ""
3009 "プロセスの実効ユーザ ID がプロセスの実ユーザ ID と一致しない場合、またはプロ"
3010 "セスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この"
3011 "状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場"
3012 "合である)。"
3013
3014 #. type: Plain text
3015 #: build/C/man3/getenv.3:76
3016 msgid "the effective capability bit was set on the executable file; or"
3017 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
3018
3019 #. type: Plain text
3020 #: build/C/man3/getenv.3:78
3021 msgid "the process has a nonempty permitted capability set."
3022 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
3023
3024 #. type: Plain text
3025 #: build/C/man3/getenv.3:81
3026 msgid ""
3027 "Secure execution may also required if triggered by some Linux security "
3028 "modules."
3029 msgstr ""
3030 "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は"
3031 "必要となる。"
3032
3033 #. type: Plain text
3034 #: build/C/man3/getenv.3:88
3035 msgid ""
3036 "The B<secure_getenv>()  function is intended for use in general-purpose "
3037 "libraries to avoid vulnerabilities that could occur if set-user-ID or set-"
3038 "group-ID programs accidentally trusted the environment."
3039 msgstr ""
3040 "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラム"
3041 "が実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回"
3042 "避するために使うことを意図して作られた。"
3043
3044 #. type: Plain text
3045 #: build/C/man3/getenv.3:93
3046 msgid ""
3047 "The B<getenv>()  function returns a pointer to the value in the environment, "
3048 "or NULL if there is no match."
3049 msgstr ""
3050 "関数 B<getenv>()  は、環境における値 value へのポインタを返す。 I<name> に"
3051 "マッチする環境変数が存在しないときには NULL を返す。"
3052
3053 #. type: Plain text
3054 #: build/C/man3/getenv.3:96
3055 msgid "B<secure_getenv>()  first appeared in glibc 2.17."
3056 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
3057
3058 #. type: Plain text
3059 #: build/C/man3/getenv.3:99
3060 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3061 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
3062
3063 #. type: Plain text
3064 #: build/C/man3/getenv.3:102
3065 msgid "B<secure_getenv>()  is a GNU extension."
3066 msgstr "B<secure_getenv>() は GNU による拡張である。"
3067
3068 #. type: Plain text
3069 #: build/C/man3/getenv.3:104
3070 msgid "The strings in the environment list are of the form I<name=value>."
3071 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
3072
3073 #. type: Plain text
3074 #: build/C/man3/getenv.3:110
3075 msgid ""
3076 "As typically implemented, B<getenv>()  returns a pointer to a string within "
3077 "the environment list.  The caller must take care not to modify this string, "
3078 "since that would change the environment of the process."
3079 msgstr ""
3080 "通常の実装では、 B<getenv>()  は環境リスト内の文字列へのポインタを返す。 呼び"
3081 "出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更"
3082 "すると、そのプロセスの環境を変化させることになるからである。"
3083
3084 #. type: Plain text
3085 #: build/C/man3/getenv.3:123
3086 msgid ""
3087 "The implementation of B<getenv>()  is not required to be reentrant.  The "
3088 "string pointed to by the return value of B<getenv>()  may be statically "
3089 "allocated, and can be modified by a subsequent call to B<getenv>(), "
3090 "B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
3091 msgstr ""
3092 "B<getenv>()  の実装はリエントラント (再入可能) であることを要求されていな"
3093 "い。 B<getenv>()  の返り値により参照される文字列は静的に割り当てられてもよ"
3094 "く、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), "
3095 "B<unsetenv>(3)  の呼び出しにより変更されることがある。"
3096
3097 #. type: Plain text
3098 #: build/C/man3/getenv.3:129
3099 msgid ""
3100 "The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
3101 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
3102 "to user space."
3103 msgstr ""
3104 "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザ空間"
3105 "に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御さ"
3106 "れる。"
3107
3108 #. type: Plain text
3109 #: build/C/man3/getenv.3:137
3110 msgid ""
3111 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3112 "B<capabilities>(7), B<environ>(7)"
3113 msgstr ""
3114 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
3115 "B<capabilities>(7), B<environ>(7)"
3116
3117 #. type: TH
3118 #: build/C/man3/getloadavg.3:34
3119 #, no-wrap
3120 msgid "GETLOADAVG"
3121 msgstr "GETLOADAVG"
3122
3123 #. type: TH
3124 #: build/C/man3/getloadavg.3:34
3125 #, no-wrap
3126 msgid "2014-04-01"
3127 msgstr "2014-04-01"
3128
3129 #. type: Plain text
3130 #: build/C/man3/getloadavg.3:37
3131 msgid "getloadavg - get system load averages"
3132 msgstr "getloadavg - get system load averages"
3133
3134 #. type: Plain text
3135 #: build/C/man3/getloadavg.3:41
3136 #, no-wrap
3137 msgid ""
3138 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
3139 "B<#include E<lt>stdlib.hE<gt>>\n"
3140 msgstr ""
3141 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
3142 "B<#include E<lt>stdlib.hE<gt>>\n"
3143
3144 #. type: Plain text
3145 #: build/C/man3/getloadavg.3:43
3146 #, no-wrap
3147 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3148 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
3149
3150 #. type: Plain text
3151 #: build/C/man3/getloadavg.3:55
3152 msgid ""
3153 "The B<getloadavg>()  function returns the number of processes in the system "
3154 "run queue averaged over various periods of time.  Up to I<nelem> samples are "
3155 "retrieved and assigned to successive elements of I<loadavg>[].  The system "
3156 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
3157 "and 15 minutes, respectively."
3158 msgstr ""
3159 "B<getloadavg>()  関数はシステムの実行キューに入っているプロセスの数を、 様々"
3160 "な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 "
3161 "I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個ま"
3162 "でで、 それぞれ最近 1, 5, 15 分の平均を表している。"
3163
3164 #.  .SH HISTORY
3165 #.  The
3166 #.  BR getloadavg ()
3167 #.  function appeared in
3168 #.  4.3BSD Reno .
3169 #. type: Plain text
3170 #: build/C/man3/getloadavg.3:63
3171 msgid ""
3172 "If the load average was unobtainable, -1 is returned; otherwise, the number "
3173 "of samples actually retrieved is returned."
3174 msgstr ""
3175 "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル"
3176 "値の数を返す。"
3177
3178 #. type: Plain text
3179 #: build/C/man3/getloadavg.3:65
3180 msgid "This function is available in glibc since version 2.2."
3181 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
3182
3183 #. type: Plain text
3184 #: build/C/man3/getloadavg.3:70
3185 msgid "The B<getloadavg>()  function is thread-safe."
3186 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
3187
3188 #.  mdoc seems to have a bug - there must be no newline here
3189 #. type: Plain text
3190 #: build/C/man3/getloadavg.3:74
3191 msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
3192 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
3193
3194 #. type: Plain text
3195 #: build/C/man3/getloadavg.3:77
3196 msgid "B<uptime>(1), B<proc>(5)"
3197 msgstr "B<uptime>(1), B<proc>(5)"
3198
3199 #. type: TH
3200 #: build/C/man3/getsubopt.3:25
3201 #, no-wrap
3202 msgid "GETSUBOPT"
3203 msgstr "GETSUBOPT"
3204
3205 #. type: TH
3206 #: build/C/man3/getsubopt.3:25
3207 #, no-wrap
3208 msgid "2014-04-08"
3209 msgstr "2014-04-08"
3210
3211 #. type: Plain text
3212 #: build/C/man3/getsubopt.3:28
3213 msgid "getsubopt - parse suboption arguments from a string"
3214 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
3215
3216 #. type: Plain text
3217 #: build/C/man3/getsubopt.3:33
3218 msgid ""
3219 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3220 "**>I<valuep>B<);>"
3221 msgstr ""
3222 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
3223 "**>I<valuep>B<);>"
3224
3225 #. type: Plain text
3226 #: build/C/man3/getsubopt.3:40
3227 msgid "B<getsubopt>():"
3228 msgstr "B<getsubopt>():"
3229
3230 #. type: Plain text
3231 #: build/C/man3/getsubopt.3:45
3232 msgid ""
3233 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3234 msgstr ""
3235 "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3236
3237 #. type: Plain text
3238 #: build/C/man3/getsubopt.3:47
3239 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3240 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3241
3242 #. type: Plain text
3243 #: build/C/man3/getsubopt.3:64
3244 msgid ""
3245 "B<getsubopt>()  parses the list of comma-separated suboptions provided in "
3246 "I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
3247 "is used to parse a command line; see for example the I<-o> option of "
3248 "B<mount>(8).)  Each suboption may include an associated value, which is "
3249 "separated from the suboption name by an equal sign.  The following is an "
3250 "example of the kind of string that might be passed in I<optionp>:"
3251 msgstr ""
3252 "B<getsubopt>()  は、 I<optionp> で与えられたカンマ区切りのサブオプション・リ"
3253 "ストを解析する。 (このようなサブオプション・リストは B<getopt>(3)  を使ってコ"
3254 "マンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8)  の I<-"
3255 "o> オプションを見るとよい。)  それぞれのサブオプションには対応する値を指定す"
3256 "ることができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切"
3257 "られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
3258
3259 #. type: Plain text
3260 #: build/C/man3/getsubopt.3:67
3261 msgid "B<ro,name=xyz>"
3262 msgstr "B<ro,name=xyz>"
3263
3264 #. type: Plain text
3265 #: build/C/man3/getsubopt.3:77
3266 msgid ""
3267 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
3268 "to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
3269 "should be distinct, null-terminated strings containing at least one "
3270 "character, with no embedded equal signs or commas."
3271 msgstr ""
3272 "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終"
3273 "端される。 B<getsubopt>()  はこのトークンを I<optionp> 内で探す。 それぞれの"
3274 "トークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必"
3275 "要がある。 また、等号とカンマを含んではならない。"
3276
3277 #. type: Plain text
3278 #: build/C/man3/getsubopt.3:98
3279 msgid ""
3280 "Each call to B<getsubopt>()  returns information about the next unprocessed "
3281 "suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
3282 "interpreted as a separator between the name and the value of that "
3283 "suboption.  The value extends to the next comma, or (for the last suboption) "
3284 "to the end of the string.  If the name of the suboption matches a known name "
3285 "from I<tokens>, and a value string was found, B<getsubopt>()  sets "
3286 "I<*valuep> to the address of that string.  The first comma in I<optionp> is "
3287 "overwritten with a null byte, so I<*valuep> is precisely the \"value string"
3288 "\" for that suboption."
3289 msgstr ""
3290 "B<getsubopt>()  は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプ"
3291 "ションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサ"
3292 "ブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブ"
3293 "オプションの場合、文字列の末尾)  までが、サブオプションの値となる。 サブオプ"
3294 "ションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 "
3295 "B<getsubopt>()  は I<*valuep> を値を表す文字列のアドレスに設定する。 "
3296 "I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> "
3297 "はそのサブオプションの「値の文字列」そのものとなる。"
3298
3299 #. type: Plain text
3300 #: build/C/man3/getsubopt.3:102
3301 msgid ""
3302 "If the suboption is recognized, but no value string was found, I<*valuep> is "
3303 "set to NULL."
3304 msgstr ""
3305 "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 "
3306 "*I<valuep> は NULL に設定される。"
3307
3308 #. type: Plain text
3309 #: build/C/man3/getsubopt.3:110
3310 msgid ""
3311 "When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
3312 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
3313 "suboption was just processed."
3314 msgstr ""
3315 "B<getsubopt>()  が返る時、 I<optionp> は次のサブオプションを指している。 ちょ"
3316 "うど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq"
3317 "\\e0\\(aq) を指している。"
3318
3319 #. type: Plain text
3320 #: build/C/man3/getsubopt.3:122
3321 msgid ""
3322 "If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
3323 "the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
3324 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
3325 msgstr ""
3326 "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>()  は最初のサブ"
3327 "オプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場"
3328 "合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体"
3329 "となる。"
3330
3331 #. type: Plain text
3332 #: build/C/man3/getsubopt.3:129
3333 msgid ""
3334 "Since I<*optionp> is changed, the first suboption before the call to "
3335 "B<getsubopt>()  is not (necessarily) the same as the first suboption after "
3336 "B<getsubopt>()."
3337 msgstr ""
3338 "I<*optionp> は変更されるので、 B<getsubopt>()  を呼び出す前の最初のサブオプ"
3339 "ションは B<getsubopt>()  を呼び出し後のサブオプションと必ずしも同じとは限らな"
3340 "い。"
3341
3342 #. type: Plain text
3343 #: build/C/man3/getsubopt.3:134
3344 msgid "The B<getsubopt>()  function is thread-safe."
3345 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
3346
3347 #. type: Plain text
3348 #: build/C/man3/getsubopt.3:143
3349 msgid ""
3350 "Since B<getsubopt>()  overwrites any commas it finds in the string "
3351 "I<*optionp>, that string must be writable; it cannot be a string constant."
3352 msgstr ""
3353 "B<getsubopt>()  は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文"
3354 "字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはでき"
3355 "ない。"
3356
3357 #. type: Plain text
3358 #: build/C/man3/getsubopt.3:145
3359 msgid "The following program expects suboptions following a \"-o\" option."
3360 msgstr ""
3361 "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待し"
3362 "ている。"
3363
3364 #. type: Plain text
3365 #: build/C/man3/getsubopt.3:151
3366 #, no-wrap
3367 msgid ""
3368 "#define _XOPEN_SOURCE 500\n"
3369 "#include E<lt>stdlib.hE<gt>\n"
3370 "#include E<lt>assert.hE<gt>\n"
3371 "#include E<lt>stdio.hE<gt>\n"
3372 msgstr ""
3373 "#define _XOPEN_SOURCE 500\n"
3374 "#include E<lt>stdlib.hE<gt>\n"
3375 "#include E<lt>assert.hE<gt>\n"
3376 "#include E<lt>stdio.hE<gt>\n"
3377
3378 #. type: Plain text
3379 #: build/C/man3/getsubopt.3:169
3380 #, no-wrap
3381 msgid ""
3382 "int\n"
3383 "main(int argc, char **argv)\n"
3384 "{\n"
3385 "    enum {\n"
3386 "        RO_OPT = 0,\n"
3387 "        RW_OPT,\n"
3388 "        NAME_OPT\n"
3389 "    };\n"
3390 "    char *const token[] = {\n"
3391 "        [RO_OPT]   = \"ro\",\n"
3392 "        [RW_OPT]   = \"rw\",\n"
3393 "        [NAME_OPT] = \"name\",\n"
3394 "        NULL\n"
3395 "    };\n"
3396 "    char *subopts;\n"
3397 "    char *value;\n"
3398 "    int opt;\n"
3399 msgstr ""
3400 "int\n"
3401 "main(int argc, char **argv)\n"
3402 "{\n"
3403 "    enum {\n"
3404 "        RO_OPT = 0,\n"
3405 "        RW_OPT,\n"
3406 "        NAME_OPT\n"
3407 "    };\n"
3408 "    char *const token[] = {\n"
3409 "        [RO_OPT]   = \"ro\",\n"
3410 "        [RW_OPT]   = \"rw\",\n"
3411 "        [NAME_OPT] = \"name\",\n"
3412 "        NULL\n"
3413 "    };\n"
3414 "    char *subopts;\n"
3415 "    char *value;\n"
3416 "    int opt;\n"
3417
3418 #. type: Plain text
3419 #: build/C/man3/getsubopt.3:174
3420 #, no-wrap
3421 msgid ""
3422 "    int readonly = 0;\n"
3423 "    int readwrite = 0;\n"
3424 "    char *name = NULL;\n"
3425 "    int errfnd = 0;\n"
3426 msgstr ""
3427 "    int readonly = 0;\n"
3428 "    int readwrite = 0;\n"
3429 "    char *name = NULL;\n"
3430 "    int errfnd = 0;\n"
3431
3432 #. type: Plain text
3433 #: build/C/man3/getsubopt.3:180
3434 #, no-wrap
3435 msgid ""
3436 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3437 "        switch (opt) {\n"
3438 "        case \\(aqo\\(aq:\n"
3439 "            subopts = optarg;\n"
3440 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3441 msgstr ""
3442 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
3443 "        switch (opt) {\n"
3444 "        case \\(aqo\\(aq:\n"
3445 "            subopts = optarg;\n"
3446 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
3447
3448 #. type: Plain text
3449 #: build/C/man3/getsubopt.3:185
3450 #, no-wrap
3451 msgid ""
3452 "            switch (getsubopt(&subopts, token, &value)) {\n"
3453 "            case RO_OPT:\n"
3454 "                readonly = 1;\n"
3455 "                break;\n"
3456 msgstr ""
3457 "            switch (getsubopt(&subopts, token, &value)) {\n"
3458 "            case RO_OPT:\n"
3459 "                readonly = 1;\n"
3460 "                break;\n"
3461
3462 #. type: Plain text
3463 #: build/C/man3/getsubopt.3:189
3464 #, no-wrap
3465 msgid ""
3466 "            case RW_OPT:\n"
3467 "                readwrite = 1;\n"
3468 "                break;\n"
3469 msgstr ""
3470 "            case RW_OPT:\n"
3471 "                readwrite = 1;\n"
3472 "                break;\n"
3473
3474 #. type: Plain text
3475 #: build/C/man3/getsubopt.3:197
3476 #, no-wrap
3477 msgid ""
3478 "            case NAME_OPT:\n"
3479 "                if (value == NULL) {\n"
3480 "                    fprintf(stderr, \"Missing value for \"\n"
3481 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3482 "                    errfnd = 1;\n"
3483 "                    continue;\n"
3484 "                }\n"
3485 msgstr ""
3486 "            case NAME_OPT:\n"
3487 "                if (value == NULL) {\n"
3488 "                    fprintf(stderr, \"Missing value for \"\n"
3489 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
3490 "                    errfnd = 1;\n"
3491 "                    continue;\n"
3492 "                }\n"
3493
3494 #. type: Plain text
3495 #: build/C/man3/getsubopt.3:200
3496 #, no-wrap
3497 msgid ""
3498 "                name = value;\n"
3499 "                break;\n"
3500 msgstr ""
3501 "                name = value;\n"
3502 "                break;\n"
3503
3504 #. type: Plain text
3505 #: build/C/man3/getsubopt.3:214
3506 #, no-wrap
3507 msgid ""
3508 "            default:\n"
3509 "                fprintf(stderr, \"No match found \"\n"
3510 "                        \"for token: /%s/\\en\", value);\n"
3511 "                errfnd = 1;\n"
3512 "                break;\n"
3513 "            }\n"
3514 "        }\n"
3515 "        if (readwrite && readonly) {\n"
3516 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3517 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3518 "            errfnd = 1;\n"
3519 "        }\n"
3520 "        break;\n"
3521 msgstr ""
3522 "            default:\n"
3523 "                fprintf(stderr, \"No match found \"\n"
3524 "                        \"for token: /%s/\\en\", value);\n"
3525 "                errfnd = 1;\n"
3526 "                break;\n"
3527 "            }\n"
3528 "        }\n"
3529 "        if (readwrite && readonly) {\n"
3530 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
3531 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
3532 "            errfnd = 1;\n"
3533 "        }\n"
3534 "        break;\n"
3535
3536 #. type: Plain text
3537 #: build/C/man3/getsubopt.3:219
3538 #, no-wrap
3539 msgid ""
3540 "        default:\n"
3541 "            errfnd = 1;\n"
3542 "        }\n"
3543 "    }\n"
3544 msgstr ""
3545 "        default:\n"
3546 "            errfnd = 1;\n"
3547 "        }\n"
3548 "    }\n"
3549
3550 #. type: Plain text
3551 #: build/C/man3/getsubopt.3:226
3552 #, no-wrap
3553 msgid ""
3554 "    if (errfnd || argc == 1) {\n"
3555 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3556 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3557 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3558 "        exit(EXIT_FAILURE);\n"
3559 "    }\n"
3560 msgstr ""
3561 "    if (errfnd || argc == 1) {\n"
3562 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
3563 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
3564 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
3565 "        exit(EXIT_FAILURE);\n"
3566 "    }\n"
3567
3568 #. type: Plain text
3569 #: build/C/man3/getsubopt.3:228
3570 #, no-wrap
3571 msgid "    /* Remainder of program... */\n"
3572 msgstr "    /* Remainder of program... */\n"
3573
3574 #. type: Plain text
3575 #: build/C/man3/getsubopt.3:234
3576 msgid "B<getopt>(3)"
3577 msgstr "B<getopt>(3)"
3578
3579 #. type: TH
3580 #: build/C/man3/malloc.3:33
3581 #, no-wrap
3582 msgid "MALLOC"
3583 msgstr "MALLOC"
3584
3585 #. type: TH
3586 #: build/C/man3/malloc.3:33
3587 #, no-wrap
3588 msgid "2014-05-21"
3589 msgstr "2014-05-21"
3590
3591 #. type: Plain text
3592 #: build/C/man3/malloc.3:36
3593 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
3594 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
3595
3596 #. type: Plain text
3597 #: build/C/man3/malloc.3:44
3598 #, no-wrap
3599 msgid ""
3600 "B<void *malloc(size_t >I<size>B<);>\n"
3601 "B<void free(void >I<*ptr>B<);>\n"
3602 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3603 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3604 msgstr ""
3605 "B<void *malloc(size_t >I<size>B<);>\n"
3606 "B<void free(void >I<*ptr>B<);>\n"
3607 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
3608 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
3609
3610 #.  glibc does this:
3611 #. type: Plain text
3612 #: build/C/man3/malloc.3:61
3613 msgid ""
3614 "The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
3615 "the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
3616 "then B<malloc>()  returns either NULL, or a unique pointer value that can "
3617 "later be successfully passed to B<free>()."
3618 msgstr ""
3619 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
3620 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
3621 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
3622 "一意なポインタ値を返す。"
3623
3624 #. type: Plain text
3625 #: build/C/man3/malloc.3:77
3626 msgid ""
3627 "The B<free>()  function frees the memory space pointed to by I<ptr>, which "
3628 "must have been returned by a previous call to B<malloc>(), B<calloc>(), or "
3629 "B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
3630 "undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
3631 msgstr ""
3632 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタ"
3633 "は、\n"
3634 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した"
3635 "値で\n"
3636 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実"
3637 "行\n"
3638 "されていたりした場合の動作は定義されていない。\n"
3639 "I<ptr> が NULL の場合には、何の動作も行われない。"
3640
3641 #.  glibc does this:
3642 #. type: Plain text
3643 #: build/C/man3/malloc.3:96
3644 msgid ""
3645 "The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
3646 "of I<size> bytes each and returns a pointer to the allocated memory.  The "
3647 "memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
3648 "returns either NULL, or a unique pointer value that can later be "
3649 "successfully passed to B<free>()."
3650 msgstr ""
3651 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
3652 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼ"
3653 "ロ\n"
3654 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
3655 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
3656 "ポインタ値を返す。"
3657
3658 #. type: Plain text
3659 #: build/C/man3/malloc.3:132
3660 msgid ""
3661 "The B<realloc>()  function changes the size of the memory block pointed to "
3662 "by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
3663 "from the start of the region up to the minimum of the old and new sizes.  If "
3664 "the new size is larger than the old size, the added memory will I<not> be "
3665 "initialized.  If I<ptr> is NULL, then the call is equivalent to "
3666 "I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
3667 "I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless "
3668 "I<ptr> is NULL, it must have been returned by an earlier call to "
3669 "B<malloc>(), B<calloc>()  or B<realloc>().  If the area pointed to was "
3670 "moved, a I<free(ptr)> is done."
3671 msgstr ""
3672 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイ"
3673 "ト\n"
3674 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
3675 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
3676 "初期化 I<されない>。\n"
3677 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
3678 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
3679 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), "
3680 "B<calloc>(),\n"
3681 "B<realloc>() のいずれかが返した値でなければならない。\n"
3682 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
3683
3684 #. type: Plain text
3685 #: build/C/man3/malloc.3:152
3686 msgid ""
3687 "The B<malloc>()  and B<calloc>()  functions return a pointer to the "
3688 "allocated memory, which is suitably aligned for any built-in type.  On "
3689 "error, these functions return NULL.  NULL may also be returned by a "
3690 "successful call to B<malloc>()  with a I<size> of zero, or by a successful "
3691 "call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
3692 msgstr ""
3693 "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 "
3694 "割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントさ"
3695 "れる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した "
3696 "B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した"
3697 "場合にも NULL が返される。"
3698
3699 #. type: Plain text
3700 #: build/C/man3/malloc.3:156
3701 msgid "The B<free>()  function returns no value."
3702 msgstr "B<free>() 関数は値を返さない。"
3703
3704 #. type: Plain text
3705 #: build/C/man3/malloc.3:171
3706 msgid ""
3707 "The B<realloc>()  function returns a pointer to the newly allocated memory, "
3708 "which is suitably aligned for any built-in type and may be different from "
3709 "I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
3710 "NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
3711 "B<realloc>()  fails, the original block is left untouched; it is not freed "
3712 "or moved."
3713 msgstr ""
3714 "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあら"
3715 "ゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なる"
3716 "こともある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合に"
3717 "は、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() "
3718 "が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動され"
3719 "たりはしない。"
3720
3721 #. type: Plain text
3722 #: build/C/man3/malloc.3:173
3723 msgid "C89, C99."
3724 msgstr "C89, C99."
3725
3726 #. type: Plain text
3727 #: build/C/man3/malloc.3:189
3728 msgid ""
3729 "By default, Linux follows an optimistic memory allocation strategy.  This "
3730 "means that when B<malloc>()  returns non-NULL there is no guarantee that the "
3731 "memory really is available.  In case it turns out that the system is out of "
3732 "memory, one or more processes will be killed by the OOM killer.  For more "
3733 "information, see the description of I</proc/sys/vm/overcommit_memory> and I</"
3734 "proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
3735 "I<Documentation/vm/overcommit-accounting>."
3736 msgstr ""
3737 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
3738 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であるこ"
3739 "と\n"
3740 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
3741 "killer) によって一つまたは複数のプロセスが削除される。\n"
3742 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
3743 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
3744 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
3745
3746 #. type: Plain text
3747 #: build/C/man3/malloc.3:210
3748 msgid ""
3749 "Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
3750 "of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
3751 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
3752 "allocates the memory as a private anonymous mapping using B<mmap>(2).  "
3753 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
3754 "B<mallopt>(3).  Allocations performed using B<mmap>(2)  are unaffected by "
3755 "the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
3756 msgstr ""
3757 "通常、 B<malloc>()  は、ヒープからメモリを割り当て、必要に応じてヒープのサイ"
3758 "ズを B<sbrk>(2)  を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモ"
3759 "リブロックを割り当てる場合、 glibc の B<malloc>()  実装は B<mmap>(2)  を使っ"
3760 "てプライベートな無名マッピング (anonymous mapping) として メモリを割り当て"
3761 "る。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3)  を使っ"
3762 "て調整できる。 B<mmap>(2)  を使って行われたメモリ割り当ては B<RLIMIT_DATA> リ"
3763 "ソース上限の影響を受けない (B<getrlimit>(2)  参照)。"
3764
3765 #. type: Plain text
3766 #: build/C/man3/malloc.3:228
3767 msgid ""
3768 "To avoid corruption in multithreaded applications, mutexes are used "
3769 "internally to protect the memory-management data structures employed by "
3770 "these functions.  In a multithreaded application in which threads "
3771 "simultaneously allocate and free memory, there could be contention for these "
3772 "mutexes.  To scalably handle memory allocation in multithreaded "
3773 "applications, glibc creates additional I<memory allocation arenas> if mutex "
3774 "contention is detected.  Each arena is a large region of memory that is "
3775 "internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
3776 "managed with its own mutexes."
3777 msgstr ""
3778 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutex"
3779 "を\n"
3780 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
3781 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリ"
3782 "ケー\n"
3783 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーショ"
3784 "ン\n"
3785 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex "
3786 "の\n"
3787 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
3788 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
3789 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
3790
3791 #. type: Plain text
3792 #: build/C/man3/malloc.3:246
3793 msgid ""
3794 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
3795 "set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
3796 "(and the glibc versions of these routines do this); if you use a private "
3797 "malloc implementation that does not set I<errno>, then certain library "
3798 "routines may fail without having a reason in I<errno>."
3799 msgstr ""
3800 "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したと"
3801 "きに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守ら"
3802 "れていることを仮定している (またこれらのルーチンの glibc バージョンはこのこと"
3803 "を守っている)。 個人的に別の malloc の実装を使っていて、その malloc が"
3804 "I<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しな"
3805 "いライブラリルーチンがあるかもしれない。"
3806
3807 #. type: Plain text
3808 #: build/C/man3/malloc.3:255
3809 msgid ""
3810 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
3811 "always related to heap corruption, such as overflowing an allocated chunk or "
3812 "freeing the same pointer twice."
3813 msgstr ""
3814 "B<malloc>(), B<calloc>(), B<realloc>(), B<free>()  における事故は、 ほとんど"
3815 "の場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域を"
3816 "オーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
3817
3818 #. type: Plain text
3819 #: build/C/man3/malloc.3:261
3820 msgid ""
3821 "The B<malloc>()  implementation is tunable via environment variables; see "
3822 "B<mallopt>(3)  for details."
3823 msgstr ""
3824 "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照の"
3825 "こと。"
3826
3827 #. type: Plain text
3828 #: build/C/man3/malloc.3:285
3829 msgid ""
3830 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3831 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3832 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3833 msgstr ""
3834 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3835 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3836 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3837
3838 #. type: TH
3839 #: build/C/man3/mblen.3:16
3840 #, no-wrap
3841 msgid "MBLEN"
3842 msgstr "MBLEN"
3843
3844 #. type: TH
3845 #: build/C/man3/mblen.3:16
3846 #, no-wrap
3847 msgid "2013-06-21"
3848 msgstr "2013-06-21"
3849
3850 #. type: Plain text
3851 #: build/C/man3/mblen.3:19
3852 msgid "mblen - determine number of bytes in next multibyte character"
3853 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
3854
3855 #. type: Plain text
3856 #: build/C/man3/mblen.3:24
3857 #, no-wrap
3858 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3859 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3860
3861 #. type: Plain text
3862 #: build/C/man3/mblen.3:43
3863 msgid ""
3864 "If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
3865 "the multibyte string starting at I<s> and extracts the next complete "
3866 "multibyte character.  It uses a static anonymous shift state known only to "
3867 "the B<mblen>()  function.  If the multibyte character is not the null wide "
3868 "character, it returns the number of bytes that were consumed from I<s>.  If "
3869 "the multibyte character is the null wide character, it returns 0."
3870 msgstr ""
3871 "I<s> が NULL でなければ、 B<mblen>()  関数は I<s> から始まる最大 I<n> バイト"
3872 "のマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これに"
3873 "は B<mblen>()  関数のみが使用する静的で名前のないシフト状態が使用される。 マ"
3874 "ルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。"
3875 "マルチバイト文字がヌルワイド文字ならば 0 を返す。"
3876
3877 #. type: Plain text
3878 #: build/C/man3/mblen.3:57
3879 msgid ""
3880 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3881 "character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
3882 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3883 "shift sequences."
3884 msgstr ""
3885 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 "
3886 "B<mblen>()  は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれ"
3887 "ていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
3888
3889 #. type: Plain text
3890 #: build/C/man3/mblen.3:64
3891 msgid ""
3892 "If the multibyte string starting at I<s> contains an invalid multibyte "
3893 "sequence before the next complete character, B<mblen>()  also returns -1."
3894 msgstr ""
3895 "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列"
3896 "を含んでいる場合にも、 B<mblen>()  は -1 を返す。"
3897
3898 #.  The Dinkumware doc and the Single UNIX specification say this, but
3899 #.  glibc doesn't implement this.
3900 #. type: Plain text
3901 #: build/C/man3/mblen.3:75
3902 msgid ""
3903 "If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
3904 "only this function, to the initial state, and returns nonzero if the "
3905 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3906 msgstr ""
3907 "I<s> が NULL ならば、 B<mblen>()  関数はこの関数のみが 使用するシフト状態を初"
3908 "期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号が"
3909 "シフト状態を持たない場合にはゼロを返す。"
3910
3911 #. type: Plain text
3912 #: build/C/man3/mblen.3:87
3913 msgid ""
3914 "The B<mblen>()  function returns the number of bytes parsed from the "
3915 "multibyte sequence starting at I<s>, if a non-null wide character was "
3916 "recognized.  It returns 0, if a null wide character was recognized.  It "
3917 "returns -1, if an invalid multibyte sequence was encountered or if it "
3918 "couldn't parse a complete multibyte character."
3919 msgstr ""
3920 "B<mblen>()  関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外"
3921 "を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを"
3922 "返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できな"
3923 "かった場合には -1 を返す。"
3924
3925 #. type: Plain text
3926 #: build/C/man3/mblen.3:92
3927 msgid "The B<mblen>()  function is not thread-safe."
3928 msgstr "B<mblen>() 関数はスレッドセーフではない。"
3929
3930 #. type: Plain text
3931 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
3932 #: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
3933 #: build/C/man3/wctomb.3:91
3934 msgid "C99."
3935 msgstr "C99."
3936
3937 #. type: Plain text
3938 #: build/C/man3/mblen.3:101
3939 msgid ""
3940 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
3941 "current locale."
3942 msgstr ""
3943 "B<mblen>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3944
3945 #. type: Plain text
3946 #: build/C/man3/mblen.3:106
3947 msgid ""
3948 "The function B<mbrlen>(3)  provides a better interface to the same "
3949 "functionality."
3950 msgstr "B<mbrlen>(3)  関数は同じ機能のより良いインタフェースを提供する。"
3951
3952 #. type: Plain text
3953 #: build/C/man3/mblen.3:108
3954 msgid "B<mbrlen>(3)"
3955 msgstr "B<mbrlen>(3)"
3956
3957 #. type: TH
3958 #: build/C/man3/mbstowcs.3:18
3959 #, no-wrap
3960 msgid "MBSTOWCS"
3961 msgstr "MBSTOWCS"
3962
3963 #. type: TH
3964 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
3965 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
3966 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3967 #, no-wrap
3968 msgid "2014-03-18"
3969 msgstr "2014-03-18"
3970
3971 #. type: Plain text
3972 #: build/C/man3/mbstowcs.3:21
3973 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3974 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3975
3976 #. type: Plain text
3977 #: build/C/man3/mbstowcs.3:26
3978 #, no-wrap
3979 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3980 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3981
3982 #. type: Plain text
3983 #: build/C/man3/mbstowcs.3:45
3984 msgid ""
3985 "If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
3986 "string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
3987 "wide characters are written to I<dest>.  The conversion starts in the "
3988 "initial state.  The conversion can stop for three reasons:"
3989 msgstr ""
3990 "I<dest> が NULL でなければ B<mbstowcs>()  関数は マルチバイト文字列 I<*src> "
3991 "を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字の"
3992 "ワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの"
3993 "条件で停止する:"
3994
3995 #. type: IP
3996 #: build/C/man3/mbstowcs.3:45
3997 #, no-wrap
3998 msgid "1."
3999 msgstr "1."
4000
4001 #. type: Plain text
4002 #: build/C/man3/mbstowcs.3:50
4003 msgid ""
4004 "An invalid multibyte sequence has been encountered.  In this case, "
4005 "I<(size_t)\\ -1> is returned."
4006 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
4007
4008 #. type: IP
4009 #: build/C/man3/mbstowcs.3:50
4010 #, no-wrap
4011 msgid "2."
4012 msgstr "2."
4013
4014 #. type: Plain text
4015 #: build/C/man3/mbstowcs.3:58
4016 msgid ""
4017 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
4018 "this case, the number of wide characters written to I<dest> is returned, but "
4019 "the shift state at this point is lost."
4020 msgstr ""
4021 "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この"
4022 "場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書"
4023 "き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われ"
4024 "る。"
4025
4026 #. type: IP
4027 #: build/C/man3/mbstowcs.3:58
4028 #, no-wrap
4029 msgid "3."
4030 msgstr "3."
4031
4032 #. type: Plain text
4033 #: build/C/man3/mbstowcs.3:64
4034 msgid ""
4035 "The multibyte string has been completely converted, including the "
4036 "terminating null wide character (\\(aq\\e0\\(aq).  In this case, the number "
4037 "of wide characters written to I<dest>, excluding the terminating null wide "
4038 "character, is returned."
4039 msgstr ""
4040 "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変"
4041 "換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文"
4042 "字数を返す。"
4043
4044 #. type: Plain text
4045 #: build/C/man3/mbstowcs.3:70
4046 msgid ""
4047 "The programmer must ensure that there is room for at least I<n> wide "
4048 "characters at I<dest>."
4049 msgstr ""
4050 "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間"
4051 "があることを保証しなければならない。"
4052
4053 #. type: Plain text
4054 #: build/C/man3/mbstowcs.3:78
4055 msgid ""
4056 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
4057 "except that the converted wide characters are not written out to memory, and "
4058 "that no length limit exists."
4059 msgstr ""
4060 "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換"
4061 "されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
4062
4063 #. type: Plain text
4064 #: build/C/man3/mbstowcs.3:84
4065 msgid ""
4066 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
4067 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
4068 msgstr ""
4069 "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,"
4070 "src,0)+1> 以上であることを保証すべきである。"
4071
4072 #. type: Plain text
4073 #: build/C/man3/mbstowcs.3:94
4074 msgid ""
4075 "The B<mbstowcs>()  function returns the number of wide characters that make "
4076 "up the converted part of the wide-character string, not including the "
4077 "terminating null wide character.  If an invalid multibyte sequence was "
4078 "encountered, I<(size_t)\\ -1> is returned."
4079 msgstr ""
4080 "B<mbstowcs>()  関数はワイド文字列に変換完了したワイド文字の数を返す。 終端の"
4081 "ヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には "
4082 "I<(size_t)\\ -1> を返す。"
4083
4084 #. type: Plain text
4085 #: build/C/man3/mbstowcs.3:103
4086 msgid ""
4087 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
4088 "current locale."
4089 msgstr ""
4090 "B<mbstowcs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4091
4092 #. type: Plain text
4093 #: build/C/man3/mbstowcs.3:108
4094 msgid ""
4095 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
4096 "functionality."
4097 msgstr "B<mbsrtowcs>(3)  関数は同じ機能のより良いインターフェースを提供する。"
4098
4099 #. type: Plain text
4100 #: build/C/man3/mbstowcs.3:113
4101 msgid ""
4102 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
4103 "the wide character classification functions.  An example run is the "
4104 "following:"
4105 msgstr ""
4106 "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示"
4107 "したものである。実行例は以下のようになる。"
4108
4109 #. type: Plain text
4110 #: build/C/man3/mbstowcs.3:120
4111 #, no-wrap
4112 msgid ""
4113 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4114 "Length of source string (excluding terminator):\n"
4115 "    8 bytes\n"
4116 "    6 multibyte characters\n"
4117 msgstr ""
4118 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
4119 "Length of source string (excluding terminator):\n"
4120 "    8 bytes\n"
4121 "    6 multibyte characters\n"
4122
4123 #. type: Plain text
4124 #: build/C/man3/mbstowcs.3:128
4125 #, no-wrap
4126 msgid ""
4127 "Wide character string is: Grüße! (6 characters)\n"
4128 "    G alpha upper\n"
4129 "    r alpha lower\n"
4130 "    ü alpha lower\n"
4131 "    ß alpha lower\n"
4132 "    e alpha lower\n"
4133 "    ! !alpha\n"
4134 msgstr ""
4135 "Wide character string is: Grüße! (6 characters)\n"
4136 "    G alpha upper\n"
4137 "    r alpha lower\n"
4138 "    ü alpha lower\n"
4139 "    ß alpha lower\n"
4140 "    e alpha lower\n"
4141 "    ! !alpha\n"
4142
4143 #. type: SS
4144 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
4145 #, no-wrap
4146 msgid "Program source"
4147 msgstr "プログラムのソース"
4148
4149 #. type: Plain text
4150 #: build/C/man3/mbstowcs.3:137
4151 #, no-wrap
4152 msgid ""
4153 "#include E<lt>locale.hE<gt>\n"
4154 "#include E<lt>wchar.hE<gt>\n"
4155 "#include E<lt>stdio.hE<gt>\n"
4156 "#include E<lt>string.hE<gt>\n"
4157 "#include E<lt>stdlib.hE<gt>\n"
4158 msgstr ""
4159 "#include E<lt>locale.hE<gt>\n"
4160 "#include E<lt>wchar.hE<gt>\n"
4161 "#include E<lt>stdio.hE<gt>\n"
4162 "#include E<lt>string.hE<gt>\n"
4163 "#include E<lt>stdlib.hE<gt>\n"
4164
4165 #. type: Plain text
4166 #: build/C/man3/mbstowcs.3:144
4167 #, no-wrap
4168 msgid ""
4169 "int\n"
4170 "main(int argc, char *argv[])\n"
4171 "{\n"
4172 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4173 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4174 "    wchar_t *wp;\n"
4175 msgstr ""
4176 "int\n"
4177 "main(int argc, char *argv[])\n"
4178 "{\n"
4179 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
4180 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
4181 "    wchar_t *wp;\n"
4182
4183 #. type: Plain text
4184 #: build/C/man3/mbstowcs.3:149
4185 #, no-wrap
4186 msgid ""
4187 "    if (argc E<lt> 3) {\n"
4188 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4189 "        exit(EXIT_FAILURE);\n"
4190 "    }\n"
4191 msgstr ""
4192 "    if (argc E<lt> 3) {\n"
4193 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
4194 "        exit(EXIT_FAILURE);\n"
4195 "    }\n"
4196
4197 #. type: Plain text
4198 #: build/C/man3/mbstowcs.3:151
4199 #, no-wrap
4200 msgid "    /* Apply the specified locale */\n"
4201 msgstr "    /* Apply the specified locale */\n"
4202
4203 #. type: Plain text
4204 #: build/C/man3/mbstowcs.3:156
4205 #, no-wrap
4206 msgid ""
4207 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4208 "        perror(\"setlocale\");\n"
4209 "        exit(EXIT_FAILURE);\n"
4210 "    }\n"
4211 msgstr ""
4212 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
4213 "        perror(\"setlocale\");\n"
4214 "        exit(EXIT_FAILURE);\n"
4215 "    }\n"
4216
4217 #. type: Plain text
4218 #: build/C/man3/mbstowcs.3:159
4219 #, no-wrap
4220 msgid ""
4221 "    /* Calculate the length required to hold argv[2] converted to\n"
4222 "       a wide character string */\n"
4223 msgstr ""
4224 "    /* Calculate the length required to hold argv[2] converted to\n"
4225 "       a wide character string */\n"
4226
4227 #. type: Plain text
4228 #: build/C/man3/mbstowcs.3:165
4229 #, no-wrap
4230 msgid ""
4231 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4232 "    if (mbslen == (size_t) -1) {\n"
4233 "        perror(\"mbstowcs\");\n"
4234 "        exit(EXIT_FAILURE);\n"
4235 "    }\n"
4236 msgstr ""
4237 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
4238 "    if (mbslen == (size_t) -1) {\n"
4239 "        perror(\"mbstowcs\");\n"
4240 "        exit(EXIT_FAILURE);\n"
4241 "    }\n"
4242
4243 #. type: Plain text
4244 #: build/C/man3/mbstowcs.3:167
4245 #, no-wrap
4246 msgid "    /* Describe the source string to the user */\n"
4247 msgstr "    /* Describe the source string to the user */\n"
4248
4249 #. type: Plain text
4250 #: build/C/man3/mbstowcs.3:171
4251 #, no-wrap
4252 msgid ""
4253 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4254 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4255 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4256 msgstr ""
4257 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
4258 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
4259 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
4260
4261 #. type: Plain text
4262 #: build/C/man3/mbstowcs.3:174
4263 #, no-wrap
4264 msgid ""
4265 "    /* Allocate wide character string of the desired size.  Add 1\n"
4266 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4267 msgstr ""
4268 "    /* Allocate wide character string of the desired size.  Add 1\n"
4269 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
4270
4271 #. type: Plain text
4272 #: build/C/man3/mbstowcs.3:180
4273 #, no-wrap
4274 msgid ""
4275 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4276 "    if (wcs == NULL) {\n"
4277 "        perror(\"calloc\");\n"
4278 "        exit(EXIT_FAILURE);\n"
4279 "    }\n"
4280 msgstr ""
4281 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
4282 "    if (wcs == NULL) {\n"
4283 "        perror(\"calloc\");\n"
4284 "        exit(EXIT_FAILURE);\n"
4285 "    }\n"
4286
4287 #. type: Plain text
4288 #: build/C/man3/mbstowcs.3:183
4289 #, no-wrap
4290 msgid ""
4291 "    /* Convert the multibyte character string in argv[2] to a\n"
4292 "       wide character string */\n"
4293 msgstr ""
4294 "    /* Convert the multibyte character string in argv[2] to a\n"
4295 "       wide character string */\n"
4296
4297 #. type: Plain text
4298 #: build/C/man3/mbstowcs.3:188
4299 #, no-wrap
4300 msgid ""
4301 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4302 "        perror(\"mbstowcs\");\n"
4303 "        exit(EXIT_FAILURE);\n"
4304 "    }\n"
4305 msgstr ""
4306 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
4307 "        perror(\"mbstowcs\");\n"
4308 "        exit(EXIT_FAILURE);\n"
4309 "    }\n"
4310
4311 #. type: Plain text
4312 #: build/C/man3/mbstowcs.3:191
4313 #, no-wrap
4314 msgid ""
4315 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4316 "            wcs, mbslen);\n"
4317 msgstr ""
4318 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
4319 "            wcs, mbslen);\n"
4320
4321 #. type: Plain text
4322 #: build/C/man3/mbstowcs.3:194
4323 #, no-wrap
4324 msgid ""
4325 "    /* Now do some inspection of the classes of the characters in\n"
4326 "       the wide character string */\n"
4327 msgstr ""
4328 "    /* Now do some inspection of the classes of the characters in\n"
4329 "       the wide character string */\n"
4330
4331 #. type: Plain text
4332 #: build/C/man3/mbstowcs.3:197
4333 #, no-wrap
4334 msgid ""
4335 "    for (wp = wcs; *wp != 0; wp++) {\n"
4336 "        printf(\"    %lc \", (wint_t) *wp);\n"
4337 msgstr ""
4338 "    for (wp = wcs; *wp != 0; wp++) {\n"
4339 "        printf(\"    %lc \", (wint_t) *wp);\n"
4340
4341 #. type: Plain text
4342 #: build/C/man3/mbstowcs.3:201
4343 #, no-wrap
4344 msgid ""
4345 "        if (!iswalpha(*wp))\n"
4346 "            printf(\"!\");\n"
4347 "        printf(\"alpha \");\n"
4348 msgstr ""
4349 "        if (!iswalpha(*wp))\n"
4350 "            printf(\"!\");\n"
4351 "        printf(\"alpha \");\n"
4352
4353 #. type: Plain text
4354 #: build/C/man3/mbstowcs.3:205
4355 #, no-wrap
4356 msgid ""
4357 "        if (iswalpha(*wp)) {\n"
4358 "            if (iswupper(*wp))\n"
4359 "                printf(\"upper \");\n"
4360 msgstr ""
4361 "        if (iswalpha(*wp)) {\n"
4362 "            if (iswupper(*wp))\n"
4363 "                printf(\"upper \");\n"
4364
4365 #. type: Plain text
4366 #: build/C/man3/mbstowcs.3:209
4367 #, no-wrap
4368 msgid ""
4369 "            if (iswlower(*wp))\n"
4370 "                printf(\"lower \");\n"
4371 "        }\n"
4372 msgstr ""
4373 "            if (iswlower(*wp))\n"
4374 "                printf(\"lower \");\n"
4375 "        }\n"
4376
4377 #. type: Plain text
4378 #: build/C/man3/mbstowcs.3:212
4379 #, no-wrap
4380 msgid ""
4381 "        putchar(\\(aq\\en\\(aq);\n"
4382 "    }\n"
4383 msgstr ""
4384 "        putchar(\\(aq\\en\\(aq);\n"
4385 "    }\n"
4386
4387 #. type: Plain text
4388 #: build/C/man3/mbstowcs.3:222
4389 msgid ""
4390 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4391 msgstr ""
4392 "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
4393
4394 #. type: TH
4395 #: build/C/man3/mbtowc.3:16
4396 #, no-wrap
4397 msgid "MBTOWC"
4398 msgstr "MBTOWC"
4399
4400 #. type: Plain text
4401 #: build/C/man3/mbtowc.3:19
4402 msgid "mbtowc - convert a multibyte sequence to a wide character"
4403 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
4404
4405 #. type: Plain text
4406 #: build/C/man3/mbtowc.3:24
4407 #, no-wrap
4408 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4409 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
4410
4411 #. type: Plain text
4412 #: build/C/man3/mbtowc.3:50
4413 msgid ""
4414 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
4415 "NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
4416 "of the multibyte string starting at I<s>, extracts the next complete "
4417 "multibyte character, converts it to a wide character and stores it at "
4418 "I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
4419 "function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
4420 "returns the number of bytes that were consumed from I<s>, otherwise it "
4421 "returns 0."
4422 msgstr ""
4423 "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。こ"
4424 "の場合は B<mbtowc>()  関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文"
4425 "字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換"
4426 "して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新す"
4427 "る。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費"
4428 "するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
4429
4430 #. type: Plain text
4431 #: build/C/man3/mbtowc.3:64
4432 msgid ""
4433 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
4434 "character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
4435 "returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
4436 "multibyte string contains redundant shift sequences."
4437 msgstr ""
4438 "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正"
4439 "なマルチバイト列を含んでいる場合には B<mbtowc>()  は -1 を返す。マルチバイト"
4440 "文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の"
4441 "場合もこのようなことが 起こりえる。"
4442
4443 #. type: Plain text
4444 #: build/C/man3/mbtowc.3:74
4445 msgid ""
4446 "A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case, "
4447 "the B<mbtowc>()  function behaves as above, except that it does not store "
4448 "the converted wide character in memory."
4449 msgstr ""
4450 "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>()  関数は 上記と同様に"
4451 "動作するが、変換したワイド文字はメモリには書き込まれない。"
4452
4453 #.  The Dinkumware doc and the Single UNIX specification say this, but
4454 #.  glibc doesn't implement this.
4455 #. type: Plain text
4456 #: build/C/man3/mbtowc.3:93
4457 msgid ""
4458 "A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
4459 "ignored.  The B<mbtowc>()  function resets the shift state, only known to "
4460 "this function, to the initial state, and returns nonzero if the encoding has "
4461 "nontrivial shift state, or zero if the encoding is stateless."
4462 msgstr ""
4463 "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 "
4464 "B<mbtowc>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符"
4465 "号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロ"
4466 "を返す。"
4467
4468 #. type: Plain text
4469 #: build/C/man3/mbtowc.3:105
4470 msgid ""
4471 "If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
4472 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
4473 "upon failure."
4474 msgstr ""
4475 "I<s> が NULL でなければ B<mbtowc>()  関数は I<s> から消費した バイト数を、"
4476 "I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
4477
4478 #. type: Plain text
4479 #: build/C/man3/mbtowc.3:113
4480 msgid ""
4481 "If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
4482 "has nontrivial shift state, or zero if the encoding is stateless."
4483 msgstr ""
4484 "I<s> が NULL ならば B<mbtowc>()  関数は文字符号がシフト状態に依存 していれば"
4485 "ゼロ以外を、状態によらなければゼロを返す。"
4486
4487 #. type: Plain text
4488 #: build/C/man3/mbtowc.3:122
4489 msgid ""
4490 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
4491 "current locale."
4492 msgstr ""
4493 "B<mbtowc>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
4494
4495 #. type: Plain text
4496 #: build/C/man3/mbtowc.3:128
4497 msgid ""
4498 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
4499 "a better interface to the same functionality."
4500 msgstr ""
4501 "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3)  関数は 同じ機能のよ"
4502 "り良いインターフェースを提供する。"
4503
4504 #. type: Plain text
4505 #: build/C/man3/mbtowc.3:135
4506 msgid ""
4507 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4508 "B<wcstombs>(3)"
4509 msgstr ""
4510 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
4511 "B<wcstombs>(3)"
4512
4513 #. type: TH
4514 #: build/C/man3/mkdtemp.3:26
4515 #, no-wrap
4516 msgid "MKDTEMP"
4517 msgstr "MKDTEMP"
4518
4519 #. type: TH
4520 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
4521 #, no-wrap
4522 msgid "2014-06-13"
4523 msgstr "2014-06-13"
4524
4525 #. type: Plain text
4526 #: build/C/man3/mkdtemp.3:29
4527 msgid "mkdtemp - create a unique temporary directory"
4528 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
4529
4530 #. type: Plain text
4531 #: build/C/man3/mkdtemp.3:34
4532 #, no-wrap
4533 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
4534 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
4535
4536 #. type: Plain text
4537 #: build/C/man3/mkdtemp.3:42
4538 msgid "B<mkdtemp>():"
4539 msgstr "B<mkdtemp>():"
4540
4541 #. type: Plain text
4542 #: build/C/man3/mkdtemp.3:47
4543 msgid "_BSD_SOURCE"
4544 msgstr "_BSD_SOURCE"
4545
4546 #. type: Plain text
4547 #: build/C/man3/mkdtemp.3:49
4548 msgid "|| /* Since glibc 2.10: */"
4549 msgstr "|| /* Since glibc 2.10: */"
4550
4551 #. type: Plain text
4552 #: build/C/man3/mkdtemp.3:51
4553 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4554 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
4555
4556 #. type: Plain text
4557 #: build/C/man3/mkdtemp.3:68
4558 msgid ""
4559 "The B<mkdtemp>()  function generates a uniquely named temporary directory "
4560 "from I<template>.  The last six characters of I<template> must be XXXXXX and "
4561 "these are replaced with a string that makes the directory name unique.  The "
4562 "directory is then created with permissions 0700.  Since it will be modified, "
4563 "I<template> must not be a string constant, but should be declared as a "
4564 "character array."
4565 msgstr ""
4566 "B<mkdtemp>()  関数は、他と重ならない名前の一時的なディレクトリを I<template> "
4567 "から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この"
4568 "部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディ"
4569 "レクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文"
4570 "字列定数にしてはならず、文字配列にすべきである。"
4571
4572 #. type: Plain text
4573 #: build/C/man3/mkdtemp.3:75
4574 msgid ""
4575 "The B<mkdtemp>()  function returns a pointer to the modified template string "
4576 "on success, and NULL on failure, in which case I<errno> is set appropriately."
4577 msgstr ""
4578 "成功した場合、 B<mkdtemp>()  関数は 変更された template 文字列へのポインタを"
4579 "返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
4580
4581 #. type: TP
4582 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
4583 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
4584 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
4585 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
4586 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
4587 #: build/C/man3/strtoul.3:149
4588 #, no-wrap
4589 msgid "B<EINVAL>"
4590 msgstr "B<EINVAL>"
4591
4592 #. type: Plain text
4593 #: build/C/man3/mkdtemp.3:80
4594 msgid ""
4595 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
4596 "unchanged."
4597 msgstr ""
4598 "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更され"
4599 "ない。"
4600
4601 #. type: Plain text
4602 #: build/C/man3/mkdtemp.3:84
4603 msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
4604 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2)  を参照すること。"
4605
4606 #. type: Plain text
4607 #: build/C/man3/mkdtemp.3:86
4608 msgid "Available since glibc 2.1.91."
4609 msgstr "glibc 2.1.91 以降で利用可能。"
4610
4611 #. type: Plain text
4612 #: build/C/man3/mkdtemp.3:91
4613 msgid "The B<mkdtemp>()  function is thread-safe."
4614 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
4615
4616 #.  As at 2006, this function is being considered for a revision of POSIX.1
4617 #.  Also in NetBSD 1.4.
4618 #. type: Plain text
4619 #: build/C/man3/mkdtemp.3:96
4620 msgid "POSIX.1-2008.  This function is present on the BSDs."
4621 msgstr "POSIX.1-2008.  この関数は BSD に存在する。"
4622
4623 #. type: Plain text
4624 #: build/C/man3/mkdtemp.3:103
4625 msgid ""
4626 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4627 "B<tmpnam>(3)"
4628 msgstr ""
4629 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
4630 "B<tmpnam>(3)"
4631
4632 #. type: TH
4633 #: build/C/man3/mkstemp.3:35
4634 #, no-wrap
4635 msgid "MKSTEMP"
4636 msgstr "MKSTEMP"
4637
4638 #. type: Plain text
4639 #: build/C/man3/mkstemp.3:38
4640 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
4641 msgstr ""
4642 "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイル"
4643 "を作成する"
4644
4645 #. type: Plain text
4646 #: build/C/man3/mkstemp.3:43
4647 #, no-wrap
4648 msgid "B<int mkstemp(char *>I<template>B<);>\n"
4649 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
4650
4651 #. type: Plain text
4652 #: build/C/man3/mkstemp.3:45
4653 #, no-wrap
4654 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4655 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
4656
4657 #. type: Plain text
4658 #: build/C/man3/mkstemp.3:47
4659 #, no-wrap
4660 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4661 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
4662
4663 #. type: Plain text
4664 #: build/C/man3/mkstemp.3:49
4665 #, no-wrap
4666 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4667 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
4668
4669 #. type: Plain text
4670 #: build/C/man3/mkstemp.3:57
4671 msgid "B<mkstemp>():"
4672 msgstr "B<mkstemp>():"
4673
4674 #. type: Plain text
4675 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
4676 msgid ""
4677 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4678 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4679 msgstr ""
4680 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
4681 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4682
4683 #. type: Plain text
4684 #: build/C/man3/mkstemp.3:64
4685 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4686 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
4687
4688 #. type: Plain text
4689 #: build/C/man3/mkstemp.3:70
4690 msgid "B<mkostemp>(): _GNU_SOURCE"
4691 msgstr "B<mkostemp>(): _GNU_SOURCE"
4692
4693 #. type: Plain text
4694 #: build/C/man3/mkstemp.3:73
4695 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4696 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
4697
4698 #. type: Plain text
4699 #: build/C/man3/mkstemp.3:76
4700 msgid "B<mkostemps>(): _GNU_SOURCE"
4701 msgstr "B<mkostemps>(): _GNU_SOURCE"
4702
4703 #. type: Plain text
4704 #: build/C/man3/mkstemp.3:83
4705 msgid ""
4706 "The B<mkstemp>()  function generates a unique temporary filename from "
4707 "I<template>, creates and opens the file, and returns an open file descriptor "
4708 "for the file."
4709 msgstr ""
4710 "関数 B<mkstemp>()  は引数 I<template> から他と重ならない一時ファイル名を生成"
4711 "し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みの"
4712 "ファイルディスクリプタを返す。"
4713
4714 #. type: Plain text
4715 #: build/C/man3/mkstemp.3:91
4716 msgid ""
4717 "The last six characters of I<template> must be \"XXXXXX\" and these are "
4718 "replaced with a string that makes the filename unique.  Since it will be "
4719 "modified, I<template> must not be a string constant, but should be declared "
4720 "as a character array."
4721 msgstr ""
4722 "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 "
4723 "この部分がファイル名を他と重ならないようにする文字で置き換えられる。 "
4724 "I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するよ"
4725 "うにしなければならない。"
4726
4727 #. type: Plain text
4728 #: build/C/man3/mkstemp.3:99
4729 msgid ""
4730 "The file is created with permissions 0600, that is, read plus write for "
4731 "owner only.  The returned file descriptor provides both read and write "
4732 "access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
4733 "guaranteeing that the caller is the process that creates the file."
4734 msgstr ""
4735 "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返され"
4736 "るファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能であ"
4737 "る。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 "
4738 "ファイルは B<open>(2)  の B<O_EXCL> フラグ付きでオープンされる。"
4739
4740 #.  Reportedly, FreeBSD
4741 #. type: Plain text
4742 #: build/C/man3/mkstemp.3:130
4743 msgid ""
4744 "The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
4745 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
4746 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
4747 "when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
4748 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
4749 "including these values in the I<flags> argument given to B<mkostemp>()  is "
4750 "unnecessary, and produces errors on some systems."
4751 msgstr ""
4752 "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, "
4753 "B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と"
4754 "同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す "
4755 "I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 "
4756 "B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システム"
4757 "によってはエラーが発生する点に注意すること。"
4758
4759 #. type: Plain text
4760 #: build/C/man3/mkstemp.3:146
4761 msgid ""
4762 "The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
4763 "I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
4764 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
4765 "for B<mkstemp>()."
4766 msgstr ""
4767 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
4768 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
4769 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
4770 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
4771
4772 #. type: Plain text
4773 #: build/C/man3/mkstemp.3:155
4774 msgid ""
4775 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
4776 "B<mkstemp>()."
4777 msgstr ""
4778 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
4779 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
4780
4781 #. type: Plain text
4782 #: build/C/man3/mkstemp.3:161
4783 msgid ""
4784 "On success, these functions return the file descriptor of the temporary "
4785 "file.  On error, -1 is returned, and I<errno> is set appropriately."
4786 msgstr ""
4787 "成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラー"
4788 "の場合は、-1 を返し、 I<errno> を適切に設定する。"
4789
4790 #. type: TP
4791 #: build/C/man3/mkstemp.3:162
4792 #, no-wrap
4793 msgid "B<EEXIST>"
4794 msgstr "B<EEXIST>"
4795
4796 #. type: Plain text
4797 #: build/C/man3/mkstemp.3:166
4798 msgid ""
4799 "Could not create a unique temporary filename.  Now the contents of "
4800 "I<template> are undefined."
4801 msgstr ""
4802 "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
4803
4804 #. type: Plain text
4805 #: build/C/man3/mkstemp.3:174
4806 msgid ""
4807 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
4808 "were not XXXXXX; now I<template> is unchanged."
4809 msgstr ""
4810 "B<mkstemp>() と B<mkostemp>() の場合:\n"
4811 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
4812 "この場合、I<template> は変更されない。"
4813
4814 #. type: Plain text
4815 #: build/C/man3/mkstemp.3:185
4816 msgid ""
4817 "For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
4818 "suffixlen)> characters long, or the last 6 characters before the suffix in "
4819 "I<template> were not XXXXXX."
4820 msgstr ""
4821 "B<mkstemps>() と B<mkostemps>() の場合:\n"
4822 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
4823 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
4824
4825 #. type: Plain text
4826 #: build/C/man3/mkstemp.3:188
4827 msgid ""
4828 "These functions may also fail with any of the errors described for "
4829 "B<open>(2)."
4830 msgstr ""
4831 "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもあ"
4832 "る。"
4833
4834 #. type: Plain text
4835 #: build/C/man3/mkstemp.3:195
4836 msgid ""
4837 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
4838 "B<mkostemps>()  are available since glibc 2.11."
4839 msgstr ""
4840 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
4841 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
4842
4843 #. type: Plain text
4844 #: build/C/man3/mkstemp.3:204
4845 msgid ""
4846 "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>()  "
4847 "functions are thread-safe."
4848 msgstr ""
4849 "関数 B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), B<mkostemps>() はスレッド"
4850 "セーフである。"
4851
4852 #. type: Plain text
4853 #: build/C/man3/mkstemp.3:207
4854 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4855 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
4856
4857 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
4858 #.  and Tru64.
4859 #. type: Plain text
4860 #: build/C/man3/mkstemp.3:212
4861 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
4862 msgstr ""
4863 "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
4864
4865 #. type: Plain text
4866 #: build/C/man3/mkstemp.3:217
4867 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
4868 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
4869
4870 #. type: Plain text
4871 #: build/C/man3/mkstemp.3:224
4872 msgid ""
4873 "In glibc versions 2.06 and earlier, the file is created with permissions "
4874 "0666, that is, read and write for all users.  This old behavior may be a "
4875 "security risk, especially since other UNIX flavors use 0600, and somebody "
4876 "might overlook this detail when porting programs.  POSIX.1-2008 adds a "
4877 "requirement that the file be created with mode 0600."
4878 msgstr ""
4879 "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全ての"
4880 "ユーザが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得"
4881 "る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植す"
4882 "る際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイ"
4883 "ルを許可モード 0600 で作成することが必須要件として追加された。"
4884
4885 #.  The prototype for
4886 #.  .BR mktemp ()
4887 #.  is in
4888 #.  .I <unistd.h>
4889 #.  for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
4890 #.  .IR <stdlib.h> .
4891 #. type: Plain text
4892 #: build/C/man3/mkstemp.3:242
4893 msgid ""
4894 "More generally, the POSIX specification of B<mkstemp>()  does not say "
4895 "anything about file modes, so the application should make sure its file mode "
4896 "creation mask (see B<umask>(2))  is set appropriately before calling "
4897 "B<mkstemp>()  (and B<mkostemp>())."
4898 msgstr ""
4899 "より一般的には、 B<mkstemp>()  の POSIX 規定ではファイルモードについて何も述"
4900 "べていない。 従って、アプリケーションは B<mkstemp>()  (や B<mkostemp>())  を"
4901 "呼び出す前にファイルモード生成マスク (B<umask>(2)  参照) が適切に設定されてい"
4902 "るか確認するべきである。"
4903
4904 #. type: Plain text
4905 #: build/C/man3/mkstemp.3:248
4906 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4907 msgstr ""
4908 "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
4909
4910 #. type: TH
4911 #: build/C/man3/mktemp.3:34
4912 #, no-wrap
4913 msgid "MKTEMP"
4914 msgstr "MKTEMP"
4915
4916 #. type: Plain text
4917 #: build/C/man3/mktemp.3:37
4918 msgid "mktemp - make a unique temporary filename"
4919 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
4920
4921 #. type: Plain text
4922 #: build/C/man3/mktemp.3:42
4923 #, no-wrap
4924 msgid "B<char *mktemp(char *>I<template>B<);>\n"
4925 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
4926
4927 #. type: Plain text
4928 #: build/C/man3/mktemp.3:50
4929 msgid "B<mktemp>():"
4930 msgstr "B<mktemp>():"
4931
4932 #. type: Plain text
4933 #: build/C/man3/mktemp.3:59
4934 #, no-wrap
4935 msgid ""
4936 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4937 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4938 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4939 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4940 msgstr ""
4941 "_BSD_SOURCE || _SVID_SOURCE ||\n"
4942 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
4943 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
4944 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
4945
4946 #. type: Plain text
4947 #: build/C/man3/mktemp.3:69
4948 msgid "I<Never use this function>; see NOTES."
4949 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
4950
4951 #. type: Plain text
4952 #: build/C/man3/mktemp.3:80
4953 msgid ""
4954 "The B<mktemp>()  function generates a unique temporary filename from "
4955 "I<template>.  The last six characters of I<template> must be XXXXXX and "
4956 "these are replaced with a string that makes the filename unique.  Since it "
4957 "will be modified, I<template> must not be a string constant, but should be "
4958 "declared as a character array."
4959 msgstr ""
4960 "関数 B<mktemp>()  は引数 I<template> から他と重ならない テンポラリファイル名"
4961 "を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要"
4962 "がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられ"
4963 "る。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言す"
4964 "るように しなければならない。"
4965
4966 #. type: Plain text
4967 #: build/C/man3/mktemp.3:91
4968 msgid ""
4969 "The B<mktemp>()  function always returns I<template>.  If a unique name was "
4970 "created, the last six bytes of I<template> will have been modified in such a "
4971 "way that the resulting name is unique (i.e., does not exist already)  If a "
4972 "unique name could not be created, I<template> is made an empty string, and "
4973 "I<errno> is set to indicate the error."
4974 msgstr ""
4975 "関数 B<mktemp>()  は常に I<template> を戻す。 一意な名前が作成された場合、 "
4976 "I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名"
4977 "前) になるような値が格納される。 一意な名前が作成できなかった場合には、 "
4978 "I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされ"
4979 "る。"
4980
4981 #. type: Plain text
4982 #: build/C/man3/mktemp.3:95
4983 msgid "The last six characters of I<template> were not XXXXXX."
4984 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
4985
4986 #.  .SH NOTES
4987 #.  The prototype is in
4988 #.  .I <unistd.h>
4989 #.  for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
4990 #.  and has the prototype in
4991 #.  .IR <stdlib.h> .
4992 #. type: Plain text
4993 #: build/C/man3/mktemp.3:105
4994 msgid ""
4995 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of B<mktemp>()."
4996 msgstr ""
4997 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 では B<mktemp>()  の仕様が削除されてい"
4998 "る。"
4999
5000 #. type: Plain text
5001 #: build/C/man3/mktemp.3:118
5002 msgid ""
5003 "Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
5004 "XXXXXX by the current process ID and a single letter, so that at most 26 "
5005 "different names can be returned.  Since on the one hand the names are easy "
5006 "to guess, and on the other hand there is a race between testing whether the "
5007 "name exists and opening the file, every use of B<mktemp>()  is a security "
5008 "risk.  The race is avoided by B<mkstemp>(3)."
5009 msgstr ""
5010 "B<mktemp>()  を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と"
5011 "1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 "
5012 "この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テスト"
5013 "して、そのファイルをオープンする間に競合がある事から、 B<mktemp>()  を使うの"
5014 "は毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3)  を使う"
5015 "ことで避けられる。"
5016
5017 #. type: Plain text
5018 #: build/C/man3/mktemp.3:123
5019 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5020 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
5021
5022 #. type: TH
5023 #: build/C/man3/on_exit.3:31
5024 #, no-wrap
5025 msgid "ON_EXIT"
5026 msgstr "ON_EXIT"
5027
5028 #. type: Plain text
5029 #: build/C/man3/on_exit.3:34
5030 msgid ""
5031 "on_exit - register a function to be called at normal process termination"
5032 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
5033
5034 #. type: Plain text
5035 #: build/C/man3/on_exit.3:39
5036 #, no-wrap
5037 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5038 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
5039
5040 #. type: Plain text
5041 #: build/C/man3/on_exit.3:48
5042 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5043 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
5044
5045 #. type: Plain text
5046 #: build/C/man3/on_exit.3:66
5047 msgid ""
5048 "The B<on_exit>()  function registers the given I<function> to be called at "
5049 "normal process termination, whether via B<exit>(3)  or via return from the "
5050 "program's I<main>().  The I<function> is passed the status argument given to "
5051 "the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
5052 msgstr ""
5053 "B<on_exit>()  関数は、指定された関数 I<function> を、プロセスが 正常に終了し"
5054 "た際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3)  またはプログラ"
5055 "ムの I<main>()  関数の中の return 命令による終了である。 関数 I<function> に"
5056 "は、直近の B<exit>(3)  の呼び出しで渡された status 引数と B<on_exit>()  の "
5057 "I<arg> 引数が渡される。"
5058
5059 #. type: Plain text
5060 #: build/C/man3/on_exit.3:81
5061 msgid ""
5062 "The B<on_exit>()  function returns the value 0 if successful; otherwise it "
5063 "returns a nonzero value."
5064 msgstr "B<on_exit>()  関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
5065
5066 #. type: Plain text
5067 #: build/C/man3/on_exit.3:87
5068 msgid ""
5069 "This function comes from SunOS 4, but is also present in glibc.  It no "
5070 "longer occurs in Solaris (SunOS 5).  Portable application should avoid this "
5071 "function, and use the standard B<atexit>(3)  instead."
5072 msgstr ""
5073 "この関数は SunOS 4 由来であるが、 glibc にも存在する。 Solaris (SunOS 5) には"
5074 "もはや存在しない。移植性が必要なアプリケーションではこの関数の使用は避け、代"
5075 "わりに標準の B<atexit>(3) を使うこと。"
5076
5077 #. type: Plain text
5078 #: build/C/man3/on_exit.3:91
5079 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5080 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
5081
5082 #. type: TH
5083 #: build/C/man3/putenv.3:36
5084 #, no-wrap
5085 msgid "PUTENV"
5086 msgstr "PUTENV"
5087
5088 #. type: Plain text
5089 #: build/C/man3/putenv.3:39
5090 msgid "putenv - change or add an environment variable"
5091 msgstr "putenv - 環境変数の変更または追加"
5092
5093 #.  Not: const char *
5094 #. type: Plain text
5095 #: build/C/man3/putenv.3:45
5096 #, no-wrap
5097 msgid "B<int putenv(char *>I<string>B<);>\n"
5098 msgstr "B<int putenv(char *>I<string>B<);>\n"
5099
5100 #. type: Plain text
5101 #: build/C/man3/putenv.3:54
5102 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5103 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
5104
5105 #. type: Plain text
5106 #: build/C/man3/putenv.3:67
5107 msgid ""
5108 "The B<putenv>()  function adds or changes the value of environment "
5109 "variables.  The argument I<string> is of the form I<name>=I<value>.  If "
5110 "I<name> does not already exist in the environment, then I<string> is added "
5111 "to the environment.  If I<name> does exist, then the value of I<name> in the "
5112 "environment is changed to I<value>.  The string pointed to by I<string> "
5113 "becomes part of the environment, so altering the string changes the "
5114 "environment."
5115 msgstr ""
5116 "B<putenv>()  関数は、環境変数の追加または値の変更を行う。 引数 I<string> は "
5117 "I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は "
5118 "I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は "
5119 "I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 "
5120 "文字列を変更すると環境も変更される。"
5121
5122 #. type: Plain text
5123 #: build/C/man3/putenv.3:75
5124 msgid ""
5125 "The B<putenv>()  function returns zero on success, or nonzero if an error "
5126 "occurs.  In the event of an error, I<errno> is set to indicate the cause."
5127 msgstr ""
5128 "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エ"
5129 "ラーが発生した場合、 I<errno> に原因を示す値が設定される。"
5130
5131 #. type: TP
5132 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
5133 #, no-wrap
5134 msgid "B<ENOMEM>"
5135 msgstr "B<ENOMEM>"
5136
5137 #. type: Plain text
5138 #: build/C/man3/putenv.3:79
5139 msgid "Insufficient space to allocate new environment."
5140 msgstr "新しい環境を割り当てるのに十分な空きがない。"
5141
5142 #. type: Plain text
5143 #: build/C/man3/putenv.3:81
5144 msgid "SVr4, POSIX.1-2001, 4.3BSD."
5145 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
5146
5147 #.  .LP
5148 #.  Description for libc4, libc5, glibc:
5149 #.  If the argument \fIstring\fP is of the form \fIname\fP,
5150 #.  and does not contain an \(aq=\(aq character, then the variable \fIname\fP
5151 #.  is removed from the environment.
5152 #.  If
5153 #.  .BR putenv ()
5154 #.  has to allocate a new array \fIenviron\fP,
5155 #.  and the previous array was also allocated by
5156 #.  .BR putenv (),
5157 #.  then it will be freed.
5158 #.  In no case will the old storage associated
5159 #.  to the environment variable itself be freed.
5160 #. type: Plain text
5161 #: build/C/man3/putenv.3:99
5162 msgid ""
5163 "The B<putenv>()  function is not required to be reentrant, and the one in "
5164 "glibc 2.0 is not, but the glibc 2.1 version is."
5165 msgstr ""
5166 "B<putenv>()  はリエントラントであることを求められていない。 glibc 2.0 ではリ"
5167 "エントラントではない。 glibc 2.1 ではリエントラントである。"
5168
5169 #. type: Plain text
5170 #: build/C/man3/putenv.3:114
5171 msgid ""
5172 "Since version 2.1.2, the glibc implementation conforms to SUSv2: the pointer "
5173 "I<string> given to B<putenv>()  is used.  In particular, this string becomes "
5174 "part of the environment; changing it later will change the environment.  "
5175 "(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
5176 "the argument, then return from the calling function while I<string> is still "
5177 "part of the environment.)  However, glibc versions 2.0 to 2.1.1 differ: a "
5178 "copy of the string is used.  On the one hand this causes a memory leak, and "
5179 "on the other hand it violates SUSv2."
5180 msgstr ""
5181 "バージョン 2.1.2 以降では、 glibc の実装は SUSv2 に準拠している。 "
5182 "B<putenv>()  で与えられたポインタ I<string> が使われる。 この文字列は環境の一"
5183 "部となり、後で変更すると環境も変わる。 (従って、 B<putenv>()  を自動変数を引"
5184 "数として呼び出し、 I<string>が環境の一部のままで呼び出した関数から return す"
5185 "るとエラーになる)  しかし、glibc バージョン 2.0 から 2.1.1 まででは違ってお"
5186 "り、文字列のコピーが使われる。 これはメモリリークを引き起こすだけでなく、 "
5187 "SUSv2 にも違反している。"
5188
5189 #. type: Plain text
5190 #: build/C/man3/putenv.3:116
5191 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
5192 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
5193
5194 #. type: Plain text
5195 #: build/C/man3/putenv.3:118
5196 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
5197 msgstr ""
5198 "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのよ"
5199 "うになっている。"
5200
5201 #. type: Plain text
5202 #: build/C/man3/putenv.3:124
5203 msgid ""
5204 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5205 msgstr ""
5206 "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
5207
5208 #. type: TH
5209 #: build/C/man3/qecvt.3:28
5210 #, no-wrap
5211 msgid "QECVT"
5212 msgstr "QECVT"
5213
5214 #. type: Plain text
5215 #: build/C/man3/qecvt.3:31
5216 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
5217 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
5218
5219 #. type: Plain text
5220 #: build/C/man3/qecvt.3:36
5221 msgid ""
5222 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5223 "> B<int *>I<sign>B<);>"
5224 msgstr ""
5225 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5226 "> B<int *>I<sign>B<);>"
5227
5228 #. type: Plain text
5229 #: build/C/man3/qecvt.3:39
5230 msgid ""
5231 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5232 "> B<int *>I<sign>B<);>"
5233 msgstr ""
5234 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,"
5235 "> B<int *>I<sign>B<);>"
5236
5237 #. type: Plain text
5238 #: build/C/man3/qecvt.3:41
5239 msgid ""
5240 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5241 msgstr ""
5242 "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
5243
5244 #. type: Plain text
5245 #: build/C/man3/qecvt.3:52
5246 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5247 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
5248
5249 #. type: Plain text
5250 #: build/C/man3/qecvt.3:85
5251 msgid ""
5252 "The functions B<qecvt>(), B<qfcvt>(), and B<qgcvt>()  are identical to "
5253 "B<ecvt>(3), B<fcvt>(3), and B<gcvt>(3)  respectively, except that they use a "
5254 "I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
5255 msgstr ""
5256 "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>()  は、それぞれ B<ecvt>(3), "
5257 "B<fcvt>(3), B<gcvt>(3)  と同じである。 引き数 I<number> が I<long double> 型"
5258 "である点だけが異なる。"
5259
5260 #. type: Plain text
5261 #: build/C/man3/qecvt.3:92
5262 msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
5263 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
5264
5265 #. type: Plain text
5266 #: build/C/man3/qecvt.3:96
5267 msgid "The B<qgcvt>()  function is thread-safe."
5268 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
5269
5270 #.  Not supported by libc4 and libc5.
5271 #. type: Plain text
5272 #: build/C/man3/qecvt.3:102
5273 msgid ""
5274 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
5275 "Supported by glibc."
5276 msgstr ""
5277 "SVr4.  多くの一般的な UNIX には実装されていないが、SunOS には実装されてい"
5278 "る。 glibc ではサポートされている。"
5279
5280 #. type: Plain text
5281 #: build/C/man3/qecvt.3:107
5282 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
5283 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
5284
5285 #. type: Plain text
5286 #: build/C/man3/qecvt.3:112
5287 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5288 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
5289
5290 #. type: TH
5291 #: build/C/man3/rand.3:41
5292 #, no-wrap
5293 msgid "RAND"
5294 msgstr "RAND"
5295
5296 #. type: TH
5297 #: build/C/man3/rand.3:41
5298 #, no-wrap
5299 msgid "2014-01-18"
5300 msgstr "2014-01-18"
5301
5302 #. type: Plain text
5303 #: build/C/man3/rand.3:44
5304 msgid "rand, rand_r, srand - pseudo-random number generator"
5305 msgstr "rand, srand - 乱数を生成する関数"
5306
5307 #. type: Plain text
5308 #: build/C/man3/rand.3:49
5309 #, no-wrap
5310 msgid "B<int rand(void);>\n"
5311 msgstr "B<int rand(void);>\n"
5312
5313 #. type: Plain text
5314 #: build/C/man3/rand.3:51
5315 #, no-wrap
5316 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5317 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
5318
5319 #. type: Plain text
5320 #: build/C/man3/rand.3:53
5321 #, no-wrap
5322 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
5323 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
5324
5325 #. type: Plain text
5326 #: build/C/man3/rand.3:62
5327 msgid ""
5328 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5329 msgstr ""
5330 "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
5331
5332 #. type: Plain text
5333 #: build/C/man3/rand.3:68
5334 msgid ""
5335 "The B<rand>()  function returns a pseudo-random integer in the range 0 to "
5336 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
5337 msgstr ""
5338 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
5339 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
5340
5341 #. type: Plain text
5342 #: build/C/man3/rand.3:77
5343 msgid ""
5344 "The B<srand>()  function sets its argument as the seed for a new sequence of "
5345 "pseudo-random integers to be returned by B<rand>().  These sequences are "
5346 "repeatable by calling B<srand>()  with the same seed value."
5347 msgstr ""
5348 "B<srand>()  関数は、 B<rand>()  関数で作られる疑似乱数整数系列の新しい種とし"
5349 "て、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列"
5350 "は、 同じ値を引き数として B<srand>()  を呼ぶことで、 再現することが可能であ"
5351 "る。"
5352
5353 #. type: Plain text
5354 #: build/C/man3/rand.3:81
5355 msgid ""
5356 "If no seed value is provided, the B<rand>()  function is automatically "
5357 "seeded with a value of 1."
5358 msgstr ""
5359 "種の値が与えられない場合には、 B<rand>()  関数は 自動的に 1 を種とする。"
5360
5361 #. type: Plain text
5362 #: build/C/man3/rand.3:92
5363 msgid ""
5364 "The function B<rand>()  is not reentrant or thread-safe, since it uses "
5365 "hidden state that is modified on each call.  This might just be the seed "
5366 "value to be used by the next call, or it might be something more elaborate.  "
5367 "In order to get reproducible behavior in a threaded application, this state "
5368 "must be made explicit; this can be done using the reentrant function "
5369 "B<rand_r>()."
5370 msgstr ""
5371 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではな"
5372 "い。\n"
5373 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからであ"
5374 "る。\n"
5375 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものであ"
5376 "る。\n"
5377 "実際にはもう少し複雑かもしれないが。\n"
5378 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
5379 "この状態を明示的に指定できなければならない。これを行うには、\n"
5380 "再入可能な B<rand_r>() 関数を使用する。"
5381
5382 #. type: Plain text
5383 #: build/C/man3/rand.3:108
5384 msgid ""
5385 "Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range [0,"
5386 "\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned int> "
5387 "that is used to store state between calls.  If B<rand_r>()  is called with "
5388 "the same initial value for the integer pointed to by I<seedp>, and that "
5389 "value is not modified between calls, then the same pseudo-random sequence "
5390 "will result."
5391 msgstr ""
5392 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返"
5393 "す。\n"
5394 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
5395 "I<unsigned int> へのポインタである。\n"
5396 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
5397 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
5398
5399 #. type: Plain text
5400 #: build/C/man3/rand.3:118
5401 msgid ""
5402 "The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
5403 "a very small amount of state, so this function will be a weak pseudo-random "
5404 "generator.  Try B<drand48_r>(3)  instead."
5405 msgstr ""
5406 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空"
5407 "間\n"
5408 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
5409 "代わりに B<drand48_r>(3) を使ってみるとよい。"
5410
5411 #. type: Plain text
5412 #: build/C/man3/rand.3:129
5413 msgid ""
5414 "The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
5415 "B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
5416 msgstr ""
5417 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5418 "関数 B<srand>() は値を返さない。"
5419
5420 #. type: Plain text
5421 #: build/C/man3/rand.3:141
5422 msgid ""
5423 "The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
5424 "POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
5425 "marks B<rand_r>()  as obsolete."
5426 msgstr ""
5427 "関数 B<rand>()  と B<srand>()  は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠"
5428 "している。 関数 B<rand_r>()  は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 "
5429 "B<rand_r>()  を廃止予定としている。"
5430
5431 #. type: Plain text
5432 #: build/C/man3/rand.3:160
5433 msgid ""
5434 "The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
5435 "same random number generator as B<random>(3)  and B<srandom>(3), so the "
5436 "lower-order bits should be as random as the higher-order bits.  However, on "
5437 "older B<rand>()  implementations, and on current implementations on "
5438 "different systems, the lower-order bits are much less random than the higher-"
5439 "order bits.  Do not use this function in applications intended to be "
5440 "portable when good randomness is needed.  (Use B<random>(3)  instead.)"
5441 msgstr ""
5442 "B<rand>()  と B<srand>()  の Linux C Library 版は、 B<random>(3)  と "
5443 "B<srandom>(3)  の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、"
5444 "下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の "
5445 "B<rand>()  の実装や、他のシステムの現在の実装では、下位のビットが上位のビット"
5446 "ほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な "
5447 "アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3)  を使"
5448 "うこと)。"
5449
5450 #. type: Plain text
5451 #: build/C/man3/rand.3:166
5452 msgid ""
5453 "POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
5454 "and B<srand>(), possibly useful when one needs the same sequence on two "
5455 "different machines."
5456 msgstr ""
5457 "POSIX 1003.1-2003 では、 B<rand>()  と B<srand>()  の実装例として以下を挙げて"
5458 "いる。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
5459
5460 #. type: Plain text
5461 #: build/C/man3/rand.3:170
5462 #, no-wrap
5463 msgid "static unsigned long next = 1;\n"
5464 msgstr "static unsigned long next = 1;\n"
5465
5466 #. type: Plain text
5467 #: build/C/man3/rand.3:176
5468 #, no-wrap
5469 msgid ""
5470 "/* RAND_MAX assumed to be 32767 */\n"
5471 "int myrand(void) {\n"
5472 "    next = next * 1103515245 + 12345;\n"
5473 "    return((unsigned)(next/65536) % 32768);\n"
5474 "}\n"
5475 msgstr ""
5476 "/* RAND_MAX を 32767 と仮定 */\n"
5477 "int myrand(void) {\n"
5478 "    next = next * 1103515245 + 12345;\n"
5479 "    return((unsigned)(next/65536) % 32768);\n"
5480 "}\n"
5481
5482 #. type: Plain text
5483 #: build/C/man3/rand.3:180
5484 #, no-wrap
5485 msgid ""
5486 "void mysrand(unsigned int seed) {\n"
5487 "    next = seed;\n"
5488 "}\n"
5489 msgstr ""
5490 "void mysrand(unsigned int seed) {\n"
5491 "    next = seed;\n"
5492 "}\n"
5493
5494 #. type: Plain text
5495 #: build/C/man3/rand.3:187
5496 msgid ""
5497 "The following program can be used to display the pseudo-random sequence "
5498 "produced by B<rand>()  when given a particular seed."
5499 msgstr ""
5500 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
5501 "B<rand>() が生成する疑似乱数系列を表示することができる。"
5502
5503 #. type: Plain text
5504 #: build/C/man3/rand.3:192
5505 #, no-wrap
5506 msgid ""
5507 "#include E<lt>stdlib.hE<gt>\n"
5508 "#include E<lt>stdio.hE<gt>\n"
5509 msgstr ""
5510 "#include E<lt>stdlib.hE<gt>\n"
5511 "#include E<lt>stdio.hE<gt>\n"
5512
5513 #. type: Plain text
5514 #: build/C/man3/rand.3:198
5515 #, no-wrap
5516 msgid ""
5517 "int\n"
5518 "main(int argc, char *argv[])\n"
5519 "{\n"
5520 "    int j, r, nloops;\n"
5521 "    unsigned int seed;\n"
5522 msgstr ""
5523 "int\n"
5524 "main(int argc, char *argv[])\n"
5525 "{\n"
5526 "    int j, r, nloops;\n"
5527 "    unsigned int seed;\n"
5528
5529 #. type: Plain text
5530 #: build/C/man3/rand.3:203
5531 #, no-wrap
5532 msgid ""
5533 "    if (argc != 3) {\n"
5534 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5535 "        exit(EXIT_FAILURE);\n"
5536 "    }\n"
5537 msgstr ""
5538 "    if (argc != 3) {\n"
5539 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
5540 "        exit(EXIT_FAILURE);\n"
5541 "    }\n"
5542
5543 #. type: Plain text
5544 #: build/C/man3/rand.3:206
5545 #, no-wrap
5546 msgid ""
5547 "    seed = atoi(argv[1]);\n"
5548 "    nloops = atoi(argv[2]);\n"
5549 msgstr ""
5550 "    seed = atoi(argv[1]);\n"
5551 "    nloops = atoi(argv[2]);\n"
5552
5553 #. type: Plain text
5554 #: build/C/man3/rand.3:212
5555 #, no-wrap
5556 msgid ""
5557 "    srand(seed);\n"
5558 "    for (j = 0; j E<lt> nloops; j++) {\n"
5559 "        r =  rand();\n"
5560 "        printf(\"%d\\en\", r);\n"
5561 "    }\n"
5562 msgstr ""
5563 "    srand(seed);\n"
5564 "    for (j = 0; j E<lt> nloops; j++) {\n"
5565 "        r =  rand();\n"
5566 "        printf(\"%d\\en\", r);\n"
5567 "    }\n"
5568
5569 #. type: Plain text
5570 #: build/C/man3/rand.3:220
5571 msgid "B<drand48>(3), B<random>(3)"
5572 msgstr "B<drand48>(3), B<random>(3)"
5573
5574 #. type: TH
5575 #: build/C/man3/random.3:33
5576 #, no-wrap
5577 msgid "RANDOM"
5578 msgstr "RANDOM"
5579
5580 #. type: Plain text
5581 #: build/C/man3/random.3:36
5582 msgid "random, srandom, initstate, setstate - random number generator"
5583 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
5584
5585 #. type: Plain text
5586 #: build/C/man3/random.3:41
5587 #, no-wrap
5588 msgid "B<long int random(void);>\n"
5589 msgstr "B<long int random(void);>\n"
5590
5591 #. type: Plain text
5592 #: build/C/man3/random.3:43
5593 #, no-wrap
5594 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
5595 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
5596
5597 #. type: Plain text
5598 #: build/C/man3/random.3:45
5599 #, no-wrap
5600 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5601 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
5602
5603 #. type: Plain text
5604 #: build/C/man3/random.3:47
5605 #, no-wrap
5606 msgid "B<char *setstate(char *>I<state>B<);>\n"
5607 msgstr "B<char *setstate(char *>I<state>B<);>\n"
5608
5609 #. type: Plain text
5610 #: build/C/man3/random.3:59
5611 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5612 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
5613
5614 #. type: Plain text
5615 #: build/C/man3/random.3:62
5616 msgid ""
5617 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5618 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5619 msgstr ""
5620 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE"
5621 "\\ &&\\ _XOPEN_SOURCE_EXTENDED"
5622
5623 #. type: Plain text
5624 #: build/C/man3/random.3:73
5625 msgid ""
5626 "The B<random>()  function uses a nonlinear additive feedback random number "
5627 "generator employing a default table of size 31 long integers to return "
5628 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
5629 "period of this random number generator is very large, approximately I<16\\ *"
5630 "\\ ((2^31)\\ -\\ 1)>."
5631 msgstr ""
5632 "B<random>()  関数は、非線形加法フィードバックを用いた乱数生成関数である。 こ"
5633 "の関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング"
5634 "整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長"
5635 "く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
5636
5637 #. type: Plain text
5638 #: build/C/man3/random.3:87
5639 msgid ""
5640 "The B<srandom>()  function sets its argument as the seed for a new sequence "
5641 "of pseudo-random integers to be returned by B<random>().  These sequences "
5642 "are repeatable by calling B<srandom>()  with the same seed value.  If no "
5643 "seed value is provided, the B<random>()  function is automatically seeded "
5644 "with a value of 1."
5645 msgstr ""
5646 "B<srandom>()  関数は、 B<random>()  で返される疑似乱数整数系列の種を設定す"
5647 "る。 そのためには新しい種を引数にして B<srandom>()  を呼べばよい。 "
5648 "B<random>()  で生成される系列は、 引数に同じ種の値を用いて B<srandom>()  を呼"
5649 "ぶことで再現可能である。 種の値が与えられない場合には B<random>()  関数は、自"
5650 "動的に 1 を種に設定する。"
5651
5652 #. type: Plain text
5653 #: build/C/man3/random.3:102
5654 msgid ""
5655 "The B<initstate>()  function allows a state array I<state> to be initialized "
5656 "for use by B<random>().  The size of the state array I<n> is used by "
5657 "B<initstate>()  to decide how sophisticated a random number generator it "
5658 "should use\\(emthe larger the state array, the better the random numbers "
5659 "will be.  I<seed> is the seed for the initialization, which specifies a "
5660 "starting point for the random number sequence, and provides for restarting "
5661 "at the same point."
5662 msgstr ""
5663 "B<initstate>()  関数は、 B<random>()  で使用される状態配列 I<state> を初期化"
5664 "する。 B<initstate>()  では、状態配列の大きさ I<n> は 使用する関数の乱数生成"
5665 "の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能は"
5666 "よくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定"
5667 "するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開す"
5668 "ることができる。"
5669
5670 #. type: Plain text
5671 #: build/C/man3/random.3:118
5672 msgid ""
5673 "The B<setstate>()  function changes the state array used by the B<random>()  "
5674 "function.  The state array I<state> is used for random number generation "
5675 "until the next call to B<initstate>()  or B<setstate>().  I<state> must "
5676 "first have been initialized using B<initstate>()  or be the result of a "
5677 "previous call of B<setstate>()."
5678 msgstr ""
5679 "B<setstate>()  関数は、 B<random>()  で使用される状態配列を変更する。 状態配"
5680 "列 I<state> は、 B<initstate>()  または B<setstate>()  が 次に呼び出されるま"
5681 "で、乱数の生成に使用される。 I<state> は B<initstate>()  を用いて最初に初期化"
5682 "されているか、 以前に呼び出した B<setstate>()  の結果でなければならない。"
5683
5684 #. type: Plain text
5685 #: build/C/man3/random.3:126
5686 msgid ""
5687 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
5688 "B<srandom>()  function returns no value."
5689 msgstr ""
5690 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
5691 "関数 B<srandom>() は値を返さない。"
5692
5693 #. type: Plain text
5694 #: build/C/man3/random.3:133
5695 msgid ""
5696 "The B<initstate>()  function returns a pointer to the previous state array.  "
5697 "On error, I<errno> is set to indicate the cause."
5698 msgstr ""
5699 "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 "
5700 "I<errno> に原因を示す値が設定される。"
5701
5702 #. type: Plain text
5703 #: build/C/man3/random.3:140
5704 msgid ""
5705 "On success, B<setstate>()  returns a pointer to the previous state array.  "
5706 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
5707 "error."
5708 msgstr ""
5709 "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5710 "I<errno> にエラーの原因を示す値が設定される。"
5711
5712 #. type: Plain text
5713 #: build/C/man3/random.3:148
5714 msgid "The I<state> argument given to B<setstate>()  was NULL."
5715 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
5716
5717 #. type: Plain text
5718 #: build/C/man3/random.3:152
5719 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
5720 msgstr "B<initstate>()  で8バイトよりも小さい状態配列を指定した。"
5721
5722 #. type: Plain text
5723 #: build/C/man3/random.3:161
5724 msgid ""
5725 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
5726 "are thread-safe."
5727 msgstr ""
5728 "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセー"
5729 "フである。"
5730
5731 #. type: Plain text
5732 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
5733 msgid "4.3BSD, POSIX.1-2001."
5734 msgstr "4.3BSD, POSIX.1-2001."
5735
5736 #. type: Plain text
5737 #: build/C/man3/random.3:169
5738 msgid ""
5739 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
5740 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
5741 "known amount.  Using less than 8 bytes will cause an error."
5742 msgstr ""
5743 "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトであ"
5744 "る。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値"
5745 "になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
5746
5747 #. type: Plain text
5748 #: build/C/man3/random.3:176
5749 msgid ""
5750 "This function should not be used in cases where multiple threads use "
5751 "B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
5752 "for that purpose."
5753 msgstr ""
5754 "複数のスレッドが B<random>()  を使うような状況では、この関数を使用すべきでは"
5755 "ない。 その場合には B<random_r>(3)  を使うこと。"
5756
5757 #. type: Plain text
5758 #: build/C/man3/random.3:183
5759 msgid ""
5760 "Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
5761 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5762 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5763 "2007, 3rd ed.)  provides an excellent discussion of practical random-number "
5764 "generation issues in Chapter 7 (Random Numbers)."
5765 msgstr ""
5766 "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of "
5767 "Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. "
5768 "Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
5769 "2007, 3rd ed.)  では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で"
5770 "展開されている。"
5771
5772 #. type: Plain text
5773 #: build/C/man3/random.3:189
5774 msgid ""
5775 "For a more theoretical discussion which also covers many practical issues in "
5776 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
5777 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
5778 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
5779 msgstr ""
5780 "より理論的な議論については Donald E. Knuth の I<The Art of Computer "
5781 "Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, "
5782 "Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見"
5783 "よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
5784
5785 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
5786 #. type: Plain text
5787 #: build/C/man3/random.3:197
5788 msgid ""
5789 "According to POSIX, B<initstate>()  should return NULL on error.  In the "
5790 "glibc implementation, I<errno> is (as specified) set on error, but the "
5791 "function does not return NULL."
5792 msgstr ""
5793 "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc "
5794 "の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は "
5795 "NULL ではない。"
5796
5797 #. type: Plain text
5798 #: build/C/man3/random.3:202
5799 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5800 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
5801
5802 #. type: TH
5803 #: build/C/man3/random_r.3:26
5804 #, no-wrap
5805 msgid "RANDOM_R"
5806 msgstr "RANDOM_R"
5807
5808 #. type: Plain text
5809 #: build/C/man3/random_r.3:30
5810 msgid ""
5811 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
5812 "generator"
5813 msgstr ""
5814 "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
5815
5816 #. type: Plain text
5817 #: build/C/man3/random_r.3:35
5818 #, no-wrap
5819 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5820 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
5821
5822 #. type: Plain text
5823 #: build/C/man3/random_r.3:37
5824 #, no-wrap
5825 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5826 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
5827
5828 #. type: Plain text
5829 #: build/C/man3/random_r.3:40
5830 #, no-wrap
5831 msgid ""
5832 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5833 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5834 msgstr ""
5835 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
5836 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
5837
5838 #. type: Plain text
5839 #: build/C/man3/random_r.3:42
5840 #, no-wrap
5841 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5842 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
5843
5844 #. type: Plain text
5845 #: build/C/man3/random_r.3:54
5846 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5847 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
5848
5849 #. type: Plain text
5850 #: build/C/man3/random_r.3:56
5851 msgid "_SVID_SOURCE || _BSD_SOURCE"
5852 msgstr "_SVID_SOURCE || _BSD_SOURCE"
5853
5854 #. type: Plain text
5855 #: build/C/man3/random_r.3:64
5856 msgid ""
5857 "These functions are the reentrant equivalents of the functions described in "
5858 "B<random>(3).  They are suitable for use in multithreaded programs where "
5859 "each thread needs to obtain an independent, reproducible sequence of random "
5860 "numbers."
5861 msgstr ""
5862 "これらの関数は、 B<random>(3)  で説明されている関数のリエントラント版で、等価"
5863 "な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要がある"
5864 "ような マルチスレッド・プログラムでの使用に適している。"
5865
5866 #. type: Plain text
5867 #: build/C/man3/random_r.3:75
5868 msgid ""
5869 "The B<random_r>()  function is like B<random>(3), except that instead of "
5870 "using state information maintained in a global variable, it uses the state "
5871 "information in the argument pointed to by I<buf>.  The generated random "
5872 "number is returned in the argument I<result>."
5873 msgstr ""
5874 "B<random_r>()  関数は B<random>(3)  と同様だが、 大域変数 (global variable) "
5875 "で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情"
5876 "報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
5877
5878 #. type: Plain text
5879 #: build/C/man3/random_r.3:84
5880 msgid ""
5881 "The B<srandom_r>()  function is like B<srandom>(3), except that it "
5882 "initializes the seed for the random number generator whose state is "
5883 "maintained in the object pointed to by I<buf>, instead of the seed "
5884 "associated with the global state variable."
5885 msgstr ""
5886 "B<srandom_r>()  関数は B<srandom>(3)  と同様だが、 大域変数で管理される状態に"
5887 "対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に"
5888 "対応する乱数生成器の種を 初期化する。"
5889
5890 #. type: Plain text
5891 #: build/C/man3/random_r.3:92
5892 msgid ""
5893 "The B<initstate_r>()  function is like B<initstate>(3)  except that it "
5894 "initializes the state in the object pointed to by I<buf>, rather than "
5895 "initializing the global state variable."
5896 msgstr ""
5897 "B<initstate_r>()  関数は B<initstate>(3)  と同様だが、大域変数で管理される状"
5898 "態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
5899
5900 #. type: Plain text
5901 #: build/C/man3/random_r.3:100
5902 msgid ""
5903 "The B<setstate_r>()  function is like B<setstate>(3)  except that it "
5904 "modifies the state in the object pointer to by I<buf>, rather than modifying "
5905 "the global state variable."
5906 msgstr ""
5907 "B<setstate_r>()  関数は B<setstate>(3)  と同様だが、大域変数で管理される状態"
5908 "を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
5909
5910 #. type: Plain text
5911 #: build/C/man3/random_r.3:105
5912 msgid ""
5913 "All of these functions return 0 on success.  On error, -1 is returned, with "
5914 "I<errno> set to indicate the cause of the error."
5915 msgstr ""
5916 "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
5917 "I<errno> にエラーの原因を示す値がセットされる。"
5918
5919 #. type: Plain text
5920 #: build/C/man3/random_r.3:110
5921 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
5922 msgstr "8 バイトより小さい状態配列が B<initstate_r>()  に指定された。"
5923
5924 #. type: Plain text
5925 #: build/C/man3/random_r.3:119
5926 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
5927 msgstr "B<setstate_r>()  の引き数 I<statebuf> か I<buf> が NULL であった。"
5928
5929 #. type: Plain text
5930 #: build/C/man3/random_r.3:128
5931 msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
5932 msgstr "B<random_r>()  の引き数 I<buf> か I<result> が NULL であった。"
5933
5934 #. type: Plain text
5935 #: build/C/man3/random_r.3:137
5936 msgid ""
5937 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
5938 "functions are thread-safe."
5939 msgstr ""
5940 "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はス"
5941 "レッドセーフである。"
5942
5943 #.  These functions appear to be on Tru64, but don't seem to be on
5944 #.  Solaris, HP-UX, or FreeBSD.
5945 #. type: Plain text
5946 #: build/C/man3/random_r.3:141
5947 msgid "These functions are nonstandard glibc extensions."
5948 msgstr "これらの関数は非標準で glibc による拡張である。"
5949
5950 #. type: TH
5951 #: build/C/man3/rpmatch.3:29
5952 #, no-wrap
5953 msgid "RPMATCH"
5954 msgstr "RPMATCH"
5955
5956 #. type: Plain text
5957 #: build/C/man3/rpmatch.3:32
5958 msgid ""
5959 "rpmatch - determine if the answer to a question is affirmative or negative"
5960 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
5961
5962 #. type: Plain text
5963 #: build/C/man3/rpmatch.3:37
5964 #, no-wrap
5965 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
5966 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
5967
5968 #. type: Plain text
5969 #: build/C/man3/rpmatch.3:46
5970 msgid "B<rpmatch>(): _SVID_SOURCE"
5971 msgstr "B<rpmatch>(): _SVID_SOURCE"
5972
5973 #. type: Plain text
5974 #: build/C/man3/rpmatch.3:50
5975 msgid ""
5976 "B<rpmatch>()  handles a user response to yes or no questions, with support "
5977 "for internationalization."
5978 msgstr ""
5979 "B<rpmatch>()  は yes/no の質問に対するユーザからの応答を処理する。 国際化 "
5980 "(I18N) に対応している。"
5981
5982 #. type: Plain text
5983 #: build/C/man3/rpmatch.3:57
5984 msgid ""
5985 "I<response> should be a null-terminated string containing a user-supplied "
5986 "response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
5987 msgstr ""
5988 "I<response> にはユーザからの応答を格納したヌル終端文字列が入っている必要があ"
5989 "る。 たいていは、 B<fgets>(3)  や B<getline>(3)  で取り込んだものであろう。"
5990
5991 #. type: Plain text
5992 #: build/C/man3/rpmatch.3:67
5993 msgid ""
5994 "The user's language preference is taken into account per the environment "
5995 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
5996 "B<setlocale>(3)  to effect their changes."
5997 msgstr ""
5998 "プログラムが B<setlocale>(3)  を呼び出して環境変数の変更を有効にした場合、 環"
5999 "境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザの言語設定として考慮され"
6000 "る。"
6001
6002 #. type: Plain text
6003 #: build/C/man3/rpmatch.3:73
6004 msgid ""
6005 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
6006 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
6007 msgstr ""
6008 "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 "
6009 "B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
6010
6011 #. type: Plain text
6012 #: build/C/man3/rpmatch.3:82
6013 msgid ""
6014 "After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
6015 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
6016 "and -1 when the value of I<response> is unrecognized."
6017 msgstr ""
6018 "I<response> を検査した後、 B<rpmatch>()  は否定的な応答 (\"no\") と認識した場"
6019 "合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 "
6020 "I<response> の値を解釈できなかった場合は -1 を返す。"
6021
6022 #. type: Plain text
6023 #: build/C/man3/rpmatch.3:86
6024 msgid ""
6025 "A return value of -1 may indicate either an invalid input, or some other "
6026 "error.  It is incorrect to only test if the return value is nonzero."
6027 msgstr ""
6028 "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったこと"
6029 "を意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
6030
6031 #. type: Plain text
6032 #: build/C/man3/rpmatch.3:99
6033 msgid ""
6034 "B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
6035 "B<regexec>(3)  can fail; the cause of the error is not available from "
6036 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
6037 "this case is indistinguishable from that of an unrecognized value of "
6038 "I<response>)."
6039 msgstr ""
6040 "B<rpmatch>()  は、 B<regcomp>(3)  や B<regexec>(3)  が失敗する理由のどれかで"
6041 "失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできない"
6042 "が、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと "
6043 "I<response> の値を認識できずに失敗した場合を区別することはできない)。"
6044
6045 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
6046 #. type: Plain text
6047 #: build/C/man3/rpmatch.3:104
6048 msgid ""
6049 "B<rpmatch>()  is not required by any standard, but is available on a few "
6050 "other systems."
6051 msgstr ""
6052 "B<rpmatch>()  はどの標準でも必須となっていないが、 Linux 以外にも利用できるシ"
6053 "ステムもいくつかは存在する。"
6054
6055 #. type: Plain text
6056 #: build/C/man3/rpmatch.3:119
6057 msgid ""
6058 "The B<rpmatch>()  implementation looks at only the first character of "
6059 "I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
6060 "million years\" returns 1.  It would be preferable to accept input strings "
6061 "much more strictly, for example (using the extended regular expression "
6062 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|"
6063 "NO)$>."
6064 msgstr ""
6065 "B<rpmatch>()  の実装は I<response> の最初の 1 文字だけを見ているようである。"
6066 "その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を"
6067 "返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 "
6068 "(B<regex>(7)  で説明されている拡張正規表現を使って)  B<^([yY]|yes|YES)$> や "
6069 "B<^([nN]|no|NO)$> で解釈するなど。"
6070
6071 #. type: Plain text
6072 #: build/C/man3/rpmatch.3:123
6073 msgid ""
6074 "The following program displays the results when B<rpmatch>()  is applied to "
6075 "the string given in the program's command-line argument."
6076 msgstr ""
6077 "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>()  "
6078 "に渡した場合の結果を表示する。"
6079
6080 #. type: Plain text
6081 #: build/C/man3/rpmatch.3:130
6082 #, no-wrap
6083 msgid ""
6084 "#define _SVID_SOURCE\n"
6085 "#include E<lt>locale.hE<gt>\n"
6086 "#include E<lt>stdlib.hE<gt>\n"
6087 "#include E<lt>string.hE<gt>\n"
6088 "#include E<lt>stdio.hE<gt>\n"
6089 msgstr ""
6090 "#define _SVID_SOURCE\n"
6091 "#include E<lt>locale.hE<gt>\n"
6092 "#include E<lt>stdlib.hE<gt>\n"
6093 "#include E<lt>string.hE<gt>\n"
6094 "#include E<lt>stdio.hE<gt>\n"
6095
6096 #. type: Plain text
6097 #: build/C/man3/rpmatch.3:138
6098 #, no-wrap
6099 msgid ""
6100 "int\n"
6101 "main(int argc, char *argv[])\n"
6102 "{\n"
6103 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6104 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6105 "        exit(EXIT_FAILURE);\n"
6106 "    }\n"
6107 msgstr ""
6108 "int\n"
6109 "main(int argc, char *argv[])\n"
6110 "{\n"
6111 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
6112 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
6113 "        exit(EXIT_FAILURE);\n"
6114 "    }\n"
6115
6116 #. type: Plain text
6117 #: build/C/man3/rpmatch.3:143
6118 #, no-wrap
6119 msgid ""
6120 "    setlocale(LC_ALL, \"\");\n"
6121 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6122 "    exit(EXIT_SUCCESS);\n"
6123 "}\n"
6124 msgstr ""
6125 "    setlocale(LC_ALL, \"\");\n"
6126 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
6127 "    exit(EXIT_SUCCESS);\n"
6128 "}\n"
6129
6130 #. type: Plain text
6131 #: build/C/man3/rpmatch.3:150
6132 msgid ""
6133 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6134 msgstr ""
6135 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
6136
6137 #. type: TH
6138 #: build/C/man3/setenv.3:37
6139 #, no-wrap
6140 msgid "SETENV"
6141 msgstr "SETENV"
6142
6143 #. type: TH
6144 #: build/C/man3/setenv.3:37
6145 #, no-wrap
6146 msgid "2013-10-11"
6147 msgstr "2013-10-11"
6148
6149 #. type: Plain text
6150 #: build/C/man3/setenv.3:40
6151 msgid "setenv - change or add an environment variable"
6152 msgstr "setenv - 環境変数を変更または追加する"
6153
6154 #. type: Plain text
6155 #: build/C/man3/setenv.3:45
6156 #, no-wrap
6157 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6158 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
6159
6160 #. type: Plain text
6161 #: build/C/man3/setenv.3:47
6162 #, no-wrap
6163 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
6164 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
6165
6166 #. type: Plain text
6167 #: build/C/man3/setenv.3:57
6168 msgid "B<setenv>(), B<unsetenv>():"
6169 msgstr "B<setenv>(), B<unsetenv>():"
6170
6171 #. type: Plain text
6172 #: build/C/man3/setenv.3:59
6173 msgid ""
6174 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6175 "\\ 600"
6176 msgstr ""
6177 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
6178 "\\ 600"
6179
6180 #. type: Plain text
6181 #: build/C/man3/setenv.3:94
6182 msgid ""
6183 "The B<setenv>()  function adds the variable I<name> to the environment with "
6184 "the value I<value>, if I<name> does not already exist.  If I<name> does "
6185 "exist in the environment, then its value is changed to I<value> if "
6186 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
6187 "is not changed (and B<setenv>()  returns a success status).  This function "
6188 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
6189 "with B<putenv>(3))."
6190 msgstr ""
6191 "B<setenv>()  関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> "
6192 "を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以"
6193 "外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を"
6194 "変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 "
6195 "(B<putenv>(3)  と違い)  I<name> と I<value> により参照される文字列のコピーを"
6196 "行う。"
6197
6198 #. type: Plain text
6199 #: build/C/man3/setenv.3:105
6200 msgid ""
6201 "The B<unsetenv>()  function deletes the variable I<name> from the "
6202 "environment.  If I<name> does not exist in the environment, then the "
6203 "function succeeds, and the environment is unchanged."
6204 msgstr ""
6205 "B<unsetenv>()  関数は、変数 I<name> を環境から削除する。 I<name> が環境にない"
6206 "場合、この関数は成功し、環境は変更されない。"
6207
6208 #. type: Plain text
6209 #: build/C/man3/setenv.3:112
6210 msgid ""
6211 "The B<setenv>()  function returns zero on success, or -1 on error, with "
6212 "I<errno> set to indicate the cause of the error."
6213 msgstr ""
6214 "B<setenv>()  関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 "
6215 "I<errno> にエラーの原因を示す値がセットされる。"
6216
6217 #. type: Plain text
6218 #: build/C/man3/setenv.3:119
6219 msgid ""
6220 "The B<unsetenv>()  function returns zero on success, or -1 on error, with "
6221 "I<errno> set to indicate the cause of the error."
6222 msgstr ""
6223 "B<unsetenv>()  関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 "
6224 "I<errno> を設定してエラーの原因を示す。"
6225
6226 #. type: Plain text
6227 #: build/C/man3/setenv.3:125
6228 msgid ""
6229 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
6230 "character."
6231 msgstr ""
6232 "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字"
6233 "が含まれている。"
6234
6235 #. type: Plain text
6236 #: build/C/man3/setenv.3:128
6237 msgid "Insufficient memory to add a new variable to the environment."
6238 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
6239
6240 #. type: Plain text
6241 #: build/C/man3/setenv.3:136
6242 msgid ""
6243 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be reentrant."
6244 msgstr ""
6245 "POSIX.1-2001 は、 B<setenv>()  や B<unsetenv>()  がリエントラント (再入可能) "
6246 "であることを要求していない。"
6247
6248 #. type: Plain text
6249 #: build/C/man3/setenv.3:144
6250 msgid ""
6251 "Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
6252 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
6253 "in the SYNOPSIS."
6254 msgstr ""
6255 "glibc 2.2.2 以前では、 B<unsetenv>()  は 返り値が I<void> のプロトタイプで"
6256 "あった。 もっと最近の glibc 版は、「書式」セクションで示しているように "
6257 "POSIX.1-2001 互換のプロトタイプである。"
6258
6259 #. type: Plain text
6260 #: build/C/man3/setenv.3:153
6261 msgid ""
6262 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
6263 "then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
6264 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
6265 msgstr ""
6266 "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>()  "
6267 "はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前"
6268 "のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許してい"
6269 "る。"
6270
6271 #. type: Plain text
6272 #: build/C/man3/setenv.3:158
6273 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6274 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
6275
6276 #. type: TH
6277 #: build/C/man3/strtod.3:45
6278 #, no-wrap
6279 msgid "STRTOD"
6280 msgstr "STRTOD"
6281
6282 #. type: Plain text
6283 #: build/C/man3/strtod.3:48
6284 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
6285 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
6286
6287 #. type: Plain text
6288 #: build/C/man3/strtod.3:52
6289 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6290 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6291
6292 #. type: Plain text
6293 #: build/C/man3/strtod.3:54
6294 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6295 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6296
6297 #. type: Plain text
6298 #: build/C/man3/strtod.3:56
6299 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6300 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
6301
6302 #. type: Plain text
6303 #: build/C/man3/strtod.3:65
6304 msgid "B<strtof>(), B<strtold>():"
6305 msgstr "B<strtof>(), B<strtold>():"
6306
6307 #. type: Plain text
6308 #: build/C/man3/strtod.3:87
6309 msgid ""
6310 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
6311 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
6312 "and I<long double> representation, respectively."
6313 msgstr ""
6314 "B<strtod>(), B<strtof>(), B<strtold>()  関数は、 I<nptr> が指し示す文字列のは"
6315 "じめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
6316
6317 #. type: Plain text
6318 #: build/C/man3/strtod.3:94
6319 msgid ""
6320 "The expected form of the (initial portion of the) string is optional leading "
6321 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
6322 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
6323 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
6324 msgstr ""
6325 "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトス"
6326 "ペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その"
6327 "後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-"
6328 "number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペース"
6329 "は B<isspace>(3)  で識別される)。"
6330
6331 #. type: Plain text
6332 #: build/C/man3/strtod.3:103
6333 msgid ""
6334 "A I<decimal number> consists of a nonempty sequence of decimal digits "
6335 "possibly containing a radix character (decimal point, locale-dependent, "
6336 "usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
6337 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
6338 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
6339 "indicates multiplication by a power of 10."
6340 msgstr ""
6341 "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix "
6342 "charater)  (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれること"
6343 "もある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq "
6344 "または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続"
6345 "く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
6346
6347 #. type: Plain text
6348 #: build/C/man3/strtod.3:114
6349 msgid ""
6350 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
6351 "nonempty sequence of hexadecimal digits possibly containing a radix "
6352 "character, optionally followed by a binary exponent.  A binary exponent "
6353 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
6354 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
6355 "multiplication by a power of 2.  At least one of radix character and binary "
6356 "exponent must be present."
6357 msgstr ""
6358 "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の"
6359 "列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いて"
6360 "も良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正"
6361 "負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成さ"
6362 "れ、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか"
6363 "存在してはならない。"
6364
6365 #. type: Plain text
6366 #: build/C/man3/strtod.3:118
6367 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
6368 msgstr ""
6369 "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
6370
6371 #. type: Plain text
6372 #: build/C/man3/strtod.3:127
6373 msgid ""
6374 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by a string, "
6375 "I<(n-char-sequence)>, where I<n-char-sequence> specifies in an "
6376 "implementation-dependent way the type of NAN (see NOTES)."
6377 msgstr ""
6378 "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に文字列 "
6379 "I<(n-char-sequence)> が続く場合もある。 I<(n-char-sequence)> は実装に依存す"
6380 "る NAN の型を指定する。"
6381
6382 #. type: Plain text
6383 #: build/C/man3/strtod.3:129
6384 msgid "These functions return the converted value, if any."
6385 msgstr "これらの関数は、変換された値があれば、それを返す。"
6386
6387 #. type: Plain text
6388 #: build/C/man3/strtod.3:136
6389 msgid ""
6390 "If I<endptr> is not NULL, a pointer to the character after the last "
6391 "character used in the conversion is stored in the location referenced by "
6392 "I<endptr>."
6393 msgstr ""
6394 "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポイン"
6395 "ターが I<endptr> で参照される場所へ保存される。"
6396
6397 #. type: Plain text
6398 #: build/C/man3/strtod.3:141
6399 msgid ""
6400 "If no conversion is performed, zero is returned and the value of I<nptr> is "
6401 "stored in the location referenced by I<endptr>."
6402 msgstr ""
6403 "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に "
6404 "I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
6405
6406 #. type: Plain text
6407 #: build/C/man3/strtod.3:155
6408 msgid ""
6409 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
6410 "(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
6411 "value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
6412 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
6413 msgstr ""
6414 "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、"
6415 "プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>)  が返り (値の"
6416 "符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを"
6417 "起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
6418
6419 #. type: TP
6420 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
6421 #: build/C/man3/strtoul.3:155
6422 #, no-wrap
6423 msgid "B<ERANGE>"
6424 msgstr "B<ERANGE>"
6425
6426 #. type: Plain text
6427 #: build/C/man3/strtod.3:159
6428 msgid "Overflow or underflow occurred."
6429 msgstr "オーバーフローまたはアンダーフローが起こった。"
6430
6431 #. type: Plain text
6432 #: build/C/man3/strtod.3:171
6433 msgid ""
6434 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
6435 "with exceptions.  These functions can be safely used in multithreaded "
6436 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6437 "during their execution."
6438 msgstr ""
6439 "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフであ"
6440 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6441 "レッドアプリケーションで安全に使用することができる。"
6442
6443 #. type: Plain text
6444 #: build/C/man3/strtod.3:176
6445 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
6446 msgstr "C89 では B<strtod>()  が、C99 では残りの 2 つの関数が記述されている。"
6447
6448 #. type: Plain text
6449 #: build/C/man3/strtod.3:185
6450 msgid ""
6451 "Since 0 can legitimately be returned on both success and failure, the "
6452 "calling program should set I<errno> to 0 before the call, and then determine "
6453 "if an error occurred by checking whether I<errno> has a nonzero value after "
6454 "the call."
6455 msgstr ""
6456 "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前"
6457 "に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認"
6458 "しエラーが発生したかどうかを判断する 必要がある。"
6459
6460 #.  From glibc 2.8's stdlib/strtod_l.c:
6461 #.      We expect it to be a number which is put in the
6462 #.      mantissa of the number.
6463 #.  It looks as though at least FreeBSD (according to the manual) does
6464 #.  something similar.
6465 #.  C11 says: "An implementation may use the n-char sequence to determine
6466 #.      extra information to be represented in the NaN's significant."
6467 #. type: Plain text
6468 #: build/C/man3/strtod.3:200
6469 msgid ""
6470 "In the glibc implementation, the I<n-char-sequence> that optionally follows "
6471 "\"NAN\" is interpreted as an integer number (with an optional '0' or '0x' "
6472 "prefix to select base 8 or 16)  that is to be placed in the mantissa "
6473 "component of the returned value."
6474 msgstr ""
6475 "glibc の実装では、\"NAN\" の後ろに置くことができる I<n-char-sequence> は、整"
6476 "数値として解釈される (基数の 8 や 16 を示す '0' や '0x' を接頭辞として付ける"
6477 "ことができる)。 この整数値は返り値の仮数部として使われる。"
6478
6479 #. type: Plain text
6480 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
6481 msgid ""
6482 "See the example on the B<strtol>(3)  manual page; the use of the functions "
6483 "described in this manual page is similar."
6484 msgstr ""
6485 "B<strtol>(3)  のマニュアルページの例を参照。 このページで説明した関数の使用方"
6486 "法も同様である。"
6487
6488 #. type: Plain text
6489 #: build/C/man3/strtod.3:214
6490 msgid ""
6491 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6492 "B<strtol>(3), B<strtoul>(3)"
6493 msgstr ""
6494 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
6495 "B<strtol>(3), B<strtoul>(3)"
6496
6497 #. type: TH
6498 #: build/C/man3/strtoimax.3:24
6499 #, no-wrap
6500 msgid "STRTOIMAX"
6501 msgstr "STRTOIMAX"
6502
6503 #. type: Plain text
6504 #: build/C/man3/strtoimax.3:27
6505 msgid "strtoimax, strtoumax - convert string to integer"
6506 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
6507
6508 #. type: Plain text
6509 #: build/C/man3/strtoimax.3:30
6510 #, no-wrap
6511 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
6512 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
6513
6514 #. type: Plain text
6515 #: build/C/man3/strtoimax.3:32
6516 #, no-wrap
6517 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6518 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6519
6520 #. type: Plain text
6521 #: build/C/man3/strtoimax.3:34
6522 #, no-wrap
6523 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6524 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6525
6526 #. type: Plain text
6527 #: build/C/man3/strtoimax.3:45
6528 msgid ""
6529 "These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
6530 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
6531 msgstr ""
6532 "これらの関数はちょうど B<strtol>(3)  と B<strtoul>(3)  に似ているが、それぞ"
6533 "れ I<intmax_t> と I<uintmax_t> 型の値を返す。"
6534
6535 #. type: Plain text
6536 #: build/C/man3/strtoimax.3:58
6537 msgid ""
6538 "On success, the converted value is returned.  If nothing was found to "
6539 "convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
6540 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
6541 "B<ERANGE>."
6542 msgstr ""
6543 "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 "
6544 "が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または "
6545 "B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定さ"
6546 "れる。"
6547
6548 #. type: Plain text
6549 #: build/C/man3/strtoimax.3:69
6550 msgid ""
6551 "The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
6552 "exceptions.  These functions can be safely used in multithreaded "
6553 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6554 "during their execution."
6555 msgstr ""
6556 "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実"
6557 "行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドア"
6558 "プリケーションで安全に使用することができる。"
6559
6560 #. type: Plain text
6561 #: build/C/man3/strtoimax.3:77
6562 msgid ""
6563 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6564 msgstr ""
6565 "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
6566
6567 #. type: TH
6568 #: build/C/man3/strtol.3:31
6569 #, no-wrap
6570 msgid "STRTOL"
6571 msgstr "STRTOL"
6572
6573 #. type: Plain text
6574 #: build/C/man3/strtol.3:34
6575 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
6576 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
6577
6578 #. type: Plain text
6579 #: build/C/man3/strtol.3:39
6580 #, no-wrap
6581 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6582 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6583
6584 #. type: Plain text
6585 #: build/C/man3/strtol.3:42
6586 #, no-wrap
6587 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6588 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6589
6590 #. type: Plain text
6591 #: build/C/man3/strtol.3:51
6592 msgid "B<strtoll>():"
6593 msgstr "B<strtoll>():"
6594
6595 #. type: Plain text
6596 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
6597 msgid ""
6598 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
6599 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6600 msgstr ""
6601 "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE "
6602 "|| _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
6603
6604 #. type: Plain text
6605 #: build/C/man3/strtol.3:68
6606 msgid ""
6607 "The B<strtol>()  function converts the initial part of the string in I<nptr> "
6608 "to a long integer value according to the given I<base>, which must be "
6609 "between 2 and 36 inclusive, or be the special value 0."
6610 msgstr ""
6611 "B<strtol>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6612 "long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を"
6613 "持つ値 0 でなければならない。"
6614
6615 #. type: Plain text
6616 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
6617 msgid ""
6618 "The string may begin with an arbitrary amount of white space (as determined "
6619 "by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
6620 "sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
6621 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
6622 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
6623 "case it is taken as 8 (octal)."
6624 msgstr ""
6625 "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定さ"
6626 "れる)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 "
6627 "I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、"
6628 "その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 "
6629 "の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のとき"
6630 "は 10進数として扱われる。"
6631
6632 #. type: Plain text
6633 #: build/C/man3/strtol.3:90
6634 msgid ""
6635 "The remainder of the string is converted to a I<long int> value in the "
6636 "obvious manner, stopping at the first character which is not a valid digit "
6637 "in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
6638 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
6639 "forth, with \\(aqZ\\(aq representing 35.)"
6640 msgstr ""
6641 "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が"
6642 "現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関"
6643 "わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は "
6644 "35 を表す。)"
6645
6646 #. type: Plain text
6647 #: build/C/man3/strtol.3:111
6648 msgid ""
6649 "If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
6650 "invalid character in I<*endptr>.  If there were no digits at all, "
6651 "B<strtol>()  stores the original value of I<nptr> in I<*endptr> (and returns "
6652 "0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
6653 "\\(aq\\e0\\(aq on return, the entire string is valid."
6654 msgstr ""
6655 "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が "
6656 "B<strtol>()  によって I<*endptr> に保存されている。 文字列に有効な数字がひと"
6657 "つもなければ、 B<strtol>()  は I<nptr> の元の値を I<*endptr> に代入する (そし"
6658 "て 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> "
6659 "が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
6660
6661 #. type: Plain text
6662 #: build/C/man3/strtol.3:117
6663 msgid ""
6664 "The B<strtoll>()  function works just like the B<strtol>()  function but "
6665 "returns a long long integer value."
6666 msgstr ""
6667 "B<strtoll>()  関数は B<strtol>()  と同様だが、long long int 型の値を返す。"
6668
6669 #. type: Plain text
6670 #: build/C/man3/strtol.3:144
6671 msgid ""
6672 "The B<strtol>()  function returns the result of the conversion, unless the "
6673 "value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
6674 "returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
6675 "B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
6676 "same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
6677 "B<LONG_MIN> and B<LONG_MAX>)."
6678 msgstr ""
6679 "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>()  関数は 変換さ"
6680 "れた値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフロー"
6681 "した場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場"
6682 "合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>()  も同様で"
6683 "あるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> "
6684 "が返される。"
6685
6686 #. type: Plain text
6687 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
6688 msgid "(not in C99)  The given I<base> contains an unsupported value."
6689 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
6690
6691 #. type: Plain text
6692 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
6693 msgid "The resulting value was out of range."
6694 msgstr "結果の値が範囲外である。"
6695
6696 #. type: Plain text
6697 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
6698 msgid ""
6699 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
6700 "was performed (no digits seen, and 0 returned)."
6701 msgstr ""
6702 "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 "
6703 "I<errno> に B<EINVAL> が設定される場合がある。"
6704
6705 #. type: Plain text
6706 #: build/C/man3/strtol.3:173
6707 msgid ""
6708 "The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
6709 "with exceptions.  These functions can be safely used in multithreaded "
6710 "applications, as long as B<setlocale>(3)  is not called to change the locale "
6711 "during their execution."
6712 msgstr ""
6713 "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフであ"
6714 "る。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
6715 "レッドアプリケーションで安全に使用することができる。"
6716
6717 #. type: Plain text
6718 #: build/C/man3/strtol.3:178
6719 msgid ""
6720 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
6721 "B<strtoll>()  to C99 and POSIX.1-2001."
6722 msgstr ""
6723 "B<strtol>()  は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 "
6724 "B<strtoll>()  は C99 と POSIX.1-2001 に準拠している。"
6725
6726 #. type: Plain text
6727 #: build/C/man3/strtol.3:196
6728 msgid ""
6729 "Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
6730 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
6731 "failure, the calling program should set I<errno> to 0 before the call, and "
6732 "then determine if an error occurred by checking whether I<errno> has a "
6733 "nonzero value after the call."
6734 msgstr ""
6735 "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> "
6736 "(B<strtoll>()  では B<LLONG_MAX>, B<LLONG_MIN>)  が返る可能性があるので、 プ"
6737 "ログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> "
6738 "が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
6739
6740 #. type: Plain text
6741 #: build/C/man3/strtol.3:201
6742 msgid ""
6743 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
6744 "these functions may accept other, implementation-defined numeric strings."
6745 msgstr ""
6746 "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他"
6747 "の実装時に定義される数字を示す文字列を受け付けるとされている。"
6748
6749 #. type: Plain text
6750 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
6751 msgid "BSD also has"
6752 msgstr "BSD には、"
6753
6754 #. type: Plain text
6755 #: build/C/man3/strtol.3:207
6756 #, no-wrap
6757 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6758 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6759
6760 #. type: Plain text
6761 #: build/C/man3/strtol.3:216
6762 msgid ""
6763 "with completely analogous definition.  Depending on the wordsize of the "
6764 "current architecture, this may be equivalent to B<strtoll>()  or to "
6765 "B<strtol>()."
6766 msgstr ""
6767 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
6768 "であるが、この関数は B<strtoll>()  か B<strtol>()  と等価となることもある。"
6769
6770 #. type: Plain text
6771 #: build/C/man3/strtol.3:230
6772 msgid ""
6773 "The program shown below demonstrates the use of B<strtol>().  The first "
6774 "command-line argument specifies a string from which B<strtol>()  should "
6775 "parse a number.  The second (optional) argument specifies the base to be "
6776 "used for the conversion.  (This argument is converted to numeric form using "
6777 "B<atoi>(3), a function that performs no error checking and has a simpler "
6778 "interface than B<strtol>().)  Some examples of the results produced by this "
6779 "program are the following:"
6780 msgstr ""
6781 "以下のプログラムは B<strtol>()  の使用例である。 最初のコマンドライン引き数に"
6782 "は B<strtol>()  が数字として解釈する文字列を指定する。 (省略可能な) 二番目の"
6783 "引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3)  を使って"
6784 "数値に変換される。 B<atoi>(3)  は B<strtol>()  よりも簡単なインタフェースを持"
6785 "つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をい"
6786 "くつか以下に示す:"
6787
6788 #. type: Plain text
6789 #: build/C/man3/strtol.3:246
6790 #, no-wrap
6791 msgid ""
6792 "$B< ./a.out 123>\n"
6793 "strtol() returned 123\n"
6794 "$B< ./a.out \\(aq    123\\(aq>\n"
6795 "strtol() returned 123\n"
6796 "$B< ./a.out 123abc>\n"
6797 "strtol() returned 123\n"
6798 "Further characters after number: abc\n"
6799 "$B< ./a.out 123abc 55>\n"
6800 "strtol: Invalid argument\n"
6801 "$B< ./a.out \\(aq\\(aq>\n"
6802 "No digits were found\n"
6803 "$B< ./a.out 4000000000>\n"
6804 "strtol: Numerical result out of range\n"
6805 msgstr ""
6806 "$B< ./a.out 123>\n"
6807 "strtol() returned 123\n"
6808 "$B< ./a.out \\(aq    123\\(aq>\n"
6809 "strtol() returned 123\n"
6810 "$B< ./a.out 123abc>\n"
6811 "strtol() returned 123\n"
6812 "Further characters after number: abc\n"
6813 "$B< ./a.out 123abc 55>\n"
6814 "strtol: Invalid argument\n"
6815 "$B< ./a.out \\(aq\\(aq>\n"
6816 "No digits were found\n"
6817 "$B< ./a.out 4000000000>\n"
6818 "strtol: Numerical result out of range\n"
6819
6820 #. type: Plain text
6821 #: build/C/man3/strtol.3:255
6822 #, no-wrap
6823 msgid ""
6824 "#include E<lt>stdlib.hE<gt>\n"
6825 "#include E<lt>limits.hE<gt>\n"
6826 "#include E<lt>stdio.hE<gt>\n"
6827 "#include E<lt>errno.hE<gt>\n"
6828 msgstr ""
6829 "#include E<lt>stdlib.hE<gt>\n"
6830 "#include E<lt>limits.hE<gt>\n"
6831 "#include E<lt>stdio.hE<gt>\n"
6832 "#include E<lt>errno.hE<gt>\n"
6833
6834 #. type: Plain text
6835 #: build/C/man3/strtol.3:262
6836 #, no-wrap
6837 msgid ""
6838 "int\n"
6839 "main(int argc, char *argv[])\n"
6840 "{\n"
6841 "    int base;\n"
6842 "    char *endptr, *str;\n"
6843 "    long val;\n"
6844 msgstr ""
6845 "int\n"
6846 "main(int argc, char *argv[])\n"
6847 "{\n"
6848 "    int base;\n"
6849 "    char *endptr, *str;\n"
6850 "    long val;\n"
6851
6852 #. type: Plain text
6853 #: build/C/man3/strtol.3:267
6854 #, no-wrap
6855 msgid ""
6856 "    if (argc E<lt> 2) {\n"
6857 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6858 "        exit(EXIT_FAILURE);\n"
6859 "    }\n"
6860 msgstr ""
6861 "    if (argc E<lt> 2) {\n"
6862 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
6863 "        exit(EXIT_FAILURE);\n"
6864 "    }\n"
6865
6866 #. type: Plain text
6867 #: build/C/man3/strtol.3:270
6868 #, no-wrap
6869 msgid ""
6870 "    str = argv[1];\n"
6871 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6872 msgstr ""
6873 "    str = argv[1];\n"
6874 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
6875
6876 #. type: Plain text
6877 #: build/C/man3/strtol.3:273
6878 #, no-wrap
6879 msgid ""
6880 "    errno = 0;    /* To distinguish success/failure after call */\n"
6881 "    val = strtol(str, &endptr, base);\n"
6882 msgstr ""
6883 "    errno = 0;    /* To distinguish success/failure after call */\n"
6884 "    val = strtol(str, &endptr, base);\n"
6885
6886 #. type: Plain text
6887 #: build/C/man3/strtol.3:275
6888 #, no-wrap
6889 msgid "    /* Check for various possible errors */\n"
6890 msgstr "    /* Check for various possible errors */\n"
6891
6892 #. type: Plain text
6893 #: build/C/man3/strtol.3:281
6894 #, no-wrap
6895 msgid ""
6896 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6897 "            || (errno != 0 && val == 0)) {\n"
6898 "        perror(\"strtol\");\n"
6899 "        exit(EXIT_FAILURE);\n"
6900 "    }\n"
6901 msgstr ""
6902 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
6903 "            || (errno != 0 && val == 0)) {\n"
6904 "        perror(\"strtol\");\n"
6905 "        exit(EXIT_FAILURE);\n"
6906 "    }\n"
6907
6908 #. type: Plain text
6909 #: build/C/man3/strtol.3:286
6910 #, no-wrap
6911 msgid ""
6912 "    if (endptr == str) {\n"
6913 "        fprintf(stderr, \"No digits were found\\en\");\n"
6914 "        exit(EXIT_FAILURE);\n"
6915 "    }\n"
6916 msgstr ""
6917 "    if (endptr == str) {\n"
6918 "        fprintf(stderr, \"No digits were found\\en\");\n"
6919 "        exit(EXIT_FAILURE);\n"
6920 "    }\n"
6921
6922 #. type: Plain text
6923 #: build/C/man3/strtol.3:288
6924 #, no-wrap
6925 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
6926 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
6927
6928 #. type: Plain text
6929 #: build/C/man3/strtol.3:290
6930 #, no-wrap
6931 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
6932 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
6933
6934 #. type: Plain text
6935 #: build/C/man3/strtol.3:293
6936 #, no-wrap
6937 msgid ""
6938 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6939 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6940 msgstr ""
6941 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
6942 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
6943
6944 #. type: Plain text
6945 #: build/C/man3/strtol.3:303
6946 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6947 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
6948
6949 #. type: TH
6950 #: build/C/man3/strtoul.3:33
6951 #, no-wrap
6952 msgid "STRTOUL"
6953 msgstr "STRTOUL"
6954
6955 #. type: Plain text
6956 #: build/C/man3/strtoul.3:36
6957 msgid ""
6958 "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
6959 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
6960
6961 #. type: Plain text
6962 #: build/C/man3/strtoul.3:42
6963 #, no-wrap
6964 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6965 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
6966
6967 #. type: Plain text
6968 #: build/C/man3/strtoul.3:45
6969 #, no-wrap
6970 msgid ""
6971 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6972 "B<                                int >I<base>B<);>\n"
6973 msgstr ""
6974 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
6975 "B<                                int >I<base>B<);>\n"
6976
6977 #. type: Plain text
6978 #: build/C/man3/strtoul.3:54
6979 msgid "B<strtoull>():"
6980 msgstr "B<strtoull>():"
6981
6982 #. type: Plain text
6983 #: build/C/man3/strtoul.3:75
6984 msgid ""
6985 "The B<strtoul>()  function converts the initial part of the string in "
6986 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
6987 "which must be between 2 and 36 inclusive, or be the special value 0."
6988 msgstr ""
6989 "B<strtoul>()  関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として "
6990 "I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは"
6991 "特別な意味を持つ値 0 でなければならない。"
6992
6993 #. type: Plain text
6994 #: build/C/man3/strtoul.3:98
6995 msgid ""
6996 "The remainder of the string is converted to an I<unsigned long int> value in "
6997 "the obvious manner, stopping at the first character which is not a valid "
6998 "digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
6999 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
7000 "so forth, with \\(aqZ\\(aq representing 35.)"
7001 msgstr ""
7002 "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効で"
7003 "ない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・"
7004 "小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ"
7005 "\\(aq は 35 を表す。)"
7006
7007 #. type: Plain text
7008 #: build/C/man3/strtoul.3:119
7009 msgid ""
7010 "If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
7011 "invalid character in I<*endptr>.  If there were no digits at all, "
7012 "B<strtoul>()  stores the original value of I<nptr> in I<*endptr> (and "
7013 "returns 0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
7014 "I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
7015 msgstr ""
7016 "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>()  は最初に不正な文字が現れ"
7017 "たアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなけれ"
7018 "ば、 B<strtoul>()  は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返"
7019 "す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq"
7020 "\\e0\\(aq ならば、文字列全体が有効だったことになる。"
7021
7022 #. type: Plain text
7023 #: build/C/man3/strtoul.3:127
7024 msgid ""
7025 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
7026 "returns an I<unsigned long long int> value."
7027 msgstr ""
7028 "B<strtoull>()  関数は B<strtoul>()  関数と同様だが、 I<unsigned long long "
7029 "int> 型の値を返す。"
7030
7031 #. type: Plain text
7032 #: build/C/man3/strtoul.3:148
7033 msgid ""
7034 "The B<strtoul>()  function returns either the result of the conversion or, "
7035 "if there was a leading minus sign, the negation of the result of the "
7036 "conversion represented as an unsigned value, unless the original "
7037 "(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
7038 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
7039 "B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
7040 msgstr ""
7041 "B<strtoul>()  関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合"
7042 "は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値"
7043 "を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返"
7044 "し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み"
7045 "替えれば)  B<strtoull>()  は B<strtoul>()  と全く同じである。"
7046
7047 #. type: Plain text
7048 #: build/C/man3/strtoul.3:177
7049 msgid ""
7050 "The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
7051 "with exceptions.  These functions can be safely used in multithreaded "
7052 "applications, as long as B<setlocale>(3)  is not called to change the locale "
7053 "during their execution."
7054 msgstr ""
7055 "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフで"
7056 "ある。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチス"
7057 "レッドアプリケーションで安全に使用することができる。"
7058
7059 #. type: Plain text
7060 #: build/C/man3/strtoul.3:182
7061 msgid ""
7062 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
7063 "to C99 and POSIX.1-2001."
7064 msgstr ""
7065 "B<strtoul>()  は SVr4, C89, C99 と POSIX-2001 に準拠している。 "
7066 "B<strtoull>()  は C99 と POSIX.1-2001 に準拠している。"
7067
7068 #. type: Plain text
7069 #: build/C/man3/strtoul.3:196
7070 msgid ""
7071 "Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
7072 "for B<strtoull>())  on both success and failure, the calling program should "
7073 "set I<errno> to 0 before the call, and then determine if an error occurred "
7074 "by checking whether I<errno> has a nonzero value after the call."
7075 msgstr ""
7076 "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> "
7077 "(B<strtoull>()  では B<ULLONG_MAX>)  が返る可能性があるので、 プログラムは関"
7078 "数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値"
7079 "かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
7080
7081 #. type: Plain text
7082 #: build/C/man3/strtoul.3:200
7083 msgid ""
7084 "In locales other than the \"C\" locale, other strings may be accepted.  (For "
7085 "example, the thousands separator of the current locale may be supported.)"
7086 msgstr ""
7087 "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例"
7088 "えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
7089
7090 #. type: Plain text
7091 #: build/C/man3/strtoul.3:206
7092 #, no-wrap
7093 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7094 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
7095
7096 #. type: Plain text
7097 #: build/C/man3/strtoul.3:215
7098 msgid ""
7099 "with completely analogous definition.  Depending on the wordsize of the "
7100 "current architecture, this may be equivalent to B<strtoull>()  or to "
7101 "B<strtoul>()."
7102 msgstr ""
7103 "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第"
7104 "であるが、この関数は B<strtoull>()  や B<stroul>()  と等価な場合もありえる。"
7105
7106 #. type: Plain text
7107 #: build/C/man3/strtoul.3:220
7108 msgid ""
7109 "Negative values are considered valid input and are silently converted to the "
7110 "equivalent I<unsigned long int> value."
7111 msgstr ""
7112 "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型"
7113 "の値に変換される。"
7114
7115 #. type: Plain text
7116 #: build/C/man3/strtoul.3:231
7117 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7118 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
7119
7120 #. type: TH
7121 #: build/C/man3/system.3:31
7122 #, no-wrap
7123 msgid "SYSTEM"
7124 msgstr "SYSTEM"
7125
7126 #. type: Plain text
7127 #: build/C/man3/system.3:34
7128 msgid "system - execute a shell command"
7129 msgstr "system - シェルコマンドの実行"
7130
7131 #. type: Plain text
7132 #: build/C/man3/system.3:39
7133 #, no-wrap
7134 msgid "B<int system(const char *>I<command>B<);>\n"
7135 msgstr "B<int system(const char *>I<command>B<);>\n"
7136
7137 #. type: Plain text
7138 #: build/C/man3/system.3:50
7139 msgid ""
7140 "The B<system>()  library function uses B<fork>(2)  to create a child process "
7141 "that executes the shell command specified in I<command> using B<execl>(3)  "
7142 "as follows:"
7143 msgstr ""
7144 "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プ"
7145 "ロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を"
7146 "使って実行する。"
7147
7148 #. type: Plain text
7149 #: build/C/man3/system.3:52
7150 #, no-wrap
7151 msgid "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7152 msgstr "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
7153
7154 #. type: Plain text
7155 #: build/C/man3/system.3:55
7156 msgid "B<system>()  returns after the command has been completed."
7157 msgstr "B<system>() が返るのはコマンドが完了した後である。"
7158
7159 #. type: Plain text
7160 #: build/C/man3/system.3:67
7161 msgid ""
7162 "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
7163 "and B<SIGQUIT> will be ignored, in the process that calls B<system>()  "
7164 "(these signals will be handled according to their defaults inside the child "
7165 "process that executes I<command>)."
7166 msgstr ""
7167 "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブ"
7168 "ロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プ"
7169 "ロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
7170
7171 #. type: Plain text
7172 #: build/C/man3/system.3:73
7173 msgid ""
7174 "If I<command> is NULL, then B<system>()  returns a status indicating whether "
7175 "a shell is available on the system"
7176 msgstr ""
7177 "I<command> が NULL の場合、 B<system>()  はそのシステムでシェルが利用可能かを"
7178 "示すステータスを返す。"
7179
7180 #. type: Plain text
7181 #: build/C/man3/system.3:77
7182 msgid "The return value of B<system>()  is one of the following:"
7183 msgstr "B<system>() の返り値は以下のいずれかである。"
7184
7185 #. type: Plain text
7186 #: build/C/man3/system.3:82
7187 msgid ""
7188 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
7189 "no shell is available."
7190 msgstr ""
7191 "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら "
7192 "0。"
7193
7194 #. type: Plain text
7195 #: build/C/man3/system.3:86
7196 msgid ""
7197 "If a child process could not be created, or its status could not be "
7198 "retrieved, the return value is -1."
7199 msgstr ""
7200 "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できな"
7201 "かった場合、 返り値は -1 である。"
7202
7203 #. type: Plain text
7204 #: build/C/man3/system.3:91
7205 msgid ""
7206 "If a shell could not be executed in the child process, then the return value "
7207 "is as though the child shell terminated by calling B<_exit>(2)  with the "
7208 "status 127."
7209 msgstr ""
7210 "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス "
7211 "127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
7212
7213 #. type: Plain text
7214 #: build/C/man3/system.3:98
7215 msgid ""
7216 "If all system calls succeed, then the return value is the termination status "
7217 "of the child shell used to execute I<command>.  (The termination status of a "
7218 "shell is the termination status of the last command it executes.)"
7219 msgstr ""
7220 "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用さ"
7221 "れた子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはその"
7222 "シェルが実行した最後のコマンドの終了ステータスである)。"
7223
7224 #. type: Plain text
7225 #: build/C/man3/system.3:107
7226 msgid ""
7227 "In the last two cases, the return value is a \"wait status\" that can be "
7228 "examined using the macros described in B<waitpid>(2).  (i.e., "
7229 "B<WIFEXITED>()  B<WEXITSTATUS>()  and so on)."
7230 msgstr ""
7231 "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれて"
7232 "いるマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って"
7233 "検査することができる。"
7234
7235 #. type: Plain text
7236 #: build/C/man3/system.3:110
7237 msgid "B<system>()  does not affect the wait status of any other children."
7238 msgstr "B<system>()  は他の子プロセスのウエイトステータスには影響を与えない。"
7239
7240 #. type: Plain text
7241 #: build/C/man3/system.3:115
7242 msgid "The B<system>()  function is thread-safe."
7243 msgstr "関数 B<system>() はスレッドセーフである。"
7244
7245 #. type: Plain text
7246 #: build/C/man3/system.3:117
7247 msgid "C89, C99, POSIX.1-2001."
7248 msgstr "C89, C99, POSIX.1-2001."
7249
7250 #. type: Plain text
7251 #: build/C/man3/system.3:134
7252 msgid ""
7253 "B<system>()  provides simplicity and convenience: it handles all of the "
7254 "details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
7255 "the necessary manipulations of signals; in addition, the shell performs the "
7256 "usual substitutions and I/O redirections for I<command>.  The main cost of "
7257 "B<system>()  is inefficiency: additional system calls are required to create "
7258 "the process that runs the shell and to execute the shell."
7259 msgstr ""
7260 "B<system>() により簡便性と利便性がもたらされる。この関数は B<fork>(2), "
7261 "B<execl>(3), B<waitpid>(2) の呼び出しにおける詳細をすべて行うとともに、 シグ"
7262 "ナルの適切な処理も行う。 また、シェルは I<command> に対して通常の置換 "
7263 "(substitutions) と I/O リダイレクトを行う。 B<system>() を使用することによる"
7264 "主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェ"
7265 "ルを実行するために、余計にシステムコールが必要となる。"
7266
7267 #. type: Plain text
7268 #: build/C/man3/system.3:146
7269 msgid ""
7270 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
7271 "I<any> header files), then the macros described in B<waitpid>(2)  "
7272 "(B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib."
7273 "hE<gt>>."
7274 msgstr ""
7275 "(「どの」ヘッダファイルをインクルードするよりも前に)  機能検査マクロ "
7276 "B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2)  で説明されているマクロ"
7277 "群 (B<WEXITSTATUS>()  等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可"
7278 "能になる。"
7279
7280 #. type: Plain text
7281 #: build/C/man3/system.3:157
7282 msgid ""
7283 "As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
7284 "programs that call it from a loop uninterruptible, unless they take care "
7285 "themselves to check the exit status of the child.  For example:"
7286 msgstr ""
7287 "既に述べたように、 B<system>()  は B<SIGINT> と B<SIGQUIT> を無視する。 よっ"
7288 "てループから B<system>()  を呼ぶプログラムは、 以下の例のように子プロセスの終"
7289 "了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
7290
7291 #. type: Plain text
7292 #: build/C/man3/system.3:162
7293 #, no-wrap
7294 msgid ""
7295 "    while (something) {\n"
7296 "        int ret = system(\"foo\");\n"
7297 msgstr ""
7298 "    while (something) {\n"
7299 "        int ret = system(\"foo\");\n"
7300
7301 #. type: Plain text
7302 #: build/C/man3/system.3:167
7303 #, no-wrap
7304 msgid ""
7305 "        if (WIFSIGNALED(ret) &&\n"
7306 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7307 "                break;\n"
7308 "    }\n"
7309 msgstr ""
7310 "        if (WIFSIGNALED(ret) &&\n"
7311 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
7312 "                break;\n"
7313 "    }\n"
7314
7315 #. type: Plain text
7316 #: build/C/man3/system.3:187
7317 msgid ""
7318 "Do not use B<system>()  from a program with set-user-ID or set-group-ID "
7319 "privileges, because strange values for some environment variables might be "
7320 "used to subvert system integrity.  Use the B<exec>(3)  family of functions "
7321 "instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
7322 "fact, work properly from programs with set-user-ID or set-group-ID "
7323 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
7324 "drops privileges on startup.  (Debian uses a modified bash which does not do "
7325 "this when invoked as B<sh>.)"
7326 msgstr ""
7327 "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>()  を"
7328 "使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損"
7329 "なわれるからである。代わりに B<exec>(3)  関連の関数群の中で B<execlp>(3)  と "
7330 "B<execvp>(3)  以外の関数を使用すべきである。 実際のところ、 B<system>()  は "
7331 "I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-"
7332 "group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バー"
7333 "ジョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として"
7334 "起動された時にはこのような動作を行なわないように 修正された bash を用いてい"
7335 "る)"
7336
7337 #. type: Plain text
7338 #: build/C/man3/system.3:201
7339 msgid ""
7340 "In versions of glibc before 2.1.3, the check for the availability of I</bin/"
7341 "sh> was not actually performed if I<command> was NULL; instead it was always "
7342 "assumed to be available, and B<system>()  always returned 1 in this case.  "
7343 "Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 "
7344 "requires a conforming implementation to provide a shell, that shell may not "
7345 "be available or executable if the calling program has previously called "
7346 "B<chroot>(2)  (which is not specified by POSIX.1-2001)."
7347 msgstr ""
7348 "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> "
7349 "が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなし"
7350 "ていた。 B<system>()  はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェ"
7351 "ルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降"
7352 "ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが "
7353 "B<system>()  を呼び出すより前に (POSIX.1-2001 では規定されていない)  "
7354 "B<chroot>(2)  を呼び出していた時には、シェルが利用可能でない場合や実行可能"
7355 "ファイル でない場合があるからである。"
7356
7357 #. type: Plain text
7358 #: build/C/man3/system.3:207
7359 msgid ""
7360 "It is possible for the shell command to terminate with a status of 127, "
7361 "which yields a B<system>()  return value that is indistinguishable from the "
7362 "case where a shell could not be executed in the child process."
7363 msgstr ""
7364 "シェルコマンドがステータス 127 で終了することもある。 この場合、B<system>() "
7365 "の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
7366
7367 #. type: Plain text
7368 #: build/C/man3/system.3:215
7369 msgid ""
7370 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7371 "B<exec>(3), B<signal>(7)"
7372 msgstr ""
7373 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
7374 "B<exec>(3), B<signal>(7)"
7375
7376 #. type: TH
7377 #: build/C/man7/vdso.7:13
7378 #, no-wrap
7379 msgid "VDSO"
7380 msgstr "VDSO"
7381
7382 #. type: Plain text
7383 #: build/C/man7/vdso.7:16
7384 msgid "vDSO - overview of the virtual ELF dynamic shared object"
7385 msgstr "vDSO - 仮想 ELF 動的共有オブジェクトの概要"
7386
7387 #. type: Plain text
7388 #: build/C/man7/vdso.7:18
7389 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
7390 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
7391
7392 #. type: Plain text
7393 #: build/C/man7/vdso.7:20
7394 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7395 msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
7396
7397 #. type: Plain text
7398 #: build/C/man7/vdso.7:29
7399 msgid ""
7400 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
7401 "the kernel automatically maps into the address space of all user-space "
7402 "applications.  Applications usually do not need to concern themselves with "
7403 "these details as the vDSO is most commonly called by the C library.  This "
7404 "way you can code in the normal way using standard functions and the C "
7405 "library will take care of using any functionality that is available via the "
7406 "vDSO."
7407 msgstr "\"vDSO\" (virtual dynamic shared object; 仮想動的共有オブジェクト) は、 カーネルが自動的にすべてのユーザー空間アプリケーションのアドレス空間にマッピングを行う小さな共有ライブラリである。 vDSO はほとんどの場合 C ライブラリから呼び出されるため、 アプリケーションは通常これらの詳細を自分では気にする必要はない。 このように、 標準関数と C ライブラリを使って通常の方法でコードを作成することで、 vDSO 経由で利用可能な機能が活用されることになる。"
7408
7409 #. type: Plain text
7410 #: build/C/man7/vdso.7:37
7411 msgid ""
7412 "Why does the vDSO exist at all? There are some system calls the kernel "
7413 "provides that user-space code ends up using frequently, to the point that "
7414 "such calls can dominate overall performance.  This is due both to the "
7415 "frequency of the call as well as the context-switch overhead that results "
7416 "from exiting user space and entering the kernel."
7417 msgstr "いったいなぜ vDSO は存在しているのか? カーネルが提供するシステムコールのいくつかは、 ユーザー空間のコードがこれらのシステムコールを頻繁に呼び出すことになり、 このような呼び出しが全体の性能を支配するようになる場合がある。 これは、 呼び出しの頻度と、 ユーザー空間から抜けてカーネルに入ることによるコンテキストスイッチのオーバーヘッドの両方に起因する。"
7418
7419 #. type: Plain text
7420 #: build/C/man7/vdso.7:42
7421 msgid ""
7422 "The rest of this documentation is geared toward the curious and/or C library "
7423 "writers rather than general developers.  If you're trying to call the vDSO "
7424 "in your own application rather than using the C library, you're most likely "
7425 "doing it wrong."
7426 msgstr "この文書の残りの部分は、 一般の開発者向けというではなく、 好奇心がある人と C ライブラリの開発者向けの内容となっている。 もしあなたが C ライブラリではなく自分のアプリケーションで vDSO を呼びだそうとしているのであれば、 ほとんどの場合間違ったことをしていることだろう。"
7427
7428 #. type: SS
7429 #: build/C/man7/vdso.7:42
7430 #, no-wrap
7431 msgid "Example background"
7432 msgstr ""
7433
7434 #. type: Plain text
7435 #: build/C/man7/vdso.7:56
7436 msgid ""
7437 "Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
7438 "software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
7439 "system call.  However, this instruction is expensive: it goes through the "
7440 "full interrupt-handling paths in the processor's microcode as well as in the "
7441 "kernel.  Newer processors have faster (but backward incompatible) "
7442 "instructions to initiate system calls.  Rather than require the C library to "
7443 "figure out if this functionality is available at run time, the C library can "
7444 "use functions provided by the kernel in the vDSO."
7445 msgstr "システムコールの呼び出しは遅くなる場合がある。 x86 32 ビットシステムでは、 システムコールを呼び出したいことをカーネルに教えるためにソフトウェア割り込み (I<int $0x80>) を使うことができる。 しかしながら、この割り込みはコストがかかる処理である。 割り込みがあると、 カーネルとプロセッサーのマイクロコードの両方のすべての割り込み処理パスが実行される。 新しいプロセッサーには、 システムコール呼び出しを起動するための高速な (だが、後方互換性がある) 命令が用意されている。 C ライブラリが実行時にこの機能が利用できるかを確認するのではなく、 C ライブラリは vDSO でカーネルが提供する関数を使うことができる。"
7446
7447 #. type: Plain text
7448 #: build/C/man7/vdso.7:63
7449 msgid ""
7450 "Note that the terminology can be confusing.  On x86 systems, the vDSO "
7451 "function used to determine the preferred method of making a system call is "
7452 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
7453 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
7454 "caller is on."
7455 msgstr "用語が紛らわしい点には注意が必要である。 x86 システムでは、 システムコールを呼び出す推奨される方法を判定するのに使用される vDSO 関数は \"__kernel_vsyscall\" という名前だが、 x86_64 では、 \"vsyscall\" という用語は、 カーネルに時刻はいつかや呼び出し元はどの CPU 上にいるかを問い合わせるための廃止予定の方法も参照している。"
7456
7457 #. type: Plain text
7458 #: build/C/man7/vdso.7:79
7459 msgid ""
7460 "One frequently used system call is B<gettimeofday>(2).  This system call is "
7461 "called both directly by user-space applications as well as indirectly by the "
7462 "C library.  Think timestamps or timing loops or polling\\(emall of these "
7463 "frequently need to know what time it is right now.  This information is also "
7464 "not secret\\(emany application in any privilege mode (root or any "
7465 "unprivileged user) will get the same answer.  Thus the kernel arranges for "
7466 "the information required to answer this question to be placed in memory the "
7467 "process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
7468 "call to a normal function call and a few memory accesses."
7469 msgstr "頻繁に使用されるシステムコールの一つが B<gettimeofday>(2) である。 このシステムコールは、 ユーザー空間アプリケーションから直接呼び出されることも、 C ライブラリから間接的に呼び出されることもある。 タイムスタンプが必要な場面、 タイミングループを行う場面、 ポーリングを行う場面を考えてほしい。 これらはいずれも現在時刻が何かを直ちに知りたいのが普通である。 また、この情報は秘密ではなく、 (ルートでも非特権ユーザーでも) 任意の特権モードの多くのアプリケーションが同じ情報を取得できる。 したがって、 カーネルはこの質問に応えるのに必要な情報をプロセスがアクセスできるメモリー上に配置する。 これにより、 B<gettimeofday>(2) はシステムコールから通常の関数コールになり、 少ないメモリーアクセスになる。"
7470
7471 #. type: SS
7472 #: build/C/man7/vdso.7:79
7473 #, no-wrap
7474 msgid "Finding the vDSO"
7475 msgstr "vDSO を見つける"
7476
7477 #. type: Plain text
7478 #: build/C/man7/vdso.7:86
7479 msgid ""
7480 "The base address of the vDSO (if one exists) is passed by the kernel to each "
7481 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
7482 "B<AT_SYSINFO_EHDR> tag."
7483 msgstr "vDSO のベースアドレスは、 (存在する場合には) カーネルから各プログラムに初期補助ベクトル (B<getauxval>(3) 参照) の B<AT_SYSINFO_EHDR> タグ経由で渡される。"
7484
7485 #. type: Plain text
7486 #: build/C/man7/vdso.7:95
7487 msgid ""
7488 "You must not assume the vDSO is mapped at any particular location in the "
7489 "user's memory map.  The base address will usually be randomized at run time "
7490 "every time a new process image is created (at B<execve>(2)  time).  This is "
7491 "done for security reasons, to prevent \"return-to-libc\" attacks."
7492 msgstr "vDSO がユーザーのメモリーマップの何か特定の場所にマッピングされると仮定してはならない。 通常新しいプロセスイメージが作成されるたびに (B<execve>(2) 実行時点) 、 実行時にベースアドレスのランダム化が行われる。 これは \"return-to-libc\" 攻撃 を防ぐためにセキュリティ上の理由から行われる。"
7493
7494 #. type: Plain text
7495 #: build/C/man7/vdso.7:104
7496 msgid ""
7497 "For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
7498 "only for locating the vsyscall entry point and is frequently omitted or set "
7499 "to 0 (meaning it's not available).  This tag is a throwback to the initial "
7500 "vDSO work (see I<History> below) and its use should be avoided."
7501 msgstr "アーキテクチャーによっては B<AT_SYSINFO> タグもある。 このタグは vsyscall エントリーポイントの場所を知るためだけのものであり、 しばしば省略されるか (利用できない場合は) 0 にセットされる。 このタグは最初の vDSO の実装で使用されていたものであり (下記の「歴史」を参照)、 このタグを利用するのは避けるべきである。"
7502
7503 #. type: SS
7504 #: build/C/man7/vdso.7:104
7505 #, no-wrap
7506 msgid "File format"
7507 msgstr "ファイルフォーマット"
7508
7509 #. type: Plain text
7510 #: build/C/man7/vdso.7:111
7511 msgid ""
7512 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
7513 "it.  This allows new symbols to be added with newer kernel releases, and "
7514 "allows the C library to detect available functionality at run time when "
7515 "running under different kernel versions.  Oftentimes the C library will do "
7516 "detection with the first call and then cache the result for subsequent calls."
7517 msgstr "vDSO は完全な形式の ELF イメージなので、 vDSO に対してシンボルの検索を行うことができる。 このため、 新しいカーネルリリースで新しいシンボルを追加することができ、 C ライブラリが別のバージョンのカーネル上で動作する際に実行時に利用可能な機能を検出することができる。 多くの場合、 C ライブラリは最初の呼び出し時に検出を行い、 それ以降の呼び出しで利用できるようにその結果をキャッシュする。"
7518
7519 #. type: Plain text
7520 #: build/C/man7/vdso.7:120
7521 msgid ""
7522 "All symbols are also versioned (using the GNU version format).  This allows "
7523 "the kernel to update the function signature without breaking backward "
7524 "compatibility.  This means changing the arguments that the function accepts "
7525 "as well as the return value.  Thus, when looking up a symbol in the vDSO, "
7526 "you must always include the version to match the ABI you expect."
7527 msgstr "すべてのシンボルは (GNU のバージョンフォーマットを使って) バージョンが付けられている。 これにより、 カーネルは後方互換性を持たせつつ関数のシグネチャーを更新することができる。 つまり、 関数が受け取る引き数や返り値が変更されることがあるということである。 したがって、 vDSO のシンボルを検索する際には、 自分が期待する ABI に一致するバージョンをしなければならない。"
7528
7529 #. type: Plain text
7530 #: build/C/man7/vdso.7:125
7531 msgid ""
7532 "Typically the vDSO follows the naming convention of prefixing all symbols "
7533 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
7534 "standard symbols.  For example, the \"gettimeofday\" function is named "
7535 "\"__vdso_gettimeofday\"."
7536 msgstr "通常は vDSO はすべてのシンボルに \"__vdso_\" か \"__kernel_\" というプレフィックスを付けるという慣習に従った名前付けを行っており、 他の標準のシンボルから区別することができる。 例えば、 \"gettimeofday\" 関数は \"\"__vdso_gettimeofday\" という名前になっている。"
7537
7538 #. type: Plain text
7539 #: build/C/man7/vdso.7:129
7540 msgid ""
7541 "You use the standard C calling conventions when calling any of these "
7542 "functions.  No need to worry about weird register or stack behavior."
7543 msgstr "これらの関数を呼び出す場合は標準の C の呼び出しの慣習にしたがっておけばよい。 特殊なレジスターやスタックの動作に気を使う必要はない。"
7544
7545 #. type: SS
7546 #: build/C/man7/vdso.7:130
7547 #, no-wrap
7548 msgid "Source"
7549 msgstr "ソース"
7550
7551 #. type: Plain text
7552 #: build/C/man7/vdso.7:134
7553 msgid ""
7554 "When you compile the kernel, it will automatically compile and link the vDSO "
7555 "code for you.  You will frequently find it under the architecture-specific "
7556 "directory:"
7557 msgstr "カーネルをコンパイルする際に、 vDSO コードはコンパイルされリンクが行われる。 通常はアーキテクチャー固有のディレクトリに vDSO コードが生成される。"
7558
7559 #. type: Plain text
7560 #: build/C/man7/vdso.7:136
7561 #, no-wrap
7562 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7563 msgstr "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
7564
7565 #. type: SS
7566 #: build/C/man7/vdso.7:137
7567 #, no-wrap
7568 msgid "vDSO names"
7569 msgstr "vDSO 名"
7570
7571 #. type: Plain text
7572 #: build/C/man7/vdso.7:143
7573 msgid ""
7574 "The name of the vDSO varies across architectures.  It will often show up in "
7575 "things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
7576 "any code, so do not hardcode it."
7577 msgstr "vDSO の名前はアーキテクチャーにより異なる。 この名前は glibc の B<ldd>(1) の出力などに現れる。 名前はコードで必要となることはなく、 名前をハードコードしないこと。"
7578
7579 #. type: tbl table
7580 #: build/C/man7/vdso.7:148
7581 #, no-wrap
7582 msgid "user ABI\tvDSO name\n"
7583 msgstr "ユーザー ABI\tvDSO 名\n"
7584
7585 #. type: tbl table
7586 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
7587 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
7588 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
7589 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:463
7590 #: build/C/man7/vdso.7:482
7591 #, no-wrap
7592 msgid "_\n"
7593 msgstr "_\n"
7594
7595 #. type: tbl table
7596 #: build/C/man7/vdso.7:150
7597 #, no-wrap
7598 msgid "aarch64\tlinux-vdso.so.1\n"
7599 msgstr "aarch64\tlinux-vdso.so.1\n"
7600
7601 #. type: tbl table
7602 #: build/C/man7/vdso.7:151
7603 #, no-wrap
7604 msgid "ia64\tlinux-gate.so.1\n"
7605 msgstr "ia64\tlinux-gate.so.1\n"
7606
7607 #. type: tbl table
7608 #: build/C/man7/vdso.7:152
7609 #, no-wrap
7610 msgid "ppc/32\tlinux-vdso32.so.1\n"
7611 msgstr "ppc/32\tlinux-vdso32.so.1\n"
7612
7613 #. type: tbl table
7614 #: build/C/man7/vdso.7:153
7615 #, no-wrap
7616 msgid "ppc/64\tlinux-vdso64.so.1\n"
7617 msgstr "ppc/64\tlinux-vdso64.so.1\n"
7618
7619 #. type: tbl table
7620 #: build/C/man7/vdso.7:154
7621 #, no-wrap
7622 msgid "s390\tlinux-vdso32.so.1\n"
7623 msgstr "s390\tlinux-vdso32.so.1\n"
7624
7625 #. type: tbl table
7626 #: build/C/man7/vdso.7:155
7627 #, no-wrap
7628 msgid "s390x\tlinux-vdso64.so.1\n"
7629 msgstr "s390x\tlinux-vdso64.so.1\n"
7630
7631 #. type: tbl table
7632 #: build/C/man7/vdso.7:156
7633 #, no-wrap
7634 msgid "sh\tlinux-gate.so.1\n"
7635 msgstr "sh\tlinux-gate.so.1\n"
7636
7637 #. type: tbl table
7638 #: build/C/man7/vdso.7:157
7639 #, no-wrap
7640 msgid "i386\tlinux-gate.so.1\n"
7641 msgstr "i386\tlinux-gate.so.1\n"
7642
7643 #. type: tbl table
7644 #: build/C/man7/vdso.7:158
7645 #, no-wrap
7646 msgid "x86_64\tlinux-vdso.so.1\n"
7647 msgstr "x86_64\tlinux-vdso.so.1\n"
7648
7649 #. type: tbl table
7650 #: build/C/man7/vdso.7:159
7651 #, no-wrap
7652 msgid "x86/x32\tlinux-vdso.so.1\n"
7653 msgstr "x86/x32\tlinux-vdso.so.1\n"
7654
7655 #. type: SH
7656 #: build/C/man7/vdso.7:165
7657 #, no-wrap
7658 msgid "ARCHITECTURE-SPECIFIC NOTES"
7659 msgstr "アーキテクチャー固有の注意"
7660
7661 #. type: Plain text
7662 #: build/C/man7/vdso.7:168
7663 msgid "The subsections below provide architecture-specific notes on the vDSO."
7664 msgstr "以下のサブ章では vDSO のアーキテクチャー固有の注意について説明する。"
7665
7666 #. type: Plain text
7667 #: build/C/man7/vdso.7:177
7668 msgid ""
7669 "Note that the vDSO that is used is based on the ABI of your user-space code "
7670 "and not the ABI of the kernel.  Thus, for example, when you run an i386 32-"
7671 "bit ELF binary, you'll get the same vDSO regardless of whether you run it "
7672 "under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
7673 "the name of the user-space ABI should be used to determine which of the "
7674 "sections below is relevant."
7675 msgstr "使用される vDSO は、 カーネルの ABI ではなく、 ユーザー空間コードの ABI に基づくことに注意すること。 したがって、 例えば、 i386 32 ビットの ELF ライブラリ上で実行する場合、 i386 32 ビットカーネル上で実行されているか x86_64 64 ビットカーネル上で実行されているかに関わらず同じ vDSO が得られる。 したがって、 以下のどの節が関係するかを判断する際にはユーザー空間 ABI の名前を使用する必要がある。"
7676
7677 #. type: SS
7678 #: build/C/man7/vdso.7:177
7679 #, no-wrap
7680 msgid "ARM functions"
7681 msgstr "ARM 関数"
7682
7683 #.  See linux/arch/arm/kernel/entry-armv.S
7684 #.  See linux/Documentation/arm/kernel_user_helpers.txt
7685 #. type: Plain text
7686 #: build/C/man7/vdso.7:184
7687 msgid ""
7688 "The ARM port has a code page full of utility functions.  Since it's just a "
7689 "raw page of code, there is no ELF information for doing symbol lookups or "
7690 "versioning.  It does provide support for different versions though."
7691 msgstr ""
7692
7693 #. type: Plain text
7694 #: build/C/man7/vdso.7:189
7695 msgid ""
7696 "For information on this code page, it's best to refer to the kernel "
7697 "documentation as it's extremely detailed and covers everything you need to "
7698 "know: I<Documentation/arm/kernel_user_helpers.txt>."
7699 msgstr ""
7700
7701 #. type: SS
7702 #: build/C/man7/vdso.7:189
7703 #, no-wrap
7704 msgid "aarch64 functions"
7705 msgstr "aarch64 関数"
7706
7707 #.  See linux/arch/x86/vdso/vdso32.lds.S
7708 #. type: Plain text
7709 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
7710 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
7711 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:476
7712 msgid "The table below lists the symbols exported by the vDSO."
7713 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。"
7714
7715 #. type: tbl table
7716 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
7717 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
7718 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:462
7719 #: build/C/man7/vdso.7:481
7720 #, no-wrap
7721 msgid "symbol\tversion\n"
7722 msgstr "シンボル\tバージョン\n"
7723
7724 #. type: tbl table
7725 #: build/C/man7/vdso.7:199
7726 #, no-wrap
7727 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7728 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
7729
7730 #. type: tbl table
7731 #: build/C/man7/vdso.7:200
7732 #, no-wrap
7733 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
7734 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
7735
7736 #. type: tbl table
7737 #: build/C/man7/vdso.7:201
7738 #, no-wrap
7739 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
7740 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
7741
7742 #. type: tbl table
7743 #: build/C/man7/vdso.7:202
7744 #, no-wrap
7745 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
7746 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
7747
7748 #. type: SS
7749 #: build/C/man7/vdso.7:208
7750 #, no-wrap
7751 msgid "bfin (Blackfin) functions"
7752 msgstr "bfin (Blackfin) 関数"
7753
7754 #.  See linux/arch/blackfin/kernel/fixed_code.S
7755 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
7756 #. type: Plain text
7757 #: build/C/man7/vdso.7:220
7758 msgid ""
7759 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
7760 "in the normal sense.  Instead, it maps at boot time a few raw functions into "
7761 "a fixed location in memory.  User-space applications then call directly into "
7762 "that region.  There is no provision for backward compatibility beyond "
7763 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
7764 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
7765 "bFLT/FLAT)."
7766 msgstr ""
7767
7768 #. type: Plain text
7769 #: build/C/man7/vdso.7:223
7770 msgid ""
7771 "For information on this code page, it's best to refer to the public "
7772 "documentation:"
7773 msgstr ""
7774
7775 #. type: Plain text
7776 #: build/C/man7/vdso.7:225
7777 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7778 msgstr "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
7779
7780 #. type: SS
7781 #: build/C/man7/vdso.7:225
7782 #, no-wrap
7783 msgid "ia64 (Itanium) functions"
7784 msgstr "ia64 (Itanium) 関数"
7785
7786 #. type: tbl table
7787 #: build/C/man7/vdso.7:236
7788 #, no-wrap
7789 msgid "__kernel_sigtramp\tLINUX_2.5\n"
7790 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
7791
7792 #. type: tbl table
7793 #: build/C/man7/vdso.7:237
7794 #, no-wrap
7795 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
7796 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
7797
7798 #. type: tbl table
7799 #: build/C/man7/vdso.7:238
7800 #, no-wrap
7801 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
7802 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
7803
7804 #. type: Plain text
7805 #: build/C/man7/vdso.7:257
7806 msgid ""
7807 "The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
7808 "has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys"
7809 "\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper.  "
7810 "The system calls listed here have the same semantics as if you called them "
7811 "directly via B<syscall>(2), so refer to the relevant documentation for "
7812 "each.  The table below lists the functions available via this mechanism."
7813 msgstr ""
7814
7815 #. type: tbl table
7816 #: build/C/man7/vdso.7:262
7817 #, no-wrap
7818 msgid "function\n"
7819 msgstr "関数\n"
7820
7821 #. type: tbl table
7822 #: build/C/man7/vdso.7:264
7823 #, no-wrap
7824 msgid "clock_gettime\n"
7825 msgstr "clock_gettime\n"
7826
7827 #. type: tbl table
7828 #: build/C/man7/vdso.7:265
7829 #, no-wrap
7830 msgid "getcpu\n"
7831 msgstr "getcpu\n"
7832
7833 #. type: tbl table
7834 #: build/C/man7/vdso.7:266
7835 #, no-wrap
7836 msgid "getpid\n"
7837 msgstr "getpid\n"
7838
7839 #. type: tbl table
7840 #: build/C/man7/vdso.7:267
7841 #, no-wrap
7842 msgid "getppid\n"
7843 msgstr "getppid\n"
7844
7845 #. type: tbl table
7846 #: build/C/man7/vdso.7:268
7847 #, no-wrap
7848 msgid "gettimeofday\n"
7849 msgstr "gettimeofday\n"
7850
7851 #. type: tbl table
7852 #: build/C/man7/vdso.7:269
7853 #, no-wrap
7854 msgid "set_tid_address\n"
7855 msgstr "set_tid_address\n"
7856
7857 #. type: SS
7858 #: build/C/man7/vdso.7:275
7859 #, no-wrap
7860 msgid "parisc (hppa) functions"
7861 msgstr "parisc (hppa) 関数"
7862
7863 #.  See linux/arch/parisc/kernel/syscall.S
7864 #.  See linux/Documentation/parisc/registers
7865 #. type: Plain text
7866 #: build/C/man7/vdso.7:286
7867 msgid ""
7868 "The parisc port has a code page full of utility functions called a gateway "
7869 "page.  Rather than use the normal ELF auxiliary vector approach, it passes "
7870 "the address of the page to the process via the SR2 register.  The "
7871 "permissions on the page are such that merely executing those addresses "
7872 "automatically executes with kernel privileges and not in user space.  This "
7873 "is done to match the way HP-UX works."
7874 msgstr ""
7875
7876 #. type: Plain text
7877 #: build/C/man7/vdso.7:291
7878 msgid ""
7879 "Since it's just a raw page of code, there is no ELF information for doing "
7880 "symbol lookups or versioning.  Simply call into the appropriate offset via "
7881 "the branch instruction, for example:"
7882 msgstr ""
7883
7884 #. type: Plain text
7885 #: build/C/man7/vdso.7:293
7886 #, no-wrap
7887 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7888 msgstr "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
7889
7890 #. type: tbl table
7891 #: build/C/man7/vdso.7:298
7892 #, no-wrap
7893 msgid "offset\tfunction\n"
7894 msgstr "オフセット\t関数\n"
7895
7896 #. type: tbl table
7897 #: build/C/man7/vdso.7:300
7898 #, no-wrap
7899 msgid "00b0\tlws_entry\n"
7900 msgstr "00b0\tlws_entry\n"
7901
7902 #. type: tbl table
7903 #: build/C/man7/vdso.7:301
7904 #, no-wrap
7905 msgid "00e0\tset_thread_pointer\n"
7906 msgstr "00e0\tset_thread_pointer\n"
7907
7908 #. type: tbl table
7909 #: build/C/man7/vdso.7:302
7910 #, no-wrap
7911 msgid "0100\tlinux_gateway_entry (syscall)\n"
7912 msgstr "0100\tlinux_gateway_entry (syscall)\n"
7913
7914 #. type: tbl table
7915 #: build/C/man7/vdso.7:303
7916 #, no-wrap
7917 msgid "0268\tsyscall_nosys\n"
7918 msgstr "0268\tsyscall_nosys\n"
7919
7920 #. type: tbl table
7921 #: build/C/man7/vdso.7:304
7922 #, no-wrap
7923 msgid "0274\ttracesys\n"
7924 msgstr "0274\ttracesys\n"
7925
7926 #. type: tbl table
7927 #: build/C/man7/vdso.7:305
7928 #, no-wrap
7929 msgid "0324\ttracesys_next\n"
7930 msgstr "0324\ttracesys_next\n"
7931
7932 #. type: tbl table
7933 #: build/C/man7/vdso.7:306
7934 #, no-wrap
7935 msgid "0368\ttracesys_exit\n"
7936 msgstr "0368\ttracesys_exit\n"
7937
7938 #. type: tbl table
7939 #: build/C/man7/vdso.7:307
7940 #, no-wrap
7941 msgid "03a0\ttracesys_sigexit\n"
7942 msgstr "03a0\ttracesys_sigexit\n"
7943
7944 #. type: tbl table
7945 #: build/C/man7/vdso.7:308
7946 #, no-wrap
7947 msgid "03b8\tlws_start\n"
7948 msgstr "03b8\tlws_start\n"
7949
7950 #. type: tbl table
7951 #: build/C/man7/vdso.7:309
7952 #, no-wrap
7953 msgid "03dc\tlws_exit_nosys\n"
7954 msgstr "03dc\tlws_exit_nosys\n"
7955
7956 #. type: tbl table
7957 #: build/C/man7/vdso.7:310
7958 #, no-wrap
7959 msgid "03e0\tlws_exit\n"
7960 msgstr "03e0\tlws_exit\n"
7961
7962 #. type: tbl table
7963 #: build/C/man7/vdso.7:311
7964 #, no-wrap
7965 msgid "03e4\tlws_compare_and_swap64\n"
7966 msgstr "03e4\tlws_compare_and_swap64\n"
7967
7968 #. type: tbl table
7969 #: build/C/man7/vdso.7:312
7970 #, no-wrap
7971 msgid "03e8\tlws_compare_and_swap\n"
7972 msgstr "03e8\tlws_compare_and_swap\n"
7973
7974 #. type: tbl table
7975 #: build/C/man7/vdso.7:313
7976 #, no-wrap
7977 msgid "0404\tcas_wouldblock\n"
7978 msgstr "0404\tcas_wouldblock\n"
7979
7980 #. type: tbl table
7981 #: build/C/man7/vdso.7:314
7982 #, no-wrap
7983 msgid "0410\tcas_action\n"
7984 msgstr "0410\tcas_action\n"
7985
7986 #. type: SS
7987 #: build/C/man7/vdso.7:320
7988 #, no-wrap
7989 msgid "ppc/32 functions"
7990 msgstr "ppc/32 関数"
7991
7992 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
7993 #. type: Plain text
7994 #: build/C/man7/vdso.7:327
7995 msgid ""
7996 "The table below lists the symbols exported by the vDSO.  The functions "
7997 "marked with a I<*> are available only when the kernel is a PowerPC64 (64-"
7998 "bit) kernel."
7999 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。 I<*> のマークが付いた関数は、カーネルが PowerPC64 (64 ビット) カーネルの場合にだけ利用可能である。"
8000
8001 #. type: tbl table
8002 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
8003 #, no-wrap
8004 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
8005 msgstr "__kernel_clock_getres\tLINUX_2.6.15\n"
8006
8007 #. type: tbl table
8008 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
8009 #, no-wrap
8010 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
8011 msgstr "__kernel_clock_gettime\tLINUX_2.6.15\n"
8012
8013 #. type: tbl table
8014 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
8015 #, no-wrap
8016 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
8017 msgstr "__kernel_datapage_offset\tLINUX_2.6.15\n"
8018
8019 #. type: tbl table
8020 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
8021 #, no-wrap
8022 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
8023 msgstr "__kernel_get_syscall_map\tLINUX_2.6.15\n"
8024
8025 #. type: tbl table
8026 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
8027 #, no-wrap
8028 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
8029 msgstr "__kernel_get_tbfreq\tLINUX_2.6.15\n"
8030
8031 #. type: tbl table
8032 #: build/C/man7/vdso.7:339
8033 #, no-wrap
8034 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
8035 msgstr "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
8036
8037 #. type: tbl table
8038 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
8039 #, no-wrap
8040 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
8041 msgstr "__kernel_gettimeofday\tLINUX_2.6.15\n"
8042
8043 #. type: tbl table
8044 #: build/C/man7/vdso.7:341
8045 #, no-wrap
8046 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
8047 msgstr "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
8048
8049 #. type: tbl table
8050 #: build/C/man7/vdso.7:342
8051 #, no-wrap
8052 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
8053 msgstr "__kernel_sigtramp32\tLINUX_2.6.15\n"
8054
8055 #. type: tbl table
8056 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
8057 #, no-wrap
8058 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
8059 msgstr "__kernel_sync_dicache\tLINUX_2.6.15\n"
8060
8061 #. type: tbl table
8062 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
8063 #, no-wrap
8064 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8065 msgstr "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
8066
8067 #. type: SS
8068 #: build/C/man7/vdso.7:350
8069 #, no-wrap
8070 msgid "ppc/64 functions"
8071 msgstr "ppc/64 関数"
8072
8073 #. type: tbl table
8074 #: build/C/man7/vdso.7:365
8075 #, no-wrap
8076 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
8077 msgstr "__kernel_getcpu\tLINUX_2.6.15\n"
8078
8079 #. type: tbl table
8080 #: build/C/man7/vdso.7:367
8081 #, no-wrap
8082 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8083 msgstr "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
8084
8085 #. type: SS
8086 #: build/C/man7/vdso.7:375
8087 #, no-wrap
8088 msgid "s390 functions"
8089 msgstr "s390 関数"
8090
8091 #. type: tbl table
8092 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
8093 #, no-wrap
8094 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
8095 msgstr "__kernel_clock_getres\tLINUX_2.6.29\n"
8096
8097 #. type: tbl table
8098 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
8099 #, no-wrap
8100 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
8101 msgstr "__kernel_clock_gettime\tLINUX_2.6.29\n"
8102
8103 #. type: tbl table
8104 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
8105 #, no-wrap
8106 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
8107 msgstr "__kernel_gettimeofday\tLINUX_2.6.29\n"
8108
8109 #. type: SS
8110 #: build/C/man7/vdso.7:393
8111 #, no-wrap
8112 msgid "s390x functions"
8113 msgstr "s390x 関数"
8114
8115 #. type: SS
8116 #: build/C/man7/vdso.7:411
8117 #, no-wrap
8118 msgid "sh (SuperH) functions"
8119 msgstr "sh (SuperH) 関数"
8120
8121 #. type: tbl table
8122 #: build/C/man7/vdso.7:421
8123 #, no-wrap
8124 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
8125 msgstr "__kernel_rt_sigreturn\tLINUX_2.6\n"
8126
8127 #. type: tbl table
8128 #: build/C/man7/vdso.7:422
8129 #, no-wrap
8130 msgid "__kernel_sigreturn\tLINUX_2.6\n"
8131 msgstr "__kernel_sigreturn\tLINUX_2.6\n"
8132
8133 #. type: tbl table
8134 #: build/C/man7/vdso.7:423
8135 #, no-wrap
8136 msgid "__kernel_vsyscall\tLINUX_2.6\n"
8137 msgstr "__kernel_vsyscall\tLINUX_2.6\n"
8138
8139 #. type: SS
8140 #: build/C/man7/vdso.7:429
8141 #, no-wrap
8142 msgid "i386 functions"
8143 msgstr "i386 関数"
8144
8145 #. type: tbl table
8146 #: build/C/man7/vdso.7:439
8147 #, no-wrap
8148 msgid "__kernel_sigreturn\tLINUX_2.5\n"
8149 msgstr "__kernel_sigreturn\tLINUX_2.5\n"
8150
8151 #. type: tbl table
8152 #: build/C/man7/vdso.7:440
8153 #, no-wrap
8154 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
8155 msgstr "__kernel_rt_sigreturn\tLINUX_2.5\n"
8156
8157 #. type: tbl table
8158 #: build/C/man7/vdso.7:441
8159 #, no-wrap
8160 msgid "__kernel_vsyscall\tLINUX_2.5\n"
8161 msgstr "__kernel_vsyscall\tLINUX_2.5\n"
8162
8163 #.  Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
8164 #.  in 37c975545ec63320789962bf307f000f08fabd48.
8165 #. type: tbl table
8166 #: build/C/man7/vdso.7:444
8167 #, no-wrap
8168 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
8169 msgstr "__vdso_clock_gettime\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8170
8171 #. type: tbl table
8172 #: build/C/man7/vdso.7:445
8173 #, no-wrap
8174 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
8175 msgstr "__vdso_gettimeofday\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8176
8177 #. type: tbl table
8178 #: build/C/man7/vdso.7:446
8179 #, no-wrap
8180 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
8181 msgstr "__vdso_time\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
8182
8183 #. type: SS
8184 #: build/C/man7/vdso.7:452
8185 #, no-wrap
8186 msgid "x86_64 functions"
8187 msgstr "x86_64 関数"
8188
8189 #.  See linux/arch/x86/vdso/vdso.lds.S
8190 #. type: Plain text
8191 #: build/C/man7/vdso.7:457
8192 msgid ""
8193 "The table below lists the symbols exported by the vDSO.  All of these "
8194 "symbols are also available without the \"__vdso_\" prefix, but you should "
8195 "ignore those and stick to the names below."
8196 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。 これらのシンボルはすべて \"__vdso_\" のプレフィックスなしでも利用できるが、 これらは無視し、 以下の名前だけを使うこと。"
8197
8198 #. type: tbl table
8199 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
8200 #, no-wrap
8201 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
8202 msgstr "__vdso_clock_gettime\tLINUX_2.6\n"
8203
8204 #. type: tbl table
8205 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
8206 #, no-wrap
8207 msgid "__vdso_getcpu\tLINUX_2.6\n"
8208 msgstr "__vdso_getcpu\tLINUX_2.6\n"
8209
8210 #. type: tbl table
8211 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
8212 #, no-wrap
8213 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
8214 msgstr "__vdso_gettimeofday\tLINUX_2.6\n"
8215
8216 #. type: tbl table
8217 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
8218 #, no-wrap
8219 msgid "__vdso_time\tLINUX_2.6\n"
8220 msgstr "__vdso_time\tLINUX_2.6\n"
8221
8222 #. type: SS
8223 #: build/C/man7/vdso.7:473
8224 #, no-wrap
8225 msgid "x86/x32 functions"
8226 msgstr "x86/x32 関数"
8227
8228 #. type: SS
8229 #: build/C/man7/vdso.7:492
8230 #, no-wrap
8231 msgid "History"
8232 msgstr "歴史"
8233
8234 #. type: Plain text
8235 #: build/C/man7/vdso.7:499
8236 msgid ""
8237 "The vDSO was originally just a single function\\(emthe vsyscall.  In older "
8238 "kernels, you might see that name in a process's memory map rather than \"vdso"
8239 "\".  Over time, people realized that this mechanism was a great way to pass "
8240 "more functionality to user space, so it was reconceived as a vDSO in the "
8241 "current format."
8242 msgstr "vDSO は元々は一つの関数 vsyscall であった。 古いカーネルでは、 プロセスのメモリーマップに \"vdso\" ではなくこの名前が見えるかもしれない。 時間が経つに連れて、 この仕組みはより多くの機能をユーザー空間に渡す有効な方法であると認識されるようになり、 現在の形の vDSO という形に見直しが行われた。"
8243
8244 #. type: Plain text
8245 #: build/C/man7/vdso.7:503
8246 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8247 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
8248
8249 #. type: Plain text
8250 #: build/C/man7/vdso.7:505
8251 msgid "The documents, examples, and source code in the Linux source code tree:"
8252 msgstr "Linux のソースコードツリーのドキュメント、例、ソースコード:"
8253
8254 #. type: Plain text
8255 #: build/C/man7/vdso.7:511
8256 #, no-wrap
8257 msgid ""
8258 "Documentation/ABI/stable/vdso\n"
8259 "Documentation/ia64/fsys.txt\n"
8260 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
8261 msgstr ""
8262 "Documentation/ABI/stable/vdso\n"
8263 "Documentation/ia64/fsys.txt\n"
8264 "Documentation/vDSO/* (vDSO の使用例がある)\n"
8265
8266 #. type: Plain text
8267 #: build/C/man7/vdso.7:513
8268 #, no-wrap
8269 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8270 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
8271
8272 #. type: TH
8273 #: build/C/man3/wcstombs.3:16
8274 #, no-wrap
8275 msgid "WCSTOMBS"
8276 msgstr "WCSTOMBS"
8277
8278 #. type: Plain text
8279 #: build/C/man3/wcstombs.3:19
8280 msgid "wcstombs - convert a wide-character string to a multibyte string"
8281 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
8282
8283 #. type: Plain text
8284 #: build/C/man3/wcstombs.3:24
8285 #, no-wrap
8286 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8287 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
8288
8289 #. type: Plain text
8290 #: build/C/man3/wcstombs.3:42
8291 msgid ""
8292 "If I<dest> is not NULL, the B<wcstombs>()  function converts the wide-"
8293 "character string I<src> to a multibyte string starting at I<dest>.  At most "
8294 "I<n> bytes are written to I<dest>.  The conversion starts in the initial "
8295 "state.  The conversion can stop for three reasons:"
8296 msgstr ""
8297 "I<dest> が NULL でない場合、 B<wcstombs>()  関数は ワイド文字列 I<src> を "
8298 "I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイ"
8299 "トが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停"
8300 "止する。"
8301
8302 #. type: Plain text
8303 #: build/C/man3/wcstombs.3:48
8304 msgid ""
8305 "1. A wide character has been encountered that can not be represented as a "
8306 "multibyte sequence (according to the current locale).  In this case, "
8307 "I<(size_t)\\ -1> is returned."
8308 msgstr ""
8309 "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した"
8310 "場合。この場合には I<(size_t)\\ -1> が返される。"
8311
8312 #. type: Plain text
8313 #: build/C/man3/wcstombs.3:53
8314 msgid ""
8315 "2. The length limit forces a stop.  In this case, the number of bytes "
8316 "written to I<dest> is returned, but the shift state at this point is lost."
8317 msgstr ""
8318 "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれ"
8319 "たバイト数が返される。しかしこの時点でのシフト状態は失われる。"
8320
8321 #. type: Plain text
8322 #: build/C/man3/wcstombs.3:60
8323 msgid ""
8324 "3. The wide-character string has been completely converted, including the "
8325 "terminating null wide character (L\\(aq\\e0\\(aq).  In this case, the "
8326 "conversion ends in the initial state.  The number of bytes written to "
8327 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
8328 msgstr ""
8329 "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換さ"
8330 "れた場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト"
8331 "数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
8332
8333 #. type: Plain text
8334 #: build/C/man3/wcstombs.3:66
8335 msgid ""
8336 "The programmer must ensure that there is room for at least I<n> bytes at "
8337 "I<dest>."
8338 msgstr ""
8339 "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなけれ"
8340 "ばならない。"
8341
8342 #. type: Plain text
8343 #: build/C/man3/wcstombs.3:74
8344 msgid ""
8345 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
8346 "except that the converted bytes are not written out to memory, and no length "
8347 "limit exists."
8348 msgstr ""
8349 "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変"
8350 "換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
8351
8352 #. type: Plain text
8353 #: build/C/man3/wcstombs.3:79
8354 msgid ""
8355 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
8356 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
8357 msgstr ""
8358 "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,"
8359 "src,0)+1> 以上であることを保証しなければならない。"
8360
8361 #. type: Plain text
8362 #: build/C/man3/wcstombs.3:89
8363 msgid ""
8364 "The B<wcstombs>()  function returns the number of bytes that make up the "
8365 "converted part of a multibyte sequence, not including the terminating null "
8366 "byte.  If a wide character was encountered which could not be converted, "
8367 "I<(size_t)\\ -1> is returned."
8368 msgstr ""
8369 "B<wcstombs>()  関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字"
8370 "は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を"
8371 "返す。"
8372
8373 #. type: Plain text
8374 #: build/C/man3/wcstombs.3:98
8375 msgid ""
8376 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
8377 "current locale."
8378 msgstr ""
8379 "B<wcstombs>()  の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
8380
8381 #. type: Plain text
8382 #: build/C/man3/wcstombs.3:103
8383 msgid ""
8384 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
8385 "functionality."
8386 msgstr ""
8387 "B<wcsrtombs>()  関数は同じ機能のためのスレッド・セーフな インターフェースを提"
8388 "供する。"
8389
8390 #. type: Plain text
8391 #: build/C/man3/wcstombs.3:109
8392 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8393 msgstr ""
8394 "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
8395
8396 #. type: TH
8397 #: build/C/man3/wctomb.3:16
8398 #, no-wrap
8399 msgid "WCTOMB"
8400 msgstr "WCTOMB"
8401
8402 #. type: Plain text
8403 #: build/C/man3/wctomb.3:19
8404 msgid "wctomb - convert a wide character to a multibyte sequence"
8405 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
8406
8407 #. type: Plain text
8408 #: build/C/man3/wctomb.3:24
8409 #, no-wrap
8410 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8411 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
8412
8413 #. type: Plain text
8414 #: build/C/man3/wctomb.3:45
8415 msgid ""
8416 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
8417 "I<wc> to its multibyte representation and stores it at the beginning of the "
8418 "character array pointed to by I<s>.  It updates the shift state, which is "
8419 "stored in a static anonymous variable known only to the B<wctomb>()  "
8420 "function, and returns the length of said multibyte representation, that is, "
8421 "the number of bytes written at I<s>."
8422 msgstr ""
8423 "I<s> が NULL でなければ、 B<wctomb>()  関数はワイド文字 I<wc> を マルチバイト"
8424 "表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用す"
8425 "る静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、す"
8426 "なわち I<s> に書き込まれた バイト数を返す。"
8427
8428 #. type: Plain text
8429 #: build/C/man3/wctomb.3:51
8430 msgid ""
8431 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
8432 "bytes at I<s>."
8433 msgstr ""
8434 "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証し"
8435 "なければならない。"
8436
8437 #.  The Dinkumware doc and the Single UNIX specification say this, but
8438 #.  glibc doesn't implement this.
8439 #. type: Plain text
8440 #: build/C/man3/wctomb.3:63
8441 msgid ""
8442 "If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
8443 "only to this function, to the initial state, and returns nonzero if the "
8444 "encoding has nontrivial shift state, or zero if the encoding is stateless."
8445 msgstr ""
8446 "I<s> が NULL ならば、 B<wctomb>()  関数は自分のみが使用するシフト状態を 初期"
8447 "状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に"
8448 "依存しない場合にはゼロを返す。"
8449
8450 #. type: Plain text
8451 #: build/C/man3/wctomb.3:77
8452 msgid ""
8453 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
8454 "that have been written to the byte array at I<s>.  If I<wc> can not be "
8455 "represented as a multibyte sequence (according to the current locale), -1 is "
8456 "returned."
8457 msgstr ""
8458 "I<s> が NULL でない場合 B<wctomb>()  関数はバイト配列 I<s> に 書き込まれたバ"
8459 "イト数を返す。I<wc> が(現在のロケールにおいて)  マルチバイト列で表現できない"
8460 "場合には -1 を返す。"
8461
8462 #. type: Plain text
8463 #: build/C/man3/wctomb.3:84
8464 msgid ""
8465 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
8466 "has nontrivial shift state, or zero if the encoding is stateless."
8467 msgstr ""
8468 "I<s> が NULL の場合 B<wctomb>()  関数は文字符号がシフト状態に 依存している場"
8469 "合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
8470
8471 #. type: Plain text
8472 #: build/C/man3/wctomb.3:89
8473 msgid "The B<wctomb>()  function is not thread-safe."
8474 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
8475
8476 #. type: Plain text
8477 #: build/C/man3/wctomb.3:98
8478 msgid ""
8479 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
8480 "current locale."
8481 msgstr ""
8482 "B<wctomb>()  関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存してい"
8483 "る。"
8484
8485 #. type: Plain text
8486 #: build/C/man3/wctomb.3:103
8487 msgid ""
8488 "The function B<wcrtomb>(3)  provides a better interface to the same "
8489 "functionality."
8490 msgstr "B<wcrtomb>(3)  関数は同じ機能のより良いインタフェースを提供する。"
8491
8492 #. type: Plain text
8493 #: build/C/man3/wctomb.3:110
8494 msgid ""
8495 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8496 "B<wcstombs>(3)"
8497 msgstr ""
8498 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
8499 "B<wcstombs>(3)"