OSDN Git Service

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