OSDN Git Service

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