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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10 "PO-Revision-Date: 2015-01-25 07:29+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/MB_CUR_MAX.3:17
25 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
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
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
59 msgid "Linux Programmer's Manual"
60 msgstr "Linux Programmer's Manual"
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
86 #: build/C/man3/MB_CUR_MAX.3:20
87 msgid "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
88 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
91 #: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20
92 #: build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36
93 #: build/C/man3/atof.3:34 build/C/man3/atoi.3:36
94 #: build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27
95 #: build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34
96 #: build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33
97 #: build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32
98 #: build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37
99 #: build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36
100 #: build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19
101 #: build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38
102 #: build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39
103 #: build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36
104 #: build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32
105 #: build/C/man3/setenv.3:40 build/C/man3/strtod.3:48
106 #: build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34
107 #: build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16
108 #: build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
114 #: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39
115 #: build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31
116 #: build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37
117 #: build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35
118 #: build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39
119 #: build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22
120 #: build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41
121 #: build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42
122 #: build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33
123 #: build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37
124 #: build/C/man3/strtoul.3:39 build/C/man3/system.3:37
125 #: build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
127 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
128 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
131 #: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24
132 #: build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42
133 #: build/C/man3/atof.3:40 build/C/man3/atoi.3:62
134 #: build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52
135 #: build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75
136 #: build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64
137 #: build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38
138 #: build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44
139 #: build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45
140 #: build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25
141 #: build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76
142 #: build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54
143 #: build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64
144 #: build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46
145 #: build/C/man3/setenv.3:61 build/C/man3/strtod.3:73
146 #: build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59
147 #: build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20
148 #: build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
154 #: build/C/man3/MB_CUR_MAX.3:31
155 msgid "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum number of bytes needed to represent a single wide character in the current locale. It is locale dependent and therefore not a compile-time constant."
156 msgstr "B<MB_CUR_MAX> マクロは、現在のロケールで一つのワイド文字を表現するために必要な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイル時に決まる定数ではない。"
159 #: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29
160 #: build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55
161 #: build/C/man3/atoi.3:86 build/C/man3/canonicalize_file_name.3:61
162 #: build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50
163 #: build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86
164 #: build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173
165 #: build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55
166 #: build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132
167 #: build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93
168 #: build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155
169 #: build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67
170 #: build/C/man3/rand.3:118 build/C/man3/random.3:118
171 #: build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73
172 #: build/C/man3/setenv.3:105 build/C/man3/strtod.3:127
173 #: build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117
174 #: build/C/man3/strtoul.3:127 build/C/man3/system.3:73
175 #: build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
181 #: build/C/man3/MB_CUR_MAX.3:35
182 msgid "An integer in the range [1, B<MB_LEN_MAX>]. The value 1 denotes traditional 8-bit encoded characters."
183 msgstr "[1, B<MB_LEN_MAX>] の範囲の整数を返す。 1 という値は伝統的な (traditional) 8-bit エンコードされた文字を意味する。"
186 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31
187 #: build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76
188 #: build/C/man3/atof.3:65 build/C/man3/atoi.3:100
189 #: build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112
190 #: build/C/man3/clearenv.3:59 build/C/man3/drand48.3:260
191 #: build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117
192 #: build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77
193 #: build/C/man3/getauxval.3:197 build/C/man3/getenv.3:96
194 #: build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134
195 #: build/C/man3/malloc.3:171 build/C/man3/mblen.3:92
196 #: build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113
197 #: build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:204
198 #: build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79
199 #: build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161
200 #: build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99
201 #: build/C/man3/setenv.3:128 build/C/man3/strtod.3:171
202 #: build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173
203 #: build/C/man3/strtoul.3:177 build/C/man3/system.3:115
204 #: build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
206 msgid "CONFORMING TO"
210 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33
211 #: build/C/man3/strtoimax.3:71
212 msgid "C99, POSIX.1-2001."
213 msgstr "C99, POSIX.1-2001."
216 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44
217 #: build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161
218 #: build/C/man3/atof.3:67 build/C/man3/atoi.3:119
219 #: build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117
220 #: build/C/man3/clearenv.3:96 build/C/man3/drand48.3:262
221 #: build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135
222 #: build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86
223 #: build/C/man3/getauxval.3:232 build/C/man3/getenv.3:129
224 #: build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232
225 #: build/C/man3/malloc.3:261 build/C/man3/mblen.3:106
226 #: build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128
227 #: build/C/man3/mkdtemp.3:96 build/C/man3/mkstemp.3:242
228 #: build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:87
229 #: build/C/man3/putenv.3:118 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217
230 #: build/C/man3/random.3:197 build/C/man3/random_r.3:141
231 #: build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153
232 #: build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:71
233 #: build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225
234 #: build/C/man3/system.3:207 build/C/man7/vdso.7:499
235 #: build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
241 #: build/C/man3/MB_CUR_MAX.3:44
242 msgid "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), B<wctomb>(3)"
243 msgstr "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), B<wctomb>(3)"
246 #: build/C/man3/MB_CUR_MAX.3:44 build/C/man3/MB_LEN_MAX.3:46
247 #: build/C/man2/_exit.2:136 build/C/man3/a64l.3:97 build/C/man3/atexit.3:165
248 #: build/C/man3/atof.3:73 build/C/man3/atoi.3:124
249 #: build/C/man3/canonicalize_file_name.3:78 build/C/man3/cfree.3:119
250 #: build/C/man3/clearenv.3:102 build/C/man3/drand48.3:265
251 #: build/C/man3/drand48_r.3:118 build/C/man3/ecvt.3:141
252 #: build/C/man3/ecvt_r.3:99 build/C/man3/exit.3:190 build/C/man3/gcvt.3:90
253 #: build/C/man3/getauxval.3:236 build/C/man3/getenv.3:137
254 #: build/C/man3/getloadavg.3:77 build/C/man3/getsubopt.3:234
255 #: build/C/man3/malloc.3:285 build/C/man3/mblen.3:108
256 #: build/C/man3/mbstowcs.3:222 build/C/man3/mbtowc.3:135
257 #: build/C/man3/mkdtemp.3:103 build/C/man3/mkstemp.3:248
258 #: build/C/man3/mktemp.3:123 build/C/man3/on_exit.3:91
259 #: build/C/man3/putenv.3:124 build/C/man3/qecvt.3:112 build/C/man3/rand.3:220
260 #: build/C/man3/random.3:202 build/C/man3/random_r.3:145
261 #: build/C/man3/rpmatch.3:150 build/C/man3/setenv.3:158
262 #: build/C/man3/strtod.3:214 build/C/man3/strtoimax.3:77
263 #: build/C/man3/strtol.3:303 build/C/man3/strtoul.3:231
264 #: build/C/man3/system.3:215 build/C/man7/vdso.7:515
265 #: build/C/man3/wcstombs.3:109 build/C/man3/wctomb.3:110
271 #: build/C/man3/MB_CUR_MAX.3:52 build/C/man3/MB_LEN_MAX.3:54
272 #: build/C/man2/_exit.2:144 build/C/man3/a64l.3:105 build/C/man3/atexit.3:173
273 #: build/C/man3/atof.3:81 build/C/man3/atoi.3:132
274 #: build/C/man3/canonicalize_file_name.3:86 build/C/man3/cfree.3:127
275 #: build/C/man3/clearenv.3:110 build/C/man3/drand48.3:273
276 #: build/C/man3/drand48_r.3:126 build/C/man3/ecvt.3:149
277 #: build/C/man3/ecvt_r.3:107 build/C/man3/exit.3:198 build/C/man3/gcvt.3:98
278 #: build/C/man3/getauxval.3:244 build/C/man3/getenv.3:145
279 #: build/C/man3/getloadavg.3:85 build/C/man3/getsubopt.3:242
280 #: build/C/man3/malloc.3:293 build/C/man3/mblen.3:116
281 #: build/C/man3/mbstowcs.3:230 build/C/man3/mbtowc.3:143
282 #: build/C/man3/mkdtemp.3:111 build/C/man3/mkstemp.3:256
283 #: build/C/man3/mktemp.3:131 build/C/man3/on_exit.3:99
284 #: build/C/man3/putenv.3:132 build/C/man3/qecvt.3:120 build/C/man3/rand.3:228
285 #: build/C/man3/random.3:210 build/C/man3/random_r.3:153
286 #: build/C/man3/rpmatch.3:158 build/C/man3/setenv.3:166
287 #: build/C/man3/strtod.3:222 build/C/man3/strtoimax.3:85
288 #: build/C/man3/strtol.3:311 build/C/man3/strtoul.3:239
289 #: build/C/man3/system.3:223 build/C/man7/vdso.7:523
290 #: build/C/man3/wcstombs.3:117 build/C/man3/wctomb.3:118
291 msgid "This page is part of release 3.78 of the Linux I<man-pages> project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
293 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
294 "である。プロジェクトの説明とバグ報告に関する情報は\n"
295 "http://www.kernel.org/doc/man-pages/ に書かれている。"
298 #: build/C/man3/MB_LEN_MAX.3:17
304 #: build/C/man3/MB_LEN_MAX.3:20
305 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
306 msgstr "MB_LEN_MAX - 全てのロケールでの1文字の最大マルチバイト長"
309 #: build/C/man3/MB_LEN_MAX.3:23
311 msgid "B<#include E<lt>limits.hE<gt>>\n"
312 msgstr "B<#include E<lt>limits.hE<gt>>\n"
315 #: build/C/man3/MB_LEN_MAX.3:29
316 msgid "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to represent a single wide character, across all locales."
317 msgstr "B<MB_LEN_MAX> マクロは、全てのロケールで一つのワイド文字を表現するために必要となる 最大バイト数である。"
320 #: build/C/man3/MB_LEN_MAX.3:31
321 msgid "A constant integer greater than zero."
322 msgstr "0 より大きいの整数型の定数。"
325 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73
326 #: build/C/man3/atexit.3:78 build/C/man3/atoi.3:108 build/C/man3/clearenv.3:73
327 #: build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90 build/C/man3/exit.3:98
328 #: build/C/man3/getauxval.3:199 build/C/man3/getenv.3:102
329 #: build/C/man3/getsubopt.3:136 build/C/man3/malloc.3:173
330 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
331 #: build/C/man3/mbtowc.3:115 build/C/man3/mkstemp.3:217
332 #: build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141
333 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
334 #: build/C/man3/strtod.3:176 build/C/man3/strtol.3:178
335 #: build/C/man3/strtoul.3:182 build/C/man3/system.3:117
336 #: build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
342 #: build/C/man3/MB_LEN_MAX.3:44
343 msgid "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated. In glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
344 msgstr "B<MB_LEN_MAX> と I<sizeof(wchar_t)> の値にはなんの関係もない。 glibc では B<MB_LEN_MAX> は通常は 6 で、 I<sizeof(wchar_t)> は 4 である。"
347 #: build/C/man3/MB_LEN_MAX.3:46
348 msgid "B<MB_CUR_MAX>(3)"
349 msgstr "B<MB_CUR_MAX>(3)"
352 #: build/C/man2/_exit.2:29
358 #: build/C/man2/_exit.2:29
364 #: build/C/man2/_exit.2:32
365 msgid "_exit, _Exit - terminate the calling process"
366 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
369 #: build/C/man2/_exit.2:34
370 msgid "B<#include E<lt>unistd.hE<gt>>"
371 msgstr "B<#include E<lt>unistd.hE<gt>>"
374 #: build/C/man2/_exit.2:36
375 msgid "B<void _exit(int >I<status>B<);>"
376 msgstr "B<void _exit(int >I<status>B<);>"
379 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14
380 #: build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37
381 #: build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33
382 #: build/C/man3/strtod.3:50
383 msgid "B<#include E<lt>stdlib.hE<gt>>"
384 msgstr "B<#include E<lt>stdlib.hE<gt>>"
387 #: build/C/man2/_exit.2:40
388 msgid "B<void _Exit(int >I<status>B<);>"
389 msgstr "B<void _Exit(int >I<status>B<);>"
392 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:50
393 #: build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39
394 #: build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68
395 #: build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43
396 #: build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37
397 #: build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54
398 #: build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50
399 #: build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52
400 #: build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42
401 #: build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47
402 #: build/C/man3/strtoul.3:50
403 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
404 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
407 #: build/C/man2/_exit.2:48
412 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
413 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
414 msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
417 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:71
418 #: build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
419 msgid "or I<cc\\ -std=c99>"
420 msgstr "または I<cc\\ -std=c99>"
423 #: build/C/man2/_exit.2:67
424 msgid "The function B<_exit>() terminates the calling process \"immediately\". Any open file descriptors belonging to the process are closed; any children of the process are inherited by process 1, I<init>, and the process's parent is sent a B<SIGCHLD> signal."
425 msgstr "B<_exit>() は、それを呼んだプロセスを「直ちに」終了させる。 その際、このプロセスが所有しているディスクリプター (descriptor) で、 オープンされているものは全てクローズされる。 また、このプロセスが所有する子プロセスは全て、プロセス番号 1、 つまり I<init> プロセスによって継承され、このプロセスの親プロセスに対して B<SIGCHLD> シグナルが送出される。"
428 #: build/C/man2/_exit.2:74
429 msgid "The value I<status> is returned to the parent process as the process's exit status, and can be collected using one of the B<wait>(2) family of calls."
430 msgstr "I<status> の値は、このプロセスの終了状態としてその親プロセスに対して返され、 B<wait>(2) 系関数を利用することによって取得することができる。"
433 #: build/C/man2/_exit.2:79
434 msgid "The function B<_Exit>() is equivalent to B<_exit>()."
435 msgstr "関数 B<_Exit>() は B<_exit>() と等価である。"
438 #: build/C/man2/_exit.2:81
439 msgid "These functions do not return."
440 msgstr "これらの関数は値を返さない。"
443 #: build/C/man2/_exit.2:86
444 msgid "SVr4, POSIX.1-2001, 4.3BSD. The function B<_Exit>() was introduced by C99."
445 msgstr "SVr4, POSIX.1-2001, 4.3BSD. 関数 B<_Exit>() は C99 で導入された。"
448 #: build/C/man2/_exit.2:90
449 msgid "For a discussion on the effects of an exit, the transmission of exit status, zombie processes, signals sent, and so on, see B<exit>(3)."
451 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
452 "ついての議論は、 B<exit>(3) を参照すること。"
455 #: build/C/man2/_exit.2:117
456 msgid "The function B<_exit>() is like B<exit>(3), but does not call any functions registered with B<atexit>(3) or B<on_exit>(3). Whether it flushes standard I/O buffers and removes temporary files created with B<tmpfile>(3) is implementation-dependent. On the other hand, B<_exit>() does close open file descriptors, and this may cause an unknown delay, waiting for pending output to finish. If the delay is undesired, it may be useful to call functions like B<tcflush>(3) before calling B<_exit>(). Whether any pending I/O is canceled, and which pending I/O may be canceled upon B<_exit>(), is implementation-dependent."
457 msgstr "関数 B<_exit>() は B<exit>(3) に似ているが、ANSI C の B<atexit>(3) や B<on_exit>(3) によって登録されたいかなる関数も呼び出さない。 標準 I/O バッファーのフラッシュや、 B<tmpfile>(3) で作成されたテンポラリファイルの削除を行うかどうかは、実装に依存する。 一方で、 B<_exit>() はオープンされているファイルディスクリプターをクローズしないため、 未決定になっている出力がフラッシュされるのを待つのに不確定な遅れが発生する。 この遅れを発生させたくなければ、 B<_exit>() の前に B<tcflush>(3) のような関数を呼び出せばよい。 B<_exit>() が呼び出されたときに、 未決定になっている全ての I/O がキャンセルされるのか、 またどの I/O がキャンセルされるのかは実装に依存する。"
460 #: build/C/man2/_exit.2:117
462 msgid "C library/kernel ABI differences"
463 msgstr "C ライブラリとカーネル ABI の違い"
466 #: build/C/man2/_exit.2:124
467 msgid "In glibc up to version 2.3, the B<_exit>() wrapper function invoked the kernel system call of the same name. Since glibc 2.3, the wrapper function invokes B<exit_group>(2), in order to terminate all of the threads in a process."
468 msgstr "バージョン 2.3 より前の glibc では、 B<_exit>() のラッパー関数は同じ名前のカーネルシステムコールを起動していた。 glibc 2.3 以降では、プロセス内の全てのスレッドを終了するために、 ラッパー関数は B<exit_group>(2) を起動する。"
471 #: build/C/man2/_exit.2:136
472 msgid "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
473 msgstr "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), B<termios>(3)"
476 #: build/C/man3/a64l.3:9
482 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
488 #: build/C/man3/a64l.3:12
489 msgid "a64l, l64a - convert between long and base-64"
490 msgstr "a64l, l64a - long と base-64 を変換する"
493 #: build/C/man3/a64l.3:16
494 msgid "B<long a64l(const char *>I<str64>B<);>"
495 msgstr "B<long a64l(const char *>I<str64>B<);>"
498 #: build/C/man3/a64l.3:18
499 msgid "B<char *l64a(long >I<value>B<);>"
500 msgstr "B<char *l64a(long >I<value>B<);>"
503 #: build/C/man3/a64l.3:26
504 msgid "B<a64l>(), B<l64a>():"
505 msgstr "B<a64l>(), B<l64a>():"
508 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
509 msgid "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
510 msgstr "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
513 #: build/C/man3/a64l.3:48
514 msgid "These functions provide a conversion between 32-bit long integers and little-endian base-64 ASCII strings (of length zero to six). If the string used as argument for B<a64l>() has length greater than six, only the first six bytes are used. If the type I<long> has more than 32 bits, then B<l64a>() uses only the low order 32 bits of I<value>, and B<a64l>() sign-extends its 32-bit result."
515 msgstr "これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 (長さ 0 〜 6) の間の変換を行う。 B<a64l>() の引き数の文字列が 7 文字以上の場合、 最初の 6 バイトが使われる。 I<long> 型が 32 ビットより大きい場合、 B<l64a>() は I<value> の下位 32 ビットのみを使い、 B<a64l>() は 32 ビットの結果を符号拡張 (sign-extend) する。"
518 #: build/C/man3/a64l.3:50
519 msgid "The 64 digits in the base-64 system are:"
520 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
523 #: build/C/man3/a64l.3:58
526 "\\&\\(aq.\\(aq\trepresents a 0\n"
527 "\\&\\(aq/\\(aq\trepresents a 1\n"
528 "0-9\trepresent 2-11\n"
529 "A-Z\trepresent 12-37\n"
530 "a-z\trepresent 38-63\n"
532 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
533 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
535 "A-Z\tは 12-37 を表す。\n"
536 "a-z\tは 38-63 を表す。\n"
539 #: build/C/man3/a64l.3:62
540 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
541 msgstr "よって 123 = 59*64^0 + 1*64^1 = \"v/\" である。"
544 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:88
545 #: build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98
546 #: build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:192
547 #: build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129
548 #: build/C/man3/mblen.3:87 build/C/man3/mkdtemp.3:86
549 #: build/C/man3/mkstemp.3:195 build/C/man3/qecvt.3:85
550 #: build/C/man3/random.3:152 build/C/man3/random_r.3:128
551 #: build/C/man3/strtod.3:159 build/C/man3/strtoimax.3:58
552 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
553 #: build/C/man3/system.3:110 build/C/man3/wctomb.3:84
559 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:89
560 #: build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99
561 #: build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:193
562 #: build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130
563 #: build/C/man3/mblen.3:88 build/C/man3/mkdtemp.3:87
564 #: build/C/man3/mkstemp.3:196 build/C/man3/qecvt.3:86
565 #: build/C/man3/random.3:153 build/C/man3/random_r.3:129
566 #: build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:59
567 #: build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166
568 #: build/C/man3/system.3:111 build/C/man3/wctomb.3:85
570 msgid "Multithreading (see pthreads(7))"
571 msgstr "マルチスレッディング (pthreads(7) 参照)"
574 #: build/C/man3/a64l.3:67
575 msgid "The B<l64a>() function is not thread-safe."
576 msgstr "B<l64a>() 関数はスレッドセーフではない。"
579 #: build/C/man3/a64l.3:71
580 msgid "The B<a64l>() function is thread-safe."
581 msgstr "B<a64l>() 関数はスレッドセーフである。"
584 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
585 msgid "POSIX.1-2001."
586 msgstr "POSIX.1-2001."
589 #: build/C/man3/a64l.3:78
590 msgid "The value returned by B<l64a>() may be a pointer to a static buffer, possibly overwritten by later calls."
591 msgstr "B<l64a>() で返される値は静的バッファーへのポインタかもしれないので、 以降の呼び出しで上書きされる可能性がある。"
594 #: build/C/man3/a64l.3:87
595 msgid "The behavior of B<l64a>() is undefined when I<value> is negative. If I<value> is zero, it returns an empty string."
596 msgstr "I<value> が負の場合、 B<l64a>() の動作は定義されていない。 I<value> が 0 の場合は空文字列を返す。"
599 #: build/C/man3/a64l.3:90
600 msgid "These functions are broken in glibc before 2.2.5 (puts most significant digit first)."
601 msgstr "これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしている)。"
604 #: build/C/man3/a64l.3:93
605 msgid "This is not the encoding used by B<uuencode>(1)."
606 msgstr "これは B<uuencode>(1) で使われるエンコーディングではない。"
610 #: build/C/man3/a64l.3:97
611 msgid "B<uuencode>(1), B<strtoul>(3)"
612 msgstr "B<uuencode>(1), B<strtoul>(3)"
615 #: build/C/man3/atexit.3:33
621 #: build/C/man3/atexit.3:33
627 #: build/C/man3/atexit.3:36
628 msgid "atexit - register a function to be called at normal process termination"
629 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
632 #: build/C/man3/atexit.3:41
634 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
635 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
638 #: build/C/man3/atexit.3:54
639 msgid "The B<atexit>() function registers the given I<function> to be called at normal process termination, either via B<exit>(3) or via return from the program's I<main>(). Functions so registered are called in the reverse order of their registration; no arguments are passed."
640 msgstr "B<atexit>() 関数は、与えられた I<function> を、 B<exit>(3) やプログラムの I<main>() 関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出される。 登録した関数に引き数は渡されない。"
643 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
644 msgid "The same function may be registered multiple times: it is called once for each registration."
645 msgstr "同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出される。"
648 #: build/C/man3/atexit.3:63
649 msgid "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> (32) such functions to be registered. The actual limit supported by an implementation can be obtained using B<sysconf>(3)."
650 msgstr "POSIX.1-2001 では、このような関数を少なくとも B<ATEXIT_MAX> 個 (32個) 登録できることを要求している。 その実装でサポートされている実際の上限は B<sysconf>(3) を使って取得できる。"
653 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
654 msgid "When a child process is created via B<fork>(2), it inherits copies of its parent's registrations. Upon a successful call to one of the B<exec>(3) functions, all registrations are removed."
656 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承する。\n"
657 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除される。"
660 #: build/C/man3/atexit.3:76
661 msgid "The B<atexit>() function returns the value 0 if successful; otherwise it returns a nonzero value."
662 msgstr "B<atexit>() 関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 以外の値を返す。"
665 #: build/C/man3/atexit.3:78
666 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
667 msgstr "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
670 #: build/C/man3/atexit.3:85
671 msgid "Functions registered using B<atexit>() (and B<on_exit>(3)) are not called if a process terminates abnormally because of the delivery of a signal."
672 msgstr "B<atexit>() (と B<on_exit>(3)) を使って登録された関数は、 シグナルの配送によりプロセスが異常終了した場合には呼び出されない。"
675 #: build/C/man3/atexit.3:92
676 msgid "If one of the functions registered functions calls B<_exit>(2), then any remaining functions are not invoked, and the other process termination steps performed by B<exit>(3) are not performed."
677 msgstr "登録された関数の一つが B<_exit>(2) を呼び出した場合、残りの関数はどれも起動されず、 B<exit>(3) により実行される他のプロセス終了ステップは実行されない。"
679 #. This can happen on OpenBSD 4.2 for example, and is documented
680 #. as occurring on FreeBSD as well.
681 #. Glibc does "the Right Thing" -- invocation of the remaining
682 #. exit handlers carries on as normal.
684 #: build/C/man3/atexit.3:109
685 msgid "POSIX.1-2001 says that the result of calling B<exit>(3) more than once (i.e., calling B<exit>(3) within a function registered using B<atexit>()) is undefined. On some systems (but not Linux), this can result in an infinite recursion; portable programs should not invoke B<exit>(3) inside a function registered using B<atexit>()."
686 msgstr "POSIX.1-2001 では、 B<atexit>() を使って登録された一つの関数内で、複数回 B<exit>(3) を呼び出した際の結果は未定義である。 (Linux ではないが) いくつかのシステムでは、この場合、 繰り返しが無限に起こることになる。 移植性が必要なプログラムでは、 B<atexit>() で登録された関数内で B<exit>(3) を起動すべきではない。"
689 #: build/C/man3/atexit.3:118
690 msgid "The B<atexit>() and B<on_exit>(3) functions register functions on the same list: at normal process termination, the registered functions are invoked in reverse order of their registration by these two functions."
691 msgstr "B<atexit>() と B<on_exit>(3) は、同じリストに対して関数を登録する。 プロセスが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録された関数が起動される。"
693 #. In glibc, things seem to be handled okay
695 #: build/C/man3/atexit.3:124
696 msgid "POSIX.1-2001 says that the result is undefined if B<longjmp>(3) is used to terminate execution of one of the functions registered B<atexit>()."
697 msgstr "POSIX.1-2001 では、 B<atexit>() で登録された関数の実行を終了するために B<longjmp>(3) が使用された場合の結果は未定義である。"
700 #: build/C/man3/atexit.3:124
706 #: build/C/man3/atexit.3:131
707 msgid "Since glibc 2.2.3, B<atexit>() (and B<on_exit>(3)) can be used within a shared library to establish functions that are called when the shared library is unloaded."
708 msgstr "glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登録するために、共有ライブラリの中で B<atexit>() (と B<on_exit>(3)) を使用することができる。"
711 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143
712 #: build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160
713 #: build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:200
714 #: build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
720 #: build/C/man3/atexit.3:136
723 "#include E<lt>stdio.hE<gt>\n"
724 "#include E<lt>stdlib.hE<gt>\n"
725 "#include E<lt>unistd.hE<gt>\n"
727 "#include E<lt>stdio.hE<gt>\n"
728 "#include E<lt>stdlib.hE<gt>\n"
729 "#include E<lt>unistd.hE<gt>\n"
732 #: build/C/man3/atexit.3:142
738 " printf(\"That was all, folks\\en\");\n"
744 " printf(\"That was all, folks\\en\");\n"
748 #: build/C/man3/atexit.3:148
764 #: build/C/man3/atexit.3:151
767 " a = sysconf(_SC_ATEXIT_MAX);\n"
768 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
770 " a = sysconf(_SC_ATEXIT_MAX);\n"
771 " printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
774 #: build/C/man3/atexit.3:157
777 " i = atexit(bye);\n"
779 " fprintf(stderr, \"cannot set exit function\\en\");\n"
780 " exit(EXIT_FAILURE);\n"
783 " i = atexit(bye);\n"
785 " fprintf(stderr, \"cannot set exit function\\en\");\n"
786 " exit(EXIT_FAILURE);\n"
790 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231
791 #: build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215
792 #: build/C/man3/strtol.3:296
795 " exit(EXIT_SUCCESS);\n"
798 " exit(EXIT_SUCCESS);\n"
802 #: build/C/man3/atexit.3:165
803 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
804 msgstr "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
807 #: build/C/man3/atof.3:31
813 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
819 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
820 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27
821 #: build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29
822 #: build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25
823 #: build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18
824 #: build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26
825 #: build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34
826 #: build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28
827 #: build/C/man3/random.3:33 build/C/man3/random_r.3:26
828 #: build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31
829 #: build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16
830 #: build/C/man3/wctomb.3:16
836 #: build/C/man3/atof.3:34
837 msgid "atof - convert a string to a double"
838 msgstr "atof - 文字列を double 型の数値に変換"
841 #: build/C/man3/atof.3:39
843 msgid "B<double atof(const char *>I<nptr>B<);>\n"
844 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
847 #: build/C/man3/atof.3:47
848 msgid "The B<atof>() function converts the initial portion of the string pointed to by I<nptr> to I<double>. The behavior is the same as"
849 msgstr "B<atof>() 関数は、I<nptr>によって指示される文字列のはじめの部分を I<double> 型の数値に変換する。 この振る舞いは、 B<atof>() 関数がエラーを見つけないことを除いては、"
852 #: build/C/man3/atof.3:50
853 msgid "strtod(nptr, NULL);"
854 msgstr "strtod(nptr, NULL);"
857 #: build/C/man3/atof.3:55
858 msgid "except that B<atof>() does not detect errors."
862 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
863 msgid "The converted value."
867 #: build/C/man3/atof.3:65
868 msgid "The B<atof>() function is thread-safe with exceptions. It can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during its execution."
869 msgstr "B<atof>() 関数は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
872 #: build/C/man3/atof.3:67
873 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
874 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
877 #: build/C/man3/atof.3:73
878 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
879 msgstr "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
882 #: build/C/man3/atoi.3:33
888 #: build/C/man3/atoi.3:33 build/C/man3/clearenv.3:26 build/C/man3/ecvt.3:32
889 #: build/C/man3/getauxval.3:29 build/C/man3/mkstemp.3:35
890 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
891 #: build/C/man3/qecvt.3:28 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
897 #: build/C/man3/atoi.3:36
898 msgid "atoi, atol, atoll - convert a string to an integer"
899 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
902 #: build/C/man3/atoi.3:41
904 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
905 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
908 #: build/C/man3/atoi.3:43
910 msgid "B<long atol(const char *>I<nptr>B<);>\n"
911 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
914 #: build/C/man3/atoi.3:45
916 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
917 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
920 #: build/C/man3/atoi.3:54
925 #: build/C/man3/atoi.3:57
926 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
927 msgstr "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
930 #: build/C/man3/atoi.3:69
931 msgid "The B<atoi>() function converts the initial portion of the string pointed to by I<nptr> to I<int>. The behavior is the same as"
932 msgstr "B<atoi>() 関数は、I<nptr> によって指示される文字列のはじめの部分を I<int> 型整数に変換する。 この振る舞いは、 B<atoi>() 関数がエラーを見つけない点以外は、"
935 #: build/C/man3/atoi.3:72
936 msgid "strtol(nptr, NULL, 10);"
937 msgstr "strtol(nptr, NULL, 10);"
940 #: build/C/man3/atoi.3:77
941 msgid "except that B<atoi>() does not detect errors."
945 #: build/C/man3/atoi.3:86
946 msgid "The B<atol>() and B<atoll>() functions behave the same as B<atoi>(), except that they convert the initial portion of the string to their return type of I<long> or I<long long>."
947 msgstr "B<atol>() 関数と B<atoll>() 関数は B<atoi>() と同様の振る舞いをするが、 文字列のはじめの部分をそれぞれ I<long> や I<long long> に変換する。"
950 #: build/C/man3/atoi.3:100
951 msgid "The B<atoi>(), B<atol>(), and B<atoll>() functions are thread-safe with exceptions. These functions can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during their execution."
952 msgstr "関数 B<atoi>(), B<atol>(), B<atoll>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
955 #: build/C/man3/atoi.3:108
956 msgid "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 and POSIX.1-1996 include the functions B<atoi>() and B<atol>() only."
957 msgstr "SVr4, POSIX.1-2001, 4.3BSD, C99. C89 と POSIX.1-1996 には B<atoi>() と B<atol>() だけが含まれている。"
961 #. function is present in glibc 2 since version 2.0.2, but
962 #. not in libc4 or libc5.
964 #: build/C/man3/atoi.3:119
965 msgid "Linux libc provided B<atoq>() as an obsolete name for B<atoll>(); B<atoq>() is not provided by glibc."
966 msgstr "Linux libc は B<atoll>() の古い名前として B<atoq>() を提供していた。 glibc では B<atoq>() は提供されていない。"
969 #: build/C/man3/atoi.3:124
970 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
971 msgstr "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
974 #: build/C/man3/canonicalize_file_name.3:26
976 msgid "CANONICALIZE_FILE_NAME"
977 msgstr "CANONICALIZE_FILE_NAME"
980 #: build/C/man3/canonicalize_file_name.3:26
986 #: build/C/man3/canonicalize_file_name.3:29
987 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
988 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
991 #: build/C/man3/canonicalize_file_name.3:31
992 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
993 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
996 #: build/C/man3/canonicalize_file_name.3:35
997 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
998 msgstr "B<char *canonicalize_file_name(const char *>I<path>B<);>"
1001 #: build/C/man3/canonicalize_file_name.3:49
1002 msgid "The B<canonicalize_file_name>() function returns a null-terminated string containing the canonicalized absolute pathname corresponding to I<path>. In the returned string, symbolic links are resolved, as are I<.> and I<..> pathname components. Consecutive slash (I</>) characters are replaced by a single slash."
1003 msgstr "B<canonicalize_file_name>() 関数は I<path> に対応する正規化された絶対パス名を示すヌル終端された文字列を返す。返された文字列では、シンボリックリンクや、パス名に含まれる I<.> や I<..> は展開される。連続するスラッシュ (I</>) 文字はスラッシュ一つに置換される。"
1006 #: build/C/man3/canonicalize_file_name.3:55
1007 msgid "The returned string is dynamically allocated by B<canonicalize_file_name>() and the caller should deallocate it with B<free>(3) when it is no longer required."
1008 msgstr "返される文字列は B<canonicalize_file_name>() により動的に割り当てられる。呼び出し側は、必要なくなった際にはこの文字列を B<free>(3) で解放すべきである。"
1011 #: build/C/man3/canonicalize_file_name.3:59
1012 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
1013 msgstr "I<canonicalize_file_name(path)> は以下と等価である。"
1016 #: build/C/man3/canonicalize_file_name.3:61
1018 msgid " realpath(path, NULL);\n"
1019 msgstr " realpath(path, NULL);\n"
1022 #: build/C/man3/canonicalize_file_name.3:70
1023 msgid "On success, B<canonicalize_file_name>() returns a null-terminated string. On error (e.g., a pathname component is unreadable or does not exist), B<canonicalize_file_name>() returns NULL and sets I<errno> to indicate the error."
1024 msgstr "成功すると、 B<canonicalize_file_name>() はヌル終端された文字列を返す。エラーの場合 (例えば、パス名の中に読み込めなかったり存在しないパスが含まれている場合など)、 B<canonicalize_file_name>() は NULL を返し、 I<errno> にエラー内容を示す値を設定する。"
1027 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181
1028 #: build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161
1029 #: build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140
1030 #: build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82
1031 #: build/C/man3/setenv.3:119 build/C/man3/strtod.3:155
1032 #: build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
1038 #: build/C/man3/canonicalize_file_name.3:73
1039 msgid "See B<realpath>(3)."
1040 msgstr "B<realpath>(3) 参照。"
1043 #: build/C/man3/canonicalize_file_name.3:75
1044 msgid "This function is a GNU extension."
1045 msgstr "この関数は GNU による拡張である。"
1048 #: build/C/man3/canonicalize_file_name.3:78
1049 msgid "B<readlink>(2), B<realpath>(3)"
1050 msgstr "B<readlink>(2), B<realpath>(3)"
1053 #: build/C/man3/cfree.3:24
1059 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1065 #: build/C/man3/cfree.3:27
1066 msgid "cfree - free allocated memory"
1067 msgstr "cfree - 割り当てられたメモリを解放する"
1070 #: build/C/man3/cfree.3:34
1073 "/* In SunOS 4 */\n"
1074 "B<int cfree(void *>I<ptr>B<);>\n"
1076 "/* SunOS 4 では */\n"
1077 "B<int cfree(void *>I<ptr>B<);>\n"
1080 #: build/C/man3/cfree.3:37
1083 "/* In glibc or FreeBSD libcompat */\n"
1084 "B<void cfree(void *>I<ptr>B<);>\n"
1086 "/* glibc と FreeBSD libcompat では */\n"
1087 "B<void cfree(void *>I<ptr>B<);>\n"
1090 #: build/C/man3/cfree.3:40
1093 "/* In SCO OpenServer */\n"
1094 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1096 "/* SCO OpenServer では */\n"
1097 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1100 #: build/C/man3/cfree.3:43
1103 "/* In Solaris watchmalloc.so.1 */\n"
1104 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1106 "/* Solaris watchmalloc.so.1 では */\n"
1107 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
1110 #: build/C/man3/cfree.3:52
1111 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1112 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1115 #: build/C/man3/cfree.3:57
1116 msgid "This function should never be used. Use B<free>(3) instead."
1117 msgstr "この関数は決して使用すべきではない。 代わりに B<free>(3) を使うこと。"
1120 #: build/C/man3/cfree.3:57
1123 msgstr "引き数が 1 つの cfree"
1126 #: build/C/man3/cfree.3:63
1127 msgid "In glibc, the function B<cfree>() is a synonym for B<free>(3), \"added for compatibility with SunOS\"."
1128 msgstr "glibc では、関数 B<cfree>() は B<free>(3) の別名であり、「SunOS との互換性のために追加された」。"
1131 #: build/C/man3/cfree.3:69
1132 msgid "Other systems have other functions with this name. The declaration is sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
1133 msgstr "他のシステムでは、この名前の別の関数がある。 この宣言は I<E<lt>stdlib.hE<gt>> に存在する場合もあるし、 I<E<lt>malloc.hE<gt>> に存在する場合もある。"
1136 #: build/C/man3/cfree.3:69
1139 msgstr "引き数が 3 つの cfree"
1142 #: build/C/man3/cfree.3:74
1143 msgid "Some SCO and Solaris versions have malloc libraries with a 3-argument B<cfree>(), apparently as an analog to B<calloc>(3)."
1144 msgstr "SCO と Solaris のいくつかのバージョンでは、 引き数が 3 つの B<cfree>() が含まれる malloc ライブラリがある。 これは明らかに B<calloc>(3) に類似している。"
1147 #: build/C/man3/cfree.3:76
1148 msgid "If you need it while porting something, add"
1149 msgstr "何かを移植する時にこの関数が必要な場合、"
1152 #: build/C/man3/cfree.3:79
1153 msgid "#define cfree(p, n, s) free((p))"
1154 msgstr "#define cfree(p, n, s) free((p))"
1157 #: build/C/man3/cfree.3:82
1158 msgid "to your file."
1159 msgstr "をファイルに追加すること。"
1162 #: build/C/man3/cfree.3:91
1163 msgid "A frequently asked question is \"Can I use B<free>(3) to free memory allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use B<free>(3)."
1164 msgstr "よく尋ねられる質問は 「B<calloc>(3) で割り当てられたメモリを解放するのに B<free>(3) を使うことができるか、 それとも B<cfree>() を使う必要があるか」というものである。 答え: B<free>(3) を使うこと。"
1167 #: build/C/man3/cfree.3:96
1168 msgid "An SCO manual writes: \"The cfree routine is provided for compliance to the iBCSe2 standard and simply calls free. The num and size arguments to cfree are not used.\""
1169 msgstr "SCO のマニュアルには以下のように記述されている: 「cfree ルーチンは iBCSe2 規格に従うために提供されており、 単に free を呼んでいるだけである。 cfree の num と size 引き数は使用されない。」"
1172 #: build/C/man3/cfree.3:112
1173 msgid "The SunOS version of B<cfree>() (which is a synonym for B<free>(3)) returns 1 on success and 0 on failure. In case of error, I<errno> is set to B<EINVAL>: the value of I<ptr> was not a pointer to a block previously allocated by one of the routines in the B<malloc>(3) family."
1174 msgstr "SunOS 版の B<cfree>() (B<free>(3) の別名) は、成功した場合に 1 を返し、失敗した場合に 0 を返す。 エラーの場合、 I<errno> が B<EINVAL> に設定される: I<ptr> の値が B<malloc>() 系のルーチンの 1 つで以前に割り当てられた ブロックへのポインタでない。"
1177 #: build/C/man3/cfree.3:117
1178 msgid "The 3-argument version of B<cfree>() as used by SCO conforms to the iBCSe2 standard: Intel386 Binary Compatibility Specification, Edition 2."
1179 msgstr "SCO で用いられている引き数が 3 つの B<cfree>() は、iBCSe2 規格: Intel386 Binary Compatibility Specification, Edition 2 (Intel386 バイナリ互換仕様、第 2 版) に準拠する。"
1182 #: build/C/man3/cfree.3:119
1183 msgid "B<malloc>(3)"
1184 msgstr "B<malloc>(3)"
1187 #: build/C/man3/clearenv.3:26
1193 #: build/C/man3/clearenv.3:29
1194 msgid "clearenv - clear the environment"
1195 msgstr "clearenv - 環境 (environment) をクリアする"
1198 #: build/C/man3/clearenv.3:34
1200 msgid "B<int clearenv(void);>\n"
1201 msgstr "B<int clearenv(void);>\n"
1204 #: build/C/man3/clearenv.3:43
1205 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1206 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1209 #: build/C/man3/clearenv.3:50
1210 msgid "The B<clearenv>() function clears the environment of all name-value pairs and sets the value of the external variable I<environ> to NULL."
1211 msgstr "B<clearenv>() 関数は、名前と値が組になった全ての環境をクリアする。 さらに外部変数 I<environ> の値を NULL にする。"
1213 #. Most versions of UNIX return -1 on error, or do not even have errors.
1214 #. Glibc info and the Watcom C library document "a nonzero value".
1216 #: build/C/man3/clearenv.3:57
1217 msgid "The B<clearenv>() function returns zero on success, and a nonzero value on failure."
1218 msgstr "B<clearenv>() 関数は、成功した場合は 0 を返し、 失敗した場合は 0 以外を返す。"
1221 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:188
1222 #: build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63
1223 #: build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1229 #: build/C/man3/clearenv.3:59
1230 msgid "Available since glibc 2.0."
1231 msgstr "glibc 2.0 以降で利用可能。"
1234 #: build/C/man3/clearenv.3:73
1235 msgid "Various UNIX variants (DG/UX, HP-UX, QNX, ...). POSIX.9 (bindings for FORTRAN77). POSIX.1-1996 did not accept B<clearenv>() and B<putenv>(3), but changed its mind and scheduled these functions for some later issue of this standard (cf. B.4.6.1). However, POSIX.1-2001 adds only B<putenv>(3), and rejected B<clearenv>()."
1236 msgstr "(DG/UX, HP-UX, QNX, などの) 多くの UNIX 系 OS。 (FORTRAN77 へのバインディングである) POSIX.9。 POSIX.1-1996 では B<clearenv>() と B<putenv>(3) は採用されなかったが、 方針が変更され、この標準規格の以降の号 (B.4.6.1 を参照) では 採用されることになった。 しかし POSIX.1-2001 では B<putenv>(3) だけが追加され、 B<clearenv>() の追加は否決された。"
1239 #: build/C/man3/clearenv.3:77
1240 msgid "Used in security-conscious applications. If it is unavailable the assignment"
1241 msgstr "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用できない場合は、"
1244 #: build/C/man3/clearenv.3:80
1246 msgid " environ = NULL;\n"
1247 msgstr " environ = NULL;\n"
1250 #: build/C/man3/clearenv.3:83
1251 msgid "will probably do."
1252 msgstr "というように変数 environ を設定すればよい。"
1255 #. HP-UX has a ENOMEM error return.
1257 #: build/C/man3/clearenv.3:96
1258 msgid "The DG/UX and Tru64 man pages write: If I<environ> has been modified by anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>() functions, then B<clearenv>() will return an error and the process environment will remain unchanged."
1259 msgstr "DG/UX と Tru64 man ページには次のように記されている: I<environ> が B<putenv>(3), B<getenv>(3), B<clearenv>() 関数以外で変更された場合、 B<clearenv>() はエラーを返し、プロセス環境は変更前のままにされる。"
1262 #: build/C/man3/clearenv.3:102
1263 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1264 msgstr "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1267 #: build/C/man3/drand48.3:30
1273 #: build/C/man3/drand48.3:30
1279 #: build/C/man3/drand48.3:34
1280 msgid "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - generate uniformly distributed pseudo-random numbers"
1281 msgstr "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - 一様分布する疑似乱数を生成する関数"
1284 #: build/C/man3/drand48.3:39
1286 msgid "B<double drand48(void);>\n"
1287 msgstr "B<double drand48(void);>\n"
1290 #: build/C/man3/drand48.3:41
1292 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1293 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1296 #: build/C/man3/drand48.3:43
1298 msgid "B<long int lrand48(void);>\n"
1299 msgstr "B<long int lrand48(void);>\n"
1302 #: build/C/man3/drand48.3:45
1304 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1305 msgstr "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1308 #: build/C/man3/drand48.3:47
1310 msgid "B<long int mrand48(void);>\n"
1311 msgstr "B<long int mrand48(void);>\n"
1314 #: build/C/man3/drand48.3:49
1316 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1317 msgstr "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1320 #: build/C/man3/drand48.3:51
1322 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1323 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1326 #: build/C/man3/drand48.3:53
1328 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1329 msgstr "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1332 #: build/C/man3/drand48.3:55
1334 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1335 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1347 #: build/C/man3/drand48.3:74
1348 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1349 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1352 #: build/C/man3/drand48.3:78
1353 msgid "These functions generate pseudo-random numbers using the linear congruential algorithm and 48-bit integer arithmetic."
1354 msgstr "これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて 疑似乱数を生成する。"
1357 #: build/C/man3/drand48.3:86
1358 msgid "The B<drand48>() and B<erand48>() functions return nonnegative double-precision floating-point values uniformly distributed between [0.0, 1.0)."
1359 msgstr "関数 B<drand48>() と B<erand48>() は、区間 [0.0, 1.0) で 一様分布する非負の倍精度浮動小数点実数値を返す。"
1362 #: build/C/man3/drand48.3:93
1363 msgid "The B<lrand48>() and B<nrand48>() functions return nonnegative long integers uniformly distributed between 0 and 2^31."
1364 msgstr "関数 B<lrand48>() と B<nrand48>() は 0 と 2^31 の間で一様分布する 非負のロング整数を返す。"
1367 #: build/C/man3/drand48.3:100
1368 msgid "The B<mrand48>() and B<jrand48>() functions return signed long integers uniformly distributed between -2^31 and 2^31."
1369 msgstr "関数 B<mrand48>() と B<jrand48>() は -2^31 と 2^31 の間で一様分布する符号付きロング整数を返す。"
1372 #: build/C/man3/drand48.3:119
1373 msgid "The B<srand48>(), B<seed48>() and B<lcong48>() functions are initialization functions, one of which should be called before using B<drand48>(), B<lrand48>() or B<mrand48>(). The functions B<erand48>(), B<nrand48>() and B<jrand48>() do not require an initialization function to be called first."
1374 msgstr "関数 B<srand48>(), B<seed48>(), B<lcong48>() は初期化関数 である。 関数 B<drand48>(), B<lrand48>(), B<mrand48>() を 使用する前に、これらの初期化関数のいずれかを呼ぶべきである。 関数 B<erand48>(), B<nrand48>(), B<jrand48>() は初めに 初期化関数を呼ぶことを必要としない。"
1377 #: build/C/man3/drand48.3:123
1378 msgid "All the functions work by generating a sequence of 48-bit integers, I<Xi>, according to the linear congruential formula:"
1379 msgstr "ここで説明しているすべての関数は 48ビットの整数の シーケンス (I<Xi>) を生成することで 機能している。生成方法は以下の線形合同の式による。"
1382 #: build/C/man3/drand48.3:127
1384 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1385 msgstr "B<Xn+1 = (aXn + c) mod m,>\n"
1388 #: build/C/man3/drand48.3:140
1389 msgid "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed. Unless B<lcong48>() is called, I<a> and I<c> are given by:"
1390 msgstr "ここで n E<gt>= 0 である。 パラメーターが I<m> = 2^48 であるため、48ビット整数演算が行われている。 B<lcong48>() が呼ばれていない場合、I<a> と I<c> は以下の式で与えられる。"
1393 #: build/C/man3/drand48.3:145
1396 "B<a = 0x5DEECE66D>\n"
1399 "B<a = 0x5DEECE66D>\n"
1403 #: build/C/man3/drand48.3:165
1404 msgid "The value returned by any of the functions B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>() or B<jrand48>() is computed by first generating the next 48-bit I<Xi> in the sequence. Then the appropriate number of bits, according to the type of data item to be returned, is copied from the high-order bits of I<Xi> and transformed into the returned value."
1405 msgstr "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), B<jrand48>() で返される値は次のようにして計算される。 はじめに、次の48ビットの I<Xi> が計算される。 そして、返すべきデータの型に依存した適切な ビット数が I<Xi> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1408 #: build/C/man3/drand48.3:191
1409 msgid "The functions B<drand48>(), B<lrand48>() and B<mrand48>() store the last 48-bit I<Xi> generated in an internal buffer. The functions B<erand48>(), B<nrand48>() and B<jrand48>() require the calling program to provide storage for the successive I<Xi> values in the array argument I<xsubi>. The functions are initialized by placing the initial value of I<Xi> into the array before calling the function for the first time."
1410 msgstr "関数 B<drand48>(), B<lrand48>(), B<mrand48>() は 最後に生成された48ビットの I<Xi> を内部バッファーに格納する。 配列の形の引数 I<xsubi> に個々の I<Xi> の値を 格納できるような領域を確保することを、 関数 B<erand48>(), B<nrand48>(), B<jrand48>() は、 呼び出し側のプログラムに要求する。 これらの関数は、はじめてそれらの関数を呼ぶ前に I<Xi> の初期値を配列に 代入することで初期化される。"
1413 #: build/C/man3/drand48.3:200
1414 msgid "The initializer function B<srand48>() sets the high order 32-bits of I<Xi> to the argument I<seedval>. The low order 16-bits are set to the arbitrary value 0x330E."
1415 msgstr "初期化関数 B<srand48>() は、I<Xi> の 上位32ビットを引数 I<seedval> に設定する。 下位の16ビットは、適当に決められた値である0x330Eに設定される。"
1418 #: build/C/man3/drand48.3:214
1419 msgid "The initializer function B<seed48>() sets the value of I<Xi> to the 48-bit value specified in the array argument I<seed16v>. The previous value of I<Xi> is copied into an internal buffer and a pointer to this buffer is returned by B<seed48>()."
1420 msgstr "初期化関数 B<seed48>() は、I<Xi> の値を、 配列の形をした引数である I<seed16v> の中で指定された 48ビットの値に設定する。 I<Xi> の前の値は内部バッファーにコピーされ、このバッファーへのポインタが B<seed48>() によって返される。"
1423 #: build/C/man3/drand48.3:245
1424 msgid "The initialization function B<lcong48>() allows the user to specify initial values for I<Xi>, I<a> and I<c>. Array argument elements I<param[0-2]> specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>. After B<lcong48>() has been called, a subsequent call to either B<srand48>() or B<seed48>() will restore the standard values of I<a> and I<c>."
1425 msgstr "初期化関数 B<lcong48>() は使用者が I<Xi>, I<a>, I<c> の 初期値を指定するための関数である。 配列の形をした引数の要素はそれぞれ、I<param[0-2]> は I<Xi> を、 I<param[3-5]> は I<a> を、I<param[6]> は I<c> を指定するもの である。 B<lcong48>() が呼ばれた後で、 B<srand48>() か B<seed48>() を呼ぶと、前述の I<a> と I<c> の 標準値が再び設定される。"
1428 #: build/C/man3/drand48.3:260
1429 msgid "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>() functions record global state information for the random number generator, so they are not thread-safe."
1430 msgstr "関数 B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), B<jrand48>(), B<srand48>(), B<seed48>(), B<lcong48>() は、 乱数生成に使用する状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフではない。"
1433 #: build/C/man3/drand48.3:262
1434 msgid "SVr4, POSIX.1-2001."
1435 msgstr "SVr4, POSIX.1-2001."
1438 #: build/C/man3/drand48.3:265
1439 msgid "B<rand>(3), B<random>(3)"
1440 msgstr "B<rand>(3), B<random>(3)"
1443 #: build/C/man3/drand48_r.3:27
1449 #: build/C/man3/drand48_r.3:27
1455 #: build/C/man3/drand48_r.3:32
1456 msgid "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers reentrantly"
1457 msgstr "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r - 一様分布する疑似乱数をリエントラント (reentrant) に生成する"
1460 #: build/C/man3/drand48_r.3:37
1462 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1463 msgstr "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1466 #: build/C/man3/drand48_r.3:39
1468 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1469 msgstr "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1472 #: build/C/man3/drand48_r.3:41
1474 msgid "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1475 msgstr "B< struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1478 #: build/C/man3/drand48_r.3:43
1480 msgid "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1481 msgstr "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1484 #: build/C/man3/drand48_r.3:45
1486 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1487 msgstr "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1490 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1492 msgid "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1493 msgstr "B< struct drand48_data *>I<buffer>B<, long int *>I<result>B<);>\n"
1496 #: build/C/man3/drand48_r.3:49
1498 msgid "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1499 msgstr "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int *>I<result>B<);>\n"
1502 #: build/C/man3/drand48_r.3:51
1504 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1505 msgstr "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1508 #: build/C/man3/drand48_r.3:55
1510 msgid "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1511 msgstr "B<int srand48_r(long int >I<seedval>B<, struct drand48_data *>I<buffer>B<);>\n"
1514 #: build/C/man3/drand48_r.3:57
1516 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1517 msgstr "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1520 #: build/C/man3/drand48_r.3:59
1522 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1523 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1526 #: build/C/man3/drand48_r.3:61
1528 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1529 msgstr "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1532 #: build/C/man3/drand48_r.3:63
1534 msgid "B< struct drand48_data *>I<buffer>B<);>\n"
1535 msgstr "B< struct drand48_data *>I<buffer>B<);>\n"
1537 #. .BR drand48_r (),
1538 #. .BR erand48_r (),
1539 #. .BR lrand48_r (),
1540 #. .BR nrand48_r (),
1541 #. .BR mrand48_r (),
1542 #. .BR jrand48_r (),
1543 #. .BR srand48_r (),
1545 #. .BR lcong48_r ():
1547 #: build/C/man3/drand48_r.3:82
1548 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1549 msgstr "上記の全ての関数: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1552 #: build/C/man3/drand48_r.3:89
1553 msgid "These functions are the reentrant analogs of the functions described in B<drand48>(3). Instead of modifying the global random generator state, they use the supplied data I<buffer>."
1554 msgstr "これらの関数は B<drand48>(3) で説明されている関数に類似するリエントラントな関数である。 大域的な乱数生成の状態を変更する代わりに、 これらの関数は指定されたデータ I<buffer> を使う。"
1557 #: build/C/man3/drand48_r.3:96
1558 msgid "Before the first use, this struct must be initialized, for example, by filling it with zeros, or by calling one of the functions B<srand48_r>(), B<seed48_r>(), or B<lcong48_r>()."
1559 msgstr "最初に使う前に、この構造体は初期化されていなければならない。 初期化は、たとえば 0 で埋めたり、関数 B<srand48_r>(), B<seed48_r>(), B<lcong48_r>() のいずれかを呼び出すことによって行われる。"
1562 #: build/C/man3/drand48_r.3:98
1563 msgid "The return value is 0."
1564 msgstr "返り値は 0 である。"
1567 #: build/C/man3/drand48_r.3:112
1568 msgid "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and B<lcong48_r>() functions are thread-safe."
1569 msgstr "関数 B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), B<lcong48_r>() はスレッドセーフである。"
1572 #: build/C/man3/drand48_r.3:114
1573 msgid "These functions are GNU extensions and are not portable."
1574 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1577 #: build/C/man3/drand48_r.3:118 build/C/man3/random_r.3:145
1578 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1579 msgstr "B<drand48>(3), B<rand>(3), B<random>(3)"
1582 #: build/C/man3/ecvt.3:32
1588 #: build/C/man3/ecvt.3:35
1589 msgid "ecvt, fcvt - convert a floating-point number to a string"
1590 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1593 #: build/C/man3/ecvt.3:40
1594 msgid "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
1595 msgstr "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
1598 #: build/C/man3/ecvt.3:43
1599 msgid "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
1600 msgstr "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
1603 #: build/C/man3/ecvt.3:51
1604 msgid "B<ecvt>(), B<fcvt>():"
1605 msgstr "B<ecvt>(), B<fcvt>():"
1608 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
1610 msgid "Since glibc 2.12:"
1611 msgstr "glibc 2.12 以降:"
1614 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
1618 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1619 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1620 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1623 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1624 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1625 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1628 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
1630 msgid "Before glibc 2.12:"
1631 msgstr "glibc 2.12 より前:"
1634 #: build/C/man3/ecvt.3:92
1635 msgid "The B<ecvt>() function converts I<number> to a null-terminated string of I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit determined by the precision of a I<double>), and returns a pointer to the string. The high-order digit is nonzero, unless I<number> is zero. The low order digit is rounded. The string itself does not contain a decimal point; however, the position of the decimal point relative to the start of the string is stored in I<*decpt>. A negative value for I<*decpt> means that the decimal point is to the left of the start of the string. If the sign of I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is set to 0. If I<number> is zero, it is unspecified whether I<*decpt> is 0 or 1."
1636 msgstr "関数 B<ecvt>() は I<number> をヌル文字で終端された I<ndigits> 文字の文字列へ変換し、その文字列へのポインタを返す (I<ndigits> が I<double> の精度によって決定されるシステム依存の上限値より大きい場合は、 その条件値が I<ndigits> の値となる)。 I<number> が 0 でなければ、最上位の桁は 0 以外である。 最下位の桁は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭からの小数点の 位置が I<*decpt> に保持される。 I<*decpt> が負の値の場合、小数点が文字列の先頭の左側にあることを意味する。 もし(I<number>の)符号が負ならば I<*sign> は 0 以外の値に、 そうでなければ 0 に設定される。 I<number> が 0 なら、I<*decpt> が 0 か 1 かは未規定である。"
1639 #: build/C/man3/ecvt.3:99
1640 msgid "The B<fcvt>() function is identical to B<ecvt>(), except that I<ndigits> specifies the number of digits after the decimal point."
1641 msgstr "関数 B<fcvt>() は B<ecvt>() と同じ機能を持つが、I<ndigits> は小数点以下の文字数を指定する。"
1644 #: build/C/man3/ecvt.3:110
1645 msgid "Both the B<ecvt>() and B<fcvt>() functions return a pointer to a static string containing the ASCII representation of I<number>. The static string is overwritten by each call to B<ecvt>() or B<fcvt>()."
1646 msgstr "関数 B<ecvt>() と B<fcvt>() は I<number> の ASCII 表現を含む 静的な領域内の文字列へのポインタを返す。 この文字列は B<ecvt>() や B<fcvt>() の呼び出しのたびに上書きされる。"
1649 #: build/C/man3/ecvt.3:117
1650 msgid "The B<ecvt>() and B<fcvt>() functions are not thread-safe."
1651 msgstr "関数 B<ecvt>() と B<fcvt>() はスレッドセーフではない。"
1654 #: build/C/man3/ecvt.3:129
1655 msgid "SVr2; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the specifications of B<ecvt>() and B<fcvt>(), recommending the use of B<sprintf>(3) instead (though B<snprintf>(3) may be preferable)."
1656 msgstr "SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 POSIX.1-2008 では B<ecvt>() と B<fcvt>() の仕様が削除され、代わりに B<sprintf>(3) の使用が推奨されている(しかし B<snprintf>(3) がより適切かもしれない)。"
1658 #. Linux libc4 and libc5 specified the type of
1663 #: build/C/man3/ecvt.3:135
1664 msgid "Not all locales use a point as the radix character (\"decimal point\")."
1665 msgstr "小数点にピリオドを使わないロケールもある。"
1668 #: build/C/man3/ecvt.3:141
1669 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
1670 msgstr "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
1673 #: build/C/man3/ecvt_r.3:30
1679 #: build/C/man3/ecvt_r.3:33
1680 msgid "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a string"
1681 msgstr "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - 浮動小数点数の文字列への変換"
1684 #: build/C/man3/ecvt_r.3:39
1687 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1688 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1690 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1691 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1694 #: build/C/man3/ecvt_r.3:42
1697 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1698 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1700 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1701 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1704 #: build/C/man3/ecvt_r.3:45
1707 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1708 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1710 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1711 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1714 #: build/C/man3/ecvt_r.3:48
1717 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1718 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1720 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1721 "B< int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1724 #: build/C/man3/ecvt_r.3:60
1725 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
1726 msgstr "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
1729 #: build/C/man3/ecvt_r.3:62
1730 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
1731 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
1734 #: build/C/man3/ecvt_r.3:86
1735 msgid "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), and B<qfcvt_r>() are identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), and B<qfcvt>(3), respectively, except that they do not return their result in a static buffer, but instead use the supplied I<buf> of size I<len>. See B<ecvt>(3) and B<qecvt>(3)."
1736 msgstr "関数 B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>() は、それぞれ B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), B<qfcvt>(3) と同じであるが、 静的バッファーの代わりに、長さ I<len> の指定された I<buf> に結果を格納する点が異なる。 B<ecvt>(3), B<qecvt>(3) を参照のこと。"
1739 #: build/C/man3/ecvt_r.3:88
1740 msgid "These functions return 0 on success, and -1 otherwise."
1741 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
1744 #: build/C/man3/ecvt_r.3:90
1745 msgid "These functions are GNU extensions."
1746 msgstr "これらの関数は GNU による拡張である。"
1749 #: build/C/man3/ecvt_r.3:95
1750 msgid "These functions are obsolete. Instead, B<sprintf>(3) is recommended."
1751 msgstr "これらの関数は廃止された。代わりに B<sprintf>(3) の使用を推奨する。"
1754 #: build/C/man3/ecvt_r.3:99
1755 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
1756 msgstr "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
1759 #: build/C/man3/exit.3:29
1765 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
1771 #: build/C/man3/exit.3:32
1772 msgid "exit - cause normal process termination"
1773 msgstr "exit - プロセスの正常終了"
1776 #: build/C/man3/exit.3:37
1778 msgid "B<void exit(int >I<status>B<);>\n"
1779 msgstr "B<void exit(int >I<status>B<);>\n"
1782 #: build/C/man3/exit.3:45
1783 msgid "The B<exit>() function causes normal process termination and the value of I<status & 0377> is returned to the parent (see B<wait>(2))."
1784 msgstr "B<exit>() 関数は、プロセスを正常に終了させ、 I<status & 0377> という値を親プロセスへ返す (B<wait>(2) を参照)。"
1787 #: build/C/man3/exit.3:72
1788 msgid "All functions registered with B<atexit>(3) and B<on_exit>(3) are called, in the reverse order of their registration. (It is possible for one of these functions to use B<atexit>(3) or B<on_exit>(3) to register an additional function to be executed during exit processing; the new registration is added to the front of the list of functions that remain to be called.) If one of these functions does not return (e.g., it calls B<_exit>(2), or kills itself with a signal), then none of the remaining functions is called, and further exit processing (in particular, flushing of B<stdio>(3) streams) is abandoned. If a function has been registered multiple times using B<atexit>(3) or B<on_exit>(3), then it is called as many times as it was registered."
1789 msgstr "B<atexit>(3) や B<on_exit>(3) によって 登録された全ての関数は、それらが登録された順番と逆順にコールされる。 (登録された関数の中で B<atexit>(3) or B<on_exit>(3) を使って exit 処理中に実行される追加の関数を登録することができる; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加される。) これらの関数の一つが返らなかった場合 (例えば、その関数が B<_exit>(2) を呼び出したり、シグナルで自分自身を kill した場合)、 残りの関数はどれも呼び出されず、それ以降の exit 処理 (特に B<stdio>(3) ストリームのフラッシュなど) は中止される。 ある関数が B<atexit>(3) や B<on_exit>(3) を使って複数回登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
1792 #: build/C/man3/exit.3:79
1793 msgid "All open B<stdio>(3) streams are flushed and closed. Files created by B<tmpfile>(3) are removed."
1794 msgstr "オープン中の B<stdio>(3) ストリームは全てフラッシュされて、クローズされる。 B<tmpfile>(3) によって作成されたファイルは削除される。"
1797 #: build/C/man3/exit.3:86
1798 msgid "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, that may be passed to B<exit>() to indicate successful or unsuccessful termination, respectively."
1799 msgstr "C 標準では B<EXIT_SUCCESS> と B<EXIT_FAILURE> という 2つの定数が 定義されている。それぞれ正常終了と異常終了を示すもので、 B<exit>() として渡すことができる。"
1802 #: build/C/man3/exit.3:90
1803 msgid "The B<exit>() function does not return."
1804 msgstr "B<exit>() 関数は返らない。"
1807 #: build/C/man3/exit.3:96
1808 msgid "The B<exit>() function uses a global variable that is not protected, so it is not thread-safe."
1809 msgstr "B<exit>() 関数は保護されていないグローバル変数を使用しているため、スレッドセーフではない。"
1812 #: build/C/man3/exit.3:98
1813 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
1814 msgstr "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
1817 #: build/C/man3/exit.3:115
1818 msgid "It is undefined what happens if one of the functions registered using B<atexit>(3) and B<on_exit>(3) calls either B<exit>() or B<longjmp>(3). Note that a call to B<execve>(2) removes registrations created using B<atexit>(3) and B<on_exit>(3)."
1819 msgstr "B<atexit>(3) や B<on_exit>(3) を使って登録された関数の中で B<exit>() か B<longjmp>(3) が呼び出された場合、 何が起こるかは未定義である。 B<execve>(2) を呼び出すと、 B<atexit>(3) や B<on_exit>(3) を使って登録された関数が削除される点に注意すること。"
1822 #: build/C/man3/exit.3:124
1823 msgid "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to non-UNIX environments) than the use of 0 and some nonzero value like 1 or -1. In particular, VMS uses a different convention."
1824 msgstr "B<EXIT_SUCCESS> と B<EXIT_FAILURE> を使うと、0 や (1 や -1 といった) 0 以外の値を使うのに比べて (UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に VMS は別の方式を用いている。"
1827 #: build/C/man3/exit.3:127
1828 msgid "BSD has attempted to standardize exit codes; see the file I<E<lt>sysexits.hE<gt>>."
1829 msgstr "BSD は終了コードを標準化しようとしている; I<E<lt>sysexits.hE<gt>> を参照すること。"
1832 #: build/C/man3/exit.3:152
1833 msgid "After B<exit>(), the exit status must be transmitted to the parent process. There are three cases. If the parent has set B<SA_NOCLDWAIT>, or has set the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded. If the parent was waiting on the child, it is notified of the exit status. In both cases the exiting process dies immediately. If the parent has not indicated that it is not interested in the exit status, but is not waiting, the exiting process turns into a \"zombie\" process (which is nothing but a container for the single byte representing the exit status) so that the parent can learn the exit status when it later calls one of the B<wait>(2) functions."
1834 msgstr "B<exit>() の後、親プロセスに終了ステータスが渡されなければならない。 終了ステータスの渡し方には 3 つの場合がある。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 または B<SIGCHLD> ハンドラを B<SIG_IGN> に設定した場合、 ステータスは破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終了ステータスが伝えられる。 どちらの場合でも exit のプロセスは直ちに終了する。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示していない場合、 exit プロセスは (終了ステータスを表す 1 バイトのみを保持する) 「ゾンビ」プロセスになる。 これにより、後から B<wait>(2) 関数を呼び出すことで、 親プロセスは終了ステータスを知ることができる。"
1837 #: build/C/man3/exit.3:162
1838 msgid "If the implementation supports the B<SIGCHLD> signal, this signal is sent to the parent. If the parent has set B<SA_NOCLDWAIT>, it is undefined whether a B<SIGCHLD> signal is sent."
1839 msgstr "B<SIGCHLD> シグナルのサポートが実装されている場合、 このシグナルは親プロセスに送られる。 親プロセスが B<SA_NOCLDWAIT> を設定した場合、 B<SIGCHLD> シグナルが送られるかどうかは定義されていない。"
1842 #: build/C/man3/exit.3:171
1843 msgid "If the process is a session leader and its controlling terminal is the controlling terminal of the session, then each process in the foreground process group of this controlling terminal is sent a B<SIGHUP> signal, and the terminal is disassociated from this session, allowing it to be acquired by a new controlling process."
1844 msgstr "そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッションの制御端末である場合、 この制御端末のフォアグラウンドプロセスグループにある 各プロセスに B<SIGHUP> シグナルが送られ、端末がセッションから切り離される。 これにより新しい制御プロセスを取得することができる。"
1847 #: build/C/man3/exit.3:183
1848 msgid "If the exit of the process causes a process group to become orphaned, and if any member of the newly orphaned process group is stopped, then a B<SIGHUP> signal followed by a B<SIGCONT> signal will be sent to each process in this process group. See B<setpgid>(2) for an explanation of orphaned process groups."
1849 msgstr "プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメンバーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して B<SIGHUP> シグナルが送られ、続いて B<SIGCONT> シグナルが送られる。 孤立した (orphaned) プロセスグループの説明は B<setpgid>(2) を参照。"
1852 #: build/C/man3/exit.3:190
1853 msgid "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), B<tmpfile>(3)"
1854 msgstr "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), B<tmpfile>(3)"
1857 #: build/C/man3/gcvt.3:30
1863 #: build/C/man3/gcvt.3:33
1864 msgid "gcvt - convert a floating-point number to a string"
1865 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
1868 #: build/C/man3/gcvt.3:38
1870 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
1871 msgstr "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
1874 #: build/C/man3/gcvt.3:46
1879 #: build/C/man3/gcvt.3:61
1880 msgid "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED"
1881 msgstr "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED"
1884 #: build/C/man3/gcvt.3:72
1885 msgid "The B<gcvt>() function converts I<number> to a minimal length null-terminated ASCII string and stores the result in I<buf>. It produces I<ndigit> significant digits in either B<printf>(3) F format or E format."
1886 msgstr "関数 B<gcvt>() は、 I<number> を、最短の長さのヌル終端された ASCII 文字列へ変換し、変換後の文字列を I<buf> に格納する。 B<printf>(3) の F フォーマットや E フォーマットのように I<ndigit> 桁の 有効数字を生成する。"
1889 #: build/C/man3/gcvt.3:77
1890 msgid "The B<gcvt>() function returns the address of the string pointed to by I<buf>."
1891 msgstr "関数 B<gcvt>() は文字列 I<buf> へのポインタを返す。"
1894 #: build/C/man3/gcvt.3:86
1895 msgid "Marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the specification of B<gcvt>(), recommending the use of B<sprintf>(3) instead (though B<snprintf>(3) may be preferable)."
1896 msgstr "POSIX.1-2001 では、 この関数は「過去の名残 (LEGACY)」と位置付けられている。 POSIX.1-2008 では、 B<gcvt>() の仕様は削除され、 代わりに B<sprintf>(3) を使用することが推奨されている (B<snprintf>(3) の方が適切かもしれないが)。"
1899 #: build/C/man3/gcvt.3:90
1900 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
1901 msgstr "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
1904 #: build/C/man3/getauxval.3:29
1910 #: build/C/man3/getauxval.3:32
1911 msgid "getauxval - retrieve a value from the auxiliary vector"
1915 #: build/C/man3/getauxval.3:35
1917 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
1918 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
1921 #: build/C/man3/getauxval.3:37
1923 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
1924 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
1927 #: build/C/man3/getauxval.3:45
1928 msgid "The B<getauxval>() function retrieves values from the auxiliary vector, a mechanism that the kernel's ELF binary loader uses to pass certain information to user space when a program is executed."
1932 #: build/C/man3/getauxval.3:53
1933 msgid "Each entry in the auxiliary vector consists of a pair of values: a type that identifies what this entry represents, and a value for that type. Given the argument I<type>, B<getauxval>() returns the corresponding value."
1937 #: build/C/man3/getauxval.3:60
1938 msgid "The value returned for each I<type> is given in the following list. Not all I<type> values are present on all architectures."
1942 #: build/C/man3/getauxval.3:60
1948 #: build/C/man3/getauxval.3:63
1949 msgid "The base address of the program interpreter (usually, the dynamic linker)."
1953 #: build/C/man3/getauxval.3:63
1955 msgid "B<AT_BASE_PLATFORM>"
1956 msgstr "B<AT_BASE_PLATFORM>"
1959 #: build/C/man3/getauxval.3:68
1960 msgid "A string identifying the real platform; may differ from B<AT_PLATFORM> (PowerPC only)."
1964 #: build/C/man3/getauxval.3:68
1966 msgid "B<AT_CLKTCK>"
1967 msgstr "B<AT_CLKTCK>"
1970 #: build/C/man3/getauxval.3:75
1971 msgid "The frequency with which B<times>(2) counts. This value can also be obtained via I<sysconf(_SC_CLK_TCK)>."
1975 #: build/C/man3/getauxval.3:75
1977 msgid "B<AT_DCACHEBSIZE>"
1978 msgstr "B<AT_DCACHEBSIZE>"
1981 #: build/C/man3/getauxval.3:78
1982 msgid "The data cache block size."
1986 #: build/C/man3/getauxval.3:78
1992 #: build/C/man3/getauxval.3:81
1993 msgid "The effective group ID of the thread."
1997 #: build/C/man3/getauxval.3:81
2000 msgstr "B<AT_ENTRY>"
2003 #: build/C/man3/getauxval.3:84
2004 msgid "The entry address of the executable."
2008 #: build/C/man3/getauxval.3:84
2014 #: build/C/man3/getauxval.3:87
2015 msgid "The effective user ID of the thread."
2019 #: build/C/man3/getauxval.3:87
2021 msgid "B<AT_EXECFD>"
2022 msgstr "B<AT_EXECFD>"
2025 #: build/C/man3/getauxval.3:90
2026 msgid "File descriptor of program."
2030 #: build/C/man3/getauxval.3:90
2032 msgid "B<AT_EXECFN>"
2033 msgstr "B<AT_EXECFN>"
2036 #: build/C/man3/getauxval.3:93
2037 msgid "Pathname used to execute program."
2041 #: build/C/man3/getauxval.3:93
2044 msgstr "B<AT_FLAGS>"
2047 #: build/C/man3/getauxval.3:96
2048 msgid "Flags (unused)."
2052 #: build/C/man3/getauxval.3:96
2055 msgstr "B<AT_FPUCW>"
2058 #: build/C/man3/getauxval.3:101
2059 msgid "Used FPU control word (SuperH architecture only). This gives some information about the FPU initialization performed by the kernel."
2063 #: build/C/man3/getauxval.3:101
2069 #: build/C/man3/getauxval.3:104
2070 msgid "The real group ID of the thread."
2074 #: build/C/man3/getauxval.3:104
2077 msgstr "B<AT_HWCAP>"
2080 #: build/C/man3/getauxval.3:114
2081 msgid "A pointer to a multibyte mask of bits whose settings indicate detailed processor capabilities. The contents of the bit mask are hardware dependent (for example, see the kernel source file I<arch/x86/include/asm/cpufeature.h> for details relating to the Intel x86 architecture). A human-readable version of the same information is available via I</proc/cpuinfo>."
2085 #: build/C/man3/getauxval.3:114
2087 msgid "B<AT_ICACHEBSIZE>"
2088 msgstr "B<AT_ICACHEBSIZE>"
2097 #: build/C/man3/getauxval.3:123
2098 msgid "The instruction cache block size."
2102 #: build/C/man3/getauxval.3:123
2104 msgid "B<AT_PAGESZ>"
2105 msgstr "B<AT_PAGESZ>"
2108 #: build/C/man3/getauxval.3:127
2109 msgid "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2113 #: build/C/man3/getauxval.3:127
2119 #: build/C/man3/getauxval.3:130
2120 msgid "The address of the program headers of the executable."
2124 #: build/C/man3/getauxval.3:130
2127 msgstr "B<AT_PHENT>"
2130 #: build/C/man3/getauxval.3:133
2131 msgid "The size of program header entry."
2135 #: build/C/man3/getauxval.3:133
2138 msgstr "B<AT_PHNUM>"
2141 #: build/C/man3/getauxval.3:136
2142 msgid "The number of program headers."
2146 #: build/C/man3/getauxval.3:136
2148 msgid "B<AT_PLATFORM>"
2149 msgstr "B<AT_PLATFORM>"
2152 #: build/C/man3/getauxval.3:143
2153 msgid "A pointer to a string that identifies the hardware platform that the program is running on. The dynamic linker uses this in the interpretation of I<rpath> values."
2157 #: build/C/man3/getauxval.3:143
2159 msgid "B<AT_RANDOM>"
2160 msgstr "B<AT_RANDOM>"
2163 #: build/C/man3/getauxval.3:146
2164 msgid "The address of sixteen bytes containing a random value."
2168 #: build/C/man3/getauxval.3:146
2170 msgid "B<AT_SECURE>"
2171 msgstr "B<AT_SECURE>"
2174 #: build/C/man3/getauxval.3:158
2175 msgid "Has a nonzero value if this executable should be treated securely. Most commonly, a nonzero value indicates that the process is executing a set-user-ID or set-group-ID program; alternatively, a nonzero value may be triggered by a Linux Security Module. When this value is nonzero, the dynamic linker disables the use of certain environment variables (see B<ld-linux.so>(8)) and glibc changes other aspects of its behavior. (See also B<secure_getenv>(3).)"
2179 #: build/C/man3/getauxval.3:158
2181 msgid "B<AT_SYSINFO>"
2182 msgstr "B<AT_SYSINFO>"
2185 #: build/C/man3/getauxval.3:162
2186 msgid "The entry point to the system call function in the vDSO. Not present/needed on all architectures (e.g., absent on x86-64)."
2190 #: build/C/man3/getauxval.3:162
2192 msgid "B<AT_SYSINFO_EHDR>"
2193 msgstr "B<AT_SYSINFO_EHDR>"
2196 #: build/C/man3/getauxval.3:167
2197 msgid "The address of a page containing the virtual Dynamic Shared Object (vDSO) that the kernel creates in order to provide fast implementations of certain system calls."
2201 #: build/C/man3/getauxval.3:167
2203 msgid "B<AT_UCACHEBSIZE>"
2204 msgstr "B<AT_UCACHEBSIZE>"
2207 #: build/C/man3/getauxval.3:170
2208 msgid "The unified cache block size."
2212 #: build/C/man3/getauxval.3:170
2218 #: build/C/man3/getauxval.3:173
2219 msgid "The real user ID of the thread."
2223 #: build/C/man3/getauxval.3:181
2224 msgid "On success, B<getauxval>() returns the value corresponding to I<type>. If I<type> is not found, 0 is returned."
2225 msgstr "成功すると、 B<getauxval>() は I<type> に対応する値を返す。 I<type> が見つからない場合には 0 を返す。"
2228 #: build/C/man3/getauxval.3:182
2230 msgid "B<ENOENT> (since glibc 2.19)"
2231 msgstr "B<ENOENT> (glibc 2.19 以降)"
2233 #. commit b9ab448f980e296eac21ac65f53783967cc6037b
2235 #: build/C/man3/getauxval.3:188
2236 msgid "No entry corresponding to I<type> could be found in the auxiliary vector."
2240 #: build/C/man3/getauxval.3:192
2241 msgid "The B<getauxval>() function was added to glibc in version 2.16."
2242 msgstr "B<getauxval>() 関数は glibc バージョン 2.16 で追加された。"
2245 #: build/C/man3/getauxval.3:197
2246 msgid "The B<getauxval>() function is thread-safe."
2247 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2250 #: build/C/man3/getauxval.3:199
2251 msgid "This function is a nonstandard glibc extension."
2252 msgstr "この関数は非標準で glibc による拡張である。"
2255 #: build/C/man3/getauxval.3:208
2256 msgid "The primary consumer of the information in the auxiliary vector is the dynamic linker B<ld-linux.so>(8). The auxiliary vector is a convenient and efficient shortcut that allows the kernel to communicate a certain set of standard information that the dynamic linker usually or always needs. In some cases, the same information could be obtained by system calls, but using the auxiliary vector is cheaper."
2260 #: build/C/man3/getauxval.3:214
2261 msgid "The auxiliary vector resides just above the argument list and environment in the process address space. The auxiliary vector supplied to a program can be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a program:"
2265 #: build/C/man3/getauxval.3:216
2267 msgid " $ LD_SHOW_AUXV=1 sleep 1\n"
2268 msgstr " $ LD_SHOW_AUXV=1 sleep 1\n"
2271 #: build/C/man3/getauxval.3:223
2272 msgid "The auxiliary vector of any process can (subject to file permissions) be obtained via I</proc/PID/auxv>; see B<proc>(5) for more information."
2276 #: build/C/man3/getauxval.3:223 build/C/man3/mktemp.3:105
2277 #: build/C/man3/random.3:189 build/C/man3/rpmatch.3:104
2278 #: build/C/man3/setenv.3:144
2284 #: build/C/man3/getauxval.3:232
2285 msgid "Before the addition of the B<ENOENT> error in glibc 2.19, there was no way to unambiguously distinguish the case where I<type> could not be found from the case where the value corresponding to I<type> was zer0."
2289 #: build/C/man3/getauxval.3:236
2290 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2291 msgstr "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2294 #: build/C/man3/getenv.3:33
2300 #: build/C/man3/getenv.3:33
2306 #: build/C/man3/getenv.3:36
2307 msgid "getenv, secure_getenv - get an environment variable"
2308 msgstr "getenv, secure_getenv - 環境変数を得る"
2311 #: build/C/man3/getenv.3:41
2313 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2314 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2317 #: build/C/man3/getenv.3:43
2319 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2320 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2323 #: build/C/man3/getenv.3:52
2324 msgid "B<secure_getenv>(): _GNU_SOURCE"
2325 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2328 #: build/C/man3/getenv.3:61
2329 msgid "The B<getenv>() function searches the environment list to find the environment variable I<name>, and returns a pointer to the corresponding I<value> string."
2330 msgstr "関数 B<getenv>() は、環境リストから名前が I<name> の環境変数を検索し、対応する I<value> 文字列へのポインタを返す。"
2333 #: build/C/man3/getenv.3:69
2334 msgid "The GNU-specific B<secure_getenv>() function is just like B<getenv>() except that it returns NULL in cases where \"secure execution\" is required. Secure execution is required if one of the following conditions was true when the program run by the calling process was loaded:"
2335 msgstr "GNU 固有の B<secure_getenv>() 関数は B<getenv>() と同様だが、 \"secure execution\" (「安全な実行」) が必要な場合には NULL を返す点が異なる。 \"secure execution\" が必要となるのは、 呼び出し元プロセスにより実行されるプログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2338 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76
2339 #: build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86
2340 #: build/C/man3/system.3:91
2346 #: build/C/man3/getenv.3:74
2347 msgid "the process's effective user ID did not match its real user ID or the process's effective group ID did not match its real group ID (typically this is the result of executing a set-user-ID or set-group-ID program);"
2348 msgstr "プロセスの実効ユーザー ID がプロセスの実ユーザー ID と一致しない場合、またはプロセスの実効グループ ID がプロセスの実グループ ID と一致しない場合 (通常、この状況になるのは、 set-user-ID プログラムか set-group-ID プログラムを実行した場合である)。"
2351 #: build/C/man3/getenv.3:76
2352 msgid "the effective capability bit was set on the executable file; or"
2353 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
2356 #: build/C/man3/getenv.3:78
2357 msgid "the process has a nonempty permitted capability set."
2358 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
2361 #: build/C/man3/getenv.3:81
2362 msgid "Secure execution may also required if triggered by some Linux security modules."
2363 msgstr "Linux セキュリティモジュールにより要求された場合にも \"secure execution\" は必要となる。"
2366 #: build/C/man3/getenv.3:88
2367 msgid "The B<secure_getenv>() function is intended for use in general-purpose libraries to avoid vulnerabilities that could occur if set-user-ID or set-group-ID programs accidentally trusted the environment."
2368 msgstr "B<secure_getenv>() 関数は、 set-user-ID プログラムや set-group-ID プログラムが実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回避するために使うことを意図して作られた。"
2371 #: build/C/man3/getenv.3:93
2372 msgid "The B<getenv>() function returns a pointer to the value in the environment, or NULL if there is no match."
2373 msgstr "関数 B<getenv>() は、環境における値 value へのポインタを返す。 I<name> にマッチする環境変数が存在しないときには NULL を返す。"
2376 #: build/C/man3/getenv.3:96
2377 msgid "B<secure_getenv>() first appeared in glibc 2.17."
2378 msgstr "B<secure_getenv>() は glibc 2.17 で初めて登場した。"
2381 #: build/C/man3/getenv.3:99
2382 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
2383 msgstr "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
2386 #: build/C/man3/getenv.3:102
2387 msgid "B<secure_getenv>() is a GNU extension."
2388 msgstr "B<secure_getenv>() は GNU による拡張である。"
2391 #: build/C/man3/getenv.3:104
2392 msgid "The strings in the environment list are of the form I<name=value>."
2393 msgstr "環境リストの文字列は I<name=value> という形式をしている。"
2396 #: build/C/man3/getenv.3:110
2397 msgid "As typically implemented, B<getenv>() returns a pointer to a string within the environment list. The caller must take care not to modify this string, since that would change the environment of the process."
2398 msgstr "通常の実装では、 B<getenv>() は環境リスト内の文字列へのポインタを返す。 呼び出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更すると、そのプロセスの環境を変化させることになるからである。"
2401 #: build/C/man3/getenv.3:123
2402 msgid "The implementation of B<getenv>() is not required to be reentrant. The string pointed to by the return value of B<getenv>() may be statically allocated, and can be modified by a subsequent call to B<getenv>(), B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
2403 msgstr "B<getenv>() の実装はリエントラント (再入可能) であることを要求されていない。 B<getenv>() の返り値により参照される文字列は静的に割り当てられてもよく、 文字列の内容は後続の B<getenv>(), B<putenv>(3), B<setenv>(3), B<unsetenv>(3) の呼び出しにより変更されることがある。"
2406 #: build/C/man3/getenv.3:129
2407 msgid "The \"secure execution\" mode of B<secure_getenv>() is controlled by the B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel to user space."
2408 msgstr "B<secure_getenv>() の \"secure execution\" モードは、 カーネルからユーザー空間に渡される補助ベクトル (auxiliary vector) の B<AT_SECURE> フラグにより制御される。"
2411 #: build/C/man3/getenv.3:137
2412 msgid "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<capabilities>(7), B<environ>(7)"
2413 msgstr "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<capabilities>(7), B<environ>(7)"
2416 #: build/C/man3/getloadavg.3:34
2422 #: build/C/man3/getloadavg.3:34
2428 #: build/C/man3/getloadavg.3:37
2429 msgid "getloadavg - get system load averages"
2430 msgstr "getloadavg - get system load averages"
2433 #: build/C/man3/getloadavg.3:41
2436 "B<#define _BSD_SOURCE> /* See feature_test_macros(7) */\n"
2437 "B<#include E<lt>stdlib.hE<gt>>\n"
2439 "B<#define _BSD_SOURCE> /* feature_test_macros(7) 参照 */\n"
2440 "B<#include E<lt>stdlib.hE<gt>>\n"
2443 #: build/C/man3/getloadavg.3:43
2445 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
2446 msgstr "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
2449 #: build/C/man3/getloadavg.3:55
2450 msgid "The B<getloadavg>() function returns the number of processes in the system run queue averaged over various periods of time. Up to I<nelem> samples are retrieved and assigned to successive elements of I<loadavg>[]. The system imposes a maximum of 3 samples, representing averages over the last 1, 5, and 15 minutes, respectively."
2451 msgstr "B<getloadavg>() 関数はシステムの実行キューに入っているプロセスの数を、 様々な期間について平均した値を返す。 I<nelem> 個までのサンプル値を取得し、 I<loadavg>[] の連続する要素に代入する。 システムが提供するサンプル数は 3 個までで、 それぞれ最近 1, 5, 15 分の平均を表している。"
2456 #. function appeared in
2459 #: build/C/man3/getloadavg.3:63
2460 msgid "If the load average was unobtainable, -1 is returned; otherwise, the number of samples actually retrieved is returned."
2461 msgstr "負荷平均が取得できないと -1 を返す。 取得できた場合は、実際に取得したサンプル値の数を返す。"
2464 #: build/C/man3/getloadavg.3:65
2465 msgid "This function is available in glibc since version 2.2."
2466 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
2469 #: build/C/man3/getloadavg.3:70
2470 msgid "The B<getloadavg>() function is thread-safe."
2471 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
2473 #. mdoc seems to have a bug - there must be no newline here
2475 #: build/C/man3/getloadavg.3:74
2476 msgid "Not in POSIX.1-2001. Present on the BSDs and Solaris."
2477 msgstr "POSIX.1-2001 にはない。 BSD 系と Solaris に存在する。"
2480 #: build/C/man3/getloadavg.3:77
2481 msgid "B<uptime>(1), B<proc>(5)"
2482 msgstr "B<uptime>(1), B<proc>(5)"
2485 #: build/C/man3/getsubopt.3:25
2491 #: build/C/man3/getsubopt.3:25
2497 #: build/C/man3/getsubopt.3:28
2498 msgid "getsubopt - parse suboption arguments from a string"
2499 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
2502 #: build/C/man3/getsubopt.3:33
2503 msgid "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char **>I<valuep>B<);>"
2504 msgstr "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char **>I<valuep>B<);>"
2507 #: build/C/man3/getsubopt.3:40
2508 msgid "B<getsubopt>():"
2509 msgstr "B<getsubopt>():"
2512 #: build/C/man3/getsubopt.3:45
2513 msgid "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2514 msgstr "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2517 #: build/C/man3/getsubopt.3:47
2518 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2519 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2522 #: build/C/man3/getsubopt.3:64
2523 msgid "B<getsubopt>() parses the list of comma-separated suboptions provided in I<optionp>. (Such a suboption list is typically produced when B<getopt>(3) is used to parse a command line; see for example the I<-o> option of B<mount>(8).) Each suboption may include an associated value, which is separated from the suboption name by an equal sign. The following is an example of the kind of string that might be passed in I<optionp>:"
2524 msgstr "B<getsubopt>() は、 I<optionp> で与えられたカンマ区切りのサブオプションリストを解析する。 (このようなサブオプションリストは B<getopt>(3) を使ってコマンドラインを解釈した場合に現れることが多い。 例えば、 B<mount>(8) の I<-o> オプションを見るとよい。) それぞれのサブオプションには対応する値を指定することができる。 サブオプションの名前と対応する値は等号 (\\(aq=\\(aq) で区切られる。 例えば、以下のような文字列を I<optionp> に渡すことができる。"
2527 #: build/C/man3/getsubopt.3:67
2528 msgid "B<ro,name=xyz>"
2529 msgstr "B<ro,name=xyz>"
2532 #: build/C/man3/getsubopt.3:77
2533 msgid "The I<tokens> argument is a pointer to a NULL-terminated array of pointers to the tokens that B<getsubopt>() will look for in I<optionp>. The tokens should be distinct, null-terminated strings containing at least one character, with no embedded equal signs or commas."
2534 msgstr "I<tokens> 引き数はトークンへのポインタの配列へのポインタで、 配列は NULL で終端される。 B<getsubopt>() はこのトークンを I<optionp> 内で探す。 それぞれのトークンは、NULL 終端された 1文字以上の文字列で、 他のトークンと区別できる必要がある。 また、等号とカンマを含んではならない。"
2537 #: build/C/man3/getsubopt.3:98
2538 msgid "Each call to B<getsubopt>() returns information about the next unprocessed suboption in I<optionp>. The first equal sign in a suboption (if any) is interpreted as a separator between the name and the value of that suboption. The value extends to the next comma, or (for the last suboption) to the end of the string. If the name of the suboption matches a known name from I<tokens>, and a value string was found, B<getsubopt>() sets I<*valuep> to the address of that string. The first comma in I<optionp> is overwritten with a null byte, so I<*valuep> is precisely the \"value string\" for that suboption."
2539 msgstr "B<getsubopt>() は呼び出されるたびに、 I<optionp> 中の次の未処理のサブオプションの情報を返す。 サブオプション内に等号があった場合、最初の等号は そのサブオプションの名前と値の区切りと解釈される。 区切りから次のカンマ (最後のサブオプションの場合、文字列の末尾) までが、サブオプションの値となる。 サブオプションの名前が I<tokens> 内の名前と一致し、値を表す文字列が見つかった場合、 B<getsubopt>() は I<*valuep> を値を表す文字列のアドレスに設定する。 I<optionp> 中の最初のカンマはヌルバイトで上書きされる。そのため、 I<*valuep> はそのサブオプションの「値の文字列」そのものとなる。"
2542 #: build/C/man3/getsubopt.3:102
2543 msgid "If the suboption is recognized, but no value string was found, I<*valuep> is set to NULL."
2544 msgstr "サブオプションが認識されたが、値を表す文字列が見つからなかった場合、 *I<valuep> は NULL に設定される。"
2547 #: build/C/man3/getsubopt.3:110
2548 msgid "When B<getsubopt>() returns, I<optionp> points to the next suboption, or to the null byte (\\(aq\\e0\\(aq) at the end of the string if the last suboption was just processed."
2549 msgstr "B<getsubopt>() が返る時、 I<optionp> は次のサブオプションを指している。 ちょうど最後のサブオプションが処理された場合は、 文字列末尾のヌルバイト (\\(aq\\e0\\(aq) を指している。"
2552 #: build/C/man3/getsubopt.3:122
2553 msgid "If the first suboption in I<optionp> is recognized, B<getsubopt>() returns the index of the matching suboption element in I<tokens>. Otherwise, -1 is returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
2554 msgstr "I<optionp> 内でサブオプションが見つかった場合、 B<getsubopt>() は最初のサブオプションにマッチする I<tokens> の要素の添字を返す。 見つからなかった場合、-1 を返す。この場合、 I<*valuep> は I<name>B<[=>I<value>B<]> の文字列全体となる。"
2557 #: build/C/man3/getsubopt.3:129
2558 msgid "Since I<*optionp> is changed, the first suboption before the call to B<getsubopt>() is not (necessarily) the same as the first suboption after B<getsubopt>()."
2559 msgstr "I<*optionp> は変更されるので、 B<getsubopt>() を呼び出す前の最初のサブオプションは B<getsubopt>() を呼び出し後のサブオプションと必ずしも同じとは限らない。"
2562 #: build/C/man3/getsubopt.3:134
2563 msgid "The B<getsubopt>() function is thread-safe."
2564 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
2567 #: build/C/man3/getsubopt.3:143
2568 msgid "Since B<getsubopt>() overwrites any commas it finds in the string I<*optionp>, that string must be writable; it cannot be a string constant."
2569 msgstr "B<getsubopt>() は、文字列 *I<optionp> 中に見つけたカンマを上書きするので、文字列 I<*optionp> は書き込み可能でなければならず、 文字列定数にすることはできない。"
2572 #: build/C/man3/getsubopt.3:145
2573 msgid "The following program expects suboptions following a \"-o\" option."
2574 msgstr "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待している。"
2577 #: build/C/man3/getsubopt.3:151
2580 "#define _XOPEN_SOURCE 500\n"
2581 "#include E<lt>stdlib.hE<gt>\n"
2582 "#include E<lt>assert.hE<gt>\n"
2583 "#include E<lt>stdio.hE<gt>\n"
2585 "#define _XOPEN_SOURCE 500\n"
2586 "#include E<lt>stdlib.hE<gt>\n"
2587 "#include E<lt>assert.hE<gt>\n"
2588 "#include E<lt>stdio.hE<gt>\n"
2591 #: build/C/man3/getsubopt.3:169
2595 "main(int argc, char **argv)\n"
2602 " char *const token[] = {\n"
2603 " [RO_OPT] = \"ro\",\n"
2604 " [RW_OPT] = \"rw\",\n"
2605 " [NAME_OPT] = \"name\",\n"
2613 "main(int argc, char **argv)\n"
2620 " char *const token[] = {\n"
2621 " [RO_OPT] = \"ro\",\n"
2622 " [RW_OPT] = \"rw\",\n"
2623 " [NAME_OPT] = \"name\",\n"
2631 #: build/C/man3/getsubopt.3:174
2634 " int readonly = 0;\n"
2635 " int readwrite = 0;\n"
2636 " char *name = NULL;\n"
2637 " int errfnd = 0;\n"
2639 " int readonly = 0;\n"
2640 " int readwrite = 0;\n"
2641 " char *name = NULL;\n"
2642 " int errfnd = 0;\n"
2645 #: build/C/man3/getsubopt.3:180
2648 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2650 " case \\(aqo\\(aq:\n"
2651 " subopts = optarg;\n"
2652 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2654 " while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2656 " case \\(aqo\\(aq:\n"
2657 " subopts = optarg;\n"
2658 " while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2661 #: build/C/man3/getsubopt.3:185
2664 " switch (getsubopt(&subopts, token, &value)) {\n"
2669 " switch (getsubopt(&subopts, token, &value)) {\n"
2675 #: build/C/man3/getsubopt.3:189
2687 #: build/C/man3/getsubopt.3:197
2691 " if (value == NULL) {\n"
2692 " fprintf(stderr, \"Missing value for \"\n"
2693 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
2699 " if (value == NULL) {\n"
2700 " fprintf(stderr, \"Missing value for \"\n"
2701 " \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
2707 #: build/C/man3/getsubopt.3:200
2717 #: build/C/man3/getsubopt.3:214
2721 " fprintf(stderr, \"No match found \"\n"
2722 " \"for token: /%s/\\en\", value);\n"
2727 " if (readwrite && readonly) {\n"
2728 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
2729 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
2735 " fprintf(stderr, \"No match found \"\n"
2736 " \"for token: /%s/\\en\", value);\n"
2741 " if (readwrite && readonly) {\n"
2742 " fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can be \"\n"
2743 " \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
2749 #: build/C/man3/getsubopt.3:219
2763 #: build/C/man3/getsubopt.3:226
2766 " if (errfnd || argc == 1) {\n"
2767 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
2768 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
2769 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
2770 " exit(EXIT_FAILURE);\n"
2773 " if (errfnd || argc == 1) {\n"
2774 " fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", argv[0]);\n"
2775 " fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
2776 " \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
2777 " exit(EXIT_FAILURE);\n"
2781 #: build/C/man3/getsubopt.3:228
2783 msgid " /* Remainder of program... */\n"
2784 msgstr " /* Remainder of program... */\n"
2787 #: build/C/man3/getsubopt.3:234
2788 msgid "B<getopt>(3)"
2789 msgstr "B<getopt>(3)"
2792 #: build/C/man3/malloc.3:33
2798 #: build/C/man3/malloc.3:33
2804 #: build/C/man3/malloc.3:36
2805 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
2806 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
2809 #: build/C/man3/malloc.3:44
2812 "B<void *malloc(size_t >I<size>B<);>\n"
2813 "B<void free(void >I<*ptr>B<);>\n"
2814 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
2815 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
2817 "B<void *malloc(size_t >I<size>B<);>\n"
2818 "B<void free(void >I<*ptr>B<);>\n"
2819 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
2820 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
2824 #: build/C/man3/malloc.3:61
2825 msgid "The B<malloc>() function allocates I<size> bytes and returns a pointer to the allocated memory. I<The memory is not initialized>. If I<size> is 0, then B<malloc>() returns either NULL, or a unique pointer value that can later be successfully passed to B<free>()."
2827 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
2828 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
2829 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
2833 #: build/C/man3/malloc.3:77
2834 msgid "The B<free>() function frees the memory space pointed to by I<ptr>, which must have been returned by a previous call to B<malloc>(), B<calloc>(), or B<realloc>(). Otherwise, or if I<free(ptr)> has already been called before, undefined behavior occurs. If I<ptr> is NULL, no operation is performed."
2836 "B<free>() 関数はポインタ I<ptr> が指すメモリ空間を解放する。このポインタは、\n"
2837 "以前に呼び出された B<malloc>(), B<calloc>(), B<realloc>() のいずれかが返した値で\n"
2838 "なければならない。これ以外のポインタを指定したり、すでに I<free(ptr)> が実行\n"
2839 "されていたりした場合の動作は定義されていない。\n"
2840 "I<ptr> が NULL の場合には、何の動作も行われない。"
2844 #: build/C/man3/malloc.3:96
2845 msgid "The B<calloc>() function allocates memory for an array of I<nmemb> elements of I<size> bytes each and returns a pointer to the allocated memory. The memory is set to zero. If I<nmemb> or I<size> is 0, then B<calloc>() returns either NULL, or a unique pointer value that can later be successfully passed to B<free>()."
2847 "B<calloc>() 関数は I<size> バイトの要素 I<nmemb> 個からなる配列にメモリを\n"
2848 "割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ\n"
2849 "(全ビットが 0 のバイト) にセットされる。 I<nmemb> か I<size> が 0 の場合、\n"
2850 "B<calloc>() は NULL または B<free>() に後で渡しても問題の起こらない一意な\n"
2854 #: build/C/man3/malloc.3:132
2855 msgid "The B<realloc>() function changes the size of the memory block pointed to by I<ptr> to I<size> bytes. The contents will be unchanged in the range from the start of the region up to the minimum of the old and new sizes. If the new size is larger than the old size, the added memory will I<not> be initialized. If I<ptr> is NULL, then the call is equivalent to I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>. Unless I<ptr> is NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>() or B<realloc>(). If the area pointed to was moved, a I<free(ptr)> is done."
2857 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイト\n"
2858 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
2859 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
2861 "I<ptr> が NULL の場合には I<malloc(size)> と等価である。\n"
2862 "I<size> が 0 で I<ptr> が NULL でない場合には、 I<free(ptr)> と等価である。\n"
2863 "I<ptr> が NULL 以外の場合、 I<ptr> は以前に呼び出された B<malloc>(), B<calloc>(),\n"
2864 "B<realloc>() のいずれかが返した値でなければならない。\n"
2865 "I<ptr> が指す領域が移動されていた場合は I<free(ptr)> が実行される。"
2868 #: build/C/man3/malloc.3:152
2869 msgid "The B<malloc>() and B<calloc>() functions return a pointer to the allocated memory, which is suitably aligned for any built-in type. On error, these functions return NULL. NULL may also be returned by a successful call to B<malloc>() with a I<size> of zero, or by a successful call to B<calloc>() with I<nmemb> or I<size> equal to zero."
2870 msgstr "関数 B<calloc>() と B<malloc>() は、割り当てられたメモリへのポインタを返す。 割り当てられたメモリは、あらゆる組み込み型に対応できるようにアラインメントされる。 エラーの場合、これらの関数は NULL を返す。 I<size> が 0 で呼び出した B<malloc>() や、I<nmemb> か I<size> が 0 で呼び出した B<calloc>() が成功した場合にも NULL が返される。"
2873 #: build/C/man3/malloc.3:156
2874 msgid "The B<free>() function returns no value."
2875 msgstr "B<free>() 関数は値を返さない。"
2878 #: build/C/man3/malloc.3:171
2879 msgid "The B<realloc>() function returns a pointer to the newly allocated memory, which is suitably aligned for any built-in type and may be different from I<ptr>, or NULL if the request fails. If I<size> was equal to 0, either NULL or a pointer suitable to be passed to B<free>() is returned. If B<realloc>() fails, the original block is left untouched; it is not freed or moved."
2880 msgstr "B<realloc>() 関数は新たに割り当てられたメモリへのポインタを返す。 これはあらゆる組み込み型に対応できるようにアラインメントされており、 I<ptr> とは異なることもある。割り当て要求に失敗した場合は NULL が返る。 I<size> が 0 の場合には、NULL もしくは B<free>() に渡すことができるポインタが返る。 B<realloc>() が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動されたりはしない。"
2883 #: build/C/man3/malloc.3:173
2888 #: build/C/man3/malloc.3:189
2889 msgid "By default, Linux follows an optimistic memory allocation strategy. This means that when B<malloc>() returns non-NULL there is no guarantee that the memory really is available. In case it turns out that the system is out of memory, one or more processes will be killed by the OOM killer. For more information, see the description of I</proc/sys/vm/overcommit_memory> and I</proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file I<Documentation/vm/overcommit-accounting>."
2891 "デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、\n"
2892 "B<malloc>() が NULL でない値を返しても、そのメモリが実際に利用可能であること\n"
2893 "が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM\n"
2894 "killer) によって一つまたは複数のプロセスが削除される。\n"
2895 "詳しい情報は、B<proc>(5) の I</proc/sys/vm/overcommit_memory> と\n"
2896 "I<proc/sys/vm/oom_adj>、および Linux カーネルのソースファイルの\n"
2897 "I<Documentation/vm/overcommit-accounting> を参照のこと。"
2900 #: build/C/man3/malloc.3:210
2901 msgid "Normally, B<malloc>() allocates memory from the heap, and adjusts the size of the heap as required, using B<sbrk>(2). When allocating blocks of memory larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>() implementation allocates the memory as a private anonymous mapping using B<mmap>(2). B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using B<mallopt>(3). Allocations performed using B<mmap>(2) are unaffected by the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
2902 msgstr "通常、 B<malloc>() は、ヒープからメモリを割り当て、必要に応じてヒープのサイズを B<sbrk>(2) を使って調節する。 B<MMAP_THRESHOLD> バイトよりも大きなメモリブロックを割り当てる場合、 glibc の B<malloc>() 実装は B<mmap>(2) を使ってプライベートな無名マッピング (anonymous mapping) として メモリを割り当てる。 デフォルトでは B<MMAP_THRESHOLD> は 128 kB だが、 B<mallopt>(3) を使って調整できる。 B<mmap>(2) を使って行われたメモリ割り当ては B<RLIMIT_DATA> リソース上限の影響を受けない (B<getrlimit>(2) 参照)。"
2905 #: build/C/man3/malloc.3:228
2906 msgid "To avoid corruption in multithreaded applications, mutexes are used internally to protect the memory-management data structures employed by these functions. In a multithreaded application in which threads simultaneously allocate and free memory, there could be contention for these mutexes. To scalably handle memory allocation in multithreaded applications, glibc creates additional I<memory allocation arenas> if mutex contention is detected. Each arena is a large region of memory that is internally allocated by the system (using B<brk>(2) or B<mmap>(2)), and managed with its own mutexes."
2908 "マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutexを\n"
2909 "使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。\n"
2910 "複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリケー\n"
2911 "ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーション\n"
2912 "でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex の\n"
2913 "衝突が検出された際には追加の I<メモリ割り当て領域> を作成する。\n"
2914 "追加領域の各々は、(B<brk>(2) や B<mmap>(2) を使って) システムにより内部的に\n"
2915 "割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。"
2918 #: build/C/man3/malloc.3:246
2919 msgid "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>() to set I<errno> to B<ENOMEM> upon failure. Glibc assumes that this is done (and the glibc versions of these routines do this); if you use a private malloc implementation that does not set I<errno>, then certain library routines may fail without having a reason in I<errno>."
2920 msgstr "UNIX 98 標準では、 B<malloc>(), B<calloc>(), B<realloc>() は実行に失敗したときに I<errno> を B<ENOMEM> に設定することになっている。 Glibc ではこれが守られていることを仮定している (またこれらのルーチンの glibc バージョンはこのことを守っている)。 個人的に別の malloc の実装を使っていて、その malloc がI<errno> を設定しない場合には、失敗した際に I<errno> にエラーの理由を設定しないライブラリルーチンがあるかもしれない。"
2923 #: build/C/man3/malloc.3:255
2924 msgid "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>() are almost always related to heap corruption, such as overflowing an allocated chunk or freeing the same pointer twice."
2925 msgstr "B<malloc>(), B<calloc>(), B<realloc>(), B<free>() における事故は、 ほとんどの場合はヒープの破壊 (corruption) が原因である。 例えば、割り当てられた領域をオーバーフローする、 同じポインタに二度 free する、などがこれにあたる。"
2928 #: build/C/man3/malloc.3:261
2929 msgid "The B<malloc>() implementation is tunable via environment variables; see B<mallopt>(3) for details."
2930 msgstr "B<malloc> 実装は、環境変数で動作を調整できる。 詳細は B<mallopt>(3) を参照のこと。"
2933 #: build/C/man3/malloc.3:285
2934 msgid "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
2935 msgstr "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
2938 #: build/C/man3/mblen.3:16
2944 #: build/C/man3/mblen.3:16
2950 #: build/C/man3/mblen.3:19
2951 msgid "mblen - determine number of bytes in next multibyte character"
2952 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
2955 #: build/C/man3/mblen.3:24
2957 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
2958 msgstr "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
2961 #: build/C/man3/mblen.3:43
2962 msgid "If I<s> is not NULL, the B<mblen>() function inspects at most I<n> bytes of the multibyte string starting at I<s> and extracts the next complete multibyte character. It uses a static anonymous shift state known only to the B<mblen>() function. If the multibyte character is not the null wide character, it returns the number of bytes that were consumed from I<s>. If the multibyte character is the null wide character, it returns 0."
2963 msgstr "I<s> が NULL でなければ、 B<mblen>() 関数は I<s> から始まる最大 I<n> バイトのマルチバイト文字列を検査して、 次の完全なマルチバイト文字を取り出す。これには B<mblen>() 関数のみが使用する静的で名前のないシフト状態が使用される。 マルチバイト文字がヌルワイド文字でなければ I<s> から消費される バイト数を返す。マルチバイト文字がヌルワイド文字ならば 0 を返す。"
2966 #: build/C/man3/mblen.3:57
2967 msgid "If the I<n> bytes starting at I<s> do not contain a complete multibyte character, B<mblen>() returns -1. This can happen even if I<n> is greater than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant shift sequences."
2968 msgstr "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いなければ、 B<mblen>() は -1 を返す。マルチバイト文字列 に冗長なシフトシーケンスが含まれていると、 I<n> が I<MB_CUR_MAX> 以上の場合にも このようなことが起こりえる。"
2971 #: build/C/man3/mblen.3:64
2972 msgid "If the multibyte string starting at I<s> contains an invalid multibyte sequence before the next complete character, B<mblen>() also returns -1."
2973 msgstr "I<s> から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列を含んでいる場合にも、 B<mblen>() は -1 を返す。"
2975 #. The Dinkumware doc and the Single UNIX specification say this, but
2976 #. glibc doesn't implement this.
2978 #: build/C/man3/mblen.3:75
2979 msgid "If I<s> is NULL, the B<mblen>() function resets the shift state, known to only this function, to the initial state, and returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless."
2980 msgstr "I<s> が NULL ならば、 B<mblen>() 関数はこの関数のみが 使用するシフト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号がシフト状態を持たない場合にはゼロを返す。"
2983 #: build/C/man3/mblen.3:87
2984 msgid "The B<mblen>() function returns the number of bytes parsed from the multibyte sequence starting at I<s>, if a non-null wide character was recognized. It returns 0, if a null wide character was recognized. It returns -1, if an invalid multibyte sequence was encountered or if it couldn't parse a complete multibyte character."
2985 msgstr "B<mblen>() 関数は I<s> から始まるマルチバイト列を検査して ヌルワイド文字以外を確認した場合にはそのバイト数を返す。 ヌルワイド文字を確認した場合にはゼロを返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できなかった場合には -1 を返す。"
2988 #: build/C/man3/mblen.3:92
2989 msgid "The B<mblen>() function is not thread-safe."
2990 msgstr "B<mblen>() 関数はスレッドセーフではない。"
2993 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96
2994 #: build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91
2995 #: build/C/man3/wctomb.3:91
3000 #: build/C/man3/mblen.3:101
3001 msgid "The behavior of B<mblen>() depends on the B<LC_CTYPE> category of the current locale."
3002 msgstr "B<mblen>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3005 #: build/C/man3/mblen.3:106
3006 msgid "The function B<mbrlen>(3) provides a better interface to the same functionality."
3007 msgstr "B<mbrlen>(3) 関数は同じ機能のより良いインタフェースを提供する。"
3010 #: build/C/man3/mblen.3:108
3011 msgid "B<mbrlen>(3)"
3012 msgstr "B<mbrlen>(3)"
3015 #: build/C/man3/mbstowcs.3:18
3021 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
3022 #: build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33
3023 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3029 #: build/C/man3/mbstowcs.3:21
3030 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3031 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3034 #: build/C/man3/mbstowcs.3:26
3036 msgid "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3037 msgstr "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t >I<n>B<);>\n"
3040 #: build/C/man3/mbstowcs.3:45
3041 msgid "If I<dest> is not NULL, the B<mbstowcs>() function converts the multibyte string I<src> to a wide-character string starting at I<dest>. At most I<n> wide characters are written to I<dest>. The conversion starts in the initial state. The conversion can stop for three reasons:"
3042 msgstr "I<dest> が NULL でなければ B<mbstowcs>() 関数は マルチバイト文字列 I<*src> を I<dest> から始まるワイド文字列に 変換する。I<dest> には最大で I<n> 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの条件で停止する:"
3045 #: build/C/man3/mbstowcs.3:45
3051 #: build/C/man3/mbstowcs.3:50
3052 msgid "An invalid multibyte sequence has been encountered. In this case, I<(size_t)\\ -1> is returned."
3053 msgstr "不正なマルチバイト列に遭遇した。この場合には I<(size_t)\\ -1> を返す。"
3056 #: build/C/man3/mbstowcs.3:50
3062 #: build/C/man3/mbstowcs.3:58
3063 msgid "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>. In this case, the number of wide characters written to I<dest> is returned, but the shift state at this point is lost."
3064 msgstr "I<n> 文字の L\\(aq\\e0\\(aq 以外のワイド文字を I<dest> に格納した場合。 この場合は I<*src> が次に変換されるマルチバイト列を指すようにして、 I<dest> に書き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われる。"
3067 #: build/C/man3/mbstowcs.3:58
3073 #: build/C/man3/mbstowcs.3:64
3074 msgid "The multibyte string has been completely converted, including the terminating null wide character (\\(aq\\e0\\(aq). In this case, the number of wide characters written to I<dest>, excluding the terminating null wide character, is returned."
3075 msgstr "マルチバイト文字列が終端のヌルワイド文字 (\\(aq\\e0\\(aq) まで含めて完全に 変換された場合。この場合は終端のヌルワイド文字を除いて I<dest> に書き込まれた文字数を返す。"
3078 #: build/C/man3/mbstowcs.3:70
3079 msgid "The programmer must ensure that there is room for at least I<n> wide characters at I<dest>."
3080 msgstr "プログラマーは I<dest> に最低でも I<n> ワイド文字を書き込むこ とができる空間があることを保証しなければならない。"
3083 #: build/C/man3/mbstowcs.3:78
3084 msgid "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, except that the converted wide characters are not written out to memory, and that no length limit exists."
3085 msgstr "I<dest> が NULL の場合、I<n> は無視され、上記と同様の変換が 行われるが、変換されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
3088 #: build/C/man3/mbstowcs.3:84
3089 msgid "In order to avoid the case 2 above, the programmer should make sure I<n> is greater than or equal to I<mbstowcs(NULL,src,0)+1>."
3090 msgstr "上記の 2. の場合を避けるためにプログラマーは I<n> が I<mbstowcs(NULL,src,0)+1> 以上であることを保証すべきである。"
3093 #: build/C/man3/mbstowcs.3:94
3094 msgid "The B<mbstowcs>() function returns the number of wide characters that make up the converted part of the wide-character string, not including the terminating null wide character. If an invalid multibyte sequence was encountered, I<(size_t)\\ -1> is returned."
3095 msgstr "B<mbstowcs>() 関数はワイド文字列に変換完了したワイド文字の数を返す。 終端のヌルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には I<(size_t)\\ -1> を返す。"
3098 #: build/C/man3/mbstowcs.3:103
3099 msgid "The behavior of B<mbstowcs>() depends on the B<LC_CTYPE> category of the current locale."
3100 msgstr "B<mbstowcs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3103 #: build/C/man3/mbstowcs.3:108
3104 msgid "The function B<mbsrtowcs>(3) provides a better interface to the same functionality."
3105 msgstr "B<mbsrtowcs>(3) 関数は同じ機能のより良いインターフェースを提供する。"
3108 #: build/C/man3/mbstowcs.3:113
3109 msgid "The program below illustrates the use of B<mbstowcs>(), as well as some of the wide character classification functions. An example run is the following:"
3110 msgstr "下記のプログラムは B<mbstowcs>() といくつかのワイド文字分類関数の使用方法を示したものである。実行例は以下のようになる。"
3113 #: build/C/man3/mbstowcs.3:120
3116 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
3117 "Length of source string (excluding terminator):\n"
3119 " 6 multibyte characters\n"
3121 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
3122 "Length of source string (excluding terminator):\n"
3124 " 6 multibyte characters\n"
3127 #: build/C/man3/mbstowcs.3:128
3130 "Wide character string is: Grüße! (6 characters)\n"
3138 "Wide character string is: Grüße! (6 characters)\n"
3147 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
3149 msgid "Program source"
3153 #: build/C/man3/mbstowcs.3:137
3156 "#include E<lt>locale.hE<gt>\n"
3157 "#include E<lt>wchar.hE<gt>\n"
3158 "#include E<lt>stdio.hE<gt>\n"
3159 "#include E<lt>string.hE<gt>\n"
3160 "#include E<lt>stdlib.hE<gt>\n"
3162 "#include E<lt>locale.hE<gt>\n"
3163 "#include E<lt>wchar.hE<gt>\n"
3164 "#include E<lt>stdio.hE<gt>\n"
3165 "#include E<lt>string.hE<gt>\n"
3166 "#include E<lt>stdlib.hE<gt>\n"
3169 #: build/C/man3/mbstowcs.3:144
3173 "main(int argc, char *argv[])\n"
3175 " size_t mbslen; /* Number of multibyte characters in source */\n"
3176 " wchar_t *wcs; /* Pointer to converted wide character string */\n"
3180 "main(int argc, char *argv[])\n"
3182 " size_t mbslen; /* Number of multibyte characters in source */\n"
3183 " wchar_t *wcs; /* Pointer to converted wide character string */\n"
3187 #: build/C/man3/mbstowcs.3:149
3190 " if (argc E<lt> 3) {\n"
3191 " fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
3192 " exit(EXIT_FAILURE);\n"
3195 " if (argc E<lt> 3) {\n"
3196 " fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", argv[0]);\n"
3197 " exit(EXIT_FAILURE);\n"
3201 #: build/C/man3/mbstowcs.3:151
3203 msgid " /* Apply the specified locale */\n"
3204 msgstr " /* Apply the specified locale */\n"
3207 #: build/C/man3/mbstowcs.3:156
3210 " if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
3211 " perror(\"setlocale\");\n"
3212 " exit(EXIT_FAILURE);\n"
3215 " if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
3216 " perror(\"setlocale\");\n"
3217 " exit(EXIT_FAILURE);\n"
3221 #: build/C/man3/mbstowcs.3:159
3224 " /* Calculate the length required to hold argv[2] converted to\n"
3225 " a wide character string */\n"
3227 " /* Calculate the length required to hold argv[2] converted to\n"
3228 " a wide character string */\n"
3231 #: build/C/man3/mbstowcs.3:165
3234 " mbslen = mbstowcs(NULL, argv[2], 0);\n"
3235 " if (mbslen == (size_t) -1) {\n"
3236 " perror(\"mbstowcs\");\n"
3237 " exit(EXIT_FAILURE);\n"
3240 " mbslen = mbstowcs(NULL, argv[2], 0);\n"
3241 " if (mbslen == (size_t) -1) {\n"
3242 " perror(\"mbstowcs\");\n"
3243 " exit(EXIT_FAILURE);\n"
3247 #: build/C/man3/mbstowcs.3:167
3249 msgid " /* Describe the source string to the user */\n"
3250 msgstr " /* Describe the source string to the user */\n"
3253 #: build/C/man3/mbstowcs.3:171
3256 " printf(\"Length of source string (excluding terminator):\\en\");\n"
3257 " printf(\" %zu bytes\\en\", strlen(argv[2]));\n"
3258 " printf(\" %zu multibyte characters\\en\\en\", mbslen);\n"
3260 " printf(\"Length of source string (excluding terminator):\\en\");\n"
3261 " printf(\" %zu bytes\\en\", strlen(argv[2]));\n"
3262 " printf(\" %zu multibyte characters\\en\\en\", mbslen);\n"
3265 #: build/C/man3/mbstowcs.3:174
3268 " /* Allocate wide character string of the desired size. Add 1\n"
3269 " to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
3271 " /* Allocate wide character string of the desired size. Add 1\n"
3272 " to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
3275 #: build/C/man3/mbstowcs.3:180
3278 " wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
3279 " if (wcs == NULL) {\n"
3280 " perror(\"calloc\");\n"
3281 " exit(EXIT_FAILURE);\n"
3284 " wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
3285 " if (wcs == NULL) {\n"
3286 " perror(\"calloc\");\n"
3287 " exit(EXIT_FAILURE);\n"
3291 #: build/C/man3/mbstowcs.3:183
3294 " /* Convert the multibyte character string in argv[2] to a\n"
3295 " wide character string */\n"
3297 " /* Convert the multibyte character string in argv[2] to a\n"
3298 " wide character string */\n"
3301 #: build/C/man3/mbstowcs.3:188
3304 " if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
3305 " perror(\"mbstowcs\");\n"
3306 " exit(EXIT_FAILURE);\n"
3309 " if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
3310 " perror(\"mbstowcs\");\n"
3311 " exit(EXIT_FAILURE);\n"
3315 #: build/C/man3/mbstowcs.3:191
3318 " printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
3321 " printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
3325 #: build/C/man3/mbstowcs.3:194
3328 " /* Now do some inspection of the classes of the characters in\n"
3329 " the wide character string */\n"
3331 " /* Now do some inspection of the classes of the characters in\n"
3332 " the wide character string */\n"
3335 #: build/C/man3/mbstowcs.3:197
3338 " for (wp = wcs; *wp != 0; wp++) {\n"
3339 " printf(\" %lc \", (wint_t) *wp);\n"
3341 " for (wp = wcs; *wp != 0; wp++) {\n"
3342 " printf(\" %lc \", (wint_t) *wp);\n"
3345 #: build/C/man3/mbstowcs.3:201
3348 " if (!iswalpha(*wp))\n"
3350 " printf(\"alpha \");\n"
3352 " if (!iswalpha(*wp))\n"
3354 " printf(\"alpha \");\n"
3357 #: build/C/man3/mbstowcs.3:205
3360 " if (iswalpha(*wp)) {\n"
3361 " if (iswupper(*wp))\n"
3362 " printf(\"upper \");\n"
3364 " if (iswalpha(*wp)) {\n"
3365 " if (iswupper(*wp))\n"
3366 " printf(\"upper \");\n"
3369 #: build/C/man3/mbstowcs.3:209
3372 " if (iswlower(*wp))\n"
3373 " printf(\"lower \");\n"
3376 " if (iswlower(*wp))\n"
3377 " printf(\"lower \");\n"
3381 #: build/C/man3/mbstowcs.3:212
3384 " putchar(\\(aq\\en\\(aq);\n"
3387 " putchar(\\(aq\\en\\(aq);\n"
3391 #: build/C/man3/mbstowcs.3:222
3392 msgid "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
3393 msgstr "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
3396 #: build/C/man3/mbtowc.3:16
3402 #: build/C/man3/mbtowc.3:19
3403 msgid "mbtowc - convert a multibyte sequence to a wide character"
3404 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
3407 #: build/C/man3/mbtowc.3:24
3409 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
3410 msgstr "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
3413 #: build/C/man3/mbtowc.3:50
3414 msgid "The main case for this function is when I<s> is not NULL and I<pwc> is not NULL. In this case, the B<mbtowc>() function inspects at most I<n> bytes of the multibyte string starting at I<s>, extracts the next complete multibyte character, converts it to a wide character and stores it at I<*pwc>. It updates an internal shift state known only to the B<mbtowc>() function. If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it returns the number of bytes that were consumed from I<s>, otherwise it returns 0."
3415 msgstr "この関数が用いられる場合、通常 I<s> が NULL でなく I<pwc> も NULL でない。この場合は B<mbtowc>() 関数は I<s> から始まる 最大 I<n> バイトのマルチバイト文字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換して I<*pwc> に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新する。I<s> がヌルバイト (\\(aq\\e0\\(aq) 以外を指している場合は、I<s> から消費するバイト数を返す。 I<s> がヌルバイトを指している場合には 0 を返す。"
3418 #: build/C/man3/mbtowc.3:64
3419 msgid "If the I<n> bytes starting at I<s> do not contain a complete multibyte character, or if they contain an invalid multibyte sequence, B<mbtowc>() returns -1. This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the multibyte string contains redundant shift sequences."
3420 msgstr "I<s> から始まる I<n> バイトが完全なマルチバイト文字を含んで いない場合や不正なマルチバイト列を含んでいる場合には B<mbtowc>() は -1 を返す。マルチバイト文字列に冗長なシフトシーケンスが 含まれていると I<n> E<gt>= I<MB_CUR_MAX> の場合もこのようなことが 起こりえる。"
3423 #: build/C/man3/mbtowc.3:74
3424 msgid "A different case is when I<s> is not NULL but I<pwc> is NULL. In this case, the B<mbtowc>() function behaves as above, except that it does not store the converted wide character in memory."
3425 msgstr "I<s> が NULL でなく I<pwc> が NULL の場合は B<mbtowc>() 関数は 上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。"
3427 #. The Dinkumware doc and the Single UNIX specification say this, but
3428 #. glibc doesn't implement this.
3430 #: build/C/man3/mbtowc.3:93
3431 msgid "A third case is when I<s> is NULL. In this case, I<pwc> and I<n> are ignored. The B<mbtowc>() function resets the shift state, only known to this function, to the initial state, and returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless."
3432 msgstr "三番目の場合として I<s> が NULL の場合は I<pwc> と I<n> は 無視される。 B<mbtowc>() 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロを返す。"
3435 #: build/C/man3/mbtowc.3:105
3436 msgid "If I<s> is not NULL, the B<mbtowc>() function returns the number of consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 upon failure."
3437 msgstr "I<s> が NULL でなければ B<mbtowc>() 関数は I<s> から消費した バイト数を、I<s> がヌル文字を指している場合はゼロを、 変換に失敗した場合は -1 を返す。"
3440 #: build/C/man3/mbtowc.3:113
3441 msgid "If I<s> is NULL, the B<mbtowc>() function returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless."
3442 msgstr "I<s> が NULL ならば B<mbtowc>() 関数は文字符号がシフト状態に依存 していればゼロ以外を、状態によらなければゼロを返す。"
3445 #: build/C/man3/mbtowc.3:122
3446 msgid "The behavior of B<mbtowc>() depends on the B<LC_CTYPE> category of the current locale."
3447 msgstr "B<mbtowc>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
3450 #: build/C/man3/mbtowc.3:128
3451 msgid "This function is not multithread safe. The function B<mbrtowc>(3) provides a better interface to the same functionality."
3452 msgstr "この関数はマルチスレッドでは安全ではない。 B<mbrtowc>(3) 関数は 同じ機能のより良いインターフェースを提供する。"
3455 #: build/C/man3/mbtowc.3:135
3456 msgid "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), B<wcstombs>(3)"
3457 msgstr "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), B<wcstombs>(3)"
3460 #: build/C/man3/mkdtemp.3:26
3466 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
3472 #: build/C/man3/mkdtemp.3:29
3473 msgid "mkdtemp - create a unique temporary directory"
3474 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
3477 #: build/C/man3/mkdtemp.3:34
3479 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
3480 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
3483 #: build/C/man3/mkdtemp.3:42
3484 msgid "B<mkdtemp>():"
3485 msgstr "B<mkdtemp>():"
3488 #: build/C/man3/mkdtemp.3:47
3490 msgstr "_BSD_SOURCE"
3493 #: build/C/man3/mkdtemp.3:49
3494 msgid "|| /* Since glibc 2.10: */"
3495 msgstr "|| /* Since glibc 2.10: */"
3498 #: build/C/man3/mkdtemp.3:51
3499 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
3500 msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
3503 #: build/C/man3/mkdtemp.3:68
3504 msgid "The B<mkdtemp>() function generates a uniquely named temporary directory from I<template>. The last six characters of I<template> must be XXXXXX and these are replaced with a string that makes the directory name unique. The directory is then created with permissions 0700. Since it will be modified, I<template> must not be a string constant, but should be declared as a character array."
3505 msgstr "B<mkdtemp>() 関数は、他と重ならない名前の一時的なディレクトリを I<template> から作成する。 I<template> の後から 6 文字は XXXXXX でなければならない。 この部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディレクトリは許可属性を 0700 として作成される。 I<template> は変更されるので、文字列定数にしてはならず、文字配列にすべきである。"
3508 #: build/C/man3/mkdtemp.3:75
3509 msgid "The B<mkdtemp>() function returns a pointer to the modified template string on success, and NULL on failure, in which case I<errno> is set appropriately."
3510 msgstr "成功した場合、 B<mkdtemp>() 関数は 変更された template 文字列へのポインタを返す。 失敗した場合は、NULL を返して、 I<errno> を適切に設定する。"
3513 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166
3514 #: build/C/man3/mktemp.3:92 build/C/man3/random.3:141
3515 #: build/C/man3/random.3:148 build/C/man3/random_r.3:106
3516 #: build/C/man3/random_r.3:110 build/C/man3/random_r.3:119
3517 #: build/C/man3/setenv.3:120 build/C/man3/strtol.3:145
3518 #: build/C/man3/strtoul.3:149
3524 #: build/C/man3/mkdtemp.3:80
3525 msgid "The last six characters of I<template> were not XXXXXX. Now I<template> is unchanged."
3526 msgstr "I<template> の最後の 6 文字が XXXXXX でない。この場合、I<template> は変更されない。"
3529 #: build/C/man3/mkdtemp.3:84
3530 msgid "Also see B<mkdir>(2) for other possible values for I<errno>."
3531 msgstr "I<errno> に設定される他の値については、 B<mkdir>(2) を参照すること。"
3534 #: build/C/man3/mkdtemp.3:86
3535 msgid "Available since glibc 2.1.91."
3536 msgstr "glibc 2.1.91 以降で利用可能。"
3539 #: build/C/man3/mkdtemp.3:91
3540 msgid "The B<mkdtemp>() function is thread-safe."
3541 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
3543 #. As at 2006, this function is being considered for a revision of POSIX.1
3544 #. Also in NetBSD 1.4.
3546 #: build/C/man3/mkdtemp.3:96
3547 msgid "POSIX.1-2008. This function is present on the BSDs."
3548 msgstr "POSIX.1-2008. この関数は BSD に存在する。"
3551 #: build/C/man3/mkdtemp.3:103
3552 msgid "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3553 msgstr "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3556 #: build/C/man3/mkstemp.3:35
3562 #: build/C/man3/mkstemp.3:38
3563 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
3564 msgstr "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイルを作成する"
3567 #: build/C/man3/mkstemp.3:43
3569 msgid "B<int mkstemp(char *>I<template>B<);>\n"
3570 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
3573 #: build/C/man3/mkstemp.3:45
3575 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
3576 msgstr "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
3579 #: build/C/man3/mkstemp.3:47
3581 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
3582 msgstr "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
3585 #: build/C/man3/mkstemp.3:49
3587 msgid "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
3588 msgstr "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int >I<flags>B<);>\n"
3591 #: build/C/man3/mkstemp.3:57
3592 msgid "B<mkstemp>():"
3593 msgstr "B<mkstemp>():"
3596 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
3597 msgid "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3598 msgstr "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3601 #: build/C/man3/mkstemp.3:64
3602 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
3603 msgstr "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
3606 #: build/C/man3/mkstemp.3:70
3607 msgid "B<mkostemp>(): _GNU_SOURCE"
3608 msgstr "B<mkostemp>(): _GNU_SOURCE"
3611 #: build/C/man3/mkstemp.3:73
3612 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3613 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3616 #: build/C/man3/mkstemp.3:76
3617 msgid "B<mkostemps>(): _GNU_SOURCE"
3618 msgstr "B<mkostemps>(): _GNU_SOURCE"
3621 #: build/C/man3/mkstemp.3:83
3622 msgid "The B<mkstemp>() function generates a unique temporary filename from I<template>, creates and opens the file, and returns an open file descriptor for the file."
3623 msgstr "関数 B<mkstemp>() は引数 I<template> から他と重ならない一時ファイル名を生成し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みのファイルディスクリプターを返す。"
3626 #: build/C/man3/mkstemp.3:91
3627 msgid "The last six characters of I<template> must be \"XXXXXX\" and these are replaced with a string that makes the filename unique. Since it will be modified, I<template> must not be a string constant, but should be declared as a character array."
3628 msgstr "引数 I<template> で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 この部分がファイル名を他と重ならないようにする文字で置き換えられる。 I<template> は書き換えられるため、文字列定数ではなく文字配列として 宣言するようにしなければならない。"
3631 #: build/C/man3/mkstemp.3:99
3632 msgid "The file is created with permissions 0600, that is, read plus write for owner only. The returned file descriptor provides both read and write access to the file. The file is opened with the B<open>(2) B<O_EXCL> flag, guaranteeing that the caller is the process that creates the file."
3633 msgstr "ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である。返されるファイルディスクリプターで、このファイルへの読み書き両方のアクセスが 可能である。 呼び出し者がそのファイルを作成するプロセスであることを保証するために、 ファイルは B<open>(2) の B<O_EXCL> フラグ付きでオープンされる。"
3635 #. Reportedly, FreeBSD
3637 #: build/C/man3/mkstemp.3:130
3638 msgid "The B<mkostemp>() function is like B<mkstemp>(), with the difference that the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>. Note that when creating the file, B<mkostemp>() includes the values B<O_RDWR>, B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); including these values in the I<flags> argument given to B<mkostemp>() is unnecessary, and produces errors on some systems."
3639 msgstr "B<mkostemp>() 関数は B<mkstemp>() と同様だが、 I<flags> に B<O_APPEND>, B<O_CLOEXEC>, B<O_SYNC> のビットを指定できる点が異なる (意味は B<open>(2) と同じである)。ファイルを作成する際、 B<mkostemp>() は B<open>(2) に渡す I<flags> 引き数に B<O_RDWR>, B<O_CREAT>, B<O_EXCL> を含める。そのため、 B<mkostemp>() に渡す I<flags> 引き数にこれらの値を含める必要はなく、システムによってはエラーが発生する点に注意すること。"
3642 #: build/C/man3/mkstemp.3:146
3643 msgid "The B<mkstemps>() function is like B<mkstemp>(), except that the string in I<template> contains a suffix of I<suffixlen> characters. Thus, I<template> is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as for B<mkstemp>()."
3645 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
3646 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
3647 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
3648 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
3651 #: build/C/man3/mkstemp.3:155
3652 msgid "The B<mkostemps>() function is to B<mkstemps>() as B<mkostemp>() is to B<mkstemp>()."
3654 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
3655 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
3658 #: build/C/man3/mkstemp.3:161
3659 msgid "On success, these functions return the file descriptor of the temporary file. On error, -1 is returned, and I<errno> is set appropriately."
3660 msgstr "成功すると、これらの関数は一時ファイルのファイルディスクリプターを返す。 エラーの場合は、-1 を返し、 I<errno> を適切に設定する。"
3663 #: build/C/man3/mkstemp.3:162
3669 #: build/C/man3/mkstemp.3:166
3670 msgid "Could not create a unique temporary filename. Now the contents of I<template> are undefined."
3671 msgstr "すでに同じ名前を持つファイルが存在した。 I<template> の内容は不定である。"
3674 #: build/C/man3/mkstemp.3:174
3675 msgid "For B<mkstemp>() and B<mkostemp>(): The last six characters of I<template> were not XXXXXX; now I<template> is unchanged."
3677 "B<mkstemp>() と B<mkostemp>() の場合:\n"
3678 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
3679 "この場合、I<template> は変更されない。"
3682 #: build/C/man3/mkstemp.3:185
3683 msgid "For B<mkstemps>() and B<mkostemps>(): I<template> is less than I<(6 + suffixlen)> characters long, or the last 6 characters before the suffix in I<template> were not XXXXXX."
3685 "B<mkstemps>() と B<mkostemps>() の場合:\n"
3686 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
3687 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
3690 #: build/C/man3/mkstemp.3:188
3691 msgid "These functions may also fail with any of the errors described for B<open>(2)."
3692 msgstr "これらの関数は B<open>(2) に書かれているエラーのいずれかで失敗することもある。"
3695 #: build/C/man3/mkstemp.3:195
3696 msgid "B<mkostemp>() is available since glibc 2.7. B<mkstemps>() and B<mkostemps>() are available since glibc 2.11."
3698 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
3699 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
3702 #: build/C/man3/mkstemp.3:204
3703 msgid "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>() functions are thread-safe."
3704 msgstr "関数 B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), B<mkostemps>() はスレッドセーフである。"
3707 #: build/C/man3/mkstemp.3:207
3708 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
3709 msgstr "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
3711 #. mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
3714 #: build/C/man3/mkstemp.3:212
3715 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
3716 msgstr "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
3719 #: build/C/man3/mkstemp.3:217
3720 msgid "B<mkostemp>() and B<mkostemps>(): are glibc extensions."
3721 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
3724 #: build/C/man3/mkstemp.3:224
3725 msgid "In glibc versions 2.06 and earlier, the file is created with permissions 0666, that is, read and write for all users. This old behavior may be a security risk, especially since other UNIX flavors use 0600, and somebody might overlook this detail when porting programs. POSIX.1-2008 adds a requirement that the file be created with mode 0600."
3726 msgstr "glibc バージョン 2.06 以前では、ファイルは許可モード 0666 で作成され、全てのユーザーが読み書き可能であった。この古い動作は、 セキュリティ上のリスクになり得る。特に、他の UNIX では許可モードとして 0600 を使うため、プログラムを移植する際、この細かな違いを見落とす可能性があるからだ。 POSIX.1-2008 では、ファイルを許可モード 0600 で作成することが必須要件として追加された。"
3728 #. The prototype for
3732 #. for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
3735 #: build/C/man3/mkstemp.3:242
3736 msgid "More generally, the POSIX specification of B<mkstemp>() does not say anything about file modes, so the application should make sure its file mode creation mask (see B<umask>(2)) is set appropriately before calling B<mkstemp>() (and B<mkostemp>())."
3737 msgstr "より一般的には、 B<mkstemp>() の POSIX 規定ではファイルモードについて何も述べていない。 従って、アプリケーションは B<mkstemp>() (や B<mkostemp>()) を呼び出す前にファイルモード生成マスク (B<umask>(2) 参照) が適切に設定されているか確認するべきである。"
3740 #: build/C/man3/mkstemp.3:248
3741 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3742 msgstr "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3745 #: build/C/man3/mktemp.3:34
3751 #: build/C/man3/mktemp.3:37
3752 msgid "mktemp - make a unique temporary filename"
3753 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
3756 #: build/C/man3/mktemp.3:42
3758 msgid "B<char *mktemp(char *>I<template>B<);>\n"
3759 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
3762 #: build/C/man3/mktemp.3:50
3763 msgid "B<mktemp>():"
3764 msgstr "B<mktemp>():"
3767 #: build/C/man3/mktemp.3:59
3770 "_BSD_SOURCE || _SVID_SOURCE ||\n"
3771 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
3772 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
3773 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
3775 "_BSD_SOURCE || _SVID_SOURCE ||\n"
3776 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
3777 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
3778 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
3781 #: build/C/man3/mktemp.3:69
3782 msgid "I<Never use this function>; see NOTES."
3783 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
3786 #: build/C/man3/mktemp.3:80
3787 msgid "The B<mktemp>() function generates a unique temporary filename from I<template>. The last six characters of I<template> must be XXXXXX and these are replaced with a string that makes the filename unique. Since it will be modified, I<template> must not be a string constant, but should be declared as a character array."
3788 msgstr "関数 B<mktemp>() は引数 I<template> から他と重ならない テンポラリファイル名を作成する。引数 I<template> で指示する文字配列 の後6文字は XXXXXX である必要がある。この部分がファイル名を他と 重ならないにするような文字で置き換えられる。 I<template> は書き換えられるため、文字列定数ではなく文字配列として宣言するように しなければならない。"
3791 #: build/C/man3/mktemp.3:91
3792 msgid "The B<mktemp>() function always returns I<template>. If a unique name was created, the last six bytes of I<template> will have been modified in such a way that the resulting name is unique (i.e., does not exist already) If a unique name could not be created, I<template> is made an empty string, and I<errno> is set to indicate the error."
3793 msgstr "関数 B<mktemp>() は常に I<template> を戻す。 一意な名前が作成された場合、 I<template> の最後の 6 バイトに 他と重ならない名前 (それまでに出ていない名前) になるような値が格納される。 一意な名前が作成できなかった場合には、 I<template> には空文字列がセットされ、 I<errno> にエラーを示す値がセットされる。"
3796 #: build/C/man3/mktemp.3:95
3797 msgid "The last six characters of I<template> were not XXXXXX."
3798 msgstr "引数 I<template> で指示された文字列の後6文字が XXXXXX でない。"
3801 #. The prototype is in
3803 #. for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
3804 #. and has the prototype in
3807 #: build/C/man3/mktemp.3:105
3808 msgid "4.3BSD, POSIX.1-2001. POSIX.1-2008 removes the specification of B<mktemp>()."
3809 msgstr "4.3BSD, POSIX.1-2001. POSIX.1-2008 では B<mktemp>() の仕様が削除されている。"
3812 #: build/C/man3/mktemp.3:118
3813 msgid "Never use B<mktemp>(). Some implementations follow 4.3BSD and replace XXXXXX by the current process ID and a single letter, so that at most 26 different names can be returned. Since on the one hand the names are easy to guess, and on the other hand there is a race between testing whether the name exists and opening the file, every use of B<mktemp>() is a security risk. The race is avoided by B<mkstemp>(3)."
3814 msgstr "B<mktemp>() を決して使わないこと。4.3BSD 系の実装や XXXXXX を プロセス ID と1文字により置き換える方式ではせいぜい26の名前を返す ことができるにすぎない。 この名前は簡単に推測できることや、その名前がすでに存在しているかどうか テストして、そのファイルをオープンする間に競合がある事から、 B<mktemp>() を使うのは毎回セキュリティリスクをおかすことになる。 この競合は B<mkstemp>(3) を使うことで避けられる。"
3817 #: build/C/man3/mktemp.3:123
3818 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3819 msgstr "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3822 #: build/C/man3/on_exit.3:31
3828 #: build/C/man3/on_exit.3:34
3829 msgid "on_exit - register a function to be called at normal process termination"
3830 msgstr "on_exit - プロセスが正常に終了した際に呼ばれる関数を登録する"
3833 #: build/C/man3/on_exit.3:39
3835 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
3836 msgstr "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
3839 #: build/C/man3/on_exit.3:48
3840 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
3841 msgstr "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
3844 #: build/C/man3/on_exit.3:66
3845 msgid "The B<on_exit>() function registers the given I<function> to be called at normal process termination, whether via B<exit>(3) or via return from the program's I<main>(). The I<function> is passed the status argument given to the last call to B<exit>(3) and the I<arg> argument from B<on_exit>()."
3846 msgstr "B<on_exit>() 関数は、指定された関数 I<function> を、プロセスが 正常に終了した際に呼ばれる関数として登録する。正常な終了とは、 B<exit>(3) またはプログラムの I<main>() 関数の中の return 命令による終了である。 関数 I<function> には、直近の B<exit>(3) の呼び出しで渡された status 引数と B<on_exit>() の I<arg> 引数が渡される。"
3849 #: build/C/man3/on_exit.3:81
3850 msgid "The B<on_exit>() function returns the value 0 if successful; otherwise it returns a nonzero value."
3851 msgstr "B<on_exit>() 関数は、成功したら 0 を、そうでなければ 0 以外を返す。"
3854 #: build/C/man3/on_exit.3:87
3855 msgid "This function comes from SunOS 4, but is also present in glibc. It no longer occurs in Solaris (SunOS 5). Portable application should avoid this function, and use the standard B<atexit>(3) instead."
3856 msgstr "この関数は SunOS 4 由来であるが、 glibc にも存在する。 Solaris (SunOS 5) にはもはや存在しない。移植性が必要なアプリケーションではこの関数の使用は避け、代わりに標準の B<atexit>(3) を使うこと。"
3859 #: build/C/man3/on_exit.3:91
3860 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
3861 msgstr "B<_exit>(2), B<atexit>(3), B<exit>(3)"
3864 #: build/C/man3/putenv.3:36
3870 #: build/C/man3/putenv.3:39
3871 msgid "putenv - change or add an environment variable"
3872 msgstr "putenv - 環境変数の変更または追加"
3874 #. Not: const char *
3876 #: build/C/man3/putenv.3:45
3878 msgid "B<int putenv(char *>I<string>B<);>\n"
3879 msgstr "B<int putenv(char *>I<string>B<);>\n"
3882 #: build/C/man3/putenv.3:54
3883 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3884 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3887 #: build/C/man3/putenv.3:67
3888 msgid "The B<putenv>() function adds or changes the value of environment variables. The argument I<string> is of the form I<name>=I<value>. If I<name> does not already exist in the environment, then I<string> is added to the environment. If I<name> does exist, then the value of I<name> in the environment is changed to I<value>. The string pointed to by I<string> becomes part of the environment, so altering the string changes the environment."
3889 msgstr "B<putenv>() 関数は、環境変数の追加または値の変更を行う。 引数 I<string> は I<name>=I<value> という形式を取る。 I<name> が環境に存在しない場合は I<string> が環境に追加される。 I<name> が環境に存在する場合は I<name> の値は I<value> に変更される。 I<string> が指している文字列は環境の一部となるので、 文字列を変更すると環境も変更される。"
3892 #: build/C/man3/putenv.3:75
3893 msgid "The B<putenv>() function returns zero on success, or nonzero if an error occurs. In the event of an error, I<errno> is set to indicate the cause."
3894 msgstr "B<putenv>() 関数は、成功すると 0 を返し、エラーの場合は 0 以外の値を返す。エラーが発生した場合、 I<errno> に原因を示す値が設定される。"
3897 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
3903 #: build/C/man3/putenv.3:79
3904 msgid "Insufficient space to allocate new environment."
3905 msgstr "新しい環境を割り当てるのに十分な空きがない。"
3908 #: build/C/man3/putenv.3:81
3909 msgid "SVr4, POSIX.1-2001, 4.3BSD."
3910 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
3913 #. Description for libc4, libc5, glibc:
3914 #. If the argument \fIstring\fP is of the form \fIname\fP,
3915 #. and does not contain an \(aq=\(aq character, then the variable \fIname\fP
3916 #. is removed from the environment.
3919 #. has to allocate a new array \fIenviron\fP,
3920 #. and the previous array was also allocated by
3922 #. then it will be freed.
3923 #. In no case will the old storage associated
3924 #. to the environment variable itself be freed.
3926 #: build/C/man3/putenv.3:99
3927 msgid "The B<putenv>() function is not required to be reentrant, and the one in glibc 2.0 is not, but the glibc 2.1 version is."
3928 msgstr "B<putenv>() はリエントラントであることを求められていない。 glibc 2.0 ではリエントラントではない。 glibc 2.1 ではリエントラントである。"
3931 #: build/C/man3/putenv.3:114
3932 msgid "Since version 2.1.2, the glibc implementation conforms to SUSv2: the pointer I<string> given to B<putenv>() is used. In particular, this string becomes part of the environment; changing it later will change the environment. (Thus, it is an error is to call B<putenv>() with an automatic variable as the argument, then return from the calling function while I<string> is still part of the environment.) However, glibc versions 2.0 to 2.1.1 differ: a copy of the string is used. On the one hand this causes a memory leak, and on the other hand it violates SUSv2."
3933 msgstr "バージョン 2.1.2 以降では、 glibc の実装は SUSv2 に準拠している。 B<putenv>() で与えられたポインタ I<string> が使われる。 この文字列は環境の一部となり、後で変更すると環境も変わる。 (従って、 B<putenv>() を自動変数を引数として呼び出し、 I<string>が環境の一部のままで呼び出した関数から return するとエラーになる) しかし、glibc バージョン 2.0 から 2.1.1 まででは違っており、文字列のコピーが使われる。 これはメモリリークを引き起こすだけでなく、 SUSv2 にも違反している。"
3936 #: build/C/man3/putenv.3:116
3937 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
3938 msgstr "4.4BSD バージョンでは、glibc 2.0 と同様にコピーを使う。"
3941 #: build/C/man3/putenv.3:118
3942 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
3943 msgstr "SUSv2 ではプロトタイプから I<const> が取り除かれており、 glibc 2.1.3 もそのようになっている。"
3946 #: build/C/man3/putenv.3:124
3947 msgid "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
3948 msgstr "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
3951 #: build/C/man3/qecvt.3:28
3957 #: build/C/man3/qecvt.3:31
3958 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
3959 msgstr "qecvt, qfcvt, qgcvt - 浮動小数点数の文字列への変換"
3962 #: build/C/man3/qecvt.3:36
3963 msgid "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
3964 msgstr "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
3967 #: build/C/man3/qecvt.3:39
3968 msgid "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
3969 msgstr "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> B<int *>I<sign>B<);>"
3972 #: build/C/man3/qecvt.3:41
3973 msgid "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
3974 msgstr "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
3977 #: build/C/man3/qecvt.3:52
3978 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
3979 msgstr "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
3982 #: build/C/man3/qecvt.3:85
3983 msgid "The functions B<qecvt>(), B<qfcvt>(), and B<qgcvt>() are identical to B<ecvt>(3), B<fcvt>(3), and B<gcvt>(3) respectively, except that they use a I<long double> argument I<number>. See B<ecvt>(3) and B<gcvt>(3)."
3984 msgstr "関数 B<qecvt>(), B<qfcvt>(), B<qgcvt>() は、それぞれ B<ecvt>(3), B<fcvt>(3), B<gcvt>(3) と同じである。 引き数 I<number> が I<long double> 型である点だけが異なる。"
3987 #: build/C/man3/qecvt.3:92
3988 msgid "The B<qecvt>() and B<qfcvt>() functions are not thread-safe."
3989 msgstr "関数 B<qecvt>() と B<qfcvt>() はスレッドセーフではない。"
3992 #: build/C/man3/qecvt.3:96
3993 msgid "The B<qgcvt>() function is thread-safe."
3994 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
3996 #. Not supported by libc4 and libc5.
3998 #: build/C/man3/qecvt.3:102
3999 msgid "SVr4. Not seen in most common UNIX implementations, but occurs in SunOS. Supported by glibc."
4000 msgstr "SVr4. 多くの一般的な UNIX には実装されていないが、SunOS には実装されている。 glibc ではサポートされている。"
4003 #: build/C/man3/qecvt.3:107
4004 msgid "These functions are obsolete. Instead, B<snprintf>(3) is recommended."
4005 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
4008 #: build/C/man3/qecvt.3:112
4009 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
4010 msgstr "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
4013 #: build/C/man3/rand.3:41
4019 #: build/C/man3/rand.3:41
4025 #: build/C/man3/rand.3:44
4026 msgid "rand, rand_r, srand - pseudo-random number generator"
4027 msgstr "rand, srand - 乱数を生成する関数"
4030 #: build/C/man3/rand.3:49
4032 msgid "B<int rand(void);>\n"
4033 msgstr "B<int rand(void);>\n"
4036 #: build/C/man3/rand.3:51
4038 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4039 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4042 #: build/C/man3/rand.3:53
4044 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
4045 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
4048 #: build/C/man3/rand.3:62
4049 msgid "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
4050 msgstr "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
4053 #: build/C/man3/rand.3:68
4054 msgid "The B<rand>() function returns a pseudo-random integer in the range 0 to B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
4056 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
4057 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
4060 #: build/C/man3/rand.3:77
4061 msgid "The B<srand>() function sets its argument as the seed for a new sequence of pseudo-random integers to be returned by B<rand>(). These sequences are repeatable by calling B<srand>() with the same seed value."
4062 msgstr "B<srand>() 関数は、 B<rand>() 関数で作られる疑似乱数整数系列の新しい種として、 その引き数の値を使用する。 これらの関数を使用して作られた疑似乱数系列は、 同じ値を引き数として B<srand>() を呼ぶことで、 再現することが可能である。"
4065 #: build/C/man3/rand.3:81
4066 msgid "If no seed value is provided, the B<rand>() function is automatically seeded with a value of 1."
4067 msgstr "種の値が与えられない場合には、 B<rand>() 関数は 自動的に 1 を種とする。"
4070 #: build/C/man3/rand.3:92
4071 msgid "The function B<rand>() is not reentrant or thread-safe, since it uses hidden state that is modified on each call. This might just be the seed value to be used by the next call, or it might be something more elaborate. In order to get reproducible behavior in a threaded application, this state must be made explicit; this can be done using the reentrant function B<rand_r>()."
4073 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッドセーフではない。\n"
4074 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからである。\n"
4075 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものである。\n"
4076 "実際にはもう少し複雑かもしれないが。\n"
4077 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
4078 "この状態を明示的に指定できなければならない。これを行うには、\n"
4079 "再入可能な B<rand_r>() 関数を使用する。"
4082 #: build/C/man3/rand.3:108
4083 msgid "Like B<rand>(), B<rand_r>() returns a pseudo-random integer in the range [0,\\ B<RAND_MAX>]. The I<seedp> argument is a pointer to an I<unsigned int> that is used to store state between calls. If B<rand_r>() is called with the same initial value for the integer pointed to by I<seedp>, and that value is not modified between calls, then the same pseudo-random sequence will result."
4085 "B<rand>() と同様、 B<rand_r>() は [0,\\ B<RAND_MAX>] の範囲の疑似乱数整数を返す。\n"
4086 "I<seedp> 引き数は、B<rand_r>() の呼び出し間で状態を保持するために使用される\n"
4087 "I<unsigned int> へのポインタである。\n"
4088 "I<seedp> が指す整数に同じ初期値を B<rand_r>() を呼び出し、\n"
4089 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
4092 #: build/C/man3/rand.3:118
4093 msgid "The value pointed to by the I<seedp> argument of B<rand_r>() provides only a very small amount of state, so this function will be a weak pseudo-random generator. Try B<drand48_r>(3) instead."
4095 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空間\n"
4096 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
4097 "代わりに B<drand48_r>(3) を使ってみるとよい。"
4100 #: build/C/man3/rand.3:129
4101 msgid "The B<rand>() and B<rand_r>() functions return a value between 0 and B<RAND_MAX> (inclusive). The B<srand>() function returns no value."
4103 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
4104 "関数 B<srand>() は値を返さない。"
4107 #: build/C/man3/rand.3:141
4108 msgid "The functions B<rand>() and B<srand>() conform to SVr4, 4.3BSD, C89, C99, POSIX.1-2001. The function B<rand_r>() is from POSIX.1-2001. POSIX.1-2008 marks B<rand_r>() as obsolete."
4109 msgstr "関数 B<rand>() と B<srand>() は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠している。 関数 B<rand_r>() は POSIX.1-2001 に由来する。 POSIX.1-2008 は、 B<rand_r>() を廃止予定としている。"
4112 #: build/C/man3/rand.3:160
4113 msgid "The versions of B<rand>() and B<srand>() in the Linux C Library use the same random number generator as B<random>(3) and B<srandom>(3), so the lower-order bits should be as random as the higher-order bits. However, on older B<rand>() implementations, and on current implementations on different systems, the lower-order bits are much less random than the higher-order bits. Do not use this function in applications intended to be portable when good randomness is needed. (Use B<random>(3) instead.)"
4114 msgstr "B<rand>() と B<srand>() の Linux C Library 版は、 B<random>(3) と B<srandom>(3) の両関数と同じ乱数生成 アルゴリズムを使用している。そのため、下位のビットは上位のビットと 同じくらいにランダムである。 しかし、旧版の B<rand>() の実装や、他のシステムの現在の実装では、下位のビットが上位のビットほど ランダムになっていない。移植性を高める場合でも、精度の高い乱数が必要な アプリケーションではこの関数は使用してはいけない (代わりに B<random>(3) を使うこと)。"
4117 #: build/C/man3/rand.3:166
4118 msgid "POSIX.1-2001 gives the following example of an implementation of B<rand>() and B<srand>(), possibly useful when one needs the same sequence on two different machines."
4119 msgstr "POSIX 1003.1-2003 では、 B<rand>() と B<srand>() の実装例として以下を挙げている。これは、異なる2つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
4122 #: build/C/man3/rand.3:170
4124 msgid "static unsigned long next = 1;\n"
4125 msgstr "static unsigned long next = 1;\n"
4128 #: build/C/man3/rand.3:176
4131 "/* RAND_MAX assumed to be 32767 */\n"
4132 "int myrand(void) {\n"
4133 " next = next * 1103515245 + 12345;\n"
4134 " return((unsigned)(next/65536) % 32768);\n"
4137 "/* RAND_MAX を 32767 と仮定 */\n"
4138 "int myrand(void) {\n"
4139 " next = next * 1103515245 + 12345;\n"
4140 " return((unsigned)(next/65536) % 32768);\n"
4144 #: build/C/man3/rand.3:180
4147 "void mysrand(unsigned int seed) {\n"
4151 "void mysrand(unsigned int seed) {\n"
4156 #: build/C/man3/rand.3:187
4157 msgid "The following program can be used to display the pseudo-random sequence produced by B<rand>() when given a particular seed."
4159 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
4160 "B<rand>() が生成する疑似乱数系列を表示することができる。"
4163 #: build/C/man3/rand.3:192
4166 "#include E<lt>stdlib.hE<gt>\n"
4167 "#include E<lt>stdio.hE<gt>\n"
4169 "#include E<lt>stdlib.hE<gt>\n"
4170 "#include E<lt>stdio.hE<gt>\n"
4173 #: build/C/man3/rand.3:198
4177 "main(int argc, char *argv[])\n"
4179 " int j, r, nloops;\n"
4180 " unsigned int seed;\n"
4183 "main(int argc, char *argv[])\n"
4185 " int j, r, nloops;\n"
4186 " unsigned int seed;\n"
4189 #: build/C/man3/rand.3:203
4192 " if (argc != 3) {\n"
4193 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
4194 " exit(EXIT_FAILURE);\n"
4197 " if (argc != 3) {\n"
4198 " fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", argv[0]);\n"
4199 " exit(EXIT_FAILURE);\n"
4203 #: build/C/man3/rand.3:206
4206 " seed = atoi(argv[1]);\n"
4207 " nloops = atoi(argv[2]);\n"
4209 " seed = atoi(argv[1]);\n"
4210 " nloops = atoi(argv[2]);\n"
4213 #: build/C/man3/rand.3:212
4217 " for (j = 0; j E<lt> nloops; j++) {\n"
4219 " printf(\"%d\\en\", r);\n"
4223 " for (j = 0; j E<lt> nloops; j++) {\n"
4225 " printf(\"%d\\en\", r);\n"
4229 #: build/C/man3/rand.3:220
4230 msgid "B<drand48>(3), B<random>(3)"
4231 msgstr "B<drand48>(3), B<random>(3)"
4234 #: build/C/man3/random.3:33
4240 #: build/C/man3/random.3:36
4241 msgid "random, srandom, initstate, setstate - random number generator"
4242 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
4245 #: build/C/man3/random.3:41
4247 msgid "B<long int random(void);>\n"
4248 msgstr "B<long int random(void);>\n"
4251 #: build/C/man3/random.3:43
4253 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
4254 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
4257 #: build/C/man3/random.3:45
4259 msgid "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
4260 msgstr "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t >I<n>B<);>\n"
4263 #: build/C/man3/random.3:47
4265 msgid "B<char *setstate(char *>I<state>B<);>\n"
4266 msgstr "B<char *setstate(char *>I<state>B<);>\n"
4269 #: build/C/man3/random.3:59
4270 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
4271 msgstr "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
4274 #: build/C/man3/random.3:62
4275 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4276 msgstr "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4279 #: build/C/man3/random.3:73
4280 msgid "The B<random>() function uses a nonlinear additive feedback random number generator employing a default table of size 31 long integers to return successive pseudo-random numbers in the range from 0 to B<RAND_MAX>. The period of this random number generator is very large, approximately I<16\\ *\\ ((2^31)\\ -\\ 1)>."
4281 msgstr "B<random>() 関数は、非線形加法フィードバックを用いた乱数生成関数である。 この関数は、0 から B<RAND_MAX> までの疑似乱数を返す。 そのために 31 個のロング整数からなるデフォルトの表を使用する。 この乱数を生成する関数の周期はとても長く、およそ I<16\\ *\\ ((2^31)\\ -\\ 1)> である。"
4284 #: build/C/man3/random.3:87
4285 msgid "The B<srandom>() function sets its argument as the seed for a new sequence of pseudo-random integers to be returned by B<random>(). These sequences are repeatable by calling B<srandom>() with the same seed value. If no seed value is provided, the B<random>() function is automatically seeded with a value of 1."
4286 msgstr "B<srandom>() 関数は、 B<random>() で返される疑似乱数整数系列の種を設定する。 そのためには新しい種を引数にして B<srandom>() を呼べばよい。 B<random>() で生成される系列は、 引数に同じ種の値を用いて B<srandom>() を呼ぶことで再現可能である。 種の値が与えられない場合には B<random>() 関数は、自動的に 1 を種に設定する。"
4289 #: build/C/man3/random.3:102
4290 msgid "The B<initstate>() function allows a state array I<state> to be initialized for use by B<random>(). The size of the state array I<n> is used by B<initstate>() to decide how sophisticated a random number generator it should use\\(emthe larger the state array, the better the random numbers will be. I<seed> is the seed for the initialization, which specifies a starting point for the random number sequence, and provides for restarting at the same point."
4291 msgstr "B<initstate>() 関数は、 B<random>() で使用される状態配列 I<state> を初期化する。 B<initstate>() では、状態配列の大きさ I<n> は 使用する関数の乱数生成の性能の程度を決定するために使用される \\(em 状態配列が大きい程、乱数の性能はよくなる。 I<seed> は初期化のための種である。 これは乱数系列の開始位置を決定するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開することができる。"
4294 #: build/C/man3/random.3:118
4295 msgid "The B<setstate>() function changes the state array used by the B<random>() function. The state array I<state> is used for random number generation until the next call to B<initstate>() or B<setstate>(). I<state> must first have been initialized using B<initstate>() or be the result of a previous call of B<setstate>()."
4296 msgstr "B<setstate>() 関数は、 B<random>() で使用される状態配列を変更する。 状態配列 I<state> は、 B<initstate>() または B<setstate>() が 次に呼び出されるまで、乱数の生成に使用される。 I<state> は B<initstate>() を用いて最初に初期化されているか、 以前に呼び出した B<setstate>() の結果でなければならない。"
4299 #: build/C/man3/random.3:126
4300 msgid "The B<random>() function returns a value between 0 and B<RAND_MAX>. The B<srandom>() function returns no value."
4302 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
4303 "関数 B<srandom>() は値を返さない。"
4306 #: build/C/man3/random.3:133
4307 msgid "The B<initstate>() function returns a pointer to the previous state array. On error, I<errno> is set to indicate the cause."
4308 msgstr "関数 B<initstate>() は、変更前の状態配列へのポインタを返す。エラーの場合、 I<errno> に原因を示す値が設定される。"
4311 #: build/C/man3/random.3:140
4312 msgid "On success, B<setstate>() returns a pointer to the previous state array. On error, it returns NULL, with I<errno> set to indicate the cause of the error."
4313 msgstr "関数 B<setstate>() は、成功すると 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値が設定される。"
4316 #: build/C/man3/random.3:148
4317 msgid "The I<state> argument given to B<setstate>() was NULL."
4318 msgstr "B<setstate>() の引き数 I<state> が NULL であった。"
4321 #: build/C/man3/random.3:152
4322 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
4323 msgstr "B<initstate>() で8バイトよりも小さい状態配列を指定した。"
4326 #: build/C/man3/random.3:161
4327 msgid "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>() functions are thread-safe."
4328 msgstr "関数 B<random>(), B<srandom>(), B<initstate>(), B<setstate>() はスレッドセーフである。"
4331 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
4332 msgid "4.3BSD, POSIX.1-2001."
4333 msgstr "4.3BSD, POSIX.1-2001."
4336 #: build/C/man3/random.3:169
4337 msgid "Current \"optimal\" values for the size of the state array I<n> are 8, 32, 64, 128, and 256 bytes; other amounts will be rounded down to the nearest known amount. Using less than 8 bytes will cause an error."
4338 msgstr "状態配列 I<n> の大きさの現在の「最適」値は 8、32、64、128、256 バイトである。 その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。"
4341 #: build/C/man3/random.3:176
4342 msgid "This function should not be used in cases where multiple threads use B<random>() and the behavior should be reproducible. Use B<random_r>(3) for that purpose."
4343 msgstr "複数のスレッドが B<random>() を使うような状況では、この関数を使用すべきではない。 その場合には B<random_r>(3) を使うこと。"
4346 #: build/C/man3/random.3:183
4347 msgid "Random-number generation is a complex topic. I<Numerical Recipes in C: The Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, 2007, 3rd ed.) provides an excellent discussion of practical random-number generation issues in Chapter 7 (Random Numbers)."
4348 msgstr "乱数の生成は複雑な話題である。 I<Numerical Recipes in C: The Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, 2007, 3rd ed.) では実用的な乱数生成を論点とした優れた議論が第 7 章 (乱数) で展開されている。"
4351 #: build/C/man3/random.3:189
4352 msgid "For a more theoretical discussion which also covers many practical issues in depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
4353 msgstr "より理論的な議論については Donald E. Knuth の I<The Art of Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts: Addison-Wesley Publishing Company, 1981 の第 3 章 (乱数) を見よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
4355 #. http://sourceware.org/bugzilla/show_bug.cgi?id=15380
4357 #: build/C/man3/random.3:197
4358 msgid "According to POSIX, B<initstate>() should return NULL on error. In the glibc implementation, I<errno> is (as specified) set on error, but the function does not return NULL."
4359 msgstr "POSIX では、エラー時に B<initstate>() は NULL を返すべきとされている。 glibc の実装では、エラー時に I<errno> は仕様通りに設定されるが、関数の返り値は NULL ではない。"
4362 #: build/C/man3/random.3:202
4363 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
4364 msgstr "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
4367 #: build/C/man3/random_r.3:26
4373 #: build/C/man3/random_r.3:30
4374 msgid "random_r, srandom_r, initstate_r, setstate_r - reentrant random number generator"
4375 msgstr "random_r, srandom_r, initstate_r, setstate_r - リエントラントな 乱数生成器"
4378 #: build/C/man3/random_r.3:35
4380 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
4381 msgstr "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
4384 #: build/C/man3/random_r.3:37
4386 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
4387 msgstr "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
4390 #: build/C/man3/random_r.3:40
4393 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
4394 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
4396 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
4397 "B< size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
4400 #: build/C/man3/random_r.3:42
4402 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
4403 msgstr "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
4406 #: build/C/man3/random_r.3:54
4407 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
4408 msgstr "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
4411 #: build/C/man3/random_r.3:56
4412 msgid "_SVID_SOURCE || _BSD_SOURCE"
4413 msgstr "_SVID_SOURCE || _BSD_SOURCE"
4416 #: build/C/man3/random_r.3:64
4417 msgid "These functions are the reentrant equivalents of the functions described in B<random>(3). They are suitable for use in multithreaded programs where each thread needs to obtain an independent, reproducible sequence of random numbers."
4418 msgstr "これらの関数は、 B<random>(3) で説明されている関数のリエントラント版で、等価な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要があるような マルチスレッドプログラムでの使用に適している。"
4421 #: build/C/man3/random_r.3:75
4422 msgid "The B<random_r>() function is like B<random>(3), except that instead of using state information maintained in a global variable, it uses the state information in the argument pointed to by I<buf>. The generated random number is returned in the argument I<result>."
4423 msgstr "B<random_r>() 関数は B<random>(3) と同様だが、 大域変数 (global variable) で管理される状態情報を使うのではなく、 I<buf> が指す引き数に格納された状態情報を使う。 生成された乱数は引き数 I<result> に格納されて返される。"
4426 #: build/C/man3/random_r.3:84
4427 msgid "The B<srandom_r>() function is like B<srandom>(3), except that it initializes the seed for the random number generator whose state is maintained in the object pointed to by I<buf>, instead of the seed associated with the global state variable."
4428 msgstr "B<srandom_r>() 関数は B<srandom>(3) と同様だが、 大域変数で管理される状態に対応する乱数生成器の種ではなく、 I<buf> が指すオブジェクトで管理される状態に対応する乱数生成器の種を 初期化する。"
4431 #: build/C/man3/random_r.3:92
4432 msgid "The B<initstate_r>() function is like B<initstate>(3) except that it initializes the state in the object pointed to by I<buf>, rather than initializing the global state variable."
4433 msgstr "B<initstate_r>() 関数は B<initstate>(3) と同様だが、大域変数で管理される状態を初期化するのではなく、 I<buf> が指すオブジェクト内の状態を初期化する。"
4436 #: build/C/man3/random_r.3:100
4437 msgid "The B<setstate_r>() function is like B<setstate>(3) except that it modifies the state in the object pointer to by I<buf>, rather than modifying the global state variable."
4438 msgstr "B<setstate_r>() 関数は B<setstate>(3) と同様だが、大域変数で管理される状態を変更するのではなく、 I<buf> が指すオブジェクト内の状態を変更する。"
4441 #: build/C/man3/random_r.3:105
4442 msgid "All of these functions return 0 on success. On error, -1 is returned, with I<errno> set to indicate the cause of the error."
4443 msgstr "これらの関数はすべて、成功すると 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値がセットされる。"
4446 #: build/C/man3/random_r.3:110
4447 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
4448 msgstr "8 バイトより小さい状態配列が B<initstate_r>() に指定された。"
4451 #: build/C/man3/random_r.3:119
4452 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>() was NULL."
4453 msgstr "B<setstate_r>() の引き数 I<statebuf> か I<buf> が NULL であった。"
4456 #: build/C/man3/random_r.3:128
4457 msgid "The I<buf> or I<result> argument to B<random_r>() was NULL."
4458 msgstr "B<random_r>() の引き数 I<buf> か I<result> が NULL であった。"
4461 #: build/C/man3/random_r.3:137
4462 msgid "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>() functions are thread-safe."
4463 msgstr "関数 B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>() はスレッドセーフである。"
4465 #. These functions appear to be on Tru64, but don't seem to be on
4466 #. Solaris, HP-UX, or FreeBSD.
4468 #: build/C/man3/random_r.3:141
4469 msgid "These functions are nonstandard glibc extensions."
4470 msgstr "これらの関数は非標準で glibc による拡張である。"
4473 #: build/C/man3/rpmatch.3:29
4479 #: build/C/man3/rpmatch.3:32
4480 msgid "rpmatch - determine if the answer to a question is affirmative or negative"
4481 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
4484 #: build/C/man3/rpmatch.3:37
4486 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
4487 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
4490 #: build/C/man3/rpmatch.3:46
4491 msgid "B<rpmatch>(): _SVID_SOURCE"
4492 msgstr "B<rpmatch>(): _SVID_SOURCE"
4495 #: build/C/man3/rpmatch.3:50
4496 msgid "B<rpmatch>() handles a user response to yes or no questions, with support for internationalization."
4497 msgstr "B<rpmatch>() は yes/no の質問に対するユーザーからの応答を処理する。 国際化 (I18N) に対応している。"
4500 #: build/C/man3/rpmatch.3:57
4501 msgid "I<response> should be a null-terminated string containing a user-supplied response, perhaps obtained with B<fgets>(3) or B<getline>(3)."
4502 msgstr "I<response> にはユーザーからの応答を格納したヌル終端文字列が入っている必要がある。 たいていは、 B<fgets>(3) や B<getline>(3) で取り込んだものであろう。"
4505 #: build/C/man3/rpmatch.3:67
4506 msgid "The user's language preference is taken into account per the environment variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called B<setlocale>(3) to effect their changes."
4507 msgstr "プログラムが B<setlocale>(3) を呼び出して環境変数の変更を有効にした場合、 環境変数 B<LANG>, B<LC_MESSAGES>, B<LC_ALL> が ユーザーの言語設定として考慮される。"
4510 #: build/C/man3/rpmatch.3:73
4511 msgid "Regardless of the locale, responses matching B<^[Yy]> are always accepted as affirmative, and those matching B<^[Nn]> are always accepted as negative."
4512 msgstr "ロケールに関わらず、B<^[Yy]> にマッチする応答は常に肯定だと解釈され、 B<^[Nn]> にマッチする応答は常に否定だと解釈される。"
4515 #: build/C/man3/rpmatch.3:82
4516 msgid "After examining I<response>, B<rpmatch>() returns 0 for a recognized negative response (\"no\"), 1 for a recognized positive response (\"yes\"), and -1 when the value of I<response> is unrecognized."
4517 msgstr "I<response> を検査した後、 B<rpmatch>() は否定的な応答 (\"no\") と認識した場合は 0 を返し、 肯定的な応答 (\"yes\") と認識した場合は 1 を返す。 I<response> の値を解釈できなかった場合は -1 を返す。"
4520 #: build/C/man3/rpmatch.3:86
4521 msgid "A return value of -1 may indicate either an invalid input, or some other error. It is incorrect to only test if the return value is nonzero."
4522 msgstr "返り値 -1 が返った場合、入力が不正であったか、他の何らかのエラーが あったことを意味する。返り値が 0 以外かどうかを確認するだけでは 十分ではない。"
4525 #: build/C/man3/rpmatch.3:99
4526 msgid "B<rpmatch>() can fail for any of the reasons that B<regcomp>(3) or B<regexec>(3) can fail; the cause of the error is not available from I<errno> or anywhere else, but indicates a failure of the regex engine (but this case is indistinguishable from that of an unrecognized value of I<response>)."
4527 msgstr "B<rpmatch>() は、 B<regcomp>(3) や B<regexec>(3) が失敗する理由のどれかで失敗することがある。 エラーの原因を I<errno> や他の何かで知ることはできないが、 I<errno> は正規表現エンジンの失敗の原因を示している (但し、このケースと I<response> の値を認識できずに失敗した場合を区別することはできない)。"
4529 #. It is available on at least AIX 5.1 and FreeBSD 6.0.
4531 #: build/C/man3/rpmatch.3:104
4532 msgid "B<rpmatch>() is not required by any standard, but is available on a few other systems."
4533 msgstr "B<rpmatch>() はどの標準でも必須となっていないが、 Linux 以外にも利用できるシステムもいくつかは存在する。"
4536 #: build/C/man3/rpmatch.3:119
4537 msgid "The B<rpmatch>() implementation looks at only the first character of I<response>. As a consequence, \"nyes\" returns 0, and \"ynever; not in a million years\" returns 1. It would be preferable to accept input strings much more strictly, for example (using the extended regular expression notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and B<^([nN]|no|NO)$>."
4538 msgstr "B<rpmatch>() の実装は I<response> の最初の 1 文字だけを見ているようである。その結果、 \"nyes\" は 0 を返し、 \"ynever; not in a million years\" は 1 を返すことになる。 入力文字列をもっと厳密に解釈した方がよいだろう。 例えば、 (B<regex>(7) で説明されている拡張正規表現を使って) B<^([yY]|yes|YES)$> や B<^([nN]|no|NO)$> で解釈するなど。"
4541 #: build/C/man3/rpmatch.3:123
4542 msgid "The following program displays the results when B<rpmatch>() is applied to the string given in the program's command-line argument."
4543 msgstr "以下のプログラムは、コマンドライン引き数で 指定された文字列を B<rpmatch>() に渡した場合の結果を表示する。"
4546 #: build/C/man3/rpmatch.3:130
4549 "#define _SVID_SOURCE\n"
4550 "#include E<lt>locale.hE<gt>\n"
4551 "#include E<lt>stdlib.hE<gt>\n"
4552 "#include E<lt>string.hE<gt>\n"
4553 "#include E<lt>stdio.hE<gt>\n"
4555 "#define _SVID_SOURCE\n"
4556 "#include E<lt>locale.hE<gt>\n"
4557 "#include E<lt>stdlib.hE<gt>\n"
4558 "#include E<lt>string.hE<gt>\n"
4559 "#include E<lt>stdio.hE<gt>\n"
4562 #: build/C/man3/rpmatch.3:138
4566 "main(int argc, char *argv[])\n"
4568 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
4569 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
4570 " exit(EXIT_FAILURE);\n"
4574 "main(int argc, char *argv[])\n"
4576 " if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
4577 " fprintf(stderr, \"%s response\\en\", argv[0]);\n"
4578 " exit(EXIT_FAILURE);\n"
4582 #: build/C/man3/rpmatch.3:143
4585 " setlocale(LC_ALL, \"\");\n"
4586 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4587 " exit(EXIT_SUCCESS);\n"
4590 " setlocale(LC_ALL, \"\");\n"
4591 " printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4592 " exit(EXIT_SUCCESS);\n"
4596 #: build/C/man3/rpmatch.3:150
4597 msgid "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
4598 msgstr "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), B<setlocale>(3)"
4601 #: build/C/man3/setenv.3:37
4607 #: build/C/man3/setenv.3:37
4613 #: build/C/man3/setenv.3:40
4614 msgid "setenv - change or add an environment variable"
4615 msgstr "setenv - 環境変数を変更または追加する"
4618 #: build/C/man3/setenv.3:45
4620 msgid "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
4621 msgstr "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int >I<overwrite>B<);>\n"
4624 #: build/C/man3/setenv.3:47
4626 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
4627 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
4630 #: build/C/man3/setenv.3:57
4631 msgid "B<setenv>(), B<unsetenv>():"
4632 msgstr "B<setenv>(), B<unsetenv>():"
4635 #: build/C/man3/setenv.3:59
4636 msgid "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600"
4637 msgstr "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600"
4640 #: build/C/man3/setenv.3:94
4641 msgid "The B<setenv>() function adds the variable I<name> to the environment with the value I<value>, if I<name> does not already exist. If I<name> does exist in the environment, then its value is changed to I<value> if I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> is not changed (and B<setenv>() returns a success status). This function makes copies of the strings pointed to by I<name> and I<value> (by contrast with B<putenv>(3))."
4642 msgstr "B<setenv>() 関数は、I<name> が存在しない場合 環境変数 I<name> に値 I<value> を設定し、環境に追加する。 I<name> が環境に存在する場合、I<overwrite> が 0 以外ならば その値を I<value> に変更し、I<overwrite> が 0 ならば I<name> の値を変更しない (B<setenv>() は成功のステータスを返す)。 この関数は、 (B<putenv>(3) と違い) I<name> と I<value> により参照される文字列のコピーを行う。"
4645 #: build/C/man3/setenv.3:105
4646 msgid "The B<unsetenv>() function deletes the variable I<name> from the environment. If I<name> does not exist in the environment, then the function succeeds, and the environment is unchanged."
4647 msgstr "B<unsetenv>() 関数は、変数 I<name> を環境から削除する。 I<name> が環境にない場合、この関数は成功し、環境は変更されない。"
4650 #: build/C/man3/setenv.3:112
4651 msgid "The B<setenv>() function returns zero on success, or -1 on error, with I<errno> set to indicate the cause of the error."
4652 msgstr "B<setenv>() 関数は、成功すると 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値がセットされる。"
4655 #: build/C/man3/setenv.3:119
4656 msgid "The B<unsetenv>() function returns zero on success, or -1 on error, with I<errno> set to indicate the cause of the error."
4657 msgstr "B<unsetenv>() 関数は、成功すると 0 を返す。 エラーの場合は -1 を返し、 I<errno> を設定してエラーの原因を示す。"
4660 #: build/C/man3/setenv.3:125
4661 msgid "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq character."
4662 msgstr "I<name> が NULL であるか、長さが 0 の文字列を指しているか、 \\(aq=\\(aq 文字が含まれている。"
4665 #: build/C/man3/setenv.3:128
4666 msgid "Insufficient memory to add a new variable to the environment."
4667 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
4670 #: build/C/man3/setenv.3:136
4671 msgid "POSIX.1-2001 does not require B<setenv>() or B<unsetenv>() to be reentrant."
4672 msgstr "POSIX.1-2001 は、 B<setenv>() や B<unsetenv>() がリエントラント (再入可能) であることを要求していない。"
4675 #: build/C/man3/setenv.3:144
4676 msgid "Prior to glibc 2.2.2, B<unsetenv>() was prototyped as returning I<void>; more recent glibc versions follow the POSIX.1-2001-compliant prototype shown in the SYNOPSIS."
4677 msgstr "glibc 2.2.2 以前では、 B<unsetenv>() は 返り値が I<void> のプロトタイプであった。 もっと最近の glibc 版は、「書式」セクションで示しているように POSIX.1-2001 互換のプロトタイプである。"
4680 #: build/C/man3/setenv.3:153
4681 msgid "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, then B<setenv>() should fail with the error B<EINVAL>; however, versions of glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
4682 msgstr "POSIX.1-2001 では 「I<name> に \\(aq=\\(aq 文字が含まれる場合、 B<setenv>() はエラー B<EINVAL> で失敗すべきである」と述べられている。 しかし 2.3.4 より前のバージョンの glibc では、 I<name> に \\(aq=\\(aq 文字が含まれるのを許している。"
4685 #: build/C/man3/setenv.3:158
4686 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
4687 msgstr "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
4690 #: build/C/man3/strtod.3:45
4696 #: build/C/man3/strtod.3:48
4697 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
4698 msgstr "strtod, strtof, strtold - ASCII 文字列を浮動小数点実数に変換する"
4701 #: build/C/man3/strtod.3:52
4702 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4703 msgstr "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4706 #: build/C/man3/strtod.3:54
4707 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4708 msgstr "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4711 #: build/C/man3/strtod.3:56
4712 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4713 msgstr "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
4716 #: build/C/man3/strtod.3:65
4717 msgid "B<strtof>(), B<strtold>():"
4718 msgstr "B<strtof>(), B<strtold>():"
4721 #: build/C/man3/strtod.3:87
4722 msgid "The B<strtod>(), B<strtof>(), and B<strtold>() functions convert the initial portion of the string pointed to by I<nptr> to I<double>, I<float>, and I<long double> representation, respectively."
4723 msgstr "B<strtod>(), B<strtof>(), B<strtold>() 関数は、 I<nptr> が指し示す文字列のはじめの部分を I<double>, I<float>, I<long double> 型の値にそれぞれ変換する。"
4726 #: build/C/man3/strtod.3:94
4727 msgid "The expected form of the (initial portion of the) string is optional leading white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
4728 msgstr "入力する文字列 (の先頭部分) は以下の形式が期待されている。 先頭にホワイトスペース、 次にプラス (\\(aq+\\(aq) またはマイナス (\\(aq-\\(aq) の記号、 その後に (i) 10 進数、(ii) 16 進数、(iii) 無限、 (iv) NAN (計算できない数、not-a-number) のいずれかがある (ホワイトスペース、符号は省略可能。 ホワイトスペースは B<isspace>(3) で識別される)。"
4731 #: build/C/man3/strtod.3:103
4732 msgid "A I<decimal number> consists of a nonempty sequence of decimal digits possibly containing a radix character (decimal point, locale-dependent, usually \\(aq.\\(aq), optionally followed by a decimal exponent. A decimal exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional plus or minus sign, followed by a nonempty sequence of decimal digits, and indicates multiplication by a power of 10."
4733 msgstr "I<10 進数> は 1 文字以上の 10 進の数字の列からなり、 基を表す文字 (radix charater) (小数点。ロケールに依存するが、通常は \\(aq.\\(aq) が含まれることもある。 この後に 10 進の指数部が続いても良い。 10 進の指数部は \\(aqE\\(aq または \\(aqe\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列からなり、 10 の何乗であるかを表す。"
4736 #: build/C/man3/strtod.3:114
4737 msgid "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a nonempty sequence of hexadecimal digits possibly containing a radix character, optionally followed by a binary exponent. A binary exponent consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or minus sign, followed by a nonempty sequence of decimal digits, and indicates multiplication by a power of 2. At least one of radix character and binary exponent must be present."
4738 msgstr "I<16 進数> は、\"0x\" または \"0X\" とその後に続く 1 文字以上の 16 進の数字の列からなり、 基を表す文字が含まれることもある。 この後に 2 進の指数部が続いても良い。 2 進の指数部は \\(aqP\\(aq または \\(aqp\\(aq と、その後に置かれる正負記号 (省略可)、 およびその後に続く 1 文字以上の 10 進の数字の列から構成され、 2 の何乗であるかを表す。 基を表す文字と 2 進の指数部は、どちらか一方しか存在してはならない。"
4741 #: build/C/man3/strtod.3:118
4742 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
4743 msgstr "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
4746 #: build/C/man3/strtod.3:127
4747 msgid "A I<NAN> is \"NAN\" (disregarding case) optionally followed by a string, I<(n-char-sequence)>, where I<n-char-sequence> specifies in an implementation-dependent way the type of NAN (see NOTES)."
4748 msgstr "I<NAN> は \"NAN\" (大文字小文字は区別されない) で表され、 その後に文字列 I<(n-char-sequence)> が続く場合もある。 I<(n-char-sequence)> は実装に依存する NAN の型を指定する。"
4751 #: build/C/man3/strtod.3:129
4752 msgid "These functions return the converted value, if any."
4753 msgstr "これらの関数は、変換された値があれば、それを返す。"
4756 #: build/C/man3/strtod.3:136
4757 msgid "If I<endptr> is not NULL, a pointer to the character after the last character used in the conversion is stored in the location referenced by I<endptr>."
4758 msgstr "I<endptr> が NULL でないときは、変換に使われた最終文字の次の文字へのポインターが I<endptr> で参照される場所へ保存される。"
4761 #: build/C/man3/strtod.3:141
4762 msgid "If no conversion is performed, zero is returned and the value of I<nptr> is stored in the location referenced by I<endptr>."
4763 msgstr "変換が行われなかったときには 0 が返る。そして I<endptr> が参照している場所に I<nptr> の値 (変換対象である文字列の開始アドレス) が保存される。"
4766 #: build/C/man3/strtod.3:155
4767 msgid "If the correct value would cause overflow, plus or minus B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>) is returned (according to the sign of the value), and B<ERANGE> is stored in I<errno>. If the correct value would cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
4768 msgstr "正しい形式の数値文字列であるが、変換結果がオーバーフローを起こした場合 には、プラスまたはマイナスの B<HUGE_VAL> (B<HUGE_VALF>, B<HUGE_VALL>) が返り (値の符号による)、 B<ERANGE> が I<errno> に代入される。変換結果がアンダーフローを起こした場合には 0 が返り、 B<ERANGE> が I<errno> に代入される。"
4771 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
4772 #: build/C/man3/strtoul.3:155
4778 #: build/C/man3/strtod.3:159
4779 msgid "Overflow or underflow occurred."
4780 msgstr "オーバーフローまたはアンダーフローが起こった。"
4783 #: build/C/man3/strtod.3:171
4784 msgid "The B<strtod>(), B<strtof>(), and B<strtold>() functions are thread-safe with exceptions. These functions can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during their execution."
4785 msgstr "関数 B<strtod>(), B<strtof>(), B<strtold>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4788 #: build/C/man3/strtod.3:176
4789 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
4790 msgstr "C89 では B<strtod>() が、C99 では残りの 2 つの関数が記述されている。"
4793 #: build/C/man3/strtod.3:185
4794 msgid "Since 0 can legitimately be returned on both success and failure, the calling program should set I<errno> to 0 before the call, and then determine if an error occurred by checking whether I<errno> has a nonzero value after the call."
4795 msgstr "成功、失敗どちらの場合でも 0 を返す可能性があるので、 プログラムは呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
4797 #. From glibc 2.8's stdlib/strtod_l.c:
4798 #. We expect it to be a number which is put in the
4799 #. mantissa of the number.
4800 #. It looks as though at least FreeBSD (according to the manual) does
4801 #. something similar.
4802 #. C11 says: "An implementation may use the n-char sequence to determine
4803 #. extra information to be represented in the NaN's significant."
4805 #: build/C/man3/strtod.3:200
4806 msgid "In the glibc implementation, the I<n-char-sequence> that optionally follows \"NAN\" is interpreted as an integer number (with an optional '0' or '0x' prefix to select base 8 or 16) that is to be placed in the mantissa component of the returned value."
4807 msgstr "glibc の実装では、\"NAN\" の後ろに置くことができる I<n-char-sequence> は、整数値として解釈される (基数の 8 や 16 を示す '0' や '0x' を接頭辞として付けることができる)。 この整数値は返り値の仮数部として使われる。"
4810 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
4811 msgid "See the example on the B<strtol>(3) manual page; the use of the functions described in this manual page is similar."
4812 msgstr "B<strtol>(3) のマニュアルページの例を参照。 このページで説明した関数の使用方法も同様である。"
4815 #: build/C/man3/strtod.3:214
4816 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), B<strtol>(3), B<strtoul>(3)"
4817 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), B<strtol>(3), B<strtoul>(3)"
4820 #: build/C/man3/strtoimax.3:24
4826 #: build/C/man3/strtoimax.3:27
4827 msgid "strtoimax, strtoumax - convert string to integer"
4828 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
4831 #: build/C/man3/strtoimax.3:30
4833 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
4834 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
4837 #: build/C/man3/strtoimax.3:32
4839 msgid "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4840 msgstr "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4843 #: build/C/man3/strtoimax.3:34
4845 msgid "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4846 msgstr "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4849 #: build/C/man3/strtoimax.3:45
4850 msgid "These functions are just like B<strtol>(3) and B<strtoul>(3), except that they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
4851 msgstr "これらの関数はちょうど B<strtol>(3) と B<strtoul>(3) に似ているが、それぞれ I<intmax_t> と I<uintmax_t> 型の値を返す。"
4854 #: build/C/man3/strtoimax.3:58
4855 msgid "On success, the converted value is returned. If nothing was found to convert, zero is returned. On overflow or underflow B<INTMAX_MAX> or B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to B<ERANGE>."
4856 msgstr "成功した場合、変換された値が返される。 変換するものが見つからなかった場合、0 が返される。 オーバーフローまたはアンダーフローの場合、 B<INTMAX_MAX> または B<INTMAX_MIN> または B<UINTMAX_MAX> が返され、 I<errno> が B<ERANGE> に設定される。"
4859 #: build/C/man3/strtoimax.3:69
4860 msgid "The B<strtoimax>() and B<strtoumax>() functions are thread-safe with exceptions. These functions can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during their execution."
4861 msgstr "関数 B<strtoimax>() と B<strtoumax>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4864 #: build/C/man3/strtoimax.3:77
4865 msgid "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
4866 msgstr "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
4869 #: build/C/man3/strtol.3:31
4875 #: build/C/man3/strtol.3:34
4876 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
4877 msgstr "strtol, strtoll, strtoq - 文字列を long int に変換する"
4880 #: build/C/man3/strtol.3:39
4882 msgid "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4883 msgstr "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4886 #: build/C/man3/strtol.3:42
4888 msgid "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4889 msgstr "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4892 #: build/C/man3/strtol.3:51
4893 msgid "B<strtoll>():"
4894 msgstr "B<strtoll>():"
4897 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
4898 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
4899 msgstr "XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
4902 #: build/C/man3/strtol.3:68
4903 msgid "The B<strtol>() function converts the initial part of the string in I<nptr> to a long integer value according to the given I<base>, which must be between 2 and 36 inclusive, or be the special value 0."
4904 msgstr "B<strtol>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として long int に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を持つ値 0 でなければならない。"
4907 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
4908 msgid "The string may begin with an arbitrary amount of white space (as determined by B<isspace>(3)) followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq sign. If I<base> is zero or 16, the string may then include a \"0x\" prefix, and the number will be read in base 16; otherwise, a zero I<base> is taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which case it is taken as 8 (octal)."
4909 msgstr "文字列の先頭には、任意の数の空白があってもよく (空白は B<isspace>(3) で判定される)、また数字の直前には \\(aq+\\(aq か \\(aq-\\(aq の 符号があってもよい。 I<base> が 0 または 16 の場合には、文字列の先頭に \"0x\" を置くことが でき、その場合には文字列は 16進数として扱われる。 これ以外の文字列で I<base> が 0 の場合は、 文字列が \\(aq0\\(aq で始まるときは 8進数として、 それ以外のときは 10進数として扱われる。"
4912 #: build/C/man3/strtol.3:90
4913 msgid "The remainder of the string is converted to a I<long int> value in the obvious manner, stopping at the first character which is not a valid digit in the given base. (In bases above 10, the letter \\(aqA\\(aq in either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so forth, with \\(aqZ\\(aq representing 35.)"
4914 msgstr "数字を表す文字列は I<long int> に変換されるが、基数に対して 有効でない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し、 以下同様に、 \\(aqZ\\(aq は 35 を表す。)"
4917 #: build/C/man3/strtol.3:111
4918 msgid "If I<endptr> is not NULL, B<strtol>() stores the address of the first invalid character in I<*endptr>. If there were no digits at all, B<strtol>() stores the original value of I<nptr> in I<*endptr> (and returns 0). In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
4919 msgstr "I<endptr> がヌル値 (NULL) でない場合は、最初に現れた不正な文字が B<strtol>() によって I<*endptr> に保存されている。 文字列に有効な数字がひとつもなければ、 B<strtol>() は I<nptr> の元の値を I<*endptr> に代入する (そして 0 を返す)。 特に、I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
4922 #: build/C/man3/strtol.3:117
4923 msgid "The B<strtoll>() function works just like the B<strtol>() function but returns a long long integer value."
4924 msgstr "B<strtoll>() 関数は B<strtol>() と同様だが、long long int 型の値を返す。"
4927 #: build/C/man3/strtol.3:144
4928 msgid "The B<strtol>() function returns the result of the conversion, unless the value would underflow or overflow. If an underflow occurs, B<strtol>() returns B<LONG_MIN>. If an overflow occurs, B<strtol>() returns B<LONG_MAX>. In both cases, I<errno> is set to B<ERANGE>. Precisely the same holds for B<strtoll>() (with B<LLONG_MIN> and B<LLONG_MAX> instead of B<LONG_MIN> and B<LONG_MAX>)."
4929 msgstr "アンダーフローもオーバーフローも起きなかった場合、 B<strtol>() 関数は 変換された値を返す。オーバーフローした場合には B<LONG_MAX> が返り、 アンダーフローした場合には B<LONG_MIN> が返る。オーバーフロー、 アンダーフローのいずれの場合にも 大域変数 I<errno> には B<ERANGE> が設定される。 B<strtoll>() も同様であるが、 B<LONG_MIN> と B<LONG_MAX> の代わりに B<LLONG_MIN> と B<LLONG_MAX> が返される。"
4932 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
4933 msgid "(not in C99) The given I<base> contains an unsupported value."
4934 msgstr "(C99 にはない) 指定された I<base> がサポートされていない値である。"
4937 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
4938 msgid "The resulting value was out of range."
4939 msgstr "結果の値が範囲外である。"
4942 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
4943 msgid "The implementation may also set I<errno> to B<EINVAL> in case no conversion was performed (no digits seen, and 0 returned)."
4944 msgstr "実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 I<errno> に B<EINVAL> が設定される場合がある。"
4947 #: build/C/man3/strtol.3:173
4948 msgid "The B<strtol>(), B<strtoll>(), and B<strtoq>() functions are thread-safe with exceptions. These functions can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during their execution."
4949 msgstr "関数 B<strtol>(), B<strtoll>(), B<strtoq>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4952 #: build/C/man3/strtol.3:178
4953 msgid "B<strtol>() conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and B<strtoll>() to C99 and POSIX.1-2001."
4954 msgstr "B<strtol>() は SVr4, 4.3BSD, C89, C99 と POSIX.1-2001 に準拠している。 B<strtoll>() は C99 と POSIX.1-2001 に準拠している。"
4957 #: build/C/man3/strtol.3:196
4958 msgid "Since B<strtol>() can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> (B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>()) on both success and failure, the calling program should set I<errno> to 0 before the call, and then determine if an error occurred by checking whether I<errno> has a nonzero value after the call."
4959 msgstr "B<strtol ()> からは成功、失敗どちらの場合でも 0, B<LONG_MAX>, B<LONG_MIN> (B<strtoll>() では B<LLONG_MAX>, B<LLONG_MIN>) が返る可能性があるので、 プログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
4962 #: build/C/man3/strtol.3:201
4963 msgid "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", these functions may accept other, implementation-defined numeric strings."
4964 msgstr "POSIX.1-2001 では、 \"C\" と \"POSIX\" 以外のロケールでは、これらの関数は、他の実装時に定義される数字を示す文字列を受け付けるとされている。"
4967 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
4968 msgid "BSD also has"
4972 #: build/C/man3/strtol.3:207
4974 msgid "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4975 msgstr "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
4978 #: build/C/man3/strtol.3:216
4979 msgid "with completely analogous definition. Depending on the wordsize of the current architecture, this may be equivalent to B<strtoll>() or to B<strtol>()."
4980 msgstr "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第であるが、この関数は B<strtoll>() か B<strtol>() と等価となることもある。"
4983 #: build/C/man3/strtol.3:230
4984 msgid "The program shown below demonstrates the use of B<strtol>(). The first command-line argument specifies a string from which B<strtol>() should parse a number. The second (optional) argument specifies the base to be used for the conversion. (This argument is converted to numeric form using B<atoi>(3), a function that performs no error checking and has a simpler interface than B<strtol>().) Some examples of the results produced by this program are the following:"
4985 msgstr "以下のプログラムは B<strtol>() の使用例である。 最初のコマンドライン引き数には B<strtol>() が数字として解釈する文字列を指定する。 (省略可能な) 二番目の引き数には 変換に使用される基数を指定する (この引き数は B<atoi>(3) を使って数値に変換される。 B<atoi>(3) は B<strtol>() よりも簡単なインタフェースを持つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をいくつか以下に示す:"
4988 #: build/C/man3/strtol.3:246
4991 "$B< ./a.out 123>\n"
4992 "strtol() returned 123\n"
4993 "$B< ./a.out \\(aq 123\\(aq>\n"
4994 "strtol() returned 123\n"
4995 "$B< ./a.out 123abc>\n"
4996 "strtol() returned 123\n"
4997 "Further characters after number: abc\n"
4998 "$B< ./a.out 123abc 55>\n"
4999 "strtol: Invalid argument\n"
5000 "$B< ./a.out \\(aq\\(aq>\n"
5001 "No digits were found\n"
5002 "$B< ./a.out 4000000000>\n"
5003 "strtol: Numerical result out of range\n"
5005 "$B< ./a.out 123>\n"
5006 "strtol() returned 123\n"
5007 "$B< ./a.out \\(aq 123\\(aq>\n"
5008 "strtol() returned 123\n"
5009 "$B< ./a.out 123abc>\n"
5010 "strtol() returned 123\n"
5011 "Further characters after number: abc\n"
5012 "$B< ./a.out 123abc 55>\n"
5013 "strtol: Invalid argument\n"
5014 "$B< ./a.out \\(aq\\(aq>\n"
5015 "No digits were found\n"
5016 "$B< ./a.out 4000000000>\n"
5017 "strtol: Numerical result out of range\n"
5020 #: build/C/man3/strtol.3:255
5023 "#include E<lt>stdlib.hE<gt>\n"
5024 "#include E<lt>limits.hE<gt>\n"
5025 "#include E<lt>stdio.hE<gt>\n"
5026 "#include E<lt>errno.hE<gt>\n"
5028 "#include E<lt>stdlib.hE<gt>\n"
5029 "#include E<lt>limits.hE<gt>\n"
5030 "#include E<lt>stdio.hE<gt>\n"
5031 "#include E<lt>errno.hE<gt>\n"
5034 #: build/C/man3/strtol.3:262
5038 "main(int argc, char *argv[])\n"
5041 " char *endptr, *str;\n"
5045 "main(int argc, char *argv[])\n"
5048 " char *endptr, *str;\n"
5052 #: build/C/man3/strtol.3:267
5055 " if (argc E<lt> 2) {\n"
5056 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5057 " exit(EXIT_FAILURE);\n"
5060 " if (argc E<lt> 2) {\n"
5061 " fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5062 " exit(EXIT_FAILURE);\n"
5066 #: build/C/man3/strtol.3:270
5070 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5073 " base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5076 #: build/C/man3/strtol.3:273
5079 " errno = 0; /* To distinguish success/failure after call */\n"
5080 " val = strtol(str, &endptr, base);\n"
5082 " errno = 0; /* To distinguish success/failure after call */\n"
5083 " val = strtol(str, &endptr, base);\n"
5086 #: build/C/man3/strtol.3:275
5088 msgid " /* Check for various possible errors */\n"
5089 msgstr " /* Check for various possible errors */\n"
5092 #: build/C/man3/strtol.3:281
5095 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
5096 " || (errno != 0 && val == 0)) {\n"
5097 " perror(\"strtol\");\n"
5098 " exit(EXIT_FAILURE);\n"
5101 " if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
5102 " || (errno != 0 && val == 0)) {\n"
5103 " perror(\"strtol\");\n"
5104 " exit(EXIT_FAILURE);\n"
5108 #: build/C/man3/strtol.3:286
5111 " if (endptr == str) {\n"
5112 " fprintf(stderr, \"No digits were found\\en\");\n"
5113 " exit(EXIT_FAILURE);\n"
5116 " if (endptr == str) {\n"
5117 " fprintf(stderr, \"No digits were found\\en\");\n"
5118 " exit(EXIT_FAILURE);\n"
5122 #: build/C/man3/strtol.3:288
5124 msgid " /* If we got here, strtol() successfully parsed a number */\n"
5125 msgstr " /* If we got here, strtol() successfully parsed a number */\n"
5128 #: build/C/man3/strtol.3:290
5130 msgid " printf(\"strtol() returned %ld\\en\", val);\n"
5131 msgstr " printf(\"strtol() returned %ld\\en\", val);\n"
5134 #: build/C/man3/strtol.3:293
5137 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
5138 " printf(\"Further characters after number: %s\\en\", endptr);\n"
5140 " if (*endptr != \\(aq\\e0\\(aq) /* Not necessarily an error... */\n"
5141 " printf(\"Further characters after number: %s\\en\", endptr);\n"
5144 #: build/C/man3/strtol.3:303
5145 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
5146 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
5149 #: build/C/man3/strtoul.3:33
5155 #: build/C/man3/strtoul.3:36
5156 msgid "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
5157 msgstr "strtoul, strtoull, strtouq - 文字列を unsigned long int に変換する"
5160 #: build/C/man3/strtoul.3:42
5162 msgid "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5163 msgstr "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5166 #: build/C/man3/strtoul.3:45
5169 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5170 "B< int >I<base>B<);>\n"
5172 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5173 "B< int >I<base>B<);>\n"
5176 #: build/C/man3/strtoul.3:54
5177 msgid "B<strtoull>():"
5178 msgstr "B<strtoull>():"
5181 #: build/C/man3/strtoul.3:75
5182 msgid "The B<strtoul>() function converts the initial part of the string in I<nptr> to an I<unsigned long int> value according to the given I<base>, which must be between 2 and 36 inclusive, or be the special value 0."
5183 msgstr "B<strtoul>() 関数は、 I<nptr> の文字列の最初の部分を、 I<base> を基数として I<unsigned long int> に変換する。 この I<base> は 2 から 36 までの値 あるいは特別な意味を持つ値 0 でなければならない。"
5186 #: build/C/man3/strtoul.3:98
5187 msgid "The remainder of the string is converted to an I<unsigned long int> value in the obvious manner, stopping at the first character which is not a valid digit in the given base. (In bases above 10, the letter \\(aqA\\(aq in either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so forth, with \\(aqZ\\(aq representing 35.)"
5188 msgstr "文字列の残りの部分は I<unsigned long int> に変換されるが、基数に対して 有効でない数字が現れた時点で変換は終了する。(11進数以上では \\(aqA\\(aq は 大文字・小文字に関わらず 10 を表し、 \\(aqB\\(aq は 11 を表現し, 以下同様に、 \\(aqZ\\(aq は 35 を表す。)"
5191 #: build/C/man3/strtoul.3:119
5192 msgid "If I<endptr> is not NULL, B<strtoul>() stores the address of the first invalid character in I<*endptr>. If there were no digits at all, B<strtoul>() stores the original value of I<nptr> in I<*endptr> (and returns 0). In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
5193 msgstr "I<endptr> がヌル値 (NULL) でない場合、 B<strtoul>() は最初に不正な文字が現れたアドレスを I<*endptr> に格納している。 文字列に有効な数字がひとつもなければ、 B<strtoul>() は I<nptr> の元の値を I<*endptr> に代入する(そして 0 を返す)。 特に、 I<*nptr> が \\(aq\\e0\\(aq 以外で、返された I<**endptr> が \\(aq\\e0\\(aq ならば、文字列全体が有効だったことになる。"
5196 #: build/C/man3/strtoul.3:127
5197 msgid "The B<strtoull>() function works just like the B<strtoul>() function but returns an I<unsigned long long int> value."
5198 msgstr "B<strtoull>() 関数は B<strtoul>() 関数と同様だが、 I<unsigned long long int> 型の値を返す。"
5201 #: build/C/man3/strtoul.3:148
5202 msgid "The B<strtoul>() function returns either the result of the conversion or, if there was a leading minus sign, the negation of the result of the conversion represented as an unsigned value, unless the original (nonnegated) value would overflow; in the latter case, B<strtoul>() returns B<ULONG_MAX> and sets I<errno> to B<ERANGE>. Precisely the same holds for B<strtoull>() (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
5203 msgstr "B<strtoul>() 関数は変換結果を返す。文字列がマイナス符号から始まっていた場 合は、(符号反転前の値がオーバーフローしていなければ) 変換結果を符号反転した 値を unsigned 型で返す。変換でオーバーフローが発生した場合は B<ULONG_MAX> を返し、 I<errno> に B<ERANGE> を設定する。 (B<ULONG_MAX> を B<ULLONG_MAX> と読み替えれば) B<strtoull>() は B<strtoul>() と全く同じである。"
5206 #: build/C/man3/strtoul.3:177
5207 msgid "The B<strtoul>(), B<strtoull>(), and B<strtouq>() functions are thread-safe with exceptions. These functions can be safely used in multithreaded applications, as long as B<setlocale>(3) is not called to change the locale during their execution."
5208 msgstr "関数 B<strtoul>(), B<strtoull>(), B<strtouq>() は、例外付きのスレッドセーフである。実行中に B<setlocale>(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
5211 #: build/C/man3/strtoul.3:182
5212 msgid "B<strtoul>() conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>() to C99 and POSIX.1-2001."
5213 msgstr "B<strtoul>() は SVr4, C89, C99 と POSIX-2001 に準拠している。 B<strtoull>() は C99 と POSIX.1-2001 に準拠している。"
5216 #: build/C/man3/strtoul.3:196
5217 msgid "Since B<strtoul>() can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> for B<strtoull>()) on both success and failure, the calling program should set I<errno> to 0 before the call, and then determine if an error occurred by checking whether I<errno> has a nonzero value after the call."
5218 msgstr "B<strtoul ()> からは成功、失敗どちらの場合でも 0 や B<ULONG_MAX> (B<strtoull>() では B<ULLONG_MAX>) が返る可能性があるので、 プログラムは関数を呼び出す前に I<errno> を 0 に設定し、呼び出し後に I<errno> が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
5221 #: build/C/man3/strtoul.3:200
5222 msgid "In locales other than the \"C\" locale, other strings may be accepted. (For example, the thousands separator of the current locale may be supported.)"
5223 msgstr "\"C\" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例えば、現在のロケールの 1000 毎の区切り文字に対応しているかもしれない。)"
5226 #: build/C/man3/strtoul.3:206
5228 msgid "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5229 msgstr "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int >I<base>B<);>\n"
5232 #: build/C/man3/strtoul.3:215
5233 msgid "with completely analogous definition. Depending on the wordsize of the current architecture, this may be equivalent to B<strtoull>() or to B<strtoul>()."
5234 msgstr "という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第であるが、この関数は B<strtoull>() や B<stroul>() と等価な場合もありえる。"
5237 #: build/C/man3/strtoul.3:220
5238 msgid "Negative values are considered valid input and are silently converted to the equivalent I<unsigned long int> value."
5239 msgstr "負の値も正当な入力とみなされ、エラーもなく、 対応する I<unsigned long int> 型の値に変換される。"
5242 #: build/C/man3/strtoul.3:231
5243 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
5244 msgstr "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
5247 #: build/C/man3/system.3:31
5253 #: build/C/man3/system.3:34
5254 msgid "system - execute a shell command"
5255 msgstr "system - シェルコマンドの実行"
5258 #: build/C/man3/system.3:39
5260 msgid "B<int system(const char *>I<command>B<);>\n"
5261 msgstr "B<int system(const char *>I<command>B<);>\n"
5264 #: build/C/man3/system.3:50
5265 msgid "The B<system>() library function uses B<fork>(2) to create a child process that executes the shell command specified in I<command> using B<execl>(3) as follows:"
5266 msgstr "B<system>() ライブラリ関数は、B<fork>(2) を使って子プロセスを作成し、その子プロセスは以下のように I<command> で指定されたシェルコマンドを B<execl>(3) を使って実行する。"
5269 #: build/C/man3/system.3:52
5271 msgid " execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
5272 msgstr " execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
5275 #: build/C/man3/system.3:55
5276 msgid "B<system>() returns after the command has been completed."
5277 msgstr "B<system>() が返るのはコマンドが完了した後である。"
5280 #: build/C/man3/system.3:67
5281 msgid "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> and B<SIGQUIT> will be ignored, in the process that calls B<system>() (these signals will be handled according to their defaults inside the child process that executes I<command>)."
5282 msgstr "コマンドの実行中は、 B<system>() を呼び出したプロセスでは、 B<SIGCHLD> はブロックされ、 B<SIGINT> と B<SIGQUIT> は無視される (I<command> を実行する子プロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
5285 #: build/C/man3/system.3:73
5286 msgid "If I<command> is NULL, then B<system>() returns a status indicating whether a shell is available on the system"
5287 msgstr "I<command> が NULL の場合、 B<system>() はそのシステムでシェルが利用可能かを示すステータスを返す。"
5290 #: build/C/man3/system.3:77
5291 msgid "The return value of B<system>() is one of the following:"
5292 msgstr "B<system>() の返り値は以下のいずれかである。"
5295 #: build/C/man3/system.3:82
5296 msgid "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if no shell is available."
5297 msgstr "I<command> が NULL の場合、 シェルが利用可能ならゼロ以外の値、利用不可なら 0。"
5300 #: build/C/man3/system.3:86
5301 msgid "If a child process could not be created, or its status could not be retrieved, the return value is -1."
5302 msgstr "子プロセスを作成できなかった場合、または子プロセスのステータスを取得できなかった場合、 返り値は -1 である。"
5305 #: build/C/man3/system.3:91
5306 msgid "If a shell could not be executed in the child process, then the return value is as though the child shell terminated by calling B<_exit>(2) with the status 127."
5307 msgstr "子プロセスでシェルを実行できなかった場合、 返り値は子プロセスがステータス 127 で B<_exit>(2) を呼び出して終了したのと同じになる。"
5310 #: build/C/man3/system.3:98
5311 msgid "If all system calls succeed, then the return value is the termination status of the child shell used to execute I<command>. (The termination status of a shell is the termination status of the last command it executes.)"
5312 msgstr "システムコールがすべて成功した場合、 返り値は I<command> を実行するのに使用された子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはそのシェルが実行した最後のコマンドの終了ステータスである)。"
5315 #: build/C/man3/system.3:107
5316 msgid "In the last two cases, the return value is a \"wait status\" that can be examined using the macros described in B<waitpid>(2). (i.e., B<WIFEXITED>() B<WEXITSTATUS>() and so on)."
5317 msgstr "最後の 2 つの場合、返り値は \"wait status\" であり、 B<waitpid>(2) に書かれているマクロ (つまり B<WIFEXITED>() や B<WEXITSTATUS>() などのマクロ) を使って検査することができる。"
5320 #: build/C/man3/system.3:110
5321 msgid "B<system>() does not affect the wait status of any other children."
5322 msgstr "B<system>() は他の子プロセスのウエイトステータスには影響を与えない。"
5325 #: build/C/man3/system.3:115
5326 msgid "The B<system>() function is thread-safe."
5327 msgstr "関数 B<system>() はスレッドセーフである。"
5330 #: build/C/man3/system.3:117
5331 msgid "C89, C99, POSIX.1-2001."
5332 msgstr "C89, C99, POSIX.1-2001."
5335 #: build/C/man3/system.3:134
5336 msgid "B<system>() provides simplicity and convenience: it handles all of the details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as the necessary manipulations of signals; in addition, the shell performs the usual substitutions and I/O redirections for I<command>. The main cost of B<system>() is inefficiency: additional system calls are required to create the process that runs the shell and to execute the shell."
5337 msgstr "B<system>() により簡便性と利便性がもたらされる。この関数は B<fork>(2), B<execl>(3), B<waitpid>(2) の呼び出しにおける詳細をすべて行うとともに、 シグナルの適切な処理も行う。 また、シェルは I<command> に対して通常の置換 (substitutions) と I/O リダイレクトを行う。 B<system>() を使用することによる主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェルを実行するために、余計にシステムコールが必要となる。"
5340 #: build/C/man3/system.3:146
5341 msgid "If the B<_XOPEN_SOURCE> feature test macro is defined (before including I<any> header files), then the macros described in B<waitpid>(2) (B<WEXITSTATUS>(), etc.) are made available when including I<E<lt>stdlib.hE<gt>>."
5342 msgstr "(「どの」ヘッダファイルをインクルードするよりも前に) 機能検査マクロ B<_XOPEN_SOURCE> が定義された場合には、 B<waitpid>(2) で説明されているマクロ群 (B<WEXITSTATUS>() 等) が I<E<lt>stdlib.hE<gt>> をインクルードすると利用可能になる。"
5345 #: build/C/man3/system.3:157
5346 msgid "As mentioned, B<system>() ignores B<SIGINT> and B<SIGQUIT>. This may make programs that call it from a loop uninterruptible, unless they take care themselves to check the exit status of the child. For example:"
5347 msgstr "既に述べたように、 B<system>() は B<SIGINT> と B<SIGQUIT> を無視する。 よってループから B<system>() を呼ぶプログラムは、 以下の例のように子プロセスの終了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
5350 #: build/C/man3/system.3:162
5353 " while (something) {\n"
5354 " int ret = system(\"foo\");\n"
5356 " while (something) {\n"
5357 " int ret = system(\"foo\");\n"
5360 #: build/C/man3/system.3:167
5363 " if (WIFSIGNALED(ret) &&\n"
5364 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5368 " if (WIFSIGNALED(ret) &&\n"
5369 " (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5374 #: build/C/man3/system.3:187
5375 msgid "Do not use B<system>() from a program with set-user-ID or set-group-ID privileges, because strange values for some environment variables might be used to subvert system integrity. Use the B<exec>(3) family of functions instead, but not B<execlp>(3) or B<execvp>(3). B<system>() will not, in fact, work properly from programs with set-user-ID or set-group-ID privileges on systems on which I</bin/sh> is bash version 2, since bash 2 drops privileges on startup. (Debian uses a modified bash which does not do this when invoked as B<sh>.)"
5376 msgstr "set-user-ID や set-group-ID の特権をもつプログラムの中では B<system>() を使ってはいけない。なぜなら、ある環境変数の未知の値によって システムの安全が損なわれるからである。代わりに B<exec>(3) 関連の関数群の中で B<execlp>(3) と B<execvp>(3) 以外の関数を使用すべきである。 実際のところ、 B<system>() は I</bin/sh> が bash バージョン 2 であるシステムでは、 set-user-ID や set-group-ID の特権を持つプログラムからは正しく動作しない。 なぜなら、bash バージョン 2 はスタートアップ時に特権を落とすからである。 (Debian では、sh として起動された時にはこのような動作を行なわないように 修正された bash を用いている)"
5379 #: build/C/man3/system.3:201
5380 msgid "In versions of glibc before 2.1.3, the check for the availability of I</bin/sh> was not actually performed if I<command> was NULL; instead it was always assumed to be available, and B<system>() always returned 1 in this case. Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 requires a conforming implementation to provide a shell, that shell may not be available or executable if the calling program has previously called B<chroot>(2) (which is not specified by POSIX.1-2001)."
5381 msgstr "glibc 2.1.3 より前のバージョンでは、 I<command> が NULL の場合に I</bin/sh> が利用可能かどうかのチェックは実際には行わず、 いつでも利用可能であるとみなしていた。 B<system>() はこの場合に常に 1 を返していた。 POSIX.1-2001 ではシェルが提供されているという標準に準拠した実装を 要求しているが、glibc 2.1.3 以降ではシェルのチェックを実行している。 なぜなら、呼び出し元のプログラムが B<system>() を呼び出すより前に (POSIX.1-2001 では規定されていない) B<chroot>(2) を呼び出していた時には、シェルが利用可能でない場合や実行可能ファイル でない場合があるからである。"
5384 #: build/C/man3/system.3:207
5385 msgid "It is possible for the shell command to terminate with a status of 127, which yields a B<system>() return value that is indistinguishable from the case where a shell could not be executed in the child process."
5386 msgstr "シェルコマンドがステータス 127 で終了することもある。 この場合、B<system>() の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
5389 #: build/C/man3/system.3:215
5390 msgid "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), B<exec>(3), B<signal>(7)"
5391 msgstr "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), B<exec>(3), B<signal>(7)"
5394 #: build/C/man7/vdso.7:13
5400 #: build/C/man7/vdso.7:16
5401 msgid "vDSO - overview of the virtual ELF dynamic shared object"
5402 msgstr "vDSO - 仮想 ELF 動的共有オブジェクトの概要"
5405 #: build/C/man7/vdso.7:18
5406 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
5407 msgstr "B<#include E<lt>sys/auxv.hE<gt>>"
5410 #: build/C/man7/vdso.7:20
5411 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
5412 msgstr "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
5415 #: build/C/man7/vdso.7:29
5416 msgid "The \"vDSO\" (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of all user-space applications. Applications usually do not need to concern themselves with these details as the vDSO is most commonly called by the C library. This way you can code in the normal way using standard functions and the C library will take care of using any functionality that is available via the vDSO."
5417 msgstr "\"vDSO\" (virtual dynamic shared object; 仮想動的共有オブジェクト) は、 カーネルが自動的にすべてのユーザー空間アプリケーションのアドレス空間にマッピングを行う小さな共有ライブラリである。 vDSO はほとんどの場合 C ライブラリから呼び出されるため、 アプリケーションは通常これらの詳細を自分では気にする必要はない。 このように、 標準関数と C ライブラリを使って通常の方法でコードを作成することで、 vDSO 経由で利用可能な機能が活用されることになる。"
5420 #: build/C/man7/vdso.7:37
5421 msgid "Why does the vDSO exist at all? There are some system calls the kernel provides that user-space code ends up using frequently, to the point that such calls can dominate overall performance. This is due both to the frequency of the call as well as the context-switch overhead that results from exiting user space and entering the kernel."
5422 msgstr "いったいなぜ vDSO は存在しているのか? カーネルが提供するシステムコールのいくつかは、 ユーザー空間のコードがこれらのシステムコールを頻繁に呼び出すことになり、 このような呼び出しが全体の性能を支配するようになる場合がある。 これは、 呼び出しの頻度と、 ユーザー空間から抜けてカーネルに入ることによるコンテキストスイッチのオーバーヘッドの両方に起因する。"
5425 #: build/C/man7/vdso.7:42
5426 msgid "The rest of this documentation is geared toward the curious and/or C library writers rather than general developers. If you're trying to call the vDSO in your own application rather than using the C library, you're most likely doing it wrong."
5427 msgstr "この文書の残りの部分は、 一般の開発者向けというではなく、 好奇心がある人と C ライブラリの開発者向けの内容となっている。 もしあなたが C ライブラリではなく自分のアプリケーションで vDSO を呼びだそうとしているのであれば、 ほとんどの場合間違ったことをしていることだろう。"
5430 #: build/C/man7/vdso.7:42
5432 msgid "Example background"
5436 #: build/C/man7/vdso.7:56
5437 msgid "Making system calls can be slow. In x86 32-bit systems, you can trigger a software interrupt (I<int $0x80>) to tell the kernel you wish to make a system call. However, this instruction is expensive: it goes through the full interrupt-handling paths in the processor's microcode as well as in the kernel. Newer processors have faster (but backward incompatible) instructions to initiate system calls. Rather than require the C library to figure out if this functionality is available at run time, the C library can use functions provided by the kernel in the vDSO."
5438 msgstr "システムコールの呼び出しは遅くなる場合がある。 x86 32 ビットシステムでは、 システムコールを呼び出したいことをカーネルに教えるためにソフトウェア割り込み (I<int $0x80>) を使うことができる。 しかしながら、この割り込みはコストがかかる処理である。 割り込みがあると、 カーネルとプロセッサーのマイクロコードの両方のすべての割り込み処理パスが実行される。 新しいプロセッサーには、 システムコール呼び出しを起動するための高速な (だが、後方互換性がある) 命令が用意されている。 C ライブラリが実行時にこの機能が利用できるかを確認するのではなく、 C ライブラリは vDSO でカーネルが提供する関数を使うことができる。"
5441 #: build/C/man7/vdso.7:63
5442 msgid "Note that the terminology can be confusing. On x86 systems, the vDSO function used to determine the preferred method of making a system call is named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also refers to an obsolete way to ask the kernel what time it is or what CPU the caller is on."
5443 msgstr "用語が紛らわしい点には注意が必要である。 x86 システムでは、 システムコールを呼び出す推奨される方法を判定するのに使用される vDSO 関数は \"__kernel_vsyscall\" という名前だが、 x86_64 では、 \"vsyscall\" という用語は、 カーネルに時刻はいつかや呼び出し元はどの CPU 上にいるかを問い合わせるための廃止予定の方法も参照している。"
5446 #: build/C/man7/vdso.7:79
5447 msgid "One frequently used system call is B<gettimeofday>(2). This system call is called both directly by user-space applications as well as indirectly by the C library. Think timestamps or timing loops or polling\\(emall of these frequently need to know what time it is right now. This information is also not secret\\(emany application in any privilege mode (root or any unprivileged user) will get the same answer. Thus the kernel arranges for the information required to answer this question to be placed in memory the process can access. Now a call to B<gettimeofday>(2) changes from a system call to a normal function call and a few memory accesses."
5448 msgstr "頻繁に使用されるシステムコールの一つが B<gettimeofday>(2) である。 このシステムコールは、 ユーザー空間アプリケーションから直接呼び出されることも、 C ライブラリから間接的に呼び出されることもある。 タイムスタンプが必要な場面、 タイミングループを行う場面、 ポーリングを行う場面を考えてほしい。 これらはいずれも現在時刻が何かを直ちに知りたいのが普通である。 また、この情報は秘密ではなく、 (ルートでも非特権ユーザーでも) 任意の特権モードの多くのアプリケーションが同じ情報を取得できる。 したがって、 カーネルはこの質問に応えるのに必要な情報をプロセスがアクセスできるメモリー上に配置する。 これにより、 B<gettimeofday>(2) はシステムコールから通常の関数コールになり、 少ないメモリーアクセスになる。"
5451 #: build/C/man7/vdso.7:79
5453 msgid "Finding the vDSO"
5457 #: build/C/man7/vdso.7:86
5458 msgid "The base address of the vDSO (if one exists) is passed by the kernel to each program in the initial auxiliary vector (see B<getauxval>(3)), via the B<AT_SYSINFO_EHDR> tag."
5459 msgstr "vDSO のベースアドレスは、 (存在する場合には) カーネルから各プログラムに初期補助ベクトル (B<getauxval>(3) 参照) の B<AT_SYSINFO_EHDR> タグ経由で渡される。"
5462 #: build/C/man7/vdso.7:95
5463 msgid "You must not assume the vDSO is mapped at any particular location in the user's memory map. The base address will usually be randomized at run time every time a new process image is created (at B<execve>(2) time). This is done for security reasons, to prevent \"return-to-libc\" attacks."
5464 msgstr "vDSO がユーザーのメモリーマップの何か特定の場所にマッピングされると仮定してはならない。 通常新しいプロセスイメージが作成されるたびに (B<execve>(2) 実行時点) 、 実行時にベースアドレスのランダム化が行われる。 これは \"return-to-libc\" 攻撃 を防ぐためにセキュリティ上の理由から行われる。"
5467 #: build/C/man7/vdso.7:104
5468 msgid "For some architectures, there is also an B<AT_SYSINFO> tag. This is used only for locating the vsyscall entry point and is frequently omitted or set to 0 (meaning it's not available). This tag is a throwback to the initial vDSO work (see I<History> below) and its use should be avoided."
5469 msgstr "アーキテクチャーによっては B<AT_SYSINFO> タグもある。 このタグは vsyscall エントリーポイントの場所を知るためだけのものであり、 しばしば省略されるか (利用できない場合は) 0 にセットされる。 このタグは最初の vDSO の実装で使用されていたものであり (下記の「歴史」を参照)、 このタグを利用するのは避けるべきである。"
5472 #: build/C/man7/vdso.7:104
5478 #: build/C/man7/vdso.7:111
5479 msgid "Since the vDSO is a fully formed ELF image, you can do symbol lookups on it. This allows new symbols to be added with newer kernel releases, and allows the C library to detect available functionality at run time when running under different kernel versions. Oftentimes the C library will do detection with the first call and then cache the result for subsequent calls."
5480 msgstr "vDSO は完全な形式の ELF イメージなので、 vDSO に対してシンボルの検索を行うことができる。 このため、 新しいカーネルリリースで新しいシンボルを追加することができ、 C ライブラリが別のバージョンのカーネル上で動作する際に実行時に利用可能な機能を検出することができる。 多くの場合、 C ライブラリは最初の呼び出し時に検出を行い、 それ以降の呼び出しで利用できるようにその結果をキャッシュする。"
5483 #: build/C/man7/vdso.7:120
5484 msgid "All symbols are also versioned (using the GNU version format). This allows the kernel to update the function signature without breaking backward compatibility. This means changing the arguments that the function accepts as well as the return value. Thus, when looking up a symbol in the vDSO, you must always include the version to match the ABI you expect."
5485 msgstr "すべてのシンボルは (GNU のバージョンフォーマットを使って) バージョンが付けられている。 これにより、 カーネルは後方互換性を持たせつつ関数のシグネチャーを更新することができる。 つまり、 関数が受け取る引き数や返り値が変更されることがあるということである。 したがって、 vDSO のシンボルを検索する際には、 自分が期待する ABI に一致するバージョンをしなければならない。"
5488 #: build/C/man7/vdso.7:125
5489 msgid "Typically the vDSO follows the naming convention of prefixing all symbols with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other standard symbols. For example, the \"gettimeofday\" function is named \"__vdso_gettimeofday\"."
5490 msgstr "通常は vDSO はすべてのシンボルに \"__vdso_\" か \"__kernel_\" というプレフィックスを付けるという慣習に従った名前付けを行っており、 他の標準のシンボルから区別することができる。 例えば、 \"gettimeofday\" 関数は \"\"__vdso_gettimeofday\" という名前になっている。"
5493 #: build/C/man7/vdso.7:129
5494 msgid "You use the standard C calling conventions when calling any of these functions. No need to worry about weird register or stack behavior."
5495 msgstr "これらの関数を呼び出す場合は標準の C の呼び出しの慣習にしたがっておけばよい。 特殊なレジスターやスタックの動作に気を使う必要はない。"
5498 #: build/C/man7/vdso.7:130
5504 #: build/C/man7/vdso.7:134
5505 msgid "When you compile the kernel, it will automatically compile and link the vDSO code for you. You will frequently find it under the architecture-specific directory:"
5506 msgstr "カーネルをコンパイルする際に、 vDSO コードはコンパイルされリンクが行われる。 通常はアーキテクチャー固有のディレクトリに vDSO コードが生成される。"
5509 #: build/C/man7/vdso.7:136
5511 msgid " find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
5512 msgstr " find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
5515 #: build/C/man7/vdso.7:137
5521 #: build/C/man7/vdso.7:143
5522 msgid "The name of the vDSO varies across architectures. It will often show up in things like glibc's B<ldd>(1) output. The exact name should not matter to any code, so do not hardcode it."
5523 msgstr "vDSO の名前はアーキテクチャーにより異なる。 この名前は glibc の B<ldd>(1) の出力などに現れる。 名前はコードで必要となることはなく、 名前をハードコードしないこと。"
5526 #: build/C/man7/vdso.7:148
5528 msgid "user ABI\tvDSO name\n"
5529 msgstr "ユーザー ABI\tvDSO 名\n"
5532 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235
5533 #: build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333
5534 #: build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402
5535 #: build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:463
5536 #: build/C/man7/vdso.7:482
5542 #: build/C/man7/vdso.7:150
5544 msgid "aarch64\tlinux-vdso.so.1\n"
5545 msgstr "aarch64\tlinux-vdso.so.1\n"
5548 #: build/C/man7/vdso.7:151
5550 msgid "ia64\tlinux-gate.so.1\n"
5551 msgstr "ia64\tlinux-gate.so.1\n"
5554 #: build/C/man7/vdso.7:152
5556 msgid "ppc/32\tlinux-vdso32.so.1\n"
5557 msgstr "ppc/32\tlinux-vdso32.so.1\n"
5560 #: build/C/man7/vdso.7:153
5562 msgid "ppc/64\tlinux-vdso64.so.1\n"
5563 msgstr "ppc/64\tlinux-vdso64.so.1\n"
5566 #: build/C/man7/vdso.7:154
5568 msgid "s390\tlinux-vdso32.so.1\n"
5569 msgstr "s390\tlinux-vdso32.so.1\n"
5572 #: build/C/man7/vdso.7:155
5574 msgid "s390x\tlinux-vdso64.so.1\n"
5575 msgstr "s390x\tlinux-vdso64.so.1\n"
5578 #: build/C/man7/vdso.7:156
5580 msgid "sh\tlinux-gate.so.1\n"
5581 msgstr "sh\tlinux-gate.so.1\n"
5584 #: build/C/man7/vdso.7:157
5586 msgid "i386\tlinux-gate.so.1\n"
5587 msgstr "i386\tlinux-gate.so.1\n"
5590 #: build/C/man7/vdso.7:158
5592 msgid "x86_64\tlinux-vdso.so.1\n"
5593 msgstr "x86_64\tlinux-vdso.so.1\n"
5596 #: build/C/man7/vdso.7:159
5598 msgid "x86/x32\tlinux-vdso.so.1\n"
5599 msgstr "x86/x32\tlinux-vdso.so.1\n"
5602 #: build/C/man7/vdso.7:165
5604 msgid "ARCHITECTURE-SPECIFIC NOTES"
5605 msgstr "アーキテクチャー固有の注意"
5608 #: build/C/man7/vdso.7:168
5609 msgid "The subsections below provide architecture-specific notes on the vDSO."
5610 msgstr "以下のサブ章では vDSO のアーキテクチャー固有の注意について説明する。"
5613 #: build/C/man7/vdso.7:177
5614 msgid "Note that the vDSO that is used is based on the ABI of your user-space code and not the ABI of the kernel. Thus, for example, when you run an i386 32-bit ELF binary, you'll get the same vDSO regardless of whether you run it under an i386 32-bit kernel or under an x86_64 64-bit kernel. Therefore, the name of the user-space ABI should be used to determine which of the sections below is relevant."
5615 msgstr "使用される vDSO は、 カーネルの ABI ではなく、 ユーザー空間コードの ABI に基づくことに注意すること。 したがって、 例えば、 i386 32 ビットの ELF ライブラリ上で実行する場合、 i386 32 ビットカーネル上で実行されているか x86_64 64 ビットカーネル上で実行されているかに関わらず同じ vDSO が得られる。 したがって、 以下のどの節が関係するかを判断する際にはユーザー空間 ABI の名前を使用する必要がある。"
5618 #: build/C/man7/vdso.7:177
5620 msgid "ARM functions"
5623 #. See linux/arch/arm/kernel/entry-armv.S
5624 #. See linux/Documentation/arm/kernel_user_helpers.txt
5626 #: build/C/man7/vdso.7:184
5627 msgid "The ARM port has a code page full of utility functions. Since it's just a raw page of code, there is no ELF information for doing symbol lookups or versioning. It does provide support for different versions though."
5631 #: build/C/man7/vdso.7:189
5632 msgid "For information on this code page, it's best to refer to the kernel documentation as it's extremely detailed and covers everything you need to know: I<Documentation/arm/kernel_user_helpers.txt>."
5636 #: build/C/man7/vdso.7:189
5638 msgid "aarch64 functions"
5641 #. See linux/arch/x86/vdso/vdso32.lds.S
5643 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353
5644 #: build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414
5645 #: build/C/man7/vdso.7:432 build/C/man7/vdso.7:476
5646 msgid "The table below lists the symbols exported by the vDSO."
5647 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。"
5650 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332
5651 #: build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401
5652 #: build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:462
5653 #: build/C/man7/vdso.7:481
5655 msgid "symbol\tversion\n"
5656 msgstr "シンボル\tバージョン\n"
5659 #: build/C/man7/vdso.7:199
5661 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
5662 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
5665 #: build/C/man7/vdso.7:200
5667 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
5668 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
5671 #: build/C/man7/vdso.7:201
5673 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
5674 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
5677 #: build/C/man7/vdso.7:202
5679 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
5680 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
5683 #: build/C/man7/vdso.7:208
5685 msgid "bfin (Blackfin) functions"
5686 msgstr "bfin (Blackfin) 関数"
5688 #. See linux/arch/blackfin/kernel/fixed_code.S
5689 #. See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
5691 #: build/C/man7/vdso.7:220
5692 msgid "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO in the normal sense. Instead, it maps at boot time a few raw functions into a fixed location in memory. User-space applications then call directly into that region. There is no provision for backward compatibility beyond sniffing raw opcodes, but as this is an embedded CPU, it can get away with things\\(emsome of the object formats it runs aren't even ELF based (they're bFLT/FLAT)."
5696 #: build/C/man7/vdso.7:223
5697 msgid "For information on this code page, it's best to refer to the public documentation:"
5701 #: build/C/man7/vdso.7:225
5702 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
5703 msgstr "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
5706 #: build/C/man7/vdso.7:225
5708 msgid "ia64 (Itanium) functions"
5709 msgstr "ia64 (Itanium) 関数"
5712 #: build/C/man7/vdso.7:236
5714 msgid "__kernel_sigtramp\tLINUX_2.5\n"
5715 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
5718 #: build/C/man7/vdso.7:237
5720 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
5721 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
5724 #: build/C/man7/vdso.7:238
5726 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
5727 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
5730 #: build/C/man7/vdso.7:257
5731 msgid "The Itanium port is somewhat tricky. In addition to the vDSO above, it also has \"light-weight system calls\" (also known as \"fast syscalls\" or \"fsys\"). You can invoke these via the I<__kernel_syscall_via_epc> vDSO helper. The system calls listed here have the same semantics as if you called them directly via B<syscall>(2), so refer to the relevant documentation for each. The table below lists the functions available via this mechanism."
5735 #: build/C/man7/vdso.7:262
5741 #: build/C/man7/vdso.7:264
5743 msgid "clock_gettime\n"
5744 msgstr "clock_gettime\n"
5747 #: build/C/man7/vdso.7:265
5753 #: build/C/man7/vdso.7:266
5759 #: build/C/man7/vdso.7:267
5765 #: build/C/man7/vdso.7:268
5767 msgid "gettimeofday\n"
5768 msgstr "gettimeofday\n"
5771 #: build/C/man7/vdso.7:269
5773 msgid "set_tid_address\n"
5774 msgstr "set_tid_address\n"
5777 #: build/C/man7/vdso.7:275
5779 msgid "parisc (hppa) functions"
5780 msgstr "parisc (hppa) 関数"
5782 #. See linux/arch/parisc/kernel/syscall.S
5783 #. See linux/Documentation/parisc/registers
5785 #: build/C/man7/vdso.7:286
5786 msgid "The parisc port has a code page full of utility functions called a gateway page. Rather than use the normal ELF auxiliary vector approach, it passes the address of the page to the process via the SR2 register. The permissions on the page are such that merely executing those addresses automatically executes with kernel privileges and not in user space. This is done to match the way HP-UX works."
5790 #: build/C/man7/vdso.7:291
5791 msgid "Since it's just a raw page of code, there is no ELF information for doing symbol lookups or versioning. Simply call into the appropriate offset via the branch instruction, for example:"
5795 #: build/C/man7/vdso.7:293
5797 msgid " ble E<lt>offsetE<gt>(%sr2, %r0)\n"
5798 msgstr " ble E<lt>offsetE<gt>(%sr2, %r0)\n"
5801 #: build/C/man7/vdso.7:298
5803 msgid "offset\tfunction\n"
5804 msgstr "オフセット\t関数\n"
5807 #: build/C/man7/vdso.7:300
5809 msgid "00b0\tlws_entry\n"
5810 msgstr "00b0\tlws_entry\n"
5813 #: build/C/man7/vdso.7:301
5815 msgid "00e0\tset_thread_pointer\n"
5816 msgstr "00e0\tset_thread_pointer\n"
5819 #: build/C/man7/vdso.7:302
5821 msgid "0100\tlinux_gateway_entry (syscall)\n"
5822 msgstr "0100\tlinux_gateway_entry (syscall)\n"
5825 #: build/C/man7/vdso.7:303
5827 msgid "0268\tsyscall_nosys\n"
5828 msgstr "0268\tsyscall_nosys\n"
5831 #: build/C/man7/vdso.7:304
5833 msgid "0274\ttracesys\n"
5834 msgstr "0274\ttracesys\n"
5837 #: build/C/man7/vdso.7:305
5839 msgid "0324\ttracesys_next\n"
5840 msgstr "0324\ttracesys_next\n"
5843 #: build/C/man7/vdso.7:306
5845 msgid "0368\ttracesys_exit\n"
5846 msgstr "0368\ttracesys_exit\n"
5849 #: build/C/man7/vdso.7:307
5851 msgid "03a0\ttracesys_sigexit\n"
5852 msgstr "03a0\ttracesys_sigexit\n"
5855 #: build/C/man7/vdso.7:308
5857 msgid "03b8\tlws_start\n"
5858 msgstr "03b8\tlws_start\n"
5861 #: build/C/man7/vdso.7:309
5863 msgid "03dc\tlws_exit_nosys\n"
5864 msgstr "03dc\tlws_exit_nosys\n"
5867 #: build/C/man7/vdso.7:310
5869 msgid "03e0\tlws_exit\n"
5870 msgstr "03e0\tlws_exit\n"
5873 #: build/C/man7/vdso.7:311
5875 msgid "03e4\tlws_compare_and_swap64\n"
5876 msgstr "03e4\tlws_compare_and_swap64\n"
5879 #: build/C/man7/vdso.7:312
5881 msgid "03e8\tlws_compare_and_swap\n"
5882 msgstr "03e8\tlws_compare_and_swap\n"
5885 #: build/C/man7/vdso.7:313
5887 msgid "0404\tcas_wouldblock\n"
5888 msgstr "0404\tcas_wouldblock\n"
5891 #: build/C/man7/vdso.7:314
5893 msgid "0410\tcas_action\n"
5894 msgstr "0410\tcas_action\n"
5897 #: build/C/man7/vdso.7:320
5899 msgid "ppc/32 functions"
5902 #. See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
5904 #: build/C/man7/vdso.7:327
5905 msgid "The table below lists the symbols exported by the vDSO. The functions marked with a I<*> are available only when the kernel is a PowerPC64 (64-bit) kernel."
5906 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。 I<*> のマークが付いた関数は、カーネルが PowerPC64 (64 ビット) カーネルの場合にだけ利用可能である。"
5909 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
5911 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
5912 msgstr "__kernel_clock_getres\tLINUX_2.6.15\n"
5915 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
5917 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
5918 msgstr "__kernel_clock_gettime\tLINUX_2.6.15\n"
5921 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
5923 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
5924 msgstr "__kernel_datapage_offset\tLINUX_2.6.15\n"
5927 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
5929 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
5930 msgstr "__kernel_get_syscall_map\tLINUX_2.6.15\n"
5933 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
5935 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
5936 msgstr "__kernel_get_tbfreq\tLINUX_2.6.15\n"
5939 #: build/C/man7/vdso.7:339
5941 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
5942 msgstr "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
5945 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
5947 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
5948 msgstr "__kernel_gettimeofday\tLINUX_2.6.15\n"
5951 #: build/C/man7/vdso.7:341
5953 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
5954 msgstr "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
5957 #: build/C/man7/vdso.7:342
5959 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
5960 msgstr "__kernel_sigtramp32\tLINUX_2.6.15\n"
5963 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
5965 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
5966 msgstr "__kernel_sync_dicache\tLINUX_2.6.15\n"
5969 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
5971 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
5972 msgstr "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
5975 #: build/C/man7/vdso.7:350
5977 msgid "ppc/64 functions"
5981 #: build/C/man7/vdso.7:365
5983 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
5984 msgstr "__kernel_getcpu\tLINUX_2.6.15\n"
5987 #: build/C/man7/vdso.7:367
5989 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
5990 msgstr "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
5993 #: build/C/man7/vdso.7:375
5995 msgid "s390 functions"
5999 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
6001 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
6002 msgstr "__kernel_clock_getres\tLINUX_2.6.29\n"
6005 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
6007 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
6008 msgstr "__kernel_clock_gettime\tLINUX_2.6.29\n"
6011 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
6013 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
6014 msgstr "__kernel_gettimeofday\tLINUX_2.6.29\n"
6017 #: build/C/man7/vdso.7:393
6019 msgid "s390x functions"
6023 #: build/C/man7/vdso.7:411
6025 msgid "sh (SuperH) functions"
6026 msgstr "sh (SuperH) 関数"
6029 #: build/C/man7/vdso.7:421
6031 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
6032 msgstr "__kernel_rt_sigreturn\tLINUX_2.6\n"
6035 #: build/C/man7/vdso.7:422
6037 msgid "__kernel_sigreturn\tLINUX_2.6\n"
6038 msgstr "__kernel_sigreturn\tLINUX_2.6\n"
6041 #: build/C/man7/vdso.7:423
6043 msgid "__kernel_vsyscall\tLINUX_2.6\n"
6044 msgstr "__kernel_vsyscall\tLINUX_2.6\n"
6047 #: build/C/man7/vdso.7:429
6049 msgid "i386 functions"
6053 #: build/C/man7/vdso.7:439
6055 msgid "__kernel_sigreturn\tLINUX_2.5\n"
6056 msgstr "__kernel_sigreturn\tLINUX_2.5\n"
6059 #: build/C/man7/vdso.7:440
6061 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
6062 msgstr "__kernel_rt_sigreturn\tLINUX_2.5\n"
6065 #: build/C/man7/vdso.7:441
6067 msgid "__kernel_vsyscall\tLINUX_2.5\n"
6068 msgstr "__kernel_vsyscall\tLINUX_2.5\n"
6070 #. Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
6071 #. in 37c975545ec63320789962bf307f000f08fabd48.
6073 #: build/C/man7/vdso.7:444
6075 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
6076 msgstr "__vdso_clock_gettime\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
6079 #: build/C/man7/vdso.7:445
6081 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
6082 msgstr "__vdso_gettimeofday\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
6085 #: build/C/man7/vdso.7:446
6087 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
6088 msgstr "__vdso_time\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
6091 #: build/C/man7/vdso.7:452
6093 msgid "x86_64 functions"
6096 #. See linux/arch/x86/vdso/vdso.lds.S
6098 #: build/C/man7/vdso.7:457
6099 msgid "The table below lists the symbols exported by the vDSO. All of these symbols are also available without the \"__vdso_\" prefix, but you should ignore those and stick to the names below."
6100 msgstr "以下のテーブルは vDSO で公開されるシンボルの一覧である。 これらのシンボルはすべて \"__vdso_\" のプレフィックスなしでも利用できるが、 これらは無視し、 以下の名前だけを使うこと。"
6103 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
6105 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
6106 msgstr "__vdso_clock_gettime\tLINUX_2.6\n"
6109 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
6111 msgid "__vdso_getcpu\tLINUX_2.6\n"
6112 msgstr "__vdso_getcpu\tLINUX_2.6\n"
6115 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
6117 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
6118 msgstr "__vdso_gettimeofday\tLINUX_2.6\n"
6121 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
6123 msgid "__vdso_time\tLINUX_2.6\n"
6124 msgstr "__vdso_time\tLINUX_2.6\n"
6127 #: build/C/man7/vdso.7:473
6129 msgid "x86/x32 functions"
6133 #: build/C/man7/vdso.7:492
6139 #: build/C/man7/vdso.7:499
6140 msgid "The vDSO was originally just a single function\\(emthe vsyscall. In older kernels, you might see that name in a process's memory map rather than \"vdso\". Over time, people realized that this mechanism was a great way to pass more functionality to user space, so it was reconceived as a vDSO in the current format."
6141 msgstr "vDSO は元々は一つの関数 vsyscall であった。 古いカーネルでは、 プロセスのメモリーマップに \"vdso\" ではなくこの名前が見えるかもしれない。 時間が経つに連れて、 この仕組みはより多くの機能をユーザー空間に渡す有効な方法であると認識されるようになり、 現在の形の vDSO という形に見直しが行われた。"
6144 #: build/C/man7/vdso.7:503
6145 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
6146 msgstr "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
6149 #: build/C/man7/vdso.7:505
6150 msgid "The documents, examples, and source code in the Linux source code tree:"
6151 msgstr "Linux のソースコードツリーのドキュメント、例、ソースコード:"
6154 #: build/C/man7/vdso.7:511
6157 "Documentation/ABI/stable/vdso\n"
6158 "Documentation/ia64/fsys.txt\n"
6159 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
6161 "Documentation/ABI/stable/vdso\n"
6162 "Documentation/ia64/fsys.txt\n"
6163 "Documentation/vDSO/* (vDSO の使用例がある)\n"
6166 #: build/C/man7/vdso.7:513
6168 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
6169 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
6172 #: build/C/man3/wcstombs.3:16
6178 #: build/C/man3/wcstombs.3:19
6179 msgid "wcstombs - convert a wide-character string to a multibyte string"
6180 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
6183 #: build/C/man3/wcstombs.3:24
6185 msgid "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
6186 msgstr "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t >I<n>B<);>\n"
6189 #: build/C/man3/wcstombs.3:42
6190 msgid "If I<dest> is not NULL, the B<wcstombs>() function converts the wide-character string I<src> to a multibyte string starting at I<dest>. At most I<n> bytes are written to I<dest>. The conversion starts in the initial state. The conversion can stop for three reasons:"
6191 msgstr "I<dest> が NULL でない場合、 B<wcstombs>() 関数は ワイド文字列 I<src> を I<dest> から始まるマルチバイト文字列に 変換する。I<dest> には最大で I<n> バイトが書き込まれる。 変換は初期状態で開始される。変換は以下の3つの理由により停止する。"
6194 #: build/C/man3/wcstombs.3:48
6195 msgid "1. A wide character has been encountered that can not be represented as a multibyte sequence (according to the current locale). In this case, I<(size_t)\\ -1> is returned."
6196 msgstr "1. (現在のロケールにおける)マルチバイト列で表現できないワイド文字に 遭遇した場合。この場合には I<(size_t)\\ -1> が返される。"
6199 #: build/C/man3/wcstombs.3:53
6200 msgid "2. The length limit forces a stop. In this case, the number of bytes written to I<dest> is returned, but the shift state at this point is lost."
6201 msgstr "2. 長さ制限によって強制停止させられた場合。この場合には I<dest> に 書き込まれたバイト数が返される。しかしこの時点でのシフト状態は失われる。"
6204 #: build/C/man3/wcstombs.3:60
6205 msgid "3. The wide-character string has been completely converted, including the terminating null wide character (L\\(aq\\e0\\(aq). In this case, the conversion ends in the initial state. The number of bytes written to I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
6206 msgstr "3. ワイド文字列が終端のヌルワイド文字 (L\\(aq\\e0\\(aq) を含めて完全に変換された場合。 この場合には変換は初期状態で終了し、 I<dest> に書き込まれたバイト数を返す (終端のヌルバイト (\\(aq\\e0\\(aq) は含まれない)。"
6209 #: build/C/man3/wcstombs.3:66
6210 msgid "The programmer must ensure that there is room for at least I<n> bytes at I<dest>."
6211 msgstr "プログラマーは I<dest> に最低でも I<n> バイトの空きがあることを 保証しなければならない。"
6214 #: build/C/man3/wcstombs.3:74
6215 msgid "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, except that the converted bytes are not written out to memory, and no length limit exists."
6216 msgstr "I<dest> が NULL の場合、I<n> は無視される。上記と同様に変換が行 なわれるが変換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
6219 #: build/C/man3/wcstombs.3:79
6220 msgid "In order to avoid the case 2 above, the programmer should make sure I<n> is greater than or equal to I<wcstombs(NULL,src,0)+1>."
6221 msgstr "上記の 2. の場合を避けるために、プログラマーは I<n> が I<wcstombs(NULL,src,0)+1> 以上であることを保証しなければならない。"
6224 #: build/C/man3/wcstombs.3:89
6225 msgid "The B<wcstombs>() function returns the number of bytes that make up the converted part of a multibyte sequence, not including the terminating null byte. If a wide character was encountered which could not be converted, I<(size_t)\\ -1> is returned."
6226 msgstr "B<wcstombs>() 関数は生成したマルチバイト列のバイト数を返す。終端の ヌル文字は含まない。もし変換できないワイド文字に遭遇した場合には I<(size_t)\\ -1> を返す。"
6229 #: build/C/man3/wcstombs.3:98
6230 msgid "The behavior of B<wcstombs>() depends on the B<LC_CTYPE> category of the current locale."
6231 msgstr "B<wcstombs>() の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
6234 #: build/C/man3/wcstombs.3:103
6235 msgid "The function B<wcsrtombs>(3) provides a thread safe interface to the same functionality."
6236 msgstr "B<wcsrtombs>() 関数は同じ機能のためのスレッドセーフな インターフェースを提供する。"
6239 #: build/C/man3/wcstombs.3:109
6240 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3) B<wctom>(3)"
6241 msgstr "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3) B<wctom>(3)"
6244 #: build/C/man3/wctomb.3:16
6250 #: build/C/man3/wctomb.3:19
6251 msgid "wctomb - convert a wide character to a multibyte sequence"
6252 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
6255 #: build/C/man3/wctomb.3:24
6257 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
6258 msgstr "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
6261 #: build/C/man3/wctomb.3:45
6262 msgid "If I<s> is not NULL, the B<wctomb>() function converts the wide character I<wc> to its multibyte representation and stores it at the beginning of the character array pointed to by I<s>. It updates the shift state, which is stored in a static anonymous variable known only to the B<wctomb>() function, and returns the length of said multibyte representation, that is, the number of bytes written at I<s>."
6263 msgstr "I<s> が NULL でなければ、 B<wctomb>() 関数はワイド文字 I<wc> を マルチバイト表現に変換して I<s> の指す文字配列に格納する。 同時に wctomb 関数のみが使用する静的で名前のないシフト状態を更新する。 この関数はマルチバイト表現の長さ、すなわち I<s> に書き込まれた バイト数を返す。"
6266 #: build/C/man3/wctomb.3:51
6267 msgid "The programmer must ensure that there is room for at least B<MB_CUR_MAX> bytes at I<s>."
6268 msgstr "プログラマーは I<s> に少なくとも B<MB_CUR_MAX> バイトの空きがあることを保証しなければならない。"
6270 #. The Dinkumware doc and the Single UNIX specification say this, but
6271 #. glibc doesn't implement this.
6273 #: build/C/man3/wctomb.3:63
6274 msgid "If I<s> is NULL, the B<wctomb>() function resets the shift state, known only to this function, to the initial state, and returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless."
6275 msgstr "I<s> が NULL ならば、 B<wctomb>() 関数は自分のみが使用するシフト状態を 初期状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に依存しない場合にはゼロを返す。"
6278 #: build/C/man3/wctomb.3:77
6279 msgid "If I<s> is not NULL, the B<wctomb>() function returns the number of bytes that have been written to the byte array at I<s>. If I<wc> can not be represented as a multibyte sequence (according to the current locale), -1 is returned."
6280 msgstr "I<s> が NULL でない場合 B<wctomb>() 関数はバイト配列 I<s> に 書き込まれたバイト数を返す。I<wc> が(現在のロケールにおいて) マルチバイト列で表現できない場合には -1 を返す。"
6283 #: build/C/man3/wctomb.3:84
6284 msgid "If I<s> is NULL, the B<wctomb>() function returns nonzero if the encoding has nontrivial shift state, or zero if the encoding is stateless."
6285 msgstr "I<s> が NULL の場合 B<wctomb>() 関数は文字符号がシフト状態に 依存している場合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
6288 #: build/C/man3/wctomb.3:89
6289 msgid "The B<wctomb>() function is not thread-safe."
6290 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
6293 #: build/C/man3/wctomb.3:98
6294 msgid "The behavior of B<wctomb>() depends on the B<LC_CTYPE> category of the current locale."
6295 msgstr "B<wctomb>() 関数の動作は現在のロケールの B<LC_CTYPE> カテゴリに依存している。"
6298 #: build/C/man3/wctomb.3:103
6299 msgid "The function B<wcrtomb>(3) provides a better interface to the same functionality."
6300 msgstr "B<wcrtomb>(3) 関数は同じ機能のより良いインタフェースを提供する。"
6303 #: build/C/man3/wctomb.3:110
6304 msgid "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), B<wcstombs>(3)"
6305 msgstr "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), B<wcstombs>(3)"