OSDN Git Service

Unwrap ja.po to simplify upcoming replacements
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:25+0900\n"
10 "PO-Revision-Date: 2015-01-25 00:20+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/MB_CUR_MAX.3:17
20 #, no-wrap
21 msgid "MB_CUR_MAX"
22 msgstr "MB_CUR_MAX"
23
24 #. type: TH
25 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
26 #, no-wrap
27 msgid "1999-07-04"
28 msgstr "1999-07-04"
29
30 #. type: TH
31 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
32 #: build/C/man2/_exit.2:29 build/C/man3/atexit.3:33 build/C/man3/clearenv.3:26
33 #: build/C/man3/exit.3:29 build/C/man3/getloadavg.3:34
34 #: build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
35 #, no-wrap
36 msgid "Linux"
37 msgstr "Linux"
38
39 #. type: TH
40 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
41 #: build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33
42 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33
43 #: build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24
44 #: build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30
45 #: build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30
46 #: build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29
47 #: build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34
48 #: build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33
49 #: build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16
50 #: build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35
51 #: build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36
52 #: build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33
53 #: build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29
54 #: build/C/man3/setenv.3:37 build/C/man3/strtod.3:45
55 #: build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31
56 #: build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13
57 #: build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
58 #, no-wrap
59 msgid "Linux Programmer's Manual"
60 msgstr "Linux Programmer's Manual"
61
62 #. type: SH
63 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18
64 #: build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34
65 #: build/C/man3/atof.3:32 build/C/man3/atoi.3:34
66 #: build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25
67 #: build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31
68 #: build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31
69 #: build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30
70 #: build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35
71 #: build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34
72 #: build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17
73 #: build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36
74 #: build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37
75 #: build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34
76 #: build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30
77 #: build/C/man3/setenv.3:38 build/C/man3/strtod.3:46
78 #: build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32
79 #: build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14
80 #: build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
81 #, no-wrap
82 msgid "NAME"
83 msgstr "名前"
84
85 #. type: Plain text
86 #: build/C/man3/MB_CUR_MAX.3:20
87 msgid "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
88 msgstr "MB_CUR_MAX - 現在のロケールでのマルチバイト文字の最大長"
89
90 #. type: SH
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
109 #, no-wrap
110 msgid "SYNOPSIS"
111 msgstr "書式"
112
113 #. type: Plain text
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
126 #, no-wrap
127 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
128 msgstr "B<#include E<lt>stdlib.hE<gt>>\n"
129
130 #. type: SH
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
149 #, no-wrap
150 msgid "DESCRIPTION"
151 msgstr "説明"
152
153 #. type: Plain text
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> マクロは、現在のロケールで一つのワイド文字を表現するために必要な 最大バイト数を表す整数表現を定義する。 これはロケール依存であり、コンパイル時に決まる定数ではない。"
157
158 #. type: SH
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
176 #, no-wrap
177 msgid "RETURN VALUE"
178 msgstr "返り値"
179
180 #. type: Plain text
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 エンコードされた文字を意味する。"
184
185 #. type: SH
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
205 #, no-wrap
206 msgid "CONFORMING TO"
207 msgstr "準拠"
208
209 #. type: Plain text
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."
214
215 #. type: SH
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
236 #, no-wrap
237 msgid "SEE ALSO"
238 msgstr "関連項目"
239
240 #. type: Plain text
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)"
244
245 #. type: SH
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
266 #, no-wrap
267 msgid "COLOPHON"
268 msgstr "この文書について"
269
270 #. type: Plain text
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/."
292 msgstr ""
293 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
294 "である。プロジェクトの説明とバグ報告に関する情報は\n"
295 "http://www.kernel.org/doc/man-pages/ に書かれている。"
296
297 #. type: TH
298 #: build/C/man3/MB_LEN_MAX.3:17
299 #, no-wrap
300 msgid "MB_LEN_MAX"
301 msgstr "MB_LEN_MAX"
302
303 #. type: Plain text
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文字の最大マルチバイト長"
307
308 #. type: Plain text
309 #: build/C/man3/MB_LEN_MAX.3:23
310 #, no-wrap
311 msgid "B<#include E<lt>limits.hE<gt>>\n"
312 msgstr "B<#include E<lt>limits.hE<gt>>\n"
313
314 #. type: Plain text
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> マクロは、全てのロケールで一つのワイド文字を表現するために必要となる 最大バイト数である。"
318
319 #. type: Plain text
320 #: build/C/man3/MB_LEN_MAX.3:31
321 msgid "A constant integer greater than zero."
322 msgstr "0 より大きいの整数型の定数。"
323
324 #. type: SH
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
337 #, no-wrap
338 msgid "NOTES"
339 msgstr "注意"
340
341 #. type: Plain text
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 である。"
345
346 #. type: Plain text
347 #: build/C/man3/MB_LEN_MAX.3:46
348 msgid "B<MB_CUR_MAX>(3)"
349 msgstr "B<MB_CUR_MAX>(3)"
350
351 #. type: TH
352 #: build/C/man2/_exit.2:29
353 #, no-wrap
354 msgid "_EXIT"
355 msgstr "_EXIT"
356
357 #. type: TH
358 #: build/C/man2/_exit.2:29
359 #, no-wrap
360 msgid "2015-01-22"
361 msgstr "2015-01-22"
362
363 #. type: Plain text
364 #: build/C/man2/_exit.2:32
365 msgid "_exit, _Exit - terminate the calling process"
366 msgstr "_exit, _Exit - 呼び出し元のプロセスを終了させる"
367
368 #. type: Plain text
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>>"
372
373 #. type: Plain text
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<);>"
377
378 #. type: Plain text
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>>"
385
386 #. type: Plain text
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<);>"
390
391 #. type: Plain text
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)  参照):"
405
406 #. type: Plain text
407 #: build/C/man2/_exit.2:48
408 msgid "B<_Exit>():"
409 msgstr "B<_Exit>():"
410
411 #. type: Plain text
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;"
415
416 #. type: Plain text
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>"
421
422 #. type: Plain text
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> シグナルが送出される。"
426
427 #. type: Plain text
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)  系関数を利用することによって取得することができる。"
431
432 #. type: Plain text
433 #: build/C/man2/_exit.2:79
434 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
435 msgstr "関数 B<_Exit>()  は B<_exit>()  と等価である。"
436
437 #. type: Plain text
438 #: build/C/man2/_exit.2:81
439 msgid "These functions do not return."
440 msgstr "これらの関数は値を返さない。"
441
442 #. type: Plain text
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 で導入された。"
446
447 #. type: Plain text
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)."
450 msgstr ""
451 "exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル送出などに\n"
452 "ついての議論は、 B<exit>(3) を参照すること。"
453
454 #. type: Plain text
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 がキャンセルされるのかは実装に依存する。"
458
459 #. type: SS
460 #: build/C/man2/_exit.2:117
461 #, no-wrap
462 msgid "C library/kernel ABI differences"
463 msgstr "C ライブラリとカーネル ABI の違い"
464
465 #. type: Plain text
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)  を起動する。"
469
470 #. type: Plain text
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)"
474
475 #. type: TH
476 #: build/C/man3/a64l.3:9
477 #, no-wrap
478 msgid "A64L"
479 msgstr "A64L"
480
481 #. type: TH
482 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
483 #, no-wrap
484 msgid "2014-05-28"
485 msgstr "2014-05-28"
486
487 #. type: Plain text
488 #: build/C/man3/a64l.3:12
489 msgid "a64l, l64a - convert between long and base-64"
490 msgstr "a64l, l64a - long と base-64 を変換する"
491
492 #. type: Plain text
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<);>"
496
497 #. type: Plain text
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<);>"
501
502 #. type: Plain text
503 #: build/C/man3/a64l.3:26
504 msgid "B<a64l>(), B<l64a>():"
505 msgstr "B<a64l>(), B<l64a>():"
506
507 #. type: Plain text
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"
511
512 #. type: Plain text
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) する。"
516
517 #. type: Plain text
518 #: build/C/man3/a64l.3:50
519 msgid "The 64 digits in the base-64 system are:"
520 msgstr "base-64 システムで使われる 64 個の文字は以下の通りである:"
521
522 #. type: Plain text
523 #: build/C/man3/a64l.3:58
524 #, no-wrap
525 msgid ""
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"
531 msgstr ""
532 "\\&\\(aq.\\(aq\tは 0 を表す。\n"
533 "\\&\\(aq/\\(aq\tは 1 を表す。\n"
534 "0-9\tは 2-11 を表す。\n"
535 "A-Z\tは 12-37 を表す。\n"
536 "a-z\tは 38-63 を表す。\n"
537
538 #. type: Plain text
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/\" である。"
542
543 #. type: SH
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
554 #, no-wrap
555 msgid "ATTRIBUTES"
556 msgstr "属性"
557
558 #. type: SS
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
569 #, no-wrap
570 msgid "Multithreading (see pthreads(7))"
571 msgstr "マルチスレッディング (pthreads(7) 参照)"
572
573 #. type: Plain text
574 #: build/C/man3/a64l.3:67
575 msgid "The B<l64a>()  function is not thread-safe."
576 msgstr "B<l64a>() 関数はスレッドセーフではない。"
577
578 #. type: Plain text
579 #: build/C/man3/a64l.3:71
580 msgid "The B<a64l>()  function is thread-safe."
581 msgstr "B<a64l>() 関数はスレッドセーフである。"
582
583 #. type: Plain text
584 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
585 msgid "POSIX.1-2001."
586 msgstr "POSIX.1-2001."
587
588 #. type: Plain text
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>()  で返される値は静的バッファへのポインタかもしれないので、 以降の呼び出しで上書きされる可能性がある。"
592
593 #. type: Plain text
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 の場合は空文字列を返す。"
597
598 #. type: Plain text
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 以前では間違っている (最上位デジットを最初にしている)。"
602
603 #. type: Plain text
604 #: build/C/man3/a64l.3:93
605 msgid "This is not the encoding used by B<uuencode>(1)."
606 msgstr "これは B<uuencode>(1)  で使われるエンコーディングではない。"
607
608 #.  .BR itoa (3),
609 #. type: Plain text
610 #: build/C/man3/a64l.3:97
611 msgid "B<uuencode>(1), B<strtoul>(3)"
612 msgstr "B<uuencode>(1), B<strtoul>(3)"
613
614 #. type: TH
615 #: build/C/man3/atexit.3:33
616 #, no-wrap
617 msgid "ATEXIT"
618 msgstr "ATEXIT"
619
620 #. type: TH
621 #: build/C/man3/atexit.3:33
622 #, no-wrap
623 msgid "2008-12-05"
624 msgstr "2008-12-05"
625
626 #. type: Plain text
627 #: build/C/man3/atexit.3:36
628 msgid "atexit - register a function to be called at normal process termination"
629 msgstr "atexit - プロセスが正常終了した時に呼び出される関数を登録する"
630
631 #. type: Plain text
632 #: build/C/man3/atexit.3:41
633 #, no-wrap
634 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
635 msgstr "B<int atexit(void (*>I<function>B<)(void));>\n"
636
637 #. type: Plain text
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>()  関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出される。 登録した関数に引き数は渡されない。"
641
642 #. type: Plain text
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 回呼び出される。"
646
647 #. type: Plain text
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)  を使って取得できる。"
651
652 #. type: Plain text
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."
655 msgstr ""
656 "B<fork>(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承する。\n"
657 "B<exec>(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除される。"
658
659 #. type: Plain text
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 以外の値を返す。"
663
664 #. type: Plain text
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."
668
669 #. type: Plain text
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))  を使って登録された関数は、 シグナルの配送によりプロセスが異常終了した場合には呼び出されない。"
673
674 #. type: Plain text
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)  により実行される他のプロセス終了ステップは実行されない。"
678
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.
683 #. type: Plain text
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)  を起動すべきではない。"
687
688 #. type: Plain text
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)  は、同じリストに対して関数を登録する。 プロセスが正常に終了した際には、 これらの二つの関数で登録された順序の逆順で、 登録された関数が起動される。"
692
693 #.  In glibc, things seem to be handled okay
694 #. type: Plain text
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)  が使用された場合の結果は未定義である。"
698
699 #. type: SS
700 #: build/C/man3/atexit.3:124
701 #, no-wrap
702 msgid "Linux notes"
703 msgstr "Linux での注意"
704
705 #. type: Plain text
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))  を使用することができる。"
709
710 #. type: SH
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
715 #, no-wrap
716 msgid "EXAMPLE"
717 msgstr "例"
718
719 #. type: Plain text
720 #: build/C/man3/atexit.3:136
721 #, no-wrap
722 msgid ""
723 "#include E<lt>stdio.hE<gt>\n"
724 "#include E<lt>stdlib.hE<gt>\n"
725 "#include E<lt>unistd.hE<gt>\n"
726 msgstr ""
727 "#include E<lt>stdio.hE<gt>\n"
728 "#include E<lt>stdlib.hE<gt>\n"
729 "#include E<lt>unistd.hE<gt>\n"
730
731 #. type: Plain text
732 #: build/C/man3/atexit.3:142
733 #, no-wrap
734 msgid ""
735 "void\n"
736 "bye(void)\n"
737 "{\n"
738 "    printf(\"That was all, folks\\en\");\n"
739 "}\n"
740 msgstr ""
741 "void\n"
742 "bye(void)\n"
743 "{\n"
744 "    printf(\"That was all, folks\\en\");\n"
745 "}\n"
746
747 #. type: Plain text
748 #: build/C/man3/atexit.3:148
749 #, no-wrap
750 msgid ""
751 "int\n"
752 "main(void)\n"
753 "{\n"
754 "    long a;\n"
755 "    int i;\n"
756 msgstr ""
757 "int\n"
758 "main(void)\n"
759 "{\n"
760 "    long a;\n"
761 "    int i;\n"
762
763 #. type: Plain text
764 #: build/C/man3/atexit.3:151
765 #, no-wrap
766 msgid ""
767 "    a = sysconf(_SC_ATEXIT_MAX);\n"
768 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
769 msgstr ""
770 "    a = sysconf(_SC_ATEXIT_MAX);\n"
771 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
772
773 #. type: Plain text
774 #: build/C/man3/atexit.3:157
775 #, no-wrap
776 msgid ""
777 "    i = atexit(bye);\n"
778 "    if (i != 0) {\n"
779 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
780 "        exit(EXIT_FAILURE);\n"
781 "    }\n"
782 msgstr ""
783 "    i = atexit(bye);\n"
784 "    if (i != 0) {\n"
785 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
786 "        exit(EXIT_FAILURE);\n"
787 "    }\n"
788
789 #. type: Plain text
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
793 #, no-wrap
794 msgid ""
795 "    exit(EXIT_SUCCESS);\n"
796 "}\n"
797 msgstr ""
798 "    exit(EXIT_SUCCESS);\n"
799 "}\n"
800
801 #. type: Plain text
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)"
805
806 #. type: TH
807 #: build/C/man3/atof.3:31
808 #, no-wrap
809 msgid "ATOF"
810 msgstr "ATOF"
811
812 #. type: TH
813 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
814 #, no-wrap
815 msgid "2014-01-22"
816 msgstr "2014-01-22"
817
818 #. type: TH
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
831 #, no-wrap
832 msgid "GNU"
833 msgstr "GNU"
834
835 #. type: Plain text
836 #: build/C/man3/atof.3:34
837 msgid "atof - convert a string to a double"
838 msgstr "atof - 文字列を double 型の数値に変換"
839
840 #. type: Plain text
841 #: build/C/man3/atof.3:39
842 #, no-wrap
843 msgid "B<double atof(const char *>I<nptr>B<);>\n"
844 msgstr "B<double atof(const char *>I<nptr>B<);>\n"
845
846 #. type: Plain text
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>()  関数がエラーを見つけないことを除いては、"
850
851 #. type: Plain text
852 #: build/C/man3/atof.3:50
853 msgid "strtod(nptr, NULL);"
854 msgstr "strtod(nptr, NULL);"
855
856 #. type: Plain text
857 #: build/C/man3/atof.3:55
858 msgid "except that B<atof>()  does not detect errors."
859 msgstr "と同じである。"
860
861 #. type: Plain text
862 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
863 msgid "The converted value."
864 msgstr "変換された値。"
865
866 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
870
871 #. type: Plain text
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."
875
876 #. type: Plain text
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)"
880
881 #. type: TH
882 #: build/C/man3/atoi.3:33
883 #, no-wrap
884 msgid "ATOI"
885 msgstr "ATOI"
886
887 #. type: TH
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
892 #, no-wrap
893 msgid "2014-08-19"
894 msgstr "2014-08-19"
895
896 #. type: Plain text
897 #: build/C/man3/atoi.3:36
898 msgid "atoi, atol, atoll - convert a string to an integer"
899 msgstr "atoi, atol, atoll - 文字列を整数型に変換する"
900
901 #. type: Plain text
902 #: build/C/man3/atoi.3:41
903 #, no-wrap
904 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
905 msgstr "B<int atoi(const char *>I<nptr>B<);>\n"
906
907 #. type: Plain text
908 #: build/C/man3/atoi.3:43
909 #, no-wrap
910 msgid "B<long atol(const char *>I<nptr>B<);>\n"
911 msgstr "B<long atol(const char *>I<nptr>B<);>\n"
912
913 #. type: Plain text
914 #: build/C/man3/atoi.3:45
915 #, no-wrap
916 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
917 msgstr "B<long long atoll(const char *>I<nptr>B<);>\n"
918
919 #. type: Plain text
920 #: build/C/man3/atoi.3:54
921 msgid "B<atoll>():"
922 msgstr "B<atoll>():"
923
924 #. type: Plain text
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;"
928
929 #. type: Plain text
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>()  関数がエラーを見つけない点以外は、"
933
934 #. type: Plain text
935 #: build/C/man3/atoi.3:72
936 msgid "strtol(nptr, NULL, 10);"
937 msgstr "strtol(nptr, NULL, 10);"
938
939 #. type: Plain text
940 #: build/C/man3/atoi.3:77
941 msgid "except that B<atoi>()  does not detect errors."
942 msgstr "と同じである。"
943
944 #. type: Plain text
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> に変換する。"
948
949 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
953
954 #. type: Plain text
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>()  だけが含まれている。"
958
959 #.  The
960 #.  .BR atoll ()
961 #.  function is present in glibc 2 since version 2.0.2, but
962 #.  not in libc4 or libc5.
963 #. type: Plain text
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>() は提供されていない。"
967
968 #. type: Plain text
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)"
972
973 #. type: TH
974 #: build/C/man3/canonicalize_file_name.3:26
975 #, no-wrap
976 msgid "CANONICALIZE_FILE_NAME"
977 msgstr "CANONICALIZE_FILE_NAME"
978
979 #. type: TH
980 #: build/C/man3/canonicalize_file_name.3:26
981 #, no-wrap
982 msgid "2013-05-11"
983 msgstr "2013-05-11"
984
985 #. type: Plain text
986 #: build/C/man3/canonicalize_file_name.3:29
987 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
988 msgstr "canonicalize_file_name - 正規化された絶対パス名を返す"
989
990 #. type: Plain text
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) 参照 */"
994
995 #. type: Plain text
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<);>"
999
1000 #. type: Plain text
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</>) 文字はスラッシュ一つに置換される。"
1004
1005 #. type: Plain text
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) で解放すべきである。"
1009
1010 #. type: Plain text
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)> は以下と等価である。"
1014
1015 #. type: Plain text
1016 #: build/C/man3/canonicalize_file_name.3:61
1017 #, no-wrap
1018 msgid "    realpath(path, NULL);\n"
1019 msgstr "    realpath(path, NULL);\n"
1020
1021 #. type: Plain text
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> にエラー内容を示す値を設定する。"
1025
1026 #. type: SH
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
1033 #, no-wrap
1034 msgid "ERRORS"
1035 msgstr "エラー"
1036
1037 #. type: Plain text
1038 #: build/C/man3/canonicalize_file_name.3:73
1039 msgid "See B<realpath>(3)."
1040 msgstr "B<realpath>(3) 参照。"
1041
1042 #. type: Plain text
1043 #: build/C/man3/canonicalize_file_name.3:75
1044 msgid "This function is a GNU extension."
1045 msgstr "この関数は GNU による拡張である。"
1046
1047 #. type: Plain text
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)"
1051
1052 #. type: TH
1053 #: build/C/man3/cfree.3:24
1054 #, no-wrap
1055 msgid "CFREE"
1056 msgstr "CFREE"
1057
1058 #. type: TH
1059 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
1060 #, no-wrap
1061 msgid "2007-07-26"
1062 msgstr "2007-07-26"
1063
1064 #. type: Plain text
1065 #: build/C/man3/cfree.3:27
1066 msgid "cfree - free allocated memory"
1067 msgstr "cfree - 割り当てられたメモリを解放する"
1068
1069 #. type: Plain text
1070 #: build/C/man3/cfree.3:34
1071 #, no-wrap
1072 msgid ""
1073 "/* In SunOS 4 */\n"
1074 "B<int cfree(void *>I<ptr>B<);>\n"
1075 msgstr ""
1076 "/* SunOS 4 では */\n"
1077 "B<int cfree(void *>I<ptr>B<);>\n"
1078
1079 #. type: Plain text
1080 #: build/C/man3/cfree.3:37
1081 #, no-wrap
1082 msgid ""
1083 "/* In glibc or FreeBSD libcompat */\n"
1084 "B<void cfree(void *>I<ptr>B<);>\n"
1085 msgstr ""
1086 "/* glibc と FreeBSD libcompat では */\n"
1087 "B<void cfree(void *>I<ptr>B<);>\n"
1088
1089 #. type: Plain text
1090 #: build/C/man3/cfree.3:40
1091 #, no-wrap
1092 msgid ""
1093 "/* In SCO OpenServer */\n"
1094 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1095 msgstr ""
1096 "/* SCO OpenServer では */\n"
1097 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
1098
1099 #. type: Plain text
1100 #: build/C/man3/cfree.3:43
1101 #, no-wrap
1102 msgid ""
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"
1105 msgstr ""
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"
1108
1109 #. type: Plain text
1110 #: build/C/man3/cfree.3:52
1111 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1112 msgstr "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
1113
1114 #. type: Plain text
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)  を使うこと。"
1118
1119 #. type: SS
1120 #: build/C/man3/cfree.3:57
1121 #, no-wrap
1122 msgid "1-arg cfree"
1123 msgstr "引き数が 1 つの cfree"
1124
1125 #. type: Plain text
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 との互換性のために追加された」。"
1129
1130 #. type: Plain text
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>> に存在する場合もある。"
1134
1135 #. type: SS
1136 #: build/C/man3/cfree.3:69
1137 #, no-wrap
1138 msgid "3-arg cfree"
1139 msgstr "引き数が 3 つの cfree"
1140
1141 #. type: Plain text
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)  に類似している。"
1145
1146 #. type: Plain text
1147 #: build/C/man3/cfree.3:76
1148 msgid "If you need it while porting something, add"
1149 msgstr "何かを移植する時にこの関数が必要な場合、"
1150
1151 #. type: Plain text
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))"
1155
1156 #. type: Plain text
1157 #: build/C/man3/cfree.3:82
1158 msgid "to your file."
1159 msgstr "をファイルに追加すること。"
1160
1161 #. type: Plain text
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)  を使うこと。"
1165
1166 #. type: Plain text
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 引き数は使用されない。」"
1170
1171 #. type: Plain text
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 つで以前に割り当てられた ブロックへのポインタでない。"
1175
1176 #. type: Plain text
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 版) に準拠する。"
1180
1181 #. type: Plain text
1182 #: build/C/man3/cfree.3:119
1183 msgid "B<malloc>(3)"
1184 msgstr "B<malloc>(3)"
1185
1186 #. type: TH
1187 #: build/C/man3/clearenv.3:26
1188 #, no-wrap
1189 msgid "CLEARENV"
1190 msgstr "CLEARENV"
1191
1192 #. type: Plain text
1193 #: build/C/man3/clearenv.3:29
1194 msgid "clearenv - clear the environment"
1195 msgstr "clearenv - 環境 (environment) をクリアする"
1196
1197 #. type: Plain text
1198 #: build/C/man3/clearenv.3:34
1199 #, no-wrap
1200 msgid "B<int clearenv(void);>\n"
1201 msgstr "B<int clearenv(void);>\n"
1202
1203 #. type: Plain text
1204 #: build/C/man3/clearenv.3:43
1205 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1206 msgstr "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1207
1208 #. type: Plain text
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 にする。"
1212
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".
1215 #. type: Plain text
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 以外を返す。"
1219
1220 #. type: SH
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
1224 #, no-wrap
1225 msgid "VERSIONS"
1226 msgstr "バージョン"
1227
1228 #. type: Plain text
1229 #: build/C/man3/clearenv.3:59
1230 msgid "Available since glibc 2.0."
1231 msgstr "glibc 2.0 以降で利用可能。"
1232
1233 #. type: Plain text
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>()  の追加は否決された。"
1237
1238 #. type: Plain text
1239 #: build/C/man3/clearenv.3:77
1240 msgid "Used in security-conscious applications.  If it is unavailable the assignment"
1241 msgstr "この関数はセキュリティに考慮したアプリケーションで使われる。 この関数が使用できない場合は、"
1242
1243 #. type: Plain text
1244 #: build/C/man3/clearenv.3:80
1245 #, no-wrap
1246 msgid "    environ = NULL;\n"
1247 msgstr "    environ = NULL;\n"
1248
1249 #. type: Plain text
1250 #: build/C/man3/clearenv.3:83
1251 msgid "will probably do."
1252 msgstr "というように変数 environ を設定すればよい。"
1253
1254 #.  .LP
1255 #.  HP-UX has a ENOMEM error return.
1256 #. type: Plain text
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>()  はエラーを返し、プロセス環境は変更前のままにされる。"
1260
1261 #. type: Plain text
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)"
1265
1266 #. type: TH
1267 #: build/C/man3/drand48.3:30
1268 #, no-wrap
1269 msgid "DRAND48"
1270 msgstr "DRAND48"
1271
1272 #. type: TH
1273 #: build/C/man3/drand48.3:30
1274 #, no-wrap
1275 msgid "2014-09-21"
1276 msgstr "2014-09-21"
1277
1278 #. type: Plain text
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 - 一様分布する疑似乱数を生成する関数"
1282
1283 #. type: Plain text
1284 #: build/C/man3/drand48.3:39
1285 #, no-wrap
1286 msgid "B<double drand48(void);>\n"
1287 msgstr "B<double drand48(void);>\n"
1288
1289 #. type: Plain text
1290 #: build/C/man3/drand48.3:41
1291 #, no-wrap
1292 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1293 msgstr "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1294
1295 #. type: Plain text
1296 #: build/C/man3/drand48.3:43
1297 #, no-wrap
1298 msgid "B<long int lrand48(void);>\n"
1299 msgstr "B<long int lrand48(void);>\n"
1300
1301 #. type: Plain text
1302 #: build/C/man3/drand48.3:45
1303 #, no-wrap
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"
1306
1307 #. type: Plain text
1308 #: build/C/man3/drand48.3:47
1309 #, no-wrap
1310 msgid "B<long int mrand48(void);>\n"
1311 msgstr "B<long int mrand48(void);>\n"
1312
1313 #. type: Plain text
1314 #: build/C/man3/drand48.3:49
1315 #, no-wrap
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"
1318
1319 #. type: Plain text
1320 #: build/C/man3/drand48.3:51
1321 #, no-wrap
1322 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1323 msgstr "B<void srand48(long int >I<seedval>B<);>\n"
1324
1325 #. type: Plain text
1326 #: build/C/man3/drand48.3:53
1327 #, no-wrap
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"
1330
1331 #. type: Plain text
1332 #: build/C/man3/drand48.3:55
1333 #, no-wrap
1334 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1335 msgstr "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1336
1337 #.  .BR drand48 (),
1338 #.  .BR erand48 (),
1339 #.  .BR lrand48 (),
1340 #.  .BR nrand48 (),
1341 #.  .BR mrand48 (),
1342 #.  .BR jrand48 (),
1343 #.  .BR srand48 (),
1344 #.  .BR seed48 (),
1345 #.  .BR lcong48 ():
1346 #. type: Plain text
1347 #: build/C/man3/drand48.3:74
1348 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1349 msgstr "上記の全ての関数: _SVID_SOURCE || _XOPEN_SOURCE"
1350
1351 #. type: Plain text
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ビット整数演算を用いて 疑似乱数を生成する。"
1355
1356 #. type: Plain text
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) で 一様分布する非負の倍精度浮動小数点実数値を返す。"
1360
1361 #. type: Plain text
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 の間で一様分布する 非負のロング整数を返す。"
1365
1366 #. type: Plain text
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 の間で一様分布する符号付きロング整数を返す。"
1370
1371 #. type: Plain text
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>()  は初めに 初期化関数を呼ぶことを必要としない。"
1375
1376 #. type: Plain text
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>) を生成することで 機能している。生成方法は以下の線形合同の式による。"
1380
1381 #. type: Plain text
1382 #: build/C/man3/drand48.3:127
1383 #, no-wrap
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"
1386
1387 #. type: Plain text
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> は以下の式で与えられる。"
1391
1392 #. type: Plain text
1393 #: build/C/man3/drand48.3:145
1394 #, no-wrap
1395 msgid ""
1396 "B<a = 0x5DEECE66D>\n"
1397 "B<c = 0xB>\n"
1398 msgstr ""
1399 "B<a = 0x5DEECE66D>\n"
1400 "B<c = 0xB>\n"
1401
1402 #. type: Plain text
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> の上位ビットからコピーされる。 最後に、この値を返り値に変換する。"
1406
1407 #. type: Plain text
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> の初期値を配列に 代入することで初期化される。"
1411
1412 #. type: Plain text
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に設定される。"
1416
1417 #. type: Plain text
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>()  によって返される。"
1421
1422 #. type: Plain text
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> の 標準値が再び設定される。"
1426
1427 #. type: Plain text
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>() は、 乱数生成に使用する状態情報をグローバルに保持する。 そのため、 これらの関数はスレッドセーフではない。"
1431
1432 #. type: Plain text
1433 #: build/C/man3/drand48.3:262
1434 msgid "SVr4, POSIX.1-2001."
1435 msgstr "SVr4, POSIX.1-2001."
1436
1437 #. type: Plain text
1438 #: build/C/man3/drand48.3:265
1439 msgid "B<rand>(3), B<random>(3)"
1440 msgstr "B<rand>(3), B<random>(3)"
1441
1442 #. type: TH
1443 #: build/C/man3/drand48_r.3:27
1444 #, no-wrap
1445 msgid "DRAND48_R"
1446 msgstr "DRAND48_R"
1447
1448 #. type: TH
1449 #: build/C/man3/drand48_r.3:27
1450 #, no-wrap
1451 msgid "2013-09-09"
1452 msgstr "2013-09-09"
1453
1454 #. type: Plain text
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) に生成する"
1458
1459 #. type: Plain text
1460 #: build/C/man3/drand48_r.3:37
1461 #, no-wrap
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"
1464
1465 #. type: Plain text
1466 #: build/C/man3/drand48_r.3:39
1467 #, no-wrap
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"
1470
1471 #. type: Plain text
1472 #: build/C/man3/drand48_r.3:41
1473 #, no-wrap
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"
1476
1477 #. type: Plain text
1478 #: build/C/man3/drand48_r.3:43
1479 #, no-wrap
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"
1482
1483 #. type: Plain text
1484 #: build/C/man3/drand48_r.3:45
1485 #, no-wrap
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"
1488
1489 #. type: Plain text
1490 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1491 #, no-wrap
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"
1494
1495 #. type: Plain text
1496 #: build/C/man3/drand48_r.3:49
1497 #, no-wrap
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"
1500
1501 #. type: Plain text
1502 #: build/C/man3/drand48_r.3:51
1503 #, no-wrap
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"
1506
1507 #. type: Plain text
1508 #: build/C/man3/drand48_r.3:55
1509 #, no-wrap
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"
1512
1513 #. type: Plain text
1514 #: build/C/man3/drand48_r.3:57
1515 #, no-wrap
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"
1518
1519 #. type: Plain text
1520 #: build/C/man3/drand48_r.3:59
1521 #, no-wrap
1522 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1523 msgstr "B<             struct drand48_data *>I<buffer>B<);>\n"
1524
1525 #. type: Plain text
1526 #: build/C/man3/drand48_r.3:61
1527 #, no-wrap
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"
1530
1531 #. type: Plain text
1532 #: build/C/man3/drand48_r.3:63
1533 #, no-wrap
1534 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1535 msgstr "B<              struct drand48_data *>I<buffer>B<);>\n"
1536
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 (),
1544 #.  .BR seed48_r (),
1545 #.  .BR lcong48_r ():
1546 #. type: Plain text
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"
1550
1551 #. type: Plain text
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> を使う。"
1555
1556 #. type: Plain text
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>()  のいずれかを呼び出すことによって行われる。"
1560
1561 #. type: Plain text
1562 #: build/C/man3/drand48_r.3:98
1563 msgid "The return value is 0."
1564 msgstr "返り値は 0 である。"
1565
1566 #. type: Plain text
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>() はスレッドセーフである。"
1570
1571 #. type: Plain text
1572 #: build/C/man3/drand48_r.3:114
1573 msgid "These functions are GNU extensions and are not portable."
1574 msgstr "これらの関数は GNU による拡張であり、移植性はない。"
1575
1576 #. type: Plain text
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)"
1580
1581 #. type: TH
1582 #: build/C/man3/ecvt.3:32
1583 #, no-wrap
1584 msgid "ECVT"
1585 msgstr "ECVT"
1586
1587 #. type: Plain text
1588 #: build/C/man3/ecvt.3:35
1589 msgid "ecvt, fcvt - convert a floating-point number to a string"
1590 msgstr "ecvt, fcvt - 浮動小数点数の文字列への変換"
1591
1592 #. type: Plain text
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<);>"
1596
1597 #. type: Plain text
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<);>"
1601
1602 #. type: Plain text
1603 #: build/C/man3/ecvt.3:51
1604 msgid "B<ecvt>(), B<fcvt>():"
1605 msgstr "B<ecvt>(), B<fcvt>():"
1606
1607 #. type: TP
1608 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
1609 #, no-wrap
1610 msgid "Since glibc 2.12:"
1611 msgstr "glibc 2.12 以降:"
1612
1613 #. type: Plain text
1614 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
1615 #, no-wrap
1616 msgid ""
1617 "_SVID_SOURCE ||\n"
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"
1621 msgstr ""
1622 "_SVID_SOURCE ||\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"
1626
1627 #. type: TP
1628 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
1629 #, no-wrap
1630 msgid "Before glibc 2.12:"
1631 msgstr "glibc 2.12 より前:"
1632
1633 #. type: Plain text
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 かは未規定である。"
1637
1638 #. type: Plain text
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> は小数点以下の文字数を指定する。"
1642
1643 #. type: Plain text
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>()  の呼び出しのたびに上書きされる。"
1647
1648 #. type: Plain text
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>() はスレッドセーフではない。"
1652
1653 #. type: Plain text
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)  がより適切かもしれない)。"
1657
1658 #.  Linux libc4 and libc5 specified the type of
1659 #.  .I ndigits
1660 #.  as
1661 #.  .IR size_t .
1662 #. type: Plain text
1663 #: build/C/man3/ecvt.3:135
1664 msgid "Not all locales use a point as the radix character (\"decimal point\")."
1665 msgstr "小数点にピリオドを使わないロケールもある。"
1666
1667 #. type: Plain text
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)"
1671
1672 #. type: TH
1673 #: build/C/man3/ecvt_r.3:30
1674 #, no-wrap
1675 msgid "ECVT_R"
1676 msgstr "ECVT_R"
1677
1678 #. type: Plain text
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 - 浮動小数点数の文字列への変換"
1682
1683 #. type: Plain text
1684 #: build/C/man3/ecvt_r.3:39
1685 #, no-wrap
1686 msgid ""
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"
1689 msgstr ""
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"
1692
1693 #. type: Plain text
1694 #: build/C/man3/ecvt_r.3:42
1695 #, no-wrap
1696 msgid ""
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"
1699 msgstr ""
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"
1702
1703 #. type: Plain text
1704 #: build/C/man3/ecvt_r.3:45
1705 #, no-wrap
1706 msgid ""
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"
1709 msgstr ""
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"
1712
1713 #. type: Plain text
1714 #: build/C/man3/ecvt_r.3:48
1715 #, no-wrap
1716 msgid ""
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"
1719 msgstr ""
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"
1722
1723 #. type: Plain text
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>():"
1727
1728 #. type: Plain text
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"
1732
1733 #. type: Plain text
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)  を参照のこと。"
1737
1738 #. type: Plain text
1739 #: build/C/man3/ecvt_r.3:88
1740 msgid "These functions return 0 on success, and -1 otherwise."
1741 msgstr "これらの関数は成功すると 0 を、それ以外は -1 を返す。"
1742
1743 #. type: Plain text
1744 #: build/C/man3/ecvt_r.3:90
1745 msgid "These functions are GNU extensions."
1746 msgstr "これらの関数は GNU による拡張である。"
1747
1748 #. type: Plain text
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)  の使用を推奨する。"
1752
1753 #. type: Plain text
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)"
1757
1758 #. type: TH
1759 #: build/C/man3/exit.3:29
1760 #, no-wrap
1761 msgid "EXIT"
1762 msgstr "EXIT"
1763
1764 #. type: TH
1765 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
1766 #, no-wrap
1767 msgid "2014-03-25"
1768 msgstr "2014-03-25"
1769
1770 #. type: Plain text
1771 #: build/C/man3/exit.3:32
1772 msgid "exit - cause normal process termination"
1773 msgstr "exit - プロセスの正常終了"
1774
1775 #. type: Plain text
1776 #: build/C/man3/exit.3:37
1777 #, no-wrap
1778 msgid "B<void exit(int >I<status>B<);>\n"
1779 msgstr "B<void exit(int >I<status>B<);>\n"
1780
1781 #. type: Plain text
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)  を参照)。"
1785
1786 #. type: Plain text
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)  を使って複数回登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。"
1790
1791 #. type: Plain text
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)  によって作成されたファイルは削除される。"
1795
1796 #. type: Plain text
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>()  として渡すことができる。"
1800
1801 #. type: Plain text
1802 #: build/C/man3/exit.3:90
1803 msgid "The B<exit>()  function does not return."
1804 msgstr "B<exit>()  関数は返らない。"
1805
1806 #. type: Plain text
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>() 関数は保護されていないグローバル変数を使用しているため、スレッドセーフではない。"
1810
1811 #. type: Plain text
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."
1815
1816 #. type: Plain text
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) を使って登録された関数が削除される点に注意すること。"
1820
1821 #. type: Plain text
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 は別の方式を用いている。"
1825
1826 #. type: Plain text
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>> を参照すること。"
1830
1831 #. type: Plain text
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)  関数を呼び出すことで、 親プロセスは終了ステータスを知ることができる。"
1835
1836 #. type: Plain text
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> シグナルが送られるかどうかは定義されていない。"
1840
1841 #. type: Plain text
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> シグナルが送られ、端末がセッションから切り離される。 これにより新しい制御プロセスを取得することができる。"
1845
1846 #. type: Plain text
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)  を参照。"
1850
1851 #. type: Plain text
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)"
1855
1856 #. type: TH
1857 #: build/C/man3/gcvt.3:30
1858 #, no-wrap
1859 msgid "GCVT"
1860 msgstr "GCVT"
1861
1862 #. type: Plain text
1863 #: build/C/man3/gcvt.3:33
1864 msgid "gcvt - convert a floating-point number to a string"
1865 msgstr "gcvt - 浮動小数点数を文字列へ変換する"
1866
1867 #. type: Plain text
1868 #: build/C/man3/gcvt.3:38
1869 #, no-wrap
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"
1872
1873 #. type: Plain text
1874 #: build/C/man3/gcvt.3:46
1875 msgid "B<gcvt>():"
1876 msgstr "B<gcvt>():"
1877
1878 #. type: Plain text
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"
1882
1883 #. type: Plain text
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> 桁の 有効数字を生成する。"
1887
1888 #. type: Plain text
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> へのポインタを返す。"
1892
1893 #. type: Plain text
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)  の方が適切かもしれないが)。"
1897
1898 #. type: Plain text
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)"
1902
1903 #. type: TH
1904 #: build/C/man3/getauxval.3:29
1905 #, no-wrap
1906 msgid "GETAUXVAL"
1907 msgstr "GETAUXVAL"
1908
1909 #. type: Plain text
1910 #: build/C/man3/getauxval.3:32
1911 msgid "getauxval - retrieve a value from the auxiliary vector"
1912 msgstr ""
1913
1914 #. type: Plain text
1915 #: build/C/man3/getauxval.3:35
1916 #, no-wrap
1917 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
1918 msgstr "B<#include E<lt>sys/auxv.hE<gt>>\n"
1919
1920 #. type: Plain text
1921 #: build/C/man3/getauxval.3:37
1922 #, no-wrap
1923 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
1924 msgstr "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
1925
1926 #. type: Plain text
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."
1929 msgstr ""
1930
1931 #. type: Plain text
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."
1934 msgstr ""
1935
1936 #. type: Plain text
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."
1939 msgstr ""
1940
1941 #. type: TP
1942 #: build/C/man3/getauxval.3:60
1943 #, no-wrap
1944 msgid "B<AT_BASE>"
1945 msgstr "B<AT_BASE>"
1946
1947 #. type: Plain text
1948 #: build/C/man3/getauxval.3:63
1949 msgid "The base address of the program interpreter (usually, the dynamic linker)."
1950 msgstr ""
1951
1952 #. type: TP
1953 #: build/C/man3/getauxval.3:63
1954 #, no-wrap
1955 msgid "B<AT_BASE_PLATFORM>"
1956 msgstr "B<AT_BASE_PLATFORM>"
1957
1958 #. type: Plain text
1959 #: build/C/man3/getauxval.3:68
1960 msgid "A string identifying the real platform; may differ from B<AT_PLATFORM> (PowerPC only)."
1961 msgstr ""
1962
1963 #. type: TP
1964 #: build/C/man3/getauxval.3:68
1965 #, no-wrap
1966 msgid "B<AT_CLKTCK>"
1967 msgstr "B<AT_CLKTCK>"
1968
1969 #. type: Plain text
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)>."
1972 msgstr ""
1973
1974 #. type: TP
1975 #: build/C/man3/getauxval.3:75
1976 #, no-wrap
1977 msgid "B<AT_DCACHEBSIZE>"
1978 msgstr "B<AT_DCACHEBSIZE>"
1979
1980 #. type: Plain text
1981 #: build/C/man3/getauxval.3:78
1982 msgid "The data cache block size."
1983 msgstr ""
1984
1985 #. type: TP
1986 #: build/C/man3/getauxval.3:78
1987 #, no-wrap
1988 msgid "B<AT_EGID>"
1989 msgstr "B<AT_EGID>"
1990
1991 #. type: Plain text
1992 #: build/C/man3/getauxval.3:81
1993 msgid "The effective group ID of the thread."
1994 msgstr ""
1995
1996 #. type: TP
1997 #: build/C/man3/getauxval.3:81
1998 #, no-wrap
1999 msgid "B<AT_ENTRY>"
2000 msgstr "B<AT_ENTRY>"
2001
2002 #. type: Plain text
2003 #: build/C/man3/getauxval.3:84
2004 msgid "The entry address of the executable."
2005 msgstr ""
2006
2007 #. type: TP
2008 #: build/C/man3/getauxval.3:84
2009 #, no-wrap
2010 msgid "B<AT_EUID>"
2011 msgstr "B<AT_EUID>"
2012
2013 #. type: Plain text
2014 #: build/C/man3/getauxval.3:87
2015 msgid "The effective user ID of the thread."
2016 msgstr ""
2017
2018 #. type: TP
2019 #: build/C/man3/getauxval.3:87
2020 #, no-wrap
2021 msgid "B<AT_EXECFD>"
2022 msgstr "B<AT_EXECFD>"
2023
2024 #. type: Plain text
2025 #: build/C/man3/getauxval.3:90
2026 msgid "File descriptor of program."
2027 msgstr ""
2028
2029 #. type: TP
2030 #: build/C/man3/getauxval.3:90
2031 #, no-wrap
2032 msgid "B<AT_EXECFN>"
2033 msgstr "B<AT_EXECFN>"
2034
2035 #. type: Plain text
2036 #: build/C/man3/getauxval.3:93
2037 msgid "Pathname used to execute program."
2038 msgstr ""
2039
2040 #. type: TP
2041 #: build/C/man3/getauxval.3:93
2042 #, no-wrap
2043 msgid "B<AT_FLAGS>"
2044 msgstr "B<AT_FLAGS>"
2045
2046 #. type: Plain text
2047 #: build/C/man3/getauxval.3:96
2048 msgid "Flags (unused)."
2049 msgstr ""
2050
2051 #. type: TP
2052 #: build/C/man3/getauxval.3:96
2053 #, no-wrap
2054 msgid "B<AT_FPUCW>"
2055 msgstr "B<AT_FPUCW>"
2056
2057 #. type: Plain text
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."
2060 msgstr ""
2061
2062 #. type: TP
2063 #: build/C/man3/getauxval.3:101
2064 #, no-wrap
2065 msgid "B<AT_GID>"
2066 msgstr "B<AT_GID>"
2067
2068 #. type: Plain text
2069 #: build/C/man3/getauxval.3:104
2070 msgid "The real group ID of the thread."
2071 msgstr ""
2072
2073 #. type: TP
2074 #: build/C/man3/getauxval.3:104
2075 #, no-wrap
2076 msgid "B<AT_HWCAP>"
2077 msgstr "B<AT_HWCAP>"
2078
2079 #. type: Plain text
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>."
2082 msgstr ""
2083
2084 #. type: TP
2085 #: build/C/man3/getauxval.3:114
2086 #, no-wrap
2087 msgid "B<AT_ICACHEBSIZE>"
2088 msgstr "B<AT_ICACHEBSIZE>"
2089
2090 #.  .TP
2091 #.  .BR AT_IGNORE
2092 #.  .TP
2093 #.  .BR AT_IGNOREPPC
2094 #.  .TP
2095 #.  .BR AT_NOTELF
2096 #. type: Plain text
2097 #: build/C/man3/getauxval.3:123
2098 msgid "The instruction cache block size."
2099 msgstr ""
2100
2101 #. type: TP
2102 #: build/C/man3/getauxval.3:123
2103 #, no-wrap
2104 msgid "B<AT_PAGESZ>"
2105 msgstr "B<AT_PAGESZ>"
2106
2107 #. type: Plain text
2108 #: build/C/man3/getauxval.3:127
2109 msgid "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2110 msgstr ""
2111
2112 #. type: TP
2113 #: build/C/man3/getauxval.3:127
2114 #, no-wrap
2115 msgid "B<AT_PHDR>"
2116 msgstr "B<AT_PHDR>"
2117
2118 #. type: Plain text
2119 #: build/C/man3/getauxval.3:130
2120 msgid "The address of the program headers of the executable."
2121 msgstr ""
2122
2123 #. type: TP
2124 #: build/C/man3/getauxval.3:130
2125 #, no-wrap
2126 msgid "B<AT_PHENT>"
2127 msgstr "B<AT_PHENT>"
2128
2129 #. type: Plain text
2130 #: build/C/man3/getauxval.3:133
2131 msgid "The size of program header entry."
2132 msgstr ""
2133
2134 #. type: TP
2135 #: build/C/man3/getauxval.3:133
2136 #, no-wrap
2137 msgid "B<AT_PHNUM>"
2138 msgstr "B<AT_PHNUM>"
2139
2140 #. type: Plain text
2141 #: build/C/man3/getauxval.3:136
2142 msgid "The number of program headers."
2143 msgstr ""
2144
2145 #. type: TP
2146 #: build/C/man3/getauxval.3:136
2147 #, no-wrap
2148 msgid "B<AT_PLATFORM>"
2149 msgstr "B<AT_PLATFORM>"
2150
2151 #. type: Plain text
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."
2154 msgstr ""
2155
2156 #. type: TP
2157 #: build/C/man3/getauxval.3:143
2158 #, no-wrap
2159 msgid "B<AT_RANDOM>"
2160 msgstr "B<AT_RANDOM>"
2161
2162 #. type: Plain text
2163 #: build/C/man3/getauxval.3:146
2164 msgid "The address of sixteen bytes containing a random value."
2165 msgstr ""
2166
2167 #. type: TP
2168 #: build/C/man3/getauxval.3:146
2169 #, no-wrap
2170 msgid "B<AT_SECURE>"
2171 msgstr "B<AT_SECURE>"
2172
2173 #. type: Plain text
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).)"
2176 msgstr ""
2177
2178 #. type: TP
2179 #: build/C/man3/getauxval.3:158
2180 #, no-wrap
2181 msgid "B<AT_SYSINFO>"
2182 msgstr "B<AT_SYSINFO>"
2183
2184 #. type: Plain text
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)."
2187 msgstr ""
2188
2189 #. type: TP
2190 #: build/C/man3/getauxval.3:162
2191 #, no-wrap
2192 msgid "B<AT_SYSINFO_EHDR>"
2193 msgstr "B<AT_SYSINFO_EHDR>"
2194
2195 #. type: Plain text
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."
2198 msgstr ""
2199
2200 #. type: TP
2201 #: build/C/man3/getauxval.3:167
2202 #, no-wrap
2203 msgid "B<AT_UCACHEBSIZE>"
2204 msgstr "B<AT_UCACHEBSIZE>"
2205
2206 #. type: Plain text
2207 #: build/C/man3/getauxval.3:170
2208 msgid "The unified cache block size."
2209 msgstr ""
2210
2211 #. type: TP
2212 #: build/C/man3/getauxval.3:170
2213 #, no-wrap
2214 msgid "B<AT_UID>"
2215 msgstr "B<AT_UID>"
2216
2217 #. type: Plain text
2218 #: build/C/man3/getauxval.3:173
2219 msgid "The real user ID of the thread."
2220 msgstr ""
2221
2222 #. type: Plain text
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 を返す。"
2226
2227 #. type: TP
2228 #: build/C/man3/getauxval.3:182
2229 #, no-wrap
2230 msgid "B<ENOENT> (since glibc 2.19)"
2231 msgstr "B<ENOENT> (glibc 2.19 以降)"
2232
2233 #.  commit b9ab448f980e296eac21ac65f53783967cc6037b
2234 #. type: Plain text
2235 #: build/C/man3/getauxval.3:188
2236 msgid "No entry corresponding to I<type> could be found in the auxiliary vector."
2237 msgstr ""
2238
2239 #. type: Plain text
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 で追加された。"
2243
2244 #. type: Plain text
2245 #: build/C/man3/getauxval.3:197
2246 msgid "The B<getauxval>()  function is thread-safe."
2247 msgstr "関数 B<getauxval>() はスレッドセーフである。"
2248
2249 #. type: Plain text
2250 #: build/C/man3/getauxval.3:199
2251 msgid "This function is a nonstandard glibc extension."
2252 msgstr "この関数は非標準で glibc による拡張である。"
2253
2254 #. type: Plain text
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."
2257 msgstr ""
2258
2259 #. type: Plain text
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:"
2262 msgstr ""
2263
2264 #. type: Plain text
2265 #: build/C/man3/getauxval.3:216
2266 #, no-wrap
2267 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2268 msgstr "    $ LD_SHOW_AUXV=1 sleep 1\n"
2269
2270 #. type: Plain text
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."
2273 msgstr ""
2274
2275 #. type: SH
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
2279 #, no-wrap
2280 msgid "BUGS"
2281 msgstr "バグ"
2282
2283 #. type: Plain text
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."
2286 msgstr ""
2287
2288 #. type: Plain text
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)"
2292
2293 #. type: TH
2294 #: build/C/man3/getenv.3:33
2295 #, no-wrap
2296 msgid "GETENV"
2297 msgstr "GETENV"
2298
2299 #. type: TH
2300 #: build/C/man3/getenv.3:33
2301 #, no-wrap
2302 msgid "2012-08-14"
2303 msgstr "2012-08-14"
2304
2305 #. type: Plain text
2306 #: build/C/man3/getenv.3:36
2307 msgid "getenv, secure_getenv - get an environment variable"
2308 msgstr "getenv, secure_getenv - 環境変数を得る"
2309
2310 #. type: Plain text
2311 #: build/C/man3/getenv.3:41
2312 #, no-wrap
2313 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2314 msgstr "B<char *getenv(const char *>I<name>B<);>\n"
2315
2316 #. type: Plain text
2317 #: build/C/man3/getenv.3:43
2318 #, no-wrap
2319 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2320 msgstr "B<char *secure_getenv(const char *>I<name>B<);>\n"
2321
2322 #. type: Plain text
2323 #: build/C/man3/getenv.3:52
2324 msgid "B<secure_getenv>(): _GNU_SOURCE"
2325 msgstr "B<secure_getenv>(): _GNU_SOURCE"
2326
2327 #. type: Plain text
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> 文字列へのポインタを返す。"
2331
2332 #. type: Plain text
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\" が必要となるのは、 呼び出し元プロセスにより実行されるプログラムがロードされる際に、 以下の条件のいずれか一つが成立する場合である。"
2336
2337 #. type: IP
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
2341 #, no-wrap
2342 msgid "*"
2343 msgstr "*"
2344
2345 #. type: Plain text
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 プログラムを実行した場合である)。"
2349
2350 #. type: Plain text
2351 #: build/C/man3/getenv.3:76
2352 msgid "the effective capability bit was set on the executable file; or"
2353 msgstr "実行ファイルで実効ケーパビリティビットがセットされている場合。"
2354
2355 #. type: Plain text
2356 #: build/C/man3/getenv.3:78
2357 msgid "the process has a nonempty permitted capability set."
2358 msgstr "プロセスの許可ケーパビリティセットが空でない場合。"
2359
2360 #. type: Plain text
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\" は必要となる。"
2364
2365 #. type: Plain text
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 プログラムが実行環境を偶然信用してしまった場合に起こり得る脆弱性を、 汎用ライブラリで回避するために使うことを意図して作られた。"
2369
2370 #. type: Plain text
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 を返す。"
2374
2375 #. type: Plain text
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 で初めて登場した。"
2379
2380 #. type: Plain text
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."
2384
2385 #. type: Plain text
2386 #: build/C/man3/getenv.3:102
2387 msgid "B<secure_getenv>()  is a GNU extension."
2388 msgstr "B<secure_getenv>() は GNU による拡張である。"
2389
2390 #. type: Plain text
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> という形式をしている。"
2394
2395 #. type: Plain text
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>()  は環境リスト内の文字列へのポインタを返す。 呼び出し元はこの文字列を変更しないように注意しなければならない。 この文字列を変更すると、そのプロセスの環境を変化させることになるからである。"
2399
2400 #. type: Plain text
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)  の呼び出しにより変更されることがある。"
2404
2405 #. type: Plain text
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> フラグにより制御される。"
2409
2410 #. type: Plain text
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)"
2414
2415 #. type: TH
2416 #: build/C/man3/getloadavg.3:34
2417 #, no-wrap
2418 msgid "GETLOADAVG"
2419 msgstr "GETLOADAVG"
2420
2421 #. type: TH
2422 #: build/C/man3/getloadavg.3:34
2423 #, no-wrap
2424 msgid "2014-04-01"
2425 msgstr "2014-04-01"
2426
2427 #. type: Plain text
2428 #: build/C/man3/getloadavg.3:37
2429 msgid "getloadavg - get system load averages"
2430 msgstr "getloadavg - get system load averages"
2431
2432 #. type: Plain text
2433 #: build/C/man3/getloadavg.3:41
2434 #, no-wrap
2435 msgid ""
2436 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
2437 "B<#include E<lt>stdlib.hE<gt>>\n"
2438 msgstr ""
2439 "B<#define _BSD_SOURCE>         /* feature_test_macros(7) 参照 */\n"
2440 "B<#include E<lt>stdlib.hE<gt>>\n"
2441
2442 #. type: Plain text
2443 #: build/C/man3/getloadavg.3:43
2444 #, no-wrap
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"
2447
2448 #. type: Plain text
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 分の平均を表している。"
2452
2453 #.  .SH HISTORY
2454 #.  The
2455 #.  BR getloadavg ()
2456 #.  function appeared in
2457 #.  4.3BSD Reno .
2458 #. type: Plain text
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 を返す。 取得できた場合は、実際に取得したサンプル値の数を返す。"
2462
2463 #. type: Plain text
2464 #: build/C/man3/getloadavg.3:65
2465 msgid "This function is available in glibc since version 2.2."
2466 msgstr "この関数は glibc のバージョン 2.2 以降で利用可能である。"
2467
2468 #. type: Plain text
2469 #: build/C/man3/getloadavg.3:70
2470 msgid "The B<getloadavg>()  function is thread-safe."
2471 msgstr "関数 B<getloadavg>() はスレッドセーフである。"
2472
2473 #.  mdoc seems to have a bug - there must be no newline here
2474 #. type: Plain text
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 に存在する。"
2478
2479 #. type: Plain text
2480 #: build/C/man3/getloadavg.3:77
2481 msgid "B<uptime>(1), B<proc>(5)"
2482 msgstr "B<uptime>(1), B<proc>(5)"
2483
2484 #. type: TH
2485 #: build/C/man3/getsubopt.3:25
2486 #, no-wrap
2487 msgid "GETSUBOPT"
2488 msgstr "GETSUBOPT"
2489
2490 #. type: TH
2491 #: build/C/man3/getsubopt.3:25
2492 #, no-wrap
2493 msgid "2014-04-08"
2494 msgstr "2014-04-08"
2495
2496 #. type: Plain text
2497 #: build/C/man3/getsubopt.3:28
2498 msgid "getsubopt - parse suboption arguments from a string"
2499 msgstr "getsubopt - 文字列中のサブオプション引き数の解釈を行う"
2500
2501 #. type: Plain text
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<);>"
2505
2506 #. type: Plain text
2507 #: build/C/man3/getsubopt.3:40
2508 msgid "B<getsubopt>():"
2509 msgstr "B<getsubopt>():"
2510
2511 #. type: Plain text
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"
2515
2516 #. type: Plain text
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"
2520
2521 #. type: Plain text
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> に渡すことができる。"
2525
2526 #. type: Plain text
2527 #: build/C/man3/getsubopt.3:67
2528 msgid "B<ro,name=xyz>"
2529 msgstr "B<ro,name=xyz>"
2530
2531 #. type: Plain text
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文字以上の文字列で、 他のトークンと区別できる必要がある。 また、等号とカンマを含んではならない。"
2535
2536 #. type: Plain text
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> はそのサブオプションの「値の文字列」そのものとなる。"
2540
2541 #. type: Plain text
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 に設定される。"
2545
2546 #. type: Plain text
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) を指している。"
2550
2551 #. type: Plain text
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<]> の文字列全体となる。"
2555
2556 #. type: Plain text
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>()  を呼び出し後のサブオプションと必ずしも同じとは限らない。"
2560
2561 #. type: Plain text
2562 #: build/C/man3/getsubopt.3:134
2563 msgid "The B<getsubopt>()  function is thread-safe."
2564 msgstr "関数 B<getsubopt>() はスレッドセーフである。"
2565
2566 #. type: Plain text
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> は書き込み可能でなければならず、 文字列定数にすることはできない。"
2570
2571 #. type: Plain text
2572 #: build/C/man3/getsubopt.3:145
2573 msgid "The following program expects suboptions following a \"-o\" option."
2574 msgstr "以下のプログラムは \"-o\" オプションに続いてサブオプションがあることを 期待している。"
2575
2576 #. type: Plain text
2577 #: build/C/man3/getsubopt.3:151
2578 #, no-wrap
2579 msgid ""
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"
2584 msgstr ""
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"
2589
2590 #. type: Plain text
2591 #: build/C/man3/getsubopt.3:169
2592 #, no-wrap
2593 msgid ""
2594 "int\n"
2595 "main(int argc, char **argv)\n"
2596 "{\n"
2597 "    enum {\n"
2598 "        RO_OPT = 0,\n"
2599 "        RW_OPT,\n"
2600 "        NAME_OPT\n"
2601 "    };\n"
2602 "    char *const token[] = {\n"
2603 "        [RO_OPT]   = \"ro\",\n"
2604 "        [RW_OPT]   = \"rw\",\n"
2605 "        [NAME_OPT] = \"name\",\n"
2606 "        NULL\n"
2607 "    };\n"
2608 "    char *subopts;\n"
2609 "    char *value;\n"
2610 "    int opt;\n"
2611 msgstr ""
2612 "int\n"
2613 "main(int argc, char **argv)\n"
2614 "{\n"
2615 "    enum {\n"
2616 "        RO_OPT = 0,\n"
2617 "        RW_OPT,\n"
2618 "        NAME_OPT\n"
2619 "    };\n"
2620 "    char *const token[] = {\n"
2621 "        [RO_OPT]   = \"ro\",\n"
2622 "        [RW_OPT]   = \"rw\",\n"
2623 "        [NAME_OPT] = \"name\",\n"
2624 "        NULL\n"
2625 "    };\n"
2626 "    char *subopts;\n"
2627 "    char *value;\n"
2628 "    int opt;\n"
2629
2630 #. type: Plain text
2631 #: build/C/man3/getsubopt.3:174
2632 #, no-wrap
2633 msgid ""
2634 "    int readonly = 0;\n"
2635 "    int readwrite = 0;\n"
2636 "    char *name = NULL;\n"
2637 "    int errfnd = 0;\n"
2638 msgstr ""
2639 "    int readonly = 0;\n"
2640 "    int readwrite = 0;\n"
2641 "    char *name = NULL;\n"
2642 "    int errfnd = 0;\n"
2643
2644 #. type: Plain text
2645 #: build/C/man3/getsubopt.3:180
2646 #, no-wrap
2647 msgid ""
2648 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2649 "        switch (opt) {\n"
2650 "        case \\(aqo\\(aq:\n"
2651 "            subopts = optarg;\n"
2652 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2653 msgstr ""
2654 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2655 "        switch (opt) {\n"
2656 "        case \\(aqo\\(aq:\n"
2657 "            subopts = optarg;\n"
2658 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2659
2660 #. type: Plain text
2661 #: build/C/man3/getsubopt.3:185
2662 #, no-wrap
2663 msgid ""
2664 "            switch (getsubopt(&subopts, token, &value)) {\n"
2665 "            case RO_OPT:\n"
2666 "                readonly = 1;\n"
2667 "                break;\n"
2668 msgstr ""
2669 "            switch (getsubopt(&subopts, token, &value)) {\n"
2670 "            case RO_OPT:\n"
2671 "                readonly = 1;\n"
2672 "                break;\n"
2673
2674 #. type: Plain text
2675 #: build/C/man3/getsubopt.3:189
2676 #, no-wrap
2677 msgid ""
2678 "            case RW_OPT:\n"
2679 "                readwrite = 1;\n"
2680 "                break;\n"
2681 msgstr ""
2682 "            case RW_OPT:\n"
2683 "                readwrite = 1;\n"
2684 "                break;\n"
2685
2686 #. type: Plain text
2687 #: build/C/man3/getsubopt.3:197
2688 #, no-wrap
2689 msgid ""
2690 "            case NAME_OPT:\n"
2691 "                if (value == NULL) {\n"
2692 "                    fprintf(stderr, \"Missing value for \"\n"
2693 "                            \"suboption \\(aq%s\\(aq\\en\", token[NAME_OPT]);\n"
2694 "                    errfnd = 1;\n"
2695 "                    continue;\n"
2696 "                }\n"
2697 msgstr ""
2698 "            case 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"
2702 "                    errfnd = 1;\n"
2703 "                    continue;\n"
2704 "                }\n"
2705
2706 #. type: Plain text
2707 #: build/C/man3/getsubopt.3:200
2708 #, no-wrap
2709 msgid ""
2710 "                name = value;\n"
2711 "                break;\n"
2712 msgstr ""
2713 "                name = value;\n"
2714 "                break;\n"
2715
2716 #. type: Plain text
2717 #: build/C/man3/getsubopt.3:214
2718 #, no-wrap
2719 msgid ""
2720 "            default:\n"
2721 "                fprintf(stderr, \"No match found \"\n"
2722 "                        \"for token: /%s/\\en\", value);\n"
2723 "                errfnd = 1;\n"
2724 "                break;\n"
2725 "            }\n"
2726 "        }\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"
2730 "            errfnd = 1;\n"
2731 "        }\n"
2732 "        break;\n"
2733 msgstr ""
2734 "            default:\n"
2735 "                fprintf(stderr, \"No match found \"\n"
2736 "                        \"for token: /%s/\\en\", value);\n"
2737 "                errfnd = 1;\n"
2738 "                break;\n"
2739 "            }\n"
2740 "        }\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"
2744 "            errfnd = 1;\n"
2745 "        }\n"
2746 "        break;\n"
2747
2748 #. type: Plain text
2749 #: build/C/man3/getsubopt.3:219
2750 #, no-wrap
2751 msgid ""
2752 "        default:\n"
2753 "            errfnd = 1;\n"
2754 "        }\n"
2755 "    }\n"
2756 msgstr ""
2757 "        default:\n"
2758 "            errfnd = 1;\n"
2759 "        }\n"
2760 "    }\n"
2761
2762 #. type: Plain text
2763 #: build/C/man3/getsubopt.3:226
2764 #, no-wrap
2765 msgid ""
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"
2771 "    }\n"
2772 msgstr ""
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"
2778 "    }\n"
2779
2780 #. type: Plain text
2781 #: build/C/man3/getsubopt.3:228
2782 #, no-wrap
2783 msgid "    /* Remainder of program... */\n"
2784 msgstr "    /* Remainder of program... */\n"
2785
2786 #. type: Plain text
2787 #: build/C/man3/getsubopt.3:234
2788 msgid "B<getopt>(3)"
2789 msgstr "B<getopt>(3)"
2790
2791 #. type: TH
2792 #: build/C/man3/malloc.3:33
2793 #, no-wrap
2794 msgid "MALLOC"
2795 msgstr "MALLOC"
2796
2797 #. type: TH
2798 #: build/C/man3/malloc.3:33
2799 #, no-wrap
2800 msgid "2014-05-21"
2801 msgstr "2014-05-21"
2802
2803 #. type: Plain text
2804 #: build/C/man3/malloc.3:36
2805 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
2806 msgstr "malloc, free, calloc, realloc - 動的なメモリの割り当てと解放を行う"
2807
2808 #. type: Plain text
2809 #: build/C/man3/malloc.3:44
2810 #, no-wrap
2811 msgid ""
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"
2816 msgstr ""
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"
2821
2822 #.  glibc does this:
2823 #. type: Plain text
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>()."
2826 msgstr ""
2827 "B<malloc>() 関数は I<size> バイトを割り当て、 割り当てられたメモリに対する\n"
2828 "ポインタを返す。I<メモリの内容は初期化されない>。 I<size> が 0 の場合、\n"
2829 "B<malloc>() は NULL または B<free>() に後で渡しても問題の起こらない\n"
2830 "一意なポインタ値を返す。"
2831
2832 #. type: Plain text
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."
2835 msgstr ""
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 の場合には、何の動作も行われない。"
2841
2842 #.  glibc does this:
2843 #. type: Plain text
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>()."
2846 msgstr ""
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"
2851 "ポインタ値を返す。"
2852
2853 #. type: Plain text
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."
2856 msgstr ""
2857 "B<realloc>() は、ポインタ I<ptr> が示すメモリブロックのサイズを I<size> バイト\n"
2858 "に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は\n"
2859 "変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは\n"
2860 "初期化 I<されない>。\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)> が実行される。"
2866
2867 #. type: Plain text
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 が返される。"
2871
2872 #. type: Plain text
2873 #: build/C/man3/malloc.3:156
2874 msgid "The B<free>()  function returns no value."
2875 msgstr "B<free>() 関数は値を返さない。"
2876
2877 #. type: Plain text
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>() が失敗した場合には、元のブロックは変更されない。 つまり、解放されたり移動されたりはしない。"
2881
2882 #. type: Plain text
2883 #: build/C/man3/malloc.3:173
2884 msgid "C89, C99."
2885 msgstr "C89, C99."
2886
2887 #. type: Plain text
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>."
2890 msgstr ""
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> を参照のこと。"
2898
2899 #. type: Plain text
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)  参照)。"
2903
2904 #. type: Plain text
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."
2907 msgstr ""
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 により管理されている。"
2916
2917 #. type: Plain text
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> にエラーの理由を設定しないライブラリルーチンがあるかもしれない。"
2921
2922 #. type: Plain text
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 する、などがこれにあたる。"
2926
2927 #. type: Plain text
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) を参照のこと。"
2931
2932 #. type: Plain text
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)"
2936
2937 #. type: TH
2938 #: build/C/man3/mblen.3:16
2939 #, no-wrap
2940 msgid "MBLEN"
2941 msgstr "MBLEN"
2942
2943 #. type: TH
2944 #: build/C/man3/mblen.3:16
2945 #, no-wrap
2946 msgid "2013-06-21"
2947 msgstr "2013-06-21"
2948
2949 #. type: Plain text
2950 #: build/C/man3/mblen.3:19
2951 msgid "mblen - determine number of bytes in next multibyte character"
2952 msgstr "mblen - 次のマルチバイト文字のバイト数を返す"
2953
2954 #. type: Plain text
2955 #: build/C/man3/mblen.3:24
2956 #, no-wrap
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"
2959
2960 #. type: Plain text
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 を返す。"
2964
2965 #. type: Plain text
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> 以上の場合にも このようなことが起こりえる。"
2969
2970 #. type: Plain text
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 を返す。"
2974
2975 #.  The Dinkumware doc and the Single UNIX specification say this, but
2976 #.  glibc doesn't implement this.
2977 #. type: Plain text
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>()  関数はこの関数のみが 使用するシフト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号がシフト状態を持たない場合にはゼロを返す。"
2981
2982 #. type: Plain text
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 を返す。"
2986
2987 #. type: Plain text
2988 #: build/C/man3/mblen.3:92
2989 msgid "The B<mblen>()  function is not thread-safe."
2990 msgstr "B<mblen>() 関数はスレッドセーフではない。"
2991
2992 #. type: Plain text
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
2996 msgid "C99."
2997 msgstr "C99."
2998
2999 #. type: Plain text
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> カテゴリに依存している。"
3003
3004 #. type: Plain text
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)  関数は同じ機能のより良いインタフェースを提供する。"
3008
3009 #. type: Plain text
3010 #: build/C/man3/mblen.3:108
3011 msgid "B<mbrlen>(3)"
3012 msgstr "B<mbrlen>(3)"
3013
3014 #. type: TH
3015 #: build/C/man3/mbstowcs.3:18
3016 #, no-wrap
3017 msgid "MBSTOWCS"
3018 msgstr "MBSTOWCS"
3019
3020 #. type: TH
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
3024 #, no-wrap
3025 msgid "2014-03-18"
3026 msgstr "2014-03-18"
3027
3028 #. type: Plain text
3029 #: build/C/man3/mbstowcs.3:21
3030 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3031 msgstr "mbstowcs - マルチバイト文字列をワイド文字列に変換する"
3032
3033 #. type: Plain text
3034 #: build/C/man3/mbstowcs.3:26
3035 #, no-wrap
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"
3038
3039 #. type: Plain text
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> 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 以下の三つのいずれかの条件で停止する:"
3043
3044 #. type: IP
3045 #: build/C/man3/mbstowcs.3:45
3046 #, no-wrap
3047 msgid "1."
3048 msgstr "1."
3049
3050 #. type: Plain text
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> を返す。"
3054
3055 #. type: IP
3056 #: build/C/man3/mbstowcs.3:50
3057 #, no-wrap
3058 msgid "2."
3059 msgstr "2."
3060
3061 #. type: Plain text
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> に書き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われる。"
3065
3066 #. type: IP
3067 #: build/C/man3/mbstowcs.3:58
3068 #, no-wrap
3069 msgid "3."
3070 msgstr "3."
3071
3072 #. type: Plain text
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> に書き込まれた文字数を返す。"
3076
3077 #. type: Plain text
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> ワイド文字を書き込むこ とができる空間があることを保証しなければならない。"
3081
3082 #. type: Plain text
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> は無視され、上記と同様の変換が 行われるが、変換されたワイド文字はメモリに書き込まれず、変換先の上限 が存在しない。"
3086
3087 #. type: Plain text
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> 以上であることを保証すべきである。"
3091
3092 #. type: Plain text
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> を返す。"
3096
3097 #. type: Plain text
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> カテゴリに依存している。"
3101
3102 #. type: Plain text
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)  関数は同じ機能のより良いインターフェースを提供する。"
3106
3107 #. type: Plain text
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>() といくつかのワイド文字分類関数の使用方法を示したものである。実行例は以下のようになる。"
3111
3112 #. type: Plain text
3113 #: build/C/man3/mbstowcs.3:120
3114 #, no-wrap
3115 msgid ""
3116 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
3117 "Length of source string (excluding terminator):\n"
3118 "    8 bytes\n"
3119 "    6 multibyte characters\n"
3120 msgstr ""
3121 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
3122 "Length of source string (excluding terminator):\n"
3123 "    8 bytes\n"
3124 "    6 multibyte characters\n"
3125
3126 #. type: Plain text
3127 #: build/C/man3/mbstowcs.3:128
3128 #, no-wrap
3129 msgid ""
3130 "Wide character string is: Grüße! (6 characters)\n"
3131 "    G alpha upper\n"
3132 "    r alpha lower\n"
3133 "    ü alpha lower\n"
3134 "    ß alpha lower\n"
3135 "    e alpha lower\n"
3136 "    ! !alpha\n"
3137 msgstr ""
3138 "Wide character string is: Grüße! (6 characters)\n"
3139 "    G alpha upper\n"
3140 "    r alpha lower\n"
3141 "    ü alpha lower\n"
3142 "    ß alpha lower\n"
3143 "    e alpha lower\n"
3144 "    ! !alpha\n"
3145
3146 #. type: SS
3147 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
3148 #, no-wrap
3149 msgid "Program source"
3150 msgstr "プログラムのソース"
3151
3152 #. type: Plain text
3153 #: build/C/man3/mbstowcs.3:137
3154 #, no-wrap
3155 msgid ""
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"
3161 msgstr ""
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"
3167
3168 #. type: Plain text
3169 #: build/C/man3/mbstowcs.3:144
3170 #, no-wrap
3171 msgid ""
3172 "int\n"
3173 "main(int argc, char *argv[])\n"
3174 "{\n"
3175 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
3176 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
3177 "    wchar_t *wp;\n"
3178 msgstr ""
3179 "int\n"
3180 "main(int argc, char *argv[])\n"
3181 "{\n"
3182 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
3183 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
3184 "    wchar_t *wp;\n"
3185
3186 #. type: Plain text
3187 #: build/C/man3/mbstowcs.3:149
3188 #, no-wrap
3189 msgid ""
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"
3193 "    }\n"
3194 msgstr ""
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"
3198 "    }\n"
3199
3200 #. type: Plain text
3201 #: build/C/man3/mbstowcs.3:151
3202 #, no-wrap
3203 msgid "    /* Apply the specified locale */\n"
3204 msgstr "    /* Apply the specified locale */\n"
3205
3206 #. type: Plain text
3207 #: build/C/man3/mbstowcs.3:156
3208 #, no-wrap
3209 msgid ""
3210 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
3211 "        perror(\"setlocale\");\n"
3212 "        exit(EXIT_FAILURE);\n"
3213 "    }\n"
3214 msgstr ""
3215 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
3216 "        perror(\"setlocale\");\n"
3217 "        exit(EXIT_FAILURE);\n"
3218 "    }\n"
3219
3220 #. type: Plain text
3221 #: build/C/man3/mbstowcs.3:159
3222 #, no-wrap
3223 msgid ""
3224 "    /* Calculate the length required to hold argv[2] converted to\n"
3225 "       a wide character string */\n"
3226 msgstr ""
3227 "    /* Calculate the length required to hold argv[2] converted to\n"
3228 "       a wide character string */\n"
3229
3230 #. type: Plain text
3231 #: build/C/man3/mbstowcs.3:165
3232 #, no-wrap
3233 msgid ""
3234 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
3235 "    if (mbslen == (size_t) -1) {\n"
3236 "        perror(\"mbstowcs\");\n"
3237 "        exit(EXIT_FAILURE);\n"
3238 "    }\n"
3239 msgstr ""
3240 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
3241 "    if (mbslen == (size_t) -1) {\n"
3242 "        perror(\"mbstowcs\");\n"
3243 "        exit(EXIT_FAILURE);\n"
3244 "    }\n"
3245
3246 #. type: Plain text
3247 #: build/C/man3/mbstowcs.3:167
3248 #, no-wrap
3249 msgid "    /* Describe the source string to the user */\n"
3250 msgstr "    /* Describe the source string to the user */\n"
3251
3252 #. type: Plain text
3253 #: build/C/man3/mbstowcs.3:171
3254 #, no-wrap
3255 msgid ""
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"
3259 msgstr ""
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"
3263
3264 #. type: Plain text
3265 #: build/C/man3/mbstowcs.3:174
3266 #, no-wrap
3267 msgid ""
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"
3270 msgstr ""
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"
3273
3274 #. type: Plain text
3275 #: build/C/man3/mbstowcs.3:180
3276 #, no-wrap
3277 msgid ""
3278 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
3279 "    if (wcs == NULL) {\n"
3280 "        perror(\"calloc\");\n"
3281 "        exit(EXIT_FAILURE);\n"
3282 "    }\n"
3283 msgstr ""
3284 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
3285 "    if (wcs == NULL) {\n"
3286 "        perror(\"calloc\");\n"
3287 "        exit(EXIT_FAILURE);\n"
3288 "    }\n"
3289
3290 #. type: Plain text
3291 #: build/C/man3/mbstowcs.3:183
3292 #, no-wrap
3293 msgid ""
3294 "    /* Convert the multibyte character string in argv[2] to a\n"
3295 "       wide character string */\n"
3296 msgstr ""
3297 "    /* Convert the multibyte character string in argv[2] to a\n"
3298 "       wide character string */\n"
3299
3300 #. type: Plain text
3301 #: build/C/man3/mbstowcs.3:188
3302 #, no-wrap
3303 msgid ""
3304 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
3305 "        perror(\"mbstowcs\");\n"
3306 "        exit(EXIT_FAILURE);\n"
3307 "    }\n"
3308 msgstr ""
3309 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
3310 "        perror(\"mbstowcs\");\n"
3311 "        exit(EXIT_FAILURE);\n"
3312 "    }\n"
3313
3314 #. type: Plain text
3315 #: build/C/man3/mbstowcs.3:191
3316 #, no-wrap
3317 msgid ""
3318 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
3319 "            wcs, mbslen);\n"
3320 msgstr ""
3321 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
3322 "            wcs, mbslen);\n"
3323
3324 #. type: Plain text
3325 #: build/C/man3/mbstowcs.3:194
3326 #, no-wrap
3327 msgid ""
3328 "    /* Now do some inspection of the classes of the characters in\n"
3329 "       the wide character string */\n"
3330 msgstr ""
3331 "    /* Now do some inspection of the classes of the characters in\n"
3332 "       the wide character string */\n"
3333
3334 #. type: Plain text
3335 #: build/C/man3/mbstowcs.3:197
3336 #, no-wrap
3337 msgid ""
3338 "    for (wp = wcs; *wp != 0; wp++) {\n"
3339 "        printf(\"    %lc \", (wint_t) *wp);\n"
3340 msgstr ""
3341 "    for (wp = wcs; *wp != 0; wp++) {\n"
3342 "        printf(\"    %lc \", (wint_t) *wp);\n"
3343
3344 #. type: Plain text
3345 #: build/C/man3/mbstowcs.3:201
3346 #, no-wrap
3347 msgid ""
3348 "        if (!iswalpha(*wp))\n"
3349 "            printf(\"!\");\n"
3350 "        printf(\"alpha \");\n"
3351 msgstr ""
3352 "        if (!iswalpha(*wp))\n"
3353 "            printf(\"!\");\n"
3354 "        printf(\"alpha \");\n"
3355
3356 #. type: Plain text
3357 #: build/C/man3/mbstowcs.3:205
3358 #, no-wrap
3359 msgid ""
3360 "        if (iswalpha(*wp)) {\n"
3361 "            if (iswupper(*wp))\n"
3362 "                printf(\"upper \");\n"
3363 msgstr ""
3364 "        if (iswalpha(*wp)) {\n"
3365 "            if (iswupper(*wp))\n"
3366 "                printf(\"upper \");\n"
3367
3368 #. type: Plain text
3369 #: build/C/man3/mbstowcs.3:209
3370 #, no-wrap
3371 msgid ""
3372 "            if (iswlower(*wp))\n"
3373 "                printf(\"lower \");\n"
3374 "        }\n"
3375 msgstr ""
3376 "            if (iswlower(*wp))\n"
3377 "                printf(\"lower \");\n"
3378 "        }\n"
3379
3380 #. type: Plain text
3381 #: build/C/man3/mbstowcs.3:212
3382 #, no-wrap
3383 msgid ""
3384 "        putchar(\\(aq\\en\\(aq);\n"
3385 "    }\n"
3386 msgstr ""
3387 "        putchar(\\(aq\\en\\(aq);\n"
3388 "    }\n"
3389
3390 #. type: Plain text
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)"
3394
3395 #. type: TH
3396 #: build/C/man3/mbtowc.3:16
3397 #, no-wrap
3398 msgid "MBTOWC"
3399 msgstr "MBTOWC"
3400
3401 #. type: Plain text
3402 #: build/C/man3/mbtowc.3:19
3403 msgid "mbtowc - convert a multibyte sequence to a wide character"
3404 msgstr "mbtowc - マルチバイト列をワイド文字に変換する"
3405
3406 #. type: Plain text
3407 #: build/C/man3/mbtowc.3:24
3408 #, no-wrap
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"
3411
3412 #. type: Plain text
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 を返す。"
3416
3417 #. type: Plain text
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> の場合もこのようなことが 起こりえる。"
3421
3422 #. type: Plain text
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>()  関数は 上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。"
3426
3427 #.  The Dinkumware doc and the Single UNIX specification say this, but
3428 #.  glibc doesn't implement this.
3429 #. type: Plain text
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>()  関数のみが使用するシフト状態は初期状態に 戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロを返す。"
3433
3434 #. type: Plain text
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 を返す。"
3438
3439 #. type: Plain text
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>()  関数は文字符号がシフト状態に依存 していればゼロ以外を、状態によらなければゼロを返す。"
3443
3444 #. type: Plain text
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> カテゴリに依存している。"
3448
3449 #. type: Plain text
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)  関数は 同じ機能のより良いインターフェースを提供する。"
3453
3454 #. type: Plain text
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)"
3458
3459 #. type: TH
3460 #: build/C/man3/mkdtemp.3:26
3461 #, no-wrap
3462 msgid "MKDTEMP"
3463 msgstr "MKDTEMP"
3464
3465 #. type: TH
3466 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
3467 #, no-wrap
3468 msgid "2014-06-13"
3469 msgstr "2014-06-13"
3470
3471 #. type: Plain text
3472 #: build/C/man3/mkdtemp.3:29
3473 msgid "mkdtemp - create a unique temporary directory"
3474 msgstr "mkdtemp - 他と重ならない一時的なディレクトリを作成する"
3475
3476 #. type: Plain text
3477 #: build/C/man3/mkdtemp.3:34
3478 #, no-wrap
3479 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
3480 msgstr "B<char *mkdtemp(char *>I<template>B<);>\n"
3481
3482 #. type: Plain text
3483 #: build/C/man3/mkdtemp.3:42
3484 msgid "B<mkdtemp>():"
3485 msgstr "B<mkdtemp>():"
3486
3487 #. type: Plain text
3488 #: build/C/man3/mkdtemp.3:47
3489 msgid "_BSD_SOURCE"
3490 msgstr "_BSD_SOURCE"
3491
3492 #. type: Plain text
3493 #: build/C/man3/mkdtemp.3:49
3494 msgid "|| /* Since glibc 2.10: */"
3495 msgstr "|| /* Since glibc 2.10: */"
3496
3497 #. type: Plain text
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)"
3501
3502 #. type: Plain text
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> は変更されるので、文字列定数にしてはならず、文字配列にすべきである。"
3506
3507 #. type: Plain text
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> を適切に設定する。"
3511
3512 #. type: TP
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
3519 #, no-wrap
3520 msgid "B<EINVAL>"
3521 msgstr "B<EINVAL>"
3522
3523 #. type: Plain text
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> は変更されない。"
3527
3528 #. type: Plain text
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)  を参照すること。"
3532
3533 #. type: Plain text
3534 #: build/C/man3/mkdtemp.3:86
3535 msgid "Available since glibc 2.1.91."
3536 msgstr "glibc 2.1.91 以降で利用可能。"
3537
3538 #. type: Plain text
3539 #: build/C/man3/mkdtemp.3:91
3540 msgid "The B<mkdtemp>()  function is thread-safe."
3541 msgstr "関数 B<mkdtemp>() はスレッドセーフである。"
3542
3543 #.  As at 2006, this function is being considered for a revision of POSIX.1
3544 #.  Also in NetBSD 1.4.
3545 #. type: Plain text
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 に存在する。"
3549
3550 #. type: Plain text
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)"
3554
3555 #. type: TH
3556 #: build/C/man3/mkstemp.3:35
3557 #, no-wrap
3558 msgid "MKSTEMP"
3559 msgstr "MKSTEMP"
3560
3561 #. type: Plain text
3562 #: build/C/man3/mkstemp.3:38
3563 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
3564 msgstr "mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイルを作成する"
3565
3566 #. type: Plain text
3567 #: build/C/man3/mkstemp.3:43
3568 #, no-wrap
3569 msgid "B<int mkstemp(char *>I<template>B<);>\n"
3570 msgstr "B<int mkstemp(char *>I<template>B<);>\n"
3571
3572 #. type: Plain text
3573 #: build/C/man3/mkstemp.3:45
3574 #, no-wrap
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"
3577
3578 #. type: Plain text
3579 #: build/C/man3/mkstemp.3:47
3580 #, no-wrap
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"
3583
3584 #. type: Plain text
3585 #: build/C/man3/mkstemp.3:49
3586 #, no-wrap
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"
3589
3590 #. type: Plain text
3591 #: build/C/man3/mkstemp.3:57
3592 msgid "B<mkstemp>():"
3593 msgstr "B<mkstemp>():"
3594
3595 #. type: Plain text
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"
3599
3600 #. type: Plain text
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"
3604
3605 #. type: Plain text
3606 #: build/C/man3/mkstemp.3:70
3607 msgid "B<mkostemp>(): _GNU_SOURCE"
3608 msgstr "B<mkostemp>(): _GNU_SOURCE"
3609
3610 #. type: Plain text
3611 #: build/C/man3/mkstemp.3:73
3612 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3613 msgstr "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3614
3615 #. type: Plain text
3616 #: build/C/man3/mkstemp.3:76
3617 msgid "B<mkostemps>(): _GNU_SOURCE"
3618 msgstr "B<mkostemps>(): _GNU_SOURCE"
3619
3620 #. type: Plain text
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> から他と重ならない一時ファイル名を生成し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みのファイルディスクリプタを返す。"
3624
3625 #. type: Plain text
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> は書き換えられるため、文字列定数ではなく文字配列として 宣言するようにしなければならない。"
3629
3630 #. type: Plain text
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> フラグ付きでオープンされる。"
3634
3635 #.  Reportedly, FreeBSD
3636 #. type: Plain text
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> 引き数にこれらの値を含める必要はなく、システムによってはエラーが発生する点に注意すること。"
3640
3641 #. type: Plain text
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>()."
3644 msgstr ""
3645 "B<mkstemps>() 関数は B<mkstemp>() と同様だが、 I<template> 内の文字列に長さ\n"
3646 "が I<suffixlen> 文字の接尾辞 (suffix) が含まれる点が異なる。\n"
3647 "したがって、 I<template> は I<prefixXXXXXXsuffix> の形式となる。\n"
3648 "文字列 XXXXXX の部分は B<mkstemp>() により更新される。"
3649
3650 #. type: Plain text
3651 #: build/C/man3/mkstemp.3:155
3652 msgid "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to B<mkstemp>()."
3653 msgstr ""
3654 "B<mkostemps>() と B<mkstemps>() の関係は、\n"
3655 "B<mkostemp>() と B<mkstemp>() の関係と同じである。"
3656
3657 #. type: Plain text
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> を適切に設定する。"
3661
3662 #. type: TP
3663 #: build/C/man3/mkstemp.3:162
3664 #, no-wrap
3665 msgid "B<EEXIST>"
3666 msgstr "B<EEXIST>"
3667
3668 #. type: Plain text
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> の内容は不定である。"
3672
3673 #. type: Plain text
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."
3676 msgstr ""
3677 "B<mkstemp>() と B<mkostemp>() の場合:\n"
3678 "I<template> の最後の 6 文字が XXXXXX でなかった。\n"
3679 "この場合、I<template> は変更されない。"
3680
3681 #. type: Plain text
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."
3684 msgstr ""
3685 "B<mkstemps>() と B<mkostemps>() の場合:\n"
3686 "I<template> の長さが I<(6 + suffixlen)> 文字より短い、または\n"
3687 "I<template> の接尾辞の直前の 6 文字が XXXXXX ではなかった。"
3688
3689 #. type: Plain text
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) に書かれているエラーのいずれかで失敗することもある。"
3693
3694 #. type: Plain text
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."
3697 msgstr ""
3698 "B<mkostemp>() は glibc 2.7 以降で利用できる。\n"
3699 "B<mkstemps>() と B<mkostemps>() は glibc 2.11 以降で利用できる。"
3700
3701 #. type: Plain text
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>() はスレッドセーフである。"
3705
3706 #. type: Plain text
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."
3710
3711 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
3712 #.  and Tru64.
3713 #. type: Plain text
3714 #: build/C/man3/mkstemp.3:212
3715 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
3716 msgstr "B<mkstemps>(): 標準化されていないが、他のいくつかのシステムにも存在する。"
3717
3718 #. type: Plain text
3719 #: build/C/man3/mkstemp.3:217
3720 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
3721 msgstr "B<mkostemp>() と B<mkostemps>(): glibc による拡張。"
3722
3723 #. type: Plain text
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 で作成することが必須要件として追加された。"
3727
3728 #.  The prototype for
3729 #.  .BR mktemp ()
3730 #.  is in
3731 #.  .I <unistd.h>
3732 #.  for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
3733 #.  .IR <stdlib.h> .
3734 #. type: Plain text
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)  参照) が適切に設定されているか確認するべきである。"
3738
3739 #. type: Plain text
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)"
3743
3744 #. type: TH
3745 #: build/C/man3/mktemp.3:34
3746 #, no-wrap
3747 msgid "MKTEMP"
3748 msgstr "MKTEMP"
3749
3750 #. type: Plain text
3751 #: build/C/man3/mktemp.3:37
3752 msgid "mktemp - make a unique temporary filename"
3753 msgstr "mktemp - 他と重ならないテンポラリファイル名を作成する"
3754
3755 #. type: Plain text
3756 #: build/C/man3/mktemp.3:42
3757 #, no-wrap
3758 msgid "B<char *mktemp(char *>I<template>B<);>\n"
3759 msgstr "B<char *mktemp(char *>I<template>B<);>\n"
3760
3761 #. type: Plain text
3762 #: build/C/man3/mktemp.3:50
3763 msgid "B<mktemp>():"
3764 msgstr "B<mktemp>():"
3765
3766 #. type: Plain text
3767 #: build/C/man3/mktemp.3:59
3768 #, no-wrap
3769 msgid ""
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"
3774 msgstr ""
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"
3779
3780 #. type: Plain text
3781 #: build/C/man3/mktemp.3:69
3782 msgid "I<Never use this function>; see NOTES."
3783 msgstr "I<決してこの関数は使用しないこと>。「注意」を参照。"
3784
3785 #. type: Plain text
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> は書き換えられるため、文字列定数ではなく文字配列として宣言するように しなければならない。"
3789
3790 #. type: Plain text
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> にエラーを示す値がセットされる。"
3794
3795 #. type: Plain text
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 でない。"
3799
3800 #.  .SH NOTES
3801 #.  The prototype is in
3802 #.  .I <unistd.h>
3803 #.  for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
3804 #.  and has the prototype in
3805 #.  .IR <stdlib.h> .
3806 #. type: Plain text
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>()  の仕様が削除されている。"
3810
3811 #. type: Plain text
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)  を使うことで避けられる。"
3815
3816 #. type: Plain text
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)"
3820
3821 #. type: TH
3822 #: build/C/man3/on_exit.3:31
3823 #, no-wrap
3824 msgid "ON_EXIT"
3825 msgstr "ON_EXIT"
3826
3827 #. type: Plain text
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 - プロセスが正常に終了した際に呼ばれる関数を登録する"
3831
3832 #. type: Plain text
3833 #: build/C/man3/on_exit.3:39
3834 #, no-wrap
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"
3837
3838 #. type: Plain text
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"
3842
3843 #. type: Plain text
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> 引数が渡される。"
3847
3848 #. type: Plain text
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 以外を返す。"
3852
3853 #. type: Plain text
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) を使うこと。"
3857
3858 #. type: Plain text
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)"
3862
3863 #. type: TH
3864 #: build/C/man3/putenv.3:36
3865 #, no-wrap
3866 msgid "PUTENV"
3867 msgstr "PUTENV"
3868
3869 #. type: Plain text
3870 #: build/C/man3/putenv.3:39
3871 msgid "putenv - change or add an environment variable"
3872 msgstr "putenv - 環境変数の変更または追加"
3873
3874 #.  Not: const char *
3875 #. type: Plain text
3876 #: build/C/man3/putenv.3:45
3877 #, no-wrap
3878 msgid "B<int putenv(char *>I<string>B<);>\n"
3879 msgstr "B<int putenv(char *>I<string>B<);>\n"
3880
3881 #. type: Plain text
3882 #: build/C/man3/putenv.3:54
3883 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3884 msgstr "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
3885
3886 #. type: Plain text
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> が指している文字列は環境の一部となるので、 文字列を変更すると環境も変更される。"
3890
3891 #. type: Plain text
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> に原因を示す値が設定される。"
3895
3896 #. type: TP
3897 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
3898 #, no-wrap
3899 msgid "B<ENOMEM>"
3900 msgstr "B<ENOMEM>"
3901
3902 #. type: Plain text
3903 #: build/C/man3/putenv.3:79
3904 msgid "Insufficient space to allocate new environment."
3905 msgstr "新しい環境を割り当てるのに十分な空きがない。"
3906
3907 #. type: Plain text
3908 #: build/C/man3/putenv.3:81
3909 msgid "SVr4, POSIX.1-2001, 4.3BSD."
3910 msgstr "SVr4, POSIX.1-2001, 4.3BSD."
3911
3912 #.  .LP
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.
3917 #.  If
3918 #.  .BR putenv ()
3919 #.  has to allocate a new array \fIenviron\fP,
3920 #.  and the previous array was also allocated by
3921 #.  .BR putenv (),
3922 #.  then it will be freed.
3923 #.  In no case will the old storage associated
3924 #.  to the environment variable itself be freed.
3925 #. type: Plain text
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 ではリエントラントである。"
3929
3930 #. type: Plain text
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 にも違反している。"
3934
3935 #. type: Plain text
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 と同様にコピーを使う。"
3939
3940 #. type: Plain text
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 もそのようになっている。"
3944
3945 #. type: Plain text
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)"
3949
3950 #. type: TH
3951 #: build/C/man3/qecvt.3:28
3952 #, no-wrap
3953 msgid "QECVT"
3954 msgstr "QECVT"
3955
3956 #. type: Plain text
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 - 浮動小数点数の文字列への変換"
3960
3961 #. type: Plain text
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<);>"
3965
3966 #. type: Plain text
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<);>"
3970
3971 #. type: Plain text
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<);>"
3975
3976 #. type: Plain text
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"
3980
3981 #. type: Plain text
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> 型である点だけが異なる。"
3985
3986 #. type: Plain text
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>() はスレッドセーフではない。"
3990
3991 #. type: Plain text
3992 #: build/C/man3/qecvt.3:96
3993 msgid "The B<qgcvt>()  function is thread-safe."
3994 msgstr "関数 B<qgcvt>() はスレッドセーフである。"
3995
3996 #.  Not supported by libc4 and libc5.
3997 #. type: Plain text
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 ではサポートされている。"
4001
4002 #. type: Plain text
4003 #: build/C/man3/qecvt.3:107
4004 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
4005 msgstr "これらの関数は廃止された。代わりに B<snprintf>(3) の使用を推奨する。"
4006
4007 #. type: Plain text
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)"
4011
4012 #. type: TH
4013 #: build/C/man3/rand.3:41
4014 #, no-wrap
4015 msgid "RAND"
4016 msgstr "RAND"
4017
4018 #. type: TH
4019 #: build/C/man3/rand.3:41
4020 #, no-wrap
4021 msgid "2014-01-18"
4022 msgstr "2014-01-18"
4023
4024 #. type: Plain text
4025 #: build/C/man3/rand.3:44
4026 msgid "rand, rand_r, srand - pseudo-random number generator"
4027 msgstr "rand, srand - 乱数を生成する関数"
4028
4029 #. type: Plain text
4030 #: build/C/man3/rand.3:49
4031 #, no-wrap
4032 msgid "B<int rand(void);>\n"
4033 msgstr "B<int rand(void);>\n"
4034
4035 #. type: Plain text
4036 #: build/C/man3/rand.3:51
4037 #, no-wrap
4038 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4039 msgstr "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4040
4041 #. type: Plain text
4042 #: build/C/man3/rand.3:53
4043 #, no-wrap
4044 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
4045 msgstr "B<void srand(unsigned int >I<seed>B<);>\n"
4046
4047 #. type: Plain text
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"
4051
4052 #. type: Plain text
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>])."
4055 msgstr ""
4056 "B<rand>() 関数は 0 以上 B<RAND_MAX> 以下\n"
4057 "(数学的に書くと [0,\\ B<RAND_MAX>]) の範囲の疑似乱数整数を返す。"
4058
4059 #. type: Plain text
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>()  を呼ぶことで、 再現することが可能である。"
4063
4064 #. type: Plain text
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 を種とする。"
4068
4069 #. type: Plain text
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>()."
4072 msgstr ""
4073 "B<rand>() 関数は再入可能 (reentrant) ではない、つまりスレッド・セーフではない。\n"
4074 "この関数には隠し状態があり、呼び出される度にこの隠し状態が変更されるからである。\n"
4075 "ちょうどこの隠し状態が次の呼び出し時の乱数の種として使われるようなものである。\n"
4076 "実際にはもう少し複雑かもしれないが。\n"
4077 "スレッドを使用するアプリケーションで再現可能な動作をさせたい場合には、\n"
4078 "この状態を明示的に指定できなければならない。これを行うには、\n"
4079 "再入可能な B<rand_r>() 関数を使用する。"
4080
4081 #. type: Plain text
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."
4084 msgstr ""
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 "呼び出し間でその値が変更されなければ、同じ疑似乱数系列が得られる。"
4090
4091 #. type: Plain text
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."
4094 msgstr ""
4095 "B<rand_r>() の I<seedp> 引き数が指す値により提供される状態は非常に小さな空間\n"
4096 "なので、この関数は弱い疑似乱数生成器になってしまう。\n"
4097 "代わりに B<drand48_r>(3) を使ってみるとよい。"
4098
4099 #. type: Plain text
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."
4102 msgstr ""
4103 "関数 B<rand>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
4104 "関数 B<srand>() は値を返さない。"
4105
4106 #. type: Plain text
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>()  を廃止予定としている。"
4110
4111 #. type: Plain text
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)  を使うこと)。"
4115
4116 #. type: Plain text
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つのマシンで同じ乱数系列が 必要な場合には便利であろう。"
4120
4121 #. type: Plain text
4122 #: build/C/man3/rand.3:170
4123 #, no-wrap
4124 msgid "static unsigned long next = 1;\n"
4125 msgstr "static unsigned long next = 1;\n"
4126
4127 #. type: Plain text
4128 #: build/C/man3/rand.3:176
4129 #, no-wrap
4130 msgid ""
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"
4135 "}\n"
4136 msgstr ""
4137 "/* RAND_MAX を 32767 と仮定 */\n"
4138 "int myrand(void) {\n"
4139 "    next = next * 1103515245 + 12345;\n"
4140 "    return((unsigned)(next/65536) % 32768);\n"
4141 "}\n"
4142
4143 #. type: Plain text
4144 #: build/C/man3/rand.3:180
4145 #, no-wrap
4146 msgid ""
4147 "void mysrand(unsigned int seed) {\n"
4148 "    next = seed;\n"
4149 "}\n"
4150 msgstr ""
4151 "void mysrand(unsigned int seed) {\n"
4152 "    next = seed;\n"
4153 "}\n"
4154
4155 #. type: Plain text
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."
4158 msgstr ""
4159 "以下のプログラムを使うと、特定の乱数の種が与えられた場合に\n"
4160 "B<rand>() が生成する疑似乱数系列を表示することができる。"
4161
4162 #. type: Plain text
4163 #: build/C/man3/rand.3:192
4164 #, no-wrap
4165 msgid ""
4166 "#include E<lt>stdlib.hE<gt>\n"
4167 "#include E<lt>stdio.hE<gt>\n"
4168 msgstr ""
4169 "#include E<lt>stdlib.hE<gt>\n"
4170 "#include E<lt>stdio.hE<gt>\n"
4171
4172 #. type: Plain text
4173 #: build/C/man3/rand.3:198
4174 #, no-wrap
4175 msgid ""
4176 "int\n"
4177 "main(int argc, char *argv[])\n"
4178 "{\n"
4179 "    int j, r, nloops;\n"
4180 "    unsigned int seed;\n"
4181 msgstr ""
4182 "int\n"
4183 "main(int argc, char *argv[])\n"
4184 "{\n"
4185 "    int j, r, nloops;\n"
4186 "    unsigned int seed;\n"
4187
4188 #. type: Plain text
4189 #: build/C/man3/rand.3:203
4190 #, no-wrap
4191 msgid ""
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"
4195 "    }\n"
4196 msgstr ""
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"
4200 "    }\n"
4201
4202 #. type: Plain text
4203 #: build/C/man3/rand.3:206
4204 #, no-wrap
4205 msgid ""
4206 "    seed = atoi(argv[1]);\n"
4207 "    nloops = atoi(argv[2]);\n"
4208 msgstr ""
4209 "    seed = atoi(argv[1]);\n"
4210 "    nloops = atoi(argv[2]);\n"
4211
4212 #. type: Plain text
4213 #: build/C/man3/rand.3:212
4214 #, no-wrap
4215 msgid ""
4216 "    srand(seed);\n"
4217 "    for (j = 0; j E<lt> nloops; j++) {\n"
4218 "        r =  rand();\n"
4219 "        printf(\"%d\\en\", r);\n"
4220 "    }\n"
4221 msgstr ""
4222 "    srand(seed);\n"
4223 "    for (j = 0; j E<lt> nloops; j++) {\n"
4224 "        r =  rand();\n"
4225 "        printf(\"%d\\en\", r);\n"
4226 "    }\n"
4227
4228 #. type: Plain text
4229 #: build/C/man3/rand.3:220
4230 msgid "B<drand48>(3), B<random>(3)"
4231 msgstr "B<drand48>(3), B<random>(3)"
4232
4233 #. type: TH
4234 #: build/C/man3/random.3:33
4235 #, no-wrap
4236 msgid "RANDOM"
4237 msgstr "RANDOM"
4238
4239 #. type: Plain text
4240 #: build/C/man3/random.3:36
4241 msgid "random, srandom, initstate, setstate - random number generator"
4242 msgstr "random, srandom, initstate, setstate - 乱数を生成する関数"
4243
4244 #. type: Plain text
4245 #: build/C/man3/random.3:41
4246 #, no-wrap
4247 msgid "B<long int random(void);>\n"
4248 msgstr "B<long int random(void);>\n"
4249
4250 #. type: Plain text
4251 #: build/C/man3/random.3:43
4252 #, no-wrap
4253 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
4254 msgstr "B<void srandom(unsigned int >I<seed>B<);>\n"
4255
4256 #. type: Plain text
4257 #: build/C/man3/random.3:45
4258 #, no-wrap
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"
4261
4262 #. type: Plain text
4263 #: build/C/man3/random.3:47
4264 #, no-wrap
4265 msgid "B<char *setstate(char *>I<state>B<);>\n"
4266 msgstr "B<char *setstate(char *>I<state>B<);>\n"
4267
4268 #. type: Plain text
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>():"
4272
4273 #. type: Plain text
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"
4277
4278 #. type: Plain text
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)> である。"
4282
4283 #. type: Plain text
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 を種に設定する。"
4287
4288 #. type: Plain text
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> は初期化のための種である。 これは乱数系列の開始位置を決定するものであり、 この値を指定することで同一の開始位置から乱数の生成を 再開することができる。"
4292
4293 #. type: Plain text
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>()  の結果でなければならない。"
4297
4298 #. type: Plain text
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."
4301 msgstr ""
4302 "関数 B<random>() と B<rand_r>() は 0 以上 B<RAND_MAX> 以下の数を返す。\n"
4303 "関数 B<srandom>() は値を返さない。"
4304
4305 #. type: Plain text
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> に原因を示す値が設定される。"
4309
4310 #. type: Plain text
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> にエラーの原因を示す値が設定される。"
4314
4315 #. type: Plain text
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 であった。"
4319
4320 #. type: Plain text
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バイトよりも小さい状態配列を指定した。"
4324
4325 #. type: Plain text
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>() はスレッドセーフである。"
4329
4330 #. type: Plain text
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."
4334
4335 #. type: Plain text
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 バイト未満の量を指定した場合にはエラーの原因となる。"
4339
4340 #. type: Plain text
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)  を使うこと。"
4344
4345 #. type: Plain text
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 章 (乱数) で展開されている。"
4349
4350 #. type: Plain text
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 章 (乱数) を見よ。ここでは、 たくさんの実用的な話題についても深く網羅されている。"
4354
4355 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
4356 #. type: Plain text
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 ではない。"
4360
4361 #. type: Plain text
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)"
4365
4366 #. type: TH
4367 #: build/C/man3/random_r.3:26
4368 #, no-wrap
4369 msgid "RANDOM_R"
4370 msgstr "RANDOM_R"
4371
4372 #. type: Plain text
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 - リエントラントな 乱数生成器"
4376
4377 #. type: Plain text
4378 #: build/C/man3/random_r.3:35
4379 #, no-wrap
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"
4382
4383 #. type: Plain text
4384 #: build/C/man3/random_r.3:37
4385 #, no-wrap
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"
4388
4389 #. type: Plain text
4390 #: build/C/man3/random_r.3:40
4391 #, no-wrap
4392 msgid ""
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"
4395 msgstr ""
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"
4398
4399 #. type: Plain text
4400 #: build/C/man3/random_r.3:42
4401 #, no-wrap
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"
4404
4405 #. type: Plain text
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>():"
4409
4410 #. type: Plain text
4411 #: build/C/man3/random_r.3:56
4412 msgid "_SVID_SOURCE || _BSD_SOURCE"
4413 msgstr "_SVID_SOURCE || _BSD_SOURCE"
4414
4415 #. type: Plain text
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)  で説明されている関数のリエントラント版で、等価な機能を持つ。 これらは、独立した再現可能な乱数列を各スレッドが得る必要があるような マルチスレッド・プログラムでの使用に適している。"
4419
4420 #. type: Plain text
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> に格納されて返される。"
4424
4425 #. type: Plain text
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> が指すオブジェクトで管理される状態に対応する乱数生成器の種を 初期化する。"
4429
4430 #. type: Plain text
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> が指すオブジェクト内の状態を初期化する。"
4434
4435 #. type: Plain text
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> が指すオブジェクト内の状態を変更する。"
4439
4440 #. type: Plain text
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> にエラーの原因を示す値がセットされる。"
4444
4445 #. type: Plain text
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>()  に指定された。"
4449
4450 #. type: Plain text
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 であった。"
4454
4455 #. type: Plain text
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 であった。"
4459
4460 #. type: Plain text
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>() はスレッドセーフである。"
4464
4465 #.  These functions appear to be on Tru64, but don't seem to be on
4466 #.  Solaris, HP-UX, or FreeBSD.
4467 #. type: Plain text
4468 #: build/C/man3/random_r.3:141
4469 msgid "These functions are nonstandard glibc extensions."
4470 msgstr "これらの関数は非標準で glibc による拡張である。"
4471
4472 #. type: TH
4473 #: build/C/man3/rpmatch.3:29
4474 #, no-wrap
4475 msgid "RPMATCH"
4476 msgstr "RPMATCH"
4477
4478 #. type: Plain text
4479 #: build/C/man3/rpmatch.3:32
4480 msgid "rpmatch - determine if the answer to a question is affirmative or negative"
4481 msgstr "rpmatch - 質問への応答が肯定か否定かを判定する"
4482
4483 #. type: Plain text
4484 #: build/C/man3/rpmatch.3:37
4485 #, no-wrap
4486 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
4487 msgstr "B<int rpmatch(const char *>I<response>B<);>\n"
4488
4489 #. type: Plain text
4490 #: build/C/man3/rpmatch.3:46
4491 msgid "B<rpmatch>(): _SVID_SOURCE"
4492 msgstr "B<rpmatch>(): _SVID_SOURCE"
4493
4494 #. type: Plain text
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) に対応している。"
4498
4499 #. type: Plain text
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)  で取り込んだものであろう。"
4503
4504 #. type: Plain text
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> が ユーザの言語設定として考慮される。"
4508
4509 #. type: Plain text
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]> にマッチする応答は常に否定だと解釈される。"
4513
4514 #. type: Plain text
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 を返す。"
4518
4519 #. type: Plain text
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 以外かどうかを確認するだけでは 十分ではない。"
4523
4524 #. type: Plain text
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> の値を認識できずに失敗した場合を区別することはできない)。"
4528
4529 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
4530 #. type: Plain text
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 以外にも利用できるシステムもいくつかは存在する。"
4534
4535 #. type: Plain text
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)$> で解釈するなど。"
4539
4540 #. type: Plain text
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>()  に渡した場合の結果を表示する。"
4544
4545 #. type: Plain text
4546 #: build/C/man3/rpmatch.3:130
4547 #, no-wrap
4548 msgid ""
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"
4554 msgstr ""
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"
4560
4561 #. type: Plain text
4562 #: build/C/man3/rpmatch.3:138
4563 #, no-wrap
4564 msgid ""
4565 "int\n"
4566 "main(int argc, char *argv[])\n"
4567 "{\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"
4571 "    }\n"
4572 msgstr ""
4573 "int\n"
4574 "main(int argc, char *argv[])\n"
4575 "{\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"
4579 "    }\n"
4580
4581 #. type: Plain text
4582 #: build/C/man3/rpmatch.3:143
4583 #, no-wrap
4584 msgid ""
4585 "    setlocale(LC_ALL, \"\");\n"
4586 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4587 "    exit(EXIT_SUCCESS);\n"
4588 "}\n"
4589 msgstr ""
4590 "    setlocale(LC_ALL, \"\");\n"
4591 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4592 "    exit(EXIT_SUCCESS);\n"
4593 "}\n"
4594
4595 #. type: Plain text
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)"
4599
4600 #. type: TH
4601 #: build/C/man3/setenv.3:37
4602 #, no-wrap
4603 msgid "SETENV"
4604 msgstr "SETENV"
4605
4606 #. type: TH
4607 #: build/C/man3/setenv.3:37
4608 #, no-wrap
4609 msgid "2013-10-11"
4610 msgstr "2013-10-11"
4611
4612 #. type: Plain text
4613 #: build/C/man3/setenv.3:40
4614 msgid "setenv - change or add an environment variable"
4615 msgstr "setenv - 環境変数を変更または追加する"
4616
4617 #. type: Plain text
4618 #: build/C/man3/setenv.3:45
4619 #, no-wrap
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"
4622
4623 #. type: Plain text
4624 #: build/C/man3/setenv.3:47
4625 #, no-wrap
4626 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
4627 msgstr "B<int unsetenv(const char *>I<name>B<);>\n"
4628
4629 #. type: Plain text
4630 #: build/C/man3/setenv.3:57
4631 msgid "B<setenv>(), B<unsetenv>():"
4632 msgstr "B<setenv>(), B<unsetenv>():"
4633
4634 #. type: Plain text
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"
4638
4639 #. type: Plain text
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> により参照される文字列のコピーを行う。"
4643
4644 #. type: Plain text
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> が環境にない場合、この関数は成功し、環境は変更されない。"
4648
4649 #. type: Plain text
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> にエラーの原因を示す値がセットされる。"
4653
4654 #. type: Plain text
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> を設定してエラーの原因を示す。"
4658
4659 #. type: Plain text
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 文字が含まれている。"
4663
4664 #. type: Plain text
4665 #: build/C/man3/setenv.3:128
4666 msgid "Insufficient memory to add a new variable to the environment."
4667 msgstr "環境に新しい変数を追加するのに十分なメモリがない。"
4668
4669 #. type: Plain text
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>()  がリエントラント (再入可能) であることを要求していない。"
4673
4674 #. type: Plain text
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 互換のプロトタイプである。"
4678
4679 #. type: Plain text
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 文字が含まれるのを許している。"
4683
4684 #. type: Plain text
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)"
4688
4689 #. type: TH
4690 #: build/C/man3/strtod.3:45
4691 #, no-wrap
4692 msgid "STRTOD"
4693 msgstr "STRTOD"
4694
4695 #. type: Plain text
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 文字列を浮動小数点実数に変換する"
4699
4700 #. type: Plain text
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<);>"
4704
4705 #. type: Plain text
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<);>"
4709
4710 #. type: Plain text
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<);>"
4714
4715 #. type: Plain text
4716 #: build/C/man3/strtod.3:65
4717 msgid "B<strtof>(), B<strtold>():"
4718 msgstr "B<strtof>(), B<strtold>():"
4719
4720 #. type: Plain text
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> 型の値にそれぞれ変換する。"
4724
4725 #. type: Plain text
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)  で識別される)。"
4729
4730 #. type: Plain text
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 の何乗であるかを表す。"
4734
4735 #. type: Plain text
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 進の指数部は、どちらか一方しか存在してはならない。"
4739
4740 #. type: Plain text
4741 #: build/C/man3/strtod.3:118
4742 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
4743 msgstr "I<無限> は \"INF\" または \"INFINITY\" で表され、大文字小文字は区別されない。"
4744
4745 #. type: Plain text
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 の型を指定する。"
4749
4750 #. type: Plain text
4751 #: build/C/man3/strtod.3:129
4752 msgid "These functions return the converted value, if any."
4753 msgstr "これらの関数は、変換された値があれば、それを返す。"
4754
4755 #. type: Plain text
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> で参照される場所へ保存される。"
4759
4760 #. type: Plain text
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> の値 (変換対象である文字列の開始アドレス) が保存される。"
4764
4765 #. type: Plain text
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> に代入される。"
4769
4770 #. type: TP
4771 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151
4772 #: build/C/man3/strtoul.3:155
4773 #, no-wrap
4774 msgid "B<ERANGE>"
4775 msgstr "B<ERANGE>"
4776
4777 #. type: Plain text
4778 #: build/C/man3/strtod.3:159
4779 msgid "Overflow or underflow occurred."
4780 msgstr "オーバーフローまたはアンダーフローが起こった。"
4781
4782 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4786
4787 #. type: Plain text
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 つの関数が記述されている。"
4791
4792 #. type: Plain text
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 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
4796
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."
4804 #. type: Plain text
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' を接頭辞として付けることができる)。 この整数値は返り値の仮数部として使われる。"
4808
4809 #. type: Plain text
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)  のマニュアルページの例を参照。 このページで説明した関数の使用方法も同様である。"
4813
4814 #. type: Plain text
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)"
4818
4819 #. type: TH
4820 #: build/C/man3/strtoimax.3:24
4821 #, no-wrap
4822 msgid "STRTOIMAX"
4823 msgstr "STRTOIMAX"
4824
4825 #. type: Plain text
4826 #: build/C/man3/strtoimax.3:27
4827 msgid "strtoimax, strtoumax - convert string to integer"
4828 msgstr "strtoimax, strtoumax - 文字列を整数に変換する"
4829
4830 #. type: Plain text
4831 #: build/C/man3/strtoimax.3:30
4832 #, no-wrap
4833 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
4834 msgstr "B<#include E<lt>inttypes.hE<gt>>\n"
4835
4836 #. type: Plain text
4837 #: build/C/man3/strtoimax.3:32
4838 #, no-wrap
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"
4841
4842 #. type: Plain text
4843 #: build/C/man3/strtoimax.3:34
4844 #, no-wrap
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"
4847
4848 #. type: Plain text
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> 型の値を返す。"
4852
4853 #. type: Plain text
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> に設定される。"
4857
4858 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4862
4863 #. type: Plain text
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)"
4867
4868 #. type: TH
4869 #: build/C/man3/strtol.3:31
4870 #, no-wrap
4871 msgid "STRTOL"
4872 msgstr "STRTOL"
4873
4874 #. type: Plain text
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 に変換する"
4878
4879 #. type: Plain text
4880 #: build/C/man3/strtol.3:39
4881 #, no-wrap
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"
4884
4885 #. type: Plain text
4886 #: build/C/man3/strtol.3:42
4887 #, no-wrap
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"
4890
4891 #. type: Plain text
4892 #: build/C/man3/strtol.3:51
4893 msgid "B<strtoll>():"
4894 msgstr "B<strtoll>():"
4895
4896 #. type: Plain text
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;"
4900
4901 #. type: Plain text
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 でなければならない。"
4905
4906 #. type: Plain text
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進数として扱われる。"
4910
4911 #. type: Plain text
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 を表す。)"
4915
4916 #. type: Plain text
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 ならば、文字列全体が有効だったことになる。"
4920
4921 #. type: Plain text
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 型の値を返す。"
4925
4926 #. type: Plain text
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> が返される。"
4930
4931 #. type: Plain text
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> がサポートされていない値である。"
4935
4936 #. type: Plain text
4937 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
4938 msgid "The resulting value was out of range."
4939 msgstr "結果の値が範囲外である。"
4940
4941 #. type: Plain text
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> が設定される場合がある。"
4945
4946 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
4950
4951 #. type: Plain text
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 に準拠している。"
4955
4956 #. type: Plain text
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 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
4960
4961 #. type: Plain text
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\" 以外のロケールでは、これらの関数は、他の実装時に定義される数字を示す文字列を受け付けるとされている。"
4965
4966 #. type: Plain text
4967 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
4968 msgid "BSD also has"
4969 msgstr "BSD には、"
4970
4971 #. type: Plain text
4972 #: build/C/man3/strtol.3:207
4973 #, no-wrap
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"
4976
4977 #. type: Plain text
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>()  と等価となることもある。"
4981
4982 #. type: Plain text
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>()  よりも簡単なインタフェースを持つ関数で、 その中ではエラーチェックは行われない)。 このプログラムの実行例をいくつか以下に示す:"
4986
4987 #. type: Plain text
4988 #: build/C/man3/strtol.3:246
4989 #, no-wrap
4990 msgid ""
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"
5004 msgstr ""
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"
5018
5019 #. type: Plain text
5020 #: build/C/man3/strtol.3:255
5021 #, no-wrap
5022 msgid ""
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"
5027 msgstr ""
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"
5032
5033 #. type: Plain text
5034 #: build/C/man3/strtol.3:262
5035 #, no-wrap
5036 msgid ""
5037 "int\n"
5038 "main(int argc, char *argv[])\n"
5039 "{\n"
5040 "    int base;\n"
5041 "    char *endptr, *str;\n"
5042 "    long val;\n"
5043 msgstr ""
5044 "int\n"
5045 "main(int argc, char *argv[])\n"
5046 "{\n"
5047 "    int base;\n"
5048 "    char *endptr, *str;\n"
5049 "    long val;\n"
5050
5051 #. type: Plain text
5052 #: build/C/man3/strtol.3:267
5053 #, no-wrap
5054 msgid ""
5055 "    if (argc E<lt> 2) {\n"
5056 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5057 "        exit(EXIT_FAILURE);\n"
5058 "    }\n"
5059 msgstr ""
5060 "    if (argc E<lt> 2) {\n"
5061 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5062 "        exit(EXIT_FAILURE);\n"
5063 "    }\n"
5064
5065 #. type: Plain text
5066 #: build/C/man3/strtol.3:270
5067 #, no-wrap
5068 msgid ""
5069 "    str = argv[1];\n"
5070 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5071 msgstr ""
5072 "    str = argv[1];\n"
5073 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5074
5075 #. type: Plain text
5076 #: build/C/man3/strtol.3:273
5077 #, no-wrap
5078 msgid ""
5079 "    errno = 0;    /* To distinguish success/failure after call */\n"
5080 "    val = strtol(str, &endptr, base);\n"
5081 msgstr ""
5082 "    errno = 0;    /* To distinguish success/failure after call */\n"
5083 "    val = strtol(str, &endptr, base);\n"
5084
5085 #. type: Plain text
5086 #: build/C/man3/strtol.3:275
5087 #, no-wrap
5088 msgid "    /* Check for various possible errors */\n"
5089 msgstr "    /* Check for various possible errors */\n"
5090
5091 #. type: Plain text
5092 #: build/C/man3/strtol.3:281
5093 #, no-wrap
5094 msgid ""
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"
5099 "    }\n"
5100 msgstr ""
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"
5105 "    }\n"
5106
5107 #. type: Plain text
5108 #: build/C/man3/strtol.3:286
5109 #, no-wrap
5110 msgid ""
5111 "    if (endptr == str) {\n"
5112 "        fprintf(stderr, \"No digits were found\\en\");\n"
5113 "        exit(EXIT_FAILURE);\n"
5114 "    }\n"
5115 msgstr ""
5116 "    if (endptr == str) {\n"
5117 "        fprintf(stderr, \"No digits were found\\en\");\n"
5118 "        exit(EXIT_FAILURE);\n"
5119 "    }\n"
5120
5121 #. type: Plain text
5122 #: build/C/man3/strtol.3:288
5123 #, no-wrap
5124 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
5125 msgstr "    /* If we got here, strtol() successfully parsed a number */\n"
5126
5127 #. type: Plain text
5128 #: build/C/man3/strtol.3:290
5129 #, no-wrap
5130 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
5131 msgstr "    printf(\"strtol() returned %ld\\en\", val);\n"
5132
5133 #. type: Plain text
5134 #: build/C/man3/strtol.3:293
5135 #, no-wrap
5136 msgid ""
5137 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
5138 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
5139 msgstr ""
5140 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an error... */\n"
5141 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
5142
5143 #. type: Plain text
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)"
5147
5148 #. type: TH
5149 #: build/C/man3/strtoul.3:33
5150 #, no-wrap
5151 msgid "STRTOUL"
5152 msgstr "STRTOUL"
5153
5154 #. type: Plain text
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 に変換する"
5158
5159 #. type: Plain text
5160 #: build/C/man3/strtoul.3:42
5161 #, no-wrap
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"
5164
5165 #. type: Plain text
5166 #: build/C/man3/strtoul.3:45
5167 #, no-wrap
5168 msgid ""
5169 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5170 "B<                                int >I<base>B<);>\n"
5171 msgstr ""
5172 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char **>I<endptr>B<,>\n"
5173 "B<                                int >I<base>B<);>\n"
5174
5175 #. type: Plain text
5176 #: build/C/man3/strtoul.3:54
5177 msgid "B<strtoull>():"
5178 msgstr "B<strtoull>():"
5179
5180 #. type: Plain text
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 でなければならない。"
5184
5185 #. type: Plain text
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 を表す。)"
5189
5190 #. type: Plain text
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 ならば、文字列全体が有効だったことになる。"
5194
5195 #. type: Plain text
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> 型の値を返す。"
5199
5200 #. type: Plain text
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>()  と全く同じである。"
5204
5205 #. type: Plain text
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) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。"
5209
5210 #. type: Plain text
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 に準拠している。"
5214
5215 #. type: Plain text
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 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。"
5219
5220 #. type: Plain text
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 毎の区切り文字に対応しているかもしれない。)"
5224
5225 #. type: Plain text
5226 #: build/C/man3/strtoul.3:206
5227 #, no-wrap
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"
5230
5231 #. type: Plain text
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>()  と等価な場合もありえる。"
5235
5236 #. type: Plain text
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> 型の値に変換される。"
5240
5241 #. type: Plain text
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)"
5245
5246 #. type: TH
5247 #: build/C/man3/system.3:31
5248 #, no-wrap
5249 msgid "SYSTEM"
5250 msgstr "SYSTEM"
5251
5252 #. type: Plain text
5253 #: build/C/man3/system.3:34
5254 msgid "system - execute a shell command"
5255 msgstr "system - シェルコマンドの実行"
5256
5257 #. type: Plain text
5258 #: build/C/man3/system.3:39
5259 #, no-wrap
5260 msgid "B<int system(const char *>I<command>B<);>\n"
5261 msgstr "B<int system(const char *>I<command>B<);>\n"
5262
5263 #. type: Plain text
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) を使って実行する。"
5267
5268 #. type: Plain text
5269 #: build/C/man3/system.3:52
5270 #, no-wrap
5271 msgid "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
5272 msgstr "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
5273
5274 #. type: Plain text
5275 #: build/C/man3/system.3:55
5276 msgid "B<system>()  returns after the command has been completed."
5277 msgstr "B<system>() が返るのはコマンドが完了した後である。"
5278
5279 #. type: Plain text
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> を実行する子プロセスでは、これらのシグナルはデフォルトの処理方法にしたがって処理される)。"
5283
5284 #. type: Plain text
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>()  はそのシステムでシェルが利用可能かを示すステータスを返す。"
5288
5289 #. type: Plain text
5290 #: build/C/man3/system.3:77
5291 msgid "The return value of B<system>()  is one of the following:"
5292 msgstr "B<system>() の返り値は以下のいずれかである。"
5293
5294 #. type: Plain text
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。"
5298
5299 #. type: Plain text
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 である。"
5303
5304 #. type: Plain text
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) を呼び出して終了したのと同じになる。"
5308
5309 #. type: Plain text
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> を実行するのに使用された子プロセスのシェルの終了ステータスとなる (シェルの終了ステータスはそのシェルが実行した最後のコマンドの終了ステータスである)。"
5313
5314 #. type: Plain text
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>() などのマクロ) を使って検査することができる。"
5318
5319 #. type: Plain text
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>()  は他の子プロセスのウエイトステータスには影響を与えない。"
5323
5324 #. type: Plain text
5325 #: build/C/man3/system.3:115
5326 msgid "The B<system>()  function is thread-safe."
5327 msgstr "関数 B<system>() はスレッドセーフである。"
5328
5329 #. type: Plain text
5330 #: build/C/man3/system.3:117
5331 msgid "C89, C99, POSIX.1-2001."
5332 msgstr "C89, C99, POSIX.1-2001."
5333
5334 #. type: Plain text
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>() を使用することによる主なコストは非効率性である。 シェルを実行するプロセスを作成するためとそのシェルを実行するために、余計にシステムコールが必要となる。"
5338
5339 #. type: Plain text
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>> をインクルードすると利用可能になる。"
5343
5344 #. type: Plain text
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>()  を呼ぶプログラムは、 以下の例のように子プロセスの終了状態を自分でチェックしておかないと、 中断できなくなるかもしれない。"
5348
5349 #. type: Plain text
5350 #: build/C/man3/system.3:162
5351 #, no-wrap
5352 msgid ""
5353 "    while (something) {\n"
5354 "        int ret = system(\"foo\");\n"
5355 msgstr ""
5356 "    while (something) {\n"
5357 "        int ret = system(\"foo\");\n"
5358
5359 #. type: Plain text
5360 #: build/C/man3/system.3:167
5361 #, no-wrap
5362 msgid ""
5363 "        if (WIFSIGNALED(ret) &&\n"
5364 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5365 "                break;\n"
5366 "    }\n"
5367 msgstr ""
5368 "        if (WIFSIGNALED(ret) &&\n"
5369 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5370 "                break;\n"
5371 "    }\n"
5372
5373 #. type: Plain text
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 を用いている)"
5377
5378 #. type: Plain text
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)  を呼び出していた時には、シェルが利用可能でない場合や実行可能ファイル でない場合があるからである。"
5382
5383 #. type: Plain text
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>() の返り値は、子プロセスでシェルが実行できなかった場合と区別できない。"
5387
5388 #. type: Plain text
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)"
5392
5393 #. type: TH
5394 #: build/C/man7/vdso.7:13
5395 #, no-wrap
5396 msgid "VDSO"
5397 msgstr "VDSO"
5398
5399 #. type: Plain text
5400 #: build/C/man7/vdso.7:16
5401 msgid "vDSO - overview of the virtual ELF dynamic shared object"
5402 msgstr "vDSO - 仮想 ELF 動的共有オブジェクトの概要"
5403
5404 #. type: Plain text
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>>"
5408
5409 #. type: Plain text
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);>"
5413
5414 #. type: Plain text
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 経由で利用可能な機能が活用されることになる。"
5418
5419 #. type: Plain text
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 は存在しているのか? カーネルが提供するシステムコールのいくつかは、 ユーザー空間のコードがこれらのシステムコールを頻繁に呼び出すことになり、 このような呼び出しが全体の性能を支配するようになる場合がある。 これは、 呼び出しの頻度と、 ユーザー空間から抜けてカーネルに入ることによるコンテキストスイッチのオーバーヘッドの両方に起因する。"
5423
5424 #. type: Plain text
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 を呼びだそうとしているのであれば、 ほとんどの場合間違ったことをしていることだろう。"
5428
5429 #. type: SS
5430 #: build/C/man7/vdso.7:42
5431 #, no-wrap
5432 msgid "Example background"
5433 msgstr ""
5434
5435 #. type: Plain text
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 でカーネルが提供する関数を使うことができる。"
5439
5440 #. type: Plain text
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 上にいるかを問い合わせるための廃止予定の方法も参照している。"
5444
5445 #. type: Plain text
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) はシステムコールから通常の関数コールになり、 少ないメモリーアクセスになる。"
5449
5450 #. type: SS
5451 #: build/C/man7/vdso.7:79
5452 #, no-wrap
5453 msgid "Finding the vDSO"
5454 msgstr "vDSO を見つける"
5455
5456 #. type: Plain text
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> タグ経由で渡される。"
5460
5461 #. type: Plain text
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\" 攻撃 を防ぐためにセキュリティ上の理由から行われる。"
5465
5466 #. type: Plain text
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 の実装で使用されていたものであり (下記の「歴史」を参照)、 このタグを利用するのは避けるべきである。"
5470
5471 #. type: SS
5472 #: build/C/man7/vdso.7:104
5473 #, no-wrap
5474 msgid "File format"
5475 msgstr "ファイルフォーマット"
5476
5477 #. type: Plain text
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 ライブラリは最初の呼び出し時に検出を行い、 それ以降の呼び出しで利用できるようにその結果をキャッシュする。"
5481
5482 #. type: Plain text
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 に一致するバージョンをしなければならない。"
5486
5487 #. type: Plain text
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\" という名前になっている。"
5491
5492 #. type: Plain text
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 の呼び出しの慣習にしたがっておけばよい。 特殊なレジスターやスタックの動作に気を使う必要はない。"
5496
5497 #. type: SS
5498 #: build/C/man7/vdso.7:130
5499 #, no-wrap
5500 msgid "Source"
5501 msgstr "ソース"
5502
5503 #. type: Plain text
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 コードが生成される。"
5507
5508 #. type: Plain text
5509 #: build/C/man7/vdso.7:136
5510 #, no-wrap
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"
5513
5514 #. type: SS
5515 #: build/C/man7/vdso.7:137
5516 #, no-wrap
5517 msgid "vDSO names"
5518 msgstr "vDSO 名"
5519
5520 #. type: Plain text
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) の出力などに現れる。 名前はコードで必要となることはなく、 名前をハードコードしないこと。"
5524
5525 #. type: tbl table
5526 #: build/C/man7/vdso.7:148
5527 #, no-wrap
5528 msgid "user ABI\tvDSO name\n"
5529 msgstr "ユーザー ABI\tvDSO 名\n"
5530
5531 #. type: tbl table
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
5537 #, no-wrap
5538 msgid "_\n"
5539 msgstr "_\n"
5540
5541 #. type: tbl table
5542 #: build/C/man7/vdso.7:150
5543 #, no-wrap
5544 msgid "aarch64\tlinux-vdso.so.1\n"
5545 msgstr "aarch64\tlinux-vdso.so.1\n"
5546
5547 #. type: tbl table
5548 #: build/C/man7/vdso.7:151
5549 #, no-wrap
5550 msgid "ia64\tlinux-gate.so.1\n"
5551 msgstr "ia64\tlinux-gate.so.1\n"
5552
5553 #. type: tbl table
5554 #: build/C/man7/vdso.7:152
5555 #, no-wrap
5556 msgid "ppc/32\tlinux-vdso32.so.1\n"
5557 msgstr "ppc/32\tlinux-vdso32.so.1\n"
5558
5559 #. type: tbl table
5560 #: build/C/man7/vdso.7:153
5561 #, no-wrap
5562 msgid "ppc/64\tlinux-vdso64.so.1\n"
5563 msgstr "ppc/64\tlinux-vdso64.so.1\n"
5564
5565 #. type: tbl table
5566 #: build/C/man7/vdso.7:154
5567 #, no-wrap
5568 msgid "s390\tlinux-vdso32.so.1\n"
5569 msgstr "s390\tlinux-vdso32.so.1\n"
5570
5571 #. type: tbl table
5572 #: build/C/man7/vdso.7:155
5573 #, no-wrap
5574 msgid "s390x\tlinux-vdso64.so.1\n"
5575 msgstr "s390x\tlinux-vdso64.so.1\n"
5576
5577 #. type: tbl table
5578 #: build/C/man7/vdso.7:156
5579 #, no-wrap
5580 msgid "sh\tlinux-gate.so.1\n"
5581 msgstr "sh\tlinux-gate.so.1\n"
5582
5583 #. type: tbl table
5584 #: build/C/man7/vdso.7:157
5585 #, no-wrap
5586 msgid "i386\tlinux-gate.so.1\n"
5587 msgstr "i386\tlinux-gate.so.1\n"
5588
5589 #. type: tbl table
5590 #: build/C/man7/vdso.7:158
5591 #, no-wrap
5592 msgid "x86_64\tlinux-vdso.so.1\n"
5593 msgstr "x86_64\tlinux-vdso.so.1\n"
5594
5595 #. type: tbl table
5596 #: build/C/man7/vdso.7:159
5597 #, no-wrap
5598 msgid "x86/x32\tlinux-vdso.so.1\n"
5599 msgstr "x86/x32\tlinux-vdso.so.1\n"
5600
5601 #. type: SH
5602 #: build/C/man7/vdso.7:165
5603 #, no-wrap
5604 msgid "ARCHITECTURE-SPECIFIC NOTES"
5605 msgstr "アーキテクチャー固有の注意"
5606
5607 #. type: Plain text
5608 #: build/C/man7/vdso.7:168
5609 msgid "The subsections below provide architecture-specific notes on the vDSO."
5610 msgstr "以下のサブ章では vDSO のアーキテクチャー固有の注意について説明する。"
5611
5612 #. type: Plain text
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 の名前を使用する必要がある。"
5616
5617 #. type: SS
5618 #: build/C/man7/vdso.7:177
5619 #, no-wrap
5620 msgid "ARM functions"
5621 msgstr "ARM 関数"
5622
5623 #.  See linux/arch/arm/kernel/entry-armv.S
5624 #.  See linux/Documentation/arm/kernel_user_helpers.txt
5625 #. type: Plain text
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."
5628 msgstr ""
5629
5630 #. type: Plain text
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>."
5633 msgstr ""
5634
5635 #. type: SS
5636 #: build/C/man7/vdso.7:189
5637 #, no-wrap
5638 msgid "aarch64 functions"
5639 msgstr "aarch64 関数"
5640
5641 #.  See linux/arch/x86/vdso/vdso32.lds.S
5642 #. type: Plain text
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 で公開されるシンボルの一覧である。"
5648
5649 #. type: tbl table
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
5654 #, no-wrap
5655 msgid "symbol\tversion\n"
5656 msgstr "シンボル\tバージョン\n"
5657
5658 #. type: tbl table
5659 #: build/C/man7/vdso.7:199
5660 #, no-wrap
5661 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
5662 msgstr "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
5663
5664 #. type: tbl table
5665 #: build/C/man7/vdso.7:200
5666 #, no-wrap
5667 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
5668 msgstr "__kernel_gettimeofday\tLINUX_2.6.39\n"
5669
5670 #. type: tbl table
5671 #: build/C/man7/vdso.7:201
5672 #, no-wrap
5673 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
5674 msgstr "__kernel_clock_gettime\tLINUX_2.6.39\n"
5675
5676 #. type: tbl table
5677 #: build/C/man7/vdso.7:202
5678 #, no-wrap
5679 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
5680 msgstr "__kernel_clock_getres\tLINUX_2.6.39\n"
5681
5682 #. type: SS
5683 #: build/C/man7/vdso.7:208
5684 #, no-wrap
5685 msgid "bfin (Blackfin) functions"
5686 msgstr "bfin (Blackfin) 関数"
5687
5688 #.  See linux/arch/blackfin/kernel/fixed_code.S
5689 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
5690 #. type: Plain text
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)."
5693 msgstr ""
5694
5695 #. type: Plain text
5696 #: build/C/man7/vdso.7:223
5697 msgid "For information on this code page, it's best to refer to the public documentation:"
5698 msgstr ""
5699
5700 #. type: Plain text
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"
5704
5705 #. type: SS
5706 #: build/C/man7/vdso.7:225
5707 #, no-wrap
5708 msgid "ia64 (Itanium) functions"
5709 msgstr "ia64 (Itanium) 関数"
5710
5711 #. type: tbl table
5712 #: build/C/man7/vdso.7:236
5713 #, no-wrap
5714 msgid "__kernel_sigtramp\tLINUX_2.5\n"
5715 msgstr "__kernel_sigtramp\tLINUX_2.5\n"
5716
5717 #. type: tbl table
5718 #: build/C/man7/vdso.7:237
5719 #, no-wrap
5720 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
5721 msgstr "__kernel_syscall_via_break\tLINUX_2.5\n"
5722
5723 #. type: tbl table
5724 #: build/C/man7/vdso.7:238
5725 #, no-wrap
5726 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
5727 msgstr "__kernel_syscall_via_epc\tLINUX_2.5\n"
5728
5729 #. type: Plain text
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."
5732 msgstr ""
5733
5734 #. type: tbl table
5735 #: build/C/man7/vdso.7:262
5736 #, no-wrap
5737 msgid "function\n"
5738 msgstr "関数\n"
5739
5740 #. type: tbl table
5741 #: build/C/man7/vdso.7:264
5742 #, no-wrap
5743 msgid "clock_gettime\n"
5744 msgstr "clock_gettime\n"
5745
5746 #. type: tbl table
5747 #: build/C/man7/vdso.7:265
5748 #, no-wrap
5749 msgid "getcpu\n"
5750 msgstr "getcpu\n"
5751
5752 #. type: tbl table
5753 #: build/C/man7/vdso.7:266
5754 #, no-wrap
5755 msgid "getpid\n"
5756 msgstr "getpid\n"
5757
5758 #. type: tbl table
5759 #: build/C/man7/vdso.7:267
5760 #, no-wrap
5761 msgid "getppid\n"
5762 msgstr "getppid\n"
5763
5764 #. type: tbl table
5765 #: build/C/man7/vdso.7:268
5766 #, no-wrap
5767 msgid "gettimeofday\n"
5768 msgstr "gettimeofday\n"
5769
5770 #. type: tbl table
5771 #: build/C/man7/vdso.7:269
5772 #, no-wrap
5773 msgid "set_tid_address\n"
5774 msgstr "set_tid_address\n"
5775
5776 #. type: SS
5777 #: build/C/man7/vdso.7:275
5778 #, no-wrap
5779 msgid "parisc (hppa) functions"
5780 msgstr "parisc (hppa) 関数"
5781
5782 #.  See linux/arch/parisc/kernel/syscall.S
5783 #.  See linux/Documentation/parisc/registers
5784 #. type: Plain text
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."
5787 msgstr ""
5788
5789 #. type: Plain text
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:"
5792 msgstr ""
5793
5794 #. type: Plain text
5795 #: build/C/man7/vdso.7:293
5796 #, no-wrap
5797 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
5798 msgstr "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
5799
5800 #. type: tbl table
5801 #: build/C/man7/vdso.7:298
5802 #, no-wrap
5803 msgid "offset\tfunction\n"
5804 msgstr "オフセット\t関数\n"
5805
5806 #. type: tbl table
5807 #: build/C/man7/vdso.7:300
5808 #, no-wrap
5809 msgid "00b0\tlws_entry\n"
5810 msgstr "00b0\tlws_entry\n"
5811
5812 #. type: tbl table
5813 #: build/C/man7/vdso.7:301
5814 #, no-wrap
5815 msgid "00e0\tset_thread_pointer\n"
5816 msgstr "00e0\tset_thread_pointer\n"
5817
5818 #. type: tbl table
5819 #: build/C/man7/vdso.7:302
5820 #, no-wrap
5821 msgid "0100\tlinux_gateway_entry (syscall)\n"
5822 msgstr "0100\tlinux_gateway_entry (syscall)\n"
5823
5824 #. type: tbl table
5825 #: build/C/man7/vdso.7:303
5826 #, no-wrap
5827 msgid "0268\tsyscall_nosys\n"
5828 msgstr "0268\tsyscall_nosys\n"
5829
5830 #. type: tbl table
5831 #: build/C/man7/vdso.7:304
5832 #, no-wrap
5833 msgid "0274\ttracesys\n"
5834 msgstr "0274\ttracesys\n"
5835
5836 #. type: tbl table
5837 #: build/C/man7/vdso.7:305
5838 #, no-wrap
5839 msgid "0324\ttracesys_next\n"
5840 msgstr "0324\ttracesys_next\n"
5841
5842 #. type: tbl table
5843 #: build/C/man7/vdso.7:306
5844 #, no-wrap
5845 msgid "0368\ttracesys_exit\n"
5846 msgstr "0368\ttracesys_exit\n"
5847
5848 #. type: tbl table
5849 #: build/C/man7/vdso.7:307
5850 #, no-wrap
5851 msgid "03a0\ttracesys_sigexit\n"
5852 msgstr "03a0\ttracesys_sigexit\n"
5853
5854 #. type: tbl table
5855 #: build/C/man7/vdso.7:308
5856 #, no-wrap
5857 msgid "03b8\tlws_start\n"
5858 msgstr "03b8\tlws_start\n"
5859
5860 #. type: tbl table
5861 #: build/C/man7/vdso.7:309
5862 #, no-wrap
5863 msgid "03dc\tlws_exit_nosys\n"
5864 msgstr "03dc\tlws_exit_nosys\n"
5865
5866 #. type: tbl table
5867 #: build/C/man7/vdso.7:310
5868 #, no-wrap
5869 msgid "03e0\tlws_exit\n"
5870 msgstr "03e0\tlws_exit\n"
5871
5872 #. type: tbl table
5873 #: build/C/man7/vdso.7:311
5874 #, no-wrap
5875 msgid "03e4\tlws_compare_and_swap64\n"
5876 msgstr "03e4\tlws_compare_and_swap64\n"
5877
5878 #. type: tbl table
5879 #: build/C/man7/vdso.7:312
5880 #, no-wrap
5881 msgid "03e8\tlws_compare_and_swap\n"
5882 msgstr "03e8\tlws_compare_and_swap\n"
5883
5884 #. type: tbl table
5885 #: build/C/man7/vdso.7:313
5886 #, no-wrap
5887 msgid "0404\tcas_wouldblock\n"
5888 msgstr "0404\tcas_wouldblock\n"
5889
5890 #. type: tbl table
5891 #: build/C/man7/vdso.7:314
5892 #, no-wrap
5893 msgid "0410\tcas_action\n"
5894 msgstr "0410\tcas_action\n"
5895
5896 #. type: SS
5897 #: build/C/man7/vdso.7:320
5898 #, no-wrap
5899 msgid "ppc/32 functions"
5900 msgstr "ppc/32 関数"
5901
5902 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
5903 #. type: Plain text
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 ビット) カーネルの場合にだけ利用可能である。"
5907
5908 #. type: tbl table
5909 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
5910 #, no-wrap
5911 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
5912 msgstr "__kernel_clock_getres\tLINUX_2.6.15\n"
5913
5914 #. type: tbl table
5915 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
5916 #, no-wrap
5917 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
5918 msgstr "__kernel_clock_gettime\tLINUX_2.6.15\n"
5919
5920 #. type: tbl table
5921 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
5922 #, no-wrap
5923 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
5924 msgstr "__kernel_datapage_offset\tLINUX_2.6.15\n"
5925
5926 #. type: tbl table
5927 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
5928 #, no-wrap
5929 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
5930 msgstr "__kernel_get_syscall_map\tLINUX_2.6.15\n"
5931
5932 #. type: tbl table
5933 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
5934 #, no-wrap
5935 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
5936 msgstr "__kernel_get_tbfreq\tLINUX_2.6.15\n"
5937
5938 #. type: tbl table
5939 #: build/C/man7/vdso.7:339
5940 #, no-wrap
5941 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
5942 msgstr "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
5943
5944 #. type: tbl table
5945 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
5946 #, no-wrap
5947 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
5948 msgstr "__kernel_gettimeofday\tLINUX_2.6.15\n"
5949
5950 #. type: tbl table
5951 #: build/C/man7/vdso.7:341
5952 #, no-wrap
5953 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
5954 msgstr "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
5955
5956 #. type: tbl table
5957 #: build/C/man7/vdso.7:342
5958 #, no-wrap
5959 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
5960 msgstr "__kernel_sigtramp32\tLINUX_2.6.15\n"
5961
5962 #. type: tbl table
5963 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
5964 #, no-wrap
5965 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
5966 msgstr "__kernel_sync_dicache\tLINUX_2.6.15\n"
5967
5968 #. type: tbl table
5969 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
5970 #, no-wrap
5971 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
5972 msgstr "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
5973
5974 #. type: SS
5975 #: build/C/man7/vdso.7:350
5976 #, no-wrap
5977 msgid "ppc/64 functions"
5978 msgstr "ppc/64 関数"
5979
5980 #. type: tbl table
5981 #: build/C/man7/vdso.7:365
5982 #, no-wrap
5983 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
5984 msgstr "__kernel_getcpu\tLINUX_2.6.15\n"
5985
5986 #. type: tbl table
5987 #: build/C/man7/vdso.7:367
5988 #, no-wrap
5989 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
5990 msgstr "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
5991
5992 #. type: SS
5993 #: build/C/man7/vdso.7:375
5994 #, no-wrap
5995 msgid "s390 functions"
5996 msgstr "s390 関数"
5997
5998 #. type: tbl table
5999 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
6000 #, no-wrap
6001 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
6002 msgstr "__kernel_clock_getres\tLINUX_2.6.29\n"
6003
6004 #. type: tbl table
6005 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
6006 #, no-wrap
6007 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
6008 msgstr "__kernel_clock_gettime\tLINUX_2.6.29\n"
6009
6010 #. type: tbl table
6011 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
6012 #, no-wrap
6013 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
6014 msgstr "__kernel_gettimeofday\tLINUX_2.6.29\n"
6015
6016 #. type: SS
6017 #: build/C/man7/vdso.7:393
6018 #, no-wrap
6019 msgid "s390x functions"
6020 msgstr "s390x 関数"
6021
6022 #. type: SS
6023 #: build/C/man7/vdso.7:411
6024 #, no-wrap
6025 msgid "sh (SuperH) functions"
6026 msgstr "sh (SuperH) 関数"
6027
6028 #. type: tbl table
6029 #: build/C/man7/vdso.7:421
6030 #, no-wrap
6031 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
6032 msgstr "__kernel_rt_sigreturn\tLINUX_2.6\n"
6033
6034 #. type: tbl table
6035 #: build/C/man7/vdso.7:422
6036 #, no-wrap
6037 msgid "__kernel_sigreturn\tLINUX_2.6\n"
6038 msgstr "__kernel_sigreturn\tLINUX_2.6\n"
6039
6040 #. type: tbl table
6041 #: build/C/man7/vdso.7:423
6042 #, no-wrap
6043 msgid "__kernel_vsyscall\tLINUX_2.6\n"
6044 msgstr "__kernel_vsyscall\tLINUX_2.6\n"
6045
6046 #. type: SS
6047 #: build/C/man7/vdso.7:429
6048 #, no-wrap
6049 msgid "i386 functions"
6050 msgstr "i386 関数"
6051
6052 #. type: tbl table
6053 #: build/C/man7/vdso.7:439
6054 #, no-wrap
6055 msgid "__kernel_sigreturn\tLINUX_2.5\n"
6056 msgstr "__kernel_sigreturn\tLINUX_2.5\n"
6057
6058 #. type: tbl table
6059 #: build/C/man7/vdso.7:440
6060 #, no-wrap
6061 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
6062 msgstr "__kernel_rt_sigreturn\tLINUX_2.5\n"
6063
6064 #. type: tbl table
6065 #: build/C/man7/vdso.7:441
6066 #, no-wrap
6067 msgid "__kernel_vsyscall\tLINUX_2.5\n"
6068 msgstr "__kernel_vsyscall\tLINUX_2.5\n"
6069
6070 #.  Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
6071 #.  in 37c975545ec63320789962bf307f000f08fabd48.
6072 #. type: tbl table
6073 #: build/C/man7/vdso.7:444
6074 #, no-wrap
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"
6077
6078 #. type: tbl table
6079 #: build/C/man7/vdso.7:445
6080 #, no-wrap
6081 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
6082 msgstr "__vdso_gettimeofday\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
6083
6084 #. type: tbl table
6085 #: build/C/man7/vdso.7:446
6086 #, no-wrap
6087 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
6088 msgstr "__vdso_time\tLINUX_2.6 (Linux 3.15 以降で公開)\n"
6089
6090 #. type: SS
6091 #: build/C/man7/vdso.7:452
6092 #, no-wrap
6093 msgid "x86_64 functions"
6094 msgstr "x86_64 関数"
6095
6096 #.  See linux/arch/x86/vdso/vdso.lds.S
6097 #. type: Plain text
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_\" のプレフィックスなしでも利用できるが、 これらは無視し、 以下の名前だけを使うこと。"
6101
6102 #. type: tbl table
6103 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
6104 #, no-wrap
6105 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
6106 msgstr "__vdso_clock_gettime\tLINUX_2.6\n"
6107
6108 #. type: tbl table
6109 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
6110 #, no-wrap
6111 msgid "__vdso_getcpu\tLINUX_2.6\n"
6112 msgstr "__vdso_getcpu\tLINUX_2.6\n"
6113
6114 #. type: tbl table
6115 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
6116 #, no-wrap
6117 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
6118 msgstr "__vdso_gettimeofday\tLINUX_2.6\n"
6119
6120 #. type: tbl table
6121 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
6122 #, no-wrap
6123 msgid "__vdso_time\tLINUX_2.6\n"
6124 msgstr "__vdso_time\tLINUX_2.6\n"
6125
6126 #. type: SS
6127 #: build/C/man7/vdso.7:473
6128 #, no-wrap
6129 msgid "x86/x32 functions"
6130 msgstr "x86/x32 関数"
6131
6132 #. type: SS
6133 #: build/C/man7/vdso.7:492
6134 #, no-wrap
6135 msgid "History"
6136 msgstr "歴史"
6137
6138 #. type: Plain text
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 という形に見直しが行われた。"
6142
6143 #. type: Plain text
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)"
6147
6148 #. type: Plain text
6149 #: build/C/man7/vdso.7:505
6150 msgid "The documents, examples, and source code in the Linux source code tree:"
6151 msgstr "Linux のソースコードツリーのドキュメント、例、ソースコード:"
6152
6153 #. type: Plain text
6154 #: build/C/man7/vdso.7:511
6155 #, no-wrap
6156 msgid ""
6157 "Documentation/ABI/stable/vdso\n"
6158 "Documentation/ia64/fsys.txt\n"
6159 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
6160 msgstr ""
6161 "Documentation/ABI/stable/vdso\n"
6162 "Documentation/ia64/fsys.txt\n"
6163 "Documentation/vDSO/* (vDSO の使用例がある)\n"
6164
6165 #. type: Plain text
6166 #: build/C/man7/vdso.7:513
6167 #, no-wrap
6168 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
6169 msgstr "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
6170
6171 #. type: TH
6172 #: build/C/man3/wcstombs.3:16
6173 #, no-wrap
6174 msgid "WCSTOMBS"
6175 msgstr "WCSTOMBS"
6176
6177 #. type: Plain text
6178 #: build/C/man3/wcstombs.3:19
6179 msgid "wcstombs - convert a wide-character string to a multibyte string"
6180 msgstr "wcstombs - ワイド文字列をマルチバイト文字列に変換する"
6181
6182 #. type: Plain text
6183 #: build/C/man3/wcstombs.3:24
6184 #, no-wrap
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"
6187
6188 #. type: Plain text
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つの理由により停止する。"
6192
6193 #. type: Plain text
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> が返される。"
6197
6198 #. type: Plain text
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> に 書き込まれたバイト数が返される。しかしこの時点でのシフト状態は失われる。"
6202
6203 #. type: Plain text
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) は含まれない)。"
6207
6208 #. type: Plain text
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> バイトの空きがあることを 保証しなければならない。"
6212
6213 #. type: Plain text
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> は無視される。上記と同様に変換が行 なわれるが変換結果のバイト列はメモリには書き込まれない。 また長さの上限が存在しない。"
6217
6218 #. type: Plain text
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> 以上であることを保証しなければならない。"
6222
6223 #. type: Plain text
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> を返す。"
6227
6228 #. type: Plain text
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> カテゴリに依存している。"
6232
6233 #. type: Plain text
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>()  関数は同じ機能のためのスレッド・セーフな インターフェースを提供する。"
6237
6238 #. type: Plain text
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)"
6242
6243 #. type: TH
6244 #: build/C/man3/wctomb.3:16
6245 #, no-wrap
6246 msgid "WCTOMB"
6247 msgstr "WCTOMB"
6248
6249 #. type: Plain text
6250 #: build/C/man3/wctomb.3:19
6251 msgid "wctomb - convert a wide character to a multibyte sequence"
6252 msgstr "wctomb - ワイド文字をマルチバイト列に変換する。"
6253
6254 #. type: Plain text
6255 #: build/C/man3/wctomb.3:24
6256 #, no-wrap
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"
6259
6260 #. type: Plain text
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> に書き込まれた バイト数を返す。"
6264
6265 #. type: Plain text
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> バイトの空きがあることを保証しなければならない。"
6269
6270 #.  The Dinkumware doc and the Single UNIX specification say this, but
6271 #.  glibc doesn't implement this.
6272 #. type: Plain text
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>()  関数は自分のみが使用するシフト状態を 初期状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を シフト状態に依存しない場合にはゼロを返す。"
6276
6277 #. type: Plain text
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 を返す。"
6281
6282 #. type: Plain text
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>()  関数は文字符号がシフト状態に 依存している場合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。"
6286
6287 #. type: Plain text
6288 #: build/C/man3/wctomb.3:89
6289 msgid "The B<wctomb>()  function is not thread-safe."
6290 msgstr "B<wctomb>() 関数はスレッドセーフではない。"
6291
6292 #. type: Plain text
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> カテゴリに依存している。"
6296
6297 #. type: Plain text
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)  関数は同じ機能のより良いインタフェースを提供する。"
6301
6302 #. type: Plain text
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)"