OSDN Git Service

LDP: Update POT and ja.po to LDP v3.78-git-80a7408
[linuxjm/LDP_man-pages.git] / po4a / stdlib / po / stdlib.pot
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 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2015-01-21 20:35+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man3/MB_CUR_MAX.3:17
21 #, no-wrap
22 msgid "MB_CUR_MAX"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17
27 #, no-wrap
28 msgid "1999-07-04"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17 build/C/man2/_exit.2:29 build/C/man3/atexit.3:33 build/C/man3/clearenv.3:26 build/C/man3/exit.3:29 build/C/man3/getloadavg.3:34 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man3/MB_CUR_MAX.3:17 build/C/man3/MB_LEN_MAX.3:17 build/C/man2/_exit.2:29 build/C/man3/a64l.3:9 build/C/man3/atexit.3:33 build/C/man3/atof.3:31 build/C/man3/atoi.3:33 build/C/man3/canonicalize_file_name.3:26 build/C/man3/cfree.3:24 build/C/man3/clearenv.3:26 build/C/man3/drand48.3:30 build/C/man3/drand48_r.3:27 build/C/man3/ecvt.3:32 build/C/man3/ecvt_r.3:30 build/C/man3/exit.3:29 build/C/man3/gcvt.3:30 build/C/man3/getauxval.3:29 build/C/man3/getenv.3:33 build/C/man3/getloadavg.3:34 build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28 build/C/man3/rand.3:41 build/C/man3/random.3:33 build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtod.3:45 build/C/man3/strtoimax.3:24 build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33 build/C/man3/system.3:31 build/C/man7/vdso.7:13 build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man3/MB_CUR_MAX.3:18 build/C/man3/MB_LEN_MAX.3:18 build/C/man2/_exit.2:30 build/C/man3/a64l.3:10 build/C/man3/atexit.3:34 build/C/man3/atof.3:32 build/C/man3/atoi.3:34 build/C/man3/canonicalize_file_name.3:27 build/C/man3/cfree.3:25 build/C/man3/clearenv.3:27 build/C/man3/drand48.3:31 build/C/man3/drand48_r.3:28 build/C/man3/ecvt.3:33 build/C/man3/ecvt_r.3:31 build/C/man3/exit.3:30 build/C/man3/gcvt.3:31 build/C/man3/getauxval.3:30 build/C/man3/getenv.3:34 build/C/man3/getloadavg.3:35 build/C/man3/getsubopt.3:26 build/C/man3/malloc.3:34 build/C/man3/mblen.3:17 build/C/man3/mbstowcs.3:19 build/C/man3/mbtowc.3:17 build/C/man3/mkdtemp.3:27 build/C/man3/mkstemp.3:36 build/C/man3/mktemp.3:35 build/C/man3/on_exit.3:32 build/C/man3/putenv.3:37 build/C/man3/qecvt.3:29 build/C/man3/rand.3:42 build/C/man3/random.3:34 build/C/man3/random_r.3:27 build/C/man3/rpmatch.3:30 build/C/man3/setenv.3:38 build/C/man3/strtod.3:46 build/C/man3/strtoimax.3:25 build/C/man3/strtol.3:32 build/C/man3/strtoul.3:34 build/C/man3/system.3:32 build/C/man7/vdso.7:14 build/C/man3/wcstombs.3:17 build/C/man3/wctomb.3:17
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man3/MB_CUR_MAX.3:20
51 msgid "MB_CUR_MAX - maximum length of a multibyte character in the current locale"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man3/MB_CUR_MAX.3:20 build/C/man3/MB_LEN_MAX.3:20 build/C/man2/_exit.2:32 build/C/man3/a64l.3:12 build/C/man3/atexit.3:36 build/C/man3/atof.3:34 build/C/man3/atoi.3:36 build/C/man3/canonicalize_file_name.3:29 build/C/man3/cfree.3:27 build/C/man3/clearenv.3:29 build/C/man3/drand48.3:34 build/C/man3/drand48_r.3:32 build/C/man3/ecvt.3:35 build/C/man3/ecvt_r.3:33 build/C/man3/exit.3:32 build/C/man3/gcvt.3:33 build/C/man3/getauxval.3:32 build/C/man3/getenv.3:36 build/C/man3/getloadavg.3:37 build/C/man3/getsubopt.3:28 build/C/man3/malloc.3:36 build/C/man3/mblen.3:19 build/C/man3/mbstowcs.3:21 build/C/man3/mbtowc.3:19 build/C/man3/mkdtemp.3:29 build/C/man3/mkstemp.3:38 build/C/man3/mktemp.3:37 build/C/man3/on_exit.3:34 build/C/man3/putenv.3:39 build/C/man3/qecvt.3:31 build/C/man3/rand.3:44 build/C/man3/random.3:36 build/C/man3/random_r.3:30 build/C/man3/rpmatch.3:32 build/C/man3/setenv.3:40 build/C/man3/strtod.3:48 build/C/man3/strtoimax.3:27 build/C/man3/strtol.3:34 build/C/man3/strtoul.3:36 build/C/man3/system.3:34 build/C/man7/vdso.7:16 build/C/man3/wcstombs.3:19 build/C/man3/wctomb.3:19
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man3/MB_CUR_MAX.3:23 build/C/man3/atexit.3:39 build/C/man3/atof.3:37 build/C/man3/atoi.3:39 build/C/man3/cfree.3:31 build/C/man3/clearenv.3:32 build/C/man3/drand48.3:37 build/C/man3/drand48_r.3:35 build/C/man3/ecvt_r.3:36 build/C/man3/exit.3:35 build/C/man3/gcvt.3:36 build/C/man3/getenv.3:39 build/C/man3/malloc.3:39 build/C/man3/mblen.3:22 build/C/man3/mbstowcs.3:24 build/C/man3/mbtowc.3:22 build/C/man3/mkdtemp.3:32 build/C/man3/mkstemp.3:41 build/C/man3/mktemp.3:40 build/C/man3/on_exit.3:37 build/C/man3/putenv.3:42 build/C/man3/rand.3:47 build/C/man3/random.3:39 build/C/man3/random_r.3:33 build/C/man3/rpmatch.3:35 build/C/man3/setenv.3:43 build/C/man3/strtol.3:37 build/C/man3/strtoul.3:39 build/C/man3/system.3:37 build/C/man3/wcstombs.3:22 build/C/man3/wctomb.3:22
62 #, no-wrap
63 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
64 msgstr ""
65
66 #. type: SH
67 #: build/C/man3/MB_CUR_MAX.3:24 build/C/man3/MB_LEN_MAX.3:24 build/C/man2/_exit.2:56 build/C/man3/a64l.3:33 build/C/man3/atexit.3:42 build/C/man3/atof.3:40 build/C/man3/atoi.3:62 build/C/man3/canonicalize_file_name.3:35 build/C/man3/cfree.3:52 build/C/man3/clearenv.3:43 build/C/man3/drand48.3:75 build/C/man3/drand48_r.3:83 build/C/man3/ecvt.3:69 build/C/man3/ecvt_r.3:64 build/C/man3/exit.3:38 build/C/man3/gcvt.3:64 build/C/man3/getauxval.3:38 build/C/man3/getenv.3:52 build/C/man3/getloadavg.3:44 build/C/man3/getsubopt.3:50 build/C/man3/malloc.3:45 build/C/man3/mblen.3:25 build/C/man3/mbstowcs.3:27 build/C/man3/mbtowc.3:25 build/C/man3/mkdtemp.3:55 build/C/man3/mkstemp.3:76 build/C/man3/mktemp.3:66 build/C/man3/on_exit.3:48 build/C/man3/putenv.3:54 build/C/man3/qecvt.3:66 build/C/man3/rand.3:62 build/C/man3/random.3:64 build/C/man3/random_r.3:58 build/C/man3/rpmatch.3:46 build/C/man3/setenv.3:61 build/C/man3/strtod.3:73 build/C/man3/strtoimax.3:35 build/C/man3/strtol.3:59 build/C/man3/strtoul.3:62 build/C/man3/system.3:40 build/C/man7/vdso.7:20 build/C/man3/wcstombs.3:25 build/C/man3/wctomb.3:25
68 #, no-wrap
69 msgid "DESCRIPTION"
70 msgstr ""
71
72 #. type: Plain text
73 #: build/C/man3/MB_CUR_MAX.3:31
74 msgid ""
75 "The B<MB_CUR_MAX> macro defines an integer expression giving the maximum "
76 "number of bytes needed to represent a single wide character in the current "
77 "locale.  It is locale dependent and therefore not a compile-time constant."
78 msgstr ""
79
80 #. type: SH
81 #: build/C/man3/MB_CUR_MAX.3:31 build/C/man3/MB_LEN_MAX.3:29 build/C/man2/_exit.2:79 build/C/man3/atexit.3:71 build/C/man3/atof.3:55 build/C/man3/atoi.3:86 build/C/man3/canonicalize_file_name.3:61 build/C/man3/cfree.3:96 build/C/man3/clearenv.3:50 build/C/man3/drand48_r.3:96 build/C/man3/ecvt.3:99 build/C/man3/ecvt_r.3:86 build/C/man3/exit.3:86 build/C/man3/gcvt.3:72 build/C/man3/getauxval.3:173 build/C/man3/getenv.3:88 build/C/man3/getloadavg.3:55 build/C/man3/getsubopt.3:110 build/C/man3/malloc.3:132 build/C/man3/mblen.3:75 build/C/man3/mbstowcs.3:84 build/C/man3/mbtowc.3:93 build/C/man3/mkdtemp.3:68 build/C/man3/mkstemp.3:155 build/C/man3/mktemp.3:80 build/C/man3/on_exit.3:76 build/C/man3/putenv.3:67 build/C/man3/rand.3:118 build/C/man3/random.3:118 build/C/man3/random_r.3:100 build/C/man3/rpmatch.3:73 build/C/man3/setenv.3:105 build/C/man3/strtod.3:127 build/C/man3/strtoimax.3:45 build/C/man3/strtol.3:117 build/C/man3/strtoul.3:127 build/C/man3/system.3:73 build/C/man3/wcstombs.3:79 build/C/man3/wctomb.3:63
82 #, no-wrap
83 msgid "RETURN VALUE"
84 msgstr ""
85
86 #. type: Plain text
87 #: build/C/man3/MB_CUR_MAX.3:35
88 msgid ""
89 "An integer in the range [1, B<MB_LEN_MAX>].  The value 1 denotes traditional "
90 "8-bit encoded characters."
91 msgstr ""
92
93 #. type: SH
94 #: build/C/man3/MB_CUR_MAX.3:35 build/C/man3/MB_LEN_MAX.3:31 build/C/man2/_exit.2:81 build/C/man3/a64l.3:71 build/C/man3/atexit.3:76 build/C/man3/atof.3:65 build/C/man3/atoi.3:100 build/C/man3/canonicalize_file_name.3:73 build/C/man3/cfree.3:112 build/C/man3/clearenv.3:59 build/C/man3/drand48.3:260 build/C/man3/drand48_r.3:112 build/C/man3/ecvt.3:117 build/C/man3/ecvt_r.3:88 build/C/man3/exit.3:96 build/C/man3/gcvt.3:77 build/C/man3/getauxval.3:197 build/C/man3/getenv.3:96 build/C/man3/getloadavg.3:70 build/C/man3/getsubopt.3:134 build/C/man3/malloc.3:171 build/C/man3/mblen.3:92 build/C/man3/mbstowcs.3:94 build/C/man3/mbtowc.3:113 build/C/man3/mkdtemp.3:91 build/C/man3/mkstemp.3:204 build/C/man3/mktemp.3:95 build/C/man3/on_exit.3:81 build/C/man3/putenv.3:79 build/C/man3/qecvt.3:96 build/C/man3/rand.3:129 build/C/man3/random.3:161 build/C/man3/random_r.3:137 build/C/man3/rpmatch.3:99 build/C/man3/setenv.3:128 build/C/man3/strtod.3:171 build/C/man3/strtoimax.3:69 build/C/man3/strtol.3:173 build/C/man3/strtoul.3:177 build/C/man3/system.3:115 build/C/man3/wcstombs.3:89 build/C/man3/wctomb.3:89
95 #, no-wrap
96 msgid "CONFORMING TO"
97 msgstr ""
98
99 #. type: Plain text
100 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:33 build/C/man3/strtoimax.3:71
101 msgid "C99, POSIX.1-2001."
102 msgstr ""
103
104 #. type: SH
105 #: build/C/man3/MB_CUR_MAX.3:37 build/C/man3/MB_LEN_MAX.3:44 build/C/man2/_exit.2:124 build/C/man3/a64l.3:93 build/C/man3/atexit.3:161 build/C/man3/atof.3:67 build/C/man3/atoi.3:119 build/C/man3/canonicalize_file_name.3:75 build/C/man3/cfree.3:117 build/C/man3/clearenv.3:96 build/C/man3/drand48.3:262 build/C/man3/drand48_r.3:114 build/C/man3/ecvt.3:135 build/C/man3/ecvt_r.3:95 build/C/man3/exit.3:183 build/C/man3/gcvt.3:86 build/C/man3/getauxval.3:232 build/C/man3/getenv.3:129 build/C/man3/getloadavg.3:74 build/C/man3/getsubopt.3:232 build/C/man3/malloc.3:261 build/C/man3/mblen.3:106 build/C/man3/mbstowcs.3:216 build/C/man3/mbtowc.3:128 build/C/man3/mkdtemp.3:96 build/C/man3/mkstemp.3:242 build/C/man3/mktemp.3:118 build/C/man3/on_exit.3:87 build/C/man3/putenv.3:118 build/C/man3/qecvt.3:107 build/C/man3/rand.3:217 build/C/man3/random.3:197 build/C/man3/random_r.3:141 build/C/man3/rpmatch.3:144 build/C/man3/setenv.3:153 build/C/man3/strtod.3:205 build/C/man3/strtoimax.3:71 build/C/man3/strtol.3:297 build/C/man3/strtoul.3:225 build/C/man3/system.3:207 build/C/man7/vdso.7:499 build/C/man3/wcstombs.3:103 build/C/man3/wctomb.3:103
106 #, no-wrap
107 msgid "SEE ALSO"
108 msgstr ""
109
110 #. type: Plain text
111 #: build/C/man3/MB_CUR_MAX.3:43
112 msgid ""
113 "B<MB_LEN_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcstombs>(3), "
114 "B<wctomb>(3)"
115 msgstr ""
116
117 #. type: TH
118 #: build/C/man3/MB_LEN_MAX.3:17
119 #, no-wrap
120 msgid "MB_LEN_MAX"
121 msgstr ""
122
123 #. type: Plain text
124 #: build/C/man3/MB_LEN_MAX.3:20
125 msgid "MB_LEN_MAX - maximum multibyte length of a character across all locales"
126 msgstr ""
127
128 #. type: Plain text
129 #: build/C/man3/MB_LEN_MAX.3:23
130 #, no-wrap
131 msgid "B<#include E<lt>limits.hE<gt>>\n"
132 msgstr ""
133
134 #. type: Plain text
135 #: build/C/man3/MB_LEN_MAX.3:29
136 msgid ""
137 "The B<MB_LEN_MAX> macro is the upper bound for the number of bytes needed to "
138 "represent a single wide character, across all locales."
139 msgstr ""
140
141 #. type: Plain text
142 #: build/C/man3/MB_LEN_MAX.3:31
143 msgid "A constant integer greater than zero."
144 msgstr ""
145
146 #. type: SH
147 #: build/C/man3/MB_LEN_MAX.3:33 build/C/man2/_exit.2:86 build/C/man3/a64l.3:73 build/C/man3/atexit.3:78 build/C/man3/atoi.3:108 build/C/man3/clearenv.3:73 build/C/man3/ecvt.3:129 build/C/man3/ecvt_r.3:90 build/C/man3/exit.3:98 build/C/man3/getauxval.3:199 build/C/man3/getenv.3:102 build/C/man3/getsubopt.3:136 build/C/man3/malloc.3:173 build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96 build/C/man3/mbtowc.3:115 build/C/man3/mkstemp.3:217 build/C/man3/putenv.3:81 build/C/man3/qecvt.3:102 build/C/man3/rand.3:141 build/C/man3/random.3:163 build/C/man3/setenv.3:130 build/C/man3/strtod.3:176 build/C/man3/strtol.3:178 build/C/man3/strtoul.3:182 build/C/man3/system.3:117 build/C/man7/vdso.7:129 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
148 #, no-wrap
149 msgid "NOTES"
150 msgstr ""
151
152 #. type: Plain text
153 #: build/C/man3/MB_LEN_MAX.3:44
154 msgid ""
155 "The entities B<MB_LEN_MAX> and I<sizeof(wchar_t)> are totally unrelated.  In "
156 "glibc, B<MB_LEN_MAX> is typically 6 while I<sizeof(wchar_t)> is 4."
157 msgstr ""
158
159 #. type: Plain text
160 #: build/C/man3/MB_LEN_MAX.3:45
161 msgid "B<MB_CUR_MAX>(3)"
162 msgstr ""
163
164 #. type: TH
165 #: build/C/man2/_exit.2:29
166 #, no-wrap
167 msgid "_EXIT"
168 msgstr ""
169
170 #. type: TH
171 #: build/C/man2/_exit.2:29
172 #, no-wrap
173 msgid "2010-09-20"
174 msgstr ""
175
176 #. type: Plain text
177 #: build/C/man2/_exit.2:32
178 msgid "_exit, _Exit - terminate the calling process"
179 msgstr ""
180
181 #. type: Plain text
182 #: build/C/man2/_exit.2:34
183 msgid "B<#include E<lt>unistd.hE<gt>>"
184 msgstr ""
185
186 #. type: Plain text
187 #: build/C/man2/_exit.2:36
188 msgid "B<void _exit(int >I<status>B<);>"
189 msgstr ""
190
191 #. type: Plain text
192 #: build/C/man2/_exit.2:38 build/C/man3/a64l.3:14 build/C/man3/canonicalize_file_name.3:33 build/C/man3/ecvt.3:37 build/C/man3/getsubopt.3:30 build/C/man3/qecvt.3:33 build/C/man3/strtod.3:50
193 msgid "B<#include E<lt>stdlib.hE<gt>>"
194 msgstr ""
195
196 #. type: Plain text
197 #: build/C/man2/_exit.2:40
198 msgid "B<void _Exit(int >I<status>B<);>"
199 msgstr ""
200
201 #. type: Plain text
202 #: build/C/man2/_exit.2:44 build/C/man3/a64l.3:22 build/C/man3/atoi.3:50 build/C/man3/cfree.3:48 build/C/man3/clearenv.3:39 build/C/man3/drand48.3:60 build/C/man3/drand48_r.3:68 build/C/man3/ecvt.3:47 build/C/man3/ecvt_r.3:53 build/C/man3/gcvt.3:43 build/C/man3/getenv.3:48 build/C/man3/getsubopt.3:37 build/C/man3/mkdtemp.3:39 build/C/man3/mkstemp.3:54 build/C/man3/mktemp.3:47 build/C/man3/on_exit.3:44 build/C/man3/putenv.3:50 build/C/man3/qecvt.3:45 build/C/man3/rand.3:58 build/C/man3/random.3:52 build/C/man3/random_r.3:47 build/C/man3/rpmatch.3:42 build/C/man3/setenv.3:52 build/C/man3/strtod.3:60 build/C/man3/strtol.3:47 build/C/man3/strtoul.3:50
203 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
204 msgstr ""
205
206 #. type: Plain text
207 #: build/C/man2/_exit.2:48
208 msgid "B<_Exit>():"
209 msgstr ""
210
211 #. type: Plain text
212 #: build/C/man2/_exit.2:51 build/C/man3/strtod.3:68
213 msgid ""
214 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ "
215 "200112L;"
216 msgstr ""
217
218 #. type: Plain text
219 #: build/C/man2/_exit.2:54 build/C/man3/atoi.3:60 build/C/man3/strtod.3:71 build/C/man3/strtol.3:57 build/C/man3/strtoul.3:60
220 msgid "or I<cc\\ -std=c99>"
221 msgstr ""
222
223 #. type: Plain text
224 #: build/C/man2/_exit.2:67
225 msgid ""
226 "The function B<_exit>()  terminates the calling process \"immediately\".  "
227 "Any open file descriptors belonging to the process are closed; any children "
228 "of the process are inherited by process 1, I<init>, and the process's parent "
229 "is sent a B<SIGCHLD> signal."
230 msgstr ""
231
232 #. type: Plain text
233 #: build/C/man2/_exit.2:74
234 msgid ""
235 "The value I<status> is returned to the parent process as the process's exit "
236 "status, and can be collected using one of the B<wait>(2)  family of calls."
237 msgstr ""
238
239 #. type: Plain text
240 #: build/C/man2/_exit.2:79
241 msgid "The function B<_Exit>()  is equivalent to B<_exit>()."
242 msgstr ""
243
244 #. type: Plain text
245 #: build/C/man2/_exit.2:81
246 msgid "These functions do not return."
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/_exit.2:86
251 msgid "SVr4, POSIX.1-2001, 4.3BSD.  The function B<_Exit>()  was introduced by C99."
252 msgstr ""
253
254 #. type: Plain text
255 #: build/C/man2/_exit.2:90
256 msgid ""
257 "For a discussion on the effects of an exit, the transmission of exit status, "
258 "zombie processes, signals sent, and so on, see B<exit>(3)."
259 msgstr ""
260
261 #. type: Plain text
262 #: build/C/man2/_exit.2:117
263 msgid ""
264 "The function B<_exit>()  is like B<exit>(3), but does not call any functions "
265 "registered with B<atexit>(3)  or B<on_exit>(3).  Whether it flushes standard "
266 "I/O buffers and removes temporary files created with B<tmpfile>(3)  is "
267 "implementation-dependent.  On the other hand, B<_exit>()  does close open "
268 "file descriptors, and this may cause an unknown delay, waiting for pending "
269 "output to finish.  If the delay is undesired, it may be useful to call "
270 "functions like B<tcflush>(3)  before calling B<_exit>().  Whether any "
271 "pending I/O is canceled, and which pending I/O may be canceled upon "
272 "B<_exit>(), is implementation-dependent."
273 msgstr ""
274
275 #. type: Plain text
276 #: build/C/man2/_exit.2:124
277 msgid ""
278 "In glibc up to version 2.3, the B<_exit>()  wrapper function invoked the "
279 "kernel system call of the same name.  Since glibc 2.3, the wrapper function "
280 "invokes B<exit_group>(2), in order to terminate all of the threads in a "
281 "process."
282 msgstr ""
283
284 #. type: Plain text
285 #: build/C/man2/_exit.2:135
286 msgid ""
287 "B<execve>(2), B<exit_group>(2), B<fork>(2), B<kill>(2), B<wait>(2), "
288 "B<wait4>(2), B<waitpid>(2), B<atexit>(3), B<exit>(3), B<on_exit>(3), "
289 "B<termios>(3)"
290 msgstr ""
291
292 #. type: TH
293 #: build/C/man3/a64l.3:9
294 #, no-wrap
295 msgid "A64L"
296 msgstr ""
297
298 #. type: TH
299 #: build/C/man3/a64l.3:9 build/C/man3/gcvt.3:30
300 #, no-wrap
301 msgid "2014-05-28"
302 msgstr ""
303
304 #. type: Plain text
305 #: build/C/man3/a64l.3:12
306 msgid "a64l, l64a - convert between long and base-64"
307 msgstr ""
308
309 #. type: Plain text
310 #: build/C/man3/a64l.3:16
311 msgid "B<long a64l(const char *>I<str64>B<);>"
312 msgstr ""
313
314 #. type: Plain text
315 #: build/C/man3/a64l.3:18
316 msgid "B<char *l64a(long >I<value>B<);>"
317 msgstr ""
318
319 #. type: Plain text
320 #: build/C/man3/a64l.3:26
321 msgid "B<a64l>(), B<l64a>():"
322 msgstr ""
323
324 #. type: Plain text
325 #: build/C/man3/a64l.3:31 build/C/man3/ecvt.3:66
326 msgid ""
327 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
328 "_XOPEN_SOURCE_EXTENDED"
329 msgstr ""
330
331 #. type: Plain text
332 #: build/C/man3/a64l.3:48
333 msgid ""
334 "These functions provide a conversion between 32-bit long integers and "
335 "little-endian base-64 ASCII strings (of length zero to six).  If the string "
336 "used as argument for B<a64l>()  has length greater than six, only the first "
337 "six bytes are used.  If the type I<long> has more than 32 bits, then "
338 "B<l64a>()  uses only the low order 32 bits of I<value>, and B<a64l>()  "
339 "sign-extends its 32-bit result."
340 msgstr ""
341
342 #. type: Plain text
343 #: build/C/man3/a64l.3:50
344 msgid "The 64 digits in the base-64 system are:"
345 msgstr ""
346
347 #. type: Plain text
348 #: build/C/man3/a64l.3:58
349 #, no-wrap
350 msgid ""
351 "\\&\\(aq.\\(aq\trepresents a 0\n"
352 "\\&\\(aq/\\(aq\trepresents a 1\n"
353 "0-9\trepresent  2-11\n"
354 "A-Z\trepresent 12-37\n"
355 "a-z\trepresent 38-63\n"
356 msgstr ""
357
358 #. type: Plain text
359 #: build/C/man3/a64l.3:62
360 msgid "So 123 = 59*64^0 + 1*64^1 = \"v/\"."
361 msgstr ""
362
363 #. type: SH
364 #: build/C/man3/a64l.3:62 build/C/man3/atof.3:57 build/C/man3/atoi.3:88 build/C/man3/drand48.3:245 build/C/man3/drand48_r.3:98 build/C/man3/ecvt.3:110 build/C/man3/exit.3:90 build/C/man3/getauxval.3:192 build/C/man3/getloadavg.3:65 build/C/man3/getsubopt.3:129 build/C/man3/mblen.3:87 build/C/man3/mkdtemp.3:86 build/C/man3/mkstemp.3:195 build/C/man3/qecvt.3:85 build/C/man3/random.3:152 build/C/man3/random_r.3:128 build/C/man3/strtod.3:159 build/C/man3/strtoimax.3:58 build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165 build/C/man3/system.3:110 build/C/man3/wctomb.3:84
365 #, no-wrap
366 msgid "ATTRIBUTES"
367 msgstr ""
368
369 #. type: SS
370 #: build/C/man3/a64l.3:63 build/C/man3/atof.3:58 build/C/man3/atoi.3:89 build/C/man3/drand48.3:246 build/C/man3/drand48_r.3:99 build/C/man3/ecvt.3:111 build/C/man3/exit.3:91 build/C/man3/getauxval.3:193 build/C/man3/getloadavg.3:66 build/C/man3/getsubopt.3:130 build/C/man3/mblen.3:88 build/C/man3/mkdtemp.3:87 build/C/man3/mkstemp.3:196 build/C/man3/qecvt.3:86 build/C/man3/random.3:153 build/C/man3/random_r.3:129 build/C/man3/strtod.3:160 build/C/man3/strtoimax.3:59 build/C/man3/strtol.3:162 build/C/man3/strtoul.3:166 build/C/man3/system.3:111 build/C/man3/wctomb.3:85
371 #, no-wrap
372 msgid "Multithreading (see pthreads(7))"
373 msgstr ""
374
375 #. type: Plain text
376 #: build/C/man3/a64l.3:67
377 msgid "The B<l64a>()  function is not thread-safe."
378 msgstr ""
379
380 #. type: Plain text
381 #: build/C/man3/a64l.3:71
382 msgid "The B<a64l>()  function is thread-safe."
383 msgstr ""
384
385 #. type: Plain text
386 #: build/C/man3/a64l.3:73 build/C/man3/getsubopt.3:136
387 msgid "POSIX.1-2001."
388 msgstr ""
389
390 #. type: Plain text
391 #: build/C/man3/a64l.3:78
392 msgid ""
393 "The value returned by B<l64a>()  may be a pointer to a static buffer, "
394 "possibly overwritten by later calls."
395 msgstr ""
396
397 #. type: Plain text
398 #: build/C/man3/a64l.3:87
399 msgid ""
400 "The behavior of B<l64a>()  is undefined when I<value> is negative.  If "
401 "I<value> is zero, it returns an empty string."
402 msgstr ""
403
404 #. type: Plain text
405 #: build/C/man3/a64l.3:90
406 msgid ""
407 "These functions are broken in glibc before 2.2.5 (puts most significant "
408 "digit first)."
409 msgstr ""
410
411 #. type: Plain text
412 #: build/C/man3/a64l.3:93
413 msgid "This is not the encoding used by B<uuencode>(1)."
414 msgstr ""
415
416 #.  .BR itoa (3),
417 #. type: Plain text
418 #: build/C/man3/a64l.3:96
419 msgid "B<uuencode>(1), B<strtoul>(3)"
420 msgstr ""
421
422 #. type: TH
423 #: build/C/man3/atexit.3:33
424 #, no-wrap
425 msgid "ATEXIT"
426 msgstr ""
427
428 #. type: TH
429 #: build/C/man3/atexit.3:33
430 #, no-wrap
431 msgid "2008-12-05"
432 msgstr ""
433
434 #. type: Plain text
435 #: build/C/man3/atexit.3:36
436 msgid "atexit - register a function to be called at normal process termination"
437 msgstr ""
438
439 #. type: Plain text
440 #: build/C/man3/atexit.3:41
441 #, no-wrap
442 msgid "B<int atexit(void (*>I<function>B<)(void));>\n"
443 msgstr ""
444
445 #. type: Plain text
446 #: build/C/man3/atexit.3:54
447 msgid ""
448 "The B<atexit>()  function registers the given I<function> to be called at "
449 "normal process termination, either via B<exit>(3)  or via return from the "
450 "program's I<main>().  Functions so registered are called in the reverse "
451 "order of their registration; no arguments are passed."
452 msgstr ""
453
454 #. type: Plain text
455 #: build/C/man3/atexit.3:57 build/C/man3/on_exit.3:69
456 msgid ""
457 "The same function may be registered multiple times: it is called once for "
458 "each registration."
459 msgstr ""
460
461 #. type: Plain text
462 #: build/C/man3/atexit.3:63
463 msgid ""
464 "POSIX.1-2001 requires that an implementation allow at least B<ATEXIT_MAX> "
465 "(32) such functions to be registered.  The actual limit supported by an "
466 "implementation can be obtained using B<sysconf>(3)."
467 msgstr ""
468
469 #. type: Plain text
470 #: build/C/man3/atexit.3:71 build/C/man3/on_exit.3:76
471 msgid ""
472 "When a child process is created via B<fork>(2), it inherits copies of its "
473 "parent's registrations.  Upon a successful call to one of the B<exec>(3)  "
474 "functions, all registrations are removed."
475 msgstr ""
476
477 #. type: Plain text
478 #: build/C/man3/atexit.3:76
479 msgid ""
480 "The B<atexit>()  function returns the value 0 if successful; otherwise it "
481 "returns a nonzero value."
482 msgstr ""
483
484 #. type: Plain text
485 #: build/C/man3/atexit.3:78
486 msgid "SVr4, 4.3BSD, C89, C99, POSIX.1-2001."
487 msgstr ""
488
489 #. type: Plain text
490 #: build/C/man3/atexit.3:85
491 msgid ""
492 "Functions registered using B<atexit>()  (and B<on_exit>(3))  are not called "
493 "if a process terminates abnormally because of the delivery of a signal."
494 msgstr ""
495
496 #. type: Plain text
497 #: build/C/man3/atexit.3:92
498 msgid ""
499 "If one of the functions registered functions calls B<_exit>(2), then any "
500 "remaining functions are not invoked, and the other process termination steps "
501 "performed by B<exit>(3)  are not performed."
502 msgstr ""
503
504 #.  This can happen on OpenBSD 4.2 for example, and is documented
505 #.  as occurring on FreeBSD as well.
506 #.  Glibc does "the Right Thing" -- invocation of the remaining
507 #.  exit handlers carries on as normal.
508 #. type: Plain text
509 #: build/C/man3/atexit.3:109
510 msgid ""
511 "POSIX.1-2001 says that the result of calling B<exit>(3)  more than once "
512 "(i.e., calling B<exit>(3)  within a function registered using B<atexit>())  "
513 "is undefined.  On some systems (but not Linux), this can result in an "
514 "infinite recursion; portable programs should not invoke B<exit>(3)  inside a "
515 "function registered using B<atexit>()."
516 msgstr ""
517
518 #. type: Plain text
519 #: build/C/man3/atexit.3:118
520 msgid ""
521 "The B<atexit>()  and B<on_exit>(3)  functions register functions on the same "
522 "list: at normal process termination, the registered functions are invoked in "
523 "reverse order of their registration by these two functions."
524 msgstr ""
525
526 #.  In glibc, things seem to be handled okay
527 #. type: Plain text
528 #: build/C/man3/atexit.3:124
529 msgid ""
530 "POSIX.1-2001 says that the result is undefined if B<longjmp>(3)  is used to "
531 "terminate execution of one of the functions registered B<atexit>()."
532 msgstr ""
533
534 #. type: SS
535 #: build/C/man3/atexit.3:124
536 #, no-wrap
537 msgid "Linux notes"
538 msgstr ""
539
540 #. type: Plain text
541 #: build/C/man3/atexit.3:131
542 msgid ""
543 "Since glibc 2.2.3, B<atexit>()  (and B<on_exit>(3))  can be used within a "
544 "shared library to establish functions that are called when the shared "
545 "library is unloaded."
546 msgstr ""
547
548 #. type: SH
549 #: build/C/man3/atexit.3:131 build/C/man3/getsubopt.3:143 build/C/man3/mbstowcs.3:108 build/C/man3/rand.3:160 build/C/man3/rpmatch.3:119 build/C/man3/strtod.3:200 build/C/man3/strtol.3:216 build/C/man3/strtoul.3:220
550 #, no-wrap
551 msgid "EXAMPLE"
552 msgstr ""
553
554 #. type: Plain text
555 #: build/C/man3/atexit.3:136
556 #, no-wrap
557 msgid ""
558 "#include E<lt>stdio.hE<gt>\n"
559 "#include E<lt>stdlib.hE<gt>\n"
560 "#include E<lt>unistd.hE<gt>\n"
561 msgstr ""
562
563 #. type: Plain text
564 #: build/C/man3/atexit.3:142
565 #, no-wrap
566 msgid ""
567 "void\n"
568 "bye(void)\n"
569 "{\n"
570 "    printf(\"That was all, folks\\en\");\n"
571 "}\n"
572 msgstr ""
573
574 #. type: Plain text
575 #: build/C/man3/atexit.3:148
576 #, no-wrap
577 msgid ""
578 "int\n"
579 "main(void)\n"
580 "{\n"
581 "    long a;\n"
582 "    int i;\n"
583 msgstr ""
584
585 #. type: Plain text
586 #: build/C/man3/atexit.3:151
587 #, no-wrap
588 msgid ""
589 "    a = sysconf(_SC_ATEXIT_MAX);\n"
590 "    printf(\"ATEXIT_MAX = %ld\\en\", a);\n"
591 msgstr ""
592
593 #. type: Plain text
594 #: build/C/man3/atexit.3:157
595 #, no-wrap
596 msgid ""
597 "    i = atexit(bye);\n"
598 "    if (i != 0) {\n"
599 "        fprintf(stderr, \"cannot set exit function\\en\");\n"
600 "        exit(EXIT_FAILURE);\n"
601 "    }\n"
602 msgstr ""
603
604 #. type: Plain text
605 #: build/C/man3/atexit.3:160 build/C/man3/getsubopt.3:231 build/C/man3/mbstowcs.3:215 build/C/man3/rand.3:215 build/C/man3/strtol.3:296
606 #, no-wrap
607 msgid ""
608 "    exit(EXIT_SUCCESS);\n"
609 "}\n"
610 msgstr ""
611
612 #. type: Plain text
613 #: build/C/man3/atexit.3:164
614 msgid "B<_exit>(2), B<exit>(3), B<on_exit>(3)"
615 msgstr ""
616
617 #. type: TH
618 #: build/C/man3/atof.3:31
619 #, no-wrap
620 msgid "ATOF"
621 msgstr ""
622
623 #. type: TH
624 #: build/C/man3/atof.3:31 build/C/man3/strtoimax.3:24
625 #, no-wrap
626 msgid "2014-01-22"
627 msgstr ""
628
629 #. type: TH
630 #: build/C/man3/atof.3:31 build/C/man3/atoi.3:33 build/C/man3/canonicalize_file_name.3:26 build/C/man3/drand48_r.3:27 build/C/man3/ecvt_r.3:30 build/C/man3/getauxval.3:29 build/C/man3/getenv.3:33 build/C/man3/getsubopt.3:25 build/C/man3/malloc.3:33 build/C/man3/mblen.3:16 build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16 build/C/man3/mkdtemp.3:26 build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28 build/C/man3/random.3:33 build/C/man3/random_r.3:26 build/C/man3/rpmatch.3:29 build/C/man3/setenv.3:37 build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
631 #, no-wrap
632 msgid "GNU"
633 msgstr ""
634
635 #. type: Plain text
636 #: build/C/man3/atof.3:34
637 msgid "atof - convert a string to a double"
638 msgstr ""
639
640 #. type: Plain text
641 #: build/C/man3/atof.3:39
642 #, no-wrap
643 msgid "B<double atof(const char *>I<nptr>B<);>\n"
644 msgstr ""
645
646 #. type: Plain text
647 #: build/C/man3/atof.3:47
648 msgid ""
649 "The B<atof>()  function converts the initial portion of the string pointed "
650 "to by I<nptr> to I<double>.  The behavior is the same as"
651 msgstr ""
652
653 #. type: Plain text
654 #: build/C/man3/atof.3:50
655 msgid "strtod(nptr, NULL);"
656 msgstr ""
657
658 #. type: Plain text
659 #: build/C/man3/atof.3:55
660 msgid "except that B<atof>()  does not detect errors."
661 msgstr ""
662
663 #. type: Plain text
664 #: build/C/man3/atof.3:57 build/C/man3/atoi.3:88
665 msgid "The converted value."
666 msgstr ""
667
668 #. type: Plain text
669 #: build/C/man3/atof.3:65
670 msgid ""
671 "The B<atof>()  function is thread-safe with exceptions.  It can be safely "
672 "used in multithreaded applications, as long as B<setlocale>(3)  is not "
673 "called to change the locale during its execution."
674 msgstr ""
675
676 #. type: Plain text
677 #: build/C/man3/atof.3:67
678 msgid "SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
679 msgstr ""
680
681 #. type: Plain text
682 #: build/C/man3/atof.3:72
683 msgid "B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
684 msgstr ""
685
686 #. type: TH
687 #: build/C/man3/atoi.3:33
688 #, no-wrap
689 msgid "ATOI"
690 msgstr ""
691
692 #. type: TH
693 #: build/C/man3/atoi.3:33 build/C/man3/clearenv.3:26 build/C/man3/ecvt.3:32 build/C/man3/getauxval.3:29 build/C/man3/mkstemp.3:35 build/C/man3/mktemp.3:34 build/C/man3/on_exit.3:31 build/C/man3/putenv.3:36 build/C/man3/qecvt.3:28 build/C/man3/strtod.3:45 build/C/man7/vdso.7:13
694 #, no-wrap
695 msgid "2014-08-19"
696 msgstr ""
697
698 #. type: Plain text
699 #: build/C/man3/atoi.3:36
700 msgid "atoi, atol, atoll - convert a string to an integer"
701 msgstr ""
702
703 #. type: Plain text
704 #: build/C/man3/atoi.3:41
705 #, no-wrap
706 msgid "B<int atoi(const char *>I<nptr>B<);>\n"
707 msgstr ""
708
709 #. type: Plain text
710 #: build/C/man3/atoi.3:43
711 #, no-wrap
712 msgid "B<long atol(const char *>I<nptr>B<);>\n"
713 msgstr ""
714
715 #. type: Plain text
716 #: build/C/man3/atoi.3:45
717 #, no-wrap
718 msgid "B<long long atoll(const char *>I<nptr>B<);>\n"
719 msgstr ""
720
721 #. type: Plain text
722 #: build/C/man3/atoi.3:54
723 msgid "B<atoll>():"
724 msgstr ""
725
726 #. type: Plain text
727 #: build/C/man3/atoi.3:57
728 msgid ""
729 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 600 || "
730 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
731 msgstr ""
732
733 #. type: Plain text
734 #: build/C/man3/atoi.3:69
735 msgid ""
736 "The B<atoi>()  function converts the initial portion of the string pointed "
737 "to by I<nptr> to I<int>.  The behavior is the same as"
738 msgstr ""
739
740 #. type: Plain text
741 #: build/C/man3/atoi.3:72
742 msgid "strtol(nptr, NULL, 10);"
743 msgstr ""
744
745 #. type: Plain text
746 #: build/C/man3/atoi.3:77
747 msgid "except that B<atoi>()  does not detect errors."
748 msgstr ""
749
750 #. type: Plain text
751 #: build/C/man3/atoi.3:86
752 msgid ""
753 "The B<atol>()  and B<atoll>()  functions behave the same as B<atoi>(), "
754 "except that they convert the initial portion of the string to their return "
755 "type of I<long> or I<long long>."
756 msgstr ""
757
758 #. type: Plain text
759 #: build/C/man3/atoi.3:100
760 msgid ""
761 "The B<atoi>(), B<atol>(), and B<atoll>()  functions are thread-safe with "
762 "exceptions.  These functions can be safely used in multithreaded "
763 "applications, as long as B<setlocale>(3)  is not called to change the locale "
764 "during their execution."
765 msgstr ""
766
767 #. type: Plain text
768 #: build/C/man3/atoi.3:108
769 msgid ""
770 "SVr4, POSIX.1-2001, 4.3BSD, C99.  C89 and POSIX.1-1996 include the functions "
771 "B<atoi>()  and B<atol>()  only."
772 msgstr ""
773
774 #.  The
775 #.  .BR atoll ()
776 #.  function is present in glibc 2 since version 2.0.2, but
777 #.  not in libc4 or libc5.
778 #. type: Plain text
779 #: build/C/man3/atoi.3:119
780 msgid ""
781 "Linux libc provided B<atoq>()  as an obsolete name for B<atoll>(); B<atoq>()  "
782 "is not provided by glibc."
783 msgstr ""
784
785 #. type: Plain text
786 #: build/C/man3/atoi.3:123
787 msgid "B<atof>(3), B<strtod>(3), B<strtol>(3), B<strtoul>(3)"
788 msgstr ""
789
790 #. type: TH
791 #: build/C/man3/canonicalize_file_name.3:26
792 #, no-wrap
793 msgid "CANONICALIZE_FILE_NAME"
794 msgstr ""
795
796 #. type: TH
797 #: build/C/man3/canonicalize_file_name.3:26
798 #, no-wrap
799 msgid "2013-05-11"
800 msgstr ""
801
802 #. type: Plain text
803 #: build/C/man3/canonicalize_file_name.3:29
804 msgid "canonicalize_file_name - return the canonicalized absolute pathname"
805 msgstr ""
806
807 #. type: Plain text
808 #: build/C/man3/canonicalize_file_name.3:31
809 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
810 msgstr ""
811
812 #. type: Plain text
813 #: build/C/man3/canonicalize_file_name.3:35
814 msgid "B<char *canonicalize_file_name(const char *>I<path>B<);>"
815 msgstr ""
816
817 #. type: Plain text
818 #: build/C/man3/canonicalize_file_name.3:49
819 msgid ""
820 "The B<canonicalize_file_name>()  function returns a null-terminated string "
821 "containing the canonicalized absolute pathname corresponding to I<path>.  In "
822 "the returned string, symbolic links are resolved, as are I<.> and I<..> "
823 "pathname components.  Consecutive slash (I</>)  characters are replaced by a "
824 "single slash."
825 msgstr ""
826
827 #. type: Plain text
828 #: build/C/man3/canonicalize_file_name.3:55
829 msgid ""
830 "The returned string is dynamically allocated by B<canonicalize_file_name>()  "
831 "and the caller should deallocate it with B<free>(3)  when it is no longer "
832 "required."
833 msgstr ""
834
835 #. type: Plain text
836 #: build/C/man3/canonicalize_file_name.3:59
837 msgid "The call I<canonicalize_file_name(path)> is equivalent to the call:"
838 msgstr ""
839
840 #. type: Plain text
841 #: build/C/man3/canonicalize_file_name.3:61
842 #, no-wrap
843 msgid "    realpath(path, NULL);\n"
844 msgstr ""
845
846 #. type: Plain text
847 #: build/C/man3/canonicalize_file_name.3:70
848 msgid ""
849 "On success, B<canonicalize_file_name>()  returns a null-terminated string.  "
850 "On error (e.g., a pathname component is unreadable or does not exist), "
851 "B<canonicalize_file_name>()  returns NULL and sets I<errno> to indicate the "
852 "error."
853 msgstr ""
854
855 #. type: SH
856 #: build/C/man3/canonicalize_file_name.3:70 build/C/man3/getauxval.3:181 build/C/man3/mkdtemp.3:75 build/C/man3/mkstemp.3:161 build/C/man3/mktemp.3:91 build/C/man3/putenv.3:75 build/C/man3/random.3:140 build/C/man3/random_r.3:105 build/C/man3/rpmatch.3:82 build/C/man3/setenv.3:119 build/C/man3/strtod.3:155 build/C/man3/strtol.3:144 build/C/man3/strtoul.3:148
857 #, no-wrap
858 msgid "ERRORS"
859 msgstr ""
860
861 #. type: Plain text
862 #: build/C/man3/canonicalize_file_name.3:73
863 msgid "See B<realpath>(3)."
864 msgstr ""
865
866 #. type: Plain text
867 #: build/C/man3/canonicalize_file_name.3:75
868 msgid "This function is a GNU extension."
869 msgstr ""
870
871 #. type: Plain text
872 #: build/C/man3/canonicalize_file_name.3:77
873 msgid "B<readlink>(2), B<realpath>(3)"
874 msgstr ""
875
876 #. type: TH
877 #: build/C/man3/cfree.3:24
878 #, no-wrap
879 msgid "CFREE"
880 msgstr ""
881
882 #. type: TH
883 #: build/C/man3/cfree.3:24 build/C/man3/ecvt_r.3:30 build/C/man3/rpmatch.3:29
884 #, no-wrap
885 msgid "2007-07-26"
886 msgstr ""
887
888 #. type: Plain text
889 #: build/C/man3/cfree.3:27
890 msgid "cfree - free allocated memory"
891 msgstr ""
892
893 #. type: Plain text
894 #: build/C/man3/cfree.3:34
895 #, no-wrap
896 msgid ""
897 "/* In SunOS 4 */\n"
898 "B<int cfree(void *>I<ptr>B<);>\n"
899 msgstr ""
900
901 #. type: Plain text
902 #: build/C/man3/cfree.3:37
903 #, no-wrap
904 msgid ""
905 "/* In glibc or FreeBSD libcompat */\n"
906 "B<void cfree(void *>I<ptr>B<);>\n"
907 msgstr ""
908
909 #. type: Plain text
910 #: build/C/man3/cfree.3:40
911 #, no-wrap
912 msgid ""
913 "/* In SCO OpenServer */\n"
914 "B<void cfree(char *>I<ptr>B<, unsigned >I<num>B<, unsigned >I<size>B<);>\n"
915 msgstr ""
916
917 #. type: Plain text
918 #: build/C/man3/cfree.3:43
919 #, no-wrap
920 msgid ""
921 "/* In Solaris watchmalloc.so.1 */\n"
922 "B<void cfree(void *>I<ptr>B<, size_t >I<nelem>B<, size_t >I<elsize>B<);>\n"
923 msgstr ""
924
925 #. type: Plain text
926 #: build/C/man3/cfree.3:52
927 msgid "B<cfree>(): _BSD_SOURCE || _SVID_SOURCE"
928 msgstr ""
929
930 #. type: Plain text
931 #: build/C/man3/cfree.3:57
932 msgid "This function should never be used.  Use B<free>(3)  instead."
933 msgstr ""
934
935 #. type: SS
936 #: build/C/man3/cfree.3:57
937 #, no-wrap
938 msgid "1-arg cfree"
939 msgstr ""
940
941 #. type: Plain text
942 #: build/C/man3/cfree.3:63
943 msgid ""
944 "In glibc, the function B<cfree>()  is a synonym for B<free>(3), \"added for "
945 "compatibility with SunOS\"."
946 msgstr ""
947
948 #. type: Plain text
949 #: build/C/man3/cfree.3:69
950 msgid ""
951 "Other systems have other functions with this name.  The declaration is "
952 "sometimes in I<E<lt>stdlib.hE<gt>> and sometimes in I<E<lt>malloc.hE<gt>>."
953 msgstr ""
954
955 #. type: SS
956 #: build/C/man3/cfree.3:69
957 #, no-wrap
958 msgid "3-arg cfree"
959 msgstr ""
960
961 #. type: Plain text
962 #: build/C/man3/cfree.3:74
963 msgid ""
964 "Some SCO and Solaris versions have malloc libraries with a 3-argument "
965 "B<cfree>(), apparently as an analog to B<calloc>(3)."
966 msgstr ""
967
968 #. type: Plain text
969 #: build/C/man3/cfree.3:76
970 msgid "If you need it while porting something, add"
971 msgstr ""
972
973 #. type: Plain text
974 #: build/C/man3/cfree.3:79
975 msgid "#define cfree(p, n, s) free((p))"
976 msgstr ""
977
978 #. type: Plain text
979 #: build/C/man3/cfree.3:82
980 msgid "to your file."
981 msgstr ""
982
983 #. type: Plain text
984 #: build/C/man3/cfree.3:91
985 msgid ""
986 "A frequently asked question is \"Can I use B<free>(3)  to free memory "
987 "allocated with B<calloc>(3), or do I need B<cfree>()?\" Answer: use "
988 "B<free>(3)."
989 msgstr ""
990
991 #. type: Plain text
992 #: build/C/man3/cfree.3:96
993 msgid ""
994 "An SCO manual writes: \"The cfree routine is provided for compliance to the "
995 "iBCSe2 standard and simply calls free.  The num and size arguments to cfree "
996 "are not used.\""
997 msgstr ""
998
999 #. type: Plain text
1000 #: build/C/man3/cfree.3:112
1001 msgid ""
1002 "The SunOS version of B<cfree>()  (which is a synonym for B<free>(3))  "
1003 "returns 1 on success and 0 on failure.  In case of error, I<errno> is set to "
1004 "B<EINVAL>: the value of I<ptr> was not a pointer to a block previously "
1005 "allocated by one of the routines in the B<malloc>(3)  family."
1006 msgstr ""
1007
1008 #. type: Plain text
1009 #: build/C/man3/cfree.3:117
1010 msgid ""
1011 "The 3-argument version of B<cfree>()  as used by SCO conforms to the iBCSe2 "
1012 "standard: Intel386 Binary Compatibility Specification, Edition 2."
1013 msgstr ""
1014
1015 #. type: Plain text
1016 #: build/C/man3/cfree.3:118
1017 msgid "B<malloc>(3)"
1018 msgstr ""
1019
1020 #. type: TH
1021 #: build/C/man3/clearenv.3:26
1022 #, no-wrap
1023 msgid "CLEARENV"
1024 msgstr ""
1025
1026 #. type: Plain text
1027 #: build/C/man3/clearenv.3:29
1028 msgid "clearenv - clear the environment"
1029 msgstr ""
1030
1031 #. type: Plain text
1032 #: build/C/man3/clearenv.3:34
1033 #, no-wrap
1034 msgid "B<int clearenv(void);>\n"
1035 msgstr ""
1036
1037 #. type: Plain text
1038 #: build/C/man3/clearenv.3:43
1039 msgid "B<clearenv>(): _SVID_SOURCE || _BSD_SOURCE"
1040 msgstr ""
1041
1042 #. type: Plain text
1043 #: build/C/man3/clearenv.3:50
1044 msgid ""
1045 "The B<clearenv>()  function clears the environment of all name-value pairs "
1046 "and sets the value of the external variable I<environ> to NULL."
1047 msgstr ""
1048
1049 #.  Most versions of UNIX return -1 on error, or do not even have errors.
1050 #.  Glibc info and the Watcom C library document "a nonzero value".
1051 #. type: Plain text
1052 #: build/C/man3/clearenv.3:57
1053 msgid ""
1054 "The B<clearenv>()  function returns zero on success, and a nonzero value on "
1055 "failure."
1056 msgstr ""
1057
1058 #. type: SH
1059 #: build/C/man3/clearenv.3:57 build/C/man3/getauxval.3:188 build/C/man3/getenv.3:93 build/C/man3/getloadavg.3:63 build/C/man3/mkdtemp.3:84 build/C/man3/mkstemp.3:188
1060 #, no-wrap
1061 msgid "VERSIONS"
1062 msgstr ""
1063
1064 #. type: Plain text
1065 #: build/C/man3/clearenv.3:59
1066 msgid "Available since glibc 2.0."
1067 msgstr ""
1068
1069 #. type: Plain text
1070 #: build/C/man3/clearenv.3:73
1071 msgid ""
1072 "Various UNIX variants (DG/UX, HP-UX, QNX, ...).  POSIX.9 (bindings for "
1073 "FORTRAN77).  POSIX.1-1996 did not accept B<clearenv>()  and B<putenv>(3), "
1074 "but changed its mind and scheduled these functions for some later issue of "
1075 "this standard (cf. B.4.6.1).  However, POSIX.1-2001 adds only B<putenv>(3), "
1076 "and rejected B<clearenv>()."
1077 msgstr ""
1078
1079 #. type: Plain text
1080 #: build/C/man3/clearenv.3:77
1081 msgid ""
1082 "Used in security-conscious applications.  If it is unavailable the "
1083 "assignment"
1084 msgstr ""
1085
1086 #. type: Plain text
1087 #: build/C/man3/clearenv.3:80
1088 #, no-wrap
1089 msgid "    environ = NULL;\n"
1090 msgstr ""
1091
1092 #. type: Plain text
1093 #: build/C/man3/clearenv.3:83
1094 msgid "will probably do."
1095 msgstr ""
1096
1097 #.  .LP
1098 #.  HP-UX has a ENOMEM error return.
1099 #. type: Plain text
1100 #: build/C/man3/clearenv.3:96
1101 msgid ""
1102 "The DG/UX and Tru64 man pages write: If I<environ> has been modified by "
1103 "anything other than the B<putenv>(3), B<getenv>(3), or B<clearenv>()  "
1104 "functions, then B<clearenv>()  will return an error and the process "
1105 "environment will remain unchanged."
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man3/clearenv.3:101
1110 msgid "B<getenv>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
1111 msgstr ""
1112
1113 #. type: TH
1114 #: build/C/man3/drand48.3:30
1115 #, no-wrap
1116 msgid "DRAND48"
1117 msgstr ""
1118
1119 #. type: TH
1120 #: build/C/man3/drand48.3:30
1121 #, no-wrap
1122 msgid "2014-09-21"
1123 msgstr ""
1124
1125 #. type: Plain text
1126 #: build/C/man3/drand48.3:34
1127 msgid ""
1128 "drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, "
1129 "lcong48 - generate uniformly distributed pseudo-random numbers"
1130 msgstr ""
1131
1132 #. type: Plain text
1133 #: build/C/man3/drand48.3:39
1134 #, no-wrap
1135 msgid "B<double drand48(void);>\n"
1136 msgstr ""
1137
1138 #. type: Plain text
1139 #: build/C/man3/drand48.3:41
1140 #, no-wrap
1141 msgid "B<double erand48(unsigned short >I<xsubi>B<[3]);>\n"
1142 msgstr ""
1143
1144 #. type: Plain text
1145 #: build/C/man3/drand48.3:43
1146 #, no-wrap
1147 msgid "B<long int lrand48(void);>\n"
1148 msgstr ""
1149
1150 #. type: Plain text
1151 #: build/C/man3/drand48.3:45
1152 #, no-wrap
1153 msgid "B<long int nrand48(unsigned short >I<xsubi>B<[3]);>\n"
1154 msgstr ""
1155
1156 #. type: Plain text
1157 #: build/C/man3/drand48.3:47
1158 #, no-wrap
1159 msgid "B<long int mrand48(void);>\n"
1160 msgstr ""
1161
1162 #. type: Plain text
1163 #: build/C/man3/drand48.3:49
1164 #, no-wrap
1165 msgid "B<long int jrand48(unsigned short >I<xsubi>B<[3]);>\n"
1166 msgstr ""
1167
1168 #. type: Plain text
1169 #: build/C/man3/drand48.3:51
1170 #, no-wrap
1171 msgid "B<void srand48(long int >I<seedval>B<);>\n"
1172 msgstr ""
1173
1174 #. type: Plain text
1175 #: build/C/man3/drand48.3:53
1176 #, no-wrap
1177 msgid "B<unsigned short *seed48(unsigned short >I<seed16v>B<[3]);>\n"
1178 msgstr ""
1179
1180 #. type: Plain text
1181 #: build/C/man3/drand48.3:55
1182 #, no-wrap
1183 msgid "B<void lcong48(unsigned short >I<param>B<[7]);>\n"
1184 msgstr ""
1185
1186 #.  .BR drand48 (),
1187 #.  .BR erand48 (),
1188 #.  .BR lrand48 (),
1189 #.  .BR nrand48 (),
1190 #.  .BR mrand48 (),
1191 #.  .BR jrand48 (),
1192 #.  .BR srand48 (),
1193 #.  .BR seed48 (),
1194 #.  .BR lcong48 ():
1195 #. type: Plain text
1196 #: build/C/man3/drand48.3:74
1197 msgid "All functions shown above: _SVID_SOURCE || _XOPEN_SOURCE"
1198 msgstr ""
1199
1200 #. type: Plain text
1201 #: build/C/man3/drand48.3:78
1202 msgid ""
1203 "These functions generate pseudo-random numbers using the linear congruential "
1204 "algorithm and 48-bit integer arithmetic."
1205 msgstr ""
1206
1207 #. type: Plain text
1208 #: build/C/man3/drand48.3:86
1209 msgid ""
1210 "The B<drand48>()  and B<erand48>()  functions return nonnegative "
1211 "double-precision floating-point values uniformly distributed between [0.0, "
1212 "1.0)."
1213 msgstr ""
1214
1215 #. type: Plain text
1216 #: build/C/man3/drand48.3:93
1217 msgid ""
1218 "The B<lrand48>()  and B<nrand48>()  functions return nonnegative long "
1219 "integers uniformly distributed between 0 and 2^31."
1220 msgstr ""
1221
1222 #. type: Plain text
1223 #: build/C/man3/drand48.3:100
1224 msgid ""
1225 "The B<mrand48>()  and B<jrand48>()  functions return signed long integers "
1226 "uniformly distributed between -2^31 and 2^31."
1227 msgstr ""
1228
1229 #. type: Plain text
1230 #: build/C/man3/drand48.3:119
1231 msgid ""
1232 "The B<srand48>(), B<seed48>()  and B<lcong48>()  functions are "
1233 "initialization functions, one of which should be called before using "
1234 "B<drand48>(), B<lrand48>()  or B<mrand48>().  The functions B<erand48>(), "
1235 "B<nrand48>()  and B<jrand48>()  do not require an initialization function to "
1236 "be called first."
1237 msgstr ""
1238
1239 #. type: Plain text
1240 #: build/C/man3/drand48.3:123
1241 msgid ""
1242 "All the functions work by generating a sequence of 48-bit integers, I<Xi>, "
1243 "according to the linear congruential formula:"
1244 msgstr ""
1245
1246 #. type: Plain text
1247 #: build/C/man3/drand48.3:127
1248 #, no-wrap
1249 msgid "B<Xn+1 = (aXn + c) mod m, where n E<gt>= 0>\n"
1250 msgstr ""
1251
1252 #. type: Plain text
1253 #: build/C/man3/drand48.3:140
1254 msgid ""
1255 "The parameter I<m> = 2^48, hence 48-bit integer arithmetic is performed.  "
1256 "Unless B<lcong48>()  is called, I<a> and I<c> are given by:"
1257 msgstr ""
1258
1259 #. type: Plain text
1260 #: build/C/man3/drand48.3:145
1261 #, no-wrap
1262 msgid ""
1263 "B<a = 0x5DEECE66D>\n"
1264 "B<c = 0xB>\n"
1265 msgstr ""
1266
1267 #. type: Plain text
1268 #: build/C/man3/drand48.3:165
1269 msgid ""
1270 "The value returned by any of the functions B<drand48>(), B<erand48>(), "
1271 "B<lrand48>(), B<nrand48>(), B<mrand48>()  or B<jrand48>()  is computed by "
1272 "first generating the next 48-bit I<Xi> in the sequence.  Then the "
1273 "appropriate number of bits, according to the type of data item to be "
1274 "returned, is copied from the high-order bits of I<Xi> and transformed into "
1275 "the returned value."
1276 msgstr ""
1277
1278 #. type: Plain text
1279 #: build/C/man3/drand48.3:191
1280 msgid ""
1281 "The functions B<drand48>(), B<lrand48>()  and B<mrand48>()  store the last "
1282 "48-bit I<Xi> generated in an internal buffer.  The functions B<erand48>(), "
1283 "B<nrand48>()  and B<jrand48>()  require the calling program to provide "
1284 "storage for the successive I<Xi> values in the array argument I<xsubi>.  The "
1285 "functions are initialized by placing the initial value of I<Xi> into the "
1286 "array before calling the function for the first time."
1287 msgstr ""
1288
1289 #. type: Plain text
1290 #: build/C/man3/drand48.3:200
1291 msgid ""
1292 "The initializer function B<srand48>()  sets the high order 32-bits of I<Xi> "
1293 "to the argument I<seedval>.  The low order 16-bits are set to the arbitrary "
1294 "value 0x330E."
1295 msgstr ""
1296
1297 #. type: Plain text
1298 #: build/C/man3/drand48.3:214
1299 msgid ""
1300 "The initializer function B<seed48>()  sets the value of I<Xi> to the 48-bit "
1301 "value specified in the array argument I<seed16v>.  The previous value of "
1302 "I<Xi> is copied into an internal buffer and a pointer to this buffer is "
1303 "returned by B<seed48>()."
1304 msgstr ""
1305
1306 #. type: Plain text
1307 #: build/C/man3/drand48.3:245
1308 msgid ""
1309 "The initialization function B<lcong48>()  allows the user to specify initial "
1310 "values for I<Xi>, I<a> and I<c>.  Array argument elements I<param[0-2]> "
1311 "specify I<Xi>, I<param[3-5]> specify I<a>, and I<param[6]> specifies I<c>.  "
1312 "After B<lcong48>()  has been called, a subsequent call to either "
1313 "B<srand48>()  or B<seed48>()  will restore the standard values of I<a> and "
1314 "I<c>."
1315 msgstr ""
1316
1317 #. type: Plain text
1318 #: build/C/man3/drand48.3:260
1319 msgid ""
1320 "The B<drand48>(), B<erand48>(), B<lrand48>(), B<nrand48>(), B<mrand48>(), "
1321 "B<jrand48>(), B<srand48>(), B<seed48>(), and B<lcong48>()  functions record "
1322 "global state information for the random number generator, so they are not "
1323 "thread-safe."
1324 msgstr ""
1325
1326 #. type: Plain text
1327 #: build/C/man3/drand48.3:262
1328 msgid "SVr4, POSIX.1-2001."
1329 msgstr ""
1330
1331 #. type: Plain text
1332 #: build/C/man3/drand48.3:264
1333 msgid "B<rand>(3), B<random>(3)"
1334 msgstr ""
1335
1336 #. type: TH
1337 #: build/C/man3/drand48_r.3:27
1338 #, no-wrap
1339 msgid "DRAND48_R"
1340 msgstr ""
1341
1342 #. type: TH
1343 #: build/C/man3/drand48_r.3:27
1344 #, no-wrap
1345 msgid "2013-09-09"
1346 msgstr ""
1347
1348 #. type: Plain text
1349 #: build/C/man3/drand48_r.3:32
1350 msgid ""
1351 "drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r, srand48_r, "
1352 "seed48_r, lcong48_r - generate uniformly distributed pseudo-random numbers "
1353 "reentrantly"
1354 msgstr ""
1355
1356 #. type: Plain text
1357 #: build/C/man3/drand48_r.3:37
1358 #, no-wrap
1359 msgid "B<int drand48_r(struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man3/drand48_r.3:39
1364 #, no-wrap
1365 msgid "B<int erand48_r(unsigned short >I<xsubi>B<[3]>I<,>\n"
1366 msgstr ""
1367
1368 #. type: Plain text
1369 #: build/C/man3/drand48_r.3:41
1370 #, no-wrap
1371 msgid "B<              struct drand48_data *>I<buffer>B<, double *>I<result>B<);>\n"
1372 msgstr ""
1373
1374 #. type: Plain text
1375 #: build/C/man3/drand48_r.3:43
1376 #, no-wrap
1377 msgid ""
1378 "B<int lrand48_r(struct drand48_data *>I<buffer>B<, long int "
1379 "*>I<result>B<);>\n"
1380 msgstr ""
1381
1382 #. type: Plain text
1383 #: build/C/man3/drand48_r.3:45
1384 #, no-wrap
1385 msgid "B<int nrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1386 msgstr ""
1387
1388 #. type: Plain text
1389 #: build/C/man3/drand48_r.3:47 build/C/man3/drand48_r.3:53
1390 #, no-wrap
1391 msgid ""
1392 "B<              struct drand48_data *>I<buffer>B<, long int "
1393 "*>I<result>B<);>\n"
1394 msgstr ""
1395
1396 #. type: Plain text
1397 #: build/C/man3/drand48_r.3:49
1398 #, no-wrap
1399 msgid ""
1400 "B<int mrand48_r(struct drand48_data *>I<buffer>B<,long int "
1401 "*>I<result>B<);>\n"
1402 msgstr ""
1403
1404 #. type: Plain text
1405 #: build/C/man3/drand48_r.3:51
1406 #, no-wrap
1407 msgid "B<int jrand48_r(unsigned short int >I<xsubi[3]>B<,>\n"
1408 msgstr ""
1409
1410 #. type: Plain text
1411 #: build/C/man3/drand48_r.3:55
1412 #, no-wrap
1413 msgid ""
1414 "B<int srand48_r(long int >I<seedval>B<, struct drand48_data "
1415 "*>I<buffer>B<);>\n"
1416 msgstr ""
1417
1418 #. type: Plain text
1419 #: build/C/man3/drand48_r.3:57
1420 #, no-wrap
1421 msgid "B<int seed48_r(unsigned short int >I<seed16v[3]>B<,>\n"
1422 msgstr ""
1423
1424 #. type: Plain text
1425 #: build/C/man3/drand48_r.3:59
1426 #, no-wrap
1427 msgid "B<             struct drand48_data *>I<buffer>B<);>\n"
1428 msgstr ""
1429
1430 #. type: Plain text
1431 #: build/C/man3/drand48_r.3:61
1432 #, no-wrap
1433 msgid "B<int lcong48_r(unsigned short int >I<param[7]>B<,>\n"
1434 msgstr ""
1435
1436 #. type: Plain text
1437 #: build/C/man3/drand48_r.3:63
1438 #, no-wrap
1439 msgid "B<              struct drand48_data *>I<buffer>B<);>\n"
1440 msgstr ""
1441
1442 #.  .BR drand48_r (),
1443 #.  .BR erand48_r (),
1444 #.  .BR lrand48_r (),
1445 #.  .BR nrand48_r (),
1446 #.  .BR mrand48_r (),
1447 #.  .BR jrand48_r (),
1448 #.  .BR srand48_r (),
1449 #.  .BR seed48_r (),
1450 #.  .BR lcong48_r ():
1451 #. type: Plain text
1452 #: build/C/man3/drand48_r.3:82
1453 msgid "All functions shown above: _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE"
1454 msgstr ""
1455
1456 #. type: Plain text
1457 #: build/C/man3/drand48_r.3:89
1458 msgid ""
1459 "These functions are the reentrant analogs of the functions described in "
1460 "B<drand48>(3).  Instead of modifying the global random generator state, they "
1461 "use the supplied data I<buffer>."
1462 msgstr ""
1463
1464 #. type: Plain text
1465 #: build/C/man3/drand48_r.3:96
1466 msgid ""
1467 "Before the first use, this struct must be initialized, for example, by "
1468 "filling it with zeros, or by calling one of the functions B<srand48_r>(), "
1469 "B<seed48_r>(), or B<lcong48_r>()."
1470 msgstr ""
1471
1472 #. type: Plain text
1473 #: build/C/man3/drand48_r.3:98
1474 msgid "The return value is 0."
1475 msgstr ""
1476
1477 #. type: Plain text
1478 #: build/C/man3/drand48_r.3:112
1479 msgid ""
1480 "The B<drand48_r>(), B<erand48_r>(), B<lrand48_r>(), B<nrand48_r>(), "
1481 "B<mrand48_r>(), B<jrand48_r>(), B<srand48_r>(), B<seed48_r>(), and "
1482 "B<lcong48_r>()  functions are thread-safe."
1483 msgstr ""
1484
1485 #. type: Plain text
1486 #: build/C/man3/drand48_r.3:114
1487 msgid "These functions are GNU extensions and are not portable."
1488 msgstr ""
1489
1490 #. type: Plain text
1491 #: build/C/man3/drand48_r.3:117 build/C/man3/random_r.3:144
1492 msgid "B<drand48>(3), B<rand>(3), B<random>(3)"
1493 msgstr ""
1494
1495 #. type: TH
1496 #: build/C/man3/ecvt.3:32
1497 #, no-wrap
1498 msgid "ECVT"
1499 msgstr ""
1500
1501 #. type: Plain text
1502 #: build/C/man3/ecvt.3:35
1503 msgid "ecvt, fcvt - convert a floating-point number to a string"
1504 msgstr ""
1505
1506 #. type: Plain text
1507 #: build/C/man3/ecvt.3:40
1508 msgid ""
1509 "B<char *ecvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1510 "B<int *>I<sign>B<);>"
1511 msgstr ""
1512
1513 #. type: Plain text
1514 #: build/C/man3/ecvt.3:43
1515 msgid ""
1516 "B<char *fcvt(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,> "
1517 "B<int *>I<sign>B<);>"
1518 msgstr ""
1519
1520 #. type: Plain text
1521 #: build/C/man3/ecvt.3:51
1522 msgid "B<ecvt>(), B<fcvt>():"
1523 msgstr ""
1524
1525 #. type: TP
1526 #: build/C/man3/ecvt.3:54 build/C/man3/gcvt.3:49 build/C/man3/mktemp.3:53
1527 #, no-wrap
1528 msgid "Since glibc 2.12:"
1529 msgstr ""
1530
1531 #. type: Plain text
1532 #: build/C/man3/ecvt.3:61 build/C/man3/gcvt.3:56
1533 #, no-wrap
1534 msgid ""
1535 "_SVID_SOURCE ||\n"
1536 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1537 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1538 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1539 msgstr ""
1540
1541 #. type: TP
1542 #: build/C/man3/ecvt.3:62 build/C/man3/gcvt.3:57 build/C/man3/mktemp.3:59
1543 #, no-wrap
1544 msgid "Before glibc 2.12:"
1545 msgstr ""
1546
1547 #. type: Plain text
1548 #: build/C/man3/ecvt.3:92
1549 msgid ""
1550 "The B<ecvt>()  function converts I<number> to a null-terminated string of "
1551 "I<ndigits> digits (where I<ndigits> is reduced to a system-specific limit "
1552 "determined by the precision of a I<double>), and returns a pointer to the "
1553 "string.  The high-order digit is nonzero, unless I<number> is zero.  The low "
1554 "order digit is rounded.  The string itself does not contain a decimal point; "
1555 "however, the position of the decimal point relative to the start of the "
1556 "string is stored in I<*decpt>.  A negative value for I<*decpt> means that "
1557 "the decimal point is to the left of the start of the string.  If the sign of "
1558 "I<number> is negative, I<*sign> is set to a nonzero value, otherwise it is "
1559 "set to 0.  If I<number> is zero, it is unspecified whether I<*decpt> is 0 or "
1560 "1."
1561 msgstr ""
1562
1563 #. type: Plain text
1564 #: build/C/man3/ecvt.3:99
1565 msgid ""
1566 "The B<fcvt>()  function is identical to B<ecvt>(), except that I<ndigits> "
1567 "specifies the number of digits after the decimal point."
1568 msgstr ""
1569
1570 #. type: Plain text
1571 #: build/C/man3/ecvt.3:110
1572 msgid ""
1573 "Both the B<ecvt>()  and B<fcvt>()  functions return a pointer to a static "
1574 "string containing the ASCII representation of I<number>.  The static string "
1575 "is overwritten by each call to B<ecvt>()  or B<fcvt>()."
1576 msgstr ""
1577
1578 #. type: Plain text
1579 #: build/C/man3/ecvt.3:117
1580 msgid "The B<ecvt>()  and B<fcvt>()  functions are not thread-safe."
1581 msgstr ""
1582
1583 #. type: Plain text
1584 #: build/C/man3/ecvt.3:129
1585 msgid ""
1586 "SVr2; marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the "
1587 "specifications of B<ecvt>()  and B<fcvt>(), recommending the use of "
1588 "B<sprintf>(3)  instead (though B<snprintf>(3)  may be preferable)."
1589 msgstr ""
1590
1591 #.  Linux libc4 and libc5 specified the type of
1592 #.  .I ndigits
1593 #.  as
1594 #.  .IR size_t .
1595 #. type: Plain text
1596 #: build/C/man3/ecvt.3:135
1597 msgid "Not all locales use a point as the radix character (\"decimal point\")."
1598 msgstr ""
1599
1600 #. type: Plain text
1601 #: build/C/man3/ecvt.3:140
1602 msgid "B<ecvt_r>(3), B<gcvt>(3), B<qecvt>(3), B<setlocale>(3), B<sprintf>(3)"
1603 msgstr ""
1604
1605 #. type: TH
1606 #: build/C/man3/ecvt_r.3:30
1607 #, no-wrap
1608 msgid "ECVT_R"
1609 msgstr ""
1610
1611 #. type: Plain text
1612 #: build/C/man3/ecvt_r.3:33
1613 msgid ""
1614 "ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number to a "
1615 "string"
1616 msgstr ""
1617
1618 #. type: Plain text
1619 #: build/C/man3/ecvt_r.3:39
1620 #, no-wrap
1621 msgid ""
1622 "B<int ecvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1623 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1624 msgstr ""
1625
1626 #. type: Plain text
1627 #: build/C/man3/ecvt_r.3:42
1628 #, no-wrap
1629 msgid ""
1630 "B<int fcvt_r(double >I<number>B<, int >I<ndigits>B<, int *>I<decpt>B<,>\n"
1631 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1632 msgstr ""
1633
1634 #. type: Plain text
1635 #: build/C/man3/ecvt_r.3:45
1636 #, no-wrap
1637 msgid ""
1638 "B<int qecvt_r(long double >I<number>B<, int >I<ndigits>B<, int "
1639 "*>I<decpt>B<,>\n"
1640 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1641 msgstr ""
1642
1643 #. type: Plain text
1644 #: build/C/man3/ecvt_r.3:48
1645 #, no-wrap
1646 msgid ""
1647 "B<int qfcvt_r(long double >I<number>B<, int >I<ndigits>B<, int "
1648 "*>I<decpt>B<,>\n"
1649 "B<           int *>I<sign>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1650 msgstr ""
1651
1652 #. type: Plain text
1653 #: build/C/man3/ecvt_r.3:60
1654 msgid "B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), B<qfcvt_r>():"
1655 msgstr ""
1656
1657 #. type: Plain text
1658 #: build/C/man3/ecvt_r.3:62
1659 msgid "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
1660 msgstr ""
1661
1662 #. type: Plain text
1663 #: build/C/man3/ecvt_r.3:86
1664 msgid ""
1665 "The functions B<ecvt_r>(), B<fcvt_r>(), B<qecvt_r>(), and B<qfcvt_r>()  are "
1666 "identical to B<ecvt>(3), B<fcvt>(3), B<qecvt>(3), and B<qfcvt>(3), "
1667 "respectively, except that they do not return their result in a static "
1668 "buffer, but instead use the supplied I<buf> of size I<len>.  See B<ecvt>(3)  "
1669 "and B<qecvt>(3)."
1670 msgstr ""
1671
1672 #. type: Plain text
1673 #: build/C/man3/ecvt_r.3:88
1674 msgid "These functions return 0 on success, and -1 otherwise."
1675 msgstr ""
1676
1677 #. type: Plain text
1678 #: build/C/man3/ecvt_r.3:90
1679 msgid "These functions are GNU extensions."
1680 msgstr ""
1681
1682 #. type: Plain text
1683 #: build/C/man3/ecvt_r.3:95
1684 msgid "These functions are obsolete.  Instead, B<sprintf>(3)  is recommended."
1685 msgstr ""
1686
1687 #. type: Plain text
1688 #: build/C/man3/ecvt_r.3:98
1689 msgid "B<ecvt>(3), B<qecvt>(3), B<sprintf>(3)"
1690 msgstr ""
1691
1692 #. type: TH
1693 #: build/C/man3/exit.3:29
1694 #, no-wrap
1695 msgid "EXIT"
1696 msgstr ""
1697
1698 #. type: TH
1699 #: build/C/man3/exit.3:29 build/C/man3/random.3:33 build/C/man3/random_r.3:26
1700 #, no-wrap
1701 msgid "2014-03-25"
1702 msgstr ""
1703
1704 #. type: Plain text
1705 #: build/C/man3/exit.3:32
1706 msgid "exit - cause normal process termination"
1707 msgstr ""
1708
1709 #. type: Plain text
1710 #: build/C/man3/exit.3:37
1711 #, no-wrap
1712 msgid "B<void exit(int >I<status>B<);>\n"
1713 msgstr ""
1714
1715 #. type: Plain text
1716 #: build/C/man3/exit.3:45
1717 msgid ""
1718 "The B<exit>()  function causes normal process termination and the value of "
1719 "I<status & 0377> is returned to the parent (see B<wait>(2))."
1720 msgstr ""
1721
1722 #. type: Plain text
1723 #: build/C/man3/exit.3:72
1724 msgid ""
1725 "All functions registered with B<atexit>(3)  and B<on_exit>(3)  are called, "
1726 "in the reverse order of their registration.  (It is possible for one of "
1727 "these functions to use B<atexit>(3)  or B<on_exit>(3)  to register an "
1728 "additional function to be executed during exit processing; the new "
1729 "registration is added to the front of the list of functions that remain to "
1730 "be called.)  If one of these functions does not return (e.g., it calls "
1731 "B<_exit>(2), or kills itself with a signal), then none of the remaining "
1732 "functions is called, and further exit processing (in particular, flushing of "
1733 "B<stdio>(3)  streams) is abandoned.  If a function has been registered "
1734 "multiple times using B<atexit>(3)  or B<on_exit>(3), then it is called as "
1735 "many times as it was registered."
1736 msgstr ""
1737
1738 #. type: Plain text
1739 #: build/C/man3/exit.3:79
1740 msgid ""
1741 "All open B<stdio>(3)  streams are flushed and closed.  Files created by "
1742 "B<tmpfile>(3)  are removed."
1743 msgstr ""
1744
1745 #. type: Plain text
1746 #: build/C/man3/exit.3:86
1747 msgid ""
1748 "The C standard specifies two constants, B<EXIT_SUCCESS> and B<EXIT_FAILURE>, "
1749 "that may be passed to B<exit>()  to indicate successful or unsuccessful "
1750 "termination, respectively."
1751 msgstr ""
1752
1753 #. type: Plain text
1754 #: build/C/man3/exit.3:90
1755 msgid "The B<exit>()  function does not return."
1756 msgstr ""
1757
1758 #. type: Plain text
1759 #: build/C/man3/exit.3:96
1760 msgid ""
1761 "The B<exit>()  function uses a global variable that is not protected, so it "
1762 "is not thread-safe."
1763 msgstr ""
1764
1765 #. type: Plain text
1766 #: build/C/man3/exit.3:98
1767 msgid "SVr4, 4.3BSD, POSIX.1-2001, C89, C99."
1768 msgstr ""
1769
1770 #. type: Plain text
1771 #: build/C/man3/exit.3:115
1772 msgid ""
1773 "It is undefined what happens if one of the functions registered using "
1774 "B<atexit>(3)  and B<on_exit>(3)  calls either B<exit>()  or B<longjmp>(3).  "
1775 "Note that a call to B<execve>(2)  removes registrations created using "
1776 "B<atexit>(3)  and B<on_exit>(3)."
1777 msgstr ""
1778
1779 #. type: Plain text
1780 #: build/C/man3/exit.3:124
1781 msgid ""
1782 "The use of B<EXIT_SUCCESS> and B<EXIT_FAILURE> is slightly more portable (to "
1783 "non-UNIX environments) than the use of 0 and some nonzero value like 1 or "
1784 "-1.  In particular, VMS uses a different convention."
1785 msgstr ""
1786
1787 #. type: Plain text
1788 #: build/C/man3/exit.3:127
1789 msgid ""
1790 "BSD has attempted to standardize exit codes; see the file "
1791 "I<E<lt>sysexits.hE<gt>>."
1792 msgstr ""
1793
1794 #. type: Plain text
1795 #: build/C/man3/exit.3:152
1796 msgid ""
1797 "After B<exit>(), the exit status must be transmitted to the parent process.  "
1798 "There are three cases.  If the parent has set B<SA_NOCLDWAIT>, or has set "
1799 "the B<SIGCHLD> handler to B<SIG_IGN>, the status is discarded.  If the "
1800 "parent was waiting on the child, it is notified of the exit status.  In both "
1801 "cases the exiting process dies immediately.  If the parent has not indicated "
1802 "that it is not interested in the exit status, but is not waiting, the "
1803 "exiting process turns into a \"zombie\" process (which is nothing but a "
1804 "container for the single byte representing the exit status) so that the "
1805 "parent can learn the exit status when it later calls one of the B<wait>(2)  "
1806 "functions."
1807 msgstr ""
1808
1809 #. type: Plain text
1810 #: build/C/man3/exit.3:162
1811 msgid ""
1812 "If the implementation supports the B<SIGCHLD> signal, this signal is sent to "
1813 "the parent.  If the parent has set B<SA_NOCLDWAIT>, it is undefined whether "
1814 "a B<SIGCHLD> signal is sent."
1815 msgstr ""
1816
1817 #. type: Plain text
1818 #: build/C/man3/exit.3:171
1819 msgid ""
1820 "If the process is a session leader and its controlling terminal is the "
1821 "controlling terminal of the session, then each process in the foreground "
1822 "process group of this controlling terminal is sent a B<SIGHUP> signal, and "
1823 "the terminal is disassociated from this session, allowing it to be acquired "
1824 "by a new controlling process."
1825 msgstr ""
1826
1827 #. type: Plain text
1828 #: build/C/man3/exit.3:183
1829 msgid ""
1830 "If the exit of the process causes a process group to become orphaned, and if "
1831 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
1832 "signal followed by a B<SIGCONT> signal will be sent to each process in this "
1833 "process group.  See B<setpgid>(2)  for an explanation of orphaned process "
1834 "groups."
1835 msgstr ""
1836
1837 #. type: Plain text
1838 #: build/C/man3/exit.3:189
1839 msgid ""
1840 "B<_exit>(2), B<setpgid>(2), B<wait>(2), B<atexit>(3), B<on_exit>(3), "
1841 "B<tmpfile>(3)"
1842 msgstr ""
1843
1844 #. type: TH
1845 #: build/C/man3/gcvt.3:30
1846 #, no-wrap
1847 msgid "GCVT"
1848 msgstr ""
1849
1850 #. type: Plain text
1851 #: build/C/man3/gcvt.3:33
1852 msgid "gcvt - convert a floating-point number to a string"
1853 msgstr ""
1854
1855 #. type: Plain text
1856 #: build/C/man3/gcvt.3:38
1857 #, no-wrap
1858 msgid "B<char *gcvt(double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>\n"
1859 msgstr ""
1860
1861 #. type: Plain text
1862 #: build/C/man3/gcvt.3:46
1863 msgid "B<gcvt>():"
1864 msgstr ""
1865
1866 #. type: Plain text
1867 #: build/C/man3/gcvt.3:61
1868 msgid ""
1869 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE && "
1870 "_XOPEN_SOURCE_EXTENDED"
1871 msgstr ""
1872
1873 #. type: Plain text
1874 #: build/C/man3/gcvt.3:72
1875 msgid ""
1876 "The B<gcvt>()  function converts I<number> to a minimal length "
1877 "null-terminated ASCII string and stores the result in I<buf>.  It produces "
1878 "I<ndigit> significant digits in either B<printf>(3)  F format or E format."
1879 msgstr ""
1880
1881 #. type: Plain text
1882 #: build/C/man3/gcvt.3:77
1883 msgid ""
1884 "The B<gcvt>()  function returns the address of the string pointed to by "
1885 "I<buf>."
1886 msgstr ""
1887
1888 #. type: Plain text
1889 #: build/C/man3/gcvt.3:86
1890 msgid ""
1891 "Marked as LEGACY in POSIX.1-2001.  POSIX.1-2008 removes the specification of "
1892 "B<gcvt>(), recommending the use of B<sprintf>(3)  instead (though "
1893 "B<snprintf>(3)  may be preferable)."
1894 msgstr ""
1895
1896 #. type: Plain text
1897 #: build/C/man3/gcvt.3:89
1898 msgid "B<ecvt>(3), B<fcvt>(3), B<sprintf>(3)"
1899 msgstr ""
1900
1901 #. type: TH
1902 #: build/C/man3/getauxval.3:29
1903 #, no-wrap
1904 msgid "GETAUXVAL"
1905 msgstr ""
1906
1907 #. type: Plain text
1908 #: build/C/man3/getauxval.3:32
1909 msgid "getauxval - retrieve a value from the auxiliary vector"
1910 msgstr ""
1911
1912 #. type: Plain text
1913 #: build/C/man3/getauxval.3:35
1914 #, no-wrap
1915 msgid "B<#include E<lt>sys/auxv.hE<gt>>\n"
1916 msgstr ""
1917
1918 #. type: Plain text
1919 #: build/C/man3/getauxval.3:37
1920 #, no-wrap
1921 msgid "B<unsigned long getauxval(unsigned long >I<type>B<);>\n"
1922 msgstr ""
1923
1924 #. type: Plain text
1925 #: build/C/man3/getauxval.3:45
1926 msgid ""
1927 "The B<getauxval>()  function retrieves values from the auxiliary vector, a "
1928 "mechanism that the kernel's ELF binary loader uses to pass certain "
1929 "information to user space when a program is executed."
1930 msgstr ""
1931
1932 #. type: Plain text
1933 #: build/C/man3/getauxval.3:53
1934 msgid ""
1935 "Each entry in the auxiliary vector consists of a pair of values: a type that "
1936 "identifies what this entry represents, and a value for that type.  Given the "
1937 "argument I<type>, B<getauxval>()  returns the corresponding value."
1938 msgstr ""
1939
1940 #. type: Plain text
1941 #: build/C/man3/getauxval.3:60
1942 msgid ""
1943 "The value returned for each I<type> is given in the following list.  Not all "
1944 "I<type> values are present on all architectures."
1945 msgstr ""
1946
1947 #. type: TP
1948 #: build/C/man3/getauxval.3:60
1949 #, no-wrap
1950 msgid "B<AT_BASE>"
1951 msgstr ""
1952
1953 #. type: Plain text
1954 #: build/C/man3/getauxval.3:63
1955 msgid "The base address of the program interpreter (usually, the dynamic linker)."
1956 msgstr ""
1957
1958 #. type: TP
1959 #: build/C/man3/getauxval.3:63
1960 #, no-wrap
1961 msgid "B<AT_BASE_PLATFORM>"
1962 msgstr ""
1963
1964 #. type: Plain text
1965 #: build/C/man3/getauxval.3:68
1966 msgid ""
1967 "A string identifying the real platform; may differ from B<AT_PLATFORM> "
1968 "(PowerPC only)."
1969 msgstr ""
1970
1971 #. type: TP
1972 #: build/C/man3/getauxval.3:68
1973 #, no-wrap
1974 msgid "B<AT_CLKTCK>"
1975 msgstr ""
1976
1977 #. type: Plain text
1978 #: build/C/man3/getauxval.3:75
1979 msgid ""
1980 "The frequency with which B<times>(2)  counts.  This value can also be "
1981 "obtained via I<sysconf(_SC_CLK_TCK)>."
1982 msgstr ""
1983
1984 #. type: TP
1985 #: build/C/man3/getauxval.3:75
1986 #, no-wrap
1987 msgid "B<AT_DCACHEBSIZE>"
1988 msgstr ""
1989
1990 #. type: Plain text
1991 #: build/C/man3/getauxval.3:78
1992 msgid "The data cache block size."
1993 msgstr ""
1994
1995 #. type: TP
1996 #: build/C/man3/getauxval.3:78
1997 #, no-wrap
1998 msgid "B<AT_EGID>"
1999 msgstr ""
2000
2001 #. type: Plain text
2002 #: build/C/man3/getauxval.3:81
2003 msgid "The effective group ID of the thread."
2004 msgstr ""
2005
2006 #. type: TP
2007 #: build/C/man3/getauxval.3:81
2008 #, no-wrap
2009 msgid "B<AT_ENTRY>"
2010 msgstr ""
2011
2012 #. type: Plain text
2013 #: build/C/man3/getauxval.3:84
2014 msgid "The entry address of the executable."
2015 msgstr ""
2016
2017 #. type: TP
2018 #: build/C/man3/getauxval.3:84
2019 #, no-wrap
2020 msgid "B<AT_EUID>"
2021 msgstr ""
2022
2023 #. type: Plain text
2024 #: build/C/man3/getauxval.3:87
2025 msgid "The effective user ID of the thread."
2026 msgstr ""
2027
2028 #. type: TP
2029 #: build/C/man3/getauxval.3:87
2030 #, no-wrap
2031 msgid "B<AT_EXECFD>"
2032 msgstr ""
2033
2034 #. type: Plain text
2035 #: build/C/man3/getauxval.3:90
2036 msgid "File descriptor of program."
2037 msgstr ""
2038
2039 #. type: TP
2040 #: build/C/man3/getauxval.3:90
2041 #, no-wrap
2042 msgid "B<AT_EXECFN>"
2043 msgstr ""
2044
2045 #. type: Plain text
2046 #: build/C/man3/getauxval.3:93
2047 msgid "Pathname used to execute program."
2048 msgstr ""
2049
2050 #. type: TP
2051 #: build/C/man3/getauxval.3:93
2052 #, no-wrap
2053 msgid "B<AT_FLAGS>"
2054 msgstr ""
2055
2056 #. type: Plain text
2057 #: build/C/man3/getauxval.3:96
2058 msgid "Flags (unused)."
2059 msgstr ""
2060
2061 #. type: TP
2062 #: build/C/man3/getauxval.3:96
2063 #, no-wrap
2064 msgid "B<AT_FPUCW>"
2065 msgstr ""
2066
2067 #. type: Plain text
2068 #: build/C/man3/getauxval.3:101
2069 msgid ""
2070 "Used FPU control word (SuperH architecture only).  This gives some "
2071 "information about the FPU initialization performed by the kernel."
2072 msgstr ""
2073
2074 #. type: TP
2075 #: build/C/man3/getauxval.3:101
2076 #, no-wrap
2077 msgid "B<AT_GID>"
2078 msgstr ""
2079
2080 #. type: Plain text
2081 #: build/C/man3/getauxval.3:104
2082 msgid "The real group ID of the thread."
2083 msgstr ""
2084
2085 #. type: TP
2086 #: build/C/man3/getauxval.3:104
2087 #, no-wrap
2088 msgid "B<AT_HWCAP>"
2089 msgstr ""
2090
2091 #. type: Plain text
2092 #: build/C/man3/getauxval.3:114
2093 msgid ""
2094 "A pointer to a multibyte mask of bits whose settings indicate detailed "
2095 "processor capabilities.  The contents of the bit mask are hardware dependent "
2096 "(for example, see the kernel source file "
2097 "I<arch/x86/include/asm/cpufeature.h> for details relating to the Intel x86 "
2098 "architecture).  A human-readable version of the same information is "
2099 "available via I</proc/cpuinfo>."
2100 msgstr ""
2101
2102 #. type: TP
2103 #: build/C/man3/getauxval.3:114
2104 #, no-wrap
2105 msgid "B<AT_ICACHEBSIZE>"
2106 msgstr ""
2107
2108 #.  .TP
2109 #.  .BR AT_IGNORE
2110 #.  .TP
2111 #.  .BR AT_IGNOREPPC
2112 #.  .TP
2113 #.  .BR AT_NOTELF
2114 #. type: Plain text
2115 #: build/C/man3/getauxval.3:123
2116 msgid "The instruction cache block size."
2117 msgstr ""
2118
2119 #. type: TP
2120 #: build/C/man3/getauxval.3:123
2121 #, no-wrap
2122 msgid "B<AT_PAGESZ>"
2123 msgstr ""
2124
2125 #. type: Plain text
2126 #: build/C/man3/getauxval.3:127
2127 msgid "The system page size (the same value returned by I<sysconf(_SC_PAGESIZE)>)."
2128 msgstr ""
2129
2130 #. type: TP
2131 #: build/C/man3/getauxval.3:127
2132 #, no-wrap
2133 msgid "B<AT_PHDR>"
2134 msgstr ""
2135
2136 #. type: Plain text
2137 #: build/C/man3/getauxval.3:130
2138 msgid "The address of the program headers of the executable."
2139 msgstr ""
2140
2141 #. type: TP
2142 #: build/C/man3/getauxval.3:130
2143 #, no-wrap
2144 msgid "B<AT_PHENT>"
2145 msgstr ""
2146
2147 #. type: Plain text
2148 #: build/C/man3/getauxval.3:133
2149 msgid "The size of program header entry."
2150 msgstr ""
2151
2152 #. type: TP
2153 #: build/C/man3/getauxval.3:133
2154 #, no-wrap
2155 msgid "B<AT_PHNUM>"
2156 msgstr ""
2157
2158 #. type: Plain text
2159 #: build/C/man3/getauxval.3:136
2160 msgid "The number of program headers."
2161 msgstr ""
2162
2163 #. type: TP
2164 #: build/C/man3/getauxval.3:136
2165 #, no-wrap
2166 msgid "B<AT_PLATFORM>"
2167 msgstr ""
2168
2169 #. type: Plain text
2170 #: build/C/man3/getauxval.3:143
2171 msgid ""
2172 "A pointer to a string that identifies the hardware platform that the program "
2173 "is running on.  The dynamic linker uses this in the interpretation of "
2174 "I<rpath> values."
2175 msgstr ""
2176
2177 #. type: TP
2178 #: build/C/man3/getauxval.3:143
2179 #, no-wrap
2180 msgid "B<AT_RANDOM>"
2181 msgstr ""
2182
2183 #. type: Plain text
2184 #: build/C/man3/getauxval.3:146
2185 msgid "The address of sixteen bytes containing a random value."
2186 msgstr ""
2187
2188 #. type: TP
2189 #: build/C/man3/getauxval.3:146
2190 #, no-wrap
2191 msgid "B<AT_SECURE>"
2192 msgstr ""
2193
2194 #. type: Plain text
2195 #: build/C/man3/getauxval.3:158
2196 msgid ""
2197 "Has a nonzero value if this executable should be treated securely.  Most "
2198 "commonly, a nonzero value indicates that the process is executing a "
2199 "set-user-ID or set-group-ID program; alternatively, a nonzero value may be "
2200 "triggered by a Linux Security Module.  When this value is nonzero, the "
2201 "dynamic linker disables the use of certain environment variables (see "
2202 "B<ld-linux.so>(8))  and glibc changes other aspects of its behavior.  (See "
2203 "also B<secure_getenv>(3).)"
2204 msgstr ""
2205
2206 #. type: TP
2207 #: build/C/man3/getauxval.3:158
2208 #, no-wrap
2209 msgid "B<AT_SYSINFO>"
2210 msgstr ""
2211
2212 #. type: Plain text
2213 #: build/C/man3/getauxval.3:162
2214 msgid ""
2215 "The entry point to the system call function in the vDSO.  Not present/needed "
2216 "on all architectures (e.g., absent on x86-64)."
2217 msgstr ""
2218
2219 #. type: TP
2220 #: build/C/man3/getauxval.3:162
2221 #, no-wrap
2222 msgid "B<AT_SYSINFO_EHDR>"
2223 msgstr ""
2224
2225 #. type: Plain text
2226 #: build/C/man3/getauxval.3:167
2227 msgid ""
2228 "The address of a page containing the virtual Dynamic Shared Object (vDSO)  "
2229 "that the kernel creates in order to provide fast implementations of certain "
2230 "system calls."
2231 msgstr ""
2232
2233 #. type: TP
2234 #: build/C/man3/getauxval.3:167
2235 #, no-wrap
2236 msgid "B<AT_UCACHEBSIZE>"
2237 msgstr ""
2238
2239 #. type: Plain text
2240 #: build/C/man3/getauxval.3:170
2241 msgid "The unified cache block size."
2242 msgstr ""
2243
2244 #. type: TP
2245 #: build/C/man3/getauxval.3:170
2246 #, no-wrap
2247 msgid "B<AT_UID>"
2248 msgstr ""
2249
2250 #. type: Plain text
2251 #: build/C/man3/getauxval.3:173
2252 msgid "The real user ID of the thread."
2253 msgstr ""
2254
2255 #. type: Plain text
2256 #: build/C/man3/getauxval.3:181
2257 msgid ""
2258 "On success, B<getauxval>()  returns the value corresponding to I<type>.  If "
2259 "I<type> is not found, 0 is returned."
2260 msgstr ""
2261
2262 #. type: TP
2263 #: build/C/man3/getauxval.3:182
2264 #, no-wrap
2265 msgid "B<ENOENT> (since glibc 2.19)"
2266 msgstr ""
2267
2268 #.  commit b9ab448f980e296eac21ac65f53783967cc6037b
2269 #. type: Plain text
2270 #: build/C/man3/getauxval.3:188
2271 msgid "No entry corresponding to I<type> could be found in the auxiliary vector."
2272 msgstr ""
2273
2274 #. type: Plain text
2275 #: build/C/man3/getauxval.3:192
2276 msgid "The B<getauxval>()  function was added to glibc in version 2.16."
2277 msgstr ""
2278
2279 #. type: Plain text
2280 #: build/C/man3/getauxval.3:197
2281 msgid "The B<getauxval>()  function is thread-safe."
2282 msgstr ""
2283
2284 #. type: Plain text
2285 #: build/C/man3/getauxval.3:199
2286 msgid "This function is a nonstandard glibc extension."
2287 msgstr ""
2288
2289 #. type: Plain text
2290 #: build/C/man3/getauxval.3:208
2291 msgid ""
2292 "The primary consumer of the information in the auxiliary vector is the "
2293 "dynamic linker B<ld-linux.so>(8).  The auxiliary vector is a convenient and "
2294 "efficient shortcut that allows the kernel to communicate a certain set of "
2295 "standard information that the dynamic linker usually or always needs.  In "
2296 "some cases, the same information could be obtained by system calls, but "
2297 "using the auxiliary vector is cheaper."
2298 msgstr ""
2299
2300 #. type: Plain text
2301 #: build/C/man3/getauxval.3:214
2302 msgid ""
2303 "The auxiliary vector resides just above the argument list and environment in "
2304 "the process address space.  The auxiliary vector supplied to a program can "
2305 "be viewed by setting the B<LD_SHOW_AUXV> environment variable when running a "
2306 "program:"
2307 msgstr ""
2308
2309 #. type: Plain text
2310 #: build/C/man3/getauxval.3:216
2311 #, no-wrap
2312 msgid "    $ LD_SHOW_AUXV=1 sleep 1\n"
2313 msgstr ""
2314
2315 #. type: Plain text
2316 #: build/C/man3/getauxval.3:223
2317 msgid ""
2318 "The auxiliary vector of any process can (subject to file permissions)  be "
2319 "obtained via I</proc/PID/auxv>; see B<proc>(5)  for more information."
2320 msgstr ""
2321
2322 #. type: SH
2323 #: build/C/man3/getauxval.3:223 build/C/man3/mktemp.3:105 build/C/man3/random.3:189 build/C/man3/rpmatch.3:104 build/C/man3/setenv.3:144
2324 #, no-wrap
2325 msgid "BUGS"
2326 msgstr ""
2327
2328 #. type: Plain text
2329 #: build/C/man3/getauxval.3:232
2330 msgid ""
2331 "Before the addition of the B<ENOENT> error in glibc 2.19, there was no way "
2332 "to unambiguously distinguish the case where I<type> could not be found from "
2333 "the case where the value corresponding to I<type> was zer0."
2334 msgstr ""
2335
2336 #. type: Plain text
2337 #: build/C/man3/getauxval.3:235
2338 msgid "B<secure_getenv>(3), B<vdso>(7), B<ld-linux.so>(8)"
2339 msgstr ""
2340
2341 #. type: TH
2342 #: build/C/man3/getenv.3:33
2343 #, no-wrap
2344 msgid "GETENV"
2345 msgstr ""
2346
2347 #. type: TH
2348 #: build/C/man3/getenv.3:33
2349 #, no-wrap
2350 msgid "2012-08-14"
2351 msgstr ""
2352
2353 #. type: Plain text
2354 #: build/C/man3/getenv.3:36
2355 msgid "getenv, secure_getenv - get an environment variable"
2356 msgstr ""
2357
2358 #. type: Plain text
2359 #: build/C/man3/getenv.3:41
2360 #, no-wrap
2361 msgid "B<char *getenv(const char *>I<name>B<);>\n"
2362 msgstr ""
2363
2364 #. type: Plain text
2365 #: build/C/man3/getenv.3:43
2366 #, no-wrap
2367 msgid "B<char *secure_getenv(const char *>I<name>B<);>\n"
2368 msgstr ""
2369
2370 #. type: Plain text
2371 #: build/C/man3/getenv.3:52
2372 msgid "B<secure_getenv>(): _GNU_SOURCE"
2373 msgstr ""
2374
2375 #. type: Plain text
2376 #: build/C/man3/getenv.3:61
2377 msgid ""
2378 "The B<getenv>()  function searches the environment list to find the "
2379 "environment variable I<name>, and returns a pointer to the corresponding "
2380 "I<value> string."
2381 msgstr ""
2382
2383 #. type: Plain text
2384 #: build/C/man3/getenv.3:69
2385 msgid ""
2386 "The GNU-specific B<secure_getenv>()  function is just like B<getenv>()  "
2387 "except that it returns NULL in cases where \"secure execution\" is "
2388 "required.  Secure execution is required if one of the following conditions "
2389 "was true when the program run by the calling process was loaded:"
2390 msgstr ""
2391
2392 #. type: IP
2393 #: build/C/man3/getenv.3:69 build/C/man3/getenv.3:74 build/C/man3/getenv.3:76 build/C/man3/system.3:77 build/C/man3/system.3:82 build/C/man3/system.3:86 build/C/man3/system.3:91
2394 #, no-wrap
2395 msgid "*"
2396 msgstr ""
2397
2398 #. type: Plain text
2399 #: build/C/man3/getenv.3:74
2400 msgid ""
2401 "the process's effective user ID did not match its real user ID or the "
2402 "process's effective group ID did not match its real group ID (typically this "
2403 "is the result of executing a set-user-ID or set-group-ID program);"
2404 msgstr ""
2405
2406 #. type: Plain text
2407 #: build/C/man3/getenv.3:76
2408 msgid "the effective capability bit was set on the executable file; or"
2409 msgstr ""
2410
2411 #. type: Plain text
2412 #: build/C/man3/getenv.3:78
2413 msgid "the process has a nonempty permitted capability set."
2414 msgstr ""
2415
2416 #. type: Plain text
2417 #: build/C/man3/getenv.3:81
2418 msgid ""
2419 "Secure execution may also required if triggered by some Linux security "
2420 "modules."
2421 msgstr ""
2422
2423 #. type: Plain text
2424 #: build/C/man3/getenv.3:88
2425 msgid ""
2426 "The B<secure_getenv>()  function is intended for use in general-purpose "
2427 "libraries to avoid vulnerabilities that could occur if set-user-ID or "
2428 "set-group-ID programs accidentally trusted the environment."
2429 msgstr ""
2430
2431 #. type: Plain text
2432 #: build/C/man3/getenv.3:93
2433 msgid ""
2434 "The B<getenv>()  function returns a pointer to the value in the environment, "
2435 "or NULL if there is no match."
2436 msgstr ""
2437
2438 #. type: Plain text
2439 #: build/C/man3/getenv.3:96
2440 msgid "B<secure_getenv>()  first appeared in glibc 2.17."
2441 msgstr ""
2442
2443 #. type: Plain text
2444 #: build/C/man3/getenv.3:99
2445 msgid "B<getenv>(): SVr4, POSIX.1-2001, 4.3BSD, C89, C99."
2446 msgstr ""
2447
2448 #. type: Plain text
2449 #: build/C/man3/getenv.3:102
2450 msgid "B<secure_getenv>()  is a GNU extension."
2451 msgstr ""
2452
2453 #. type: Plain text
2454 #: build/C/man3/getenv.3:104
2455 msgid "The strings in the environment list are of the form I<name=value>."
2456 msgstr ""
2457
2458 #. type: Plain text
2459 #: build/C/man3/getenv.3:110
2460 msgid ""
2461 "As typically implemented, B<getenv>()  returns a pointer to a string within "
2462 "the environment list.  The caller must take care not to modify this string, "
2463 "since that would change the environment of the process."
2464 msgstr ""
2465
2466 #. type: Plain text
2467 #: build/C/man3/getenv.3:123
2468 msgid ""
2469 "The implementation of B<getenv>()  is not required to be reentrant.  The "
2470 "string pointed to by the return value of B<getenv>()  may be statically "
2471 "allocated, and can be modified by a subsequent call to B<getenv>(), "
2472 "B<putenv>(3), B<setenv>(3), or B<unsetenv>(3)."
2473 msgstr ""
2474
2475 #. type: Plain text
2476 #: build/C/man3/getenv.3:129
2477 msgid ""
2478 "The \"secure execution\" mode of B<secure_getenv>()  is controlled by the "
2479 "B<AT_SECURE> flag contained in the auxiliary vector passed from the kernel "
2480 "to user space."
2481 msgstr ""
2482
2483 #. type: Plain text
2484 #: build/C/man3/getenv.3:136
2485 msgid ""
2486 "B<clearenv>(3), B<getauxval>(3), B<putenv>(3), B<setenv>(3), B<unsetenv>(3), "
2487 "B<capabilities>(7), B<environ>(7)"
2488 msgstr ""
2489
2490 #. type: TH
2491 #: build/C/man3/getloadavg.3:34
2492 #, no-wrap
2493 msgid "GETLOADAVG"
2494 msgstr ""
2495
2496 #. type: TH
2497 #: build/C/man3/getloadavg.3:34
2498 #, no-wrap
2499 msgid "2014-04-01"
2500 msgstr ""
2501
2502 #. type: Plain text
2503 #: build/C/man3/getloadavg.3:37
2504 msgid "getloadavg - get system load averages"
2505 msgstr ""
2506
2507 #. type: Plain text
2508 #: build/C/man3/getloadavg.3:41
2509 #, no-wrap
2510 msgid ""
2511 "B<#define _BSD_SOURCE>         /* See feature_test_macros(7) */\n"
2512 "B<#include E<lt>stdlib.hE<gt>>\n"
2513 msgstr ""
2514
2515 #. type: Plain text
2516 #: build/C/man3/getloadavg.3:43
2517 #, no-wrap
2518 msgid "B<int getloadavg(double >I<loadavg[]>B<, int >I<nelem>B<);>\n"
2519 msgstr ""
2520
2521 #. type: Plain text
2522 #: build/C/man3/getloadavg.3:55
2523 msgid ""
2524 "The B<getloadavg>()  function returns the number of processes in the system "
2525 "run queue averaged over various periods of time.  Up to I<nelem> samples are "
2526 "retrieved and assigned to successive elements of I<loadavg>[].  The system "
2527 "imposes a maximum of 3 samples, representing averages over the last 1, 5, "
2528 "and 15 minutes, respectively."
2529 msgstr ""
2530
2531 #.  .SH HISTORY
2532 #.  The
2533 #.  BR getloadavg ()
2534 #.  function appeared in
2535 #.  4.3BSD Reno .
2536 #. type: Plain text
2537 #: build/C/man3/getloadavg.3:63
2538 msgid ""
2539 "If the load average was unobtainable, -1 is returned; otherwise, the number "
2540 "of samples actually retrieved is returned."
2541 msgstr ""
2542
2543 #. type: Plain text
2544 #: build/C/man3/getloadavg.3:65
2545 msgid "This function is available in glibc since version 2.2."
2546 msgstr ""
2547
2548 #. type: Plain text
2549 #: build/C/man3/getloadavg.3:70
2550 msgid "The B<getloadavg>()  function is thread-safe."
2551 msgstr ""
2552
2553 #.  mdoc seems to have a bug - there must be no newline here
2554 #. type: Plain text
2555 #: build/C/man3/getloadavg.3:74
2556 msgid "Not in POSIX.1-2001.  Present on the BSDs and Solaris."
2557 msgstr ""
2558
2559 #. type: Plain text
2560 #: build/C/man3/getloadavg.3:76
2561 msgid "B<uptime>(1), B<proc>(5)"
2562 msgstr ""
2563
2564 #. type: TH
2565 #: build/C/man3/getsubopt.3:25
2566 #, no-wrap
2567 msgid "GETSUBOPT"
2568 msgstr ""
2569
2570 #. type: TH
2571 #: build/C/man3/getsubopt.3:25
2572 #, no-wrap
2573 msgid "2014-04-08"
2574 msgstr ""
2575
2576 #. type: Plain text
2577 #: build/C/man3/getsubopt.3:28
2578 msgid "getsubopt - parse suboption arguments from a string"
2579 msgstr ""
2580
2581 #. type: Plain text
2582 #: build/C/man3/getsubopt.3:33
2583 msgid ""
2584 "B<int getsubopt(char **>I<optionp>B<, char * const *>I<tokens>B<, char "
2585 "**>I<valuep>B<);>"
2586 msgstr ""
2587
2588 #. type: Plain text
2589 #: build/C/man3/getsubopt.3:40
2590 msgid "B<getsubopt>():"
2591 msgstr ""
2592
2593 #. type: Plain text
2594 #: build/C/man3/getsubopt.3:45
2595 msgid "_XOPEN_SOURCE\\ E<gt>= 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
2596 msgstr ""
2597
2598 #. type: Plain text
2599 #: build/C/man3/getsubopt.3:47
2600 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
2601 msgstr ""
2602
2603 #. type: Plain text
2604 #: build/C/man3/getsubopt.3:64
2605 msgid ""
2606 "B<getsubopt>()  parses the list of comma-separated suboptions provided in "
2607 "I<optionp>.  (Such a suboption list is typically produced when B<getopt>(3)  "
2608 "is used to parse a command line; see for example the I<-o> option of "
2609 "B<mount>(8).)  Each suboption may include an associated value, which is "
2610 "separated from the suboption name by an equal sign.  The following is an "
2611 "example of the kind of string that might be passed in I<optionp>:"
2612 msgstr ""
2613
2614 #. type: Plain text
2615 #: build/C/man3/getsubopt.3:67
2616 msgid "B<ro,name=xyz>"
2617 msgstr ""
2618
2619 #. type: Plain text
2620 #: build/C/man3/getsubopt.3:77
2621 msgid ""
2622 "The I<tokens> argument is a pointer to a NULL-terminated array of pointers "
2623 "to the tokens that B<getsubopt>()  will look for in I<optionp>.  The tokens "
2624 "should be distinct, null-terminated strings containing at least one "
2625 "character, with no embedded equal signs or commas."
2626 msgstr ""
2627
2628 #. type: Plain text
2629 #: build/C/man3/getsubopt.3:98
2630 msgid ""
2631 "Each call to B<getsubopt>()  returns information about the next unprocessed "
2632 "suboption in I<optionp>.  The first equal sign in a suboption (if any) is "
2633 "interpreted as a separator between the name and the value of that "
2634 "suboption.  The value extends to the next comma, or (for the last suboption) "
2635 "to the end of the string.  If the name of the suboption matches a known name "
2636 "from I<tokens>, and a value string was found, B<getsubopt>()  sets "
2637 "I<*valuep> to the address of that string.  The first comma in I<optionp> is "
2638 "overwritten with a null byte, so I<*valuep> is precisely the \"value "
2639 "string\" for that suboption."
2640 msgstr ""
2641
2642 #. type: Plain text
2643 #: build/C/man3/getsubopt.3:102
2644 msgid ""
2645 "If the suboption is recognized, but no value string was found, I<*valuep> is "
2646 "set to NULL."
2647 msgstr ""
2648
2649 #. type: Plain text
2650 #: build/C/man3/getsubopt.3:110
2651 msgid ""
2652 "When B<getsubopt>()  returns, I<optionp> points to the next suboption, or to "
2653 "the null byte (\\(aq\\e0\\(aq) at the end of the string if the last "
2654 "suboption was just processed."
2655 msgstr ""
2656
2657 #. type: Plain text
2658 #: build/C/man3/getsubopt.3:122
2659 msgid ""
2660 "If the first suboption in I<optionp> is recognized, B<getsubopt>()  returns "
2661 "the index of the matching suboption element in I<tokens>.  Otherwise, -1 is "
2662 "returned and I<*valuep> is the entire I<name>B<[=>I<value>B<]> string."
2663 msgstr ""
2664
2665 #. type: Plain text
2666 #: build/C/man3/getsubopt.3:129
2667 msgid ""
2668 "Since I<*optionp> is changed, the first suboption before the call to "
2669 "B<getsubopt>()  is not (necessarily) the same as the first suboption after "
2670 "B<getsubopt>()."
2671 msgstr ""
2672
2673 #. type: Plain text
2674 #: build/C/man3/getsubopt.3:134
2675 msgid "The B<getsubopt>()  function is thread-safe."
2676 msgstr ""
2677
2678 #. type: Plain text
2679 #: build/C/man3/getsubopt.3:143
2680 msgid ""
2681 "Since B<getsubopt>()  overwrites any commas it finds in the string "
2682 "I<*optionp>, that string must be writable; it cannot be a string constant."
2683 msgstr ""
2684
2685 #. type: Plain text
2686 #: build/C/man3/getsubopt.3:145
2687 msgid "The following program expects suboptions following a \"-o\" option."
2688 msgstr ""
2689
2690 #. type: Plain text
2691 #: build/C/man3/getsubopt.3:151
2692 #, no-wrap
2693 msgid ""
2694 "#define _XOPEN_SOURCE 500\n"
2695 "#include E<lt>stdlib.hE<gt>\n"
2696 "#include E<lt>assert.hE<gt>\n"
2697 "#include E<lt>stdio.hE<gt>\n"
2698 msgstr ""
2699
2700 #. type: Plain text
2701 #: build/C/man3/getsubopt.3:169
2702 #, no-wrap
2703 msgid ""
2704 "int\n"
2705 "main(int argc, char **argv)\n"
2706 "{\n"
2707 "    enum {\n"
2708 "        RO_OPT = 0,\n"
2709 "        RW_OPT,\n"
2710 "        NAME_OPT\n"
2711 "    };\n"
2712 "    char *const token[] = {\n"
2713 "        [RO_OPT]   = \"ro\",\n"
2714 "        [RW_OPT]   = \"rw\",\n"
2715 "        [NAME_OPT] = \"name\",\n"
2716 "        NULL\n"
2717 "    };\n"
2718 "    char *subopts;\n"
2719 "    char *value;\n"
2720 "    int opt;\n"
2721 msgstr ""
2722
2723 #. type: Plain text
2724 #: build/C/man3/getsubopt.3:174
2725 #, no-wrap
2726 msgid ""
2727 "    int readonly = 0;\n"
2728 "    int readwrite = 0;\n"
2729 "    char *name = NULL;\n"
2730 "    int errfnd = 0;\n"
2731 msgstr ""
2732
2733 #. type: Plain text
2734 #: build/C/man3/getsubopt.3:180
2735 #, no-wrap
2736 msgid ""
2737 "    while ((opt = getopt(argc, argv, \"o:\")) != -1) {\n"
2738 "        switch (opt) {\n"
2739 "        case \\(aqo\\(aq:\n"
2740 "            subopts = optarg;\n"
2741 "            while (*subopts != \\(aq\\e0\\(aq && !errfnd) {\n"
2742 msgstr ""
2743
2744 #. type: Plain text
2745 #: build/C/man3/getsubopt.3:185
2746 #, no-wrap
2747 msgid ""
2748 "            switch (getsubopt(&subopts, token, &value)) {\n"
2749 "            case RO_OPT:\n"
2750 "                readonly = 1;\n"
2751 "                break;\n"
2752 msgstr ""
2753
2754 #. type: Plain text
2755 #: build/C/man3/getsubopt.3:189
2756 #, no-wrap
2757 msgid ""
2758 "            case RW_OPT:\n"
2759 "                readwrite = 1;\n"
2760 "                break;\n"
2761 msgstr ""
2762
2763 #. type: Plain text
2764 #: build/C/man3/getsubopt.3:197
2765 #, no-wrap
2766 msgid ""
2767 "            case NAME_OPT:\n"
2768 "                if (value == NULL) {\n"
2769 "                    fprintf(stderr, \"Missing value for \"\n"
2770 "                            \"suboption \\(aq%s\\(aq\\en\", "
2771 "token[NAME_OPT]);\n"
2772 "                    errfnd = 1;\n"
2773 "                    continue;\n"
2774 "                }\n"
2775 msgstr ""
2776
2777 #. type: Plain text
2778 #: build/C/man3/getsubopt.3:200
2779 #, no-wrap
2780 msgid ""
2781 "                name = value;\n"
2782 "                break;\n"
2783 msgstr ""
2784
2785 #. type: Plain text
2786 #: build/C/man3/getsubopt.3:214
2787 #, no-wrap
2788 msgid ""
2789 "            default:\n"
2790 "                fprintf(stderr, \"No match found \"\n"
2791 "                        \"for token: /%s/\\en\", value);\n"
2792 "                errfnd = 1;\n"
2793 "                break;\n"
2794 "            }\n"
2795 "        }\n"
2796 "        if (readwrite && readonly) {\n"
2797 "            fprintf(stderr, \"Only one of \\(aq%s\\(aq and \\(aq%s\\(aq can "
2798 "be \"\n"
2799 "                    \"specified\\en\", token[RO_OPT], token[RW_OPT]);\n"
2800 "            errfnd = 1;\n"
2801 "        }\n"
2802 "        break;\n"
2803 msgstr ""
2804
2805 #. type: Plain text
2806 #: build/C/man3/getsubopt.3:219
2807 #, no-wrap
2808 msgid ""
2809 "        default:\n"
2810 "            errfnd = 1;\n"
2811 "        }\n"
2812 "    }\n"
2813 msgstr ""
2814
2815 #. type: Plain text
2816 #: build/C/man3/getsubopt.3:226
2817 #, no-wrap
2818 msgid ""
2819 "    if (errfnd || argc == 1) {\n"
2820 "        fprintf(stderr, \"\\enUsage: %s -o E<lt>suboptstringE<gt>\\en\", "
2821 "argv[0]);\n"
2822 "        fprintf(stderr, \"suboptions are \\(aqro\\(aq, \\(aqrw\\(aq, \"\n"
2823 "                \"and \\(aqname=E<lt>valueE<gt>\\(aq\\en\");\n"
2824 "        exit(EXIT_FAILURE);\n"
2825 "    }\n"
2826 msgstr ""
2827
2828 #. type: Plain text
2829 #: build/C/man3/getsubopt.3:228
2830 #, no-wrap
2831 msgid "    /* Remainder of program... */\n"
2832 msgstr ""
2833
2834 #. type: Plain text
2835 #: build/C/man3/getsubopt.3:233
2836 msgid "B<getopt>(3)"
2837 msgstr ""
2838
2839 #. type: TH
2840 #: build/C/man3/malloc.3:33
2841 #, no-wrap
2842 msgid "MALLOC"
2843 msgstr ""
2844
2845 #. type: TH
2846 #: build/C/man3/malloc.3:33
2847 #, no-wrap
2848 msgid "2014-05-21"
2849 msgstr ""
2850
2851 #. type: Plain text
2852 #: build/C/man3/malloc.3:36
2853 msgid "malloc, free, calloc, realloc - allocate and free dynamic memory"
2854 msgstr ""
2855
2856 #. type: Plain text
2857 #: build/C/man3/malloc.3:44
2858 #, no-wrap
2859 msgid ""
2860 "B<void *malloc(size_t >I<size>B<);>\n"
2861 "B<void free(void >I<*ptr>B<);>\n"
2862 "B<void *calloc(size_t >I<nmemb>B<, size_t >I<size>B<);>\n"
2863 "B<void *realloc(void >I<*ptr>B<, size_t >I<size>B<);>\n"
2864 msgstr ""
2865
2866 #.  glibc does this:
2867 #. type: Plain text
2868 #: build/C/man3/malloc.3:61
2869 msgid ""
2870 "The B<malloc>()  function allocates I<size> bytes and returns a pointer to "
2871 "the allocated memory.  I<The memory is not initialized>.  If I<size> is 0, "
2872 "then B<malloc>()  returns either NULL, or a unique pointer value that can "
2873 "later be successfully passed to B<free>()."
2874 msgstr ""
2875
2876 #. type: Plain text
2877 #: build/C/man3/malloc.3:77
2878 msgid ""
2879 "The B<free>()  function frees the memory space pointed to by I<ptr>, which "
2880 "must have been returned by a previous call to B<malloc>(), B<calloc>(), or "
2881 "B<realloc>().  Otherwise, or if I<free(ptr)> has already been called before, "
2882 "undefined behavior occurs.  If I<ptr> is NULL, no operation is performed."
2883 msgstr ""
2884
2885 #.  glibc does this:
2886 #. type: Plain text
2887 #: build/C/man3/malloc.3:96
2888 msgid ""
2889 "The B<calloc>()  function allocates memory for an array of I<nmemb> elements "
2890 "of I<size> bytes each and returns a pointer to the allocated memory.  The "
2891 "memory is set to zero.  If I<nmemb> or I<size> is 0, then B<calloc>()  "
2892 "returns either NULL, or a unique pointer value that can later be "
2893 "successfully passed to B<free>()."
2894 msgstr ""
2895
2896 #. type: Plain text
2897 #: build/C/man3/malloc.3:132
2898 msgid ""
2899 "The B<realloc>()  function changes the size of the memory block pointed to "
2900 "by I<ptr> to I<size> bytes.  The contents will be unchanged in the range "
2901 "from the start of the region up to the minimum of the old and new sizes.  If "
2902 "the new size is larger than the old size, the added memory will I<not> be "
2903 "initialized.  If I<ptr> is NULL, then the call is equivalent to "
2904 "I<malloc(size)>, for all values of I<size>; if I<size> is equal to zero, and "
2905 "I<ptr> is not NULL, then the call is equivalent to I<free(ptr)>.  Unless "
2906 "I<ptr> is NULL, it must have been returned by an earlier call to "
2907 "B<malloc>(), B<calloc>()  or B<realloc>().  If the area pointed to was "
2908 "moved, a I<free(ptr)> is done."
2909 msgstr ""
2910
2911 #. type: Plain text
2912 #: build/C/man3/malloc.3:152
2913 msgid ""
2914 "The B<malloc>()  and B<calloc>()  functions return a pointer to the "
2915 "allocated memory, which is suitably aligned for any built-in type.  On "
2916 "error, these functions return NULL.  NULL may also be returned by a "
2917 "successful call to B<malloc>()  with a I<size> of zero, or by a successful "
2918 "call to B<calloc>()  with I<nmemb> or I<size> equal to zero."
2919 msgstr ""
2920
2921 #. type: Plain text
2922 #: build/C/man3/malloc.3:156
2923 msgid "The B<free>()  function returns no value."
2924 msgstr ""
2925
2926 #. type: Plain text
2927 #: build/C/man3/malloc.3:171
2928 msgid ""
2929 "The B<realloc>()  function returns a pointer to the newly allocated memory, "
2930 "which is suitably aligned for any built-in type and may be different from "
2931 "I<ptr>, or NULL if the request fails.  If I<size> was equal to 0, either "
2932 "NULL or a pointer suitable to be passed to B<free>()  is returned.  If "
2933 "B<realloc>()  fails, the original block is left untouched; it is not freed "
2934 "or moved."
2935 msgstr ""
2936
2937 #. type: Plain text
2938 #: build/C/man3/malloc.3:173
2939 msgid "C89, C99."
2940 msgstr ""
2941
2942 #. type: Plain text
2943 #: build/C/man3/malloc.3:189
2944 msgid ""
2945 "By default, Linux follows an optimistic memory allocation strategy.  This "
2946 "means that when B<malloc>()  returns non-NULL there is no guarantee that the "
2947 "memory really is available.  In case it turns out that the system is out of "
2948 "memory, one or more processes will be killed by the OOM killer.  For more "
2949 "information, see the description of I</proc/sys/vm/overcommit_memory> and "
2950 "I</proc/sys/vm/oom_adj> in B<proc>(5), and the Linux kernel source file "
2951 "I<Documentation/vm/overcommit-accounting>."
2952 msgstr ""
2953
2954 #. type: Plain text
2955 #: build/C/man3/malloc.3:210
2956 msgid ""
2957 "Normally, B<malloc>()  allocates memory from the heap, and adjusts the size "
2958 "of the heap as required, using B<sbrk>(2).  When allocating blocks of memory "
2959 "larger than B<MMAP_THRESHOLD> bytes, the glibc B<malloc>()  implementation "
2960 "allocates the memory as a private anonymous mapping using B<mmap>(2).  "
2961 "B<MMAP_THRESHOLD> is 128 kB by default, but is adjustable using "
2962 "B<mallopt>(3).  Allocations performed using B<mmap>(2)  are unaffected by "
2963 "the B<RLIMIT_DATA> resource limit (see B<getrlimit>(2))."
2964 msgstr ""
2965
2966 #. type: Plain text
2967 #: build/C/man3/malloc.3:228
2968 msgid ""
2969 "To avoid corruption in multithreaded applications, mutexes are used "
2970 "internally to protect the memory-management data structures employed by "
2971 "these functions.  In a multithreaded application in which threads "
2972 "simultaneously allocate and free memory, there could be contention for these "
2973 "mutexes.  To scalably handle memory allocation in multithreaded "
2974 "applications, glibc creates additional I<memory allocation arenas> if mutex "
2975 "contention is detected.  Each arena is a large region of memory that is "
2976 "internally allocated by the system (using B<brk>(2)  or B<mmap>(2)), and "
2977 "managed with its own mutexes."
2978 msgstr ""
2979
2980 #. type: Plain text
2981 #: build/C/man3/malloc.3:246
2982 msgid ""
2983 "The UNIX 98 standard requires B<malloc>(), B<calloc>(), and B<realloc>()  to "
2984 "set I<errno> to B<ENOMEM> upon failure.  Glibc assumes that this is done "
2985 "(and the glibc versions of these routines do this); if you use a private "
2986 "malloc implementation that does not set I<errno>, then certain library "
2987 "routines may fail without having a reason in I<errno>."
2988 msgstr ""
2989
2990 #. type: Plain text
2991 #: build/C/man3/malloc.3:255
2992 msgid ""
2993 "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>()  are almost "
2994 "always related to heap corruption, such as overflowing an allocated chunk or "
2995 "freeing the same pointer twice."
2996 msgstr ""
2997
2998 #. type: Plain text
2999 #: build/C/man3/malloc.3:261
3000 msgid ""
3001 "The B<malloc>()  implementation is tunable via environment variables; see "
3002 "B<mallopt>(3)  for details."
3003 msgstr ""
3004
3005 #. type: Plain text
3006 #: build/C/man3/malloc.3:284
3007 msgid ""
3008 "B<brk>(2), B<mmap>(2), B<alloca>(3), B<malloc_get_state>(3), "
3009 "B<malloc_info>(3), B<malloc_trim>(3), B<malloc_usable_size>(3), "
3010 "B<mallopt>(3), B<mcheck>(3), B<mtrace>(3), B<posix_memalign>(3)"
3011 msgstr ""
3012
3013 #. type: TH
3014 #: build/C/man3/mblen.3:16
3015 #, no-wrap
3016 msgid "MBLEN"
3017 msgstr ""
3018
3019 #. type: TH
3020 #: build/C/man3/mblen.3:16
3021 #, no-wrap
3022 msgid "2013-06-21"
3023 msgstr ""
3024
3025 #. type: Plain text
3026 #: build/C/man3/mblen.3:19
3027 msgid "mblen - determine number of bytes in next multibyte character"
3028 msgstr ""
3029
3030 #. type: Plain text
3031 #: build/C/man3/mblen.3:24
3032 #, no-wrap
3033 msgid "B<int mblen(const char *>I<s>B<, size_t >I<n>B<);>\n"
3034 msgstr ""
3035
3036 #. type: Plain text
3037 #: build/C/man3/mblen.3:43
3038 msgid ""
3039 "If I<s> is not NULL, the B<mblen>()  function inspects at most I<n> bytes of "
3040 "the multibyte string starting at I<s> and extracts the next complete "
3041 "multibyte character.  It uses a static anonymous shift state known only to "
3042 "the B<mblen>()  function.  If the multibyte character is not the null wide "
3043 "character, it returns the number of bytes that were consumed from I<s>.  If "
3044 "the multibyte character is the null wide character, it returns 0."
3045 msgstr ""
3046
3047 #. type: Plain text
3048 #: build/C/man3/mblen.3:57
3049 msgid ""
3050 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3051 "character, B<mblen>()  returns -1.  This can happen even if I<n> is greater "
3052 "than or equal to I<MB_CUR_MAX>, if the multibyte string contains redundant "
3053 "shift sequences."
3054 msgstr ""
3055
3056 #. type: Plain text
3057 #: build/C/man3/mblen.3:64
3058 msgid ""
3059 "If the multibyte string starting at I<s> contains an invalid multibyte "
3060 "sequence before the next complete character, B<mblen>()  also returns -1."
3061 msgstr ""
3062
3063 #.  The Dinkumware doc and the Single UNIX specification say this, but
3064 #.  glibc doesn't implement this.
3065 #. type: Plain text
3066 #: build/C/man3/mblen.3:75
3067 msgid ""
3068 "If I<s> is NULL, the B<mblen>()  function resets the shift state, known to "
3069 "only this function, to the initial state, and returns nonzero if the "
3070 "encoding has nontrivial shift state, or zero if the encoding is stateless."
3071 msgstr ""
3072
3073 #. type: Plain text
3074 #: build/C/man3/mblen.3:87
3075 msgid ""
3076 "The B<mblen>()  function returns the number of bytes parsed from the "
3077 "multibyte sequence starting at I<s>, if a non-null wide character was "
3078 "recognized.  It returns 0, if a null wide character was recognized.  It "
3079 "returns -1, if an invalid multibyte sequence was encountered or if it "
3080 "couldn't parse a complete multibyte character."
3081 msgstr ""
3082
3083 #. type: Plain text
3084 #: build/C/man3/mblen.3:92
3085 msgid "The B<mblen>()  function is not thread-safe."
3086 msgstr ""
3087
3088 #. type: Plain text
3089 #: build/C/man3/mblen.3:94 build/C/man3/mbstowcs.3:96 build/C/man3/mbtowc.3:115 build/C/man3/wcstombs.3:91 build/C/man3/wctomb.3:91
3090 msgid "C99."
3091 msgstr ""
3092
3093 #. type: Plain text
3094 #: build/C/man3/mblen.3:101
3095 msgid ""
3096 "The behavior of B<mblen>()  depends on the B<LC_CTYPE> category of the "
3097 "current locale."
3098 msgstr ""
3099
3100 #. type: Plain text
3101 #: build/C/man3/mblen.3:106
3102 msgid ""
3103 "The function B<mbrlen>(3)  provides a better interface to the same "
3104 "functionality."
3105 msgstr ""
3106
3107 #. type: Plain text
3108 #: build/C/man3/mblen.3:107
3109 msgid "B<mbrlen>(3)"
3110 msgstr ""
3111
3112 #. type: TH
3113 #: build/C/man3/mbstowcs.3:18
3114 #, no-wrap
3115 msgid "MBSTOWCS"
3116 msgstr ""
3117
3118 #. type: TH
3119 #: build/C/man3/mbstowcs.3:18 build/C/man3/mbtowc.3:16 build/C/man3/strtol.3:31 build/C/man3/strtoul.3:33 build/C/man3/wcstombs.3:16 build/C/man3/wctomb.3:16
3120 #, no-wrap
3121 msgid "2014-03-18"
3122 msgstr ""
3123
3124 #. type: Plain text
3125 #: build/C/man3/mbstowcs.3:21
3126 msgid "mbstowcs - convert a multibyte string to a wide-character string"
3127 msgstr ""
3128
3129 #. type: Plain text
3130 #: build/C/man3/mbstowcs.3:26
3131 #, no-wrap
3132 msgid ""
3133 "B<size_t mbstowcs(wchar_t *>I<dest>B<, const char *>I<src>B<, size_t "
3134 ">I<n>B<);>\n"
3135 msgstr ""
3136
3137 #. type: Plain text
3138 #: build/C/man3/mbstowcs.3:45
3139 msgid ""
3140 "If I<dest> is not NULL, the B<mbstowcs>()  function converts the multibyte "
3141 "string I<src> to a wide-character string starting at I<dest>.  At most I<n> "
3142 "wide characters are written to I<dest>.  The conversion starts in the "
3143 "initial state.  The conversion can stop for three reasons:"
3144 msgstr ""
3145
3146 #. type: IP
3147 #: build/C/man3/mbstowcs.3:45
3148 #, no-wrap
3149 msgid "1."
3150 msgstr ""
3151
3152 #. type: Plain text
3153 #: build/C/man3/mbstowcs.3:50
3154 msgid ""
3155 "An invalid multibyte sequence has been encountered.  In this case, "
3156 "I<(size_t)\\ -1> is returned."
3157 msgstr ""
3158
3159 #. type: IP
3160 #: build/C/man3/mbstowcs.3:50
3161 #, no-wrap
3162 msgid "2."
3163 msgstr ""
3164
3165 #. type: Plain text
3166 #: build/C/man3/mbstowcs.3:58
3167 msgid ""
3168 "I<n> non-L\\(aq\\e0\\(aq wide characters have been stored at I<dest>.  In "
3169 "this case, the number of wide characters written to I<dest> is returned, but "
3170 "the shift state at this point is lost."
3171 msgstr ""
3172
3173 #. type: IP
3174 #: build/C/man3/mbstowcs.3:58
3175 #, no-wrap
3176 msgid "3."
3177 msgstr ""
3178
3179 #. type: Plain text
3180 #: build/C/man3/mbstowcs.3:64
3181 msgid ""
3182 "The multibyte string has been completely converted, including the "
3183 "terminating null wide character (\\(aq\\e0\\(aq).  In this case, the number "
3184 "of wide characters written to I<dest>, excluding the terminating null wide "
3185 "character, is returned."
3186 msgstr ""
3187
3188 #. type: Plain text
3189 #: build/C/man3/mbstowcs.3:70
3190 msgid ""
3191 "The programmer must ensure that there is room for at least I<n> wide "
3192 "characters at I<dest>."
3193 msgstr ""
3194
3195 #. type: Plain text
3196 #: build/C/man3/mbstowcs.3:78
3197 msgid ""
3198 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
3199 "except that the converted wide characters are not written out to memory, and "
3200 "that no length limit exists."
3201 msgstr ""
3202
3203 #. type: Plain text
3204 #: build/C/man3/mbstowcs.3:84
3205 msgid ""
3206 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
3207 "greater than or equal to I<mbstowcs(NULL,src,0)+1>."
3208 msgstr ""
3209
3210 #. type: Plain text
3211 #: build/C/man3/mbstowcs.3:94
3212 msgid ""
3213 "The B<mbstowcs>()  function returns the number of wide characters that make "
3214 "up the converted part of the wide-character string, not including the "
3215 "terminating null wide character.  If an invalid multibyte sequence was "
3216 "encountered, I<(size_t)\\ -1> is returned."
3217 msgstr ""
3218
3219 #. type: Plain text
3220 #: build/C/man3/mbstowcs.3:103
3221 msgid ""
3222 "The behavior of B<mbstowcs>()  depends on the B<LC_CTYPE> category of the "
3223 "current locale."
3224 msgstr ""
3225
3226 #. type: Plain text
3227 #: build/C/man3/mbstowcs.3:108
3228 msgid ""
3229 "The function B<mbsrtowcs>(3)  provides a better interface to the same "
3230 "functionality."
3231 msgstr ""
3232
3233 #. type: Plain text
3234 #: build/C/man3/mbstowcs.3:113
3235 msgid ""
3236 "The program below illustrates the use of B<mbstowcs>(), as well as some of "
3237 "the wide character classification functions.  An example run is the "
3238 "following:"
3239 msgstr ""
3240
3241 #. type: Plain text
3242 #: build/C/man3/mbstowcs.3:120
3243 #, no-wrap
3244 msgid ""
3245 "$ ./t_mbstowcs de_DE.UTF-8 Grüße!\n"
3246 "Length of source string (excluding terminator):\n"
3247 "    8 bytes\n"
3248 "    6 multibyte characters\n"
3249 msgstr ""
3250
3251 #. type: Plain text
3252 #: build/C/man3/mbstowcs.3:128
3253 #, no-wrap
3254 msgid ""
3255 "Wide character string is: Grüße! (6 characters)\n"
3256 "    G alpha upper\n"
3257 "    r alpha lower\n"
3258 "    Ã¼ alpha lower\n"
3259 "    ÃŸ alpha lower\n"
3260 "    e alpha lower\n"
3261 "    ! !alpha\n"
3262 msgstr ""
3263
3264 #. type: SS
3265 #: build/C/man3/mbstowcs.3:130 build/C/man3/strtol.3:248
3266 #, no-wrap
3267 msgid "Program source"
3268 msgstr ""
3269
3270 #. type: Plain text
3271 #: build/C/man3/mbstowcs.3:137
3272 #, no-wrap
3273 msgid ""
3274 "#include E<lt>locale.hE<gt>\n"
3275 "#include E<lt>wchar.hE<gt>\n"
3276 "#include E<lt>stdio.hE<gt>\n"
3277 "#include E<lt>string.hE<gt>\n"
3278 "#include E<lt>stdlib.hE<gt>\n"
3279 msgstr ""
3280
3281 #. type: Plain text
3282 #: build/C/man3/mbstowcs.3:144
3283 #, no-wrap
3284 msgid ""
3285 "int\n"
3286 "main(int argc, char *argv[])\n"
3287 "{\n"
3288 "    size_t mbslen;      /* Number of multibyte characters in source */\n"
3289 "    wchar_t *wcs;       /* Pointer to converted wide character string */\n"
3290 "    wchar_t *wp;\n"
3291 msgstr ""
3292
3293 #. type: Plain text
3294 #: build/C/man3/mbstowcs.3:149
3295 #, no-wrap
3296 msgid ""
3297 "    if (argc E<lt> 3) {\n"
3298 "        fprintf(stderr, \"Usage: %s E<lt>localeE<gt> E<lt>stringE<gt>\\en\", "
3299 "argv[0]);\n"
3300 "        exit(EXIT_FAILURE);\n"
3301 "    }\n"
3302 msgstr ""
3303
3304 #. type: Plain text
3305 #: build/C/man3/mbstowcs.3:151
3306 #, no-wrap
3307 msgid "    /* Apply the specified locale */\n"
3308 msgstr ""
3309
3310 #. type: Plain text
3311 #: build/C/man3/mbstowcs.3:156
3312 #, no-wrap
3313 msgid ""
3314 "    if (setlocale(LC_ALL, argv[1]) == NULL) {\n"
3315 "        perror(\"setlocale\");\n"
3316 "        exit(EXIT_FAILURE);\n"
3317 "    }\n"
3318 msgstr ""
3319
3320 #. type: Plain text
3321 #: build/C/man3/mbstowcs.3:159
3322 #, no-wrap
3323 msgid ""
3324 "    /* Calculate the length required to hold argv[2] converted to\n"
3325 "       a wide character string */\n"
3326 msgstr ""
3327
3328 #. type: Plain text
3329 #: build/C/man3/mbstowcs.3:165
3330 #, no-wrap
3331 msgid ""
3332 "    mbslen = mbstowcs(NULL, argv[2], 0);\n"
3333 "    if (mbslen == (size_t) -1) {\n"
3334 "        perror(\"mbstowcs\");\n"
3335 "        exit(EXIT_FAILURE);\n"
3336 "    }\n"
3337 msgstr ""
3338
3339 #. type: Plain text
3340 #: build/C/man3/mbstowcs.3:167
3341 #, no-wrap
3342 msgid "    /* Describe the source string to the user */\n"
3343 msgstr ""
3344
3345 #. type: Plain text
3346 #: build/C/man3/mbstowcs.3:171
3347 #, no-wrap
3348 msgid ""
3349 "    printf(\"Length of source string (excluding terminator):\\en\");\n"
3350 "    printf(\"    %zu bytes\\en\", strlen(argv[2]));\n"
3351 "    printf(\"    %zu multibyte characters\\en\\en\", mbslen);\n"
3352 msgstr ""
3353
3354 #. type: Plain text
3355 #: build/C/man3/mbstowcs.3:174
3356 #, no-wrap
3357 msgid ""
3358 "    /* Allocate wide character string of the desired size.  Add 1\n"
3359 "       to allow for terminating null wide character (L\\(aq\\e0\\(aq). */\n"
3360 msgstr ""
3361
3362 #. type: Plain text
3363 #: build/C/man3/mbstowcs.3:180
3364 #, no-wrap
3365 msgid ""
3366 "    wcs = calloc(mbslen + 1, sizeof(wchar_t));\n"
3367 "    if (wcs == NULL) {\n"
3368 "        perror(\"calloc\");\n"
3369 "        exit(EXIT_FAILURE);\n"
3370 "    }\n"
3371 msgstr ""
3372
3373 #. type: Plain text
3374 #: build/C/man3/mbstowcs.3:183
3375 #, no-wrap
3376 msgid ""
3377 "    /* Convert the multibyte character string in argv[2] to a\n"
3378 "       wide character string */\n"
3379 msgstr ""
3380
3381 #. type: Plain text
3382 #: build/C/man3/mbstowcs.3:188
3383 #, no-wrap
3384 msgid ""
3385 "    if (mbstowcs(wcs, argv[2], mbslen + 1) == (size_t) -1) {\n"
3386 "        perror(\"mbstowcs\");\n"
3387 "        exit(EXIT_FAILURE);\n"
3388 "    }\n"
3389 msgstr ""
3390
3391 #. type: Plain text
3392 #: build/C/man3/mbstowcs.3:191
3393 #, no-wrap
3394 msgid ""
3395 "    printf(\"Wide character string is: %ls (%zu characters)\\en\",\n"
3396 "            wcs, mbslen);\n"
3397 msgstr ""
3398
3399 #. type: Plain text
3400 #: build/C/man3/mbstowcs.3:194
3401 #, no-wrap
3402 msgid ""
3403 "    /* Now do some inspection of the classes of the characters in\n"
3404 "       the wide character string */\n"
3405 msgstr ""
3406
3407 #. type: Plain text
3408 #: build/C/man3/mbstowcs.3:197
3409 #, no-wrap
3410 msgid ""
3411 "    for (wp = wcs; *wp != 0; wp++) {\n"
3412 "        printf(\"    %lc \", (wint_t) *wp);\n"
3413 msgstr ""
3414
3415 #. type: Plain text
3416 #: build/C/man3/mbstowcs.3:201
3417 #, no-wrap
3418 msgid ""
3419 "        if (!iswalpha(*wp))\n"
3420 "            printf(\"!\");\n"
3421 "        printf(\"alpha \");\n"
3422 msgstr ""
3423
3424 #. type: Plain text
3425 #: build/C/man3/mbstowcs.3:205
3426 #, no-wrap
3427 msgid ""
3428 "        if (iswalpha(*wp)) {\n"
3429 "            if (iswupper(*wp))\n"
3430 "                printf(\"upper \");\n"
3431 msgstr ""
3432
3433 #. type: Plain text
3434 #: build/C/man3/mbstowcs.3:209
3435 #, no-wrap
3436 msgid ""
3437 "            if (iswlower(*wp))\n"
3438 "                printf(\"lower \");\n"
3439 "        }\n"
3440 msgstr ""
3441
3442 #. type: Plain text
3443 #: build/C/man3/mbstowcs.3:212
3444 #, no-wrap
3445 msgid ""
3446 "        putchar(\\(aq\\en\\(aq);\n"
3447 "    }\n"
3448 msgstr ""
3449
3450 #. type: Plain text
3451 #: build/C/man3/mbstowcs.3:221
3452 msgid "B<mblen>(3), B<mbsrtowcs>(3), B<mbtowc>(3), B<wctomb>(3), B<wcstombs>(3)"
3453 msgstr ""
3454
3455 #. type: TH
3456 #: build/C/man3/mbtowc.3:16
3457 #, no-wrap
3458 msgid "MBTOWC"
3459 msgstr ""
3460
3461 #. type: Plain text
3462 #: build/C/man3/mbtowc.3:19
3463 msgid "mbtowc - convert a multibyte sequence to a wide character"
3464 msgstr ""
3465
3466 #. type: Plain text
3467 #: build/C/man3/mbtowc.3:24
3468 #, no-wrap
3469 msgid "B<int mbtowc(wchar_t *>I<pwc>B<, const char *>I<s>B<, size_t >I<n>B<);>\n"
3470 msgstr ""
3471
3472 #. type: Plain text
3473 #: build/C/man3/mbtowc.3:50
3474 msgid ""
3475 "The main case for this function is when I<s> is not NULL and I<pwc> is not "
3476 "NULL.  In this case, the B<mbtowc>()  function inspects at most I<n> bytes "
3477 "of the multibyte string starting at I<s>, extracts the next complete "
3478 "multibyte character, converts it to a wide character and stores it at "
3479 "I<*pwc>.  It updates an internal shift state known only to the B<mbtowc>()  "
3480 "function.  If I<s> does not point to a null byte (\\(aq\\e0\\(aq), it "
3481 "returns the number of bytes that were consumed from I<s>, otherwise it "
3482 "returns 0."
3483 msgstr ""
3484
3485 #. type: Plain text
3486 #: build/C/man3/mbtowc.3:64
3487 msgid ""
3488 "If the I<n> bytes starting at I<s> do not contain a complete multibyte "
3489 "character, or if they contain an invalid multibyte sequence, B<mbtowc>()  "
3490 "returns -1.  This can happen even if I<n> E<gt>= I<MB_CUR_MAX>, if the "
3491 "multibyte string contains redundant shift sequences."
3492 msgstr ""
3493
3494 #. type: Plain text
3495 #: build/C/man3/mbtowc.3:74
3496 msgid ""
3497 "A different case is when I<s> is not NULL but I<pwc> is NULL.  In this case, "
3498 "the B<mbtowc>()  function behaves as above, except that it does not store "
3499 "the converted wide character in memory."
3500 msgstr ""
3501
3502 #.  The Dinkumware doc and the Single UNIX specification say this, but
3503 #.  glibc doesn't implement this.
3504 #. type: Plain text
3505 #: build/C/man3/mbtowc.3:93
3506 msgid ""
3507 "A third case is when I<s> is NULL.  In this case, I<pwc> and I<n> are "
3508 "ignored.  The B<mbtowc>()  function resets the shift state, only known to "
3509 "this function, to the initial state, and returns nonzero if the encoding has "
3510 "nontrivial shift state, or zero if the encoding is stateless."
3511 msgstr ""
3512
3513 #. type: Plain text
3514 #: build/C/man3/mbtowc.3:105
3515 msgid ""
3516 "If I<s> is not NULL, the B<mbtowc>()  function returns the number of "
3517 "consumed bytes starting at I<s>, or 0 if I<s> points to a null byte, or -1 "
3518 "upon failure."
3519 msgstr ""
3520
3521 #. type: Plain text
3522 #: build/C/man3/mbtowc.3:113
3523 msgid ""
3524 "If I<s> is NULL, the B<mbtowc>()  function returns nonzero if the encoding "
3525 "has nontrivial shift state, or zero if the encoding is stateless."
3526 msgstr ""
3527
3528 #. type: Plain text
3529 #: build/C/man3/mbtowc.3:122
3530 msgid ""
3531 "The behavior of B<mbtowc>()  depends on the B<LC_CTYPE> category of the "
3532 "current locale."
3533 msgstr ""
3534
3535 #. type: Plain text
3536 #: build/C/man3/mbtowc.3:128
3537 msgid ""
3538 "This function is not multithread safe.  The function B<mbrtowc>(3)  provides "
3539 "a better interface to the same functionality."
3540 msgstr ""
3541
3542 #. type: Plain text
3543 #: build/C/man3/mbtowc.3:134
3544 msgid ""
3545 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbrtowc>(3), B<mbstowcs>(3), B<wctomb>(3), "
3546 "B<wcstombs>(3)"
3547 msgstr ""
3548
3549 #. type: TH
3550 #: build/C/man3/mkdtemp.3:26
3551 #, no-wrap
3552 msgid "MKDTEMP"
3553 msgstr ""
3554
3555 #. type: TH
3556 #: build/C/man3/mkdtemp.3:26 build/C/man3/system.3:31
3557 #, no-wrap
3558 msgid "2014-06-13"
3559 msgstr ""
3560
3561 #. type: Plain text
3562 #: build/C/man3/mkdtemp.3:29
3563 msgid "mkdtemp - create a unique temporary directory"
3564 msgstr ""
3565
3566 #. type: Plain text
3567 #: build/C/man3/mkdtemp.3:34
3568 #, no-wrap
3569 msgid "B<char *mkdtemp(char *>I<template>B<);>\n"
3570 msgstr ""
3571
3572 #. type: Plain text
3573 #: build/C/man3/mkdtemp.3:42
3574 msgid "B<mkdtemp>():"
3575 msgstr ""
3576
3577 #. type: Plain text
3578 #: build/C/man3/mkdtemp.3:47
3579 msgid "_BSD_SOURCE"
3580 msgstr ""
3581
3582 #. type: Plain text
3583 #: build/C/man3/mkdtemp.3:49
3584 msgid "|| /* Since glibc 2.10: */"
3585 msgstr ""
3586
3587 #. type: Plain text
3588 #: build/C/man3/mkdtemp.3:51
3589 msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
3590 msgstr ""
3591
3592 #. type: Plain text
3593 #: build/C/man3/mkdtemp.3:68
3594 msgid ""
3595 "The B<mkdtemp>()  function generates a uniquely named temporary directory "
3596 "from I<template>.  The last six characters of I<template> must be XXXXXX and "
3597 "these are replaced with a string that makes the directory name unique.  The "
3598 "directory is then created with permissions 0700.  Since it will be modified, "
3599 "I<template> must not be a string constant, but should be declared as a "
3600 "character array."
3601 msgstr ""
3602
3603 #. type: Plain text
3604 #: build/C/man3/mkdtemp.3:75
3605 msgid ""
3606 "The B<mkdtemp>()  function returns a pointer to the modified template string "
3607 "on success, and NULL on failure, in which case I<errno> is set "
3608 "appropriately."
3609 msgstr ""
3610
3611 #. type: TP
3612 #: build/C/man3/mkdtemp.3:76 build/C/man3/mkstemp.3:166 build/C/man3/mktemp.3:92 build/C/man3/random.3:141 build/C/man3/random.3:148 build/C/man3/random_r.3:106 build/C/man3/random_r.3:110 build/C/man3/random_r.3:119 build/C/man3/setenv.3:120 build/C/man3/strtol.3:145 build/C/man3/strtoul.3:149
3613 #, no-wrap
3614 msgid "B<EINVAL>"
3615 msgstr ""
3616
3617 #. type: Plain text
3618 #: build/C/man3/mkdtemp.3:80
3619 msgid ""
3620 "The last six characters of I<template> were not XXXXXX.  Now I<template> is "
3621 "unchanged."
3622 msgstr ""
3623
3624 #. type: Plain text
3625 #: build/C/man3/mkdtemp.3:84
3626 msgid "Also see B<mkdir>(2)  for other possible values for I<errno>."
3627 msgstr ""
3628
3629 #. type: Plain text
3630 #: build/C/man3/mkdtemp.3:86
3631 msgid "Available since glibc 2.1.91."
3632 msgstr ""
3633
3634 #. type: Plain text
3635 #: build/C/man3/mkdtemp.3:91
3636 msgid "The B<mkdtemp>()  function is thread-safe."
3637 msgstr ""
3638
3639 #.  As at 2006, this function is being considered for a revision of POSIX.1
3640 #.  Also in NetBSD 1.4.
3641 #. type: Plain text
3642 #: build/C/man3/mkdtemp.3:96
3643 msgid "POSIX.1-2008.  This function is present on the BSDs."
3644 msgstr ""
3645
3646 #. type: Plain text
3647 #: build/C/man3/mkdtemp.3:102
3648 msgid ""
3649 "B<mkdir>(2), B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), "
3650 "B<tmpnam>(3)"
3651 msgstr ""
3652
3653 #. type: TH
3654 #: build/C/man3/mkstemp.3:35
3655 #, no-wrap
3656 msgid "MKSTEMP"
3657 msgstr ""
3658
3659 #. type: Plain text
3660 #: build/C/man3/mkstemp.3:38
3661 msgid "mkstemp, mkostemp, mkstemps, mkostemps - create a unique temporary file"
3662 msgstr ""
3663
3664 #. type: Plain text
3665 #: build/C/man3/mkstemp.3:43
3666 #, no-wrap
3667 msgid "B<int mkstemp(char *>I<template>B<);>\n"
3668 msgstr ""
3669
3670 #. type: Plain text
3671 #: build/C/man3/mkstemp.3:45
3672 #, no-wrap
3673 msgid "B<int mkostemp(char *>I<template>B<, int >I<flags>B<);>\n"
3674 msgstr ""
3675
3676 #. type: Plain text
3677 #: build/C/man3/mkstemp.3:47
3678 #, no-wrap
3679 msgid "B<int mkstemps(char *>I<template>B<, int >I<suffixlen>B<);>\n"
3680 msgstr ""
3681
3682 #. type: Plain text
3683 #: build/C/man3/mkstemp.3:49
3684 #, no-wrap
3685 msgid ""
3686 "B<int mkostemps(char *>I<template>B<, int >I<suffixlen>B<, int "
3687 ">I<flags>B<);>\n"
3688 msgstr ""
3689
3690 #. type: Plain text
3691 #: build/C/man3/mkstemp.3:57
3692 msgid "B<mkstemp>():"
3693 msgstr ""
3694
3695 #. type: Plain text
3696 #: build/C/man3/mkstemp.3:62 build/C/man3/mktemp.3:63
3697 msgid ""
3698 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
3699 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
3700 msgstr ""
3701
3702 #. type: Plain text
3703 #: build/C/man3/mkstemp.3:64
3704 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
3705 msgstr ""
3706
3707 #. type: Plain text
3708 #: build/C/man3/mkstemp.3:70
3709 msgid "B<mkostemp>(): _GNU_SOURCE"
3710 msgstr ""
3711
3712 #. type: Plain text
3713 #: build/C/man3/mkstemp.3:73
3714 msgid "B<mkstemps>(): _BSD_SOURCE || _SVID_SOURCE"
3715 msgstr ""
3716
3717 #. type: Plain text
3718 #: build/C/man3/mkstemp.3:76
3719 msgid "B<mkostemps>(): _GNU_SOURCE"
3720 msgstr ""
3721
3722 #. type: Plain text
3723 #: build/C/man3/mkstemp.3:83
3724 msgid ""
3725 "The B<mkstemp>()  function generates a unique temporary filename from "
3726 "I<template>, creates and opens the file, and returns an open file descriptor "
3727 "for the file."
3728 msgstr ""
3729
3730 #. type: Plain text
3731 #: build/C/man3/mkstemp.3:91
3732 msgid ""
3733 "The last six characters of I<template> must be \"XXXXXX\" and these are "
3734 "replaced with a string that makes the filename unique.  Since it will be "
3735 "modified, I<template> must not be a string constant, but should be declared "
3736 "as a character array."
3737 msgstr ""
3738
3739 #. type: Plain text
3740 #: build/C/man3/mkstemp.3:99
3741 msgid ""
3742 "The file is created with permissions 0600, that is, read plus write for "
3743 "owner only.  The returned file descriptor provides both read and write "
3744 "access to the file.  The file is opened with the B<open>(2)  B<O_EXCL> flag, "
3745 "guaranteeing that the caller is the process that creates the file."
3746 msgstr ""
3747
3748 #.  Reportedly, FreeBSD
3749 #. type: Plain text
3750 #: build/C/man3/mkstemp.3:130
3751 msgid ""
3752 "The B<mkostemp>()  function is like B<mkstemp>(), with the difference that "
3753 "the following bits\\(emwith the same meaning as for B<open>(2)\\(emmay be "
3754 "specified in I<flags>: B<O_APPEND>, B<O_CLOEXEC>, and B<O_SYNC>.  Note that "
3755 "when creating the file, B<mkostemp>()  includes the values B<O_RDWR>, "
3756 "B<O_CREAT>, and B<O_EXCL> in the I<flags> argument given to B<open>(2); "
3757 "including these values in the I<flags> argument given to B<mkostemp>()  is "
3758 "unnecessary, and produces errors on some systems."
3759 msgstr ""
3760
3761 #. type: Plain text
3762 #: build/C/man3/mkstemp.3:146
3763 msgid ""
3764 "The B<mkstemps>()  function is like B<mkstemp>(), except that the string in "
3765 "I<template> contains a suffix of I<suffixlen> characters.  Thus, I<template> "
3766 "is of the form I<prefixXXXXXXsuffix>, and the string XXXXXX is modified as "
3767 "for B<mkstemp>()."
3768 msgstr ""
3769
3770 #. type: Plain text
3771 #: build/C/man3/mkstemp.3:155
3772 msgid ""
3773 "The B<mkostemps>()  function is to B<mkstemps>()  as B<mkostemp>()  is to "
3774 "B<mkstemp>()."
3775 msgstr ""
3776
3777 #. type: Plain text
3778 #: build/C/man3/mkstemp.3:161
3779 msgid ""
3780 "On success, these functions return the file descriptor of the temporary "
3781 "file.  On error, -1 is returned, and I<errno> is set appropriately."
3782 msgstr ""
3783
3784 #. type: TP
3785 #: build/C/man3/mkstemp.3:162
3786 #, no-wrap
3787 msgid "B<EEXIST>"
3788 msgstr ""
3789
3790 #. type: Plain text
3791 #: build/C/man3/mkstemp.3:166
3792 msgid ""
3793 "Could not create a unique temporary filename.  Now the contents of "
3794 "I<template> are undefined."
3795 msgstr ""
3796
3797 #. type: Plain text
3798 #: build/C/man3/mkstemp.3:174
3799 msgid ""
3800 "For B<mkstemp>()  and B<mkostemp>(): The last six characters of I<template> "
3801 "were not XXXXXX; now I<template> is unchanged."
3802 msgstr ""
3803
3804 #. type: Plain text
3805 #: build/C/man3/mkstemp.3:185
3806 msgid ""
3807 "For B<mkstemps>()  and B<mkostemps>(): I<template> is less than I<(6 + "
3808 "suffixlen)> characters long, or the last 6 characters before the suffix in "
3809 "I<template> were not XXXXXX."
3810 msgstr ""
3811
3812 #. type: Plain text
3813 #: build/C/man3/mkstemp.3:188
3814 msgid ""
3815 "These functions may also fail with any of the errors described for "
3816 "B<open>(2)."
3817 msgstr ""
3818
3819 #. type: Plain text
3820 #: build/C/man3/mkstemp.3:195
3821 msgid ""
3822 "B<mkostemp>()  is available since glibc 2.7.  B<mkstemps>()  and "
3823 "B<mkostemps>()  are available since glibc 2.11."
3824 msgstr ""
3825
3826 #. type: Plain text
3827 #: build/C/man3/mkstemp.3:204
3828 msgid ""
3829 "The B<mkstemp>(), B<mkostemp>(), B<mkstemps>(), and B<mkostemps>()  "
3830 "functions are thread-safe."
3831 msgstr ""
3832
3833 #. type: Plain text
3834 #: build/C/man3/mkstemp.3:207
3835 msgid "B<mkstemp>(): 4.3BSD, POSIX.1-2001."
3836 msgstr ""
3837
3838 #.  mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris,
3839 #.  and Tru64.
3840 #. type: Plain text
3841 #: build/C/man3/mkstemp.3:212
3842 msgid "B<mkstemps>(): unstandardized, but appears on several other systems."
3843 msgstr ""
3844
3845 #. type: Plain text
3846 #: build/C/man3/mkstemp.3:217
3847 msgid "B<mkostemp>()  and B<mkostemps>(): are glibc extensions."
3848 msgstr ""
3849
3850 #. type: Plain text
3851 #: build/C/man3/mkstemp.3:224
3852 msgid ""
3853 "In glibc versions 2.06 and earlier, the file is created with permissions "
3854 "0666, that is, read and write for all users.  This old behavior may be a "
3855 "security risk, especially since other UNIX flavors use 0600, and somebody "
3856 "might overlook this detail when porting programs.  POSIX.1-2008 adds a "
3857 "requirement that the file be created with mode 0600."
3858 msgstr ""
3859
3860 #
3861 #.  The prototype for
3862 #.  .BR mktemp ()
3863 #.  is in
3864 #.  .I <unistd.h>
3865 #.  for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in
3866 #.  .IR <stdlib.h> .
3867 #. type: Plain text
3868 #: build/C/man3/mkstemp.3:242
3869 msgid ""
3870 "More generally, the POSIX specification of B<mkstemp>()  does not say "
3871 "anything about file modes, so the application should make sure its file mode "
3872 "creation mask (see B<umask>(2))  is set appropriately before calling "
3873 "B<mkstemp>()  (and B<mkostemp>())."
3874 msgstr ""
3875
3876 #. type: Plain text
3877 #: build/C/man3/mkstemp.3:247
3878 msgid "B<mkdtemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3879 msgstr ""
3880
3881 #. type: TH
3882 #: build/C/man3/mktemp.3:34
3883 #, no-wrap
3884 msgid "MKTEMP"
3885 msgstr ""
3886
3887 #. type: Plain text
3888 #: build/C/man3/mktemp.3:37
3889 msgid "mktemp - make a unique temporary filename"
3890 msgstr ""
3891
3892 #. type: Plain text
3893 #: build/C/man3/mktemp.3:42
3894 #, no-wrap
3895 msgid "B<char *mktemp(char *>I<template>B<);>\n"
3896 msgstr ""
3897
3898 #. type: Plain text
3899 #: build/C/man3/mktemp.3:50
3900 msgid "B<mktemp>():"
3901 msgstr ""
3902
3903 #. type: Plain text
3904 #: build/C/man3/mktemp.3:59
3905 #, no-wrap
3906 msgid ""
3907 "_BSD_SOURCE || _SVID_SOURCE ||\n"
3908 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
3909 "         _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
3910 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
3911 msgstr ""
3912
3913 #. type: Plain text
3914 #: build/C/man3/mktemp.3:69
3915 msgid "I<Never use this function>; see NOTES."
3916 msgstr ""
3917
3918 #. type: Plain text
3919 #: build/C/man3/mktemp.3:80
3920 msgid ""
3921 "The B<mktemp>()  function generates a unique temporary filename from "
3922 "I<template>.  The last six characters of I<template> must be XXXXXX and "
3923 "these are replaced with a string that makes the filename unique.  Since it "
3924 "will be modified, I<template> must not be a string constant, but should be "
3925 "declared as a character array."
3926 msgstr ""
3927
3928 #. type: Plain text
3929 #: build/C/man3/mktemp.3:91
3930 msgid ""
3931 "The B<mktemp>()  function always returns I<template>.  If a unique name was "
3932 "created, the last six bytes of I<template> will have been modified in such a "
3933 "way that the resulting name is unique (i.e., does not exist already)  If a "
3934 "unique name could not be created, I<template> is made an empty string, and "
3935 "I<errno> is set to indicate the error."
3936 msgstr ""
3937
3938 #. type: Plain text
3939 #: build/C/man3/mktemp.3:95
3940 msgid "The last six characters of I<template> were not XXXXXX."
3941 msgstr ""
3942
3943 #.  .SH NOTES
3944 #.  The prototype is in
3945 #.  .I <unistd.h>
3946 #.  for libc4, libc5, glibc1; glibc2 follows the Single UNIX Specification
3947 #.  and has the prototype in
3948 #.  .IR <stdlib.h> .
3949 #. type: Plain text
3950 #: build/C/man3/mktemp.3:105
3951 msgid ""
3952 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of "
3953 "B<mktemp>()."
3954 msgstr ""
3955
3956 #. type: Plain text
3957 #: build/C/man3/mktemp.3:118
3958 msgid ""
3959 "Never use B<mktemp>().  Some implementations follow 4.3BSD and replace "
3960 "XXXXXX by the current process ID and a single letter, so that at most 26 "
3961 "different names can be returned.  Since on the one hand the names are easy "
3962 "to guess, and on the other hand there is a race between testing whether the "
3963 "name exists and opening the file, every use of B<mktemp>()  is a security "
3964 "risk.  The race is avoided by B<mkstemp>(3)."
3965 msgstr ""
3966
3967 #. type: Plain text
3968 #: build/C/man3/mktemp.3:122
3969 msgid "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3)"
3970 msgstr ""
3971
3972 #. type: TH
3973 #: build/C/man3/on_exit.3:31
3974 #, no-wrap
3975 msgid "ON_EXIT"
3976 msgstr ""
3977
3978 #. type: Plain text
3979 #: build/C/man3/on_exit.3:34
3980 msgid "on_exit - register a function to be called at normal process termination"
3981 msgstr ""
3982
3983 #. type: Plain text
3984 #: build/C/man3/on_exit.3:39
3985 #, no-wrap
3986 msgid "B<int on_exit(void (*>I<function>B<)(int , void *), void *>I<arg>B<);>\n"
3987 msgstr ""
3988
3989 #. type: Plain text
3990 #: build/C/man3/on_exit.3:48
3991 msgid "B<on_exit>(): _BSD_SOURCE || _SVID_SOURCE"
3992 msgstr ""
3993
3994 #. type: Plain text
3995 #: build/C/man3/on_exit.3:66
3996 msgid ""
3997 "The B<on_exit>()  function registers the given I<function> to be called at "
3998 "normal process termination, whether via B<exit>(3)  or via return from the "
3999 "program's I<main>().  The I<function> is passed the status argument given to "
4000 "the last call to B<exit>(3)  and the I<arg> argument from B<on_exit>()."
4001 msgstr ""
4002
4003 #. type: Plain text
4004 #: build/C/man3/on_exit.3:81
4005 msgid ""
4006 "The B<on_exit>()  function returns the value 0 if successful; otherwise it "
4007 "returns a nonzero value."
4008 msgstr ""
4009
4010 #. type: Plain text
4011 #: build/C/man3/on_exit.3:87
4012 msgid ""
4013 "This function comes from SunOS 4, but is also present in glibc.  It no "
4014 "longer occurs in Solaris (SunOS 5).  Portable application should avoid this "
4015 "function, and use the standard B<atexit>(3)  instead."
4016 msgstr ""
4017
4018 #. type: Plain text
4019 #: build/C/man3/on_exit.3:90
4020 msgid "B<_exit>(2), B<atexit>(3), B<exit>(3)"
4021 msgstr ""
4022
4023 #. type: TH
4024 #: build/C/man3/putenv.3:36
4025 #, no-wrap
4026 msgid "PUTENV"
4027 msgstr ""
4028
4029 #. type: Plain text
4030 #: build/C/man3/putenv.3:39
4031 msgid "putenv - change or add an environment variable"
4032 msgstr ""
4033
4034 #.  Not: const char *
4035 #. type: Plain text
4036 #: build/C/man3/putenv.3:45
4037 #, no-wrap
4038 msgid "B<int putenv(char *>I<string>B<);>\n"
4039 msgstr ""
4040
4041 #. type: Plain text
4042 #: build/C/man3/putenv.3:54
4043 msgid "B<putenv>(): _SVID_SOURCE || _XOPEN_SOURCE"
4044 msgstr ""
4045
4046 #. type: Plain text
4047 #: build/C/man3/putenv.3:67
4048 msgid ""
4049 "The B<putenv>()  function adds or changes the value of environment "
4050 "variables.  The argument I<string> is of the form I<name>=I<value>.  If "
4051 "I<name> does not already exist in the environment, then I<string> is added "
4052 "to the environment.  If I<name> does exist, then the value of I<name> in the "
4053 "environment is changed to I<value>.  The string pointed to by I<string> "
4054 "becomes part of the environment, so altering the string changes the "
4055 "environment."
4056 msgstr ""
4057
4058 #. type: Plain text
4059 #: build/C/man3/putenv.3:75
4060 msgid ""
4061 "The B<putenv>()  function returns zero on success, or nonzero if an error "
4062 "occurs.  In the event of an error, I<errno> is set to indicate the cause."
4063 msgstr ""
4064
4065 #. type: TP
4066 #: build/C/man3/putenv.3:76 build/C/man3/setenv.3:125
4067 #, no-wrap
4068 msgid "B<ENOMEM>"
4069 msgstr ""
4070
4071 #. type: Plain text
4072 #: build/C/man3/putenv.3:79
4073 msgid "Insufficient space to allocate new environment."
4074 msgstr ""
4075
4076 #. type: Plain text
4077 #: build/C/man3/putenv.3:81
4078 msgid "SVr4, POSIX.1-2001, 4.3BSD."
4079 msgstr ""
4080
4081 #.  .LP
4082 #.  Description for libc4, libc5, glibc:
4083 #.  If the argument \fIstring\fP is of the form \fIname\fP,
4084 #.  and does not contain an \(aq=\(aq character, then the variable \fIname\fP
4085 #.  is removed from the environment.
4086 #.  If
4087 #.  .BR putenv ()
4088 #.  has to allocate a new array \fIenviron\fP,
4089 #.  and the previous array was also allocated by
4090 #.  .BR putenv (),
4091 #.  then it will be freed.
4092 #.  In no case will the old storage associated
4093 #.  to the environment variable itself be freed.
4094 #. type: Plain text
4095 #: build/C/man3/putenv.3:99
4096 msgid ""
4097 "The B<putenv>()  function is not required to be reentrant, and the one in "
4098 "glibc 2.0 is not, but the glibc 2.1 version is."
4099 msgstr ""
4100
4101 #. type: Plain text
4102 #: build/C/man3/putenv.3:114
4103 msgid ""
4104 "Since version 2.1.2, the glibc implementation conforms to SUSv2: the pointer "
4105 "I<string> given to B<putenv>()  is used.  In particular, this string becomes "
4106 "part of the environment; changing it later will change the environment.  "
4107 "(Thus, it is an error is to call B<putenv>()  with an automatic variable as "
4108 "the argument, then return from the calling function while I<string> is still "
4109 "part of the environment.)  However, glibc versions 2.0 to 2.1.1 differ: a "
4110 "copy of the string is used.  On the one hand this causes a memory leak, and "
4111 "on the other hand it violates SUSv2."
4112 msgstr ""
4113
4114 #. type: Plain text
4115 #: build/C/man3/putenv.3:116
4116 msgid "The 4.4BSD version, like glibc 2.0, uses a copy."
4117 msgstr ""
4118
4119 #. type: Plain text
4120 #: build/C/man3/putenv.3:118
4121 msgid "SUSv2 removes the I<const> from the prototype, and so does glibc 2.1.3."
4122 msgstr ""
4123
4124 #. type: Plain text
4125 #: build/C/man3/putenv.3:123
4126 msgid "B<clearenv>(3), B<getenv>(3), B<setenv>(3), B<unsetenv>(3), B<environ>(7)"
4127 msgstr ""
4128
4129 #. type: TH
4130 #: build/C/man3/qecvt.3:28
4131 #, no-wrap
4132 msgid "QECVT"
4133 msgstr ""
4134
4135 #. type: Plain text
4136 #: build/C/man3/qecvt.3:31
4137 msgid "qecvt, qfcvt, qgcvt - convert a floating-point number to a string"
4138 msgstr ""
4139
4140 #. type: Plain text
4141 #: build/C/man3/qecvt.3:36
4142 msgid ""
4143 "B<char *qecvt(long double >I<number>B<, int >I<ndigits>B<, int "
4144 "*>I<decpt>B<,> B<int *>I<sign>B<);>"
4145 msgstr ""
4146
4147 #. type: Plain text
4148 #: build/C/man3/qecvt.3:39
4149 msgid ""
4150 "B<char *qfcvt(long double >I<number>B<, int >I<ndigits>B<, int "
4151 "*>I<decpt>B<,> B<int *>I<sign>B<);>"
4152 msgstr ""
4153
4154 #. type: Plain text
4155 #: build/C/man3/qecvt.3:41
4156 msgid "B<char *qgcvt(long double >I<number>B<, int >I<ndigit>B<, char *>I<buf>B<);>"
4157 msgstr ""
4158
4159 #. type: Plain text
4160 #: build/C/man3/qecvt.3:52
4161 msgid "B<qecvt>(), B<qfcvt>(), B<qgcvt>(): _SVID_SOURCE"
4162 msgstr ""
4163
4164 #. type: Plain text
4165 #: build/C/man3/qecvt.3:85
4166 msgid ""
4167 "The functions B<qecvt>(), B<qfcvt>(), and B<qgcvt>()  are identical to "
4168 "B<ecvt>(3), B<fcvt>(3), and B<gcvt>(3)  respectively, except that they use a "
4169 "I<long double> argument I<number>.  See B<ecvt>(3)  and B<gcvt>(3)."
4170 msgstr ""
4171
4172 #. type: Plain text
4173 #: build/C/man3/qecvt.3:92
4174 msgid "The B<qecvt>()  and B<qfcvt>()  functions are not thread-safe."
4175 msgstr ""
4176
4177 #. type: Plain text
4178 #: build/C/man3/qecvt.3:96
4179 msgid "The B<qgcvt>()  function is thread-safe."
4180 msgstr ""
4181
4182 #.  Not supported by libc4 and libc5.
4183 #. type: Plain text
4184 #: build/C/man3/qecvt.3:102
4185 msgid ""
4186 "SVr4.  Not seen in most common UNIX implementations, but occurs in SunOS.  "
4187 "Supported by glibc."
4188 msgstr ""
4189
4190 #. type: Plain text
4191 #: build/C/man3/qecvt.3:107
4192 msgid "These functions are obsolete.  Instead, B<snprintf>(3)  is recommended."
4193 msgstr ""
4194
4195 #. type: Plain text
4196 #: build/C/man3/qecvt.3:111
4197 msgid "B<ecvt>(3), B<ecvt_r>(3), B<gcvt>(3), B<sprintf>(3)"
4198 msgstr ""
4199
4200 #. type: TH
4201 #: build/C/man3/rand.3:41
4202 #, no-wrap
4203 msgid "RAND"
4204 msgstr ""
4205
4206 #. type: TH
4207 #: build/C/man3/rand.3:41
4208 #, no-wrap
4209 msgid "2014-01-18"
4210 msgstr ""
4211
4212 #. type: Plain text
4213 #: build/C/man3/rand.3:44
4214 msgid "rand, rand_r, srand - pseudo-random number generator"
4215 msgstr ""
4216
4217 #. type: Plain text
4218 #: build/C/man3/rand.3:49
4219 #, no-wrap
4220 msgid "B<int rand(void);>\n"
4221 msgstr ""
4222
4223 #. type: Plain text
4224 #: build/C/man3/rand.3:51
4225 #, no-wrap
4226 msgid "B<int rand_r(unsigned int *>I<seedp>B<);>\n"
4227 msgstr ""
4228
4229 #. type: Plain text
4230 #: build/C/man3/rand.3:53
4231 #, no-wrap
4232 msgid "B<void srand(unsigned int >I<seed>B<);>\n"
4233 msgstr ""
4234
4235 #. type: Plain text
4236 #: build/C/man3/rand.3:62
4237 msgid "B<rand_r>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
4238 msgstr ""
4239
4240 #. type: Plain text
4241 #: build/C/man3/rand.3:68
4242 msgid ""
4243 "The B<rand>()  function returns a pseudo-random integer in the range 0 to "
4244 "B<RAND_MAX> inclusive (i.e., the mathematical range [0,\\ B<RAND_MAX>])."
4245 msgstr ""
4246
4247 #. type: Plain text
4248 #: build/C/man3/rand.3:77
4249 msgid ""
4250 "The B<srand>()  function sets its argument as the seed for a new sequence of "
4251 "pseudo-random integers to be returned by B<rand>().  These sequences are "
4252 "repeatable by calling B<srand>()  with the same seed value."
4253 msgstr ""
4254
4255 #. type: Plain text
4256 #: build/C/man3/rand.3:81
4257 msgid ""
4258 "If no seed value is provided, the B<rand>()  function is automatically "
4259 "seeded with a value of 1."
4260 msgstr ""
4261
4262 #. type: Plain text
4263 #: build/C/man3/rand.3:92
4264 msgid ""
4265 "The function B<rand>()  is not reentrant or thread-safe, since it uses "
4266 "hidden state that is modified on each call.  This might just be the seed "
4267 "value to be used by the next call, or it might be something more elaborate.  "
4268 "In order to get reproducible behavior in a threaded application, this state "
4269 "must be made explicit; this can be done using the reentrant function "
4270 "B<rand_r>()."
4271 msgstr ""
4272
4273 #. type: Plain text
4274 #: build/C/man3/rand.3:108
4275 msgid ""
4276 "Like B<rand>(), B<rand_r>()  returns a pseudo-random integer in the range "
4277 "[0,\\ B<RAND_MAX>].  The I<seedp> argument is a pointer to an I<unsigned "
4278 "int> that is used to store state between calls.  If B<rand_r>()  is called "
4279 "with the same initial value for the integer pointed to by I<seedp>, and that "
4280 "value is not modified between calls, then the same pseudo-random sequence "
4281 "will result."
4282 msgstr ""
4283
4284 #. type: Plain text
4285 #: build/C/man3/rand.3:118
4286 msgid ""
4287 "The value pointed to by the I<seedp> argument of B<rand_r>()  provides only "
4288 "a very small amount of state, so this function will be a weak pseudo-random "
4289 "generator.  Try B<drand48_r>(3)  instead."
4290 msgstr ""
4291
4292 #. type: Plain text
4293 #: build/C/man3/rand.3:129
4294 msgid ""
4295 "The B<rand>()  and B<rand_r>()  functions return a value between 0 and "
4296 "B<RAND_MAX> (inclusive).  The B<srand>()  function returns no value."
4297 msgstr ""
4298
4299 #. type: Plain text
4300 #: build/C/man3/rand.3:141
4301 msgid ""
4302 "The functions B<rand>()  and B<srand>()  conform to SVr4, 4.3BSD, C89, C99, "
4303 "POSIX.1-2001.  The function B<rand_r>()  is from POSIX.1-2001.  POSIX.1-2008 "
4304 "marks B<rand_r>()  as obsolete."
4305 msgstr ""
4306
4307 #. type: Plain text
4308 #: build/C/man3/rand.3:160
4309 msgid ""
4310 "The versions of B<rand>()  and B<srand>()  in the Linux C Library use the "
4311 "same random number generator as B<random>(3)  and B<srandom>(3), so the "
4312 "lower-order bits should be as random as the higher-order bits.  However, on "
4313 "older B<rand>()  implementations, and on current implementations on "
4314 "different systems, the lower-order bits are much less random than the "
4315 "higher-order bits.  Do not use this function in applications intended to be "
4316 "portable when good randomness is needed.  (Use B<random>(3)  instead.)"
4317 msgstr ""
4318
4319 #. type: Plain text
4320 #: build/C/man3/rand.3:166
4321 msgid ""
4322 "POSIX.1-2001 gives the following example of an implementation of B<rand>()  "
4323 "and B<srand>(), possibly useful when one needs the same sequence on two "
4324 "different machines."
4325 msgstr ""
4326
4327 #. type: Plain text
4328 #: build/C/man3/rand.3:170
4329 #, no-wrap
4330 msgid "static unsigned long next = 1;\n"
4331 msgstr ""
4332
4333 #. type: Plain text
4334 #: build/C/man3/rand.3:176
4335 #, no-wrap
4336 msgid ""
4337 "/* RAND_MAX assumed to be 32767 */\n"
4338 "int myrand(void) {\n"
4339 "    next = next * 1103515245 + 12345;\n"
4340 "    return((unsigned)(next/65536) % 32768);\n"
4341 "}\n"
4342 msgstr ""
4343
4344 #. type: Plain text
4345 #: build/C/man3/rand.3:180
4346 #, no-wrap
4347 msgid ""
4348 "void mysrand(unsigned int seed) {\n"
4349 "    next = seed;\n"
4350 "}\n"
4351 msgstr ""
4352
4353 #. type: Plain text
4354 #: build/C/man3/rand.3:187
4355 msgid ""
4356 "The following program can be used to display the pseudo-random sequence "
4357 "produced by B<rand>()  when given a particular seed."
4358 msgstr ""
4359
4360 #. type: Plain text
4361 #: build/C/man3/rand.3:192
4362 #, no-wrap
4363 msgid ""
4364 "#include E<lt>stdlib.hE<gt>\n"
4365 "#include E<lt>stdio.hE<gt>\n"
4366 msgstr ""
4367
4368 #. type: Plain text
4369 #: build/C/man3/rand.3:198
4370 #, no-wrap
4371 msgid ""
4372 "int\n"
4373 "main(int argc, char *argv[])\n"
4374 "{\n"
4375 "    int j, r, nloops;\n"
4376 "    unsigned int seed;\n"
4377 msgstr ""
4378
4379 #. type: Plain text
4380 #: build/C/man3/rand.3:203
4381 #, no-wrap
4382 msgid ""
4383 "    if (argc != 3) {\n"
4384 "        fprintf(stderr, \"Usage: %s E<lt>seedE<gt> E<lt>nloopsE<gt>\\en\", "
4385 "argv[0]);\n"
4386 "        exit(EXIT_FAILURE);\n"
4387 "    }\n"
4388 msgstr ""
4389
4390 #. type: Plain text
4391 #: build/C/man3/rand.3:206
4392 #, no-wrap
4393 msgid ""
4394 "    seed = atoi(argv[1]);\n"
4395 "    nloops = atoi(argv[2]);\n"
4396 msgstr ""
4397
4398 #. type: Plain text
4399 #: build/C/man3/rand.3:212
4400 #, no-wrap
4401 msgid ""
4402 "    srand(seed);\n"
4403 "    for (j = 0; j E<lt> nloops; j++) {\n"
4404 "        r =  rand();\n"
4405 "        printf(\"%d\\en\", r);\n"
4406 "    }\n"
4407 msgstr ""
4408
4409 #. type: Plain text
4410 #: build/C/man3/rand.3:219
4411 msgid "B<drand48>(3), B<random>(3)"
4412 msgstr ""
4413
4414 #. type: TH
4415 #: build/C/man3/random.3:33
4416 #, no-wrap
4417 msgid "RANDOM"
4418 msgstr ""
4419
4420 #. type: Plain text
4421 #: build/C/man3/random.3:36
4422 msgid "random, srandom, initstate, setstate - random number generator"
4423 msgstr ""
4424
4425 #. type: Plain text
4426 #: build/C/man3/random.3:41
4427 #, no-wrap
4428 msgid "B<long int random(void);>\n"
4429 msgstr ""
4430
4431 #. type: Plain text
4432 #: build/C/man3/random.3:43
4433 #, no-wrap
4434 msgid "B<void srandom(unsigned int >I<seed>B<);>\n"
4435 msgstr ""
4436
4437 #. type: Plain text
4438 #: build/C/man3/random.3:45
4439 #, no-wrap
4440 msgid ""
4441 "B<char *initstate(unsigned int >I<seed>B<, char *>I<state>B<, size_t "
4442 ">I<n>B<);>\n"
4443 msgstr ""
4444
4445 #. type: Plain text
4446 #: build/C/man3/random.3:47
4447 #, no-wrap
4448 msgid "B<char *setstate(char *>I<state>B<);>\n"
4449 msgstr ""
4450
4451 #. type: Plain text
4452 #: build/C/man3/random.3:59
4453 msgid "B<random>(), B<srandom>(), B<initstate>(), B<setstate>():"
4454 msgstr ""
4455
4456 #. type: Plain text
4457 #: build/C/man3/random.3:62
4458 msgid ""
4459 "_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
4460 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
4461 msgstr ""
4462
4463 #. type: Plain text
4464 #: build/C/man3/random.3:73
4465 msgid ""
4466 "The B<random>()  function uses a nonlinear additive feedback random number "
4467 "generator employing a default table of size 31 long integers to return "
4468 "successive pseudo-random numbers in the range from 0 to B<RAND_MAX>.  The "
4469 "period of this random number generator is very large, approximately I<16\\ "
4470 "*\\ ((2^31)\\ -\\ 1)>."
4471 msgstr ""
4472
4473 #. type: Plain text
4474 #: build/C/man3/random.3:87
4475 msgid ""
4476 "The B<srandom>()  function sets its argument as the seed for a new sequence "
4477 "of pseudo-random integers to be returned by B<random>().  These sequences "
4478 "are repeatable by calling B<srandom>()  with the same seed value.  If no "
4479 "seed value is provided, the B<random>()  function is automatically seeded "
4480 "with a value of 1."
4481 msgstr ""
4482
4483 #. type: Plain text
4484 #: build/C/man3/random.3:102
4485 msgid ""
4486 "The B<initstate>()  function allows a state array I<state> to be initialized "
4487 "for use by B<random>().  The size of the state array I<n> is used by "
4488 "B<initstate>()  to decide how sophisticated a random number generator it "
4489 "should use\\(emthe larger the state array, the better the random numbers "
4490 "will be.  I<seed> is the seed for the initialization, which specifies a "
4491 "starting point for the random number sequence, and provides for restarting "
4492 "at the same point."
4493 msgstr ""
4494
4495 #. type: Plain text
4496 #: build/C/man3/random.3:118
4497 msgid ""
4498 "The B<setstate>()  function changes the state array used by the B<random>()  "
4499 "function.  The state array I<state> is used for random number generation "
4500 "until the next call to B<initstate>()  or B<setstate>().  I<state> must "
4501 "first have been initialized using B<initstate>()  or be the result of a "
4502 "previous call of B<setstate>()."
4503 msgstr ""
4504
4505 #. type: Plain text
4506 #: build/C/man3/random.3:126
4507 msgid ""
4508 "The B<random>()  function returns a value between 0 and B<RAND_MAX>.  The "
4509 "B<srandom>()  function returns no value."
4510 msgstr ""
4511
4512 #. type: Plain text
4513 #: build/C/man3/random.3:133
4514 msgid ""
4515 "The B<initstate>()  function returns a pointer to the previous state array.  "
4516 "On error, I<errno> is set to indicate the cause."
4517 msgstr ""
4518
4519 #. type: Plain text
4520 #: build/C/man3/random.3:140
4521 msgid ""
4522 "On success, B<setstate>()  returns a pointer to the previous state array.  "
4523 "On error, it returns NULL, with I<errno> set to indicate the cause of the "
4524 "error."
4525 msgstr ""
4526
4527 #. type: Plain text
4528 #: build/C/man3/random.3:148
4529 msgid "The I<state> argument given to B<setstate>()  was NULL."
4530 msgstr ""
4531
4532 #. type: Plain text
4533 #: build/C/man3/random.3:152
4534 msgid "A state array of less than 8 bytes was specified to B<initstate>()."
4535 msgstr ""
4536
4537 #. type: Plain text
4538 #: build/C/man3/random.3:161
4539 msgid ""
4540 "The B<random>(), B<srandom>(), B<initstate>(), and B<setstate>()  functions "
4541 "are thread-safe."
4542 msgstr ""
4543
4544 #. type: Plain text
4545 #: build/C/man3/random.3:163 build/C/man3/setenv.3:130
4546 msgid "4.3BSD, POSIX.1-2001."
4547 msgstr ""
4548
4549 #. type: Plain text
4550 #: build/C/man3/random.3:169
4551 msgid ""
4552 "Current \"optimal\" values for the size of the state array I<n> are 8, 32, "
4553 "64, 128, and 256 bytes; other amounts will be rounded down to the nearest "
4554 "known amount.  Using less than 8 bytes will cause an error."
4555 msgstr ""
4556
4557 #. type: Plain text
4558 #: build/C/man3/random.3:176
4559 msgid ""
4560 "This function should not be used in cases where multiple threads use "
4561 "B<random>()  and the behavior should be reproducible.  Use B<random_r>(3)  "
4562 "for that purpose."
4563 msgstr ""
4564
4565 #. type: Plain text
4566 #: build/C/man3/random.3:183
4567 msgid ""
4568 "Random-number generation is a complex topic.  I<Numerical Recipes in C: The "
4569 "Art of Scientific Computing> (William H. Press, Brian P. Flannery, Saul "
4570 "A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, "
4571 "2007, 3rd ed.)  provides an excellent discussion of practical random-number "
4572 "generation issues in Chapter 7 (Random Numbers)."
4573 msgstr ""
4574
4575 #. type: Plain text
4576 #: build/C/man3/random.3:189
4577 msgid ""
4578 "For a more theoretical discussion which also covers many practical issues in "
4579 "depth, see Chapter 3 (Random Numbers) in Donald E. Knuth's I<The Art of "
4580 "Computer Programming>, volume 2 (Seminumerical Algorithms), 2nd ed.; "
4581 "Reading, Massachusetts: Addison-Wesley Publishing Company, 1981."
4582 msgstr ""
4583
4584 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=15380
4585 #. type: Plain text
4586 #: build/C/man3/random.3:197
4587 msgid ""
4588 "According to POSIX, B<initstate>()  should return NULL on error.  In the "
4589 "glibc implementation, I<errno> is (as specified) set on error, but the "
4590 "function does not return NULL."
4591 msgstr ""
4592
4593 #. type: Plain text
4594 #: build/C/man3/random.3:201
4595 msgid "B<drand48>(3), B<rand>(3), B<random_r>(3), B<srand>(3)"
4596 msgstr ""
4597
4598 #. type: TH
4599 #: build/C/man3/random_r.3:26
4600 #, no-wrap
4601 msgid "RANDOM_R"
4602 msgstr ""
4603
4604 #. type: Plain text
4605 #: build/C/man3/random_r.3:30
4606 msgid ""
4607 "random_r, srandom_r, initstate_r, setstate_r - reentrant random number "
4608 "generator"
4609 msgstr ""
4610
4611 #. type: Plain text
4612 #: build/C/man3/random_r.3:35
4613 #, no-wrap
4614 msgid "B<int random_r(struct random_data *>I<buf>B<, int32_t *>I<result>B<);>\n"
4615 msgstr ""
4616
4617 #. type: Plain text
4618 #: build/C/man3/random_r.3:37
4619 #, no-wrap
4620 msgid "B<int srandom_r(unsigned int >I<seed>B<, struct random_data *>I<buf>B<);>\n"
4621 msgstr ""
4622
4623 #. type: Plain text
4624 #: build/C/man3/random_r.3:40
4625 #, no-wrap
4626 msgid ""
4627 "B<int initstate_r(unsigned int >I<seed>B<, char *>I<statebuf>B<,>\n"
4628 "B<                size_t >I<statelen>B<, struct random_data *>I<buf>B<);>\n"
4629 msgstr ""
4630
4631 #. type: Plain text
4632 #: build/C/man3/random_r.3:42
4633 #, no-wrap
4634 msgid "B<int setstate_r(char *>I<statebuf>B<, struct random_data *>I<buf>B<);>\n"
4635 msgstr ""
4636
4637 #. type: Plain text
4638 #: build/C/man3/random_r.3:54
4639 msgid "B<random_r>(), B<srandom_r>(), B<initstate_r>(), B<setstate_r>():"
4640 msgstr ""
4641
4642 #. type: Plain text
4643 #: build/C/man3/random_r.3:56
4644 msgid "_SVID_SOURCE || _BSD_SOURCE"
4645 msgstr ""
4646
4647 #. type: Plain text
4648 #: build/C/man3/random_r.3:64
4649 msgid ""
4650 "These functions are the reentrant equivalents of the functions described in "
4651 "B<random>(3).  They are suitable for use in multithreaded programs where "
4652 "each thread needs to obtain an independent, reproducible sequence of random "
4653 "numbers."
4654 msgstr ""
4655
4656 #. type: Plain text
4657 #: build/C/man3/random_r.3:75
4658 msgid ""
4659 "The B<random_r>()  function is like B<random>(3), except that instead of "
4660 "using state information maintained in a global variable, it uses the state "
4661 "information in the argument pointed to by I<buf>.  The generated random "
4662 "number is returned in the argument I<result>."
4663 msgstr ""
4664
4665 #. type: Plain text
4666 #: build/C/man3/random_r.3:84
4667 msgid ""
4668 "The B<srandom_r>()  function is like B<srandom>(3), except that it "
4669 "initializes the seed for the random number generator whose state is "
4670 "maintained in the object pointed to by I<buf>, instead of the seed "
4671 "associated with the global state variable."
4672 msgstr ""
4673
4674 #. type: Plain text
4675 #: build/C/man3/random_r.3:92
4676 msgid ""
4677 "The B<initstate_r>()  function is like B<initstate>(3)  except that it "
4678 "initializes the state in the object pointed to by I<buf>, rather than "
4679 "initializing the global state variable."
4680 msgstr ""
4681
4682 #. type: Plain text
4683 #: build/C/man3/random_r.3:100
4684 msgid ""
4685 "The B<setstate_r>()  function is like B<setstate>(3)  except that it "
4686 "modifies the state in the object pointer to by I<buf>, rather than modifying "
4687 "the global state variable."
4688 msgstr ""
4689
4690 #. type: Plain text
4691 #: build/C/man3/random_r.3:105
4692 msgid ""
4693 "All of these functions return 0 on success.  On error, -1 is returned, with "
4694 "I<errno> set to indicate the cause of the error."
4695 msgstr ""
4696
4697 #. type: Plain text
4698 #: build/C/man3/random_r.3:110
4699 msgid "A state array of less than 8 bytes was specified to B<initstate_r>()."
4700 msgstr ""
4701
4702 #. type: Plain text
4703 #: build/C/man3/random_r.3:119
4704 msgid "The I<statebuf> or I<buf> argument to B<setstate_r>()  was NULL."
4705 msgstr ""
4706
4707 #. type: Plain text
4708 #: build/C/man3/random_r.3:128
4709 msgid "The I<buf> or I<result> argument to B<random_r>()  was NULL."
4710 msgstr ""
4711
4712 #. type: Plain text
4713 #: build/C/man3/random_r.3:137
4714 msgid ""
4715 "The B<random_r>(), B<srandom_r>(), B<initstate_r>(), and B<setstate_r>()  "
4716 "functions are thread-safe."
4717 msgstr ""
4718
4719 #.  These functions appear to be on Tru64, but don't seem to be on
4720 #.  Solaris, HP-UX, or FreeBSD.
4721 #. type: Plain text
4722 #: build/C/man3/random_r.3:141
4723 msgid "These functions are nonstandard glibc extensions."
4724 msgstr ""
4725
4726 #. type: TH
4727 #: build/C/man3/rpmatch.3:29
4728 #, no-wrap
4729 msgid "RPMATCH"
4730 msgstr ""
4731
4732 #. type: Plain text
4733 #: build/C/man3/rpmatch.3:32
4734 msgid "rpmatch - determine if the answer to a question is affirmative or negative"
4735 msgstr ""
4736
4737 #. type: Plain text
4738 #: build/C/man3/rpmatch.3:37
4739 #, no-wrap
4740 msgid "B<int rpmatch(const char *>I<response>B<);>\n"
4741 msgstr ""
4742
4743 #. type: Plain text
4744 #: build/C/man3/rpmatch.3:46
4745 msgid "B<rpmatch>(): _SVID_SOURCE"
4746 msgstr ""
4747
4748 #. type: Plain text
4749 #: build/C/man3/rpmatch.3:50
4750 msgid ""
4751 "B<rpmatch>()  handles a user response to yes or no questions, with support "
4752 "for internationalization."
4753 msgstr ""
4754
4755 #. type: Plain text
4756 #: build/C/man3/rpmatch.3:57
4757 msgid ""
4758 "I<response> should be a null-terminated string containing a user-supplied "
4759 "response, perhaps obtained with B<fgets>(3)  or B<getline>(3)."
4760 msgstr ""
4761
4762 #. type: Plain text
4763 #: build/C/man3/rpmatch.3:67
4764 msgid ""
4765 "The user's language preference is taken into account per the environment "
4766 "variables B<LANG>, B<LC_MESSAGES>, and B<LC_ALL>, if the program has called "
4767 "B<setlocale>(3)  to effect their changes."
4768 msgstr ""
4769
4770 #. type: Plain text
4771 #: build/C/man3/rpmatch.3:73
4772 msgid ""
4773 "Regardless of the locale, responses matching B<^[Yy]> are always accepted as "
4774 "affirmative, and those matching B<^[Nn]> are always accepted as negative."
4775 msgstr ""
4776
4777 #. type: Plain text
4778 #: build/C/man3/rpmatch.3:82
4779 msgid ""
4780 "After examining I<response>, B<rpmatch>()  returns 0 for a recognized "
4781 "negative response (\"no\"), 1 for a recognized positive response (\"yes\"), "
4782 "and -1 when the value of I<response> is unrecognized."
4783 msgstr ""
4784
4785 #. type: Plain text
4786 #: build/C/man3/rpmatch.3:86
4787 msgid ""
4788 "A return value of -1 may indicate either an invalid input, or some other "
4789 "error.  It is incorrect to only test if the return value is nonzero."
4790 msgstr ""
4791
4792 #. type: Plain text
4793 #: build/C/man3/rpmatch.3:99
4794 msgid ""
4795 "B<rpmatch>()  can fail for any of the reasons that B<regcomp>(3)  or "
4796 "B<regexec>(3)  can fail; the cause of the error is not available from "
4797 "I<errno> or anywhere else, but indicates a failure of the regex engine (but "
4798 "this case is indistinguishable from that of an unrecognized value of "
4799 "I<response>)."
4800 msgstr ""
4801
4802 #.  It is available on at least AIX 5.1 and FreeBSD 6.0.
4803 #. type: Plain text
4804 #: build/C/man3/rpmatch.3:104
4805 msgid ""
4806 "B<rpmatch>()  is not required by any standard, but is available on a few "
4807 "other systems."
4808 msgstr ""
4809
4810 #. type: Plain text
4811 #: build/C/man3/rpmatch.3:119
4812 msgid ""
4813 "The B<rpmatch>()  implementation looks at only the first character of "
4814 "I<response>.  As a consequence, \"nyes\" returns 0, and \"ynever; not in a "
4815 "million years\" returns 1.  It would be preferable to accept input strings "
4816 "much more strictly, for example (using the extended regular expression "
4817 "notation described in B<regex>(7)): B<^([yY]|yes|YES)$> and "
4818 "B<^([nN]|no|NO)$>."
4819 msgstr ""
4820
4821 #. type: Plain text
4822 #: build/C/man3/rpmatch.3:123
4823 msgid ""
4824 "The following program displays the results when B<rpmatch>()  is applied to "
4825 "the string given in the program's command-line argument."
4826 msgstr ""
4827
4828 #. type: Plain text
4829 #: build/C/man3/rpmatch.3:130
4830 #, no-wrap
4831 msgid ""
4832 "#define _SVID_SOURCE\n"
4833 "#include E<lt>locale.hE<gt>\n"
4834 "#include E<lt>stdlib.hE<gt>\n"
4835 "#include E<lt>string.hE<gt>\n"
4836 "#include E<lt>stdio.hE<gt>\n"
4837 msgstr ""
4838
4839 #. type: Plain text
4840 #: build/C/man3/rpmatch.3:138
4841 #, no-wrap
4842 msgid ""
4843 "int\n"
4844 "main(int argc, char *argv[])\n"
4845 "{\n"
4846 "    if (argc != 2 || strcmp(argv[1], \"--help\") == 0) {\n"
4847 "        fprintf(stderr, \"%s response\\en\", argv[0]);\n"
4848 "        exit(EXIT_FAILURE);\n"
4849 "    }\n"
4850 msgstr ""
4851
4852 #. type: Plain text
4853 #: build/C/man3/rpmatch.3:143
4854 #, no-wrap
4855 msgid ""
4856 "    setlocale(LC_ALL, \"\");\n"
4857 "    printf(\"rpmatch() returns: %d\\en\", rpmatch(argv[1]));\n"
4858 "    exit(EXIT_SUCCESS);\n"
4859 "}\n"
4860 msgstr ""
4861
4862 #. type: Plain text
4863 #: build/C/man3/rpmatch.3:149
4864 msgid ""
4865 "B<fgets>(3), B<getline>(3), B<nl_langinfo>(3), B<regcomp>(3), "
4866 "B<setlocale>(3)"
4867 msgstr ""
4868
4869 #. type: TH
4870 #: build/C/man3/setenv.3:37
4871 #, no-wrap
4872 msgid "SETENV"
4873 msgstr ""
4874
4875 #. type: TH
4876 #: build/C/man3/setenv.3:37
4877 #, no-wrap
4878 msgid "2013-10-11"
4879 msgstr ""
4880
4881 #. type: Plain text
4882 #: build/C/man3/setenv.3:40
4883 msgid "setenv - change or add an environment variable"
4884 msgstr ""
4885
4886 #. type: Plain text
4887 #: build/C/man3/setenv.3:45
4888 #, no-wrap
4889 msgid ""
4890 "B<int setenv(const char *>I<name>B<, const char *>I<value>B<, int "
4891 ">I<overwrite>B<);>\n"
4892 msgstr ""
4893
4894 #. type: Plain text
4895 #: build/C/man3/setenv.3:47
4896 #, no-wrap
4897 msgid "B<int unsetenv(const char *>I<name>B<);>\n"
4898 msgstr ""
4899
4900 #. type: Plain text
4901 #: build/C/man3/setenv.3:57
4902 msgid "B<setenv>(), B<unsetenv>():"
4903 msgstr ""
4904
4905 #. type: Plain text
4906 #: build/C/man3/setenv.3:59
4907 msgid ""
4908 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ "
4909 "E<gt>=\\ 600"
4910 msgstr ""
4911
4912 #. type: Plain text
4913 #: build/C/man3/setenv.3:94
4914 msgid ""
4915 "The B<setenv>()  function adds the variable I<name> to the environment with "
4916 "the value I<value>, if I<name> does not already exist.  If I<name> does "
4917 "exist in the environment, then its value is changed to I<value> if "
4918 "I<overwrite> is nonzero; if I<overwrite> is zero, then the value of I<name> "
4919 "is not changed (and B<setenv>()  returns a success status).  This function "
4920 "makes copies of the strings pointed to by I<name> and I<value> (by contrast "
4921 "with B<putenv>(3))."
4922 msgstr ""
4923
4924 #. type: Plain text
4925 #: build/C/man3/setenv.3:105
4926 msgid ""
4927 "The B<unsetenv>()  function deletes the variable I<name> from the "
4928 "environment.  If I<name> does not exist in the environment, then the "
4929 "function succeeds, and the environment is unchanged."
4930 msgstr ""
4931
4932 #. type: Plain text
4933 #: build/C/man3/setenv.3:112
4934 msgid ""
4935 "The B<setenv>()  function returns zero on success, or -1 on error, with "
4936 "I<errno> set to indicate the cause of the error."
4937 msgstr ""
4938
4939 #. type: Plain text
4940 #: build/C/man3/setenv.3:119
4941 msgid ""
4942 "The B<unsetenv>()  function returns zero on success, or -1 on error, with "
4943 "I<errno> set to indicate the cause of the error."
4944 msgstr ""
4945
4946 #. type: Plain text
4947 #: build/C/man3/setenv.3:125
4948 msgid ""
4949 "I<name> is NULL, points to a string of length 0, or contains an \\(aq=\\(aq "
4950 "character."
4951 msgstr ""
4952
4953 #. type: Plain text
4954 #: build/C/man3/setenv.3:128
4955 msgid "Insufficient memory to add a new variable to the environment."
4956 msgstr ""
4957
4958 #. type: Plain text
4959 #: build/C/man3/setenv.3:136
4960 msgid ""
4961 "POSIX.1-2001 does not require B<setenv>()  or B<unsetenv>()  to be "
4962 "reentrant."
4963 msgstr ""
4964
4965 #. type: Plain text
4966 #: build/C/man3/setenv.3:144
4967 msgid ""
4968 "Prior to glibc 2.2.2, B<unsetenv>()  was prototyped as returning I<void>; "
4969 "more recent glibc versions follow the POSIX.1-2001-compliant prototype shown "
4970 "in the SYNOPSIS."
4971 msgstr ""
4972
4973 #. type: Plain text
4974 #: build/C/man3/setenv.3:153
4975 msgid ""
4976 "POSIX.1-2001 specifies that if I<name> contains an \\(aq=\\(aq character, "
4977 "then B<setenv>()  should fail with the error B<EINVAL>; however, versions of "
4978 "glibc before 2.3.4 allowed an \\(aq=\\(aq sign in I<name>."
4979 msgstr ""
4980
4981 #. type: Plain text
4982 #: build/C/man3/setenv.3:157
4983 msgid "B<clearenv>(3), B<getenv>(3), B<putenv>(3), B<environ>(7)"
4984 msgstr ""
4985
4986 #. type: TH
4987 #: build/C/man3/strtod.3:45
4988 #, no-wrap
4989 msgid "STRTOD"
4990 msgstr ""
4991
4992 #. type: Plain text
4993 #: build/C/man3/strtod.3:48
4994 msgid "strtod, strtof, strtold - convert ASCII string to floating-point number"
4995 msgstr ""
4996
4997 #. type: Plain text
4998 #: build/C/man3/strtod.3:52
4999 msgid "B<double strtod(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5000 msgstr ""
5001
5002 #. type: Plain text
5003 #: build/C/man3/strtod.3:54
5004 msgid "B<float strtof(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5005 msgstr ""
5006
5007 #. type: Plain text
5008 #: build/C/man3/strtod.3:56
5009 msgid "B<long double strtold(const char *>I<nptr>B<, char **>I<endptr>B<);>"
5010 msgstr ""
5011
5012 #. type: Plain text
5013 #: build/C/man3/strtod.3:65
5014 msgid "B<strtof>(), B<strtold>():"
5015 msgstr ""
5016
5017 #. type: Plain text
5018 #: build/C/man3/strtod.3:87
5019 msgid ""
5020 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions convert the "
5021 "initial portion of the string pointed to by I<nptr> to I<double>, I<float>, "
5022 "and I<long double> representation, respectively."
5023 msgstr ""
5024
5025 #. type: Plain text
5026 #: build/C/man3/strtod.3:94
5027 msgid ""
5028 "The expected form of the (initial portion of the) string is optional leading "
5029 "white space as recognized by B<isspace>(3), an optional plus (\\(aq+\\(aq) "
5030 "or minus sign (\\(aq-\\(aq) and then either (i) a decimal number, or (ii) a "
5031 "hexadecimal number, or (iii) an infinity, or (iv) a NAN (not-a-number)."
5032 msgstr ""
5033
5034 #. type: Plain text
5035 #: build/C/man3/strtod.3:103
5036 msgid ""
5037 "A I<decimal number> consists of a nonempty sequence of decimal digits "
5038 "possibly containing a radix character (decimal point, locale-dependent, "
5039 "usually \\(aq.\\(aq), optionally followed by a decimal exponent.  A decimal "
5040 "exponent consists of an \\(aqE\\(aq or \\(aqe\\(aq, followed by an optional "
5041 "plus or minus sign, followed by a nonempty sequence of decimal digits, and "
5042 "indicates multiplication by a power of 10."
5043 msgstr ""
5044
5045 #. type: Plain text
5046 #: build/C/man3/strtod.3:114
5047 msgid ""
5048 "A I<hexadecimal number> consists of a \"0x\" or \"0X\" followed by a "
5049 "nonempty sequence of hexadecimal digits possibly containing a radix "
5050 "character, optionally followed by a binary exponent.  A binary exponent "
5051 "consists of a \\(aqP\\(aq or \\(aqp\\(aq, followed by an optional plus or "
5052 "minus sign, followed by a nonempty sequence of decimal digits, and indicates "
5053 "multiplication by a power of 2.  At least one of radix character and binary "
5054 "exponent must be present."
5055 msgstr ""
5056
5057 #. type: Plain text
5058 #: build/C/man3/strtod.3:118
5059 msgid "An I<infinity> is either \"INF\" or \"INFINITY\", disregarding case."
5060 msgstr ""
5061
5062 #. type: Plain text
5063 #: build/C/man3/strtod.3:127
5064 msgid ""
5065 "A I<NAN> is \"NAN\" (disregarding case) optionally followed by a string, "
5066 "I<(n-char-sequence)>, where I<n-char-sequence> specifies in an "
5067 "implementation-dependent way the type of NAN (see NOTES)."
5068 msgstr ""
5069
5070 #. type: Plain text
5071 #: build/C/man3/strtod.3:129
5072 msgid "These functions return the converted value, if any."
5073 msgstr ""
5074
5075 #. type: Plain text
5076 #: build/C/man3/strtod.3:136
5077 msgid ""
5078 "If I<endptr> is not NULL, a pointer to the character after the last "
5079 "character used in the conversion is stored in the location referenced by "
5080 "I<endptr>."
5081 msgstr ""
5082
5083 #. type: Plain text
5084 #: build/C/man3/strtod.3:141
5085 msgid ""
5086 "If no conversion is performed, zero is returned and the value of I<nptr> is "
5087 "stored in the location referenced by I<endptr>."
5088 msgstr ""
5089
5090 #. type: Plain text
5091 #: build/C/man3/strtod.3:155
5092 msgid ""
5093 "If the correct value would cause overflow, plus or minus B<HUGE_VAL> "
5094 "(B<HUGE_VALF>, B<HUGE_VALL>)  is returned (according to the sign of the "
5095 "value), and B<ERANGE> is stored in I<errno>.  If the correct value would "
5096 "cause underflow, zero is returned and B<ERANGE> is stored in I<errno>."
5097 msgstr ""
5098
5099 #. type: TP
5100 #: build/C/man3/strtod.3:156 build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
5101 #, no-wrap
5102 msgid "B<ERANGE>"
5103 msgstr ""
5104
5105 #. type: Plain text
5106 #: build/C/man3/strtod.3:159
5107 msgid "Overflow or underflow occurred."
5108 msgstr ""
5109
5110 #. type: Plain text
5111 #: build/C/man3/strtod.3:171
5112 msgid ""
5113 "The B<strtod>(), B<strtof>(), and B<strtold>()  functions are thread-safe "
5114 "with exceptions.  These functions can be safely used in multithreaded "
5115 "applications, as long as B<setlocale>(3)  is not called to change the locale "
5116 "during their execution."
5117 msgstr ""
5118
5119 #. type: Plain text
5120 #: build/C/man3/strtod.3:176
5121 msgid "C89 describes B<strtod>(), C99 describes the other two functions."
5122 msgstr ""
5123
5124 #. type: Plain text
5125 #: build/C/man3/strtod.3:185
5126 msgid ""
5127 "Since 0 can legitimately be returned on both success and failure, the "
5128 "calling program should set I<errno> to 0 before the call, and then determine "
5129 "if an error occurred by checking whether I<errno> has a nonzero value after "
5130 "the call."
5131 msgstr ""
5132
5133 #.  From glibc 2.8's stdlib/strtod_l.c:
5134 #.      We expect it to be a number which is put in the
5135 #.      mantissa of the number.
5136 #.  It looks as though at least FreeBSD (according to the manual) does
5137 #.  something similar.
5138 #.  C11 says: "An implementation may use the n-char sequence to determine
5139 #.      extra information to be represented in the NaN's significant."
5140 #. type: Plain text
5141 #: build/C/man3/strtod.3:200
5142 msgid ""
5143 "In the glibc implementation, the I<n-char-sequence> that optionally follows "
5144 "\"NAN\" is interpreted as an integer number (with an optional '0' or '0x' "
5145 "prefix to select base 8 or 16)  that is to be placed in the mantissa "
5146 "component of the returned value."
5147 msgstr ""
5148
5149 #. type: Plain text
5150 #: build/C/man3/strtod.3:205 build/C/man3/strtoul.3:225
5151 msgid ""
5152 "See the example on the B<strtol>(3)  manual page; the use of the functions "
5153 "described in this manual page is similar."
5154 msgstr ""
5155
5156 #. type: Plain text
5157 #: build/C/man3/strtod.3:213
5158 msgid ""
5159 "B<atof>(3), B<atoi>(3), B<atol>(3), B<nan>(3), B<nanf>(3), B<nanl>(3), "
5160 "B<strtol>(3), B<strtoul>(3)"
5161 msgstr ""
5162
5163 #. type: TH
5164 #: build/C/man3/strtoimax.3:24
5165 #, no-wrap
5166 msgid "STRTOIMAX"
5167 msgstr ""
5168
5169 #. type: Plain text
5170 #: build/C/man3/strtoimax.3:27
5171 msgid "strtoimax, strtoumax - convert string to integer"
5172 msgstr ""
5173
5174 #. type: Plain text
5175 #: build/C/man3/strtoimax.3:30
5176 #, no-wrap
5177 msgid "B<#include E<lt>inttypes.hE<gt>>\n"
5178 msgstr ""
5179
5180 #. type: Plain text
5181 #: build/C/man3/strtoimax.3:32
5182 #, no-wrap
5183 msgid ""
5184 "B<intmax_t strtoimax(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5185 ">I<base>B<);>\n"
5186 msgstr ""
5187
5188 #. type: Plain text
5189 #: build/C/man3/strtoimax.3:34
5190 #, no-wrap
5191 msgid ""
5192 "B<uintmax_t strtoumax(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5193 ">I<base>B<);>\n"
5194 msgstr ""
5195
5196 #. type: Plain text
5197 #: build/C/man3/strtoimax.3:45
5198 msgid ""
5199 "These functions are just like B<strtol>(3)  and B<strtoul>(3), except that "
5200 "they return a value of type I<intmax_t> and I<uintmax_t>, respectively."
5201 msgstr ""
5202
5203 #. type: Plain text
5204 #: build/C/man3/strtoimax.3:58
5205 msgid ""
5206 "On success, the converted value is returned.  If nothing was found to "
5207 "convert, zero is returned.  On overflow or underflow B<INTMAX_MAX> or "
5208 "B<INTMAX_MIN> or B<UINTMAX_MAX> is returned, and I<errno> is set to "
5209 "B<ERANGE>."
5210 msgstr ""
5211
5212 #. type: Plain text
5213 #: build/C/man3/strtoimax.3:69
5214 msgid ""
5215 "The B<strtoimax>()  and B<strtoumax>()  functions are thread-safe with "
5216 "exceptions.  These functions can be safely used in multithreaded "
5217 "applications, as long as B<setlocale>(3)  is not called to change the locale "
5218 "during their execution."
5219 msgstr ""
5220
5221 #. type: Plain text
5222 #: build/C/man3/strtoimax.3:76
5223 msgid "B<imaxabs>(3), B<imaxdiv>(3), B<strtol>(3), B<strtoul>(3), B<wcstoimax>(3)"
5224 msgstr ""
5225
5226 #. type: TH
5227 #: build/C/man3/strtol.3:31
5228 #, no-wrap
5229 msgid "STRTOL"
5230 msgstr ""
5231
5232 #. type: Plain text
5233 #: build/C/man3/strtol.3:34
5234 msgid "strtol, strtoll, strtoq - convert a string to a long integer"
5235 msgstr ""
5236
5237 #. type: Plain text
5238 #: build/C/man3/strtol.3:39
5239 #, no-wrap
5240 msgid ""
5241 "B<long int strtol(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5242 ">I<base>B<);>\n"
5243 msgstr ""
5244
5245 #. type: Plain text
5246 #: build/C/man3/strtol.3:42
5247 #, no-wrap
5248 msgid ""
5249 "B<long long int strtoll(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5250 ">I<base>B<);>\n"
5251 msgstr ""
5252
5253 #. type: Plain text
5254 #: build/C/man3/strtol.3:51
5255 msgid "B<strtoll>():"
5256 msgstr ""
5257
5258 #. type: Plain text
5259 #: build/C/man3/strtol.3:54 build/C/man3/strtoul.3:57
5260 msgid ""
5261 "_XOPEN_SOURCE\\ E<gt>=\\ 600 || _BSD_SOURCE || _SVID_SOURCE || "
5262 "_ISOC99_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L;"
5263 msgstr ""
5264
5265 #. type: Plain text
5266 #: build/C/man3/strtol.3:68
5267 msgid ""
5268 "The B<strtol>()  function converts the initial part of the string in I<nptr> "
5269 "to a long integer value according to the given I<base>, which must be "
5270 "between 2 and 36 inclusive, or be the special value 0."
5271 msgstr ""
5272
5273 #. type: Plain text
5274 #: build/C/man3/strtol.3:81 build/C/man3/strtoul.3:89
5275 msgid ""
5276 "The string may begin with an arbitrary amount of white space (as determined "
5277 "by B<isspace>(3))  followed by a single optional \\(aq+\\(aq or \\(aq-\\(aq "
5278 "sign.  If I<base> is zero or 16, the string may then include a \"0x\" "
5279 "prefix, and the number will be read in base 16; otherwise, a zero I<base> is "
5280 "taken as 10 (decimal) unless the next character is \\(aq0\\(aq, in which "
5281 "case it is taken as 8 (octal)."
5282 msgstr ""
5283
5284 #. type: Plain text
5285 #: build/C/man3/strtol.3:90
5286 msgid ""
5287 "The remainder of the string is converted to a I<long int> value in the "
5288 "obvious manner, stopping at the first character which is not a valid digit "
5289 "in the given base.  (In bases above 10, the letter \\(aqA\\(aq in either "
5290 "uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and so "
5291 "forth, with \\(aqZ\\(aq representing 35.)"
5292 msgstr ""
5293
5294 #. type: Plain text
5295 #: build/C/man3/strtol.3:111
5296 msgid ""
5297 "If I<endptr> is not NULL, B<strtol>()  stores the address of the first "
5298 "invalid character in I<*endptr>.  If there were no digits at all, "
5299 "B<strtol>()  stores the original value of I<nptr> in I<*endptr> (and returns "
5300 "0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but I<**endptr> is "
5301 "\\(aq\\e0\\(aq on return, the entire string is valid."
5302 msgstr ""
5303
5304 #. type: Plain text
5305 #: build/C/man3/strtol.3:117
5306 msgid ""
5307 "The B<strtoll>()  function works just like the B<strtol>()  function but "
5308 "returns a long long integer value."
5309 msgstr ""
5310
5311 #. type: Plain text
5312 #: build/C/man3/strtol.3:144
5313 msgid ""
5314 "The B<strtol>()  function returns the result of the conversion, unless the "
5315 "value would underflow or overflow.  If an underflow occurs, B<strtol>()  "
5316 "returns B<LONG_MIN>.  If an overflow occurs, B<strtol>()  returns "
5317 "B<LONG_MAX>.  In both cases, I<errno> is set to B<ERANGE>.  Precisely the "
5318 "same holds for B<strtoll>()  (with B<LLONG_MIN> and B<LLONG_MAX> instead of "
5319 "B<LONG_MIN> and B<LONG_MAX>)."
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: build/C/man3/strtol.3:151 build/C/man3/strtoul.3:155
5324 msgid "(not in C99)  The given I<base> contains an unsupported value."
5325 msgstr ""
5326
5327 #. type: Plain text
5328 #: build/C/man3/strtol.3:154 build/C/man3/strtoul.3:158
5329 msgid "The resulting value was out of range."
5330 msgstr ""
5331
5332 #. type: Plain text
5333 #: build/C/man3/strtol.3:161 build/C/man3/strtoul.3:165
5334 msgid ""
5335 "The implementation may also set I<errno> to B<EINVAL> in case no conversion "
5336 "was performed (no digits seen, and 0 returned)."
5337 msgstr ""
5338
5339 #. type: Plain text
5340 #: build/C/man3/strtol.3:173
5341 msgid ""
5342 "The B<strtol>(), B<strtoll>(), and B<strtoq>()  functions are thread-safe "
5343 "with exceptions.  These functions can be safely used in multithreaded "
5344 "applications, as long as B<setlocale>(3)  is not called to change the locale "
5345 "during their execution."
5346 msgstr ""
5347
5348 #. type: Plain text
5349 #: build/C/man3/strtol.3:178
5350 msgid ""
5351 "B<strtol>()  conforms to SVr4, 4.3BSD, C89, C99, and POSIX.1-2001, and "
5352 "B<strtoll>()  to C99 and POSIX.1-2001."
5353 msgstr ""
5354
5355 #. type: Plain text
5356 #: build/C/man3/strtol.3:196
5357 msgid ""
5358 "Since B<strtol>()  can legitimately return 0, B<LONG_MAX>, or B<LONG_MIN> "
5359 "(B<LLONG_MAX> or B<LLONG_MIN> for B<strtoll>())  on both success and "
5360 "failure, the calling program should set I<errno> to 0 before the call, and "
5361 "then determine if an error occurred by checking whether I<errno> has a "
5362 "nonzero value after the call."
5363 msgstr ""
5364
5365 #. type: Plain text
5366 #: build/C/man3/strtol.3:201
5367 msgid ""
5368 "According to POSIX.1-2001, in locales other than the \"C\" and \"POSIX\", "
5369 "these functions may accept other, implementation-defined numeric strings."
5370 msgstr ""
5371
5372 #. type: Plain text
5373 #: build/C/man3/strtol.3:203 build/C/man3/strtoul.3:202
5374 msgid "BSD also has"
5375 msgstr ""
5376
5377 #. type: Plain text
5378 #: build/C/man3/strtol.3:207
5379 #, no-wrap
5380 msgid ""
5381 "B<quad_t strtoq(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5382 ">I<base>B<);>\n"
5383 msgstr ""
5384
5385 #. type: Plain text
5386 #: build/C/man3/strtol.3:216
5387 msgid ""
5388 "with completely analogous definition.  Depending on the wordsize of the "
5389 "current architecture, this may be equivalent to B<strtoll>()  or to "
5390 "B<strtol>()."
5391 msgstr ""
5392
5393 #. type: Plain text
5394 #: build/C/man3/strtol.3:230
5395 msgid ""
5396 "The program shown below demonstrates the use of B<strtol>().  The first "
5397 "command-line argument specifies a string from which B<strtol>()  should "
5398 "parse a number.  The second (optional) argument specifies the base to be "
5399 "used for the conversion.  (This argument is converted to numeric form using "
5400 "B<atoi>(3), a function that performs no error checking and has a simpler "
5401 "interface than B<strtol>().)  Some examples of the results produced by this "
5402 "program are the following:"
5403 msgstr ""
5404
5405 #. type: Plain text
5406 #: build/C/man3/strtol.3:246
5407 #, no-wrap
5408 msgid ""
5409 "$B< ./a.out 123>\n"
5410 "strtol() returned 123\n"
5411 "$B< ./a.out \\(aq    123\\(aq>\n"
5412 "strtol() returned 123\n"
5413 "$B< ./a.out 123abc>\n"
5414 "strtol() returned 123\n"
5415 "Further characters after number: abc\n"
5416 "$B< ./a.out 123abc 55>\n"
5417 "strtol: Invalid argument\n"
5418 "$B< ./a.out \\(aq\\(aq>\n"
5419 "No digits were found\n"
5420 "$B< ./a.out 4000000000>\n"
5421 "strtol: Numerical result out of range\n"
5422 msgstr ""
5423
5424 #. type: Plain text
5425 #: build/C/man3/strtol.3:255
5426 #, no-wrap
5427 msgid ""
5428 "#include E<lt>stdlib.hE<gt>\n"
5429 "#include E<lt>limits.hE<gt>\n"
5430 "#include E<lt>stdio.hE<gt>\n"
5431 "#include E<lt>errno.hE<gt>\n"
5432 msgstr ""
5433
5434 #. type: Plain text
5435 #: build/C/man3/strtol.3:262
5436 #, no-wrap
5437 msgid ""
5438 "int\n"
5439 "main(int argc, char *argv[])\n"
5440 "{\n"
5441 "    int base;\n"
5442 "    char *endptr, *str;\n"
5443 "    long val;\n"
5444 msgstr ""
5445
5446 #. type: Plain text
5447 #: build/C/man3/strtol.3:267
5448 #, no-wrap
5449 msgid ""
5450 "    if (argc E<lt> 2) {\n"
5451 "        fprintf(stderr, \"Usage: %s str [base]\\en\", argv[0]);\n"
5452 "        exit(EXIT_FAILURE);\n"
5453 "    }\n"
5454 msgstr ""
5455
5456 #. type: Plain text
5457 #: build/C/man3/strtol.3:270
5458 #, no-wrap
5459 msgid ""
5460 "    str = argv[1];\n"
5461 "    base = (argc E<gt> 2) ? atoi(argv[2]) : 10;\n"
5462 msgstr ""
5463
5464 #. type: Plain text
5465 #: build/C/man3/strtol.3:273
5466 #, no-wrap
5467 msgid ""
5468 "    errno = 0;    /* To distinguish success/failure after call */\n"
5469 "    val = strtol(str, &endptr, base);\n"
5470 msgstr ""
5471
5472 #. type: Plain text
5473 #: build/C/man3/strtol.3:275
5474 #, no-wrap
5475 msgid "    /* Check for various possible errors */\n"
5476 msgstr ""
5477
5478 #. type: Plain text
5479 #: build/C/man3/strtol.3:281
5480 #, no-wrap
5481 msgid ""
5482 "    if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))\n"
5483 "            || (errno != 0 && val == 0)) {\n"
5484 "        perror(\"strtol\");\n"
5485 "        exit(EXIT_FAILURE);\n"
5486 "    }\n"
5487 msgstr ""
5488
5489 #. type: Plain text
5490 #: build/C/man3/strtol.3:286
5491 #, no-wrap
5492 msgid ""
5493 "    if (endptr == str) {\n"
5494 "        fprintf(stderr, \"No digits were found\\en\");\n"
5495 "        exit(EXIT_FAILURE);\n"
5496 "    }\n"
5497 msgstr ""
5498
5499 #. type: Plain text
5500 #: build/C/man3/strtol.3:288
5501 #, no-wrap
5502 msgid "    /* If we got here, strtol() successfully parsed a number */\n"
5503 msgstr ""
5504
5505 #. type: Plain text
5506 #: build/C/man3/strtol.3:290
5507 #, no-wrap
5508 msgid "    printf(\"strtol() returned %ld\\en\", val);\n"
5509 msgstr ""
5510
5511 #. type: Plain text
5512 #: build/C/man3/strtol.3:293
5513 #, no-wrap
5514 msgid ""
5515 "    if (*endptr != \\(aq\\e0\\(aq)        /* Not necessarily an "
5516 "error... */\n"
5517 "        printf(\"Further characters after number: %s\\en\", endptr);\n"
5518 msgstr ""
5519
5520 #. type: Plain text
5521 #: build/C/man3/strtol.3:302
5522 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtoul>(3)"
5523 msgstr ""
5524
5525 #. type: TH
5526 #: build/C/man3/strtoul.3:33
5527 #, no-wrap
5528 msgid "STRTOUL"
5529 msgstr ""
5530
5531 #. type: Plain text
5532 #: build/C/man3/strtoul.3:36
5533 msgid "strtoul, strtoull, strtouq - convert a string to an unsigned long integer"
5534 msgstr ""
5535
5536 #. type: Plain text
5537 #: build/C/man3/strtoul.3:42
5538 #, no-wrap
5539 msgid ""
5540 "B<unsigned long int strtoul(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5541 ">I<base>B<);>\n"
5542 msgstr ""
5543
5544 #. type: Plain text
5545 #: build/C/man3/strtoul.3:45
5546 #, no-wrap
5547 msgid ""
5548 "B<unsigned long long int strtoull(const char *>I<nptr>B<, char "
5549 "**>I<endptr>B<,>\n"
5550 "B<                                int >I<base>B<);>\n"
5551 msgstr ""
5552
5553 #. type: Plain text
5554 #: build/C/man3/strtoul.3:54
5555 msgid "B<strtoull>():"
5556 msgstr ""
5557
5558 #. type: Plain text
5559 #: build/C/man3/strtoul.3:75
5560 msgid ""
5561 "The B<strtoul>()  function converts the initial part of the string in "
5562 "I<nptr> to an I<unsigned long int> value according to the given I<base>, "
5563 "which must be between 2 and 36 inclusive, or be the special value 0."
5564 msgstr ""
5565
5566 #. type: Plain text
5567 #: build/C/man3/strtoul.3:98
5568 msgid ""
5569 "The remainder of the string is converted to an I<unsigned long int> value in "
5570 "the obvious manner, stopping at the first character which is not a valid "
5571 "digit in the given base.  (In bases above 10, the letter \\(aqA\\(aq in "
5572 "either uppercase or lowercase represents 10, \\(aqB\\(aq represents 11, and "
5573 "so forth, with \\(aqZ\\(aq representing 35.)"
5574 msgstr ""
5575
5576 #. type: Plain text
5577 #: build/C/man3/strtoul.3:119
5578 msgid ""
5579 "If I<endptr> is not NULL, B<strtoul>()  stores the address of the first "
5580 "invalid character in I<*endptr>.  If there were no digits at all, "
5581 "B<strtoul>()  stores the original value of I<nptr> in I<*endptr> (and "
5582 "returns 0).  In particular, if I<*nptr> is not \\(aq\\e0\\(aq but "
5583 "I<**endptr> is \\(aq\\e0\\(aq on return, the entire string is valid."
5584 msgstr ""
5585
5586 #. type: Plain text
5587 #: build/C/man3/strtoul.3:127
5588 msgid ""
5589 "The B<strtoull>()  function works just like the B<strtoul>()  function but "
5590 "returns an I<unsigned long long int> value."
5591 msgstr ""
5592
5593 #. type: Plain text
5594 #: build/C/man3/strtoul.3:148
5595 msgid ""
5596 "The B<strtoul>()  function returns either the result of the conversion or, "
5597 "if there was a leading minus sign, the negation of the result of the "
5598 "conversion represented as an unsigned value, unless the original "
5599 "(nonnegated) value would overflow; in the latter case, B<strtoul>()  returns "
5600 "B<ULONG_MAX> and sets I<errno> to B<ERANGE>.  Precisely the same holds for "
5601 "B<strtoull>()  (with B<ULLONG_MAX> instead of B<ULONG_MAX>)."
5602 msgstr ""
5603
5604 #. type: Plain text
5605 #: build/C/man3/strtoul.3:177
5606 msgid ""
5607 "The B<strtoul>(), B<strtoull>(), and B<strtouq>()  functions are thread-safe "
5608 "with exceptions.  These functions can be safely used in multithreaded "
5609 "applications, as long as B<setlocale>(3)  is not called to change the locale "
5610 "during their execution."
5611 msgstr ""
5612
5613 #. type: Plain text
5614 #: build/C/man3/strtoul.3:182
5615 msgid ""
5616 "B<strtoul>()  conforms to SVr4, C89, C99, and POSIX-2001, and B<strtoull>()  "
5617 "to C99 and POSIX.1-2001."
5618 msgstr ""
5619
5620 #. type: Plain text
5621 #: build/C/man3/strtoul.3:196
5622 msgid ""
5623 "Since B<strtoul>()  can legitimately return 0 or B<ULONG_MAX> (B<ULLONG_MAX> "
5624 "for B<strtoull>())  on both success and failure, the calling program should "
5625 "set I<errno> to 0 before the call, and then determine if an error occurred "
5626 "by checking whether I<errno> has a nonzero value after the call."
5627 msgstr ""
5628
5629 #. type: Plain text
5630 #: build/C/man3/strtoul.3:200
5631 msgid ""
5632 "In locales other than the \"C\" locale, other strings may be accepted.  (For "
5633 "example, the thousands separator of the current locale may be supported.)"
5634 msgstr ""
5635
5636 #. type: Plain text
5637 #: build/C/man3/strtoul.3:206
5638 #, no-wrap
5639 msgid ""
5640 "B<u_quad_t strtouq(const char *>I<nptr>B<, char **>I<endptr>B<, int "
5641 ">I<base>B<);>\n"
5642 msgstr ""
5643
5644 #. type: Plain text
5645 #: build/C/man3/strtoul.3:215
5646 msgid ""
5647 "with completely analogous definition.  Depending on the wordsize of the "
5648 "current architecture, this may be equivalent to B<strtoull>()  or to "
5649 "B<strtoul>()."
5650 msgstr ""
5651
5652 #. type: Plain text
5653 #: build/C/man3/strtoul.3:220
5654 msgid ""
5655 "Negative values are considered valid input and are silently converted to the "
5656 "equivalent I<unsigned long int> value."
5657 msgstr ""
5658
5659 #. type: Plain text
5660 #: build/C/man3/strtoul.3:230
5661 msgid "B<atof>(3), B<atoi>(3), B<atol>(3), B<strtod>(3), B<strtol>(3)"
5662 msgstr ""
5663
5664 #. type: TH
5665 #: build/C/man3/system.3:31
5666 #, no-wrap
5667 msgid "SYSTEM"
5668 msgstr ""
5669
5670 #. type: Plain text
5671 #: build/C/man3/system.3:34
5672 msgid "system - execute a shell command"
5673 msgstr ""
5674
5675 #. type: Plain text
5676 #: build/C/man3/system.3:39
5677 #, no-wrap
5678 msgid "B<int system(const char *>I<command>B<);>\n"
5679 msgstr ""
5680
5681 #. type: Plain text
5682 #: build/C/man3/system.3:50
5683 msgid ""
5684 "The B<system>()  library function uses B<fork>(2)  to create a child process "
5685 "that executes the shell command specified in I<command> using B<execl>(3)  "
5686 "as follows:"
5687 msgstr ""
5688
5689 #. type: Plain text
5690 #: build/C/man3/system.3:52
5691 #, no-wrap
5692 msgid "    execl(\"/bin/sh\", \"sh\", \"-c\", command, (char *) 0);\n"
5693 msgstr ""
5694
5695 #. type: Plain text
5696 #: build/C/man3/system.3:55
5697 msgid "B<system>()  returns after the command has been completed."
5698 msgstr ""
5699
5700 #. type: Plain text
5701 #: build/C/man3/system.3:67
5702 msgid ""
5703 "During execution of the command, B<SIGCHLD> will be blocked, and B<SIGINT> "
5704 "and B<SIGQUIT> will be ignored, in the process that calls B<system>()  "
5705 "(these signals will be handled according to their defaults inside the child "
5706 "process that executes I<command>)."
5707 msgstr ""
5708
5709 #. type: Plain text
5710 #: build/C/man3/system.3:73
5711 msgid ""
5712 "If I<command> is NULL, then B<system>()  returns a status indicating whether "
5713 "a shell is available on the system"
5714 msgstr ""
5715
5716 #. type: Plain text
5717 #: build/C/man3/system.3:77
5718 msgid "The return value of B<system>()  is one of the following:"
5719 msgstr ""
5720
5721 #. type: Plain text
5722 #: build/C/man3/system.3:82
5723 msgid ""
5724 "If I<command> is NULL, then a nonzero value if a shell is available, or 0 if "
5725 "no shell is available."
5726 msgstr ""
5727
5728 #. type: Plain text
5729 #: build/C/man3/system.3:86
5730 msgid ""
5731 "If a child process could not be created, or its status could not be "
5732 "retrieved, the return value is -1."
5733 msgstr ""
5734
5735 #. type: Plain text
5736 #: build/C/man3/system.3:91
5737 msgid ""
5738 "If a shell could not be executed in the child process, then the return value "
5739 "is as though the child shell terminated by calling B<_exit>(2)  with the "
5740 "status 127."
5741 msgstr ""
5742
5743 #. type: Plain text
5744 #: build/C/man3/system.3:98
5745 msgid ""
5746 "If all system calls succeed, then the return value is the termination status "
5747 "of the child shell used to execute I<command>.  (The termination status of a "
5748 "shell is the termination status of the last command it executes.)"
5749 msgstr ""
5750
5751 #. type: Plain text
5752 #: build/C/man3/system.3:107
5753 msgid ""
5754 "In the last two cases, the return value is a \"wait status\" that can be "
5755 "examined using the macros described in B<waitpid>(2).  (i.e., B<WIFEXITED>()  "
5756 "B<WEXITSTATUS>()  and so on)."
5757 msgstr ""
5758
5759 #. type: Plain text
5760 #: build/C/man3/system.3:110
5761 msgid "B<system>()  does not affect the wait status of any other children."
5762 msgstr ""
5763
5764 #. type: Plain text
5765 #: build/C/man3/system.3:115
5766 msgid "The B<system>()  function is thread-safe."
5767 msgstr ""
5768
5769 #. type: Plain text
5770 #: build/C/man3/system.3:117
5771 msgid "C89, C99, POSIX.1-2001."
5772 msgstr ""
5773
5774 #. type: Plain text
5775 #: build/C/man3/system.3:134
5776 msgid ""
5777 "B<system>()  provides simplicity and convenience: it handles all of the "
5778 "details of calling B<fork>(2), B<execl>(3), and B<waitpid>(2), as well as "
5779 "the necessary manipulations of signals; in addition, the shell performs the "
5780 "usual substitutions and I/O redirections for I<command>.  The main cost of "
5781 "B<system>()  is inefficiency: additional system calls are required to create "
5782 "the process that runs the shell and to execute the shell."
5783 msgstr ""
5784
5785 #. type: Plain text
5786 #: build/C/man3/system.3:146
5787 msgid ""
5788 "If the B<_XOPEN_SOURCE> feature test macro is defined (before including "
5789 "I<any> header files), then the macros described in B<waitpid>(2)  "
5790 "(B<WEXITSTATUS>(), etc.) are made available when including "
5791 "I<E<lt>stdlib.hE<gt>>."
5792 msgstr ""
5793
5794 #. type: Plain text
5795 #: build/C/man3/system.3:157
5796 msgid ""
5797 "As mentioned, B<system>()  ignores B<SIGINT> and B<SIGQUIT>.  This may make "
5798 "programs that call it from a loop uninterruptible, unless they take care "
5799 "themselves to check the exit status of the child.  For example:"
5800 msgstr ""
5801
5802 #. type: Plain text
5803 #: build/C/man3/system.3:162
5804 #, no-wrap
5805 msgid ""
5806 "    while (something) {\n"
5807 "        int ret = system(\"foo\");\n"
5808 msgstr ""
5809
5810 #. type: Plain text
5811 #: build/C/man3/system.3:167
5812 #, no-wrap
5813 msgid ""
5814 "        if (WIFSIGNALED(ret) &&\n"
5815 "            (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))\n"
5816 "                break;\n"
5817 "    }\n"
5818 msgstr ""
5819
5820 #. type: Plain text
5821 #: build/C/man3/system.3:187
5822 msgid ""
5823 "Do not use B<system>()  from a program with set-user-ID or set-group-ID "
5824 "privileges, because strange values for some environment variables might be "
5825 "used to subvert system integrity.  Use the B<exec>(3)  family of functions "
5826 "instead, but not B<execlp>(3)  or B<execvp>(3).  B<system>()  will not, in "
5827 "fact, work properly from programs with set-user-ID or set-group-ID "
5828 "privileges on systems on which I</bin/sh> is bash version 2, since bash 2 "
5829 "drops privileges on startup.  (Debian uses a modified bash which does not do "
5830 "this when invoked as B<sh>.)"
5831 msgstr ""
5832
5833 #. type: Plain text
5834 #: build/C/man3/system.3:201
5835 msgid ""
5836 "In versions of glibc before 2.1.3, the check for the availability of "
5837 "I</bin/sh> was not actually performed if I<command> was NULL; instead it was "
5838 "always assumed to be available, and B<system>()  always returned 1 in this "
5839 "case.  Since glibc 2.1.3, this check is performed because, even though "
5840 "POSIX.1-2001 requires a conforming implementation to provide a shell, that "
5841 "shell may not be available or executable if the calling program has "
5842 "previously called B<chroot>(2)  (which is not specified by POSIX.1-2001)."
5843 msgstr ""
5844
5845 #. type: Plain text
5846 #: build/C/man3/system.3:207
5847 msgid ""
5848 "It is possible for the shell command to terminate with a status of 127, "
5849 "which yields a B<system>()  return value that is indistinguishable from the "
5850 "case where a shell could not be executed in the child process."
5851 msgstr ""
5852
5853 #. type: Plain text
5854 #: build/C/man3/system.3:214
5855 msgid ""
5856 "B<sh>(1), B<sigaction>(2), B<sigprocmask>(2), B<fork>(2), B<wait>(2), "
5857 "B<exec>(3), B<signal>(7)"
5858 msgstr ""
5859
5860 #. type: TH
5861 #: build/C/man7/vdso.7:13
5862 #, no-wrap
5863 msgid "VDSO"
5864 msgstr ""
5865
5866 #. type: Plain text
5867 #: build/C/man7/vdso.7:16
5868 msgid "vDSO - overview of the virtual ELF dynamic shared object"
5869 msgstr ""
5870
5871 #. type: Plain text
5872 #: build/C/man7/vdso.7:18
5873 msgid "B<#include E<lt>sys/auxv.hE<gt>>"
5874 msgstr ""
5875
5876 #. type: Plain text
5877 #: build/C/man7/vdso.7:20
5878 msgid "B<void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);>"
5879 msgstr ""
5880
5881 #. type: Plain text
5882 #: build/C/man7/vdso.7:29
5883 msgid ""
5884 "The \"vDSO\" (virtual dynamic shared object) is a small shared library that "
5885 "the kernel automatically maps into the address space of all user-space "
5886 "applications.  Applications usually do not need to concern themselves with "
5887 "these details as the vDSO is most commonly called by the C library.  This "
5888 "way you can code in the normal way using standard functions and the C "
5889 "library will take care of using any functionality that is available via the "
5890 "vDSO."
5891 msgstr ""
5892
5893 #. type: Plain text
5894 #: build/C/man7/vdso.7:37
5895 msgid ""
5896 "Why does the vDSO exist at all? There are some system calls the kernel "
5897 "provides that user-space code ends up using frequently, to the point that "
5898 "such calls can dominate overall performance.  This is due both to the "
5899 "frequency of the call as well as the context-switch overhead that results "
5900 "from exiting user space and entering the kernel."
5901 msgstr ""
5902
5903 #. type: Plain text
5904 #: build/C/man7/vdso.7:42
5905 msgid ""
5906 "The rest of this documentation is geared toward the curious and/or C library "
5907 "writers rather than general developers.  If you're trying to call the vDSO "
5908 "in your own application rather than using the C library, you're most likely "
5909 "doing it wrong."
5910 msgstr ""
5911
5912 #. type: SS
5913 #: build/C/man7/vdso.7:42
5914 #, no-wrap
5915 msgid "Example background"
5916 msgstr ""
5917
5918 #. type: Plain text
5919 #: build/C/man7/vdso.7:56
5920 msgid ""
5921 "Making system calls can be slow.  In x86 32-bit systems, you can trigger a "
5922 "software interrupt (I<int $0x80>)  to tell the kernel you wish to make a "
5923 "system call.  However, this instruction is expensive: it goes through the "
5924 "full interrupt-handling paths in the processor's microcode as well as in the "
5925 "kernel.  Newer processors have faster (but backward incompatible) "
5926 "instructions to initiate system calls.  Rather than require the C library to "
5927 "figure out if this functionality is available at run time, the C library can "
5928 "use functions provided by the kernel in the vDSO."
5929 msgstr ""
5930
5931 #. type: Plain text
5932 #: build/C/man7/vdso.7:63
5933 msgid ""
5934 "Note that the terminology can be confusing.  On x86 systems, the vDSO "
5935 "function used to determine the preferred method of making a system call is "
5936 "named \"__kernel_vsyscall\", but on x86_64, the term \"vsyscall\" also "
5937 "refers to an obsolete way to ask the kernel what time it is or what CPU the "
5938 "caller is on."
5939 msgstr ""
5940
5941 #. type: Plain text
5942 #: build/C/man7/vdso.7:79
5943 msgid ""
5944 "One frequently used system call is B<gettimeofday>(2).  This system call is "
5945 "called both directly by user-space applications as well as indirectly by the "
5946 "C library.  Think timestamps or timing loops or polling\\(emall of these "
5947 "frequently need to know what time it is right now.  This information is also "
5948 "not secret\\(emany application in any privilege mode (root or any "
5949 "unprivileged user) will get the same answer.  Thus the kernel arranges for "
5950 "the information required to answer this question to be placed in memory the "
5951 "process can access.  Now a call to B<gettimeofday>(2)  changes from a system "
5952 "call to a normal function call and a few memory accesses."
5953 msgstr ""
5954
5955 #. type: SS
5956 #: build/C/man7/vdso.7:79
5957 #, no-wrap
5958 msgid "Finding the vDSO"
5959 msgstr ""
5960
5961 #. type: Plain text
5962 #: build/C/man7/vdso.7:86
5963 msgid ""
5964 "The base address of the vDSO (if one exists) is passed by the kernel to each "
5965 "program in the initial auxiliary vector (see B<getauxval>(3)), via the "
5966 "B<AT_SYSINFO_EHDR> tag."
5967 msgstr ""
5968
5969 #. type: Plain text
5970 #: build/C/man7/vdso.7:95
5971 msgid ""
5972 "You must not assume the vDSO is mapped at any particular location in the "
5973 "user's memory map.  The base address will usually be randomized at run time "
5974 "every time a new process image is created (at B<execve>(2)  time).  This is "
5975 "done for security reasons, to prevent \"return-to-libc\" attacks."
5976 msgstr ""
5977
5978 #. type: Plain text
5979 #: build/C/man7/vdso.7:104
5980 msgid ""
5981 "For some architectures, there is also an B<AT_SYSINFO> tag.  This is used "
5982 "only for locating the vsyscall entry point and is frequently omitted or set "
5983 "to 0 (meaning it's not available).  This tag is a throwback to the initial "
5984 "vDSO work (see I<History> below) and its use should be avoided."
5985 msgstr ""
5986
5987 #. type: SS
5988 #: build/C/man7/vdso.7:104
5989 #, no-wrap
5990 msgid "File format"
5991 msgstr ""
5992
5993 #. type: Plain text
5994 #: build/C/man7/vdso.7:111
5995 msgid ""
5996 "Since the vDSO is a fully formed ELF image, you can do symbol lookups on "
5997 "it.  This allows new symbols to be added with newer kernel releases, and "
5998 "allows the C library to detect available functionality at run time when "
5999 "running under different kernel versions.  Oftentimes the C library will do "
6000 "detection with the first call and then cache the result for subsequent "
6001 "calls."
6002 msgstr ""
6003
6004 #. type: Plain text
6005 #: build/C/man7/vdso.7:120
6006 msgid ""
6007 "All symbols are also versioned (using the GNU version format).  This allows "
6008 "the kernel to update the function signature without breaking backward "
6009 "compatibility.  This means changing the arguments that the function accepts "
6010 "as well as the return value.  Thus, when looking up a symbol in the vDSO, "
6011 "you must always include the version to match the ABI you expect."
6012 msgstr ""
6013
6014 #. type: Plain text
6015 #: build/C/man7/vdso.7:125
6016 msgid ""
6017 "Typically the vDSO follows the naming convention of prefixing all symbols "
6018 "with \"__vdso_\" or \"__kernel_\" so as to distinguish them from other "
6019 "standard symbols.  For example, the \"gettimeofday\" function is named "
6020 "\"__vdso_gettimeofday\"."
6021 msgstr ""
6022
6023 #. type: Plain text
6024 #: build/C/man7/vdso.7:129
6025 msgid ""
6026 "You use the standard C calling conventions when calling any of these "
6027 "functions.  No need to worry about weird register or stack behavior."
6028 msgstr ""
6029
6030 #. type: SS
6031 #: build/C/man7/vdso.7:130
6032 #, no-wrap
6033 msgid "Source"
6034 msgstr ""
6035
6036 #. type: Plain text
6037 #: build/C/man7/vdso.7:134
6038 msgid ""
6039 "When you compile the kernel, it will automatically compile and link the vDSO "
6040 "code for you.  You will frequently find it under the architecture-specific "
6041 "directory:"
6042 msgstr ""
6043
6044 #. type: Plain text
6045 #: build/C/man7/vdso.7:136
6046 #, no-wrap
6047 msgid "    find arch/$ARCH/ -name '*vdso*.so*' -o -name '*gate*.so*'\n"
6048 msgstr ""
6049
6050 #. type: SS
6051 #: build/C/man7/vdso.7:137
6052 #, no-wrap
6053 msgid "vDSO names"
6054 msgstr ""
6055
6056 #. type: Plain text
6057 #: build/C/man7/vdso.7:143
6058 msgid ""
6059 "The name of the vDSO varies across architectures.  It will often show up in "
6060 "things like glibc's B<ldd>(1)  output.  The exact name should not matter to "
6061 "any code, so do not hardcode it."
6062 msgstr ""
6063
6064 #. type: tbl table
6065 #: build/C/man7/vdso.7:148
6066 #, no-wrap
6067 msgid "user ABI\tvDSO name\n"
6068 msgstr ""
6069
6070 #. type: tbl table
6071 #: build/C/man7/vdso.7:149 build/C/man7/vdso.7:198 build/C/man7/vdso.7:235 build/C/man7/vdso.7:263 build/C/man7/vdso.7:299 build/C/man7/vdso.7:333 build/C/man7/vdso.7:359 build/C/man7/vdso.7:384 build/C/man7/vdso.7:402 build/C/man7/vdso.7:420 build/C/man7/vdso.7:438 build/C/man7/vdso.7:463 build/C/man7/vdso.7:482
6072 #, no-wrap
6073 msgid "_\n"
6074 msgstr ""
6075
6076 #. type: tbl table
6077 #: build/C/man7/vdso.7:150
6078 #, no-wrap
6079 msgid "aarch64\tlinux-vdso.so.1\n"
6080 msgstr ""
6081
6082 #. type: tbl table
6083 #: build/C/man7/vdso.7:151
6084 #, no-wrap
6085 msgid "ia64\tlinux-gate.so.1\n"
6086 msgstr ""
6087
6088 #. type: tbl table
6089 #: build/C/man7/vdso.7:152
6090 #, no-wrap
6091 msgid "ppc/32\tlinux-vdso32.so.1\n"
6092 msgstr ""
6093
6094 #. type: tbl table
6095 #: build/C/man7/vdso.7:153
6096 #, no-wrap
6097 msgid "ppc/64\tlinux-vdso64.so.1\n"
6098 msgstr ""
6099
6100 #. type: tbl table
6101 #: build/C/man7/vdso.7:154
6102 #, no-wrap
6103 msgid "s390\tlinux-vdso32.so.1\n"
6104 msgstr ""
6105
6106 #. type: tbl table
6107 #: build/C/man7/vdso.7:155
6108 #, no-wrap
6109 msgid "s390x\tlinux-vdso64.so.1\n"
6110 msgstr ""
6111
6112 #. type: tbl table
6113 #: build/C/man7/vdso.7:156
6114 #, no-wrap
6115 msgid "sh\tlinux-gate.so.1\n"
6116 msgstr ""
6117
6118 #. type: tbl table
6119 #: build/C/man7/vdso.7:157
6120 #, no-wrap
6121 msgid "i386\tlinux-gate.so.1\n"
6122 msgstr ""
6123
6124 #. type: tbl table
6125 #: build/C/man7/vdso.7:158
6126 #, no-wrap
6127 msgid "x86_64\tlinux-vdso.so.1\n"
6128 msgstr ""
6129
6130 #. type: tbl table
6131 #: build/C/man7/vdso.7:159
6132 #, no-wrap
6133 msgid "x86/x32\tlinux-vdso.so.1\n"
6134 msgstr ""
6135
6136 #. type: SH
6137 #: build/C/man7/vdso.7:165
6138 #, no-wrap
6139 msgid "ARCHITECTURE-SPECIFIC NOTES"
6140 msgstr ""
6141
6142 #. type: Plain text
6143 #: build/C/man7/vdso.7:168
6144 msgid "The subsections below provide architecture-specific notes on the vDSO."
6145 msgstr ""
6146
6147 #. type: Plain text
6148 #: build/C/man7/vdso.7:177
6149 msgid ""
6150 "Note that the vDSO that is used is based on the ABI of your user-space code "
6151 "and not the ABI of the kernel.  Thus, for example, when you run an i386 "
6152 "32-bit ELF binary, you'll get the same vDSO regardless of whether you run it "
6153 "under an i386 32-bit kernel or under an x86_64 64-bit kernel.  Therefore, "
6154 "the name of the user-space ABI should be used to determine which of the "
6155 "sections below is relevant."
6156 msgstr ""
6157
6158 #. type: SS
6159 #: build/C/man7/vdso.7:177
6160 #, no-wrap
6161 msgid "ARM functions"
6162 msgstr ""
6163
6164 #.  See linux/arch/arm/kernel/entry-armv.S
6165 #.  See linux/Documentation/arm/kernel_user_helpers.txt
6166 #. type: Plain text
6167 #: build/C/man7/vdso.7:184
6168 msgid ""
6169 "The ARM port has a code page full of utility functions.  Since it's just a "
6170 "raw page of code, there is no ELF information for doing symbol lookups or "
6171 "versioning.  It does provide support for different versions though."
6172 msgstr ""
6173
6174 #. type: Plain text
6175 #: build/C/man7/vdso.7:189
6176 msgid ""
6177 "For information on this code page, it's best to refer to the kernel "
6178 "documentation as it's extremely detailed and covers everything you need to "
6179 "know: I<Documentation/arm/kernel_user_helpers.txt>."
6180 msgstr ""
6181
6182 #. type: SS
6183 #: build/C/man7/vdso.7:189
6184 #, no-wrap
6185 msgid "aarch64 functions"
6186 msgstr ""
6187
6188 #.  See linux/arch/x86/vdso/vdso32.lds.S
6189 #. type: Plain text
6190 #: build/C/man7/vdso.7:192 build/C/man7/vdso.7:229 build/C/man7/vdso.7:353 build/C/man7/vdso.7:378 build/C/man7/vdso.7:396 build/C/man7/vdso.7:414 build/C/man7/vdso.7:432 build/C/man7/vdso.7:476
6191 msgid "The table below lists the symbols exported by the vDSO."
6192 msgstr ""
6193
6194 #. type: tbl table
6195 #: build/C/man7/vdso.7:197 build/C/man7/vdso.7:234 build/C/man7/vdso.7:332 build/C/man7/vdso.7:358 build/C/man7/vdso.7:383 build/C/man7/vdso.7:401 build/C/man7/vdso.7:419 build/C/man7/vdso.7:437 build/C/man7/vdso.7:462 build/C/man7/vdso.7:481
6196 #, no-wrap
6197 msgid "symbol\tversion\n"
6198 msgstr ""
6199
6200 #. type: tbl table
6201 #: build/C/man7/vdso.7:199
6202 #, no-wrap
6203 msgid "__kernel_rt_sigreturn\tLINUX_2.6.39\n"
6204 msgstr ""
6205
6206 #. type: tbl table
6207 #: build/C/man7/vdso.7:200
6208 #, no-wrap
6209 msgid "__kernel_gettimeofday\tLINUX_2.6.39\n"
6210 msgstr ""
6211
6212 #. type: tbl table
6213 #: build/C/man7/vdso.7:201
6214 #, no-wrap
6215 msgid "__kernel_clock_gettime\tLINUX_2.6.39\n"
6216 msgstr ""
6217
6218 #. type: tbl table
6219 #: build/C/man7/vdso.7:202
6220 #, no-wrap
6221 msgid "__kernel_clock_getres\tLINUX_2.6.39\n"
6222 msgstr ""
6223
6224 #. type: SS
6225 #: build/C/man7/vdso.7:208
6226 #, no-wrap
6227 msgid "bfin (Blackfin) functions"
6228 msgstr ""
6229
6230 #.  See linux/arch/blackfin/kernel/fixed_code.S
6231 #.  See http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code
6232 #. type: Plain text
6233 #: build/C/man7/vdso.7:220
6234 msgid ""
6235 "As this CPU lacks a memory management unit (MMU), it doesn't set up a vDSO "
6236 "in the normal sense.  Instead, it maps at boot time a few raw functions into "
6237 "a fixed location in memory.  User-space applications then call directly into "
6238 "that region.  There is no provision for backward compatibility beyond "
6239 "sniffing raw opcodes, but as this is an embedded CPU, it can get away with "
6240 "things\\(emsome of the object formats it runs aren't even ELF based (they're "
6241 "bFLT/FLAT)."
6242 msgstr ""
6243
6244 #. type: Plain text
6245 #: build/C/man7/vdso.7:223
6246 msgid ""
6247 "For information on this code page, it's best to refer to the public "
6248 "documentation:"
6249 msgstr ""
6250
6251 #. type: Plain text
6252 #: build/C/man7/vdso.7:225
6253 msgid "http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:fixed-code"
6254 msgstr ""
6255
6256 #. type: SS
6257 #: build/C/man7/vdso.7:225
6258 #, no-wrap
6259 msgid "ia64 (Itanium) functions"
6260 msgstr ""
6261
6262 #. type: tbl table
6263 #: build/C/man7/vdso.7:236
6264 #, no-wrap
6265 msgid "__kernel_sigtramp\tLINUX_2.5\n"
6266 msgstr ""
6267
6268 #. type: tbl table
6269 #: build/C/man7/vdso.7:237
6270 #, no-wrap
6271 msgid "__kernel_syscall_via_break\tLINUX_2.5\n"
6272 msgstr ""
6273
6274 #. type: tbl table
6275 #: build/C/man7/vdso.7:238
6276 #, no-wrap
6277 msgid "__kernel_syscall_via_epc\tLINUX_2.5\n"
6278 msgstr ""
6279
6280 #. type: Plain text
6281 #: build/C/man7/vdso.7:257
6282 msgid ""
6283 "The Itanium port is somewhat tricky.  In addition to the vDSO above, it also "
6284 "has \"light-weight system calls\" (also known as \"fast syscalls\" or "
6285 "\"fsys\").  You can invoke these via the I<__kernel_syscall_via_epc> vDSO "
6286 "helper.  The system calls listed here have the same semantics as if you "
6287 "called them directly via B<syscall>(2), so refer to the relevant "
6288 "documentation for each.  The table below lists the functions available via "
6289 "this mechanism."
6290 msgstr ""
6291
6292 #. type: tbl table
6293 #: build/C/man7/vdso.7:262
6294 #, no-wrap
6295 msgid "function\n"
6296 msgstr ""
6297
6298 #. type: tbl table
6299 #: build/C/man7/vdso.7:264
6300 #, no-wrap
6301 msgid "clock_gettime\n"
6302 msgstr ""
6303
6304 #. type: tbl table
6305 #: build/C/man7/vdso.7:265
6306 #, no-wrap
6307 msgid "getcpu\n"
6308 msgstr ""
6309
6310 #. type: tbl table
6311 #: build/C/man7/vdso.7:266
6312 #, no-wrap
6313 msgid "getpid\n"
6314 msgstr ""
6315
6316 #. type: tbl table
6317 #: build/C/man7/vdso.7:267
6318 #, no-wrap
6319 msgid "getppid\n"
6320 msgstr ""
6321
6322 #. type: tbl table
6323 #: build/C/man7/vdso.7:268
6324 #, no-wrap
6325 msgid "gettimeofday\n"
6326 msgstr ""
6327
6328 #. type: tbl table
6329 #: build/C/man7/vdso.7:269
6330 #, no-wrap
6331 msgid "set_tid_address\n"
6332 msgstr ""
6333
6334 #. type: SS
6335 #: build/C/man7/vdso.7:275
6336 #, no-wrap
6337 msgid "parisc (hppa) functions"
6338 msgstr ""
6339
6340 #.  See linux/arch/parisc/kernel/syscall.S
6341 #.  See linux/Documentation/parisc/registers
6342 #. type: Plain text
6343 #: build/C/man7/vdso.7:286
6344 msgid ""
6345 "The parisc port has a code page full of utility functions called a gateway "
6346 "page.  Rather than use the normal ELF auxiliary vector approach, it passes "
6347 "the address of the page to the process via the SR2 register.  The "
6348 "permissions on the page are such that merely executing those addresses "
6349 "automatically executes with kernel privileges and not in user space.  This "
6350 "is done to match the way HP-UX works."
6351 msgstr ""
6352
6353 #. type: Plain text
6354 #: build/C/man7/vdso.7:291
6355 msgid ""
6356 "Since it's just a raw page of code, there is no ELF information for doing "
6357 "symbol lookups or versioning.  Simply call into the appropriate offset via "
6358 "the branch instruction, for example:"
6359 msgstr ""
6360
6361 #. type: Plain text
6362 #: build/C/man7/vdso.7:293
6363 #, no-wrap
6364 msgid "    ble E<lt>offsetE<gt>(%sr2, %r0)\n"
6365 msgstr ""
6366
6367 #. type: tbl table
6368 #: build/C/man7/vdso.7:298
6369 #, no-wrap
6370 msgid "offset\tfunction\n"
6371 msgstr ""
6372
6373 #. type: tbl table
6374 #: build/C/man7/vdso.7:300
6375 #, no-wrap
6376 msgid "00b0\tlws_entry\n"
6377 msgstr ""
6378
6379 #. type: tbl table
6380 #: build/C/man7/vdso.7:301
6381 #, no-wrap
6382 msgid "00e0\tset_thread_pointer\n"
6383 msgstr ""
6384
6385 #. type: tbl table
6386 #: build/C/man7/vdso.7:302
6387 #, no-wrap
6388 msgid "0100\tlinux_gateway_entry (syscall)\n"
6389 msgstr ""
6390
6391 #. type: tbl table
6392 #: build/C/man7/vdso.7:303
6393 #, no-wrap
6394 msgid "0268\tsyscall_nosys\n"
6395 msgstr ""
6396
6397 #. type: tbl table
6398 #: build/C/man7/vdso.7:304
6399 #, no-wrap
6400 msgid "0274\ttracesys\n"
6401 msgstr ""
6402
6403 #. type: tbl table
6404 #: build/C/man7/vdso.7:305
6405 #, no-wrap
6406 msgid "0324\ttracesys_next\n"
6407 msgstr ""
6408
6409 #. type: tbl table
6410 #: build/C/man7/vdso.7:306
6411 #, no-wrap
6412 msgid "0368\ttracesys_exit\n"
6413 msgstr ""
6414
6415 #. type: tbl table
6416 #: build/C/man7/vdso.7:307
6417 #, no-wrap
6418 msgid "03a0\ttracesys_sigexit\n"
6419 msgstr ""
6420
6421 #. type: tbl table
6422 #: build/C/man7/vdso.7:308
6423 #, no-wrap
6424 msgid "03b8\tlws_start\n"
6425 msgstr ""
6426
6427 #. type: tbl table
6428 #: build/C/man7/vdso.7:309
6429 #, no-wrap
6430 msgid "03dc\tlws_exit_nosys\n"
6431 msgstr ""
6432
6433 #. type: tbl table
6434 #: build/C/man7/vdso.7:310
6435 #, no-wrap
6436 msgid "03e0\tlws_exit\n"
6437 msgstr ""
6438
6439 #. type: tbl table
6440 #: build/C/man7/vdso.7:311
6441 #, no-wrap
6442 msgid "03e4\tlws_compare_and_swap64\n"
6443 msgstr ""
6444
6445 #. type: tbl table
6446 #: build/C/man7/vdso.7:312
6447 #, no-wrap
6448 msgid "03e8\tlws_compare_and_swap\n"
6449 msgstr ""
6450
6451 #. type: tbl table
6452 #: build/C/man7/vdso.7:313
6453 #, no-wrap
6454 msgid "0404\tcas_wouldblock\n"
6455 msgstr ""
6456
6457 #. type: tbl table
6458 #: build/C/man7/vdso.7:314
6459 #, no-wrap
6460 msgid "0410\tcas_action\n"
6461 msgstr ""
6462
6463 #. type: SS
6464 #: build/C/man7/vdso.7:320
6465 #, no-wrap
6466 msgid "ppc/32 functions"
6467 msgstr ""
6468
6469 #.  See linux/arch/powerpc/kernel/vdso32/vdso32.lds.S
6470 #. type: Plain text
6471 #: build/C/man7/vdso.7:327
6472 msgid ""
6473 "The table below lists the symbols exported by the vDSO.  The functions "
6474 "marked with a I<*> are available only when the kernel is a PowerPC64 "
6475 "(64-bit) kernel."
6476 msgstr ""
6477
6478 #. type: tbl table
6479 #: build/C/man7/vdso.7:334 build/C/man7/vdso.7:360
6480 #, no-wrap
6481 msgid "__kernel_clock_getres\tLINUX_2.6.15\n"
6482 msgstr ""
6483
6484 #. type: tbl table
6485 #: build/C/man7/vdso.7:335 build/C/man7/vdso.7:361
6486 #, no-wrap
6487 msgid "__kernel_clock_gettime\tLINUX_2.6.15\n"
6488 msgstr ""
6489
6490 #. type: tbl table
6491 #: build/C/man7/vdso.7:336 build/C/man7/vdso.7:362
6492 #, no-wrap
6493 msgid "__kernel_datapage_offset\tLINUX_2.6.15\n"
6494 msgstr ""
6495
6496 #. type: tbl table
6497 #: build/C/man7/vdso.7:337 build/C/man7/vdso.7:363
6498 #, no-wrap
6499 msgid "__kernel_get_syscall_map\tLINUX_2.6.15\n"
6500 msgstr ""
6501
6502 #. type: tbl table
6503 #: build/C/man7/vdso.7:338 build/C/man7/vdso.7:364
6504 #, no-wrap
6505 msgid "__kernel_get_tbfreq\tLINUX_2.6.15\n"
6506 msgstr ""
6507
6508 #. type: tbl table
6509 #: build/C/man7/vdso.7:339
6510 #, no-wrap
6511 msgid "__kernel_getcpu I<*>\tLINUX_2.6.15\n"
6512 msgstr ""
6513
6514 #. type: tbl table
6515 #: build/C/man7/vdso.7:340 build/C/man7/vdso.7:366
6516 #, no-wrap
6517 msgid "__kernel_gettimeofday\tLINUX_2.6.15\n"
6518 msgstr ""
6519
6520 #. type: tbl table
6521 #: build/C/man7/vdso.7:341
6522 #, no-wrap
6523 msgid "__kernel_sigtramp_rt32\tLINUX_2.6.15\n"
6524 msgstr ""
6525
6526 #. type: tbl table
6527 #: build/C/man7/vdso.7:342
6528 #, no-wrap
6529 msgid "__kernel_sigtramp32\tLINUX_2.6.15\n"
6530 msgstr ""
6531
6532 #. type: tbl table
6533 #: build/C/man7/vdso.7:343 build/C/man7/vdso.7:368
6534 #, no-wrap
6535 msgid "__kernel_sync_dicache\tLINUX_2.6.15\n"
6536 msgstr ""
6537
6538 #. type: tbl table
6539 #: build/C/man7/vdso.7:344 build/C/man7/vdso.7:369
6540 #, no-wrap
6541 msgid "__kernel_sync_dicache_p5\tLINUX_2.6.15\n"
6542 msgstr ""
6543
6544 #. type: SS
6545 #: build/C/man7/vdso.7:350
6546 #, no-wrap
6547 msgid "ppc/64 functions"
6548 msgstr ""
6549
6550 #. type: tbl table
6551 #: build/C/man7/vdso.7:365
6552 #, no-wrap
6553 msgid "__kernel_getcpu\tLINUX_2.6.15\n"
6554 msgstr ""
6555
6556 #. type: tbl table
6557 #: build/C/man7/vdso.7:367
6558 #, no-wrap
6559 msgid "__kernel_sigtramp_rt64\tLINUX_2.6.15\n"
6560 msgstr ""
6561
6562 #. type: SS
6563 #: build/C/man7/vdso.7:375
6564 #, no-wrap
6565 msgid "s390 functions"
6566 msgstr ""
6567
6568 #. type: tbl table
6569 #: build/C/man7/vdso.7:385 build/C/man7/vdso.7:403
6570 #, no-wrap
6571 msgid "__kernel_clock_getres\tLINUX_2.6.29\n"
6572 msgstr ""
6573
6574 #. type: tbl table
6575 #: build/C/man7/vdso.7:386 build/C/man7/vdso.7:404
6576 #, no-wrap
6577 msgid "__kernel_clock_gettime\tLINUX_2.6.29\n"
6578 msgstr ""
6579
6580 #. type: tbl table
6581 #: build/C/man7/vdso.7:387 build/C/man7/vdso.7:405
6582 #, no-wrap
6583 msgid "__kernel_gettimeofday\tLINUX_2.6.29\n"
6584 msgstr ""
6585
6586 #. type: SS
6587 #: build/C/man7/vdso.7:393
6588 #, no-wrap
6589 msgid "s390x functions"
6590 msgstr ""
6591
6592 #. type: SS
6593 #: build/C/man7/vdso.7:411
6594 #, no-wrap
6595 msgid "sh (SuperH) functions"
6596 msgstr ""
6597
6598 #. type: tbl table
6599 #: build/C/man7/vdso.7:421
6600 #, no-wrap
6601 msgid "__kernel_rt_sigreturn\tLINUX_2.6\n"
6602 msgstr ""
6603
6604 #. type: tbl table
6605 #: build/C/man7/vdso.7:422
6606 #, no-wrap
6607 msgid "__kernel_sigreturn\tLINUX_2.6\n"
6608 msgstr ""
6609
6610 #. type: tbl table
6611 #: build/C/man7/vdso.7:423
6612 #, no-wrap
6613 msgid "__kernel_vsyscall\tLINUX_2.6\n"
6614 msgstr ""
6615
6616 #. type: SS
6617 #: build/C/man7/vdso.7:429
6618 #, no-wrap
6619 msgid "i386 functions"
6620 msgstr ""
6621
6622 #. type: tbl table
6623 #: build/C/man7/vdso.7:439
6624 #, no-wrap
6625 msgid "__kernel_sigreturn\tLINUX_2.5\n"
6626 msgstr ""
6627
6628 #. type: tbl table
6629 #: build/C/man7/vdso.7:440
6630 #, no-wrap
6631 msgid "__kernel_rt_sigreturn\tLINUX_2.5\n"
6632 msgstr ""
6633
6634 #. type: tbl table
6635 #: build/C/man7/vdso.7:441
6636 #, no-wrap
6637 msgid "__kernel_vsyscall\tLINUX_2.5\n"
6638 msgstr ""
6639
6640 #.  Added in 7a59ed415f5b57469e22e41fc4188d5399e0b194 and updated
6641 #.  in 37c975545ec63320789962bf307f000f08fabd48.
6642 #. type: tbl table
6643 #: build/C/man7/vdso.7:444
6644 #, no-wrap
6645 msgid "__vdso_clock_gettime\tLINUX_2.6 (exported since Linux 3.15)\n"
6646 msgstr ""
6647
6648 #. type: tbl table
6649 #: build/C/man7/vdso.7:445
6650 #, no-wrap
6651 msgid "__vdso_gettimeofday\tLINUX_2.6 (exported since Linux 3.15)\n"
6652 msgstr ""
6653
6654 #. type: tbl table
6655 #: build/C/man7/vdso.7:446
6656 #, no-wrap
6657 msgid "__vdso_time\tLINUX_2.6 (exported since Linux 3.15)\n"
6658 msgstr ""
6659
6660 #. type: SS
6661 #: build/C/man7/vdso.7:452
6662 #, no-wrap
6663 msgid "x86_64 functions"
6664 msgstr ""
6665
6666 #.  See linux/arch/x86/vdso/vdso.lds.S
6667 #. type: Plain text
6668 #: build/C/man7/vdso.7:457
6669 msgid ""
6670 "The table below lists the symbols exported by the vDSO.  All of these "
6671 "symbols are also available without the \"__vdso_\" prefix, but you should "
6672 "ignore those and stick to the names below."
6673 msgstr ""
6674
6675 #. type: tbl table
6676 #: build/C/man7/vdso.7:464 build/C/man7/vdso.7:483
6677 #, no-wrap
6678 msgid "__vdso_clock_gettime\tLINUX_2.6\n"
6679 msgstr ""
6680
6681 #. type: tbl table
6682 #: build/C/man7/vdso.7:465 build/C/man7/vdso.7:484
6683 #, no-wrap
6684 msgid "__vdso_getcpu\tLINUX_2.6\n"
6685 msgstr ""
6686
6687 #. type: tbl table
6688 #: build/C/man7/vdso.7:466 build/C/man7/vdso.7:485
6689 #, no-wrap
6690 msgid "__vdso_gettimeofday\tLINUX_2.6\n"
6691 msgstr ""
6692
6693 #. type: tbl table
6694 #: build/C/man7/vdso.7:467 build/C/man7/vdso.7:486
6695 #, no-wrap
6696 msgid "__vdso_time\tLINUX_2.6\n"
6697 msgstr ""
6698
6699 #. type: SS
6700 #: build/C/man7/vdso.7:473
6701 #, no-wrap
6702 msgid "x86/x32 functions"
6703 msgstr ""
6704
6705 #. type: SS
6706 #: build/C/man7/vdso.7:492
6707 #, no-wrap
6708 msgid "History"
6709 msgstr ""
6710
6711 #. type: Plain text
6712 #: build/C/man7/vdso.7:499
6713 msgid ""
6714 "The vDSO was originally just a single function\\(emthe vsyscall.  In older "
6715 "kernels, you might see that name in a process's memory map rather than "
6716 "\"vdso\".  Over time, people realized that this mechanism was a great way to "
6717 "pass more functionality to user space, so it was reconceived as a vDSO in "
6718 "the current format."
6719 msgstr ""
6720
6721 #. type: Plain text
6722 #: build/C/man7/vdso.7:503
6723 msgid "B<syscalls>(2), B<getauxval>(3), B<proc>(5)"
6724 msgstr ""
6725
6726 #. type: Plain text
6727 #: build/C/man7/vdso.7:505
6728 msgid "The documents, examples, and source code in the Linux source code tree:"
6729 msgstr ""
6730
6731 #. type: Plain text
6732 #: build/C/man7/vdso.7:511
6733 #, no-wrap
6734 msgid ""
6735 "Documentation/ABI/stable/vdso\n"
6736 "Documentation/ia64/fsys.txt\n"
6737 "Documentation/vDSO/* (includes examples of using the vDSO)\n"
6738 msgstr ""
6739
6740 #. type: Plain text
6741 #: build/C/man7/vdso.7:513
6742 #, no-wrap
6743 msgid "find arch/ -iname '*vdso*' -o -iname '*gate*'\n"
6744 msgstr ""
6745
6746 #. type: TH
6747 #: build/C/man3/wcstombs.3:16
6748 #, no-wrap
6749 msgid "WCSTOMBS"
6750 msgstr ""
6751
6752 #. type: Plain text
6753 #: build/C/man3/wcstombs.3:19
6754 msgid "wcstombs - convert a wide-character string to a multibyte string"
6755 msgstr ""
6756
6757 #. type: Plain text
6758 #: build/C/man3/wcstombs.3:24
6759 #, no-wrap
6760 msgid ""
6761 "B<size_t wcstombs(char *>I<dest>B<, const wchar_t *>I<src>B<, size_t "
6762 ">I<n>B<);>\n"
6763 msgstr ""
6764
6765 #. type: Plain text
6766 #: build/C/man3/wcstombs.3:42
6767 msgid ""
6768 "If I<dest> is not NULL, the B<wcstombs>()  function converts the "
6769 "wide-character string I<src> to a multibyte string starting at I<dest>.  At "
6770 "most I<n> bytes are written to I<dest>.  The conversion starts in the "
6771 "initial state.  The conversion can stop for three reasons:"
6772 msgstr ""
6773
6774 #. type: Plain text
6775 #: build/C/man3/wcstombs.3:48
6776 msgid ""
6777 "1. A wide character has been encountered that can not be represented as a "
6778 "multibyte sequence (according to the current locale).  In this case, "
6779 "I<(size_t)\\ -1> is returned."
6780 msgstr ""
6781
6782 #. type: Plain text
6783 #: build/C/man3/wcstombs.3:53
6784 msgid ""
6785 "2. The length limit forces a stop.  In this case, the number of bytes "
6786 "written to I<dest> is returned, but the shift state at this point is lost."
6787 msgstr ""
6788
6789 #. type: Plain text
6790 #: build/C/man3/wcstombs.3:60
6791 msgid ""
6792 "3. The wide-character string has been completely converted, including the "
6793 "terminating null wide character (L\\(aq\\e0\\(aq).  In this case, the "
6794 "conversion ends in the initial state.  The number of bytes written to "
6795 "I<dest>, excluding the terminating null byte (\\(aq\\e0\\(aq), is returned."
6796 msgstr ""
6797
6798 #. type: Plain text
6799 #: build/C/man3/wcstombs.3:66
6800 msgid ""
6801 "The programmer must ensure that there is room for at least I<n> bytes at "
6802 "I<dest>."
6803 msgstr ""
6804
6805 #. type: Plain text
6806 #: build/C/man3/wcstombs.3:74
6807 msgid ""
6808 "If I<dest> is NULL, I<n> is ignored, and the conversion proceeds as above, "
6809 "except that the converted bytes are not written out to memory, and no length "
6810 "limit exists."
6811 msgstr ""
6812
6813 #. type: Plain text
6814 #: build/C/man3/wcstombs.3:79
6815 msgid ""
6816 "In order to avoid the case 2 above, the programmer should make sure I<n> is "
6817 "greater than or equal to I<wcstombs(NULL,src,0)+1>."
6818 msgstr ""
6819
6820 #. type: Plain text
6821 #: build/C/man3/wcstombs.3:89
6822 msgid ""
6823 "The B<wcstombs>()  function returns the number of bytes that make up the "
6824 "converted part of a multibyte sequence, not including the terminating null "
6825 "byte.  If a wide character was encountered which could not be converted, "
6826 "I<(size_t)\\ -1> is returned."
6827 msgstr ""
6828
6829 #. type: Plain text
6830 #: build/C/man3/wcstombs.3:98
6831 msgid ""
6832 "The behavior of B<wcstombs>()  depends on the B<LC_CTYPE> category of the "
6833 "current locale."
6834 msgstr ""
6835
6836 #. type: Plain text
6837 #: build/C/man3/wcstombs.3:103
6838 msgid ""
6839 "The function B<wcsrtombs>(3)  provides a thread safe interface to the same "
6840 "functionality."
6841 msgstr ""
6842
6843 #. type: Plain text
6844 #: build/C/man3/wcstombs.3:108
6845 msgid "B<mblen>(3), B<mbtowc>(3), B<mbstowcs>(3), B<wcsrtombs>(3)  B<wctom>(3)"
6846 msgstr ""
6847
6848 #. type: TH
6849 #: build/C/man3/wctomb.3:16
6850 #, no-wrap
6851 msgid "WCTOMB"
6852 msgstr ""
6853
6854 #. type: Plain text
6855 #: build/C/man3/wctomb.3:19
6856 msgid "wctomb - convert a wide character to a multibyte sequence"
6857 msgstr ""
6858
6859 #. type: Plain text
6860 #: build/C/man3/wctomb.3:24
6861 #, no-wrap
6862 msgid "B<int wctomb(char *>I<s>B<, wchar_t >I<wc>B<);>\n"
6863 msgstr ""
6864
6865 #. type: Plain text
6866 #: build/C/man3/wctomb.3:45
6867 msgid ""
6868 "If I<s> is not NULL, the B<wctomb>()  function converts the wide character "
6869 "I<wc> to its multibyte representation and stores it at the beginning of the "
6870 "character array pointed to by I<s>.  It updates the shift state, which is "
6871 "stored in a static anonymous variable known only to the B<wctomb>()  "
6872 "function, and returns the length of said multibyte representation, that is, "
6873 "the number of bytes written at I<s>."
6874 msgstr ""
6875
6876 #. type: Plain text
6877 #: build/C/man3/wctomb.3:51
6878 msgid ""
6879 "The programmer must ensure that there is room for at least B<MB_CUR_MAX> "
6880 "bytes at I<s>."
6881 msgstr ""
6882
6883 #.  The Dinkumware doc and the Single UNIX specification say this, but
6884 #.  glibc doesn't implement this.
6885 #. type: Plain text
6886 #: build/C/man3/wctomb.3:63
6887 msgid ""
6888 "If I<s> is NULL, the B<wctomb>()  function resets the shift state, known "
6889 "only to this function, to the initial state, and returns nonzero if the "
6890 "encoding has nontrivial shift state, or zero if the encoding is stateless."
6891 msgstr ""
6892
6893 #. type: Plain text
6894 #: build/C/man3/wctomb.3:77
6895 msgid ""
6896 "If I<s> is not NULL, the B<wctomb>()  function returns the number of bytes "
6897 "that have been written to the byte array at I<s>.  If I<wc> can not be "
6898 "represented as a multibyte sequence (according to the current locale), -1 is "
6899 "returned."
6900 msgstr ""
6901
6902 #. type: Plain text
6903 #: build/C/man3/wctomb.3:84
6904 msgid ""
6905 "If I<s> is NULL, the B<wctomb>()  function returns nonzero if the encoding "
6906 "has nontrivial shift state, or zero if the encoding is stateless."
6907 msgstr ""
6908
6909 #. type: Plain text
6910 #: build/C/man3/wctomb.3:89
6911 msgid "The B<wctomb>()  function is not thread-safe."
6912 msgstr ""
6913
6914 #. type: Plain text
6915 #: build/C/man3/wctomb.3:98
6916 msgid ""
6917 "The behavior of B<wctomb>()  depends on the B<LC_CTYPE> category of the "
6918 "current locale."
6919 msgstr ""
6920
6921 #. type: Plain text
6922 #: build/C/man3/wctomb.3:103
6923 msgid ""
6924 "The function B<wcrtomb>(3)  provides a better interface to the same "
6925 "functionality."
6926 msgstr ""
6927
6928 #. type: Plain text
6929 #: build/C/man3/wctomb.3:109
6930 msgid ""
6931 "B<MB_CUR_MAX>(3), B<mblen>(3), B<mbstowcs>(3), B<mbtowc>(3), B<wcrtomb>(3), "
6932 "B<wcstombs>(3)"
6933 msgstr ""