OSDN Git Service

e1f7694f454cba6540912ed5aff52159c916fe2c
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / unistd.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: 2012-04-25 05:37+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/man2/_syscall.2:38
21 #, no-wrap
22 msgid "_SYSCALL"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/_syscall.2:38
27 #, no-wrap
28 msgid "2007-12-19"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:30 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man2/dup.2:36 build/C/man7/environ.7:33 build/C/man2/execve.2:37 build/C/man2/exit_group.2:23 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:34 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:6 build/C/man2/getdomainname.2:29 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:23 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:39 build/C/man2/ioctl_list.2:27 build/C/man2/ioperm.2:35 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:9 build/C/man2/nice.2:31 build/C/man2/pread.2:23 build/C/man2/set_thread_area.2:7 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:38 build/C/man2/syscalls.2:29 build/C/man2/sysctl.2:28 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:41 build/C/man2/umask.2:34 build/C/man2/uname.2:25 build/C/man2/uselib.2:31 build/C/man2/vfork.2:26 build/C/man2/vhangup.2:27
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:30 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man3/confstr.3:29 build/C/man3/crypt.3:35 build/C/man3/daemon.3:34 build/C/man3/des_crypt.3:10 build/C/man2/dup.2:36 build/C/man3/encrypt.3:24 build/C/man7/environ.7:33 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:39 build/C/man2/execve.2:37 build/C/man2/exit_group.2:23 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:34 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:24 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:6 build/C/man3/getcwd.3:30 build/C/man2/getdomainname.2:29 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:39 build/C/man2/getpagesize.2:23 build/C/man2/gettid.2:26 build/C/man3/getumask.3:26 build/C/man3/getusershell.3:28 build/C/man2/idle.2:32 build/C/man2/ioctl.2:39 build/C/man2/ioctl_list.2:27 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:22 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:9 build/C/man2/nice.2:31 build/C/man2/pread.2:23 build/C/man2/set_thread_area.2:7 build/C/man2/setup.2:34 build/C/man5/shells.5:27 build/C/man3/sleep.3:24 build/C/man3/swab.3:29 build/C/man2/swapon.2:37 build/C/man2/syscall.2:38 build/C/man2/syscalls.2:29 build/C/man3/sysconf.3:25 build/C/man2/sysctl.2:28 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:23 build/C/man2/truncate.2:41 build/C/man3/ualarm.3:23 build/C/man2/umask.2:34 build/C/man2/uname.2:25 build/C/man2/uselib.2:31 build/C/man3/usleep.3:31 build/C/man2/vfork.2:26 build/C/man2/vhangup.2:27
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31 build/C/man2/brk.2:31 build/C/man2/chdir.2:34 build/C/man2/chmod.2:32 build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36 build/C/man3/confstr.3:30 build/C/man3/crypt.3:36 build/C/man3/daemon.3:35 build/C/man3/des_crypt.3:11 build/C/man2/dup.2:37 build/C/man3/encrypt.3:25 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:27 build/C/man3/exec.3:40 build/C/man2/execve.2:38 build/C/man2/exit_group.2:24 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:35 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:25 build/C/man2/fsync.2:39 build/C/man2/get_thread_area.2:7 build/C/man3/getcwd.3:31 build/C/man2/getdomainname.2:30 build/C/man2/getdtablesize.2:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:40 build/C/man2/getpagesize.2:24 build/C/man2/gettid.2:27 build/C/man3/getumask.3:27 build/C/man3/getusershell.3:29 build/C/man2/idle.2:33 build/C/man2/ioctl.2:40 build/C/man2/ioctl_list.2:28 build/C/man2/ioperm.2:36 build/C/man3/lockf.3:23 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:10 build/C/man2/nice.2:32 build/C/man2/pread.2:24 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:35 build/C/man5/shells.5:28 build/C/man3/sleep.3:25 build/C/man3/swab.3:30 build/C/man2/swapon.2:38 build/C/man2/syscall.2:39 build/C/man2/syscalls.2:30 build/C/man3/sysconf.3:26 build/C/man2/sysctl.2:29 build/C/man2/sysinfo.2:15 build/C/man3/tcgetpgrp.3:24 build/C/man2/truncate.2:42 build/C/man3/ualarm.3:24 build/C/man2/umask.2:35 build/C/man2/uname.2:26 build/C/man2/uselib.2:32 build/C/man3/usleep.3:32 build/C/man2/vfork.2:27 build/C/man2/vhangup.2:28
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/_syscall.2:41
51 msgid "_syscall - invoking a system call without library support (OBSOLETE)"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33 build/C/man2/brk.2:33 build/C/man2/chdir.2:36 build/C/man2/chmod.2:34 build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38 build/C/man3/confstr.3:32 build/C/man3/crypt.3:38 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:39 build/C/man3/encrypt.3:27 build/C/man7/environ.7:36 build/C/man3/euidaccess.3:29 build/C/man3/exec.3:42 build/C/man2/execve.2:40 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:37 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:27 build/C/man2/fsync.2:41 build/C/man2/get_thread_area.2:9 build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:32 build/C/man2/getdtablesize.2:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:43 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:29 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:35 build/C/man2/ioctl.2:42 build/C/man2/ioperm.2:38 build/C/man3/lockf.3:25 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:12 build/C/man2/nice.2:34 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:10 build/C/man2/setup.2:37 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:40 build/C/man2/syscall.2:41 build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28 build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:26 build/C/man2/umask.2:37 build/C/man2/uname.2:28 build/C/man2/uselib.2:34 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:30
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/_syscall.2:43 build/C/man2/get_thread_area.2:11 build/C/man2/set_thread_area.2:12
62 msgid "B<#include E<lt>linux/unistd.hE<gt>>"
63 msgstr ""
64
65 #. type: Plain text
66 #: build/C/man2/_syscall.2:45
67 msgid "A _syscall macro"
68 msgstr ""
69
70 #. type: Plain text
71 #: build/C/man2/_syscall.2:47
72 msgid "desired system call"
73 msgstr ""
74
75 #. type: SH
76 #: build/C/man2/_syscall.2:47 build/C/man2/access.2:52 build/C/man2/alarm.2:39 build/C/man2/brk.2:65 build/C/man2/chdir.2:59 build/C/man2/chmod.2:58 build/C/man2/chown.2:67 build/C/man2/chroot.2:63 build/C/man2/close.2:44 build/C/man3/confstr.3:46 build/C/man3/crypt.3:55 build/C/man3/daemon.3:49 build/C/man3/des_crypt.3:30 build/C/man2/dup.2:52 build/C/man3/encrypt.3:50 build/C/man7/environ.7:41 build/C/man3/euidaccess.3:37 build/C/man3/exec.3:70 build/C/man2/execve.2:46 build/C/man2/exit_group.2:32 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:41 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:35 build/C/man2/fsync.2:61 build/C/man2/get_thread_area.2:15 build/C/man3/getcwd.3:73 build/C/man2/getdomainname.2:51 build/C/man2/getdtablesize.2:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:77 build/C/man2/getpagesize.2:53 build/C/man2/gettid.2:35 build/C/man3/getumask.3:37 build/C/man3/getusershell.3:55 build/C/man2/idle.2:39 build/C/man2/ioctl.2:46 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:46 build/C/man3/lockf.3:42 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:20 build/C/man2/nice.2:46 build/C/man2/pread.2:51 build/C/man2/set_thread_area.2:16 build/C/man2/setup.2:41 build/C/man5/shells.5:30 build/C/man3/sleep.3:33 build/C/man3/swab.3:39 build/C/man2/swapon.2:50 build/C/man2/syscall.2:49 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:34 build/C/man2/sysctl.2:39 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:32 build/C/man2/truncate.2:77 build/C/man3/ualarm.3:57 build/C/man2/umask.2:43 build/C/man2/uname.2:32 build/C/man2/uselib.2:38 build/C/man3/usleep.3:65 build/C/man2/vfork.2:60 build/C/man2/vhangup.2:44
77 #, no-wrap
78 msgid "DESCRIPTION"
79 msgstr ""
80
81 #. type: Plain text
82 #: build/C/man2/_syscall.2:53
83 msgid ""
84 "The important thing to know about a system call is its prototype.  You need "
85 "to know how many arguments, their types, and the function return type.  "
86 "There are seven macros that make the actual call into the system easier.  "
87 "They have the form:"
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man2/_syscall.2:56
92 msgid "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
93 msgstr ""
94
95 #. type: Plain text
96 #: build/C/man2/_syscall.2:59
97 msgid "where"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man2/_syscall.2:62
102 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
103 msgstr ""
104
105 #. type: Plain text
106 #: build/C/man2/_syscall.2:64
107 msgid "I<type> is the return type of the system call"
108 msgstr ""
109
110 #. type: Plain text
111 #: build/C/man2/_syscall.2:66
112 msgid "I<name> is the name of the system call"
113 msgstr ""
114
115 #. type: Plain text
116 #: build/C/man2/_syscall.2:68
117 msgid "I<typeN> is the Nth argument's type"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man2/_syscall.2:70
122 msgid "I<argN> is the name of the Nth argument"
123 msgstr ""
124
125 #. type: Plain text
126 #: build/C/man2/_syscall.2:75
127 msgid ""
128 "These macros create a function called I<name> with the arguments you "
129 "specify.  Once you include the _syscall() in your source file, you call the "
130 "system call by I<name>."
131 msgstr ""
132
133 #. type: SH
134 #: build/C/man2/_syscall.2:75 build/C/man3/getlogin.3:130 build/C/man3/getusershell.3:79 build/C/man5/shells.5:41
135 #, no-wrap
136 msgid "FILES"
137 msgstr ""
138
139 #. type: Plain text
140 #: build/C/man2/_syscall.2:77
141 msgid "I</usr/include/linux/unistd.h>"
142 msgstr ""
143
144 #. type: SH
145 #: build/C/man2/_syscall.2:77 build/C/man2/access.2:148 build/C/man2/alarm.2:61 build/C/man2/brk.2:115 build/C/man2/chdir.2:125 build/C/man2/chmod.2:219 build/C/man2/chown.2:181 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:125 build/C/man3/crypt.3:162 build/C/man3/daemon.3:88 build/C/man3/des_crypt.3:130 build/C/man2/dup.2:170 build/C/man3/encrypt.3:118 build/C/man3/euidaccess.3:74 build/C/man3/exec.3:197 build/C/man2/execve.2:435 build/C/man2/exit_group.2:41 build/C/man2/fcntl.2:1146 build/C/man3/fexecve.3:94 build/C/man2/flock.2:137 build/C/man2/fork.2:187 build/C/man3/fpathconf.3:152 build/C/man2/fsync.2:126 build/C/man2/get_thread_area.2:41 build/C/man3/getcwd.3:206 build/C/man2/getdomainname.2:110 build/C/man2/getdtablesize.2:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:138 build/C/man3/getopt.3:316 build/C/man2/getpagesize.2:62 build/C/man2/gettid.2:55 build/C/man3/getumask.3:56 build/C/man3/getusershell.3:83 build/C/man2/idle.2:61 build/C/man2/ioctl.2:115 build/C/man2/ioperm.2:95 build/C/man3/lockf.3:148 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:113 build/C/man2/nice.2:75 build/C/man2/pread.2:113 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:62 build/C/man3/sleep.3:42 build/C/man3/swab.3:56 build/C/man2/swapon.2:151 build/C/man3/sysconf.3:322 build/C/man2/sysctl.2:95 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:193 build/C/man3/ualarm.3:91 build/C/man2/umask.2:93 build/C/man2/uname.2:71 build/C/man2/uselib.2:76 build/C/man3/usleep.3:84 build/C/man2/vfork.2:157 build/C/man2/vhangup.2:62
146 #, no-wrap
147 msgid "CONFORMING TO"
148 msgstr ""
149
150 #. type: Plain text
151 #: build/C/man2/_syscall.2:79
152 msgid "The use of these macros is Linux-specific, and deprecated."
153 msgstr ""
154
155 #. type: SH
156 #: build/C/man2/_syscall.2:79 build/C/man2/access.2:150 build/C/man2/alarm.2:63 build/C/man2/brk.2:123 build/C/man2/chdir.2:127 build/C/man2/chown.2:192 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:167 build/C/man3/daemon.3:94 build/C/man2/dup.2:180 build/C/man3/encrypt.3:129 build/C/man3/euidaccess.3:80 build/C/man3/exec.3:203 build/C/man2/execve.2:443 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1196 build/C/man3/fexecve.3:98 build/C/man2/flock.2:146 build/C/man2/fork.2:189 build/C/man3/fpathconf.3:154 build/C/man2/fsync.2:141 build/C/man2/get_thread_area.2:45 build/C/man3/getcwd.3:228 build/C/man2/getdomainname.2:113 build/C/man2/getdtablesize.2:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:348 build/C/man2/getpagesize.2:69 build/C/man2/gettid.2:59 build/C/man3/getumask.3:58 build/C/man2/ioctl.2:130 build/C/man2/ioperm.2:99 build/C/man2/mkdir.2:116 build/C/man2/nice.2:82 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:65 build/C/man2/swapon.2:157 build/C/man2/syscall.2:63 build/C/man2/syscalls.2:616 build/C/man2/sysctl.2:109 build/C/man3/tcgetpgrp.3:106 build/C/man2/truncate.2:206 build/C/man3/ualarm.3:99 build/C/man2/umask.2:95 build/C/man2/uname.2:80 build/C/man2/uselib.2:80 build/C/man3/usleep.3:102 build/C/man2/vfork.2:172
157 #, no-wrap
158 msgid "NOTES"
159 msgstr ""
160
161 #. type: Plain text
162 #: build/C/man2/_syscall.2:89
163 msgid ""
164 "Starting around kernel 2.6.18, the _syscall macros were removed from header "
165 "files supplied to user space.  Use B<syscall>(2)  instead.  (Some "
166 "architectures, notably ia64, never provided the _syscall macros; on those "
167 "architectures, B<syscall>(2)  was always required.)"
168 msgstr ""
169
170 #. type: Plain text
171 #: build/C/man2/_syscall.2:93
172 msgid ""
173 "The _syscall() macros I<do not> produce a prototype.  You may have to create "
174 "one, especially for C++ users."
175 msgstr ""
176
177 #. type: Plain text
178 #: build/C/man2/_syscall.2:105
179 msgid ""
180 "System calls are not required to return only positive or negative error "
181 "codes.  You need to read the source to be sure how it will return errors.  "
182 "Usually, it is the negative of a standard error code, for example, "
183 "-B<EPERM>.  The _syscall() macros will return the result I<r> of the system "
184 "call when I<r> is nonnegative, but will return -1 and set the variable "
185 "I<errno> to -I<r> when I<r> is negative.  For the error codes, see "
186 "B<errno>(3)."
187 msgstr ""
188
189 #.  The preferred way to invoke system calls that glibc does not know
190 #.  about yet is via
191 #.  .BR syscall (2).
192 #.  However, this mechanism can only be used if using a libc
193 #.  (such as glibc) that supports
194 #.  .BR syscall (2),
195 #.  and if the
196 #.  .I <sys/syscall.h>
197 #.  header file contains the required SYS_foo definition.
198 #.  Otherwise, the use of a _syscall macro is required.
199 #. type: Plain text
200 #: build/C/man2/_syscall.2:119
201 msgid ""
202 "When defining a system call, the argument types I<must> be passed by-value "
203 "or by-pointer (for aggregates like structs)."
204 msgstr ""
205
206 #. type: SH
207 #: build/C/man2/_syscall.2:119 build/C/man2/chown.2:288 build/C/man3/confstr.3:127 build/C/man3/encrypt.3:131 build/C/man2/execve.2:527 build/C/man2/fork.2:220 build/C/man3/getopt.3:374 build/C/man5/shells.5:43 build/C/man2/syscall.2:67 build/C/man2/sysctl.2:129
208 #, no-wrap
209 msgid "EXAMPLE"
210 msgstr ""
211
212 #. type: Plain text
213 #: build/C/man2/_syscall.2:126
214 #, no-wrap
215 msgid ""
216 "#include E<lt>stdio.hE<gt>\n"
217 "#include E<lt>stdlib.hE<gt>\n"
218 "#include E<lt>errno.hE<gt>\n"
219 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related "
220 "stuff */\n"
221 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man2/_syscall.2:128
226 #, no-wrap
227 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
228 msgstr ""
229
230 #. type: Plain text
231 #: build/C/man2/_syscall.2:131
232 #, no-wrap
233 msgid ""
234 "/* Note: if you copy directly from the nroff source, remember to\n"
235 "REMOVE the extra backslashes in the printf statement. */\n"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man2/_syscall.2:137
240 #, no-wrap
241 msgid ""
242 "int\n"
243 "main(void)\n"
244 "{\n"
245 "    struct sysinfo s_info;\n"
246 "    int error;\n"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/_syscall.2:152
251 #, no-wrap
252 msgid ""
253 "    error = sysinfo(&s_info);\n"
254 "    printf(\"code error = %d\\en\", error);\n"
255 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min "
256 "%lu\\en\"\n"
257 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
258 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
259 "           \"Number of processes = %d\\en\",\n"
260 "           s_info.uptime, s_info.loads[0],\n"
261 "           s_info.loads[1], s_info.loads[2],\n"
262 "           s_info.totalram, s_info.freeram,\n"
263 "           s_info.sharedram, s_info.bufferram,\n"
264 "           s_info.totalswap, s_info.freeswap,\n"
265 "           s_info.procs);\n"
266 "    exit(EXIT_SUCCESS);\n"
267 "}\n"
268 msgstr ""
269
270 #. type: SS
271 #: build/C/man2/_syscall.2:153
272 #, no-wrap
273 msgid "Sample Output"
274 msgstr ""
275
276 #. type: Plain text
277 #: build/C/man2/_syscall.2:162
278 #, no-wrap
279 msgid ""
280 "code error = 0\n"
281 "uptime = 502034s\n"
282 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
283 "RAM: total 15343616 / free 827392 / shared 8237056\n"
284 "Memory in buffers = 5066752\n"
285 "Swap: total 27881472 / free 24698880\n"
286 "Number of processes = 40\n"
287 msgstr ""
288
289 #. type: SH
290 #: build/C/man2/_syscall.2:163 build/C/man2/access.2:241 build/C/man2/alarm.2:81 build/C/man2/brk.2:165 build/C/man2/chdir.2:136 build/C/man2/chmod.2:221 build/C/man2/chown.2:336 build/C/man2/chroot.2:151 build/C/man2/close.2:125 build/C/man3/confstr.3:144 build/C/man3/crypt.3:228 build/C/man3/daemon.3:102 build/C/man3/des_crypt.3:133 build/C/man2/dup.2:207 build/C/man3/encrypt.3:155 build/C/man7/environ.7:227 build/C/man3/euidaccess.3:95 build/C/man3/exec.3:239 build/C/man2/execve.2:622 build/C/man2/exit_group.2:47 build/C/man2/fcntl.2:1297 build/C/man3/fexecve.3:106 build/C/man2/flock.2:200 build/C/man2/fork.2:225 build/C/man3/fpathconf.3:163 build/C/man2/fsync.2:163 build/C/man2/get_thread_area.2:49 build/C/man3/getcwd.3:247 build/C/man2/getdomainname.2:127 build/C/man2/getdtablesize.2:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:193 build/C/man3/getopt.3:512 build/C/man2/getpagesize.2:106 build/C/man2/gettid.2:68 build/C/man3/getumask.3:61 build/C/man3/getusershell.3:85 build/C/man2/ioctl.2:138 build/C/man2/ioctl_list.2:866 build/C/man2/ioperm.2:108 build/C/man3/lockf.3:150 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:128 build/C/man2/nice.2:105 build/C/man2/pread.2:131 build/C/man2/set_thread_area.2:67 build/C/man5/shells.5:52 build/C/man3/sleep.3:59 build/C/man3/swab.3:58 build/C/man2/swapon.2:191 build/C/man2/syscall.2:82 build/C/man2/syscalls.2:792 build/C/man3/sysconf.3:333 build/C/man2/sysctl.2:167 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:115 build/C/man2/truncate.2:249 build/C/man3/ualarm.3:134 build/C/man2/umask.2:116 build/C/man2/uname.2:155 build/C/man2/uselib.2:102 build/C/man3/usleep.3:135 build/C/man2/vfork.2:270 build/C/man2/vhangup.2:65
291 #, no-wrap
292 msgid "SEE ALSO"
293 msgstr ""
294
295 #. type: Plain text
296 #: build/C/man2/_syscall.2:166
297 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
298 msgstr ""
299
300 #. type: TH
301 #: build/C/man2/access.2:43
302 #, no-wrap
303 msgid "ACCESS"
304 msgstr ""
305
306 #. type: TH
307 #: build/C/man2/access.2:43
308 #, no-wrap
309 msgid "2010-10-24"
310 msgstr ""
311
312 #. type: Plain text
313 #: build/C/man2/access.2:46
314 msgid "access - check real user's permissions for a file"
315 msgstr ""
316
317 #. type: Plain text
318 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/close.2:41 build/C/man3/confstr.3:35 build/C/man3/crypt.3:43 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:30 build/C/man3/getcwd.3:36 build/C/man3/getopt.3:46 build/C/man3/getusershell.3:34 build/C/man3/sleep.3:30 build/C/man3/sysconf.3:31 build/C/man2/sysctl.2:34 build/C/man3/ualarm.3:29 build/C/man3/usleep.3:37
319 #, no-wrap
320 msgid "B<#include E<lt>unistd.hE<gt>>\n"
321 msgstr ""
322
323 #. type: Plain text
324 #: build/C/man2/access.2:51
325 #, no-wrap
326 msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
327 msgstr ""
328
329 #. type: Plain text
330 #: build/C/man2/access.2:59
331 msgid ""
332 "B<access>()  checks whether the calling process can access the file "
333 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
334 msgstr ""
335
336 #.  F_OK is defined as 0 on every system that I know of.
337 #. type: Plain text
338 #: build/C/man2/access.2:73
339 msgid ""
340 "The I<mode> specifies the accessibility check(s) to be performed, and is "
341 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
342 "more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of "
343 "the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and "
344 "grants read, write, and execute permissions, respectively."
345 msgstr ""
346
347 #. type: Plain text
348 #: build/C/man2/access.2:82
349 msgid ""
350 "The check is done using the calling process's I<real> UID and GID, rather "
351 "than the effective IDs as is done when actually attempting an operation "
352 "(e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily "
353 "determine the invoking user's authority."
354 msgstr ""
355
356 #. type: Plain text
357 #: build/C/man2/access.2:88
358 msgid ""
359 "If the calling process is privileged (i.e., its real UID is zero), then an "
360 "B<X_OK> check is successful for a regular file if execute permission is "
361 "enabled for any of the file owner, group, or other."
362 msgstr ""
363
364 #. type: SH
365 #: build/C/man2/access.2:88 build/C/man2/alarm.2:56 build/C/man2/brk.2:94 build/C/man2/chdir.2:70 build/C/man2/chmod.2:153 build/C/man2/chown.2:119 build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:92 build/C/man3/crypt.3:119 build/C/man3/daemon.3:70 build/C/man3/des_crypt.3:102 build/C/man2/dup.2:120 build/C/man3/encrypt.3:107 build/C/man3/euidaccess.3:59 build/C/man3/exec.3:181 build/C/man2/execve.2:340 build/C/man2/exit_group.2:37 build/C/man2/fcntl.2:1051 build/C/man3/fexecve.3:67 build/C/man2/flock.2:110 build/C/man2/fork.2:160 build/C/man3/fpathconf.3:143 build/C/man2/fsync.2:109 build/C/man2/get_thread_area.2:24 build/C/man3/getcwd.3:154 build/C/man2/getdomainname.2:75 build/C/man2/getdtablesize.2:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:272 build/C/man2/gettid.2:47 build/C/man3/getusershell.3:75 build/C/man2/idle.2:52 build/C/man2/ioctl.2:81 build/C/man2/ioctl_list.2:103 build/C/man2/ioperm.2:73 build/C/man3/lockf.3:110 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:47 build/C/man2/nice.2:56 build/C/man2/pread.2:77 build/C/man2/set_thread_area.2:40 build/C/man2/setup.2:53 build/C/man3/sleep.3:38 build/C/man3/swab.3:52 build/C/man2/swapon.2:108 build/C/man2/syscall.2:57 build/C/man3/sysconf.3:309 build/C/man2/sysctl.2:69 build/C/man2/sysinfo.2:74 build/C/man3/tcgetpgrp.3:59 build/C/man2/truncate.2:108 build/C/man3/ualarm.3:80 build/C/man2/umask.2:90 build/C/man2/uname.2:61 build/C/man2/uselib.2:48 build/C/man3/usleep.3:73 build/C/man2/vhangup.2:49
366 #, no-wrap
367 msgid "RETURN VALUE"
368 msgstr ""
369
370 #. type: Plain text
371 #: build/C/man2/access.2:96 build/C/man3/euidaccess.3:67
372 msgid ""
373 "On success (all requested permissions granted), zero is returned.  On error "
374 "(at least one bit in I<mode> asked for a permission that is denied, or some "
375 "other error occurred), -1 is returned, and I<errno> is set appropriately."
376 msgstr ""
377
378 #. type: SH
379 #: build/C/man2/access.2:96 build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/close.2:70 build/C/man3/confstr.3:119 build/C/man3/crypt.3:122 build/C/man2/dup.2:126 build/C/man3/encrypt.3:109 build/C/man3/euidaccess.3:67 build/C/man3/exec.3:188 build/C/man2/execve.2:346 build/C/man2/fcntl.2:1084 build/C/man3/fexecve.3:74 build/C/man2/flock.2:115 build/C/man2/fork.2:167 build/C/man2/fsync.2:114 build/C/man2/get_thread_area.2:30 build/C/man3/getcwd.3:170 build/C/man2/getdomainname.2:80 build/C/man2/getdtablesize.2:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:101 build/C/man2/gettid.2:49 build/C/man2/idle.2:55 build/C/man2/ioctl.2:90 build/C/man2/ioperm.2:78 build/C/man3/lockf.3:115 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:52 build/C/man2/nice.2:61 build/C/man2/pread.2:87 build/C/man2/set_thread_area.2:45 build/C/man2/setup.2:56 build/C/man2/swapon.2:113 build/C/man2/sysctl.2:76 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:81 build/C/man2/truncate.2:113 build/C/man3/ualarm.3:83 build/C/man2/uname.2:66 build/C/man2/uselib.2:53 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:54
380 #, no-wrap
381 msgid "ERRORS"
382 msgstr ""
383
384 #. type: Plain text
385 #: build/C/man2/access.2:99
386 msgid "B<access>()  shall fail if:"
387 msgstr ""
388
389 #. type: TP
390 #: build/C/man2/access.2:99 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117 build/C/man2/chmod.2:163 build/C/man2/chown.2:129 build/C/man2/chroot.2:98 build/C/man2/execve.2:354 build/C/man2/execve.2:361 build/C/man2/execve.2:364 build/C/man2/execve.2:367 build/C/man3/getcwd.3:171 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:53 build/C/man2/truncate.2:116 build/C/man2/uselib.2:59
391 #, no-wrap
392 msgid "B<EACCES>"
393 msgstr ""
394
395 #. type: Plain text
396 #: build/C/man2/access.2:106
397 msgid ""
398 "The requested access would be denied to the file, or search permission is "
399 "denied for one of the directories in the path prefix of I<pathname>.  (See "
400 "also B<path_resolution>(7).)"
401 msgstr ""
402
403 #. type: TP
404 #: build/C/man2/access.2:106 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chown.2:138 build/C/man2/chroot.2:112 build/C/man2/execve.2:388 build/C/man2/mkdir.2:71 build/C/man2/truncate.2:149
405 #, no-wrap
406 msgid "B<ELOOP>"
407 msgstr ""
408
409 #. type: Plain text
410 #: build/C/man2/access.2:110 build/C/man2/mkdir.2:75
411 msgid "Too many symbolic links were encountered in resolving I<pathname>."
412 msgstr ""
413
414 #. type: TP
415 #: build/C/man2/access.2:110 build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116 build/C/man2/execve.2:396 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:79 build/C/man2/truncate.2:152
416 #, no-wrap
417 msgid "B<ENAMETOOLONG>"
418 msgstr ""
419
420 #. type: Plain text
421 #: build/C/man2/access.2:114
422 msgid "I<pathname> is too long."
423 msgstr ""
424
425 #. type: TP
426 #: build/C/man2/access.2:114 build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chown.2:172 build/C/man2/chroot.2:120 build/C/man2/execve.2:403 build/C/man3/getcwd.3:196 build/C/man3/getlogin.3:120 build/C/man2/mkdir.2:82 build/C/man2/swapon.2:136 build/C/man2/truncate.2:156
427 #, no-wrap
428 msgid "B<ENOENT>"
429 msgstr ""
430
431 #. type: Plain text
432 #: build/C/man2/access.2:119
433 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
434 msgstr ""
435
436 #. type: TP
437 #: build/C/man2/access.2:119 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:417 build/C/man2/mkdir.2:99 build/C/man2/sysctl.2:83 build/C/man2/truncate.2:159
438 #, no-wrap
439 msgid "B<ENOTDIR>"
440 msgstr ""
441
442 #. type: Plain text
443 #: build/C/man2/access.2:124 build/C/man2/mkdir.2:104
444 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
445 msgstr ""
446
447 #. type: TP
448 #: build/C/man2/access.2:124 build/C/man2/chmod.2:198 build/C/man2/chmod.2:216 build/C/man2/chown.2:159 build/C/man2/chown.2:178 build/C/man2/mkdir.2:109 build/C/man2/truncate.2:168
449 #, no-wrap
450 msgid "B<EROFS>"
451 msgstr ""
452
453 #. type: Plain text
454 #: build/C/man2/access.2:127
455 msgid "Write permission was requested for a file on a read-only file system."
456 msgstr ""
457
458 #. type: Plain text
459 #: build/C/man2/access.2:130
460 msgid "B<access>()  may fail if:"
461 msgstr ""
462
463 #. type: TP
464 #: build/C/man2/access.2:130 build/C/man2/chdir.2:87 build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105 build/C/man2/execve.2:371 build/C/man2/fcntl.2:1106 build/C/man2/get_thread_area.2:31 build/C/man3/getcwd.3:174 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:95 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:68 build/C/man2/set_thread_area.2:49 build/C/man2/sysctl.2:77 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:122 build/C/man2/uname.2:67
465 #, no-wrap
466 msgid "B<EFAULT>"
467 msgstr ""
468
469 #. type: Plain text
470 #: build/C/man2/access.2:134 build/C/man2/mkdir.2:71
471 msgid "I<pathname> points outside your accessible address space."
472 msgstr ""
473
474 #. type: TP
475 #: build/C/man2/access.2:134 build/C/man3/confstr.3:120 build/C/man2/dup.2:151 build/C/man2/execve.2:375 build/C/man2/fcntl.2:1122 build/C/man3/fexecve.3:78 build/C/man2/flock.2:125 build/C/man2/get_thread_area.2:34 build/C/man3/getcwd.3:178 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:99 build/C/man2/ioperm.2:79 build/C/man3/lockf.3:141 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:46 build/C/man2/swapon.2:121 build/C/man3/tcgetpgrp.3:86 build/C/man2/truncate.2:138 build/C/man2/truncate.2:189 build/C/man3/ualarm.3:87 build/C/man3/usleep.3:80
476 #, no-wrap
477 msgid "B<EINVAL>"
478 msgstr ""
479
480 #. type: Plain text
481 #: build/C/man2/access.2:138
482 msgid "I<mode> was incorrectly specified."
483 msgstr ""
484
485 #. type: TP
486 #: build/C/man2/access.2:138 build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chmod.2:210 build/C/man2/chown.2:169 build/C/man2/chroot.2:109 build/C/man2/close.2:81 build/C/man2/execve.2:379 build/C/man2/fsync.2:119 build/C/man2/ioperm.2:85 build/C/man2/truncate.2:143
487 #, no-wrap
488 msgid "B<EIO>"
489 msgstr ""
490
491 #. type: Plain text
492 #: build/C/man2/access.2:141 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:382
493 msgid "An I/O error occurred."
494 msgstr ""
495
496 #. type: TP
497 #: build/C/man2/access.2:141 build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123 build/C/man2/execve.2:414 build/C/man2/fork.2:183 build/C/man3/getlogin.3:123 build/C/man2/ioperm.2:88 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:87 build/C/man2/swapon.2:141
498 #, no-wrap
499 msgid "B<ENOMEM>"
500 msgstr ""
501
502 #. type: Plain text
503 #: build/C/man2/access.2:144 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:417 build/C/man2/mkdir.2:90
504 msgid "Insufficient kernel memory was available."
505 msgstr ""
506
507 #. type: TP
508 #: build/C/man2/access.2:144 build/C/man2/execve.2:432 build/C/man2/truncate.2:171
509 #, no-wrap
510 msgid "B<ETXTBSY>"
511 msgstr ""
512
513 #. type: Plain text
514 #: build/C/man2/access.2:148
515 msgid "Write access was requested to an executable which is being executed."
516 msgstr ""
517
518 #. type: Plain text
519 #: build/C/man2/access.2:150 build/C/man2/close.2:87 build/C/man2/fork.2:189 build/C/man3/swab.3:58 build/C/man2/umask.2:95
520 msgid "SVr4, 4.3BSD, POSIX.1-2001."
521 msgstr ""
522
523 #. type: Plain text
524 #: build/C/man2/access.2:165
525 msgid ""
526 "B<Warning>: Using B<access>()  to check if a user is authorized to, for "
527 "example, open a file before actually doing so using B<open>(2)  creates a "
528 "security hole, because the user might exploit the short time interval "
529 "between checking and opening the file to manipulate it.  B<For this reason, "
530 "the use of this system call should be avoided>.  (In the example just "
531 "described, a safer alternative would be to temporarily switch the process's "
532 "effective user ID to the real ID and then call B<open>(2).)"
533 msgstr ""
534
535 #. type: Plain text
536 #: build/C/man2/access.2:172
537 msgid ""
538 "B<access>()  always dereferences symbolic links.  If you need to check the "
539 "permissions on a symbolic link, use B<faccessat(2)> with the flag "
540 "B<AT_SYMLINK_NOFOLLOW>."
541 msgstr ""
542
543 #. type: Plain text
544 #: build/C/man2/access.2:179
545 msgid ""
546 "B<access>()  returns an error if any of the access types in I<mode> is "
547 "denied, even if some of the other access types in I<mode> are permitted."
548 msgstr ""
549
550 #.  HPU-UX 11 and Tru64 5.1 do this.
551 #. type: Plain text
552 #: build/C/man2/access.2:186
553 msgid ""
554 "If the calling process has appropriate privileges (i.e., is superuser), "
555 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
556 "check even if none of the execute file permission bits are set.  Linux does "
557 "not do this."
558 msgstr ""
559
560 #. type: Plain text
561 #: build/C/man2/access.2:194
562 msgid ""
563 "A file is only accessible if the permissions on each of the directories in "
564 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
565 "directory is inaccessible, then the B<access>()  call will fail, regardless "
566 "of the permissions on the file itself."
567 msgstr ""
568
569 #. type: Plain text
570 #: build/C/man2/access.2:202
571 msgid ""
572 "Only access bits are checked, not the file type or contents.  Therefore, if "
573 "a directory is found to be writable, it probably means that files can be "
574 "created in the directory, and not that the directory can be written as a "
575 "file.  Similarly, a DOS file may be found to be \"executable,\" but the "
576 "B<execve>(2)  call will still fail."
577 msgstr ""
578
579 #. type: Plain text
580 #: build/C/man2/access.2:207
581 msgid ""
582 "B<access>()  may not work correctly on NFS file systems with UID mapping "
583 "enabled, because UID mapping is done on the server and hidden from the "
584 "client, which checks permissions."
585 msgstr ""
586
587 #. type: SH
588 #: build/C/man2/access.2:207 build/C/man7/environ.7:189 build/C/man2/fcntl.2:1239 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:161 build/C/man3/getopt.3:367 build/C/man2/mincore.2:144 build/C/man3/sleep.3:44 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:121 build/C/man2/truncate.2:241 build/C/man2/vfork.2:249
589 #, no-wrap
590 msgid "BUGS"
591 msgstr ""
592
593 #.  This behavior appears to have been an implementation accident.
594 #. type: Plain text
595 #: build/C/man2/access.2:230
596 msgid ""
597 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
598 "B<X_OK> tests for superuser.  If all categories of execute permission are "
599 "disabled for a nondirectory file, then the only B<access>()  test that "
600 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
601 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
602 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
603 "same way as kernel 2.4."
604 msgstr ""
605
606 #. type: Plain text
607 #: build/C/man2/access.2:241
608 msgid ""
609 "In kernels before 2.6.20, B<access>()  ignored the effect of the "
610 "B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying file "
611 "system.  Since kernel 2.6.20, B<access>()  honors this flag."
612 msgstr ""
613
614 #. type: Plain text
615 #: build/C/man2/access.2:251
616 msgid ""
617 "B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), "
618 "B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), "
619 "B<path_resolution>(7)"
620 msgstr ""
621
622 #. type: TH
623 #: build/C/man2/alarm.2:30
624 #, no-wrap
625 msgid "ALARM"
626 msgstr ""
627
628 #. type: TH
629 #: build/C/man2/alarm.2:30
630 #, no-wrap
631 msgid "2008-06-12"
632 msgstr ""
633
634 #. type: Plain text
635 #: build/C/man2/alarm.2:33
636 msgid "alarm - set an alarm clock for delivery of a signal"
637 msgstr ""
638
639 #. type: Plain text
640 #: build/C/man2/alarm.2:38
641 #, no-wrap
642 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
643 msgstr ""
644
645 #. type: Plain text
646 #: build/C/man2/alarm.2:46
647 msgid ""
648 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
649 "process in I<seconds> seconds."
650 msgstr ""
651
652 #. type: Plain text
653 #: build/C/man2/alarm.2:52
654 msgid "If I<seconds> is zero, no new B<alarm>()  is scheduled."
655 msgstr ""
656
657 #. type: Plain text
658 #: build/C/man2/alarm.2:56
659 msgid "In any event any previously set B<alarm>()  is canceled."
660 msgstr ""
661
662 #. type: Plain text
663 #: build/C/man2/alarm.2:61
664 msgid ""
665 "B<alarm>()  returns the number of seconds remaining until any previously "
666 "scheduled alarm was due to be delivered, or zero if there was no previously "
667 "scheduled alarm."
668 msgstr ""
669
670 #. type: Plain text
671 #: build/C/man2/alarm.2:63
672 msgid "SVr4, POSIX.1-2001, 4.3BSD."
673 msgstr ""
674
675 #. type: Plain text
676 #: build/C/man2/alarm.2:69
677 msgid ""
678 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
679 "interfere with use of the other."
680 msgstr ""
681
682 #. type: Plain text
683 #: build/C/man2/alarm.2:78
684 msgid ""
685 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
686 "and B<sleep>(3)  is a bad idea."
687 msgstr ""
688
689 #. type: Plain text
690 #: build/C/man2/alarm.2:81
691 msgid ""
692 "Scheduling delays can, as ever, cause the execution of the process to be "
693 "delayed by an arbitrary amount of time."
694 msgstr ""
695
696 #. type: Plain text
697 #: build/C/man2/alarm.2:89
698 msgid ""
699 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
700 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
701 msgstr ""
702
703 #. type: TH
704 #: build/C/man2/brk.2:30
705 #, no-wrap
706 msgid "BRK"
707 msgstr ""
708
709 #. type: TH
710 #: build/C/man2/brk.2:30 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:30 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man3/ualarm.3:23
711 #, no-wrap
712 msgid "2010-09-20"
713 msgstr ""
714
715 #. type: Plain text
716 #: build/C/man2/brk.2:33
717 msgid "brk, sbrk - change data segment size"
718 msgstr ""
719
720 #. type: Plain text
721 #: build/C/man2/brk.2:35 build/C/man2/chdir.2:38 build/C/man2/chown.2:43 build/C/man2/chroot.2:38 build/C/man3/daemon.3:39 build/C/man3/encrypt.3:31 build/C/man3/exec.3:44 build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43 build/C/man2/getdomainname.2:34 build/C/man2/getdtablesize.2:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:28 build/C/man2/idle.2:37 build/C/man3/lockf.3:27 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:28 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man2/uselib.2:36 build/C/man2/vfork.2:33 build/C/man2/vhangup.2:32
722 msgid "B<#include E<lt>unistd.hE<gt>>"
723 msgstr ""
724
725 #. type: Plain text
726 #: build/C/man2/brk.2:37
727 msgid "B<int brk(void *>I<addr>B<);>"
728 msgstr ""
729
730 #. type: Plain text
731 #: build/C/man2/brk.2:39
732 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
733 msgstr ""
734
735 #. type: Plain text
736 #: build/C/man2/brk.2:43 build/C/man2/chdir.2:46 build/C/man2/chmod.2:44 build/C/man2/chown.2:53 build/C/man2/chroot.2:44 build/C/man3/confstr.3:42 build/C/man3/daemon.3:45 build/C/man3/exec.3:66 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:47 build/C/man2/getdomainname.2:42 build/C/man2/getdtablesize.2:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:67 build/C/man2/getpagesize.2:34 build/C/man3/getusershell.3:45 build/C/man3/lockf.3:33 build/C/man2/mincore.2:47 build/C/man2/nice.2:42 build/C/man2/pread.2:38 build/C/man2/truncate.2:56 build/C/man3/ualarm.3:36 build/C/man3/usleep.3:44 build/C/man2/vfork.2:39 build/C/man2/vhangup.2:38
737 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
738 msgstr ""
739
740 #. type: Plain text
741 #: build/C/man2/brk.2:47
742 msgid "B<brk>(), B<sbrk>():"
743 msgstr ""
744
745 #. type: TP
746 #: build/C/man2/brk.2:50 build/C/man3/getcwd.3:58 build/C/man2/getdtablesize.2:44 build/C/man2/getpagesize.2:40 build/C/man3/ualarm.3:42 build/C/man3/usleep.3:50 build/C/man2/vfork.2:45
747 #, no-wrap
748 msgid "Since glibc 2.12:"
749 msgstr ""
750
751 #. type: Plain text
752 #: build/C/man2/brk.2:57
753 #, no-wrap
754 msgid ""
755 "_BSD_SOURCE || _SVID_SOURCE ||\n"
756 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
757 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
758 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
759 msgstr ""
760
761 #. type: Plain text
762 #: build/C/man2/brk.2:62
763 msgid ""
764 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
765 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
766 msgstr ""
767
768 #. type: Plain text
769 #: build/C/man2/brk.2:77
770 msgid ""
771 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
772 "defines the end of the process's data segment (i.e., the program break is "
773 "the first location after the end of the uninitialized data segment).  "
774 "Increasing the program break has the effect of allocating memory to the "
775 "process; decreasing the break deallocates memory."
776 msgstr ""
777
778 #. type: Plain text
779 #: build/C/man2/brk.2:84
780 msgid ""
781 "B<brk>()  sets the end of the data segment to the value specified by "
782 "I<addr>, when that value is reasonable, the system has enough memory, and "
783 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
784 msgstr ""
785
786 #. type: Plain text
787 #: build/C/man2/brk.2:94
788 msgid ""
789 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
790 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
791 "location of the program break."
792 msgstr ""
793
794 #. type: Plain text
795 #: build/C/man2/brk.2:103
796 msgid ""
797 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
798 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
799 msgstr ""
800
801 #. type: Plain text
802 #: build/C/man2/brk.2:115
803 msgid ""
804 "On success, B<sbrk>()  returns the previous program break.  (If the break "
805 "was increased, then this value is a pointer to the start of the newly "
806 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
807 "is set to B<ENOMEM>."
808 msgstr ""
809
810 #
811 #.  .BR brk ()
812 #.  and
813 #.  .BR sbrk ()
814 #.  are not defined in the C Standard and are deliberately excluded from the
815 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
816 #. type: Plain text
817 #: build/C/man2/brk.2:123
818 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
819 msgstr ""
820
821 #. type: Plain text
822 #: build/C/man2/brk.2:132
823 msgid ""
824 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
825 "package is the portable and comfortable way of allocating memory."
826 msgstr ""
827
828 #.  One sees
829 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
830 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
831 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
832 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
833 #.  Tru64 5.1, glibc2.2).
834 #. type: Plain text
835 #: build/C/man2/brk.2:142
836 msgid ""
837 "Various systems use various types for the argument of B<sbrk>().  Common are "
838 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
839 msgstr ""
840
841 #. type: SS
842 #: build/C/man2/brk.2:142 build/C/man2/vfork.2:211
843 #, no-wrap
844 msgid "Linux Notes"
845 msgstr ""
846
847 #. type: Plain text
848 #: build/C/man2/brk.2:158
849 msgid ""
850 "The return value described above for B<brk>()  is the behavior provided by "
851 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
852 "other implementations, the return value from B<brk>()  is the same; this "
853 "return value was also specified in SUSv2.)  However, the actual Linux system "
854 "call returns the new program break on success.  On failure, the system call "
855 "returns the current break.  The glibc wrapper function does some work (i.e., "
856 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
857 "return values described above."
858 msgstr ""
859
860 #. type: Plain text
861 #: build/C/man2/brk.2:165
862 msgid ""
863 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
864 "B<brk>()  system call, and does some internal bookkeeping so that it can "
865 "return the old break value."
866 msgstr ""
867
868 #. type: Plain text
869 #: build/C/man2/brk.2:169
870 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
871 msgstr ""
872
873 #. type: TH
874 #: build/C/man2/chdir.2:33
875 #, no-wrap
876 msgid "CHDIR"
877 msgstr ""
878
879 #. type: TH
880 #: build/C/man2/chdir.2:33
881 #, no-wrap
882 msgid "2010-11-25"
883 msgstr ""
884
885 #. type: Plain text
886 #: build/C/man2/chdir.2:36
887 msgid "chdir, fchdir - change working directory"
888 msgstr ""
889
890 #. type: Plain text
891 #: build/C/man2/chdir.2:40
892 msgid "B<int chdir(const char *>I<path>B<);>"
893 msgstr ""
894
895 #. type: Plain text
896 #: build/C/man2/chdir.2:42
897 msgid "B<int fchdir(int >I<fd>B<);>"
898 msgstr ""
899
900 #. type: Plain text
901 #: build/C/man2/chdir.2:49
902 msgid "B<fchdir>():"
903 msgstr ""
904
905 #. type: Plain text
906 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:64 build/C/man2/truncate.2:72
907 msgid ""
908 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
909 "_XOPEN_SOURCE_EXTENDED"
910 msgstr ""
911
912 #. type: Plain text
913 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:55 build/C/man2/chown.2:64 build/C/man2/pread.2:48 build/C/man2/truncate.2:66
914 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
915 msgstr ""
916
917 #. type: Plain text
918 #: build/C/man2/chdir.2:64
919 msgid ""
920 "B<chdir>()  changes the current working directory of the calling process to "
921 "the directory specified in I<path>."
922 msgstr ""
923
924 #. type: Plain text
925 #: build/C/man2/chdir.2:70
926 msgid ""
927 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
928 "directory is given as an open file descriptor."
929 msgstr ""
930
931 #. type: Plain text
932 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/flock.2:115 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:78 build/C/man3/lockf.3:115 build/C/man2/swapon.2:113 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:113 build/C/man2/uname.2:66 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:54
933 msgid ""
934 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
935 "appropriately."
936 msgstr ""
937
938 #. type: Plain text
939 #: build/C/man2/chdir.2:81
940 msgid ""
941 "Depending on the file system, other errors can be returned.  The more "
942 "general errors for B<chdir>()  are listed below:"
943 msgstr ""
944
945 #. type: Plain text
946 #: build/C/man2/chdir.2:87
947 msgid ""
948 "Search permission is denied for one of the components of I<path>.  (See also "
949 "B<path_resolution>(7).)"
950 msgstr ""
951
952 #. type: Plain text
953 #: build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chown.2:138 build/C/man2/chroot.2:109
954 msgid "I<path> points outside your accessible address space."
955 msgstr ""
956
957 #. type: Plain text
958 #: build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116
959 msgid "Too many symbolic links were encountered in resolving I<path>."
960 msgstr ""
961
962 #. type: Plain text
963 #: build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chroot.2:120
964 msgid "I<path> is too long."
965 msgstr ""
966
967 #. type: Plain text
968 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123
969 msgid "The file does not exist."
970 msgstr ""
971
972 #. type: Plain text
973 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
974 msgid "A component of I<path> is not a directory."
975 msgstr ""
976
977 #. type: Plain text
978 #: build/C/man2/chdir.2:117
979 msgid "The general errors for B<fchdir>()  are listed below:"
980 msgstr ""
981
982 #. type: Plain text
983 #: build/C/man2/chdir.2:121
984 msgid "Search permission was denied on the directory open on I<fd>."
985 msgstr ""
986
987 #. type: TP
988 #: build/C/man2/chdir.2:121 build/C/man2/chmod.2:205 build/C/man2/chown.2:166 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1092 build/C/man2/flock.2:116 build/C/man2/fsync.2:115 build/C/man2/ioctl.2:91 build/C/man3/lockf.3:124 build/C/man3/tcgetpgrp.3:82 build/C/man2/truncate.2:181
989 #, no-wrap
990 msgid "B<EBADF>"
991 msgstr ""
992
993 #. type: Plain text
994 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:86
995 msgid "I<fd> is not a valid file descriptor."
996 msgstr ""
997
998 #. type: Plain text
999 #: build/C/man2/chdir.2:127
1000 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1001 msgstr ""
1002
1003 #. type: Plain text
1004 #: build/C/man2/chdir.2:130
1005 msgid ""
1006 "The current working directory is the starting point for interpreting "
1007 "relative pathnames (those not starting with \\(aq/\\(aq)."
1008 msgstr ""
1009
1010 #. type: Plain text
1011 #: build/C/man2/chdir.2:136
1012 msgid ""
1013 "A child process created via B<fork>(2)  inherits its parent's current "
1014 "working directory.  The current working directory is left unchanged by "
1015 "B<execve>(2)."
1016 msgstr ""
1017
1018 #. type: Plain text
1019 #: build/C/man2/chdir.2:139
1020 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1021 msgstr ""
1022
1023 #. type: TH
1024 #: build/C/man2/chmod.2:31
1025 #, no-wrap
1026 msgid "CHMOD"
1027 msgstr ""
1028
1029 #. type: TH
1030 #: build/C/man2/chmod.2:31 build/C/man2/gethostname.2:32
1031 #, no-wrap
1032 msgid "2010-09-26"
1033 msgstr ""
1034
1035 #. type: Plain text
1036 #: build/C/man2/chmod.2:34
1037 msgid "chmod, fchmod - change permissions of a file"
1038 msgstr ""
1039
1040 #. type: Plain text
1041 #: build/C/man2/chmod.2:36 build/C/man3/getumask.3:35 build/C/man2/umask.2:41
1042 msgid "B<#include E<lt>sys/stat.hE<gt>>"
1043 msgstr ""
1044
1045 #. type: Plain text
1046 #: build/C/man2/chmod.2:38
1047 msgid "B<int chmod(const char *>I<path>B<, mode_t >I<mode>B<);>"
1048 msgstr ""
1049
1050 #. type: Plain text
1051 #: build/C/man2/chmod.2:40
1052 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>"
1053 msgstr ""
1054
1055 #. type: Plain text
1056 #: build/C/man2/chmod.2:49
1057 msgid "B<fchmod>():"
1058 msgstr ""
1059
1060 #. type: Plain text
1061 #: build/C/man2/chmod.2:61
1062 msgid ""
1063 "These system calls change the permissions of a file.  They differ only in "
1064 "how the file is specified:"
1065 msgstr ""
1066
1067 #. type: IP
1068 #: build/C/man2/chmod.2:61 build/C/man2/chmod.2:66 build/C/man2/chown.2:70 build/C/man2/chown.2:75 build/C/man2/chown.2:79 build/C/man2/chown.2:233 build/C/man2/chown.2:238 build/C/man2/chown.2:244 build/C/man2/dup.2:62 build/C/man2/dup.2:68 build/C/man2/dup.2:101 build/C/man2/dup.2:110 build/C/man2/execve.2:123 build/C/man2/execve.2:127 build/C/man2/execve.2:130 build/C/man2/execve.2:133 build/C/man2/execve.2:136 build/C/man2/execve.2:139 build/C/man2/execve.2:142 build/C/man2/execve.2:145 build/C/man2/execve.2:148 build/C/man2/execve.2:151 build/C/man2/execve.2:155 build/C/man2/execve.2:159 build/C/man2/execve.2:168 build/C/man2/execve.2:175 build/C/man2/execve.2:180 build/C/man2/execve.2:187 build/C/man2/execve.2:194 build/C/man2/execve.2:198 build/C/man2/execve.2:201 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:218 build/C/man2/fork.2:52 build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62 build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74 build/C/man2/fork.2:77 build/C/man2/fork.2:82 build/C/man2/fork.2:94 build/C/man2/fork.2:101 build/C/man2/fork.2:107 build/C/man2/fork.2:113 build/C/man2/fork.2:120 build/C/man2/fork.2:129 build/C/man2/fork.2:143 build/C/man2/fork.2:152 build/C/man2/syscalls.2:85 build/C/man2/syscalls.2:88 build/C/man2/syscalls.2:94 build/C/man2/syscalls.2:110 build/C/man2/syscalls.2:116 build/C/man2/syscalls.2:122 build/C/man2/syscalls.2:128 build/C/man2/syscalls.2:135 build/C/man2/syscalls.2:651 build/C/man2/syscalls.2:672 build/C/man2/syscalls.2:683 build/C/man2/syscalls.2:690 build/C/man2/syscalls.2:701 build/C/man2/syscalls.2:713 build/C/man2/syscalls.2:734 build/C/man2/syscalls.2:742 build/C/man2/vfork.2:191 build/C/man2/vfork.2:195
1069 #, no-wrap
1070 msgid "*"
1071 msgstr ""
1072
1073 #. type: Plain text
1074 #: build/C/man2/chmod.2:66
1075 msgid ""
1076 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1077 "given in I<path>, which is dereferenced if it is a symbolic link."
1078 msgstr ""
1079
1080 #. type: Plain text
1081 #: build/C/man2/chmod.2:70
1082 msgid ""
1083 "B<fchmod>()  changes the permissions of the file referred to by the open "
1084 "file descriptor I<fd>."
1085 msgstr ""
1086
1087 #. type: Plain text
1088 #: build/C/man2/chmod.2:75
1089 msgid ""
1090 "The new file permissions are specified in I<mode>, which is a bit mask "
1091 "created by ORing together zero or more of the following:"
1092 msgstr ""
1093
1094 #. type: TP
1095 #: build/C/man2/chmod.2:75
1096 #, no-wrap
1097 msgid "B<S_ISUID>  (04000)"
1098 msgstr ""
1099
1100 #. type: Plain text
1101 #: build/C/man2/chmod.2:79
1102 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1103 msgstr ""
1104
1105 #. type: TP
1106 #: build/C/man2/chmod.2:79
1107 #, no-wrap
1108 msgid "B<S_ISGID>  (02000)"
1109 msgstr ""
1110
1111 #. type: Plain text
1112 #: build/C/man2/chmod.2:89
1113 msgid ""
1114 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1115 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1116 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1117 msgstr ""
1118
1119 #. type: TP
1120 #: build/C/man2/chmod.2:89
1121 #, no-wrap
1122 msgid "B<S_ISVTX>  (01000)"
1123 msgstr ""
1124
1125 #. type: Plain text
1126 #: build/C/man2/chmod.2:93
1127 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1128 msgstr ""
1129
1130 #. type: TP
1131 #: build/C/man2/chmod.2:93
1132 #, no-wrap
1133 msgid "B<S_IRUSR>  (00400)"
1134 msgstr ""
1135
1136 #. type: Plain text
1137 #: build/C/man2/chmod.2:96
1138 msgid "read by owner"
1139 msgstr ""
1140
1141 #. type: TP
1142 #: build/C/man2/chmod.2:96
1143 #, no-wrap
1144 msgid "B<S_IWUSR>  (00200)"
1145 msgstr ""
1146
1147 #. type: Plain text
1148 #: build/C/man2/chmod.2:99
1149 msgid "write by owner"
1150 msgstr ""
1151
1152 #. type: TP
1153 #: build/C/man2/chmod.2:99
1154 #, no-wrap
1155 msgid "B<S_IXUSR>  (00100)"
1156 msgstr ""
1157
1158 #. type: Plain text
1159 #: build/C/man2/chmod.2:103
1160 msgid ""
1161 "execute/search by owner (\"search\" applies for directories, and means that "
1162 "entries within the directory can be accessed)"
1163 msgstr ""
1164
1165 #. type: TP
1166 #: build/C/man2/chmod.2:103
1167 #, no-wrap
1168 msgid "B<S_IRGRP>  (00040)"
1169 msgstr ""
1170
1171 #. type: Plain text
1172 #: build/C/man2/chmod.2:106
1173 msgid "read by group"
1174 msgstr ""
1175
1176 #. type: TP
1177 #: build/C/man2/chmod.2:106
1178 #, no-wrap
1179 msgid "B<S_IWGRP>  (00020)"
1180 msgstr ""
1181
1182 #. type: Plain text
1183 #: build/C/man2/chmod.2:109
1184 msgid "write by group"
1185 msgstr ""
1186
1187 #. type: TP
1188 #: build/C/man2/chmod.2:109
1189 #, no-wrap
1190 msgid "B<S_IXGRP>  (00010)"
1191 msgstr ""
1192
1193 #. type: Plain text
1194 #: build/C/man2/chmod.2:112
1195 msgid "execute/search by group"
1196 msgstr ""
1197
1198 #. type: TP
1199 #: build/C/man2/chmod.2:112
1200 #, no-wrap
1201 msgid "B<S_IROTH>  (00004)"
1202 msgstr ""
1203
1204 #. type: Plain text
1205 #: build/C/man2/chmod.2:115
1206 msgid "read by others"
1207 msgstr ""
1208
1209 #. type: TP
1210 #: build/C/man2/chmod.2:115
1211 #, no-wrap
1212 msgid "B<S_IWOTH>  (00002)"
1213 msgstr ""
1214
1215 #. type: Plain text
1216 #: build/C/man2/chmod.2:118
1217 msgid "write by others"
1218 msgstr ""
1219
1220 #. type: TP
1221 #: build/C/man2/chmod.2:118
1222 #, no-wrap
1223 msgid "B<S_IXOTH>  (00001)"
1224 msgstr ""
1225
1226 #. type: Plain text
1227 #: build/C/man2/chmod.2:121
1228 msgid "execute/search by others"
1229 msgstr ""
1230
1231 #. type: Plain text
1232 #: build/C/man2/chmod.2:126
1233 msgid ""
1234 "The effective UID of the calling process must match the owner of the file, "
1235 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1236 "capability)."
1237 msgstr ""
1238
1239 #. type: Plain text
1240 #: build/C/man2/chmod.2:135
1241 msgid ""
1242 "If the calling process is not privileged (Linux: does not have the "
1243 "B<CAP_FSETID> capability), and the group of the file does not match the "
1244 "effective group ID of the process or one of its supplementary group IDs, the "
1245 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1246 "returned."
1247 msgstr ""
1248
1249 #. type: Plain text
1250 #: build/C/man2/chmod.2:147
1251 msgid ""
1252 "As a security measure, depending on the file system, the set-user-ID and "
1253 "set-group-ID execution bits may be turned off if a file is written.  (On "
1254 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1255 "capability.)  On some file systems, only the superuser can set the sticky "
1256 "bit, which may have a special meaning.  For the sticky bit, and for "
1257 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1258 msgstr ""
1259
1260 #. type: Plain text
1261 #: build/C/man2/chmod.2:153
1262 msgid ""
1263 "On NFS file systems, restricting the permissions will immediately influence "
1264 "already open files, because the access control is done on the server, but "
1265 "open files are maintained by the client.  Widening the permissions may be "
1266 "delayed for other clients if attribute caching is enabled on them."
1267 msgstr ""
1268
1269 #. type: Plain text
1270 #: build/C/man2/chmod.2:163
1271 msgid ""
1272 "Depending on the file system, other errors can be returned.  The more "
1273 "general errors for B<chmod>()  are listed below:"
1274 msgstr ""
1275
1276 #.  Also search permission is required on the final component,
1277 #.  maybe just to guarantee that it is a directory?
1278 #. type: Plain text
1279 #: build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105
1280 msgid ""
1281 "Search permission is denied on a component of the path prefix.  (See also "
1282 "B<path_resolution>(7).)"
1283 msgstr ""
1284
1285 #. type: Plain text
1286 #: build/C/man2/chmod.2:192 build/C/man2/chown.2:155 build/C/man2/truncate.2:162
1287 msgid "A component of the path prefix is not a directory."
1288 msgstr ""
1289
1290 #. type: TP
1291 #: build/C/man2/chmod.2:192 build/C/man2/chmod.2:213 build/C/man2/chown.2:155 build/C/man2/chown.2:175 build/C/man2/chroot.2:131 build/C/man2/execve.2:422 build/C/man2/execve.2:428 build/C/man2/fcntl.2:1141 build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88 build/C/man2/gethostname.2:117 build/C/man2/idle.2:56 build/C/man2/ioperm.2:92 build/C/man2/mkdir.2:104 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:144 build/C/man2/sysctl.2:87 build/C/man3/tcgetpgrp.3:99 build/C/man2/truncate.2:162 build/C/man2/vhangup.2:55
1292 #, no-wrap
1293 msgid "B<EPERM>"
1294 msgstr ""
1295
1296 #. type: Plain text
1297 #: build/C/man2/chmod.2:198
1298 msgid ""
1299 "The effective UID does not match the owner of the file, and the process is "
1300 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1301 msgstr ""
1302
1303 #. type: Plain text
1304 #: build/C/man2/chmod.2:201 build/C/man2/chown.2:162 build/C/man2/truncate.2:171
1305 msgid "The named file resides on a read-only file system."
1306 msgstr ""
1307
1308 #. type: Plain text
1309 #: build/C/man2/chmod.2:205
1310 msgid "The general errors for B<fchmod>()  are listed below:"
1311 msgstr ""
1312
1313 #. type: Plain text
1314 #: build/C/man2/chmod.2:210
1315 msgid "The file descriptor I<fd> is not valid."
1316 msgstr ""
1317
1318 #. type: Plain text
1319 #: build/C/man2/chmod.2:213 build/C/man2/chmod.2:216 build/C/man2/chmod.2:219 build/C/man2/chown.2:175 build/C/man2/chown.2:178 build/C/man2/chown.2:181
1320 msgid "See above."
1321 msgstr ""
1322
1323 #. type: Plain text
1324 #: build/C/man2/chmod.2:221 build/C/man2/chown.2:183
1325 msgid "4.4BSD, SVr4, POSIX.1-2001."
1326 msgstr ""
1327
1328 #. type: Plain text
1329 #: build/C/man2/chmod.2:227
1330 msgid ""
1331 "B<chown>(2), B<execve>(2), B<fchmodat>(2), B<open>(2), B<stat>(2), "
1332 "B<path_resolution>(7)"
1333 msgstr ""
1334
1335 #. type: TH
1336 #: build/C/man2/chown.2:38
1337 #, no-wrap
1338 msgid "CHOWN"
1339 msgstr ""
1340
1341 #. type: TH
1342 #: build/C/man2/chown.2:38
1343 #, no-wrap
1344 msgid "2010-11-22"
1345 msgstr ""
1346
1347 #. type: Plain text
1348 #: build/C/man2/chown.2:41
1349 msgid "chown, fchown, lchown - change ownership of a file"
1350 msgstr ""
1351
1352 #. type: Plain text
1353 #: build/C/man2/chown.2:45
1354 msgid "B<int chown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1355 msgstr ""
1356
1357 #. type: Plain text
1358 #: build/C/man2/chown.2:47
1359 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man2/chown.2:49
1364 msgid "B<int lchown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1365 msgstr ""
1366
1367 #. type: Plain text
1368 #: build/C/man2/chown.2:57
1369 msgid "B<fchown>(), B<lchown>():"
1370 msgstr ""
1371
1372 #. type: Plain text
1373 #: build/C/man2/chown.2:70
1374 msgid ""
1375 "These system calls change the owner and group of a file.  The differ only in "
1376 "how the file is specified:"
1377 msgstr ""
1378
1379 #. type: Plain text
1380 #: build/C/man2/chown.2:75
1381 msgid ""
1382 "B<chown>()  changes the ownership of the file specified by I<path>, which is "
1383 "dereferenced if it is a symbolic link."
1384 msgstr ""
1385
1386 #. type: Plain text
1387 #: build/C/man2/chown.2:79
1388 msgid ""
1389 "B<fchown>()  changes the ownership of the file referred to by the open file "
1390 "descriptor I<fd>."
1391 msgstr ""
1392
1393 #. type: Plain text
1394 #: build/C/man2/chown.2:84
1395 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1396 msgstr ""
1397
1398 #. type: Plain text
1399 #: build/C/man2/chown.2:93
1400 msgid ""
1401 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1402 "change the owner of a file.  The owner of a file may change the group of the "
1403 "file to any group of which that owner is a member.  A privileged process "
1404 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1405 msgstr ""
1406
1407 #. type: Plain text
1408 #: build/C/man2/chown.2:99
1409 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1410 msgstr ""
1411
1412 #.  In Linux 2.0 kernels, superuser was like everyone else
1413 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1414 #.  Since 2.2.13, superuser is once more like everyone else.
1415 #. type: Plain text
1416 #: build/C/man2/chown.2:119
1417 msgid ""
1418 "When the owner or group of an executable file are changed by an unprivileged "
1419 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1420 "specify whether this also should happen when root does the B<chown>(); the "
1421 "Linux behavior depends on the kernel version.  In case of a "
1422 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1423 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1424 "B<chown>()."
1425 msgstr ""
1426
1427 #. type: Plain text
1428 #: build/C/man2/chown.2:129
1429 msgid ""
1430 "Depending on the file system, other errors can be returned.  The more "
1431 "general errors for B<chown>()  are listed below."
1432 msgstr ""
1433
1434 #. type: Plain text
1435 #: build/C/man2/chown.2:159
1436 msgid ""
1437 "The calling process did not have the required permissions (see above) to "
1438 "change owner and/or group."
1439 msgstr ""
1440
1441 #. type: Plain text
1442 #: build/C/man2/chown.2:166
1443 msgid "The general errors for B<fchown>()  are listed below:"
1444 msgstr ""
1445
1446 #. type: Plain text
1447 #: build/C/man2/chown.2:169
1448 msgid "The descriptor is not valid."
1449 msgstr ""
1450
1451 #. type: Plain text
1452 #: build/C/man2/chown.2:172
1453 msgid "A low-level I/O error occurred while modifying the inode."
1454 msgstr ""
1455
1456 #.  chown():
1457 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1458 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1459 #.  fchown():
1460 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1461 #.  error conditions.
1462 #. type: Plain text
1463 #: build/C/man2/chown.2:192
1464 msgid ""
1465 "The 4.4BSD version can only be used by the superuser (that is, ordinary "
1466 "users cannot give away files)."
1467 msgstr ""
1468
1469 #. type: Plain text
1470 #: build/C/man2/chown.2:211
1471 msgid ""
1472 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1473 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1474 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1475 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1476 "transparently deal with the variations across kernel versions."
1477 msgstr ""
1478
1479 #. type: Plain text
1480 #: build/C/man2/chown.2:233
1481 msgid ""
1482 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1483 "its owner is made the same as the file system user ID of the creating "
1484 "process.  The group of the file depends on a range of factors, including the "
1485 "type of file system, the options used to mount the file system, and whether "
1486 "or not the set-group-ID permission bit is enabled on the parent directory.  "
1487 "If the file system supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1488 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1489 "B<mount>(8)  options, then the rules are as follows:"
1490 msgstr ""
1491
1492 #. type: Plain text
1493 #: build/C/man2/chown.2:238
1494 msgid ""
1495 "If the file system is mounted with I<-o\\ grpid>, then the group of a new "
1496 "file is made the same as that of the parent directory."
1497 msgstr ""
1498
1499 #. type: Plain text
1500 #: build/C/man2/chown.2:244
1501 msgid ""
1502 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1503 "is disabled on the parent directory, then the group of a new file is made "
1504 "the same as the process's file system GID."
1505 msgstr ""
1506
1507 #. type: Plain text
1508 #: build/C/man2/chown.2:250
1509 msgid ""
1510 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1511 "is enabled on the parent directory, then the group of a new file is made the "
1512 "same as that of the parent directory."
1513 msgstr ""
1514
1515 #. type: Plain text
1516 #: build/C/man2/chown.2:260
1517 msgid ""
1518 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1519 "supported by ext2, ext3, ext4, and XFS.  File systems that don't support "
1520 "these mount options follow the I<-o\\ nogrpid> rules."
1521 msgstr ""
1522
1523 #. type: Plain text
1524 #: build/C/man2/chown.2:273
1525 msgid ""
1526 "The B<chown>()  semantics are deliberately violated on NFS file systems "
1527 "which have UID mapping enabled.  Additionally, the semantics of all system "
1528 "calls which access the file contents are violated, because B<chown>()  may "
1529 "cause immediate access revocation on already open files.  Client side "
1530 "caching may lead to a delay between the time where ownership have been "
1531 "changed to allow access for a user and the time where the file can actually "
1532 "be accessed by the user on other clients."
1533 msgstr ""
1534
1535 #. type: Plain text
1536 #: build/C/man2/chown.2:288
1537 msgid ""
1538 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1539 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1540 "symbolic links, and there is a new system call B<lchown>()  that does not "
1541 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1542 "semantics as the old B<chown>())  has got the same syscall number, and "
1543 "B<chown>()  got the newly introduced number."
1544 msgstr ""
1545
1546 #. type: Plain text
1547 #: build/C/man2/chown.2:297
1548 msgid ""
1549 "The following program changes the ownership of the file named in its second "
1550 "command-line argument to the value specified in its first command-line "
1551 "argument.  The new owner can be specified either as a numeric user ID, or as "
1552 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1553 "perform a lookup in the system password file)."
1554 msgstr ""
1555
1556 #. type: Plain text
1557 #: build/C/man2/chown.2:303
1558 #, no-wrap
1559 msgid ""
1560 "#include E<lt>pwd.hE<gt>\n"
1561 "#include E<lt>stdio.hE<gt>\n"
1562 "#include E<lt>stdlib.hE<gt>\n"
1563 "#include E<lt>unistd.hE<gt>\n"
1564 msgstr ""
1565
1566 #. type: Plain text
1567 #: build/C/man2/chown.2:310
1568 #, no-wrap
1569 msgid ""
1570 "int\n"
1571 "main(int argc, char *argv[])\n"
1572 "{\n"
1573 "    uid_t uid;\n"
1574 "    struct passwd *pwd;\n"
1575 "    char *endptr;\n"
1576 msgstr ""
1577
1578 #. type: Plain text
1579 #: build/C/man2/chown.2:315
1580 #, no-wrap
1581 msgid ""
1582 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
1583 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
1584 "argv[0]);\n"
1585 "        exit(EXIT_FAILURE);\n"
1586 "    }\n"
1587 msgstr ""
1588
1589 #. type: Plain text
1590 #: build/C/man2/chown.2:317
1591 #, no-wrap
1592 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
1593 msgstr ""
1594
1595 #. type: Plain text
1596 #: build/C/man2/chown.2:324
1597 #, no-wrap
1598 msgid ""
1599 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
1600 "*/\n"
1601 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
1602 "        if (pwd == NULL) {\n"
1603 "            perror(\"getpwnam\");\n"
1604 "            exit(EXIT_FAILURE);\n"
1605 "        }\n"
1606 msgstr ""
1607
1608 #. type: Plain text
1609 #: build/C/man2/chown.2:327
1610 #, no-wrap
1611 msgid ""
1612 "        uid = pwd-E<gt>pw_uid;\n"
1613 "    }\n"
1614 msgstr ""
1615
1616 #. type: Plain text
1617 #: build/C/man2/chown.2:332
1618 #, no-wrap
1619 msgid ""
1620 "    if (chown(argv[2], uid, -1) == -1) {\n"
1621 "        perror(\"chown\");\n"
1622 "        exit(EXIT_FAILURE);\n"
1623 "    }\n"
1624 msgstr ""
1625
1626 #. type: Plain text
1627 #: build/C/man2/chown.2:335 build/C/man2/execve.2:548 build/C/man3/getopt.3:426 build/C/man3/getopt.3:511
1628 #, no-wrap
1629 msgid ""
1630 "    exit(EXIT_SUCCESS);\n"
1631 "}\n"
1632 msgstr ""
1633
1634 #. type: Plain text
1635 #: build/C/man2/chown.2:341
1636 msgid ""
1637 "B<chmod>(2), B<fchownat>(2), B<flock>(2), B<path_resolution>(7), "
1638 "B<symlink>(7)"
1639 msgstr ""
1640
1641 #. type: TH
1642 #: build/C/man2/chroot.2:33
1643 #, no-wrap
1644 msgid "CHROOT"
1645 msgstr ""
1646
1647 #. type: Plain text
1648 #: build/C/man2/chroot.2:36
1649 msgid "chroot - change root directory"
1650 msgstr ""
1651
1652 #. type: Plain text
1653 #: build/C/man2/chroot.2:40
1654 msgid "B<int chroot(const char *>I<path>B<);>"
1655 msgstr ""
1656
1657 #. type: Plain text
1658 #: build/C/man2/chroot.2:47
1659 msgid "B<chroot>():"
1660 msgstr ""
1661
1662 #. type: TP
1663 #: build/C/man2/chroot.2:50
1664 #, no-wrap
1665 msgid "Since glibc 2.2.2:"
1666 msgstr ""
1667
1668 #. type: Plain text
1669 #: build/C/man2/chroot.2:57
1670 #, no-wrap
1671 msgid ""
1672 "_BSD_SOURCE ||\n"
1673 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1674 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1675 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1676 msgstr ""
1677
1678 #. type: Plain text
1679 #: build/C/man2/chroot.2:60
1680 msgid "Before glibc 2.2.2: none"
1681 msgstr ""
1682
1683 #. type: Plain text
1684 #: build/C/man2/chroot.2:69
1685 msgid ""
1686 "B<chroot>()  changes the root directory of the calling process to that "
1687 "specified in I<path>.  This directory will be used for pathnames beginning "
1688 "with I</>.  The root directory is inherited by all children of the calling "
1689 "process."
1690 msgstr ""
1691
1692 #. type: Plain text
1693 #: build/C/man2/chroot.2:74
1694 msgid ""
1695 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
1696 "may call B<chroot>()."
1697 msgstr ""
1698
1699 #. type: Plain text
1700 #: build/C/man2/chroot.2:77
1701 msgid ""
1702 "This call changes an ingredient in the pathname resolution process and does "
1703 "nothing else."
1704 msgstr ""
1705
1706 #. type: Plain text
1707 #: build/C/man2/chroot.2:83
1708 msgid ""
1709 "This call does not change the current working directory, so that after the "
1710 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
1711 "particular, the superuser can escape from a \"chroot jail\" by doing:"
1712 msgstr ""
1713
1714 #. type: Plain text
1715 #: build/C/man2/chroot.2:86
1716 #, no-wrap
1717 msgid "    mkdir foo; chroot foo; cd ..\n"
1718 msgstr ""
1719
1720 #. type: Plain text
1721 #: build/C/man2/chroot.2:90
1722 msgid ""
1723 "This call does not close open file descriptors, and such file descriptors "
1724 "may allow access to files outside the chroot tree."
1725 msgstr ""
1726
1727 #. type: Plain text
1728 #: build/C/man2/chroot.2:98
1729 msgid ""
1730 "Depending on the file system, other errors can be returned.  The more "
1731 "general errors are listed below:"
1732 msgstr ""
1733
1734 #. type: Plain text
1735 #: build/C/man2/chroot.2:134
1736 msgid "The caller has insufficient privilege."
1737 msgstr ""
1738
1739 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
1740 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
1741 #. type: Plain text
1742 #: build/C/man2/chroot.2:139
1743 msgid ""
1744 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
1745 "POSIX.1-2001."
1746 msgstr ""
1747
1748 #. type: Plain text
1749 #: build/C/man2/chroot.2:145
1750 msgid ""
1751 "A child process created via B<fork>(2)  inherits its parent's root "
1752 "directory.  The root directory is left unchanged by B<execve>(2)."
1753 msgstr ""
1754
1755 #.  FIXME . eventually say something about containers,
1756 #.  virtual servers, etc.?
1757 #. type: Plain text
1758 #: build/C/man2/chroot.2:151
1759 msgid "FreeBSD has a stronger B<jail>()  system call."
1760 msgstr ""
1761
1762 #. type: Plain text
1763 #: build/C/man2/chroot.2:153
1764 msgid "B<chdir>(2), B<path_resolution>(7)"
1765 msgstr ""
1766
1767 #. type: TH
1768 #: build/C/man2/close.2:35
1769 #, no-wrap
1770 msgid "CLOSE"
1771 msgstr ""
1772
1773 #. type: TH
1774 #: build/C/man2/close.2:35
1775 #, no-wrap
1776 msgid "2007-12-28"
1777 msgstr ""
1778
1779 #. type: Plain text
1780 #: build/C/man2/close.2:38
1781 msgid "close - close a file descriptor"
1782 msgstr ""
1783
1784 #. type: Plain text
1785 #: build/C/man2/close.2:43
1786 #, no-wrap
1787 msgid "B<int close(int >I<fd>B<);>\n"
1788 msgstr ""
1789
1790 #. type: Plain text
1791 #: build/C/man2/close.2:53
1792 msgid ""
1793 "B<close>()  closes a file descriptor, so that it no longer refers to any "
1794 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
1795 "file it was associated with, and owned by the process, are removed "
1796 "(regardless of the file descriptor that was used to obtain the lock)."
1797 msgstr ""
1798
1799 #. type: Plain text
1800 #: build/C/man2/close.2:64
1801 msgid ""
1802 "If I<fd> is the last file descriptor referring to the underlying open file "
1803 "description (see B<open>(2)), the resources associated with the open file "
1804 "description are freed; if the descriptor was the last reference to a file "
1805 "which has been removed using B<unlink>(2)  the file is deleted."
1806 msgstr ""
1807
1808 #. type: Plain text
1809 #: build/C/man2/close.2:70
1810 msgid ""
1811 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
1812 "is set appropriately."
1813 msgstr ""
1814
1815 #. type: Plain text
1816 #: build/C/man2/close.2:75
1817 msgid "I<fd> isn't a valid open file descriptor."
1818 msgstr ""
1819
1820 #. type: TP
1821 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1110 build/C/man2/flock.2:120 build/C/man2/truncate.2:131 build/C/man3/ualarm.3:84 build/C/man3/usleep.3:76
1822 #, no-wrap
1823 msgid "B<EINTR>"
1824 msgstr ""
1825
1826 #. type: Plain text
1827 #: build/C/man2/close.2:81
1828 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
1829 msgstr ""
1830
1831 #. type: Plain text
1832 #: build/C/man2/close.2:101
1833 msgid ""
1834 "Not checking the return value of B<close>()  is a common but nevertheless "
1835 "serious programming error.  It is quite possible that errors on a previous "
1836 "B<write>(2)  operation are first reported at the final B<close>().  Not "
1837 "checking the return value when closing the file may lead to silent loss of "
1838 "data.  This can especially be observed with NFS and with disk quota."
1839 msgstr ""
1840
1841 #. type: Plain text
1842 #: build/C/man2/close.2:110
1843 msgid ""
1844 "A successful close does not guarantee that the data has been successfully "
1845 "saved to disk, as the kernel defers writes.  It is not common for a file "
1846 "system to flush the buffers when the stream is closed.  If you need to be "
1847 "sure that the data is physically stored use B<fsync>(2).  (It will depend on "
1848 "the disk hardware at this point.)"
1849 msgstr ""
1850
1851 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
1852 #.  From: Fredrik Noring <noring@nocrew.org>
1853 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
1854 #.  in use by a system call is closed and then reused by e.g. an
1855 #.  independent open() in some unrelated thread, before the original system
1856 #.  call has restared after ERESTARTSYS, the original system call will
1857 #.  later restart with the reused file descriptor. This is most likely a
1858 #.  serious programming error.
1859 #. type: Plain text
1860 #: build/C/man2/close.2:125
1861 msgid ""
1862 "It is probably unwise to close file descriptors while they may be in use by "
1863 "system calls in other threads in the same process.  Since a file descriptor "
1864 "may be reused, there are some obscure race conditions that may cause "
1865 "unintended side effects."
1866 msgstr ""
1867
1868 #. type: Plain text
1869 #: build/C/man2/close.2:131
1870 msgid ""
1871 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
1872 "B<fclose>(3)"
1873 msgstr ""
1874
1875 #. type: TH
1876 #: build/C/man3/confstr.3:29
1877 #, no-wrap
1878 msgid "CONFSTR"
1879 msgstr ""
1880
1881 #. type: TH
1882 #: build/C/man3/confstr.3:29 build/C/man3/sleep.3:24
1883 #, no-wrap
1884 msgid "2010-02-03"
1885 msgstr ""
1886
1887 #. type: TH
1888 #: build/C/man3/confstr.3:29 build/C/man3/daemon.3:34 build/C/man3/exec.3:39 build/C/man3/fpathconf.3:24 build/C/man3/getcwd.3:30 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:39 build/C/man3/getumask.3:26 build/C/man3/getusershell.3:28 build/C/man3/lockf.3:22 build/C/man3/sleep.3:24 build/C/man3/sysconf.3:25 build/C/man3/tcgetpgrp.3:23
1889 #, no-wrap
1890 msgid "GNU"
1891 msgstr ""
1892
1893 #. type: Plain text
1894 #: build/C/man3/confstr.3:32
1895 msgid "confstr - get configuration dependent string variables"
1896 msgstr ""
1897
1898 #. type: Plain text
1899 #: build/C/man3/confstr.3:37
1900 #, no-wrap
1901 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1902 msgstr ""
1903
1904 #. type: Plain text
1905 #: build/C/man3/confstr.3:46
1906 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
1907 msgstr ""
1908
1909 #. type: Plain text
1910 #: build/C/man3/confstr.3:49
1911 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
1912 msgstr ""
1913
1914 #. type: Plain text
1915 #: build/C/man3/confstr.3:54
1916 msgid ""
1917 "The I<name> argument is the system variable to be queried.  The following "
1918 "variables are supported:"
1919 msgstr ""
1920
1921 #. type: TP
1922 #: build/C/man3/confstr.3:54
1923 #, no-wrap
1924 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
1925 msgstr ""
1926
1927 #. type: Plain text
1928 #: build/C/man3/confstr.3:58
1929 msgid ""
1930 "A string which identifies the GNU C library version on this system (e.g, "
1931 "\"glibc 2.3.4\")."
1932 msgstr ""
1933
1934 #. type: TP
1935 #: build/C/man3/confstr.3:58
1936 #, no-wrap
1937 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
1938 msgstr ""
1939
1940 #. type: Plain text
1941 #: build/C/man3/confstr.3:62
1942 msgid ""
1943 "A string which identifies the POSIX implementation supplied by this C "
1944 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
1945 msgstr ""
1946
1947 #. type: TP
1948 #: build/C/man3/confstr.3:62
1949 #, no-wrap
1950 msgid "B<_CS_PATH>"
1951 msgstr ""
1952
1953 #. type: Plain text
1954 #: build/C/man3/confstr.3:68
1955 msgid ""
1956 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
1957 "standard utilities can be found."
1958 msgstr ""
1959
1960 #. type: Plain text
1961 #: build/C/man3/confstr.3:84
1962 msgid ""
1963 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
1964 "of the string to I<buf> truncated to I<len - 1> characters if necessary, "
1965 "with a null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by "
1966 "comparing the return value of B<confstr>()  against I<len>."
1967 msgstr ""
1968
1969 #. type: Plain text
1970 #: build/C/man3/confstr.3:92
1971 msgid ""
1972 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
1973 "as defined below."
1974 msgstr ""
1975
1976 #. type: Plain text
1977 #: build/C/man3/confstr.3:104
1978 msgid ""
1979 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
1980 "number of bytes (including the terminating null byte)  that would be "
1981 "required to hold the entire value of that variable.  This value may be "
1982 "greater than I<len>, which means that the value in I<buf> is truncated."
1983 msgstr ""
1984
1985 #. type: Plain text
1986 #: build/C/man3/confstr.3:119
1987 msgid ""
1988 "If I<name> is a valid configuration variable, but that variable does not "
1989 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
1990 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
1991 "set to B<EINVAL>."
1992 msgstr ""
1993
1994 #. type: Plain text
1995 #: build/C/man3/confstr.3:125
1996 msgid "If the value of I<name> is invalid."
1997 msgstr ""
1998
1999 #. type: Plain text
2000 #: build/C/man3/confstr.3:127 build/C/man3/fpathconf.3:154 build/C/man2/pread.2:115 build/C/man3/sleep.3:44 build/C/man3/sysconf.3:324 build/C/man3/tcgetpgrp.3:106
2001 msgid "POSIX.1-2001."
2002 msgstr ""
2003
2004 #. type: Plain text
2005 #: build/C/man3/confstr.3:130
2006 msgid ""
2007 "The following code fragment determines the path where to find the POSIX.2 "
2008 "system utilities:"
2009 msgstr ""
2010
2011 #. type: Plain text
2012 #: build/C/man3/confstr.3:136
2013 #, no-wrap
2014 msgid ""
2015 "char *pathbuf;\n"
2016 "size_t n;\n"
2017 msgstr ""
2018
2019 #. type: Plain text
2020 #: build/C/man3/confstr.3:142
2021 #, no-wrap
2022 msgid ""
2023 "n = confstr(_CS_PATH,NULL,(size_t) 0);\n"
2024 "pathbuf = malloc(n);\n"
2025 "if (pathbuf == NULL)\n"
2026 "    abort();\n"
2027 "confstr(_CS_PATH, pathbuf, n);\n"
2028 msgstr ""
2029
2030 #. type: Plain text
2031 #: build/C/man3/confstr.3:147
2032 msgid "B<sh>(1), B<exec>(3), B<system>(3)"
2033 msgstr ""
2034
2035 #. type: TH
2036 #: build/C/man3/crypt.3:35
2037 #, no-wrap
2038 msgid "CRYPT"
2039 msgstr ""
2040
2041 #. type: TH
2042 #: build/C/man3/crypt.3:35
2043 #, no-wrap
2044 msgid "2011-09-15"
2045 msgstr ""
2046
2047 #. type: Plain text
2048 #: build/C/man3/crypt.3:38
2049 msgid "crypt, crypt_r - password and data encryption"
2050 msgstr ""
2051
2052 #. type: Plain text
2053 #: build/C/man3/crypt.3:41
2054 #, no-wrap
2055 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2056 msgstr ""
2057
2058 #. type: Plain text
2059 #: build/C/man3/crypt.3:45
2060 #, no-wrap
2061 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2062 msgstr ""
2063
2064 #. type: Plain text
2065 #: build/C/man3/crypt.3:47
2066 #, no-wrap
2067 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2068 msgstr ""
2069
2070 #. type: Plain text
2071 #: build/C/man3/crypt.3:49
2072 #, no-wrap
2073 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2074 msgstr ""
2075
2076 #. type: Plain text
2077 #: build/C/man3/crypt.3:52
2078 #, no-wrap
2079 msgid ""
2080 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2081 "B<              struct crypt_data *>I<data>B<);>\n"
2082 msgstr ""
2083
2084 #. type: Plain text
2085 #: build/C/man3/crypt.3:55
2086 msgid "Link with I<-lcrypt>."
2087 msgstr ""
2088
2089 #. type: Plain text
2090 #: build/C/man3/crypt.3:61
2091 msgid ""
2092 "B<crypt>()  is the password encryption function.  It is based on the Data "
2093 "Encryption Standard algorithm with variations intended (among other things) "
2094 "to discourage use of hardware implementations of a key search."
2095 msgstr ""
2096
2097 #. type: Plain text
2098 #: build/C/man3/crypt.3:64
2099 msgid "I<key> is a user's typed password."
2100 msgstr ""
2101
2102 #. type: Plain text
2103 #: build/C/man3/crypt.3:70
2104 msgid ""
2105 "I<salt> is a two-character string chosen from the set "
2106 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2107 "algorithm in one of 4096 different ways."
2108 msgstr ""
2109
2110 #. type: Plain text
2111 #: build/C/man3/crypt.3:81
2112 msgid ""
2113 "By taking the lowest 7 bits of each of the first eight characters of the "
2114 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2115 "repeatedly a constant string (usually a string consisting of all zeros).  "
2116 "The returned value points to the encrypted password, a series of 13 "
2117 "printable ASCII characters (the first two characters represent the salt "
2118 "itself).  The return value points to static data whose content is "
2119 "overwritten by each call."
2120 msgstr ""
2121
2122 #. type: Plain text
2123 #: build/C/man3/crypt.3:83
2124 msgid "Warning: The key space consists of"
2125 msgstr ""
2126
2127 #. type: Plain text
2128 #: build/C/man3/crypt.3:98
2129 msgid ""
2130 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2131 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2132 "is available which will search the portion of this key space that is "
2133 "generally used by humans for passwords.  Hence, password selection should, "
2134 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2135 "program that checks for crackable passwords during the selection process is "
2136 "recommended."
2137 msgstr ""
2138
2139 #. type: Plain text
2140 #: build/C/man3/crypt.3:107
2141 msgid ""
2142 "The DES algorithm itself has a few quirks which make the use of the "
2143 "B<crypt>()  interface a very poor choice for anything other than password "
2144 "authentication.  If you are planning on using the B<crypt>()  interface for "
2145 "a cryptography project, don't do it: get a good book on encryption and one "
2146 "of the widely available DES libraries."
2147 msgstr ""
2148
2149 #. type: Plain text
2150 #: build/C/man3/crypt.3:119
2151 msgid ""
2152 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2153 "to by I<data> is used to store result data and bookkeeping information.  "
2154 "Other than allocating it, the only thing that the caller should do with this "
2155 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2156 "to B<crypt_r>()."
2157 msgstr ""
2158
2159 #. type: Plain text
2160 #: build/C/man3/crypt.3:122
2161 msgid ""
2162 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2163 "is returned."
2164 msgstr ""
2165
2166 #. type: TP
2167 #: build/C/man3/crypt.3:123 build/C/man3/encrypt.3:114 build/C/man3/fexecve.3:86
2168 #, no-wrap
2169 msgid "B<ENOSYS>"
2170 msgstr ""
2171
2172 #.  This level of detail is not necessary in this man page. . .
2173 #.  .PP
2174 #.  When encrypting a plain text P using DES with the key K results in the
2175 #.  encrypted text C, then the complementary plain text P' being encrypted
2176 #.  using the complementary key K' will result in the complementary encrypted
2177 #.  text C'.
2178 #.  .PP
2179 #.  Weak keys are keys which stay invariant under the DES key transformation.
2180 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2181 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2182 #.  .PP
2183 #.  There are six known half weak key pairs, which keys lead to the same
2184 #.  encrypted data.  Keys which are part of such key clusters should be
2185 #.  avoided.
2186 #.  Sorry, I could not find out what they are.
2187 #. "
2188 #.  .PP
2189 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2190 #.  .I codebook
2191 #.  mode that
2192 #.  .BR crypt ()
2193 #.  implements.  The
2194 #.  .BR crypt ()
2195 #.  interface should be used only for its intended purpose of password
2196 #.  verification, and should not be used as part of a data encryption tool.
2197 #.  .PP
2198 #.  The first and last three output bits of the fourth S-box can be
2199 #.  represented as function of their input bits.  Empiric studies have
2200 #.  shown that S-boxes partially compute the same output for similar input.
2201 #.  It is suspected that this may contain a back door which could allow the
2202 #.  NSA to decrypt DES encrypted data.
2203 #.  .PP
2204 #.  Making encrypted data computed using crypt() publicly available has
2205 #.  to be considered insecure for the given reasons.
2206 #. type: Plain text
2207 #: build/C/man3/crypt.3:162
2208 msgid ""
2209 "The B<crypt>()  function was not implemented, probably because of "
2210 "U.S.A. export restrictions."
2211 msgstr ""
2212
2213 #. type: Plain text
2214 #: build/C/man3/crypt.3:167
2215 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2216 msgstr ""
2217
2218 #. type: SS
2219 #: build/C/man3/crypt.3:168 build/C/man2/gethostname.2:140
2220 #, no-wrap
2221 msgid "Glibc Notes"
2222 msgstr ""
2223
2224 #. type: Plain text
2225 #: build/C/man3/crypt.3:171
2226 msgid ""
2227 "The glibc2 version of this function supports additional encryption "
2228 "algorithms."
2229 msgstr ""
2230
2231 #. type: Plain text
2232 #: build/C/man3/crypt.3:176
2233 msgid ""
2234 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2235 "followed by a string terminated by \"$\":"
2236 msgstr ""
2237
2238 #. type: Plain text
2239 #: build/C/man3/crypt.3:179
2240 msgid "$I<id>$I<salt>$I<encrypted>"
2241 msgstr ""
2242
2243 #. type: Plain text
2244 #: build/C/man3/crypt.3:188
2245 msgid ""
2246 "then instead of using the DES machine, I<id> identifies the encryption "
2247 "method used and this then determines how the rest of the password string is "
2248 "interpreted.  The following values of I<id> are supported:"
2249 msgstr ""
2250
2251 #. type: tbl table
2252 #: build/C/man3/crypt.3:191
2253 #, no-wrap
2254 msgid "ID  | Method\n"
2255 msgstr ""
2256
2257 #. type: tbl table
2258 #: build/C/man3/crypt.3:192
2259 #, no-wrap
2260 msgid "_\n"
2261 msgstr ""
2262
2263 #. type: tbl table
2264 #: build/C/man3/crypt.3:193
2265 #, no-wrap
2266 msgid "1   | MD5\n"
2267 msgstr ""
2268
2269 #. type: tbl table
2270 #: build/C/man3/crypt.3:194
2271 #, no-wrap
2272 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2273 msgstr ""
2274
2275 #. type: tbl table
2276 #: build/C/man3/crypt.3:195
2277 #, no-wrap
2278 msgid "    | Linux distributions)\n"
2279 msgstr ""
2280
2281 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2282 #.  natively by glibc -- mtk, Jul 08
2283 #
2284 #.  md5 | Sun MD5
2285 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2286 #.  if any distros add the support.
2287 #. type: tbl table
2288 #: build/C/man3/crypt.3:202
2289 #, no-wrap
2290 msgid "5   | SHA-256 (since glibc 2.7)\n"
2291 msgstr ""
2292
2293 #. type: tbl table
2294 #: build/C/man3/crypt.3:203
2295 #, no-wrap
2296 msgid "6   | SHA-512 (since glibc 2.7)\n"
2297 msgstr ""
2298
2299 #. type: Plain text
2300 #: build/C/man3/crypt.3:210
2301 msgid ""
2302 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2303 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2304 msgstr ""
2305
2306 #. type: Plain text
2307 #: build/C/man3/crypt.3:215
2308 msgid ""
2309 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2310 "salt.  The encrypted part of the password string is the actual computed "
2311 "password.  The size of this string is fixed:"
2312 msgstr ""
2313
2314 #. type: tbl table
2315 #: build/C/man3/crypt.3:217
2316 #, no-wrap
2317 msgid "MD5     | 22 characters\n"
2318 msgstr ""
2319
2320 #. type: tbl table
2321 #: build/C/man3/crypt.3:218
2322 #, no-wrap
2323 msgid "SHA-256 | 43 characters\n"
2324 msgstr ""
2325
2326 #. type: tbl table
2327 #: build/C/man3/crypt.3:219
2328 #, no-wrap
2329 msgid "SHA-512 | 86 characters\n"
2330 msgstr ""
2331
2332 #. type: Plain text
2333 #: build/C/man3/crypt.3:228
2334 msgid ""
2335 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2336 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2337 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2338 msgstr ""
2339
2340 #. type: Plain text
2341 #: build/C/man3/crypt.3:233
2342 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2343 msgstr ""
2344
2345 #. type: TH
2346 #: build/C/man3/daemon.3:34
2347 #, no-wrap
2348 msgid "DAEMON"
2349 msgstr ""
2350
2351 #. type: TH
2352 #: build/C/man3/daemon.3:34
2353 #, no-wrap
2354 msgid "2009-12-05"
2355 msgstr ""
2356
2357 #. type: Plain text
2358 #: build/C/man3/daemon.3:37
2359 msgid "daemon - run in the background"
2360 msgstr ""
2361
2362 #. type: Plain text
2363 #: build/C/man3/daemon.3:41
2364 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2365 msgstr ""
2366
2367 #. type: Plain text
2368 #: build/C/man3/daemon.3:49
2369 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2370 msgstr ""
2371
2372 #. type: Plain text
2373 #: build/C/man3/daemon.3:54
2374 msgid ""
2375 "The B<daemon>()  function is for programs wishing to detach themselves from "
2376 "the controlling terminal and run in the background as system daemons."
2377 msgstr ""
2378
2379 #. type: Plain text
2380 #: build/C/man3/daemon.3:62
2381 msgid ""
2382 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2383 "working directory to the root directory (\"/\"); otherwise, the current "
2384 "working directory is left unchanged."
2385 msgstr ""
2386
2387 #. type: Plain text
2388 #: build/C/man3/daemon.3:70
2389 msgid ""
2390 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2391 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2392 "these file descriptors."
2393 msgstr ""
2394
2395 #.  not .IR in order not to underline _
2396 #. type: Plain text
2397 #: build/C/man3/daemon.3:88
2398 msgid ""
2399 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2400 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2401 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2402 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2403 "B<setsid>(2)."
2404 msgstr ""
2405
2406 #. type: Plain text
2407 #: build/C/man3/daemon.3:94
2408 msgid ""
2409 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2410 "B<daemon>()  function first appeared in 4.4BSD."
2411 msgstr ""
2412
2413 #. type: Plain text
2414 #: build/C/man3/daemon.3:102
2415 msgid ""
2416 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2417 "not a character device with the expected major and minor numbers.  In this "
2418 "case I<errno> need not be set."
2419 msgstr ""
2420
2421 #. type: Plain text
2422 #: build/C/man3/daemon.3:104
2423 msgid "B<fork>(2), B<setsid>(2)"
2424 msgstr ""
2425
2426 #. type: TH
2427 #: build/C/man3/des_crypt.3:10
2428 #, no-wrap
2429 msgid "DES_CRYPT"
2430 msgstr ""
2431
2432 #. type: TH
2433 #: build/C/man3/des_crypt.3:10
2434 #, no-wrap
2435 msgid "2007-05-18"
2436 msgstr ""
2437
2438 #. type: Plain text
2439 #: build/C/man3/des_crypt.3:14
2440 msgid ""
2441 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2442 "encryption"
2443 msgstr ""
2444
2445 #.  Sun version
2446 #.  .B #include <des_crypt.h>
2447 #. type: Plain text
2448 #: build/C/man3/des_crypt.3:19
2449 #, no-wrap
2450 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2451 msgstr ""
2452
2453 #. type: Plain text
2454 #: build/C/man3/des_crypt.3:22
2455 #, no-wrap
2456 msgid ""
2457 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2458 ">I<datalen>B<,>\n"
2459 "B<              unsigned >I<mode>B<);>\n"
2460 msgstr ""
2461
2462 #. type: Plain text
2463 #: build/C/man3/des_crypt.3:25
2464 #, no-wrap
2465 msgid ""
2466 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2467 ">I<datalen>B<,>\n"
2468 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2469 msgstr ""
2470
2471 #. type: Plain text
2472 #: build/C/man3/des_crypt.3:27
2473 #, no-wrap
2474 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2475 msgstr ""
2476
2477 #. type: Plain text
2478 #: build/C/man3/des_crypt.3:29
2479 #, no-wrap
2480 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2481 msgstr ""
2482
2483 #. type: Plain text
2484 #: build/C/man3/des_crypt.3:59
2485 msgid ""
2486 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2487 "Standard).  These routines are faster and more general purpose than "
2488 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2489 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2490 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2491 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2492 "CBC mode protects against insertions, deletions and substitutions of "
2493 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2494 "text."
2495 msgstr ""
2496
2497 #. type: Plain text
2498 #: build/C/man3/des_crypt.3:102
2499 msgid ""
2500 "Here is how to use these routines.  The first argument, I<key>, is the "
2501 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2502 "is in the low bit of each byte, use B<des_setparity>().  The second "
2503 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2504 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2505 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2506 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2507 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2508 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2509 "hardware, then the encryption is performed in software and the routine "
2510 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2511 "the 8-byte initialization vector for the chaining.  It is updated to the "
2512 "next initialization vector upon return."
2513 msgstr ""
2514
2515 #. type: TP
2516 #: build/C/man3/des_crypt.3:104
2517 #, no-wrap
2518 msgid "B<DESERR_NONE>"
2519 msgstr ""
2520
2521 #. type: Plain text
2522 #: build/C/man3/des_crypt.3:107
2523 msgid "No error."
2524 msgstr ""
2525
2526 #. type: TP
2527 #: build/C/man3/des_crypt.3:107
2528 #, no-wrap
2529 msgid "B<DESERR_NOHWDEVICE>"
2530 msgstr ""
2531
2532 #. type: Plain text
2533 #: build/C/man3/des_crypt.3:110
2534 msgid ""
2535 "Encryption succeeded, but done in software instead of the requested "
2536 "hardware."
2537 msgstr ""
2538
2539 #. type: TP
2540 #: build/C/man3/des_crypt.3:110
2541 #, no-wrap
2542 msgid "B<DESERR_HWERROR>"
2543 msgstr ""
2544
2545 #. type: Plain text
2546 #: build/C/man3/des_crypt.3:113
2547 msgid "An error occurred in the hardware or driver."
2548 msgstr ""
2549
2550 #. type: TP
2551 #: build/C/man3/des_crypt.3:113
2552 #, no-wrap
2553 msgid "B<DESERR_BADPARAM>"
2554 msgstr ""
2555
2556 #. type: Plain text
2557 #: build/C/man3/des_crypt.3:116
2558 msgid "Bad argument to routine."
2559 msgstr ""
2560
2561 #.  .BR DES_FAILED\c
2562 #.  .BR ( stat )
2563 #.  So far the Sun page
2564 #.  Some additions - aeb
2565 #. type: Plain text
2566 #: build/C/man3/des_crypt.3:127
2567 msgid ""
2568 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
2569 "only for the first two statuses."
2570 msgstr ""
2571
2572 #. type: SH
2573 #: build/C/man3/des_crypt.3:127 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:70 build/C/man3/exec.3:193 build/C/man2/exit_group.2:39 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:37 build/C/man2/gettid.2:51 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/pread.2:102 build/C/man2/set_thread_area.2:55 build/C/man2/setup.2:60
2574 #, no-wrap
2575 msgid "VERSIONS"
2576 msgstr ""
2577
2578 #. type: Plain text
2579 #: build/C/man3/des_crypt.3:130
2580 msgid ""
2581 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
2582 "later."
2583 msgstr ""
2584
2585 #. type: Plain text
2586 #: build/C/man3/des_crypt.3:133
2587 msgid "4.3BSD.  Not in POSIX.1-2001."
2588 msgstr ""
2589
2590 #. type: Plain text
2591 #: build/C/man3/des_crypt.3:136
2592 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
2593 msgstr ""
2594
2595 #. type: TH
2596 #: build/C/man2/dup.2:36
2597 #, no-wrap
2598 msgid "DUP"
2599 msgstr ""
2600
2601 #. type: TH
2602 #: build/C/man2/dup.2:36
2603 #, no-wrap
2604 msgid "2012-02-14"
2605 msgstr ""
2606
2607 #. type: Plain text
2608 #: build/C/man2/dup.2:39
2609 msgid "dup, dup2, dup3 - duplicate a file descriptor"
2610 msgstr ""
2611
2612 #. type: Plain text
2613 #: build/C/man2/dup.2:45
2614 #, no-wrap
2615 msgid ""
2616 "B<int dup(int >I<oldfd>B<);>\n"
2617 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
2618 msgstr ""
2619
2620 #. type: Plain text
2621 #: build/C/man2/dup.2:49
2622 #, no-wrap
2623 msgid ""
2624 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
2625 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
2626 "definitions */\n"
2627 "B<#include E<lt>unistd.hE<gt>>\n"
2628 msgstr ""
2629
2630 #. type: Plain text
2631 #: build/C/man2/dup.2:51
2632 #, no-wrap
2633 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
2634 msgstr ""
2635
2636 #. type: Plain text
2637 #: build/C/man2/dup.2:55
2638 msgid "These system calls create a copy of the file descriptor I<oldfd>."
2639 msgstr ""
2640
2641 #. type: Plain text
2642 #: build/C/man2/dup.2:58
2643 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
2644 msgstr ""
2645
2646 #. type: Plain text
2647 #: build/C/man2/dup.2:62
2648 msgid ""
2649 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
2650 "necessary, but note the following:"
2651 msgstr ""
2652
2653 #. type: Plain text
2654 #: build/C/man2/dup.2:68
2655 msgid ""
2656 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
2657 "I<newfd> is not closed."
2658 msgstr ""
2659
2660 #. type: Plain text
2661 #: build/C/man2/dup.2:79
2662 msgid ""
2663 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
2664 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
2665 msgstr ""
2666
2667 #. type: Plain text
2668 #: build/C/man2/dup.2:88
2669 msgid ""
2670 "After a successful return from one of these system calls, the old and new "
2671 "file descriptors may be used interchangeably.  They refer to the same open "
2672 "file description (see B<open>(2))  and thus share file offset and file "
2673 "status flags; for example, if the file offset is modified by using "
2674 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
2675 "other."
2676 msgstr ""
2677
2678 #. type: Plain text
2679 #: build/C/man2/dup.2:96
2680 msgid ""
2681 "The two descriptors do not share file descriptor flags (the close-on-exec "
2682 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
2683 "duplicate descriptor is off."
2684 msgstr ""
2685
2686 #. type: Plain text
2687 #: build/C/man2/dup.2:101
2688 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
2689 msgstr ""
2690
2691 #. type: Plain text
2692 #: build/C/man2/dup.2:110
2693 msgid ""
2694 "The caller can force the close-on-exec flag to be set for the new file "
2695 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
2696 "the same flag in B<open>(2)  for reasons why this may be useful."
2697 msgstr ""
2698
2699 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2700 #. type: Plain text
2701 #: build/C/man2/dup.2:120
2702 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
2703 msgstr ""
2704
2705 #. type: Plain text
2706 #: build/C/man2/dup.2:126
2707 msgid ""
2708 "On success, these system calls return the new descriptor.  On error, -1 is "
2709 "returned, and I<errno> is set appropriately."
2710 msgstr ""
2711
2712 #. type: Plain text
2713 #: build/C/man2/dup.2:133
2714 msgid ""
2715 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
2716 "range for file descriptors."
2717 msgstr ""
2718
2719 #. type: TP
2720 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
2721 #, no-wrap
2722 msgid "B<EBUSY>"
2723 msgstr ""
2724
2725 #. type: Plain text
2726 #: build/C/man2/dup.2:143
2727 msgid ""
2728 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
2729 "condition with B<open>(2)  and B<dup>()."
2730 msgstr ""
2731
2732 #. type: Plain text
2733 #: build/C/man2/dup.2:151
2734 msgid ""
2735 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
2736 "B<signal>(7)."
2737 msgstr ""
2738
2739 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2740 #. type: Plain text
2741 #: build/C/man2/dup.2:161
2742 msgid ""
2743 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
2744 "I<newfd>."
2745 msgstr ""
2746
2747 #. type: TP
2748 #: build/C/man2/dup.2:161 build/C/man2/execve.2:393 build/C/man2/fcntl.2:1132 build/C/man3/getlogin.3:103
2749 #, no-wrap
2750 msgid "B<EMFILE>"
2751 msgstr ""
2752
2753 #. type: Plain text
2754 #: build/C/man2/dup.2:165
2755 msgid ""
2756 "The process already has the maximum number of file descriptors open and "
2757 "tried to open a new one."
2758 msgstr ""
2759
2760 #. type: Plain text
2761 #: build/C/man2/dup.2:170
2762 msgid ""
2763 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
2764 "starting with version 2.9."
2765 msgstr ""
2766
2767 #. type: Plain text
2768 #: build/C/man2/dup.2:174
2769 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
2770 msgstr ""
2771
2772 #.  SVr4 documents additional
2773 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
2774 #.  The EBUSY return is Linux-specific.
2775 #. type: Plain text
2776 #: build/C/man2/dup.2:180
2777 msgid "B<dup3>()  is Linux-specific."
2778 msgstr ""
2779
2780 #. type: Plain text
2781 #: build/C/man2/dup.2:194
2782 msgid ""
2783 "The error returned by B<dup2>()  is different from that returned by "
2784 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
2785 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
2786 msgstr ""
2787
2788 #. type: Plain text
2789 #: build/C/man2/dup.2:207
2790 msgid ""
2791 "If I<newfd> was open, any errors that would have been reported at "
2792 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
2793 "B<dup3>()  without closing I<newfd> first."
2794 msgstr ""
2795
2796 #. type: Plain text
2797 #: build/C/man2/dup.2:210
2798 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
2799 msgstr ""
2800
2801 #. type: TH
2802 #: build/C/man3/encrypt.3:24
2803 #, no-wrap
2804 msgid "ENCRYPT"
2805 msgstr ""
2806
2807 #. type: TH
2808 #: build/C/man3/encrypt.3:24
2809 #, no-wrap
2810 msgid "2003-04-04"
2811 msgstr ""
2812
2813 #. type: Plain text
2814 #: build/C/man3/encrypt.3:27
2815 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
2816 msgstr ""
2817
2818 #. type: Plain text
2819 #: build/C/man3/encrypt.3:29 build/C/man3/encrypt.3:35
2820 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
2821 msgstr ""
2822
2823 #. type: Plain text
2824 #: build/C/man3/encrypt.3:33
2825 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
2826 msgstr ""
2827
2828 #. type: Plain text
2829 #: build/C/man3/encrypt.3:37
2830 msgid "B<#include E<lt>stdlib.hE<gt>>"
2831 msgstr ""
2832
2833 #. type: Plain text
2834 #: build/C/man3/encrypt.3:39
2835 msgid "B<void setkey(const char *>I<key>B<);>"
2836 msgstr ""
2837
2838 #. type: Plain text
2839 #: build/C/man3/encrypt.3:41 build/C/man3/getumask.3:31
2840 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
2841 msgstr ""
2842
2843 #. type: Plain text
2844 #: build/C/man3/encrypt.3:43
2845 msgid "B<#include E<lt>crypt.hE<gt>>"
2846 msgstr ""
2847
2848 #. type: Plain text
2849 #: build/C/man3/encrypt.3:45
2850 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
2851 msgstr ""
2852
2853 #. type: Plain text
2854 #: build/C/man3/encrypt.3:48
2855 msgid ""
2856 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
2857 "*>I<data>B<);>"
2858 msgstr ""
2859
2860 #. type: Plain text
2861 #: build/C/man3/encrypt.3:50
2862 msgid "Each of these requires linking with I<-lcrypt>."
2863 msgstr ""
2864
2865 #. type: Plain text
2866 #: build/C/man3/encrypt.3:62
2867 msgid ""
2868 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
2869 "function sets the key used by B<encrypt>().  The I<key> argument used here "
2870 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
2871 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
2872 "56 bits."
2873 msgstr ""
2874
2875 #. type: Plain text
2876 #: build/C/man3/encrypt.3:74
2877 msgid ""
2878 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
2879 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
2880 "I<block> is a bit vector representation of the actual value that is "
2881 "encoded.  The result is returned in that same vector."
2882 msgstr ""
2883
2884 #. type: Plain text
2885 #: build/C/man3/encrypt.3:84
2886 msgid ""
2887 "These two functions are not reentrant, that is, the key data is kept in "
2888 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
2889 "reentrant versions.  They use the following structure to hold the key data:"
2890 msgstr ""
2891
2892 #. type: Plain text
2893 #: build/C/man3/encrypt.3:99
2894 #, no-wrap
2895 msgid ""
2896 "struct crypt_data {\n"
2897 "    char     keysched[16 * 8];\n"
2898 "    char     sb0[32768];\n"
2899 "    char     sb1[32768];\n"
2900 "    char     sb2[32768];\n"
2901 "    char     sb3[32768];\n"
2902 "    char     crypt_3_buf[14];\n"
2903 "    char     current_salt[2];\n"
2904 "    long int current_saltbits;\n"
2905 "    int      direction;\n"
2906 "    int      initialized;\n"
2907 "};\n"
2908 msgstr ""
2909
2910 #. type: Plain text
2911 #: build/C/man3/encrypt.3:107
2912 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
2913 msgstr ""
2914
2915 #. type: Plain text
2916 #: build/C/man3/encrypt.3:109
2917 msgid "These functions do not return any value."
2918 msgstr ""
2919
2920 #. type: Plain text
2921 #: build/C/man3/encrypt.3:114
2922 msgid ""
2923 "Set I<errno> to zero before calling the above functions.  On success, it is "
2924 "unchanged."
2925 msgstr ""
2926
2927 #. type: Plain text
2928 #: build/C/man3/encrypt.3:118
2929 msgid ""
2930 "The function is not provided.  (For example because of former USA export "
2931 "restrictions.)"
2932 msgstr ""
2933
2934 #. type: Plain text
2935 #: build/C/man3/encrypt.3:129
2936 msgid ""
2937 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
2938 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
2939 "extensions."
2940 msgstr ""
2941
2942 #. type: Plain text
2943 #: build/C/man3/encrypt.3:131
2944 msgid "In glibc 2.2 these functions use the DES algorithm."
2945 msgstr ""
2946
2947 #. type: Plain text
2948 #: build/C/man3/encrypt.3:138
2949 msgid ""
2950 "You need to link with libcrypt to compile this example with glibc.  To do "
2951 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
2952 "bit pattern."
2953 msgstr ""
2954
2955 #. type: Plain text
2956 #: build/C/man3/encrypt.3:143
2957 #, no-wrap
2958 msgid ""
2959 "#define _XOPEN_SOURCE\n"
2960 "#include E<lt>unistd.hE<gt>\n"
2961 "#include E<lt>stdlib.hE<gt>\n"
2962 msgstr ""
2963
2964 #. type: Plain text
2965 #: build/C/man3/encrypt.3:149
2966 #, no-wrap
2967 msgid ""
2968 "int\n"
2969 "main(void)\n"
2970 "{\n"
2971 "    char key[64];      /* bit pattern for key */\n"
2972 "    char txt[64];      /* bit pattern for messages */\n"
2973 msgstr ""
2974
2975 #. type: Plain text
2976 #: build/C/man3/encrypt.3:154
2977 #, no-wrap
2978 msgid ""
2979 "    setkey(key);\n"
2980 "    encrypt(txt, 0);   /* encode */\n"
2981 "    encrypt(txt, 1);   /* decode */\n"
2982 "}\n"
2983 msgstr ""
2984
2985 #. type: Plain text
2986 #: build/C/man3/encrypt.3:158
2987 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
2988 msgstr ""
2989
2990 #. type: TH
2991 #: build/C/man7/environ.7:33
2992 #, no-wrap
2993 msgid "ENVIRON"
2994 msgstr ""
2995
2996 #. type: TH
2997 #: build/C/man7/environ.7:33 build/C/man2/flock.2:34
2998 #, no-wrap
2999 msgid "2009-07-25"
3000 msgstr ""
3001
3002 #. type: Plain text
3003 #: build/C/man7/environ.7:36
3004 msgid "environ - user environment"
3005 msgstr ""
3006
3007 #. type: Plain text
3008 #: build/C/man7/environ.7:39
3009 #, no-wrap
3010 msgid "B<extern char **>I<environ>B<;>\n"
3011 msgstr ""
3012
3013 #. type: Plain text
3014 #: build/C/man7/environ.7:56
3015 msgid ""
3016 "The variable I<environ> points to an array of pointers to strings called the "
3017 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3018 "variable must be declared in the user program, but is declared in the header "
3019 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3020 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3021 "This array of strings is made available to the process by the B<exec>(3)  "
3022 "call that started the process."
3023 msgstr ""
3024
3025 #. type: Plain text
3026 #: build/C/man7/environ.7:61
3027 msgid ""
3028 "By convention the strings in I<environ> have the form "
3029 "\"I<name>B<=>I<value>\".  Common examples are:"
3030 msgstr ""
3031
3032 #. type: TP
3033 #: build/C/man7/environ.7:61
3034 #, no-wrap
3035 msgid "B<USER>"
3036 msgstr ""
3037
3038 #. type: Plain text
3039 #: build/C/man7/environ.7:64
3040 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3041 msgstr ""
3042
3043 #. type: TP
3044 #: build/C/man7/environ.7:64
3045 #, no-wrap
3046 msgid "B<LOGNAME>"
3047 msgstr ""
3048
3049 #. type: Plain text
3050 #: build/C/man7/environ.7:67
3051 msgid "The name of the logged-in user (used by some System-V derived programs)."
3052 msgstr ""
3053
3054 #. type: TP
3055 #: build/C/man7/environ.7:67
3056 #, no-wrap
3057 msgid "B<HOME>"
3058 msgstr ""
3059
3060 #. type: Plain text
3061 #: build/C/man7/environ.7:73
3062 msgid ""
3063 "A user's login directory, set by B<login>(1)  from the password file "
3064 "B<passwd>(5)."
3065 msgstr ""
3066
3067 #. type: TP
3068 #: build/C/man7/environ.7:73
3069 #, no-wrap
3070 msgid "B<LANG>"
3071 msgstr ""
3072
3073 #. type: Plain text
3074 #: build/C/man7/environ.7:80
3075 msgid ""
3076 "The name of a locale to use for locale categories when not overridden by "
3077 "B<LC_ALL> or more specific environment variables like B<LC_COLLATE>, "
3078 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME>, cf.  "
3079 "B<locale>(5)."
3080 msgstr ""
3081
3082 #. type: TP
3083 #: build/C/man7/environ.7:80
3084 #, no-wrap
3085 msgid "B<PATH>"
3086 msgstr ""
3087
3088 #. type: Plain text
3089 #: build/C/man7/environ.7:92
3090 msgid ""
3091 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3092 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3093 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3094 "shells to find the target of a change directory command, B<MANPATH> used by "
3095 "B<man>(1)  to find manual pages, etc.)"
3096 msgstr ""
3097
3098 #. type: TP
3099 #: build/C/man7/environ.7:92
3100 #, no-wrap
3101 msgid "B<PWD>"
3102 msgstr ""
3103
3104 #. type: Plain text
3105 #: build/C/man7/environ.7:96
3106 msgid "The current working directory.  Set by some shells."
3107 msgstr ""
3108
3109 #. type: TP
3110 #: build/C/man7/environ.7:96
3111 #, no-wrap
3112 msgid "B<SHELL>"
3113 msgstr ""
3114
3115 #. type: Plain text
3116 #: build/C/man7/environ.7:99
3117 msgid "The pathname of the user's login shell."
3118 msgstr ""
3119
3120 #. type: TP
3121 #: build/C/man7/environ.7:99
3122 #, no-wrap
3123 msgid "B<TERM>"
3124 msgstr ""
3125
3126 #. type: Plain text
3127 #: build/C/man7/environ.7:102
3128 msgid "The terminal type for which output is to be prepared."
3129 msgstr ""
3130
3131 #. type: TP
3132 #: build/C/man7/environ.7:102
3133 #, no-wrap
3134 msgid "B<PAGER>"
3135 msgstr ""
3136
3137 #. type: Plain text
3138 #: build/C/man7/environ.7:105
3139 msgid "The user's preferred utility to display text files."
3140 msgstr ""
3141
3142 #. type: TP
3143 #: build/C/man7/environ.7:105
3144 #, no-wrap
3145 msgid "B<EDITOR>/B<VISUAL>"
3146 msgstr ""
3147
3148 #.  .TP
3149 #.  .B BROWSER
3150 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3151 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3152 #. type: Plain text
3153 #: build/C/man7/environ.7:112
3154 msgid "The user's preferred utility to edit text files."
3155 msgstr ""
3156
3157 #. type: Plain text
3158 #: build/C/man7/environ.7:127
3159 msgid ""
3160 "Further names may be placed in the environment by the I<export> command and "
3161 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3162 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3163 "an B<exec>(3).  A C program can manipulate its environment using the "
3164 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3165 msgstr ""
3166
3167 #. type: Plain text
3168 #: build/C/man7/environ.7:131
3169 msgid ""
3170 "Note that the behavior of many programs and library routines is influenced "
3171 "by the presence or value of certain environment variables.  A random "
3172 "collection:"
3173 msgstr ""
3174
3175 #. type: Plain text
3176 #: build/C/man7/environ.7:137
3177 msgid ""
3178 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3179 "B<LC_MESSAGES>, etc. influence locale handling, cf.  B<locale>(5)."
3180 msgstr ""
3181
3182 #. type: Plain text
3183 #: build/C/man7/environ.7:144
3184 msgid ""
3185 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3186 "other routines, the temporary directory used by B<sort>(1)  and other "
3187 "programs, etc."
3188 msgstr ""
3189
3190 #. type: Plain text
3191 #: build/C/man7/environ.7:148
3192 msgid ""
3193 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3194 "behavior of the dynamic loader/linker."
3195 msgstr ""
3196
3197 #. type: Plain text
3198 #: build/C/man7/environ.7:152
3199 msgid ""
3200 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3201 "prescriptions of POSIX."
3202 msgstr ""
3203
3204 #. type: Plain text
3205 #: build/C/man7/environ.7:158
3206 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3207 msgstr ""
3208
3209 #. type: Plain text
3210 #: build/C/man7/environ.7:164
3211 msgid ""
3212 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3213 "be used with B<gethostbyname>(3)."
3214 msgstr ""
3215
3216 #. type: Plain text
3217 #: build/C/man7/environ.7:175
3218 msgid ""
3219 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3220 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3221 "B<strftime>(3).  See also B<tzselect>(8)."
3222 msgstr ""
3223
3224 #. type: Plain text
3225 #: build/C/man7/environ.7:179
3226 msgid ""
3227 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3228 "the name of a file containing such information)."
3229 msgstr ""
3230
3231 #. type: Plain text
3232 #: build/C/man7/environ.7:182
3233 msgid ""
3234 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3235 "overriding the actual size."
3236 msgstr ""
3237
3238 #. type: Plain text
3239 #: build/C/man7/environ.7:187
3240 msgid ""
3241 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3242 "B<lpr>(1)."
3243 msgstr ""
3244
3245 #. type: Plain text
3246 #: build/C/man7/environ.7:189
3247 msgid "Etc."
3248 msgstr ""
3249
3250 #. type: Plain text
3251 #: build/C/man7/environ.7:194
3252 msgid ""
3253 "Clearly there is a security risk here.  Many a system command has been "
3254 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3255 "B<LD_LIBRARY_PATH>."
3256 msgstr ""
3257
3258 #. type: Plain text
3259 #: build/C/man7/environ.7:227
3260 msgid ""
3261 "There is also the risk of name space pollution.  Programs like I<make> and "
3262 "I<autoconf> allow overriding of default utility names from the environment "
3263 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3264 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3265 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3266 "environment variable gives options for the program instead of a pathname.  "
3267 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3268 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3269 "consider renaming their option to B<GZIP_OPT>."
3270 msgstr ""
3271
3272 #. type: Plain text
3273 #: build/C/man7/environ.7:240
3274 msgid ""
3275 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3276 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3277 "B<unsetenv>(3), B<locale>(5)"
3278 msgstr ""
3279
3280 #. type: TH
3281 #: build/C/man3/euidaccess.3:26
3282 #, no-wrap
3283 msgid "EUIDACCESS"
3284 msgstr ""
3285
3286 #. type: TH
3287 #: build/C/man3/euidaccess.3:26 build/C/man3/getopt.3:39
3288 #, no-wrap
3289 msgid "2010-11-01"
3290 msgstr ""
3291
3292 #. type: Plain text
3293 #: build/C/man3/euidaccess.3:29
3294 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3295 msgstr ""
3296
3297 #. type: Plain text
3298 #: build/C/man3/euidaccess.3:33
3299 #, no-wrap
3300 msgid ""
3301 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3302 "B<#include E<lt>unistd.hE<gt>>\n"
3303 msgstr ""
3304
3305 #. type: Plain text
3306 #: build/C/man3/euidaccess.3:36
3307 #, no-wrap
3308 msgid ""
3309 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3310 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3311 msgstr ""
3312
3313 #. type: Plain text
3314 #: build/C/man3/euidaccess.3:48
3315 msgid ""
3316 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3317 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3318 "performs checks using the real user and group identifiers of the process, "
3319 "B<euidaccess>()  uses the effective identifiers."
3320 msgstr ""
3321
3322 #. type: Plain text
3323 #: build/C/man3/euidaccess.3:54
3324 msgid ""
3325 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK> and "
3326 "B<F_OK>, with the same meanings as for B<access>(2)."
3327 msgstr ""
3328
3329 #. type: Plain text
3330 #: build/C/man3/euidaccess.3:59
3331 msgid ""
3332 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3333 "with some other systems."
3334 msgstr ""
3335
3336 #. type: Plain text
3337 #: build/C/man3/euidaccess.3:70
3338 msgid "As for B<access>(2)."
3339 msgstr ""
3340
3341 #. type: Plain text
3342 #: build/C/man3/euidaccess.3:74
3343 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3344 msgstr ""
3345
3346 #.  e.g., FreeBSD 6.1.
3347 #. type: Plain text
3348 #: build/C/man3/euidaccess.3:80
3349 msgid ""
3350 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3351 "function."
3352 msgstr ""
3353
3354 #. type: Plain text
3355 #: build/C/man3/euidaccess.3:87
3356 msgid ""
3357 "I<Warning>: Using this function to check a process's permissions on a file "
3358 "before performing some operation based on that information leads to race "
3359 "conditions: the file permissions may change between the two steps.  "
3360 "Generally, it is safer just to attempt the desired operation and handle any "
3361 "permission error that occurs."
3362 msgstr ""
3363
3364 #. type: Plain text
3365 #: build/C/man3/euidaccess.3:95
3366 msgid ""
3367 "This function always dereferences symbolic links.  If you need to check the "
3368 "permissions on a symbolic link, use B<faccessat(2)> with the flags "
3369 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3370 msgstr ""
3371
3372 #. type: Plain text
3373 #: build/C/man3/euidaccess.3:105
3374 msgid ""
3375 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3376 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3377 "B<path_resolution>(7)"
3378 msgstr ""
3379
3380 #. type: TH
3381 #: build/C/man3/exec.3:39
3382 #, no-wrap
3383 msgid "EXEC"
3384 msgstr ""
3385
3386 #. type: TH
3387 #: build/C/man3/exec.3:39
3388 #, no-wrap
3389 msgid "2010-09-25"
3390 msgstr ""
3391
3392 #. type: Plain text
3393 #: build/C/man3/exec.3:42
3394 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3395 msgstr ""
3396
3397 #. type: Plain text
3398 #: build/C/man3/exec.3:46
3399 msgid "B<extern char **environ;>"
3400 msgstr ""
3401
3402 #. type: Plain text
3403 #: build/C/man3/exec.3:48
3404 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3405 msgstr ""
3406
3407 #. type: Plain text
3408 #: build/C/man3/exec.3:50
3409 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3410 msgstr ""
3411
3412 #. type: Plain text
3413 #: build/C/man3/exec.3:52
3414 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3415 msgstr ""
3416
3417 #. type: Plain text
3418 #: build/C/man3/exec.3:54
3419 msgid "B< ..., char * const >I<envp>B<[]);>"
3420 msgstr ""
3421
3422 #. type: Plain text
3423 #: build/C/man3/exec.3:56
3424 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3425 msgstr ""
3426
3427 #. type: Plain text
3428 #: build/C/man3/exec.3:58
3429 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3430 msgstr ""
3431
3432 #. type: Plain text
3433 #: build/C/man3/exec.3:60
3434 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3435 msgstr ""
3436
3437 #. type: Plain text
3438 #: build/C/man3/exec.3:62 build/C/man2/execve.2:46
3439 msgid "B< char *const >I<envp>B<[]);>"
3440 msgstr ""
3441
3442 #. type: Plain text
3443 #: build/C/man3/exec.3:70
3444 msgid "B<execvpe>(): _GNU_SOURCE"
3445 msgstr ""
3446
3447 #. type: Plain text
3448 #: build/C/man3/exec.3:80
3449 msgid ""
3450 "The B<exec>()  family of functions replaces the current process image with a "
3451 "new process image.  The functions described in this manual page are "
3452 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3453 "further details about the replacement of the current process image.)"
3454 msgstr ""
3455
3456 #. type: Plain text
3457 #: build/C/man3/exec.3:83
3458 msgid ""
3459 "The initial argument for these functions is the name of a file that is to be "
3460 "executed."
3461 msgstr ""
3462
3463 #. type: Plain text
3464 #: build/C/man3/exec.3:105
3465 msgid ""
3466 "The I<const char *arg> and subsequent ellipses in the B<execl>(), "
3467 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3468 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3469 "pointers to null-terminated strings that represent the argument list "
3470 "available to the executed program.  The first argument, by convention, "
3471 "should point to the filename associated with the file being executed.  The "
3472 "list of arguments I<must> be terminated by a NULL pointer, and, since these "
3473 "are variadic functions, this pointer must be cast I<(char *) NULL>."
3474 msgstr ""
3475
3476 #. type: Plain text
3477 #: build/C/man3/exec.3:118
3478 msgid ""
3479 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3480 "pointers to null-terminated strings that represent the argument list "
3481 "available to the new program.  The first argument, by convention, should "
3482 "point to the filename associated with the file being executed.  The array of "
3483 "pointers I<must> be terminated by a NULL pointer."
3484 msgstr ""
3485
3486 #. type: Plain text
3487 #: build/C/man3/exec.3:135
3488 msgid ""
3489 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3490 "environment of the executed program via the argument I<envp>.  The I<envp> "
3491 "argument is an array of pointers to null-terminated strings and I<must> be "
3492 "terminated by a NULL pointer.  The other functions take the environment for "
3493 "the new process image from the external variable I<environ> in the calling "
3494 "process."
3495 msgstr ""
3496
3497 #. type: SS
3498 #: build/C/man3/exec.3:135
3499 #, no-wrap
3500 msgid "Special semantics for execlp() and execvp()"
3501 msgstr ""
3502
3503 #. type: Plain text
3504 #: build/C/man3/exec.3:155
3505 msgid ""
3506 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
3507 "actions of the shell in searching for an executable file if the specified "
3508 "filename does not contain a slash (/) character.  The file is sought in the "
3509 "colon-separated list of directory pathnames specified in the B<PATH> "
3510 "environment variable.  If this variable isn't defined, the path list "
3511 "defaults to the current directory followed by the list of directories "
3512 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
3513 "returns the value \"/bin:/usr/bin\".)"
3514 msgstr ""
3515
3516 #. type: Plain text
3517 #: build/C/man3/exec.3:159
3518 msgid ""
3519 "If the specified filename includes a slash character, then B<PATH> is "
3520 "ignored, and the file at the specified pathname is executed."
3521 msgstr ""
3522
3523 #. type: Plain text
3524 #: build/C/man3/exec.3:161
3525 msgid "In addition, certain errors are treated specially."
3526 msgstr ""
3527
3528 #. type: Plain text
3529 #: build/C/man3/exec.3:172
3530 msgid ""
3531 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
3532 "the error B<EACCES>), these functions will continue searching the rest of "
3533 "the search path.  If no other file is found, however, they will return with "
3534 "I<errno> set to B<EACCES>."
3535 msgstr ""
3536
3537 #. type: Plain text
3538 #: build/C/man3/exec.3:181
3539 msgid ""
3540 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
3541 "with the error B<ENOEXEC>), these functions will execute the shell "
3542 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
3543 "attempt fails, no further searching is done.)"
3544 msgstr ""
3545
3546 #. type: Plain text
3547 #: build/C/man3/exec.3:188
3548 msgid ""
3549 "The B<exec>()  functions only return if an error has have occurred.  The "
3550 "return value is -1, and I<errno> is set to indicate the error."
3551 msgstr ""
3552
3553 #. type: Plain text
3554 #: build/C/man3/exec.3:193
3555 msgid ""
3556 "All of these functions may fail and set I<errno> for any of the errors "
3557 "specified for B<execve>(2)."
3558 msgstr ""
3559
3560 #. type: Plain text
3561 #: build/C/man3/exec.3:197
3562 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
3563 msgstr ""
3564
3565 #. type: Plain text
3566 #: build/C/man3/exec.3:199
3567 msgid "POSIX.1-2001, POSIX.1-2008."
3568 msgstr ""
3569
3570 #. type: Plain text
3571 #: build/C/man3/exec.3:203
3572 msgid "The B<execvpe>()  function is a GNU extension."
3573 msgstr ""
3574
3575 #. type: Plain text
3576 #: build/C/man3/exec.3:213
3577 msgid ""
3578 "On some other systems, the default path (used when the environment does not "
3579 "contain the variable B<PATH>) has the current working directory listed after "
3580 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
3581 "the traditional \"current directory first\" default path."
3582 msgstr ""
3583
3584 #. type: Plain text
3585 #: build/C/man3/exec.3:227
3586 msgid ""
3587 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
3588 "attempting to execute the file is historic practice, but has not "
3589 "traditionally been documented and is not specified by the POSIX standard.  "
3590 "BSD (and possibly other systems) do an automatic sleep and retry if "
3591 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
3592 "immediately."
3593 msgstr ""
3594
3595 #. type: Plain text
3596 #: build/C/man3/exec.3:239
3597 msgid ""
3598 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
3599 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
3600 "which they returned.  They now return if any error other than the ones "
3601 "described above occurs."
3602 msgstr ""
3603
3604 #. type: Plain text
3605 #: build/C/man3/exec.3:245
3606 msgid ""
3607 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
3608 "B<environ>(7)"
3609 msgstr ""
3610
3611 #. type: TH
3612 #: build/C/man2/execve.2:37
3613 #, no-wrap
3614 msgid "EXECVE"
3615 msgstr ""
3616
3617 #. type: TH
3618 #: build/C/man2/execve.2:37
3619 #, no-wrap
3620 msgid "2011-09-14"
3621 msgstr ""
3622
3623 #. type: Plain text
3624 #: build/C/man2/execve.2:40
3625 msgid "execve - execute program"
3626 msgstr ""
3627
3628 #. type: Plain text
3629 #: build/C/man2/execve.2:44
3630 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
3631 msgstr ""
3632
3633 #. type: Plain text
3634 #: build/C/man2/execve.2:51
3635 msgid ""
3636 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
3637 "must be either a binary executable, or a script starting with a line of the "
3638 "form:"
3639 msgstr ""
3640
3641 #. type: Plain text
3642 #: build/C/man2/execve.2:55 build/C/man2/execve.2:252
3643 #, no-wrap
3644 msgid "B<#!> I<interpreter >[optional-arg]\n"
3645 msgstr ""
3646
3647 #. type: Plain text
3648 #: build/C/man2/execve.2:59
3649 msgid "For details of the latter case, see \"Interpreter scripts\" below."
3650 msgstr ""
3651
3652 #. type: Plain text
3653 #: build/C/man2/execve.2:68
3654 msgid ""
3655 "I<argv> is an array of argument strings passed to the new program.  By "
3656 "convention, the first of these strings should contain the filename "
3657 "associated with the file being executed.  I<envp> is an array of strings, "
3658 "conventionally of the form B<key=value>, which are passed as environment to "
3659 "the new program.  Both I<argv> and I<envp> must be terminated by a NULL "
3660 "pointer.  The argument vector and environment can be accessed by the called "
3661 "program's main function, when it is defined as:"
3662 msgstr ""
3663
3664 #. type: Plain text
3665 #: build/C/man2/execve.2:72
3666 #, no-wrap
3667 msgid "int main(int argc, char *argv[], char *envp[])\n"
3668 msgstr ""
3669
3670 #. type: Plain text
3671 #: build/C/man2/execve.2:79
3672 msgid ""
3673 "B<execve>()  does not return on success, and the text, data, bss, and stack "
3674 "of the calling process are overwritten by that of the program loaded."
3675 msgstr ""
3676
3677 #. type: Plain text
3678 #: build/C/man2/execve.2:83
3679 msgid ""
3680 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
3681 "successful B<execve>()."
3682 msgstr ""
3683
3684 #. type: Plain text
3685 #: build/C/man2/execve.2:98
3686 msgid ""
3687 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
3688 "and the underlying file system is not mounted I<nosuid> (the B<MS_NOSUID> "
3689 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
3690 "the effective user ID of the calling process is changed to that of the owner "
3691 "of the program file.  Similarly, when the set-group-ID bit of the program "
3692 "file is set the effective group ID of the calling process is set to the "
3693 "group of the program file."
3694 msgstr ""
3695
3696 #. type: Plain text
3697 #: build/C/man2/execve.2:103
3698 msgid ""
3699 "The effective user ID of the process is copied to the saved set-user-ID; "
3700 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
3701 "copying takes place after any effective ID changes that occur because of the "
3702 "set-user-ID and set-group-ID permission bits."
3703 msgstr ""
3704
3705 #. type: Plain text
3706 #: build/C/man2/execve.2:111
3707 msgid ""
3708 "If the executable is an a.out dynamically linked binary executable "
3709 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
3710 "called at the start of execution to bring needed shared libraries into "
3711 "memory and link the executable with them."
3712 msgstr ""
3713
3714 #. type: Plain text
3715 #: build/C/man2/execve.2:119
3716 msgid ""
3717 "If the executable is a dynamically linked ELF executable, the interpreter "
3718 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
3719 "This interpreter is typically I</lib/ld-linux.so.1> for binaries linked with "
3720 "the Linux libc 5, or I</lib/ld-linux.so.2> for binaries linked with the "
3721 "glibc 2."
3722 msgstr ""
3723
3724 #. type: Plain text
3725 #: build/C/man2/execve.2:123
3726 msgid ""
3727 "All process attributes are preserved during an B<execve>(), except the "
3728 "following:"
3729 msgstr ""
3730
3731 #. type: Plain text
3732 #: build/C/man2/execve.2:127
3733 msgid ""
3734 "The dispositions of any signals that are being caught are reset to the "
3735 "default (B<signal>(7))."
3736 msgstr ""
3737
3738 #. type: Plain text
3739 #: build/C/man2/execve.2:130
3740 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
3741 msgstr ""
3742
3743 #. type: Plain text
3744 #: build/C/man2/execve.2:133
3745 msgid "Memory mappings are not preserved (B<mmap>(2))."
3746 msgstr ""
3747
3748 #. type: Plain text
3749 #: build/C/man2/execve.2:136
3750 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
3751 msgstr ""
3752
3753 #. type: Plain text
3754 #: build/C/man2/execve.2:139
3755 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
3756 msgstr ""
3757
3758 #. type: Plain text
3759 #: build/C/man2/execve.2:142
3760 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
3761 msgstr ""
3762
3763 #. type: Plain text
3764 #: build/C/man2/execve.2:145
3765 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
3766 msgstr ""
3767
3768 #. type: Plain text
3769 #: build/C/man2/execve.2:148
3770 msgid "POSIX timers are not preserved (B<timer_create>(2))."
3771 msgstr ""
3772
3773 #. type: Plain text
3774 #: build/C/man2/execve.2:151
3775 msgid "Any open directory streams are closed (B<opendir>(3))."
3776 msgstr ""
3777
3778 #. type: Plain text
3779 #: build/C/man2/execve.2:155
3780 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
3781 msgstr ""
3782
3783 #. type: Plain text
3784 #: build/C/man2/execve.2:159
3785 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
3786 msgstr ""
3787
3788 #. type: Plain text
3789 #: build/C/man2/execve.2:162
3790 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
3791 msgstr ""
3792
3793 #. type: Plain text
3794 #: build/C/man2/execve.2:168
3795 msgid ""
3796 "The process attributes in the preceding list are all specified in "
3797 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
3798 "preserved during an B<execve>():"
3799 msgstr ""
3800
3801 #. type: Plain text
3802 #: build/C/man2/execve.2:175
3803 msgid ""
3804 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
3805 "set-group ID program is being executed, in which case it is cleared."
3806 msgstr ""
3807
3808 #. type: Plain text
3809 #: build/C/man2/execve.2:180
3810 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
3811 msgstr ""
3812
3813 #. type: Plain text
3814 #: build/C/man2/execve.2:187
3815 msgid ""
3816 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
3817 "I<ps\\ -o comm>), is reset to the name of the new executable file."
3818 msgstr ""
3819
3820 #. type: Plain text
3821 #: build/C/man2/execve.2:192
3822 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
3823 msgstr ""
3824
3825 #. type: Plain text
3826 #: build/C/man2/execve.2:194 build/C/man2/fork.2:120
3827 msgid "Note the following further points:"
3828 msgstr ""
3829
3830 #. type: Plain text
3831 #: build/C/man2/execve.2:198
3832 msgid ""
3833 "All threads other than the calling thread are destroyed during an "
3834 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
3835 "not preserved."
3836 msgstr ""
3837
3838 #. type: Plain text
3839 #: build/C/man2/execve.2:201
3840 msgid ""
3841 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
3842 "start-up."
3843 msgstr ""
3844
3845 #. type: Plain text
3846 #: build/C/man2/execve.2:209
3847 msgid ""
3848 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
3849 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
3850 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
3851 "the disposition unchanged or reset it to the default; Linux does the former."
3852 msgstr ""
3853
3854 #. type: Plain text
3855 #: build/C/man2/execve.2:213
3856 msgid ""
3857 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
3858 "B<aio_write>(3))."
3859 msgstr ""
3860
3861 #. type: Plain text
3862 #: build/C/man2/execve.2:218
3863 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
3864 msgstr ""
3865
3866 #.  On Linux it appears that these file descriptors are
3867 #.  always open after an execve(), and it looks like
3868 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
3869 #. type: Plain text
3870 #: build/C/man2/execve.2:245
3871 msgid ""
3872 "By default, file descriptors remain open across an B<execve>().  File "
3873 "descriptors that are marked close-on-exec are closed; see the description of "
3874 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
3875 "cause the release of all record locks obtained on the underlying file by "
3876 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
3877 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
3878 "B<execve>(), and the process would gain privilege because the set-user_ID or "
3879 "set-group_ID permission bit was set on the executed file, then the system "
3880 "may open an unspecified file for each of these file descriptors.  As a "
3881 "general principle, no portable program, whether privileged or not, can "
3882 "assume that these three file descriptors will remain closed across an "
3883 "B<execve>()."
3884 msgstr ""
3885
3886 #. type: SS
3887 #: build/C/man2/execve.2:245
3888 #, no-wrap
3889 msgid "Interpreter scripts"
3890 msgstr ""
3891
3892 #. type: Plain text
3893 #: build/C/man2/execve.2:248
3894 msgid ""
3895 "An interpreter script is a text file that has execute permission enabled and "
3896 "whose first line is of the form:"
3897 msgstr ""
3898
3899 #. type: Plain text
3900 #: build/C/man2/execve.2:266
3901 msgid ""
3902 "The I<interpreter> must be a valid pathname for an executable which is not "
3903 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
3904 "interpreter script, then I<interpreter> will be invoked with the following "
3905 "arguments:"
3906 msgstr ""
3907
3908 #. type: Plain text
3909 #: build/C/man2/execve.2:270
3910 #, no-wrap
3911 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
3912 msgstr ""
3913
3914 #. type: Plain text
3915 #: build/C/man2/execve.2:279
3916 msgid ""
3917 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
3918 "B<execve>()."
3919 msgstr ""
3920
3921 #. type: Plain text
3922 #: build/C/man2/execve.2:284
3923 msgid ""
3924 "For portable use, I<optional-arg> should either be absent, or be specified "
3925 "as a single word (i.e., it should not contain white space); see NOTES below."
3926 msgstr ""
3927
3928 #. type: SS
3929 #: build/C/man2/execve.2:284
3930 #, no-wrap
3931 msgid "Limits on size of arguments and environment"
3932 msgstr ""
3933
3934 #. type: Plain text
3935 #: build/C/man2/execve.2:297
3936 msgid ""
3937 "Most UNIX implementations impose some limit on the total size of the "
3938 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
3939 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
3940 "this limit using the B<ARG_MAX> constant (either defined in "
3941 "I<E<lt>limits.hE<gt>> or available at run time using the call "
3942 "I<sysconf(_SC_ARG_MAX)>)."
3943 msgstr ""
3944
3945 #. type: Plain text
3946 #: build/C/man2/execve.2:304
3947 msgid ""
3948 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
3949 "and argument strings was limited to 32 pages (defined by the kernel constant "
3950 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
3951 "maximum size of 128 kB."
3952 msgstr ""
3953
3954 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
3955 #.  2.6.25, see:
3956 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
3957 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
3958 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
3959 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
3960 #.  Ollie: That doesn't include the lists of pointers, though,
3961 #.  so the actual usage is a bit higher (1 pointer per argument).
3962 #. type: Plain text
3963 #: build/C/man2/execve.2:340
3964 msgid ""
3965 "On kernel 2.6.23 and later, most architectures support a size limit derived "
3966 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
3967 "in force at the time of the B<execve>()  call.  (Architectures with no "
3968 "memory management unit are excepted: they maintain the limit that was in "
3969 "effect before kernel 2.6.23.)  This change allows programs to have a much "
3970 "larger argument and/or environment list.  For these architectures, the total "
3971 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
3972 "ensures that the new program always has some stack space.)  Since Linux "
3973 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
3974 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
3975 "have at least as much argument and environment space as was provided by "
3976 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
3977 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
3978 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
3979 "0x7FFFFFFF."
3980 msgstr ""
3981
3982 #. type: Plain text
3983 #: build/C/man2/execve.2:346
3984 msgid ""
3985 "On success, B<execve>()  does not return, on error -1 is returned, and "
3986 "I<errno> is set appropriately."
3987 msgstr ""
3988
3989 #. type: TP
3990 #: build/C/man2/execve.2:347
3991 #, no-wrap
3992 msgid "B<E2BIG>"
3993 msgstr ""
3994
3995 #. type: Plain text
3996 #: build/C/man2/execve.2:354
3997 msgid ""
3998 "The total number of bytes in the environment (I<envp>)  and argument list "
3999 "(I<argv>)  is too large."
4000 msgstr ""
4001
4002 #. type: Plain text
4003 #: build/C/man2/execve.2:361
4004 msgid ""
4005 "Search permission is denied on a component of the path prefix of I<filename> "
4006 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4007 msgstr ""
4008
4009 #. type: Plain text
4010 #: build/C/man2/execve.2:364
4011 msgid "The file or a script interpreter is not a regular file."
4012 msgstr ""
4013
4014 #. type: Plain text
4015 #: build/C/man2/execve.2:367
4016 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4017 msgstr ""
4018
4019 #. type: Plain text
4020 #: build/C/man2/execve.2:371
4021 msgid "The file system is mounted I<noexec>."
4022 msgstr ""
4023
4024 #. type: Plain text
4025 #: build/C/man2/execve.2:375
4026 msgid "I<filename> points outside your accessible address space."
4027 msgstr ""
4028
4029 #. type: Plain text
4030 #: build/C/man2/execve.2:379
4031 msgid ""
4032 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4033 "more than one interpreter)."
4034 msgstr ""
4035
4036 #. type: TP
4037 #: build/C/man2/execve.2:382 build/C/man2/truncate.2:146
4038 #, no-wrap
4039 msgid "B<EISDIR>"
4040 msgstr ""
4041
4042 #. type: Plain text
4043 #: build/C/man2/execve.2:385
4044 msgid "An ELF interpreter was a directory."
4045 msgstr ""
4046
4047 #. type: TP
4048 #: build/C/man2/execve.2:385
4049 #, no-wrap
4050 msgid "B<ELIBBAD>"
4051 msgstr ""
4052
4053 #. type: Plain text
4054 #: build/C/man2/execve.2:388
4055 msgid "An ELF interpreter was not in a recognized format."
4056 msgstr ""
4057
4058 #. type: Plain text
4059 #: build/C/man2/execve.2:393
4060 msgid ""
4061 "Too many symbolic links were encountered in resolving I<filename> or the "
4062 "name of a script or ELF interpreter."
4063 msgstr ""
4064
4065 #. type: Plain text
4066 #: build/C/man2/execve.2:396
4067 msgid "The process has the maximum number of files open."
4068 msgstr ""
4069
4070 #. type: Plain text
4071 #: build/C/man2/execve.2:400
4072 msgid "I<filename> is too long."
4073 msgstr ""
4074
4075 #. type: TP
4076 #: build/C/man2/execve.2:400 build/C/man3/getlogin.3:106 build/C/man2/swapon.2:133 build/C/man2/uselib.2:67
4077 #, no-wrap
4078 msgid "B<ENFILE>"
4079 msgstr ""
4080
4081 #. type: Plain text
4082 #: build/C/man2/execve.2:403 build/C/man2/swapon.2:136 build/C/man2/uselib.2:70
4083 msgid "The system limit on the total number of open files has been reached."
4084 msgstr ""
4085
4086 #. type: Plain text
4087 #: build/C/man2/execve.2:409
4088 msgid ""
4089 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4090 "shared library needed for file or interpreter cannot be found."
4091 msgstr ""
4092
4093 #. type: TP
4094 #: build/C/man2/execve.2:409 build/C/man2/uselib.2:70
4095 #, no-wrap
4096 msgid "B<ENOEXEC>"
4097 msgstr ""
4098
4099 #. type: Plain text
4100 #: build/C/man2/execve.2:414
4101 msgid ""
4102 "An executable is not in a recognized format, is for the wrong architecture, "
4103 "or has some other format error that means it cannot be executed."
4104 msgstr ""
4105
4106 #. type: Plain text
4107 #: build/C/man2/execve.2:422
4108 msgid ""
4109 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4110 "is not a directory."
4111 msgstr ""
4112
4113 #. type: Plain text
4114 #: build/C/man2/execve.2:428
4115 msgid ""
4116 "The file system is mounted I<nosuid>, the user is not the superuser, and the "
4117 "file has the set-user-ID or set-group-ID bit set."
4118 msgstr ""
4119
4120 #. type: Plain text
4121 #: build/C/man2/execve.2:432
4122 msgid ""
4123 "The process is being traced, the user is not the superuser and the file has "
4124 "the set-user-ID or set-group-ID bit set."
4125 msgstr ""
4126
4127 #. type: Plain text
4128 #: build/C/man2/execve.2:435
4129 msgid "Executable was open for writing by one or more processes."
4130 msgstr ""
4131
4132 #.  SVr4 documents additional error
4133 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4134 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4135 #.  EISDIR or ELIBBAD error conditions.
4136 #. type: Plain text
4137 #: build/C/man2/execve.2:443
4138 msgid ""
4139 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4140 "but is otherwise compatible."
4141 msgstr ""
4142
4143 #. type: Plain text
4144 #: build/C/man2/execve.2:446
4145 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4146 msgstr ""
4147
4148 #. type: Plain text
4149 #: build/C/man2/execve.2:448
4150 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4151 msgstr ""
4152
4153 #. type: Plain text
4154 #: build/C/man2/execve.2:459
4155 msgid ""
4156 "The result of mounting a file system I<nosuid> varies across Linux kernel "
4157 "versions: some will refuse execution of set-user-ID and set-group-ID "
4158 "executables when this would give the user powers she did not have already "
4159 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4160 "set-group-ID bits and B<exec>()  successfully."
4161 msgstr ""
4162
4163 #. type: Plain text
4164 #: build/C/man2/execve.2:462
4165 msgid ""
4166 "A maximum line length of 127 characters is allowed for the first line in a "
4167 "#! executable shell script."
4168 msgstr ""
4169
4170 #.  e.g., Solaris 8
4171 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4172 #. type: Plain text
4173 #: build/C/man2/execve.2:481
4174 msgid ""
4175 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4176 "across implementations.  On Linux, the entire string following the "
4177 "I<interpreter> name is passed as a single argument to the interpreter, and "
4178 "this string can include white space.  However, behavior differs on some "
4179 "other systems.  Some systems use the first white space to terminate "
4180 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4181 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4182 "arguments."
4183 msgstr ""
4184
4185 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4186 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4187 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4188 #.  Bug rejected (because fix would constitute an ABI change).
4189 #. type: Plain text
4190 #: build/C/man2/execve.2:496
4191 msgid ""
4192 "On Linux, I<argv> can be specified as NULL, which has the same effect as "
4193 "specifying this argument as a pointer to a list containing a single NULL "
4194 "pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
4195 "nonportable: on most other UNIX systems doing this will result in an error "
4196 "(B<EFAULT>)."
4197 msgstr ""
4198
4199 #
4200 #.  .SH BUGS
4201 #.  Some Linux versions have failed to check permissions on ELF
4202 #.  interpreters.  This is a security hole, because it allows users to
4203 #.  open any file, such as a rewinding tape device, for reading.  Some
4204 #.  Linux versions have also had other security holes in
4205 #.  .BR execve ()
4206 #.  that could be exploited for denial of service by a suitably crafted
4207 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4208 #. type: Plain text
4209 #: build/C/man2/execve.2:516
4210 msgid ""
4211 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4212 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4213 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4214 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4215 "for holding command-line arguments and environment variables has changed."
4216 msgstr ""
4217
4218 #. type: SS
4219 #: build/C/man2/execve.2:516
4220 #, no-wrap
4221 msgid "Historical"
4222 msgstr ""
4223
4224 #. type: Plain text
4225 #: build/C/man2/execve.2:527
4226 msgid ""
4227 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4228 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4229 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4230 "NULL."
4231 msgstr ""
4232
4233 #. type: Plain text
4234 #: build/C/man2/execve.2:530
4235 msgid ""
4236 "The following program is designed to be execed by the second program below.  "
4237 "It just echoes its command-line one per line."
4238 msgstr ""
4239
4240 #. type: Plain text
4241 #: build/C/man2/execve.2:534
4242 #, no-wrap
4243 msgid "/* myecho.c */\n"
4244 msgstr ""
4245
4246 #. type: Plain text
4247 #: build/C/man2/execve.2:537
4248 #, no-wrap
4249 msgid ""
4250 "#include E<lt>stdio.hE<gt>\n"
4251 "#include E<lt>stdlib.hE<gt>\n"
4252 msgstr ""
4253
4254 #. type: Plain text
4255 #: build/C/man2/execve.2:542
4256 #, no-wrap
4257 msgid ""
4258 "int\n"
4259 "main(int argc, char *argv[])\n"
4260 "{\n"
4261 "    int j;\n"
4262 msgstr ""
4263
4264 #. type: Plain text
4265 #: build/C/man2/execve.2:545
4266 #, no-wrap
4267 msgid ""
4268 "    for (j = 0; j E<lt> argc; j++)\n"
4269 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4270 msgstr ""
4271
4272 #. type: Plain text
4273 #: build/C/man2/execve.2:553
4274 msgid ""
4275 "This program can be used to exec the program named in its command-line "
4276 "argument:"
4277 msgstr ""
4278
4279 #. type: Plain text
4280 #: build/C/man2/execve.2:557
4281 #, no-wrap
4282 msgid "/* execve.c */\n"
4283 msgstr ""
4284
4285 #. type: Plain text
4286 #: build/C/man2/execve.2:561
4287 #, no-wrap
4288 msgid ""
4289 "#include E<lt>stdio.hE<gt>\n"
4290 "#include E<lt>stdlib.hE<gt>\n"
4291 "#include E<lt>unistd.hE<gt>\n"
4292 msgstr ""
4293
4294 #. type: Plain text
4295 #: build/C/man2/execve.2:567
4296 #, no-wrap
4297 msgid ""
4298 "int\n"
4299 "main(int argc, char *argv[])\n"
4300 "{\n"
4301 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4302 "    char *newenviron[] = { NULL };\n"
4303 msgstr ""
4304
4305 #. type: Plain text
4306 #: build/C/man2/execve.2:572
4307 #, no-wrap
4308 msgid ""
4309 "    if (argc != 2) {\n"
4310 "\tfprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4311 "\texit(EXIT_FAILURE);\n"
4312 "    }\n"
4313 msgstr ""
4314
4315 #. type: Plain text
4316 #: build/C/man2/execve.2:574
4317 #, no-wrap
4318 msgid "    newargv[0] = argv[1];\n"
4319 msgstr ""
4320
4321 #. type: Plain text
4322 #: build/C/man2/execve.2:579
4323 #, no-wrap
4324 msgid ""
4325 "    execve(argv[1], newargv, newenviron);\n"
4326 "    perror(\"execve\");   /* execve() only returns on error */\n"
4327 "    exit(EXIT_FAILURE);\n"
4328 "}\n"
4329 msgstr ""
4330
4331 #. type: Plain text
4332 #: build/C/man2/execve.2:583
4333 msgid "We can use the second program to exec the first as follows:"
4334 msgstr ""
4335
4336 #. type: Plain text
4337 #: build/C/man2/execve.2:592
4338 #, no-wrap
4339 msgid ""
4340 "$B< cc myecho.c -o myecho>\n"
4341 "$B< cc execve.c -o execve>\n"
4342 "$B< ./execve ./myecho>\n"
4343 "argv[0]: ./myecho\n"
4344 "argv[1]: hello\n"
4345 "argv[2]: world\n"
4346 msgstr ""
4347
4348 #. type: Plain text
4349 #: build/C/man2/execve.2:600
4350 msgid ""
4351 "We can also use these programs to demonstrate the use of a script "
4352 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4353 "I<myecho> program:"
4354 msgstr ""
4355
4356 #. type: Plain text
4357 #: build/C/man2/execve.2:607
4358 #, no-wrap
4359 msgid ""
4360 "$B< cat E<gt> script.sh>\n"
4361 "B<#! ./myecho script-arg>\n"
4362 "B<^D>\n"
4363 "$B< chmod +x script.sh>\n"
4364 msgstr ""
4365
4366 #. type: Plain text
4367 #: build/C/man2/execve.2:611
4368 msgid "We can then use our program to exec the script:"
4369 msgstr ""
4370
4371 #. type: Plain text
4372 #: build/C/man2/execve.2:620
4373 #, no-wrap
4374 msgid ""
4375 "$B< ./execve ./script.sh>\n"
4376 "argv[0]: ./myecho\n"
4377 "argv[1]: script-arg\n"
4378 "argv[2]: ./script.sh\n"
4379 "argv[3]: hello\n"
4380 "argv[4]: world\n"
4381 msgstr ""
4382
4383 #. type: Plain text
4384 #: build/C/man2/execve.2:632
4385 msgid ""
4386 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4387 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4388 "B<ld.so>(8)"
4389 msgstr ""
4390
4391 #. type: TH
4392 #: build/C/man2/exit_group.2:23
4393 #, no-wrap
4394 msgid "EXIT_GROUP"
4395 msgstr ""
4396
4397 #. type: TH
4398 #: build/C/man2/exit_group.2:23 build/C/man2/get_thread_area.2:6 build/C/man2/set_thread_area.2:7
4399 #, no-wrap
4400 msgid "2008-11-27"
4401 msgstr ""
4402
4403 #. type: Plain text
4404 #: build/C/man2/exit_group.2:26
4405 msgid "exit_group - exit all threads in a process"
4406 msgstr ""
4407
4408 #. type: Plain text
4409 #: build/C/man2/exit_group.2:29
4410 #, no-wrap
4411 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4412 msgstr ""
4413
4414 #. type: Plain text
4415 #: build/C/man2/exit_group.2:31
4416 #, no-wrap
4417 msgid "B<void exit_group(int >I<status>B<);>\n"
4418 msgstr ""
4419
4420 #. type: Plain text
4421 #: build/C/man2/exit_group.2:37
4422 msgid ""
4423 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4424 "only the calling thread, but all threads in the calling process's thread "
4425 "group."
4426 msgstr ""
4427
4428 #. type: Plain text
4429 #: build/C/man2/exit_group.2:39
4430 msgid "This system call does not return."
4431 msgstr ""
4432
4433 #. type: Plain text
4434 #: build/C/man2/exit_group.2:41
4435 msgid "This call is present since Linux 2.5.35."
4436 msgstr ""
4437
4438 #. type: Plain text
4439 #: build/C/man2/exit_group.2:43
4440 msgid "This call is Linux-specific."
4441 msgstr ""
4442
4443 #. type: Plain text
4444 #: build/C/man2/exit_group.2:47
4445 msgid ""
4446 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4447 "wrapper function is called."
4448 msgstr ""
4449
4450 #. type: Plain text
4451 #: build/C/man2/exit_group.2:48
4452 msgid "B<exit>(2)"
4453 msgstr ""
4454
4455 #. type: TH
4456 #: build/C/man2/fcntl.2:61
4457 #, no-wrap
4458 msgid "FCNTL"
4459 msgstr ""
4460
4461 #. type: TH
4462 #: build/C/man2/fcntl.2:61 build/C/man3/sysconf.3:25
4463 #, no-wrap
4464 msgid "2012-04-15"
4465 msgstr ""
4466
4467 #. type: Plain text
4468 #: build/C/man2/fcntl.2:64
4469 msgid "fcntl - manipulate file descriptor"
4470 msgstr ""
4471
4472 #. type: Plain text
4473 #: build/C/man2/fcntl.2:68
4474 #, no-wrap
4475 msgid ""
4476 "B<#include E<lt>unistd.hE<gt>>\n"
4477 "B<#include E<lt>fcntl.hE<gt>>\n"
4478 msgstr ""
4479
4480 #. type: Plain text
4481 #: build/C/man2/fcntl.2:70
4482 #, no-wrap
4483 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4484 msgstr ""
4485
4486 #. type: Plain text
4487 #: build/C/man2/fcntl.2:77
4488 msgid ""
4489 "B<fcntl>()  performs one of the operations described below on the open file "
4490 "descriptor I<fd>.  The operation is determined by I<cmd>."
4491 msgstr ""
4492
4493 #. type: Plain text
4494 #: build/C/man2/fcntl.2:91
4495 msgid ""
4496 "B<fcntl>()  can take an optional third argument.  Whether or not this "
4497 "argument is required is determined by I<cmd>.  The required argument type is "
4498 "indicated in parentheses after each I<cmd> name (in most cases, the required "
4499 "type is I<int>, and we identify the argument using the name I<arg>), or "
4500 "I<void> is specified if the argument is not required."
4501 msgstr ""
4502
4503 #. type: SS
4504 #: build/C/man2/fcntl.2:91
4505 #, no-wrap
4506 msgid "Duplicating a file descriptor"
4507 msgstr ""
4508
4509 #. type: TP
4510 #: build/C/man2/fcntl.2:92
4511 #, no-wrap
4512 msgid "B<F_DUPFD> (I<int>)"
4513 msgstr ""
4514
4515 #. type: Plain text
4516 #: build/C/man2/fcntl.2:102
4517 msgid ""
4518 "Find the lowest numbered available file descriptor greater than or equal to "
4519 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
4520 "which uses exactly the descriptor specified."
4521 msgstr ""
4522
4523 #. type: Plain text
4524 #: build/C/man2/fcntl.2:104
4525 msgid "On success, the new descriptor is returned."
4526 msgstr ""
4527
4528 #. type: Plain text
4529 #: build/C/man2/fcntl.2:108
4530 msgid "See B<dup>(2)  for further details."
4531 msgstr ""
4532
4533 #. type: TP
4534 #: build/C/man2/fcntl.2:108
4535 #, no-wrap
4536 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
4537 msgstr ""
4538
4539 #. type: Plain text
4540 #: build/C/man2/fcntl.2:125
4541 msgid ""
4542 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
4543 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
4544 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
4545 "For an explanation of why this flag is useful, see the description of "
4546 "B<O_CLOEXEC> in B<open>(2)."
4547 msgstr ""
4548
4549 #. type: SS
4550 #: build/C/man2/fcntl.2:125
4551 #, no-wrap
4552 msgid "File descriptor flags"
4553 msgstr ""
4554
4555 #. type: Plain text
4556 #: build/C/man2/fcntl.2:136
4557 msgid ""
4558 "The following commands manipulate the flags associated with a file "
4559 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
4560 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
4561 "remain open across an B<execve>(2), otherwise it will be closed."
4562 msgstr ""
4563
4564 #. type: TP
4565 #: build/C/man2/fcntl.2:136
4566 #, no-wrap
4567 msgid "B<F_GETFD> (I<void>)"
4568 msgstr ""
4569
4570 #. type: Plain text
4571 #: build/C/man2/fcntl.2:141
4572 msgid "Read the file descriptor flags; I<arg> is ignored."
4573 msgstr ""
4574
4575 #. type: TP
4576 #: build/C/man2/fcntl.2:141
4577 #, no-wrap
4578 msgid "B<F_SETFD> (I<int>)"
4579 msgstr ""
4580
4581 #. type: Plain text
4582 #: build/C/man2/fcntl.2:145
4583 msgid "Set the file descriptor flags to the value specified by I<arg>."
4584 msgstr ""
4585
4586 #. type: SS
4587 #: build/C/man2/fcntl.2:145
4588 #, no-wrap
4589 msgid "File status flags"
4590 msgstr ""
4591
4592 #.  or
4593 #.  .BR creat (2),
4594 #. type: Plain text
4595 #: build/C/man2/fcntl.2:160
4596 msgid ""
4597 "Each open file description has certain associated status flags, initialized "
4598 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
4599 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
4600 "to the same open file description, and thus share the same file status "
4601 "flags."
4602 msgstr ""
4603
4604 #. type: Plain text
4605 #: build/C/man2/fcntl.2:163
4606 msgid "The file status flags and their semantics are described in B<open>(2)."
4607 msgstr ""
4608
4609 #. type: TP
4610 #: build/C/man2/fcntl.2:163
4611 #, no-wrap
4612 msgid "B<F_GETFL> (I<void>)"
4613 msgstr ""
4614
4615 #. type: Plain text
4616 #: build/C/man2/fcntl.2:168
4617 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
4618 msgstr ""
4619
4620 #. type: TP
4621 #: build/C/man2/fcntl.2:168
4622 #, no-wrap
4623 msgid "B<F_SETFL> (I<int>)"
4624 msgstr ""
4625
4626 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
4627 #.  via fcntl(2), but currently Linux does not permit this
4628 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
4629 #. type: Plain text
4630 #: build/C/man2/fcntl.2:191
4631 msgid ""
4632 "Set the file status flags to the value specified by I<arg>.  File access "
4633 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
4634 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
4635 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
4636 "B<O_NOATIME>, and B<O_NONBLOCK> flags."
4637 msgstr ""
4638
4639 #. type: SS
4640 #: build/C/man2/fcntl.2:191
4641 #, no-wrap
4642 msgid "Advisory locking"
4643 msgstr ""
4644
4645 #. type: Plain text
4646 #: build/C/man2/fcntl.2:199
4647 msgid ""
4648 "B<F_GETLK>, B<F_SETLK> and B<F_SETLKW> are used to acquire, release, and "
4649 "test for the existence of record locks (also known as file-segment or "
4650 "file-region locks).  The third argument, I<lock>, is a pointer to a "
4651 "structure that has at least the following fields (in unspecified order)."
4652 msgstr ""
4653
4654 #. type: Plain text
4655 #: build/C/man2/fcntl.2:214
4656 #, no-wrap
4657 msgid ""
4658 "struct flock {\n"
4659 "    ...\n"
4660 "    short l_type;    /* Type of lock: F_RDLCK,\n"
4661 "                        F_WRLCK, F_UNLCK */\n"
4662 "    short l_whence;  /* How to interpret l_start:\n"
4663 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
4664 "    off_t l_start;   /* Starting offset for lock */\n"
4665 "    off_t l_len;     /* Number of bytes to lock */\n"
4666 "    pid_t l_pid;     /* PID of process blocking our lock\n"
4667 "                        (F_GETLK only) */\n"
4668 "    ...\n"
4669 "};\n"
4670 msgstr ""
4671
4672 #. type: Plain text
4673 #: build/C/man2/fcntl.2:222
4674 msgid ""
4675 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
4676 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
4677 "locked, but not bytes before the start of the file."
4678 msgstr ""
4679
4680 #. type: Plain text
4681 #: build/C/man2/fcntl.2:242
4682 msgid ""
4683 "I<l_start> is the starting offset for the lock, and is interpreted relative "
4684 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
4685 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
4686 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
4687 "a negative number provided the offset does not lie before the start of the "
4688 "file."
4689 msgstr ""
4690
4691 #. type: Plain text
4692 #: build/C/man2/fcntl.2:257
4693 msgid ""
4694 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
4695 "positive, then the range to be locked covers bytes I<l_start> up to and "
4696 "including I<l_start>+I<l_len>-I<1>.  Specifying 0 for I<l_len> has the "
4697 "special meaning: lock all bytes starting at the location specified by "
4698 "I<l_whence> and I<l_start> through to the end of file, no matter how large "
4699 "the file grows."
4700 msgstr ""
4701
4702 #. type: Plain text
4703 #: build/C/man2/fcntl.2:270
4704 msgid ""
4705 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
4706 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
4707 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
4708 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
4709 msgstr ""
4710
4711 #. type: Plain text
4712 #: build/C/man2/fcntl.2:289
4713 msgid ""
4714 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
4715 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
4716 "(shared lock)  on a file region, but only one process may hold a write lock "
4717 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
4718 "and exclusive.  A single process can hold only one type of lock on a file "
4719 "region; if a new lock is applied to an already-locked region, then the "
4720 "existing lock is converted to the new lock type.  (Such conversions may "
4721 "involve splitting, shrinking, or coalescing with an existing lock if the "
4722 "byte range specified by the new lock does not precisely coincide with the "
4723 "range of the existing lock.)"
4724 msgstr ""
4725
4726 #. type: TP
4727 #: build/C/man2/fcntl.2:289
4728 #, no-wrap
4729 msgid "B<F_SETLK> (I<struct flock *>)"
4730 msgstr ""
4731
4732 #. type: Plain text
4733 #: build/C/man2/fcntl.2:312
4734 msgid ""
4735 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
4736 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
4737 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
4738 "lock is held by another process, this call returns -1 and sets I<errno> to "
4739 "B<EACCES> or B<EAGAIN>."
4740 msgstr ""
4741
4742 #. type: TP
4743 #: build/C/man2/fcntl.2:312
4744 #, no-wrap
4745 msgid "B<F_SETLKW> (I<struct flock *>)"
4746 msgstr ""
4747
4748 #. type: Plain text
4749 #: build/C/man2/fcntl.2:326
4750 msgid ""
4751 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
4752 "for that lock to be released.  If a signal is caught while waiting, then the "
4753 "call is interrupted and (after the signal handler has returned)  returns "
4754 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
4755 "B<signal>(7))."
4756 msgstr ""
4757
4758 #. type: TP
4759 #: build/C/man2/fcntl.2:326
4760 #, no-wrap
4761 msgid "B<F_GETLK> (I<struct flock *>)"
4762 msgstr ""
4763
4764 #. type: Plain text
4765 #: build/C/man2/fcntl.2:350
4766 msgid ""
4767 "On input to this call, I<lock> describes a lock we would like to place on "
4768 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
4769 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
4770 "other fields of the structure unchanged.  If one or more incompatible locks "
4771 "would prevent this lock being placed, then B<fcntl>()  returns details about "
4772 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
4773 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
4774 "that lock."
4775 msgstr ""
4776
4777 #. type: Plain text
4778 #: build/C/man2/fcntl.2:358
4779 msgid ""
4780 "In order to place a read lock, I<fd> must be open for reading.  In order to "
4781 "place a write lock, I<fd> must be open for writing.  To place both types of "
4782 "lock, open a file read-write."
4783 msgstr ""
4784
4785 #.  (Additional file descriptors referring to the same file
4786 #.  may have been obtained by calls to
4787 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
4788 #. type: Plain text
4789 #: build/C/man2/fcntl.2:375
4790 msgid ""
4791 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
4792 "automatically released when the process terminates or if it closes I<any> "
4793 "file descriptor referring to a file on which locks are held.  This is bad: "
4794 "it means that a process can lose the locks on a file like I</etc/passwd> or "
4795 "I</etc/mtab> when for some reason a library function decides to open, read "
4796 "and close it."
4797 msgstr ""
4798
4799 #. type: Plain text
4800 #: build/C/man2/fcntl.2:380
4801 msgid ""
4802 "Record locks are not inherited by a child created via B<fork>(2), but are "
4803 "preserved across an B<execve>(2)."
4804 msgstr ""
4805
4806 #. type: Plain text
4807 #: build/C/man2/fcntl.2:389
4808 msgid ""
4809 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
4810 "record locking with routines in that package should be avoided; use "
4811 "B<read>(2)  and B<write>(2)  instead."
4812 msgstr ""
4813
4814 #. type: SS
4815 #: build/C/man2/fcntl.2:389
4816 #, no-wrap
4817 msgid "Mandatory locking"
4818 msgstr ""
4819
4820 #. type: Plain text
4821 #: build/C/man2/fcntl.2:393
4822 msgid ""
4823 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
4824 "and are advisory by default."
4825 msgstr ""
4826
4827 #. type: Plain text
4828 #: build/C/man2/fcntl.2:396
4829 msgid ""
4830 "Advisory locks are not enforced and are useful only between cooperating "
4831 "processes."
4832 msgstr ""
4833
4834 #. type: Plain text
4835 #: build/C/man2/fcntl.2:415
4836 msgid ""
4837 "Mandatory locks are enforced for all processes.  If a process tries to "
4838 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
4839 "region that has an incompatible mandatory lock, then the result depends upon "
4840 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
4841 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
4842 "lock is removed or converted to a mode that is compatible with the access.  "
4843 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
4844 "error B<EAGAIN>."
4845 msgstr ""
4846
4847 #. type: Plain text
4848 #: build/C/man2/fcntl.2:432
4849 msgid ""
4850 "To make use of mandatory locks, mandatory locking must be enabled both on "
4851 "the file system that contains the file to be locked, and on the file "
4852 "itself.  Mandatory locking is enabled on a file system using the \"-o mand\" "
4853 "option to B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  "
4854 "Mandatory locking is enabled on a file by disabling group execute permission "
4855 "on the file and enabling the set-group-ID permission bit (see B<chmod>(1)  "
4856 "and B<chmod>(2))."
4857 msgstr ""
4858
4859 #. type: Plain text
4860 #: build/C/man2/fcntl.2:435
4861 msgid ""
4862 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
4863 "below."
4864 msgstr ""
4865
4866 #. type: SS
4867 #: build/C/man2/fcntl.2:435
4868 #, no-wrap
4869 msgid "Managing signals"
4870 msgstr ""
4871
4872 #. type: Plain text
4873 #: build/C/man2/fcntl.2:444
4874 msgid ""
4875 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
4876 "B<F_SETSIG> are used to manage I/O availability signals:"
4877 msgstr ""
4878
4879 #. type: TP
4880 #: build/C/man2/fcntl.2:444
4881 #, no-wrap
4882 msgid "B<F_GETOWN> (I<void>)"
4883 msgstr ""
4884
4885 #. type: Plain text
4886 #: build/C/man2/fcntl.2:457
4887 msgid ""
4888 "Return (as the function result)  the process ID or process group currently "
4889 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
4890 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
4891 "returned as negative values (but see BUGS below).  I<arg> is ignored."
4892 msgstr ""
4893
4894 #. type: TP
4895 #: build/C/man2/fcntl.2:457
4896 #, no-wrap
4897 msgid "B<F_SETOWN> (I<int>)"
4898 msgstr ""
4899
4900 #. type: Plain text
4901 #: build/C/man2/fcntl.2:474
4902 msgid ""
4903 "Set the process ID or process group ID that will receive B<SIGIO> and "
4904 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
4905 "I<arg>.  A process ID is specified as a positive value; a process group ID "
4906 "is specified as a negative value.  Most commonly, the calling process "
4907 "specifies itself as the owner (that is, I<arg> is specified as "
4908 "B<getpid>(2))."
4909 msgstr ""
4910
4911 #.  From glibc.info:
4912 #. type: Plain text
4913 #: build/C/man2/fcntl.2:491
4914 msgid ""
4915 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
4916 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
4917 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
4918 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
4919 "check fails, then the signal is silently discarded."
4920 msgstr ""
4921
4922 #. type: Plain text
4923 #: build/C/man2/fcntl.2:499
4924 msgid ""
4925 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
4926 "subject to the same permissions checks as are described for B<kill>(2), "
4927 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
4928 "below)."
4929 msgstr ""
4930
4931 #.  The following appears to be rubbish.  It doesn't seem to
4932 #.  be true according to the kernel source, and I can write
4933 #.  a program that gets a terminal-generated SIGIO even though
4934 #.  it is not the foreground process group of the terminal.
4935 #.  -- MTK, 8 Apr 05
4936 #
4937 #.  If the file descriptor
4938 #.  .I fd
4939 #.  refers to a terminal device, then SIGIO
4940 #.  signals are sent to the foreground process group of the terminal.
4941 #. type: Plain text
4942 #: build/C/man2/fcntl.2:523
4943 msgid ""
4944 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
4945 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
4946 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
4947 "B<select>(2)  would report the socket as having an \"exceptional "
4948 "condition\".)"
4949 msgstr ""
4950
4951 #. type: Plain text
4952 #: build/C/man2/fcntl.2:526
4953 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
4954 msgstr ""
4955
4956 #.  The relevant place in the (2.6) kernel source is the
4957 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
4958 #.  send_sigurg()/send_sigurg_to_task() bypasses
4959 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
4960 #.  to directly call send_group_sig_info()
4961 #.      -- MTK, Apr 2005 (kernel 2.6.11)
4962 #. type: Plain text
4963 #: build/C/man2/fcntl.2:566
4964 msgid ""
4965 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
4966 "running with a threading library that supports thread groups (e.g., NPTL), "
4967 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
4968 "of being a process ID identifying a whole process, it is a thread ID "
4969 "identifying a specific thread within a process.  Consequently, it may be "
4970 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
4971 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
4972 "Linux threading implementations, a main thread's thread ID is the same as "
4973 "its process ID.  This means that a single-threaded program can equally use "
4974 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
4975 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
4976 "for out-of-band data on a socket: this signal is always sent to either a "
4977 "process or a process group, depending on the value given to B<F_SETOWN>."
4978 msgstr ""
4979
4980 #. type: Plain text
4981 #: build/C/man2/fcntl.2:577
4982 msgid ""
4983 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
4984 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
4985 "and B<SIGURG> signals at a particular thread."
4986 msgstr ""
4987
4988 #. type: TP
4989 #: build/C/man2/fcntl.2:577
4990 #, no-wrap
4991 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
4992 msgstr ""
4993
4994 #. type: Plain text
4995 #: build/C/man2/fcntl.2:586
4996 msgid ""
4997 "Return the current file descriptor owner settings as defined by a previous "
4998 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
4999 "pointed to by I<arg>, which has the following form:"
5000 msgstr ""
5001
5002 #. type: Plain text
5003 #: build/C/man2/fcntl.2:593
5004 #, no-wrap
5005 msgid ""
5006 "struct f_owner_ex {\n"
5007 "    int   type;\n"
5008 "    pid_t pid;\n"
5009 "};\n"
5010 msgstr ""
5011
5012 #. type: Plain text
5013 #: build/C/man2/fcntl.2:610
5014 msgid ""
5015 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5016 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5017 "representing a thread ID, process ID, or process group ID.  See "
5018 "B<F_SETOWN_EX> for more details."
5019 msgstr ""
5020
5021 #. type: TP
5022 #: build/C/man2/fcntl.2:610
5023 #, no-wrap
5024 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5025 msgstr ""
5026
5027 #. type: Plain text
5028 #: build/C/man2/fcntl.2:626
5029 msgid ""
5030 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5031 "to direct I/O availability signals to a specific thread, process, or process "
5032 "group.  The caller specifies the target of signals via I<arg>, which is a "
5033 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5034 "following values, which define how I<pid> is interpreted:"
5035 msgstr ""
5036
5037 #. type: TP
5038 #: build/C/man2/fcntl.2:627
5039 #, no-wrap
5040 msgid "B<F_OWNER_TID>"
5041 msgstr ""
5042
5043 #. type: Plain text
5044 #: build/C/man2/fcntl.2:636
5045 msgid ""
5046 "Send the signal to the thread whose thread ID (the value returned by a call "
5047 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5048 msgstr ""
5049
5050 #. type: TP
5051 #: build/C/man2/fcntl.2:636
5052 #, no-wrap
5053 msgid "B<F_OWNER_PID>"
5054 msgstr ""
5055
5056 #. type: Plain text
5057 #: build/C/man2/fcntl.2:641
5058 msgid "Send the signal to the process whose ID is specified in I<pid>."
5059 msgstr ""
5060
5061 #. type: TP
5062 #: build/C/man2/fcntl.2:641
5063 #, no-wrap
5064 msgid "B<F_OWNER_PGRP>"
5065 msgstr ""
5066
5067 #. type: Plain text
5068 #: build/C/man2/fcntl.2:649
5069 msgid ""
5070 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5071 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5072 "value here.)"
5073 msgstr ""
5074
5075 #. type: TP
5076 #: build/C/man2/fcntl.2:650
5077 #, no-wrap
5078 msgid "B<F_GETSIG> (I<void>)"
5079 msgstr ""
5080
5081 #. type: Plain text
5082 #: build/C/man2/fcntl.2:665
5083 msgid ""
5084 "Return (as the function result)  the signal sent when input or output "
5085 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5086 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5087 "additional info is available to the signal handler if installed with "
5088 "B<SA_SIGINFO>.  I<arg> is ignored."
5089 msgstr ""
5090
5091 #. type: TP
5092 #: build/C/man2/fcntl.2:665
5093 #, no-wrap
5094 msgid "B<F_SETSIG> (I<int>)"
5095 msgstr ""
5096
5097 #
5098 #.  The following was true only up until 2.6.11:
5099 #
5100 #.  Additionally, passing a nonzero value to
5101 #.  .B F_SETSIG
5102 #.  changes the signal recipient from a whole process to a specific thread
5103 #.  within a process.
5104 #.  See the description of
5105 #.  .B F_SETOWN
5106 #.  for more details.
5107 #. type: Plain text
5108 #: build/C/man2/fcntl.2:688
5109 msgid ""
5110 "Set the signal sent when input or output becomes possible to the value given "
5111 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5112 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5113 "case additional info is available to the signal handler if installed with "
5114 "B<SA_SIGINFO>."
5115 msgstr ""
5116
5117 #. type: Plain text
5118 #: build/C/man2/fcntl.2:716
5119 msgid ""
5120 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5121 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5122 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5123 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5124 "descriptor associated with the event.  Otherwise, there is no indication "
5125 "which file descriptors are pending, and you should use the usual mechanisms "
5126 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5127 "determine which file descriptors are available for I/O."
5128 msgstr ""
5129
5130 #. type: Plain text
5131 #: build/C/man2/fcntl.2:725
5132 msgid ""
5133 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5134 "events may be queued using the same signal numbers.  (Queuing is dependent "
5135 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5136 "set for the signal handler, as above."
5137 msgstr ""
5138
5139 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5140 #. type: Plain text
5141 #: build/C/man2/fcntl.2:738
5142 msgid ""
5143 "Note that Linux imposes a limit on the number of real-time signals that may "
5144 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5145 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5146 "signal is delivered to the entire process rather than to a specific thread."
5147 msgstr ""
5148
5149 #. type: Plain text
5150 #: build/C/man2/fcntl.2:745
5151 msgid ""
5152 "Using these mechanisms, a program can implement fully asynchronous I/O "
5153 "without using B<select>(2)  or B<poll>(2)  most of the time."
5154 msgstr ""
5155
5156 #. type: Plain text
5157 #: build/C/man2/fcntl.2:761
5158 msgid ""
5159 "The use of B<O_ASYNC>, B<F_GETOWN>, B<F_SETOWN> is specific to BSD and "
5160 "Linux.  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are "
5161 "Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> "
5162 "structure to achieve similar things; these are also available in Linux as "
5163 "part of the GNU C Library (Glibc)."
5164 msgstr ""
5165
5166 #. type: SS
5167 #: build/C/man2/fcntl.2:761
5168 #, no-wrap
5169 msgid "Leases"
5170 msgstr ""
5171
5172 #. type: Plain text
5173 #: build/C/man2/fcntl.2:776
5174 msgid ""
5175 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5176 "to establish a new lease, and retrieve the current lease, on the open file "
5177 "description referred to by the file descriptor I<fd>.  A file lease provides "
5178 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5179 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5180 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5181 "descriptor."
5182 msgstr ""
5183
5184 #. type: TP
5185 #: build/C/man2/fcntl.2:776
5186 #, no-wrap
5187 msgid "B<F_SETLEASE> (I<int>)"
5188 msgstr ""
5189
5190 #. type: Plain text
5191 #: build/C/man2/fcntl.2:781
5192 msgid ""
5193 "Set or remove a file lease according to which of the following values is "
5194 "specified in the integer I<arg>:"
5195 msgstr ""
5196
5197 #. type: TP
5198 #: build/C/man2/fcntl.2:782
5199 #, no-wrap
5200 msgid "B<F_RDLCK>"
5201 msgstr ""
5202
5203 #.  The following became true in kernel 2.6.10:
5204 #.  See the man-pages-2.09 Changelog for further info.
5205 #. type: Plain text
5206 #: build/C/man2/fcntl.2:791
5207 msgid ""
5208 "Take out a read lease.  This will cause the calling process to be notified "
5209 "when the file is opened for writing or is truncated.  A read lease can only "
5210 "be placed on a file descriptor that is opened read-only."
5211 msgstr ""
5212
5213 #. type: TP
5214 #: build/C/man2/fcntl.2:791
5215 #, no-wrap
5216 msgid "B<F_WRLCK>"
5217 msgstr ""
5218
5219 #. type: Plain text
5220 #: build/C/man2/fcntl.2:798
5221 msgid ""
5222 "Take out a write lease.  This will cause the caller to be notified when the "
5223 "file is opened for reading or writing or is truncated.  A write lease may be "
5224 "placed on a file only if there are no other open file descriptors for the "
5225 "file."
5226 msgstr ""
5227
5228 #. type: TP
5229 #: build/C/man2/fcntl.2:798
5230 #, no-wrap
5231 msgid "B<F_UNLCK>"
5232 msgstr ""
5233
5234 #. type: Plain text
5235 #: build/C/man2/fcntl.2:801
5236 msgid "Remove our lease from the file."
5237 msgstr ""
5238
5239 #. type: Plain text
5240 #: build/C/man2/fcntl.2:815
5241 msgid ""
5242 "Leases are associated with an open file description (see B<open>(2)).  This "
5243 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5244 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5245 "released using any of these descriptors.  Furthermore, the lease is released "
5246 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5247 "descriptors, or when all such descriptors have been closed."
5248 msgstr ""
5249
5250 #. type: Plain text
5251 #: build/C/man2/fcntl.2:822
5252 msgid ""
5253 "Leases may only be taken out on regular files.  An unprivileged process may "
5254 "only take out a lease on a file whose UID (owner) matches the file system "
5255 "UID of the process.  A process with the B<CAP_LEASE> capability may take out "
5256 "leases on arbitrary files."
5257 msgstr ""
5258
5259 #. type: TP
5260 #: build/C/man2/fcntl.2:822
5261 #, no-wrap
5262 msgid "B<F_GETLEASE> (I<void>)"
5263 msgstr ""
5264
5265 #. type: Plain text
5266 #: build/C/man2/fcntl.2:831
5267 msgid ""
5268 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5269 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5270 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5271 msgstr ""
5272
5273 #. type: Plain text
5274 #: build/C/man2/fcntl.2:862
5275 msgid ""
5276 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5277 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5278 "the system call is blocked by the kernel and the kernel notifies the lease "
5279 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5280 "should respond to receipt of this signal by doing whatever cleanup is "
5281 "required in preparation for the file to be accessed by another process "
5282 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5283 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5284 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5285 "the file, and the lease breaker is opening the file for reading, then it is "
5286 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5287 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5288 "B<F_RDLCK>."
5289 msgstr ""
5290
5291 #. type: Plain text
5292 #: build/C/man2/fcntl.2:867
5293 msgid ""
5294 "If the lease holder fails to downgrade or remove the lease within the number "
5295 "of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
5296 "forcibly removes or downgrades the lease holder's lease."
5297 msgstr ""
5298
5299 #. type: Plain text
5300 #: build/C/man2/fcntl.2:877
5301 msgid ""
5302 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5303 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5304 "compatible with the lease breaker)  until the lease holder voluntarily "
5305 "downgrades or removes the lease or the kernel forcibly does so after the "
5306 "lease break timer expires."
5307 msgstr ""
5308
5309 #. type: Plain text
5310 #: build/C/man2/fcntl.2:881
5311 msgid ""
5312 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5313 "assuming the lease breaker has not unblocked its system call, the kernel "
5314 "permits the lease breaker's system call to proceed."
5315 msgstr ""
5316
5317 #. type: Plain text
5318 #: build/C/man2/fcntl.2:902
5319 msgid ""
5320 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5321 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5322 "the other steps still occur as described above.  If the lease breaker is "
5323 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5324 "other steps still occur as described above.  If the lease breaker specifies "
5325 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5326 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5327 "described above."
5328 msgstr ""
5329
5330 #. type: Plain text
5331 #: build/C/man2/fcntl.2:923
5332 msgid ""
5333 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5334 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5335 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5336 "is established using B<SA_SIGINFO>, then the handler will receive a "
5337 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5338 "this argument will hold the descriptor of the leased file that has been "
5339 "accessed by another process.  (This is useful if the caller holds leases "
5340 "against multiple files)."
5341 msgstr ""
5342
5343 #. type: SS
5344 #: build/C/man2/fcntl.2:923
5345 #, no-wrap
5346 msgid "File and directory change notification (dnotify)"
5347 msgstr ""
5348
5349 #. type: TP
5350 #: build/C/man2/fcntl.2:924
5351 #, no-wrap
5352 msgid "B<F_NOTIFY> (I<int>)"
5353 msgstr ""
5354
5355 #. type: Plain text
5356 #: build/C/man2/fcntl.2:934
5357 msgid ""
5358 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5359 "I<fd> or any of the files that it contains is changed.  The events to be "
5360 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5361 "together zero or more of the following bits:"
5362 msgstr ""
5363
5364 #. type: TP
5365 #: build/C/man2/fcntl.2:937
5366 #, no-wrap
5367 msgid "B<DN_ACCESS>"
5368 msgstr ""
5369
5370 #. type: Plain text
5371 #: build/C/man2/fcntl.2:940
5372 msgid "A file was accessed (read, pread, readv)"
5373 msgstr ""
5374
5375 #. type: TP
5376 #: build/C/man2/fcntl.2:940
5377 #, no-wrap
5378 msgid "B<DN_MODIFY>"
5379 msgstr ""
5380
5381 #. type: Plain text
5382 #: build/C/man2/fcntl.2:943
5383 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5384 msgstr ""
5385
5386 #. type: TP
5387 #: build/C/man2/fcntl.2:943
5388 #, no-wrap
5389 msgid "B<DN_CREATE>"
5390 msgstr ""
5391
5392 #. type: Plain text
5393 #: build/C/man2/fcntl.2:946
5394 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5395 msgstr ""
5396
5397 #. type: TP
5398 #: build/C/man2/fcntl.2:946
5399 #, no-wrap
5400 msgid "B<DN_DELETE>"
5401 msgstr ""
5402
5403 #. type: Plain text
5404 #: build/C/man2/fcntl.2:949
5405 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5406 msgstr ""
5407
5408 #. type: TP
5409 #: build/C/man2/fcntl.2:949
5410 #, no-wrap
5411 msgid "B<DN_RENAME>"
5412 msgstr ""
5413
5414 #. type: Plain text
5415 #: build/C/man2/fcntl.2:952
5416 msgid "A file was renamed within this directory (rename)."
5417 msgstr ""
5418
5419 #. type: TP
5420 #: build/C/man2/fcntl.2:952
5421 #, no-wrap
5422 msgid "B<DN_ATTRIB>"
5423 msgstr ""
5424
5425 #. type: Plain text
5426 #: build/C/man2/fcntl.2:955
5427 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5428 msgstr ""
5429
5430 #. type: Plain text
5431 #: build/C/man2/fcntl.2:963
5432 msgid ""
5433 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5434 "must be defined before including I<any> header files.)"
5435 msgstr ""
5436
5437 #. type: Plain text
5438 #: build/C/man2/fcntl.2:971
5439 msgid ""
5440 "Directory notifications are normally \"one-shot\", and the application must "
5441 "reregister to receive further notifications.  Alternatively, if "
5442 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5443 "effect until explicitly removed."
5444 msgstr ""
5445
5446 #.  The following does seem a poor API-design choice...
5447 #. type: Plain text
5448 #: build/C/man2/fcntl.2:983
5449 msgid ""
5450 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5451 "being added to the set already monitored.  To disable notification of all "
5452 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5453 msgstr ""
5454
5455 #. type: Plain text
5456 #: build/C/man2/fcntl.2:1001
5457 msgid ""
5458 "Notification occurs via delivery of a signal.  The default signal is "
5459 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5460 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5461 "structure as its second argument (if the handler was established using "
5462 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5463 "descriptor which generated the notification (useful when establishing "
5464 "notification on multiple directories)."
5465 msgstr ""
5466
5467 #. type: Plain text
5468 #: build/C/man2/fcntl.2:1006
5469 msgid ""
5470 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5471 "notification, so that multiple notifications can be queued."
5472 msgstr ""
5473
5474 #. type: Plain text
5475 #: build/C/man2/fcntl.2:1015
5476 msgid ""
5477 "B<NOTE:> New applications should use the I<inotify> interface (available "
5478 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5479 "notifications of file system events.  See B<inotify>(7)."
5480 msgstr ""
5481
5482 #. type: SS
5483 #: build/C/man2/fcntl.2:1015
5484 #, no-wrap
5485 msgid "Changing the capacity of a pipe"
5486 msgstr ""
5487
5488 #. type: TP
5489 #: build/C/man2/fcntl.2:1016
5490 #, no-wrap
5491 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5492 msgstr ""
5493
5494 #. type: Plain text
5495 #: build/C/man2/fcntl.2:1047
5496 msgid ""
5497 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
5498 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
5499 "between the system page size and the limit defined in "
5500 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
5501 "capacity below the page size are silently rounded up to the page size.  "
5502 "Attempts by an unprivileged process to set the pipe capacity above the limit "
5503 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
5504 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
5505 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
5506 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
5507 "returns the actual size used.  Attempting to set the pipe capacity smaller "
5508 "than the amount of buffer space currently used to store data produces the "
5509 "error B<EBUSY>."
5510 msgstr ""
5511
5512 #. type: TP
5513 #: build/C/man2/fcntl.2:1047
5514 #, no-wrap
5515 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
5516 msgstr ""
5517
5518 #. type: Plain text
5519 #: build/C/man2/fcntl.2:1051
5520 msgid ""
5521 "Return (as the function result) the capacity of the pipe referred to by "
5522 "I<fd>."
5523 msgstr ""
5524
5525 #. type: Plain text
5526 #: build/C/man2/fcntl.2:1053
5527 msgid "For a successful call, the return value depends on the operation:"
5528 msgstr ""
5529
5530 #. type: TP
5531 #: build/C/man2/fcntl.2:1053
5532 #, no-wrap
5533 msgid "B<F_DUPFD>"
5534 msgstr ""
5535
5536 #. type: Plain text
5537 #: build/C/man2/fcntl.2:1056
5538 msgid "The new descriptor."
5539 msgstr ""
5540
5541 #. type: TP
5542 #: build/C/man2/fcntl.2:1056
5543 #, no-wrap
5544 msgid "B<F_GETFD>"
5545 msgstr ""
5546
5547 #. type: Plain text
5548 #: build/C/man2/fcntl.2:1059
5549 msgid "Value of file descriptor flags."
5550 msgstr ""
5551
5552 #. type: TP
5553 #: build/C/man2/fcntl.2:1059
5554 #, no-wrap
5555 msgid "B<F_GETFL>"
5556 msgstr ""
5557
5558 #. type: Plain text
5559 #: build/C/man2/fcntl.2:1062
5560 msgid "Value of file status flags."
5561 msgstr ""
5562
5563 #. type: TP
5564 #: build/C/man2/fcntl.2:1062
5565 #, no-wrap
5566 msgid "B<F_GETLEASE>"
5567 msgstr ""
5568
5569 #. type: Plain text
5570 #: build/C/man2/fcntl.2:1065
5571 msgid "Type of lease held on file descriptor."
5572 msgstr ""
5573
5574 #. type: TP
5575 #: build/C/man2/fcntl.2:1065
5576 #, no-wrap
5577 msgid "B<F_GETOWN>"
5578 msgstr ""
5579
5580 #. type: Plain text
5581 #: build/C/man2/fcntl.2:1068
5582 msgid "Value of descriptor owner."
5583 msgstr ""
5584
5585 #. type: TP
5586 #: build/C/man2/fcntl.2:1068
5587 #, no-wrap
5588 msgid "B<F_GETSIG>"
5589 msgstr ""
5590
5591 #. type: Plain text
5592 #: build/C/man2/fcntl.2:1074
5593 msgid ""
5594 "Value of signal sent when read or write becomes possible, or zero for "
5595 "traditional B<SIGIO> behavior."
5596 msgstr ""
5597
5598 #. type: TP
5599 #: build/C/man2/fcntl.2:1074
5600 #, no-wrap
5601 msgid "B<F_GETPIPE_SZ>"
5602 msgstr ""
5603
5604 #. type: Plain text
5605 #: build/C/man2/fcntl.2:1077
5606 msgid "The pipe capacity."
5607 msgstr ""
5608
5609 #. type: TP
5610 #: build/C/man2/fcntl.2:1077
5611 #, no-wrap
5612 msgid "All other commands"
5613 msgstr ""
5614
5615 #. type: Plain text
5616 #: build/C/man2/fcntl.2:1080
5617 msgid "Zero."
5618 msgstr ""
5619
5620 #. type: Plain text
5621 #: build/C/man2/fcntl.2:1084
5622 msgid "On error, -1 is returned, and I<errno> is set appropriately."
5623 msgstr ""
5624
5625 #. type: TP
5626 #: build/C/man2/fcntl.2:1085 build/C/man3/lockf.3:116
5627 #, no-wrap
5628 msgid "B<EACCES> or B<EAGAIN>"
5629 msgstr ""
5630
5631 #. type: Plain text
5632 #: build/C/man2/fcntl.2:1088
5633 msgid "Operation is prohibited by locks held by other processes."
5634 msgstr ""
5635
5636 #. type: TP
5637 #: build/C/man2/fcntl.2:1088 build/C/man2/fork.2:168 build/C/man2/fork.2:173
5638 #, no-wrap
5639 msgid "B<EAGAIN>"
5640 msgstr ""
5641
5642 #. type: Plain text
5643 #: build/C/man2/fcntl.2:1092
5644 msgid ""
5645 "The operation is prohibited because the file has been memory-mapped by "
5646 "another process."
5647 msgstr ""
5648
5649 #. type: Plain text
5650 #: build/C/man2/fcntl.2:1101
5651 msgid ""
5652 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
5653 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
5654 "lock requested."
5655 msgstr ""
5656
5657 #. type: TP
5658 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:136
5659 #, no-wrap
5660 msgid "B<EDEADLK>"
5661 msgstr ""
5662
5663 #. type: Plain text
5664 #: build/C/man2/fcntl.2:1106
5665 msgid ""
5666 "It was detected that the specified B<F_SETLKW> command would cause a "
5667 "deadlock."
5668 msgstr ""
5669
5670 #. type: Plain text
5671 #: build/C/man2/fcntl.2:1110
5672 msgid "I<lock> is outside your accessible address space."
5673 msgstr ""
5674
5675 #. type: Plain text
5676 #: build/C/man2/fcntl.2:1122
5677 msgid ""
5678 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
5679 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
5680 "before the lock was checked or acquired.  Most likely when locking a remote "
5681 "file (e.g., locking over NFS), but can sometimes happen locally."
5682 msgstr ""
5683
5684 #. type: Plain text
5685 #: build/C/man2/fcntl.2:1132
5686 msgid ""
5687 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
5688 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
5689 msgstr ""
5690
5691 #. type: Plain text
5692 #: build/C/man2/fcntl.2:1137
5693 msgid ""
5694 "For B<F_DUPFD>, the process already has the maximum number of file "
5695 "descriptors open."
5696 msgstr ""
5697
5698 #. type: TP
5699 #: build/C/man2/fcntl.2:1137 build/C/man2/flock.2:129 build/C/man3/lockf.3:145
5700 #, no-wrap
5701 msgid "B<ENOLCK>"
5702 msgstr ""
5703
5704 #. type: Plain text
5705 #: build/C/man2/fcntl.2:1141
5706 msgid ""
5707 "Too many segment locks open, lock table is full, or a remote locking "
5708 "protocol failed (e.g., locking over NFS)."
5709 msgstr ""
5710
5711 #. type: Plain text
5712 #: build/C/man2/fcntl.2:1146
5713 msgid ""
5714 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
5715 "attribute set."
5716 msgstr ""
5717
5718 #. type: Plain text
5719 #: build/C/man2/fcntl.2:1159
5720 msgid ""
5721 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
5722 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK> and B<F_SETLKW>, "
5723 "are specified in POSIX.1-2001."
5724 msgstr ""
5725
5726 #. type: Plain text
5727 #: build/C/man2/fcntl.2:1171
5728 msgid ""
5729 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
5730 "definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
5731 "greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
5732 msgstr ""
5733
5734 #. type: Plain text
5735 #: build/C/man2/fcntl.2:1179
5736 msgid ""
5737 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
5738 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
5739 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
5740 msgstr ""
5741
5742 #.  .PP
5743 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
5744 #. type: Plain text
5745 #: build/C/man2/fcntl.2:1196
5746 msgid ""
5747 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
5748 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
5749 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
5750 "definitions.)"
5751 msgstr ""
5752
5753 #. type: Plain text
5754 #: build/C/man2/fcntl.2:1217
5755 msgid ""
5756 "The original Linux B<fcntl>()  system call was not designed to handle large "
5757 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
5758 "system call was added in Linux 2.4.  The newer system call employs a "
5759 "different structure for file locking, I<flock64>, and corresponding "
5760 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
5761 "details can be ignored by applications using glibc, whose B<fcntl>()  "
5762 "wrapper function transparently employs the more recent system call where it "
5763 "is available."
5764 msgstr ""
5765
5766 #. type: Plain text
5767 #: build/C/man2/fcntl.2:1222
5768 msgid ""
5769 "The errors returned by B<dup2>(2)  are different from those returned by "
5770 "B<F_DUPFD>."
5771 msgstr ""
5772
5773 #. type: Plain text
5774 #: build/C/man2/fcntl.2:1228
5775 msgid ""
5776 "Since kernel 2.0, there is no interaction between the types of lock placed "
5777 "by B<flock>(2)  and B<fcntl>()."
5778 msgstr ""
5779
5780 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
5781 #.  documents it in fcntl(5).  mtk, May 2007
5782 #. type: Plain text
5783 #: build/C/man2/fcntl.2:1239
5784 msgid ""
5785 "Several systems have more fields in I<struct flock> such as, for example, "
5786 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
5787 "process holding the lock may live on a different machine."
5788 msgstr ""
5789
5790 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
5791 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
5792 #.  indicate that ANY negative PGID value will cause F_GETOWN
5793 #.  to misinterpret the return as an error. Some other architectures
5794 #.  seem to have the same range check as i386.
5795 #. type: Plain text
5796 #: build/C/man2/fcntl.2:1265
5797 msgid ""
5798 "A limitation of the Linux system call conventions on some architectures "
5799 "(notably i386) means that if a (negative)  process group ID to be returned "
5800 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
5801 "wrongly interpreted by glibc as an error in the system call; that is, the "
5802 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
5803 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
5804 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
5805 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
5806 "B<F_GETOWN_EX>."
5807 msgstr ""
5808
5809 #. type: Plain text
5810 #: build/C/man2/fcntl.2:1282
5811 msgid ""
5812 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
5813 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
5814 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
5815 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
5816 "is one that the caller has permission to send signals to.  Despite this "
5817 "error return, the file descriptor owner is set, and signals will be sent to "
5818 "the owner."
5819 msgstr ""
5820
5821 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
5822 #. type: Plain text
5823 #: build/C/man2/fcntl.2:1297
5824 msgid ""
5825 "The implementation of mandatory locking in all known versions of Linux is "
5826 "subject to race conditions which render it unreliable: a B<write>(2)  call "
5827 "that overlaps with a lock may modify data after the mandatory lock is "
5828 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
5829 "data that were made only after a write lock was acquired.  Similar races "
5830 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
5831 "to rely on mandatory locking."
5832 msgstr ""
5833
5834 #. type: Plain text
5835 #: build/C/man2/fcntl.2:1305
5836 msgid ""
5837 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
5838 "B<capabilities>(7), B<feature_test_macros>(7)"
5839 msgstr ""
5840
5841 #. type: Plain text
5842 #: build/C/man2/fcntl.2:1318
5843 msgid ""
5844 "See also I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the "
5845 "kernel source directory I<Documentation/filesystems/>.  (On older kernels, "
5846 "these files are directly under the I<Documentation/> directory, and "
5847 "I<mandatory-locking.txt> is called I<mandatory.txt>.)"
5848 msgstr ""
5849
5850 #. type: TH
5851 #: build/C/man3/fexecve.3:25
5852 #, no-wrap
5853 msgid "FEXECVE"
5854 msgstr ""
5855
5856 #. type: TH
5857 #: build/C/man3/fexecve.3:25
5858 #, no-wrap
5859 msgid "2010-09-15"
5860 msgstr ""
5861
5862 #. type: Plain text
5863 #: build/C/man3/fexecve.3:28
5864 msgid "fexecve - execute program specified via file descriptor"
5865 msgstr ""
5866
5867 #. type: Plain text
5868 #: build/C/man3/fexecve.3:33
5869 #, no-wrap
5870 msgid ""
5871 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
5872 ">I<envp>B<[]);>\n"
5873 msgstr ""
5874
5875 #. type: Plain text
5876 #: build/C/man3/fexecve.3:41
5877 msgid "B<fexecve>():"
5878 msgstr ""
5879
5880 #. type: TP
5881 #: build/C/man3/fexecve.3:44
5882 #, no-wrap
5883 msgid "Since glibc 2.10:"
5884 msgstr ""
5885
5886 #. type: Plain text
5887 #: build/C/man3/fexecve.3:47
5888 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5889 msgstr ""
5890
5891 #. type: TP
5892 #: build/C/man3/fexecve.3:47
5893 #, no-wrap
5894 msgid "Before glibc 2.10:"
5895 msgstr ""
5896
5897 #. type: Plain text
5898 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:52
5899 msgid "_GNU_SOURCE"
5900 msgstr ""
5901
5902 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
5903 #.  but Linux doesn't support this flag yet.
5904 #. type: Plain text
5905 #: build/C/man3/fexecve.3:67
5906 msgid ""
5907 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
5908 "that the file to be executed is specified via a file descriptor, I<fd>, "
5909 "rather than via a pathname.  The file descriptor I<fd> must be opened "
5910 "read-only, and the caller must have permission to execute the file that it "
5911 "refers to."
5912 msgstr ""
5913
5914 #. type: Plain text
5915 #: build/C/man3/fexecve.3:74
5916 msgid ""
5917 "A successful call to B<fexecve>()  never returns.  On error, the function "
5918 "returns, with a result value of -1, and I<errno> is set appropriately."
5919 msgstr ""
5920
5921 #. type: Plain text
5922 #: build/C/man3/fexecve.3:78
5923 msgid "Errors are as for B<execve>(2), with the following additions:"
5924 msgstr ""
5925
5926 #. type: Plain text
5927 #: build/C/man3/fexecve.3:86
5928 msgid ""
5929 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
5930 "NULL."
5931 msgstr ""
5932
5933 #. type: Plain text
5934 #: build/C/man3/fexecve.3:91
5935 msgid "The I</proc> file system could not be accessed."
5936 msgstr ""
5937
5938 #. type: Plain text
5939 #: build/C/man3/fexecve.3:94
5940 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
5941 msgstr ""
5942
5943 #. type: Plain text
5944 #: build/C/man3/fexecve.3:98
5945 msgid ""
5946 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
5947 "widely available on other systems."
5948 msgstr ""
5949
5950 #. type: Plain text
5951 #: build/C/man3/fexecve.3:106
5952 msgid ""
5953 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  file system, so "
5954 "I</proc> needs to be mounted and available at the time of the call."
5955 msgstr ""
5956
5957 #. type: Plain text
5958 #: build/C/man3/fexecve.3:107
5959 msgid "B<execve>(2)"
5960 msgstr ""
5961
5962 #. type: TH
5963 #: build/C/man2/flock.2:34
5964 #, no-wrap
5965 msgid "FLOCK"
5966 msgstr ""
5967
5968 #. type: Plain text
5969 #: build/C/man2/flock.2:37
5970 msgid "flock - apply or remove an advisory lock on an open file"
5971 msgstr ""
5972
5973 #. type: Plain text
5974 #: build/C/man2/flock.2:39
5975 msgid "B<#include E<lt>sys/file.hE<gt>>"
5976 msgstr ""
5977
5978 #. type: Plain text
5979 #: build/C/man2/flock.2:41
5980 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
5981 msgstr ""
5982
5983 #. type: Plain text
5984 #: build/C/man2/flock.2:47
5985 msgid ""
5986 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
5987 "argument I<operation> is one of the following:"
5988 msgstr ""
5989
5990 #. type: TP
5991 #: build/C/man2/flock.2:48
5992 #, no-wrap
5993 msgid "B<LOCK_SH>"
5994 msgstr ""
5995
5996 #. type: Plain text
5997 #: build/C/man2/flock.2:53
5998 msgid ""
5999 "Place a shared lock.  More than one process may hold a shared lock for a "
6000 "given file at a given time."
6001 msgstr ""
6002
6003 #. type: TP
6004 #: build/C/man2/flock.2:53
6005 #, no-wrap
6006 msgid "B<LOCK_EX>"
6007 msgstr ""
6008
6009 #. type: Plain text
6010 #: build/C/man2/flock.2:58
6011 msgid ""
6012 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6013 "given file at a given time."
6014 msgstr ""
6015
6016 #. type: TP
6017 #: build/C/man2/flock.2:58
6018 #, no-wrap
6019 msgid "B<LOCK_UN>"
6020 msgstr ""
6021
6022 #. type: Plain text
6023 #: build/C/man2/flock.2:61
6024 msgid "Remove an existing lock held by this process."
6025 msgstr ""
6026
6027 #. type: Plain text
6028 #: build/C/man2/flock.2:70
6029 msgid ""
6030 "A call to B<flock>()  may block if an incompatible lock is held by another "
6031 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6032 "any of the above operations."
6033 msgstr ""
6034
6035 #. type: Plain text
6036 #: build/C/man2/flock.2:72
6037 msgid "A single file may not simultaneously have both shared and exclusive locks."
6038 msgstr ""
6039
6040 #. type: Plain text
6041 #: build/C/man2/flock.2:86
6042 msgid ""
6043 "Locks created by B<flock>()  are associated with an open file table entry.  "
6044 "This means that duplicate file descriptors (created by, for example, "
6045 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6046 "modified or released using any of these descriptors.  Furthermore, the lock "
6047 "is released either by an explicit B<LOCK_UN> operation on any of these "
6048 "duplicate descriptors, or when all such descriptors have been closed."
6049 msgstr ""
6050
6051 #. type: Plain text
6052 #: build/C/man2/flock.2:95
6053 msgid ""
6054 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6055 "descriptor for the same file, these descriptors are treated independently by "
6056 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6057 "may be denied by a lock that the calling process has already placed via "
6058 "another descriptor."
6059 msgstr ""
6060
6061 #. type: Plain text
6062 #: build/C/man2/flock.2:102
6063 msgid ""
6064 "A process may only hold one type of lock (shared or exclusive)  on a file.  "
6065 "Subsequent B<flock>()  calls on an already locked file will convert an "
6066 "existing lock to the new lock mode."
6067 msgstr ""
6068
6069 #. type: Plain text
6070 #: build/C/man2/flock.2:107
6071 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6072 msgstr ""
6073
6074 #. type: Plain text
6075 #: build/C/man2/flock.2:110
6076 msgid ""
6077 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6078 "which the file was opened."
6079 msgstr ""
6080
6081 #. type: Plain text
6082 #: build/C/man2/flock.2:120
6083 msgid "I<fd> is not an open file descriptor."
6084 msgstr ""
6085
6086 #. type: Plain text
6087 #: build/C/man2/flock.2:125
6088 msgid ""
6089 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6090 "signal caught by a handler; see B<signal>(7)."
6091 msgstr ""
6092
6093 #. type: Plain text
6094 #: build/C/man2/flock.2:129
6095 msgid "I<operation> is invalid."
6096 msgstr ""
6097
6098 #. type: Plain text
6099 #: build/C/man2/flock.2:132
6100 msgid "The kernel ran out of memory for allocating lock records."
6101 msgstr ""
6102
6103 #. type: TP
6104 #: build/C/man2/flock.2:132
6105 #, no-wrap
6106 msgid "B<EWOULDBLOCK>"
6107 msgstr ""
6108
6109 #. type: Plain text
6110 #: build/C/man2/flock.2:137
6111 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6112 msgstr ""
6113
6114 #. type: Plain text
6115 #: build/C/man2/flock.2:146
6116 msgid ""
6117 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6118 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6119 "UNIX systems."
6120 msgstr ""
6121
6122 #. type: Plain text
6123 #: build/C/man2/flock.2:153
6124 msgid ""
6125 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6126 "does work over NFS, given a sufficiently recent version of Linux and a "
6127 "server which supports locking."
6128 msgstr ""
6129
6130 #. type: Plain text
6131 #: build/C/man2/flock.2:168
6132 msgid ""
6133 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6134 "right rather than being emulated in the GNU C library as a call to "
6135 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6136 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6137 "B<flock>()  does not detect deadlock."
6138 msgstr ""
6139
6140 #. type: Plain text
6141 #: build/C/man2/flock.2:174
6142 msgid ""
6143 "B<flock>()  places advisory locks only; given suitable permissions on a "
6144 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6145 "the file."
6146 msgstr ""
6147
6148 #. type: Plain text
6149 #: build/C/man2/flock.2:187
6150 msgid ""
6151 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6152 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6153 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6154 "described in this manual page."
6155 msgstr ""
6156
6157 #.  Kernel 2.5.21 changed things a little: during lock conversion
6158 #.  it is now the highest priority process that will get the lock -- mtk
6159 #. type: Plain text
6160 #: build/C/man2/flock.2:200
6161 msgid ""
6162 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6163 "be atomic: the existing lock is first removed, and then a new lock is "
6164 "established.  Between these two steps, a pending lock request by another "
6165 "process may be granted, with the result that the conversion either blocks, "
6166 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6167 "and occurs on many other implementations.)"
6168 msgstr ""
6169
6170 #. type: Plain text
6171 #: build/C/man2/flock.2:208
6172 msgid ""
6173 "B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), B<open>(2), "
6174 "B<lockf>(3)"
6175 msgstr ""
6176
6177 #. type: Plain text
6178 #: build/C/man2/flock.2:213
6179 msgid ""
6180 "See also I<Documentation/filesystem/locks.txt> in the kernel source "
6181 "(I<Documentation/locks.txt> in older kernels)."
6182 msgstr ""
6183
6184 #. type: TH
6185 #: build/C/man2/fork.2:39
6186 #, no-wrap
6187 msgid "FORK"
6188 msgstr ""
6189
6190 #. type: TH
6191 #: build/C/man2/fork.2:39 build/C/man2/fsync.2:38
6192 #, no-wrap
6193 msgid "2012-02-27"
6194 msgstr ""
6195
6196 #. type: Plain text
6197 #: build/C/man2/fork.2:42
6198 msgid "fork - create a child process"
6199 msgstr ""
6200
6201 #. type: Plain text
6202 #: build/C/man2/fork.2:46
6203 msgid "B<pid_t fork(void);>"
6204 msgstr ""
6205
6206 #. type: Plain text
6207 #: build/C/man2/fork.2:52
6208 msgid ""
6209 "B<fork>()  creates a new process by duplicating the calling process.  The "
6210 "new process, referred to as the I<child>, is an exact duplicate of the "
6211 "calling process, referred to as the I<parent>, except for the following "
6212 "points:"
6213 msgstr ""
6214
6215 #. type: Plain text
6216 #: build/C/man2/fork.2:56
6217 msgid ""
6218 "The child has its own unique process ID, and this PID does not match the ID "
6219 "of any existing process group (B<setpgid>(2))."
6220 msgstr ""
6221
6222 #. type: Plain text
6223 #: build/C/man2/fork.2:58
6224 msgid "The child's parent process ID is the same as the parent's process ID."
6225 msgstr ""
6226
6227 #. type: Plain text
6228 #: build/C/man2/fork.2:62
6229 msgid ""
6230 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6231 "B<mlockall>(2))."
6232 msgstr ""
6233
6234 #. type: Plain text
6235 #: build/C/man2/fork.2:68
6236 msgid ""
6237 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6238 "(B<times>(2))  are reset to zero in the child."
6239 msgstr ""
6240
6241 #. type: Plain text
6242 #: build/C/man2/fork.2:71
6243 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6244 msgstr ""
6245
6246 #. type: Plain text
6247 #: build/C/man2/fork.2:74
6248 msgid ""
6249 "The child does not inherit semaphore adjustments from its parent "
6250 "(B<semop>(2))."
6251 msgstr ""
6252
6253 #. type: Plain text
6254 #: build/C/man2/fork.2:77
6255 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6256 msgstr ""
6257
6258 #. type: Plain text
6259 #: build/C/man2/fork.2:82
6260 msgid ""
6261 "The child does not inherit timers from its parent (B<setitimer>(2), "
6262 "B<alarm>(2), B<timer_create>(2))."
6263 msgstr ""
6264
6265 #. type: Plain text
6266 #: build/C/man2/fork.2:89
6267 msgid ""
6268 "The child does not inherit outstanding asynchronous I/O operations from its "
6269 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6270 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6271 msgstr ""
6272
6273 #. type: Plain text
6274 #: build/C/man2/fork.2:94
6275 msgid ""
6276 "The process attributes in the preceding list are all specified in "
6277 "POSIX.1-2001.  The parent and child also differ with respect to the "
6278 "following Linux-specific process attributes:"
6279 msgstr ""
6280
6281 #. type: Plain text
6282 #: build/C/man2/fork.2:101
6283 msgid ""
6284 "The child does not inherit directory change notifications (dnotify)  from "
6285 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6286 msgstr ""
6287
6288 #. type: Plain text
6289 #: build/C/man2/fork.2:107
6290 msgid ""
6291 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6292 "not receive a signal when its parent terminates."
6293 msgstr ""
6294
6295 #. type: Plain text
6296 #: build/C/man2/fork.2:113
6297 msgid ""
6298 "Memory mappings that have been marked with the B<madvise>(2)  "
6299 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6300 msgstr ""
6301
6302 #. type: Plain text
6303 #: build/C/man2/fork.2:118
6304 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6305 msgstr ""
6306
6307 #. type: Plain text
6308 #: build/C/man2/fork.2:129
6309 msgid ""
6310 "The child process is created with a single thread\\(emthe one that called "
6311 "B<fork>().  The entire virtual address space of the parent is replicated in "
6312 "the child, including the states of mutexes, condition variables, and other "
6313 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6314 "dealing with problems that this can cause."
6315 msgstr ""
6316
6317 #. type: Plain text
6318 #: build/C/man2/fork.2:143
6319 msgid ""
6320 "The child inherits copies of the parent's set of open file descriptors.  "
6321 "Each file descriptor in the child refers to the same open file description "
6322 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6323 "means that the two descriptors share open file status flags, current file "
6324 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6325 "and B<F_SETSIG> in B<fcntl>(2))."
6326 msgstr ""
6327
6328 #. type: Plain text
6329 #: build/C/man2/fork.2:152
6330 msgid ""
6331 "The child inherits copies of the parent's set of open message queue "
6332 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6333 "the same open message queue description as the corresponding descriptor in "
6334 "the parent.  This means that the two descriptors share the same flags "
6335 "(I<mq_flags>)."
6336 msgstr ""
6337
6338 #. type: Plain text
6339 #: build/C/man2/fork.2:160
6340 msgid ""
6341 "The child inherits copies of the parent's set of open directory streams (see "
6342 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6343 "in the parent and child I<may> share the directory stream positioning; on "
6344 "Linux/glibc they do not."
6345 msgstr ""
6346
6347 #. type: Plain text
6348 #: build/C/man2/fork.2:167
6349 msgid ""
6350 "On success, the PID of the child process is returned in the parent, and 0 is "
6351 "returned in the child.  On failure, -1 is returned in the parent, no child "
6352 "process is created, and I<errno> is set appropriately."
6353 msgstr ""
6354
6355 #. type: Plain text
6356 #: build/C/man2/fork.2:173
6357 msgid ""
6358 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6359 "tables and allocate a task structure for the child."
6360 msgstr ""
6361
6362 #. type: Plain text
6363 #: build/C/man2/fork.2:183
6364 msgid ""
6365 "It was not possible to create a new process because the caller's "
6366 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6367 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6368 "capability."
6369 msgstr ""
6370
6371 #. type: Plain text
6372 #: build/C/man2/fork.2:187
6373 msgid ""
6374 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6375 "is tight."
6376 msgstr ""
6377
6378 #. type: Plain text
6379 #: build/C/man2/fork.2:196
6380 msgid ""
6381 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6382 "only penalty that it incurs is the time and memory required to duplicate the "
6383 "parent's page tables, and to create a unique task structure for the child."
6384 msgstr ""
6385
6386 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6387 #.  and does some magic to ensure that getpid(2) returns the right value.
6388 #. type: Plain text
6389 #: build/C/man2/fork.2:220
6390 msgid ""
6391 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6392 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6393 "threading implementation invokes B<clone>(2)  with flags that provide the "
6394 "same effect as the traditional system call.  (A call to B<fork>()  is "
6395 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6396 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6397 "established using B<pthread_atfork>(3)."
6398 msgstr ""
6399
6400 #. type: Plain text
6401 #: build/C/man2/fork.2:225
6402 msgid "See B<pipe>(2)  and B<wait>(2)."
6403 msgstr ""
6404
6405 #. type: Plain text
6406 #: build/C/man2/fork.2:234
6407 msgid ""
6408 "B<clone>(2), B<execve>(2), B<setrlimit>(2), B<unshare>(2), B<vfork>(2), "
6409 "B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6410 msgstr ""
6411
6412 #. type: TH
6413 #: build/C/man3/fpathconf.3:24
6414 #, no-wrap
6415 msgid "FPATHCONF"
6416 msgstr ""
6417
6418 #. type: TH
6419 #: build/C/man3/fpathconf.3:24
6420 #, no-wrap
6421 msgid "1993-04-04"
6422 msgstr ""
6423
6424 #. type: Plain text
6425 #: build/C/man3/fpathconf.3:27
6426 msgid "fpathconf, pathconf - get configuration values for files"
6427 msgstr ""
6428
6429 #. type: Plain text
6430 #: build/C/man3/fpathconf.3:32
6431 #, no-wrap
6432 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6433 msgstr ""
6434
6435 #. type: Plain text
6436 #: build/C/man3/fpathconf.3:34
6437 #, no-wrap
6438 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6439 msgstr ""
6440
6441 #. type: Plain text
6442 #: build/C/man3/fpathconf.3:41
6443 msgid ""
6444 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
6445 "open file descriptor I<fd>."
6446 msgstr ""
6447
6448 #. type: Plain text
6449 #: build/C/man3/fpathconf.3:47
6450 msgid ""
6451 "B<pathconf>()  gets a value for configuration option I<name> for the "
6452 "filename I<path>."
6453 msgstr ""
6454
6455 #. type: Plain text
6456 #: build/C/man3/fpathconf.3:56
6457 msgid ""
6458 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
6459 "values; if an application wants to take advantage of values which may "
6460 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
6461 "yield more liberal results."
6462 msgstr ""
6463
6464 #. type: Plain text
6465 #: build/C/man3/fpathconf.3:61
6466 msgid ""
6467 "Setting I<name> equal to one of the following constants returns the "
6468 "following configuration options:"
6469 msgstr ""
6470
6471 #. type: TP
6472 #: build/C/man3/fpathconf.3:61
6473 #, no-wrap
6474 msgid "B<_PC_LINK_MAX>"
6475 msgstr ""
6476
6477 #. type: Plain text
6478 #: build/C/man3/fpathconf.3:71
6479 msgid ""
6480 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
6481 "to a directory, then the value applies to the whole directory.  The "
6482 "corresponding macro is B<_POSIX_LINK_MAX>."
6483 msgstr ""
6484
6485 #. type: TP
6486 #: build/C/man3/fpathconf.3:71
6487 #, no-wrap
6488 msgid "B<_PC_MAX_CANON>"
6489 msgstr ""
6490
6491 #. type: Plain text
6492 #: build/C/man3/fpathconf.3:80
6493 msgid ""
6494 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
6495 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
6496 msgstr ""
6497
6498 #. type: TP
6499 #: build/C/man3/fpathconf.3:80
6500 #, no-wrap
6501 msgid "B<_PC_MAX_INPUT>"
6502 msgstr ""
6503
6504 #. type: Plain text
6505 #: build/C/man3/fpathconf.3:89
6506 msgid ""
6507 "returns the maximum length of an input line, where I<fd> or I<path> must "
6508 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
6509 msgstr ""
6510
6511 #. type: TP
6512 #: build/C/man3/fpathconf.3:89
6513 #, no-wrap
6514 msgid "B<_PC_NAME_MAX>"
6515 msgstr ""
6516
6517 #. type: Plain text
6518 #: build/C/man3/fpathconf.3:98
6519 msgid ""
6520 "returns the maximum length of a filename in the directory I<path> or I<fd> "
6521 "that the process is allowed to create.  The corresponding macro is "
6522 "B<_POSIX_NAME_MAX>."
6523 msgstr ""
6524
6525 #. type: TP
6526 #: build/C/man3/fpathconf.3:98
6527 #, no-wrap
6528 msgid "B<_PC_PATH_MAX>"
6529 msgstr ""
6530
6531 #. type: Plain text
6532 #: build/C/man3/fpathconf.3:107
6533 msgid ""
6534 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
6535 "the current working directory.  The corresponding macro is "
6536 "B<_POSIX_PATH_MAX>."
6537 msgstr ""
6538
6539 #. type: TP
6540 #: build/C/man3/fpathconf.3:107
6541 #, no-wrap
6542 msgid "B<_PC_PIPE_BUF>"
6543 msgstr ""
6544
6545 #. type: Plain text
6546 #: build/C/man3/fpathconf.3:116
6547 msgid ""
6548 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
6549 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
6550 "B<_POSIX_PIPE_BUF>."
6551 msgstr ""
6552
6553 #. type: TP
6554 #: build/C/man3/fpathconf.3:116
6555 #, no-wrap
6556 msgid "B<_PC_CHOWN_RESTRICTED>"
6557 msgstr ""
6558
6559 #. type: Plain text
6560 #: build/C/man3/fpathconf.3:129
6561 msgid ""
6562 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
6563 "I<fd> or I<path> refer to a directory, then this applies to all files in "
6564 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
6565 msgstr ""
6566
6567 #. type: TP
6568 #: build/C/man3/fpathconf.3:129
6569 #, no-wrap
6570 msgid "B<_PC_NO_TRUNC>"
6571 msgstr ""
6572
6573 #. type: Plain text
6574 #: build/C/man3/fpathconf.3:136
6575 msgid ""
6576 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
6577 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
6578 msgstr ""
6579
6580 #. type: TP
6581 #: build/C/man3/fpathconf.3:136
6582 #, no-wrap
6583 msgid "B<_PC_VDISABLE>"
6584 msgstr ""
6585
6586 #. type: Plain text
6587 #: build/C/man3/fpathconf.3:143
6588 msgid ""
6589 "returns nonzero if special character processing can be disabled, where I<fd> "
6590 "or I<path> must refer to a terminal."
6591 msgstr ""
6592
6593 #. type: Plain text
6594 #: build/C/man3/fpathconf.3:152
6595 msgid ""
6596 "The limit is returned, if one exists.  If the system does not have a limit "
6597 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
6598 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
6599 "of the error."
6600 msgstr ""
6601
6602 #. type: Plain text
6603 #: build/C/man3/fpathconf.3:160
6604 msgid ""
6605 "Files with name lengths longer than the value returned for I<name> equal to "
6606 "B<_PC_NAME_MAX> may exist in the given directory."
6607 msgstr ""
6608
6609 #. type: Plain text
6610 #: build/C/man3/fpathconf.3:163 build/C/man3/sysconf.3:333
6611 msgid ""
6612 "Some returned values may be huge; they are not suitable for allocating "
6613 "memory."
6614 msgstr ""
6615
6616 #. type: Plain text
6617 #: build/C/man3/fpathconf.3:167
6618 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
6619 msgstr ""
6620
6621 #. type: TH
6622 #: build/C/man2/fsync.2:38
6623 #, no-wrap
6624 msgid "FSYNC"
6625 msgstr ""
6626
6627 #. type: Plain text
6628 #: build/C/man2/fsync.2:41
6629 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
6630 msgstr ""
6631
6632 #. type: Plain text
6633 #: build/C/man2/fsync.2:45
6634 msgid "B<int fsync(int >I<fd>B<);>"
6635 msgstr ""
6636
6637 #. type: Plain text
6638 #: build/C/man2/fsync.2:47
6639 msgid "B<int fdatasync(int >I<fd>B<);>"
6640 msgstr ""
6641
6642 #. type: Plain text
6643 #: build/C/man2/fsync.2:55
6644 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
6645 msgstr ""
6646
6647 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
6648 #. type: Plain text
6649 #: build/C/man2/fsync.2:58
6650 #, no-wrap
6651 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
6652 msgstr ""
6653
6654 #. type: Plain text
6655 #: build/C/man2/fsync.2:61
6656 msgid ""
6657 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
6658 "E<gt>=\\ 500"
6659 msgstr ""
6660
6661 #. type: Plain text
6662 #: build/C/man2/fsync.2:74
6663 msgid ""
6664 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
6665 "modified buffer cache pages for) the file referred to by the file descriptor "
6666 "I<fd> to the disk device (or other permanent storage device) so that all "
6667 "changed information can be retrieved even after the system crashed or was "
6668 "rebooted.  This includes writing through or flushing a disk cache if "
6669 "present.  The call blocks until the device reports that the transfer has "
6670 "completed.  It also flushes metadata information associated with the file "
6671 "(see B<stat>(2))."
6672 msgstr ""
6673
6674 #. type: Plain text
6675 #: build/C/man2/fsync.2:83
6676 msgid ""
6677 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
6678 "directory containing the file has also reached disk.  For that an explicit "
6679 "B<fsync>()  on a file descriptor for the directory is also needed."
6680 msgstr ""
6681
6682 #. type: Plain text
6683 #: build/C/man2/fsync.2:104
6684 msgid ""
6685 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
6686 "metadata unless that metadata is needed in order to allow a subsequent data "
6687 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
6688 "I<st_mtime> (respectively, time of last access and time of last "
6689 "modification; see B<stat>(2))  do not require flushing because they are not "
6690 "necessary for a subsequent data read to be handled correctly.  On the other "
6691 "hand, a change to the file size (I<st_size>, as made by say "
6692 "B<ftruncate>(2)), would require a metadata flush."
6693 msgstr ""
6694
6695 #. type: Plain text
6696 #: build/C/man2/fsync.2:109
6697 msgid ""
6698 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
6699 "do not require all metadata to be synchronized with the disk."
6700 msgstr ""
6701
6702 #. type: Plain text
6703 #: build/C/man2/fsync.2:114
6704 msgid ""
6705 "On success, these system calls return zero.  On error, -1 is returned, and "
6706 "I<errno> is set appropriately."
6707 msgstr ""
6708
6709 #. type: Plain text
6710 #: build/C/man2/fsync.2:119
6711 msgid "I<fd> is not a valid open file descriptor."
6712 msgstr ""
6713
6714 #. type: Plain text
6715 #: build/C/man2/fsync.2:122
6716 msgid "An error occurred during synchronization."
6717 msgstr ""
6718
6719 #. type: TP
6720 #: build/C/man2/fsync.2:122
6721 #, no-wrap
6722 msgid "B<EROFS>, B<EINVAL>"
6723 msgstr ""
6724
6725 #. type: Plain text
6726 #: build/C/man2/fsync.2:126
6727 msgid "I<fd> is bound to a special file which does not support synchronization."
6728 msgstr ""
6729
6730 #. type: Plain text
6731 #: build/C/man2/fsync.2:128
6732 msgid "4.3BSD, POSIX.1-2001."
6733 msgstr ""
6734
6735 #. type: SH
6736 #: build/C/man2/fsync.2:128
6737 #, no-wrap
6738 msgid "AVAILABILITY"
6739 msgstr ""
6740
6741 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
6742 #.  -1: unavailable, 0: ask using sysconf().
6743 #.  glibc defines them to 1.
6744 #. type: Plain text
6745 #: build/C/man2/fsync.2:141
6746 msgid ""
6747 "On POSIX systems on which B<fdatasync>()  is available, "
6748 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
6749 "greater than 0.  (See also B<sysconf>(3).)"
6750 msgstr ""
6751
6752 #. type: Plain text
6753 #: build/C/man2/fsync.2:147
6754 msgid ""
6755 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
6756 "descriptor."
6757 msgstr ""
6758
6759 #. type: Plain text
6760 #: build/C/man2/fsync.2:153
6761 msgid ""
6762 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
6763 "so has no performance advantage."
6764 msgstr ""
6765
6766 #. type: Plain text
6767 #: build/C/man2/fsync.2:163
6768 msgid ""
6769 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
6770 "does not know how to flush disk caches.  In these cases disk caches need to "
6771 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
6772 "operation."
6773 msgstr ""
6774
6775 #. type: Plain text
6776 #: build/C/man2/fsync.2:171
6777 msgid ""
6778 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
6779 "B<mount>(8), B<sync>(8), B<update>(8)"
6780 msgstr ""
6781
6782 #. type: TH
6783 #: build/C/man2/get_thread_area.2:6
6784 #, no-wrap
6785 msgid "GET_THREAD_AREA"
6786 msgstr ""
6787
6788 #. type: Plain text
6789 #: build/C/man2/get_thread_area.2:9
6790 msgid "get_thread_area - Get a Thread Local Storage (TLS) area"
6791 msgstr ""
6792
6793 #. type: Plain text
6794 #: build/C/man2/get_thread_area.2:13 build/C/man2/set_thread_area.2:14
6795 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
6796 msgstr ""
6797
6798 #. type: Plain text
6799 #: build/C/man2/get_thread_area.2:15
6800 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
6801 msgstr ""
6802
6803 #. type: Plain text
6804 #: build/C/man2/get_thread_area.2:24
6805 msgid ""
6806 "B<get_thread_area>()  returns an entry in the current thread's Thread Local "
6807 "Storage (TLS) array.  The index of the entry corresponds to the value of "
6808 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
6809 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
6810 "area pointed to by I<u_info>."
6811 msgstr ""
6812
6813 #. type: Plain text
6814 #: build/C/man2/get_thread_area.2:30
6815 msgid ""
6816 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
6817 "sets I<errno> appropriately."
6818 msgstr ""
6819
6820 #. type: Plain text
6821 #: build/C/man2/get_thread_area.2:34 build/C/man2/set_thread_area.2:52
6822 msgid "I<u_info> is an invalid pointer."
6823 msgstr ""
6824
6825 #. type: Plain text
6826 #: build/C/man2/get_thread_area.2:37 build/C/man2/set_thread_area.2:49
6827 msgid "I<u_info-E<gt>entry_number> is out of bounds."
6828 msgstr ""
6829
6830 #. type: Plain text
6831 #: build/C/man2/get_thread_area.2:41
6832 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
6833 msgstr ""
6834
6835 #. type: Plain text
6836 #: build/C/man2/get_thread_area.2:45
6837 msgid ""
6838 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
6839 "that are intended to be portable."
6840 msgstr ""
6841
6842 #. type: Plain text
6843 #: build/C/man2/get_thread_area.2:49 build/C/man2/gettid.2:64 build/C/man2/set_thread_area.2:67 build/C/man2/sysctl.2:112
6844 msgid ""
6845 "Glibc does not provide a wrapper for this system call; call it using "
6846 "B<syscall>(2)."
6847 msgstr ""
6848
6849 #. type: Plain text
6850 #: build/C/man2/get_thread_area.2:51
6851 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
6852 msgstr ""
6853
6854 #. type: TH
6855 #: build/C/man3/getcwd.3:30
6856 #, no-wrap
6857 msgid "GETCWD"
6858 msgstr ""
6859
6860 #. type: Plain text
6861 #: build/C/man3/getcwd.3:33
6862 msgid "getcwd, getwd, get_current_dir_name - Get current working directory"
6863 msgstr ""
6864
6865 #. type: Plain text
6866 #: build/C/man3/getcwd.3:38
6867 #, no-wrap
6868 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
6869 msgstr ""
6870
6871 #. type: Plain text
6872 #: build/C/man3/getcwd.3:40
6873 #, no-wrap
6874 msgid "B<char *getwd(char *>I<buf>B<);>\n"
6875 msgstr ""
6876
6877 #. type: Plain text
6878 #: build/C/man3/getcwd.3:42
6879 #, no-wrap
6880 msgid "B<char *get_current_dir_name(void);>\n"
6881 msgstr ""
6882
6883 #. type: Plain text
6884 #: build/C/man3/getcwd.3:50
6885 msgid "B<get_current_dir_name>():"
6886 msgstr ""
6887
6888 #. type: Plain text
6889 #: build/C/man3/getcwd.3:55
6890 msgid "B<getwd>():"
6891 msgstr ""
6892
6893 #. type: Plain text
6894 #: build/C/man3/getcwd.3:65 build/C/man3/ualarm.3:49 build/C/man3/usleep.3:57 build/C/man2/vfork.2:52
6895 #, no-wrap
6896 msgid ""
6897 "_BSD_SOURCE ||\n"
6898 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
6899 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
6900 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
6901 msgstr ""
6902
6903 #. type: Plain text
6904 #: build/C/man3/getcwd.3:70 build/C/man2/getdtablesize.2:54 build/C/man2/getpagesize.2:50 build/C/man3/ualarm.3:54 build/C/man3/usleep.3:62 build/C/man2/vfork.2:57
6905 msgid ""
6906 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
6907 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
6908 msgstr ""
6909
6910 #. type: Plain text
6911 #: build/C/man3/getcwd.3:80
6912 msgid ""
6913 "These functions return a null-terminated string containing an absolute "
6914 "pathname that is the current working directory of the calling process.  The "
6915 "pathname is returned as the function result and via the argument I<buf>, if "
6916 "present."
6917 msgstr ""
6918
6919 #. type: Plain text
6920 #: build/C/man3/getcwd.3:88
6921 msgid ""
6922 "The B<getcwd>()  function copies an absolute pathname of the current working "
6923 "directory to the array pointed to by I<buf>, which is of length I<size>."
6924 msgstr ""
6925
6926 #. type: Plain text
6927 #: build/C/man3/getcwd.3:98
6928 msgid ""
6929 "If the length of the absolute pathname of the current working directory, "
6930 "including the terminating null byte, exceeds I<size> bytes, NULL is "
6931 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
6932 "this error, and allocate a larger buffer if necessary."
6933 msgstr ""
6934
6935 #. type: Plain text
6936 #: build/C/man3/getcwd.3:116
6937 msgid ""
6938 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
6939 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
6940 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
6941 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
6942 "should B<free>(3)  the returned buffer."
6943 msgstr ""
6944
6945 #. type: Plain text
6946 #: build/C/man3/getcwd.3:129
6947 msgid ""
6948 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
6949 "the absolute pathname of the current working directory.  If the environment "
6950 "variable B<PWD> is set, and its value is correct, then that value will be "
6951 "returned.  The caller should B<free>(3)  the returned buffer."
6952 msgstr ""
6953
6954 #. type: Plain text
6955 #: build/C/man3/getcwd.3:154
6956 msgid ""
6957 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
6958 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
6959 "the absolute pathname of the current working directory, including the "
6960 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
6961 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
6962 "may not be a compile-time constant; furthermore, its value may depend on the "
6963 "file system, see B<pathconf>(3).)  For portability and security reasons, use "
6964 "of B<getwd>()  is deprecated."
6965 msgstr ""
6966
6967 #. type: Plain text
6968 #: build/C/man3/getcwd.3:163
6969 msgid ""
6970 "On success, these functions return a pointer to a string containing the "
6971 "pathname of the current working directory.  In the case B<getcwd>()  and "
6972 "B<getwd>()  this is the same value as I<buf>."
6973 msgstr ""
6974
6975 #. type: Plain text
6976 #: build/C/man3/getcwd.3:170
6977 msgid ""
6978 "On failure, these functions return NULL, and I<errno> is set to indicate the "
6979 "error.  The contents of the array pointed to by I<buf> are undefined on "
6980 "error."
6981 msgstr ""
6982
6983 #. type: Plain text
6984 #: build/C/man3/getcwd.3:174
6985 msgid "Permission to read or search a component of the filename was denied."
6986 msgstr ""
6987
6988 #. type: Plain text
6989 #: build/C/man3/getcwd.3:178
6990 msgid "I<buf> points to a bad address."
6991 msgstr ""
6992
6993 #. type: Plain text
6994 #: build/C/man3/getcwd.3:185
6995 msgid "The I<size> argument is zero and I<buf> is not a NULL pointer."
6996 msgstr ""
6997
6998 #. type: TP
6999 #: build/C/man3/getcwd.3:185
7000 #, no-wrap
7001 msgid "EINVAL"
7002 msgstr ""
7003
7004 #. type: Plain text
7005 #: build/C/man3/getcwd.3:190
7006 msgid "B<getwd>(): I<buf> is NULL."
7007 msgstr ""
7008
7009 #. type: TP
7010 #: build/C/man3/getcwd.3:190
7011 #, no-wrap
7012 msgid "ENAMETOOLONG"
7013 msgstr ""
7014
7015 #. type: Plain text
7016 #: build/C/man3/getcwd.3:196
7017 msgid ""
7018 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7019 "B<PATH_MAX> bytes."
7020 msgstr ""
7021
7022 #. type: Plain text
7023 #: build/C/man3/getcwd.3:199
7024 msgid "The current working directory has been unlinked."
7025 msgstr ""
7026
7027 #. type: TP
7028 #: build/C/man3/getcwd.3:199 build/C/man3/getlogin.3:112
7029 #, no-wrap
7030 msgid "B<ERANGE>"
7031 msgstr ""
7032
7033 #. type: Plain text
7034 #: build/C/man3/getcwd.3:206
7035 msgid ""
7036 "The I<size> argument is less than the length of the absolute pathname of the "
7037 "working directory, including the terminating null byte.  You need to "
7038 "allocate a bigger array and try again."
7039 msgstr ""
7040
7041 #. type: Plain text
7042 #: build/C/man3/getcwd.3:214
7043 msgid ""
7044 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7045 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7046 msgstr ""
7047
7048 #. type: Plain text
7049 #: build/C/man3/getcwd.3:225
7050 msgid ""
7051 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7052 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7053 "POSIX.1-2001 does not define any errors for B<getwd>()."
7054 msgstr ""
7055
7056 #. type: Plain text
7057 #: build/C/man3/getcwd.3:228
7058 msgid "B<get_current_dir_name>()  is a GNU extension."
7059 msgstr ""
7060
7061 #. type: Plain text
7062 #: build/C/man3/getcwd.3:239
7063 msgid ""
7064 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7065 "older systems it would query I</proc/self/cwd>.  If both system call and "
7066 "proc file system are missing, a generic implementation is called.  Only in "
7067 "that case can these calls fail under Linux with B<EACCES>."
7068 msgstr ""
7069
7070 #. type: Plain text
7071 #: build/C/man3/getcwd.3:247
7072 msgid ""
7073 "These functions are often used to save the location of the current working "
7074 "directory for the purpose of returning to it later.  Opening the current "
7075 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7076 "and more reliable alternative when sufficiently many file descriptors are "
7077 "available, especially on platforms other than Linux."
7078 msgstr ""
7079
7080 #. type: Plain text
7081 #: build/C/man3/getcwd.3:253
7082 msgid ""
7083 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7084 "B<malloc>(3)"
7085 msgstr ""
7086
7087 #. type: TH
7088 #: build/C/man2/getdomainname.2:29
7089 #, no-wrap
7090 msgid "GETDOMAINNAME"
7091 msgstr ""
7092
7093 #. type: TH
7094 #: build/C/man2/getdomainname.2:29
7095 #, no-wrap
7096 msgid "2009-09-27"
7097 msgstr ""
7098
7099 #. type: Plain text
7100 #: build/C/man2/getdomainname.2:32
7101 msgid "getdomainname, setdomainname - get/set domain name"
7102 msgstr ""
7103
7104 #. type: Plain text
7105 #: build/C/man2/getdomainname.2:36
7106 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7107 msgstr ""
7108
7109 #. type: Plain text
7110 #: build/C/man2/getdomainname.2:38
7111 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7112 msgstr ""
7113
7114 #. type: Plain text
7115 #: build/C/man2/getdomainname.2:47
7116 msgid "B<getdomainname>(), B<setdomainname>():"
7117 msgstr ""
7118
7119 #. type: Plain text
7120 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:53
7121 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7122 msgstr ""
7123
7124 #. type: Plain text
7125 #: build/C/man2/getdomainname.2:54
7126 msgid ""
7127 "These functions are used to access or to change the domain name of the host "
7128 "system."
7129 msgstr ""
7130
7131 #. type: Plain text
7132 #: build/C/man2/getdomainname.2:65
7133 msgid ""
7134 "B<setdomainname>()  sets the domain name to the value given in the character "
7135 "array I<name>.  The I<len> argument specifies the number of bytes in "
7136 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7137 msgstr ""
7138
7139 #. type: Plain text
7140 #: build/C/man2/getdomainname.2:75
7141 msgid ""
7142 "B<getdomainname>()  returns the null-terminated domain name in the character "
7143 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7144 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7145 "first I<len> bytes (glibc) or gives an error (libc)."
7146 msgstr ""
7147
7148 #. type: Plain text
7149 #: build/C/man2/getdomainname.2:83
7150 msgid "B<setdomainname>()  can fail with the following errors:"
7151 msgstr ""
7152
7153 #. type: Plain text
7154 #: build/C/man2/getdomainname.2:87
7155 msgid "I<name> pointed outside of user address space."
7156 msgstr ""
7157
7158 #. type: Plain text
7159 #: build/C/man2/getdomainname.2:91
7160 msgid "I<len> was negative or too large."
7161 msgstr ""
7162
7163 #. type: Plain text
7164 #: build/C/man2/getdomainname.2:96
7165 msgid ""
7166 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7167 "capability)."
7168 msgstr ""
7169
7170 #. type: Plain text
7171 #: build/C/man2/getdomainname.2:99
7172 msgid "B<getdomainname>()  can fail with the following errors:"
7173 msgstr ""
7174
7175 #. type: Plain text
7176 #: build/C/man2/getdomainname.2:110
7177 msgid ""
7178 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7179 "than I<len> bytes."
7180 msgstr ""
7181
7182 #.  But they appear on most systems...
7183 #. type: Plain text
7184 #: build/C/man2/getdomainname.2:113
7185 msgid "POSIX does not specify these calls."
7186 msgstr ""
7187
7188 #. type: Plain text
7189 #: build/C/man2/getdomainname.2:117
7190 msgid ""
7191 "Since Linux 1.0, the limit on the length of a domain name, including the "
7192 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7193 msgstr ""
7194
7195 #. type: Plain text
7196 #: build/C/man2/getdomainname.2:127
7197 msgid ""
7198 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7199 "system call; instead, glibc implements B<getdomainname>()  as a library "
7200 "function that returns a copy of the I<domainname> field returned from a call "
7201 "to B<uname>(2)."
7202 msgstr ""
7203
7204 #. type: Plain text
7205 #: build/C/man2/getdomainname.2:130
7206 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7207 msgstr ""
7208
7209 #. type: TH
7210 #: build/C/man2/getdtablesize.2:27
7211 #, no-wrap
7212 msgid "GETDTABLESIZE"
7213 msgstr ""
7214
7215 #. type: Plain text
7216 #: build/C/man2/getdtablesize.2:30
7217 msgid "getdtablesize - get descriptor table size"
7218 msgstr ""
7219
7220 #. type: Plain text
7221 #: build/C/man2/getdtablesize.2:34
7222 msgid "B<int getdtablesize(void);>"
7223 msgstr ""
7224
7225 #. type: Plain text
7226 #: build/C/man2/getdtablesize.2:41
7227 msgid "B<getdtablesize>():"
7228 msgstr ""
7229
7230 #. type: Plain text
7231 #: build/C/man2/getdtablesize.2:49 build/C/man2/getpagesize.2:45
7232 #, no-wrap
7233 msgid ""
7234 "_BSD_SOURCE ||\n"
7235 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7236 msgstr ""
7237
7238 #. type: Plain text
7239 #: build/C/man2/getdtablesize.2:61
7240 msgid ""
7241 "B<getdtablesize>()  returns the maximum number of files a process can have "
7242 "open, one more than the largest possible value for a file descriptor."
7243 msgstr ""
7244
7245 #. type: Plain text
7246 #: build/C/man2/getdtablesize.2:63
7247 msgid "The current limit on the number of open files per process."
7248 msgstr ""
7249
7250 #. type: Plain text
7251 #: build/C/man2/getdtablesize.2:69
7252 msgid ""
7253 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7254 "B<getrlimit>(2); see NOTES below."
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: build/C/man2/getdtablesize.2:77
7259 msgid ""
7260 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7261 "It is not specified in POSIX.1-2001; portable applications should employ "
7262 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7263 msgstr ""
7264
7265 #. type: Plain text
7266 #: build/C/man2/getdtablesize.2:90
7267 msgid ""
7268 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7269 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7270 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7271 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7272 msgstr ""
7273
7274 #. type: Plain text
7275 #: build/C/man2/getdtablesize.2:94
7276 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7277 msgstr ""
7278
7279 #. type: TH
7280 #: build/C/man3/gethostid.3:29
7281 #, no-wrap
7282 msgid "GETHOSTID"
7283 msgstr ""
7284
7285 #. type: Plain text
7286 #: build/C/man3/gethostid.3:32
7287 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7288 msgstr ""
7289
7290 #. type: Plain text
7291 #: build/C/man3/gethostid.3:36
7292 msgid "B<long gethostid(void);>"
7293 msgstr ""
7294
7295 #. type: Plain text
7296 #: build/C/man3/gethostid.3:38
7297 msgid "B<int sethostid(long >I<hostid>B<);>"
7298 msgstr ""
7299
7300 #. type: Plain text
7301 #: build/C/man3/gethostid.3:47
7302 msgid "B<gethostid>():"
7303 msgstr ""
7304
7305 #. type: Plain text
7306 #: build/C/man3/gethostid.3:52
7307 msgid "B<sethostid>():"
7308 msgstr ""
7309
7310 #. type: Plain text
7311 #: build/C/man3/gethostid.3:67
7312 msgid ""
7313 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
7314 "identifier for the current machine.  The 32-bit identifier is intended to be "
7315 "unique among all UNIX systems in existence.  This normally resembles the "
7316 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
7317 "and thus usually never needs to be set."
7318 msgstr ""
7319
7320 #. type: Plain text
7321 #: build/C/man3/gethostid.3:71
7322 msgid "The B<sethostid>()  call is restricted to the superuser."
7323 msgstr ""
7324
7325 #. type: Plain text
7326 #: build/C/man3/gethostid.3:75
7327 msgid ""
7328 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
7329 "B<sethostid>()."
7330 msgstr ""
7331
7332 #. type: Plain text
7333 #: build/C/man3/gethostid.3:81
7334 msgid ""
7335 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
7336 "I<errno> is set to indicate the error."
7337 msgstr ""
7338
7339 #. type: Plain text
7340 #: build/C/man3/gethostid.3:84
7341 msgid "B<sethostid>()  can fail with the following errors:"
7342 msgstr ""
7343
7344 #. type: Plain text
7345 #: build/C/man3/gethostid.3:88
7346 msgid ""
7347 "The caller did not have permission to write to the file used to store the "
7348 "host ID."
7349 msgstr ""
7350
7351 #. type: Plain text
7352 #: build/C/man3/gethostid.3:92
7353 msgid ""
7354 "The calling process's effective user or group ID is not the same as its "
7355 "corresponding real ID."
7356 msgstr ""
7357
7358 #. type: Plain text
7359 #: build/C/man3/gethostid.3:102
7360 msgid ""
7361 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
7362 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
7363 "B<gethostid>()  but not B<sethostid>()."
7364 msgstr ""
7365
7366 #.  libc5 used /etc/hostid; libc4 didn't have these functions
7367 #. type: Plain text
7368 #: build/C/man3/gethostid.3:111
7369 msgid ""
7370 "In the glibc implementation, the I<hostid> is stored in the file "
7371 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
7372 "was used.)"
7373 msgstr ""
7374
7375 #. type: Plain text
7376 #: build/C/man3/gethostid.3:122
7377 msgid ""
7378 "In the glibc implementation, if B<gethostid>()  cannot open the file "
7379 "containing the host ID, then it obtains the hostname using "
7380 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
7381 "to obtain the host's IPv4 address, and returns a value obtained by "
7382 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
7383 msgstr ""
7384
7385 #. type: Plain text
7386 #: build/C/man3/gethostid.3:124
7387 msgid "It is impossible to ensure that the identifier is globally unique."
7388 msgstr ""
7389
7390 #. type: Plain text
7391 #: build/C/man3/gethostid.3:126
7392 msgid "B<hostid>(1), B<gethostbyname>(3)"
7393 msgstr ""
7394
7395 #. type: TH
7396 #: build/C/man2/gethostname.2:32
7397 #, no-wrap
7398 msgid "GETHOSTNAME"
7399 msgstr ""
7400
7401 #. type: Plain text
7402 #: build/C/man2/gethostname.2:35
7403 msgid "gethostname, sethostname - get/set hostname"
7404 msgstr ""
7405
7406 #. type: Plain text
7407 #: build/C/man2/gethostname.2:39
7408 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7409 msgstr ""
7410
7411 #. type: Plain text
7412 #: build/C/man2/gethostname.2:41
7413 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7414 msgstr ""
7415
7416 #. type: Plain text
7417 #: build/C/man2/gethostname.2:50
7418 msgid "B<gethostname>():"
7419 msgstr ""
7420
7421 #. type: Plain text
7422 #: build/C/man2/gethostname.2:53
7423 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7424 msgstr ""
7425
7426 #. type: Plain text
7427 #: build/C/man2/gethostname.2:55
7428 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7429 msgstr ""
7430
7431 #. type: Plain text
7432 #: build/C/man2/gethostname.2:58
7433 msgid "B<sethostname>():"
7434 msgstr ""
7435
7436 #. type: Plain text
7437 #: build/C/man2/gethostname.2:66
7438 msgid ""
7439 "These system calls are used to access or to change the hostname of the "
7440 "current processor."
7441 msgstr ""
7442
7443 #. type: Plain text
7444 #: build/C/man2/gethostname.2:77
7445 msgid ""
7446 "B<sethostname>()  sets the hostname to the value given in the character "
7447 "array I<name>.  The I<len> argument specifies the number of bytes in "
7448 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7449 msgstr ""
7450
7451 #. type: Plain text
7452 #: build/C/man2/gethostname.2:89
7453 msgid ""
7454 "B<gethostname>()  returns the null-terminated hostname in the character "
7455 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7456 "hostname is too large to fit, then the name is truncated, and no error is "
7457 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
7458 "occurs, then it is unspecified whether the returned buffer includes a "
7459 "terminating null byte."
7460 msgstr ""
7461
7462 #. type: Plain text
7463 #: build/C/man2/gethostname.2:99
7464 msgid "I<name> is an invalid address."
7465 msgstr ""
7466
7467 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
7468 #.  unsigned type; can occur for the underlying system call.
7469 #. type: Plain text
7470 #: build/C/man2/gethostname.2:109
7471 msgid ""
7472 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
7473 "maximum allowed size."
7474 msgstr ""
7475
7476 #. type: Plain text
7477 #: build/C/man2/gethostname.2:117
7478 msgid ""
7479 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
7480 "version 2.1, glibc uses B<EINVAL> for this case.)"
7481 msgstr ""
7482
7483 #. type: Plain text
7484 #: build/C/man2/gethostname.2:124
7485 msgid ""
7486 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
7487 "capability."
7488 msgstr ""
7489
7490 #. type: Plain text
7491 #: build/C/man2/gethostname.2:130
7492 msgid ""
7493 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
7494 "specifies B<gethostname>()  but not B<sethostname>()."
7495 msgstr ""
7496
7497 #. type: Plain text
7498 #: build/C/man2/gethostname.2:140
7499 msgid ""
7500 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
7501 "guarantees that \"Host names (not including the terminating null byte) are "
7502 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
7503 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
7504 "imposed a limit of 8 bytes)."
7505 msgstr ""
7506
7507 #. type: Plain text
7508 #: build/C/man2/gethostname.2:163
7509 msgid ""
7510 "The GNU C library does not employ the B<gethostname>()  system call; "
7511 "instead, it implements B<gethostname>()  as a library function that calls "
7512 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
7513 "field into I<name>.  Having performed the copy, the function then checks if "
7514 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
7515 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
7516 "this case, a terminating null byte is not included in the returned I<name>."
7517 msgstr ""
7518
7519 #.  At least glibc 2.0 and 2.1, older versions not checked
7520 #. type: Plain text
7521 #: build/C/man2/gethostname.2:176
7522 msgid ""
7523 "Versions of glibc before 2.2 handle the case where the length of the "
7524 "I<nodename> was greater than or equal to I<len> differently: nothing is "
7525 "copied into I<name> and the function returns -1 with I<errno> set to "
7526 "B<ENAMETOOLONG>."
7527 msgstr ""
7528
7529 #. type: Plain text
7530 #: build/C/man2/gethostname.2:179
7531 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7532 msgstr ""
7533
7534 #. type: TH
7535 #: build/C/man3/getlogin.3:28
7536 #, no-wrap
7537 msgid "GETLOGIN"
7538 msgstr ""
7539
7540 #. type: TH
7541 #: build/C/man3/getlogin.3:28
7542 #, no-wrap
7543 msgid "2008-06-29"
7544 msgstr ""
7545
7546 #. type: Plain text
7547 #: build/C/man3/getlogin.3:31
7548 msgid "getlogin, getlogin_r, cuserid - get username"
7549 msgstr ""
7550
7551 #. type: Plain text
7552 #: build/C/man3/getlogin.3:35
7553 msgid "B<char *getlogin(void);>"
7554 msgstr ""
7555
7556 #. type: Plain text
7557 #: build/C/man3/getlogin.3:37
7558 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7559 msgstr ""
7560
7561 #. type: Plain text
7562 #: build/C/man3/getlogin.3:39
7563 msgid "B<#include E<lt>stdio.hE<gt>>"
7564 msgstr ""
7565
7566 #. type: Plain text
7567 #: build/C/man3/getlogin.3:41
7568 msgid "B<char *cuserid(char *>I<string>B<);>"
7569 msgstr ""
7570
7571 #. type: Plain text
7572 #: build/C/man3/getlogin.3:49
7573 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7574 msgstr ""
7575
7576 #. type: Plain text
7577 #: build/C/man3/getlogin.3:52
7578 msgid "B<cuserid>(): _XOPEN_SOURCE"
7579 msgstr ""
7580
7581 #. type: Plain text
7582 #: build/C/man3/getlogin.3:61
7583 msgid ""
7584 "B<getlogin>()  returns a pointer to a string containing the name of the user "
7585 "logged in on the controlling terminal of the process, or a NULL pointer if "
7586 "this information cannot be determined.  The string is statically allocated "
7587 "and might be overwritten on subsequent calls to this function or to "
7588 "B<cuserid>()."
7589 msgstr ""
7590
7591 #. type: Plain text
7592 #: build/C/man3/getlogin.3:67
7593 msgid ""
7594 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
7595 "I<bufsize>."
7596 msgstr ""
7597
7598 #. type: Plain text
7599 #: build/C/man3/getlogin.3:79
7600 msgid ""
7601 "B<cuserid>()  returns a pointer to a string containing a username associated "
7602 "with the effective user ID of the process.  If I<string> is not a NULL "
7603 "pointer, it should be an array that can hold at least B<L_cuserid> "
7604 "characters; the string is returned in this array.  Otherwise, a pointer to a "
7605 "string in a static area is returned.  This string is statically allocated "
7606 "and might be overwritten on subsequent calls to this function or to "
7607 "B<getlogin>()."
7608 msgstr ""
7609
7610 #. type: Plain text
7611 #: build/C/man3/getlogin.3:83
7612 msgid ""
7613 "The macro B<L_cuserid> is an integer constant that indicates how long an "
7614 "array you might need to store a username.  B<L_cuserid> is declared in "
7615 "I<E<lt>stdio.hE<gt>>."
7616 msgstr ""
7617
7618 #. type: Plain text
7619 #: build/C/man3/getlogin.3:90
7620 msgid ""
7621 "These functions let your program identify positively the user who is running "
7622 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
7623 "(These can differ when set-user-ID programs are involved.)"
7624 msgstr ""
7625
7626 #. type: Plain text
7627 #: build/C/man3/getlogin.3:95
7628 msgid ""
7629 "For most purposes, it is more useful to use the environment variable "
7630 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
7631 "because the user can set B<LOGNAME> arbitrarily."
7632 msgstr ""
7633
7634 #. type: Plain text
7635 #: build/C/man3/getlogin.3:101
7636 msgid ""
7637 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
7638 "on failure.  B<getlogin_r>()  returns 0 when successful, and nonzero on "
7639 "failure."
7640 msgstr ""
7641
7642 #. type: Plain text
7643 #: build/C/man3/getlogin.3:103
7644 msgid "POSIX specifies"
7645 msgstr ""
7646
7647 #. type: Plain text
7648 #: build/C/man3/getlogin.3:106
7649 msgid "The calling process already has the maximum allowed number of open files."
7650 msgstr ""
7651
7652 #. type: Plain text
7653 #: build/C/man3/getlogin.3:109
7654 msgid "The system already has the maximum allowed number of open files."
7655 msgstr ""
7656
7657 #. type: TP
7658 #: build/C/man3/getlogin.3:109
7659 #, no-wrap
7660 msgid "B<ENXIO>"
7661 msgstr ""
7662
7663 #. type: Plain text
7664 #: build/C/man3/getlogin.3:112
7665 msgid "The calling process has no controlling tty."
7666 msgstr ""
7667
7668 #. type: Plain text
7669 #: build/C/man3/getlogin.3:118
7670 msgid ""
7671 "(getlogin_r)  The length of the username, including the terminating null "
7672 "byte, is larger than I<bufsize>."
7673 msgstr ""
7674
7675 #. type: Plain text
7676 #: build/C/man3/getlogin.3:120
7677 msgid "Linux/glibc also has"
7678 msgstr ""
7679
7680 #. type: Plain text
7681 #: build/C/man3/getlogin.3:123
7682 msgid "There was no corresponding entry in the utmp-file."
7683 msgstr ""
7684
7685 #. type: Plain text
7686 #: build/C/man3/getlogin.3:126
7687 msgid "Insufficient memory to allocate passwd structure."
7688 msgstr ""
7689
7690 #. type: TP
7691 #: build/C/man3/getlogin.3:126 build/C/man2/ioctl.2:105 build/C/man2/ioctl.2:109 build/C/man3/tcgetpgrp.3:90
7692 #, no-wrap
7693 msgid "B<ENOTTY>"
7694 msgstr ""
7695
7696 #. type: Plain text
7697 #: build/C/man3/getlogin.3:130
7698 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
7699 msgstr ""
7700
7701 #. type: TP
7702 #: build/C/man3/getlogin.3:131
7703 #, no-wrap
7704 msgid "I</etc/passwd>"
7705 msgstr ""
7706
7707 #. type: Plain text
7708 #: build/C/man3/getlogin.3:134
7709 msgid "password database file"
7710 msgstr ""
7711
7712 #. type: TP
7713 #: build/C/man3/getlogin.3:134
7714 #, no-wrap
7715 msgid "I</var/run/utmp>"
7716 msgstr ""
7717
7718 #. type: Plain text
7719 #: build/C/man3/getlogin.3:138
7720 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
7721 msgstr ""
7722
7723 #. type: Plain text
7724 #: build/C/man3/getlogin.3:143
7725 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
7726 msgstr ""
7727
7728 #. type: Plain text
7729 #: build/C/man3/getlogin.3:154
7730 msgid ""
7731 "System V has a B<cuserid>()  function which uses the real user ID rather "
7732 "than the effective user ID.  The B<cuserid>()  function was included in the "
7733 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
7734 "SUSv2, but removed in POSIX.1-2001."
7735 msgstr ""
7736
7737 #. type: Plain text
7738 #: build/C/man3/getlogin.3:161
7739 msgid ""
7740 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
7741 "a session, even if it has no controlling tty."
7742 msgstr ""
7743
7744 #. type: Plain text
7745 #: build/C/man3/getlogin.3:173
7746 msgid ""
7747 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
7748 "does not work at all, because some program messed up the utmp file.  Often, "
7749 "it gives only the first 8 characters of the login name.  The user currently "
7750 "logged in on the controlling tty of our program need not be the user who "
7751 "started it.  Avoid B<getlogin>()  for security-related purposes."
7752 msgstr ""
7753
7754 #. type: Plain text
7755 #: build/C/man3/getlogin.3:183
7756 msgid ""
7757 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
7758 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
7759 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
7760 "redirected.)"
7761 msgstr ""
7762
7763 #. type: Plain text
7764 #: build/C/man3/getlogin.3:193
7765 msgid ""
7766 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
7767 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
7768 "that is what you meant.  B<Do not use> B<cuserid>()."
7769 msgstr ""
7770
7771 #. type: Plain text
7772 #: build/C/man3/getlogin.3:196
7773 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
7774 msgstr ""
7775
7776 #. type: TH
7777 #: build/C/man3/getopt.3:39
7778 #, no-wrap
7779 msgid "GETOPT"
7780 msgstr ""
7781
7782 #. type: Plain text
7783 #: build/C/man3/getopt.3:43
7784 msgid ""
7785 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
7786 "Parse command-line options"
7787 msgstr ""
7788
7789 #. type: Plain text
7790 #: build/C/man3/getopt.3:49
7791 #, no-wrap
7792 msgid ""
7793 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7794 "B<           const char *>I<optstring>B<);>\n"
7795 msgstr ""
7796
7797 #. type: Plain text
7798 #: build/C/man3/getopt.3:52
7799 #, no-wrap
7800 msgid ""
7801 "B<extern char *>I<optarg>B<;>\n"
7802 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
7803 msgstr ""
7804
7805 #. type: Plain text
7806 #: build/C/man3/getopt.3:54
7807 #, no-wrap
7808 msgid "B<#include E<lt>getopt.hE<gt>>\n"
7809 msgstr ""
7810
7811 #. type: Plain text
7812 #: build/C/man3/getopt.3:58
7813 #, no-wrap
7814 msgid ""
7815 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7816 "B<           const char *>I<optstring>B<,>\n"
7817 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
7818 msgstr ""
7819
7820 #. type: Plain text
7821 #: build/C/man3/getopt.3:62
7822 #, no-wrap
7823 msgid ""
7824 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7825 "B<           const char *>I<optstring>B<,>\n"
7826 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
7827 msgstr ""
7828
7829 #. type: Plain text
7830 #: build/C/man3/getopt.3:72
7831 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
7832 msgstr ""
7833
7834 #. type: Plain text
7835 #: build/C/man3/getopt.3:76
7836 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
7837 msgstr ""
7838
7839 #. type: Plain text
7840 #: build/C/man3/getopt.3:97
7841 msgid ""
7842 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
7843 "I<argc> and I<argv> are the argument count and array as passed to the "
7844 "I<main>()  function on program invocation.  An element of I<argv> that "
7845 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
7846 "element.  The characters of this element (aside from the initial "
7847 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
7848 "it returns successively each of the option characters from each of the "
7849 "option elements."
7850 msgstr ""
7851
7852 #. type: Plain text
7853 #: build/C/man3/getopt.3:106
7854 msgid ""
7855 "The variable I<optind> is the index of the next element to be processed in "
7856 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
7857 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
7858 "argument vector."
7859 msgstr ""
7860
7861 #. type: Plain text
7862 #: build/C/man3/getopt.3:116
7863 msgid ""
7864 "If B<getopt>()  finds another option character, it returns that character, "
7865 "updating the external variable I<optind> and a static variable I<nextchar> "
7866 "so that the next call to B<getopt>()  can resume the scan with the following "
7867 "option character or I<argv>-element."
7868 msgstr ""
7869
7870 #. type: Plain text
7871 #: build/C/man3/getopt.3:122
7872 msgid ""
7873 "If there are no more option characters, B<getopt>()  returns -1.  Then "
7874 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
7875 "an option."
7876 msgstr ""
7877
7878 #. type: Plain text
7879 #: build/C/man3/getopt.3:149
7880 msgid ""
7881 "I<optstring> is a string containing the legitimate option characters.  If "
7882 "such a character is followed by a colon, the option requires an argument, so "
7883 "B<getopt>()  places a pointer to the following text in the same "
7884 "I<argv>-element, or the text of the following I<argv>-element, in "
7885 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
7886 "text in the current I<argv>-element (i.e., in the same word as the option "
7887 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
7888 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
7889 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
7890 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
7891 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
7892 "not available with libraries before glibc 2."
7893 msgstr ""
7894
7895 #. type: Plain text
7896 #: build/C/man3/getopt.3:167
7897 msgid ""
7898 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
7899 "that eventually all the nonoptions are at the end.  Two other modes are also "
7900 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
7901 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
7902 "as soon as a nonoption argument is encountered.  If the first character of "
7903 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
7904 "as if it were the argument of an option with character code 1.  (This is "
7905 "used by programs that were written to expect options and other "
7906 "I<argv>-elements in any order and that care about the ordering of the two.)  "
7907 "The special argument \"--\" forces an end of option-scanning regardless of "
7908 "the scanning mode."
7909 msgstr ""
7910
7911 #. type: Plain text
7912 #: build/C/man3/getopt.3:175
7913 msgid ""
7914 "If B<getopt>()  does not recognize an option character, it prints an error "
7915 "message to I<stderr>, stores the character in I<optopt>, and returns "
7916 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
7917 "I<opterr> to 0."
7918 msgstr ""
7919
7920 #. type: Plain text
7921 #: build/C/man3/getopt.3:194
7922 msgid ""
7923 "If B<getopt>()  finds an option character in I<argv> that was not included "
7924 "in I<optstring>, or if it detects a missing option argument, it returns "
7925 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
7926 "character.  If the first character (following any optional \\(aq+\\(aq or "
7927 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
7928 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
7929 "missing option argument.  If an error was detected, and the first character "
7930 "of I<optstring> is not a colon, and the external variable I<opterr> is "
7931 "nonzero (which is the default), B<getopt>()  prints an error message."
7932 msgstr ""
7933
7934 #. type: SS
7935 #: build/C/man3/getopt.3:194
7936 #, no-wrap
7937 msgid "getopt_long() and getopt_long_only()"
7938 msgstr ""
7939
7940 #. type: Plain text
7941 #: build/C/man3/getopt.3:210
7942 msgid ""
7943 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
7944 "accepts long options, started with two dashes.  (If the program accepts only "
7945 "long options, then I<optstring> should be specified as an empty string "
7946 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
7947 "is unique or is an exact match for some defined option.  A long option may "
7948 "take a parameter, of the form B<--arg=param> or B<--arg param>."
7949 msgstr ""
7950
7951 #. type: Plain text
7952 #: build/C/man3/getopt.3:217
7953 msgid ""
7954 "I<longopts> is a pointer to the first element of an array of I<struct "
7955 "option> declared in I<E<lt>getopt.hE<gt>> as"
7956 msgstr ""
7957
7958 #. type: Plain text
7959 #: build/C/man3/getopt.3:226
7960 #, no-wrap
7961 msgid ""
7962 "struct option {\n"
7963 "    const char *name;\n"
7964 "    int         has_arg;\n"
7965 "    int        *flag;\n"
7966 "    int         val;\n"
7967 "};\n"
7968 msgstr ""
7969
7970 #. type: Plain text
7971 #: build/C/man3/getopt.3:230
7972 msgid "The meanings of the different fields are:"
7973 msgstr ""
7974
7975 #. type: TP
7976 #: build/C/man3/getopt.3:230
7977 #, no-wrap
7978 msgid "I<name>"
7979 msgstr ""
7980
7981 #. type: Plain text
7982 #: build/C/man3/getopt.3:233
7983 msgid "is the name of the long option."
7984 msgstr ""
7985
7986 #. type: TP
7987 #: build/C/man3/getopt.3:233
7988 #, no-wrap
7989 msgid "I<has_arg>"
7990 msgstr ""
7991
7992 #. type: Plain text
7993 #: build/C/man3/getopt.3:239
7994 msgid ""
7995 "is: B<no_argument> (or 0) if the option does not take an argument; "
7996 "B<required_argument> (or 1) if the option requires an argument; or "
7997 "B<optional_argument> (or 2) if the option takes an optional argument."
7998 msgstr ""
7999
8000 #. type: TP
8001 #: build/C/man3/getopt.3:239
8002 #, no-wrap
8003 msgid "I<flag>"
8004 msgstr ""
8005
8006 #. type: Plain text
8007 #: build/C/man3/getopt.3:253
8008 msgid ""
8009 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8010 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8011 "may set I<val> to the equivalent short option character.)  Otherwise, "
8012 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8013 "to I<val> if the option is found, but left unchanged if the option is not "
8014 "found."
8015 msgstr ""
8016
8017 #. type: TP
8018 #: build/C/man3/getopt.3:253
8019 #, no-wrap
8020 msgid "I<val>"
8021 msgstr ""
8022
8023 #. type: Plain text
8024 #: build/C/man3/getopt.3:257
8025 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8026 msgstr ""
8027
8028 #. type: Plain text
8029 #: build/C/man3/getopt.3:259
8030 msgid "The last element of the array has to be filled with zeros."
8031 msgstr ""
8032
8033 #. type: Plain text
8034 #: build/C/man3/getopt.3:263
8035 msgid ""
8036 "If I<longindex> is not NULL, it points to a variable which is set to the "
8037 "index of the long option relative to I<longopts>."
8038 msgstr ""
8039
8040 #. type: Plain text
8041 #: build/C/man3/getopt.3:272
8042 msgid ""
8043 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8044 "\"--\" can indicate a long option.  If an option that starts with "
8045 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8046 "option, it is parsed as a short option instead."
8047 msgstr ""
8048
8049 #. type: Plain text
8050 #: build/C/man3/getopt.3:290
8051 msgid ""
8052 "If an option was successfully found, then B<getopt>()  returns the option "
8053 "character.  If all command-line options have been parsed, then B<getopt>()  "
8054 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8055 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8056 "option with a missing argument, then the return value depends on the first "
8057 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8058 "returned; otherwise \\(aq?\\(aq is returned."
8059 msgstr ""
8060
8061 #. type: Plain text
8062 #: build/C/man3/getopt.3:302
8063 msgid ""
8064 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8065 "character when a short option is recognized.  For a long option, they return "
8066 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8067 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8068 "extraneous parameter."
8069 msgstr ""
8070
8071 #. type: SH
8072 #: build/C/man3/getopt.3:302
8073 #, no-wrap
8074 msgid "ENVIRONMENT"
8075 msgstr ""
8076
8077 #. type: TP
8078 #: build/C/man3/getopt.3:303
8079 #, no-wrap
8080 msgid "B<POSIXLY_CORRECT>"
8081 msgstr ""
8082
8083 #. type: Plain text
8084 #: build/C/man3/getopt.3:307
8085 msgid ""
8086 "If this is set, then option processing stops as soon as a nonoption argument "
8087 "is encountered."
8088 msgstr ""
8089
8090 #. type: TP
8091 #: build/C/man3/getopt.3:307
8092 #, no-wrap
8093 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8094 msgstr ""
8095
8096 #. type: Plain text
8097 #: build/C/man3/getopt.3:316
8098 msgid ""
8099 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8100 "arguments are the results of wildcard expansion and so should not be "
8101 "considered as options.  This behavior was removed in B<bash>(1)  version "
8102 "2.01, but the support remains in glibc."
8103 msgstr ""
8104
8105 #. type: TP
8106 #: build/C/man3/getopt.3:317
8107 #, no-wrap
8108 msgid "B<getopt>():"
8109 msgstr ""
8110
8111 #. type: Plain text
8112 #: build/C/man3/getopt.3:327
8113 msgid ""
8114 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8115 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8116 "const, because we permute them.  We pretend they're const in the prototype "
8117 "to be compatible with other systems."
8118 msgstr ""
8119
8120 #. type: Plain text
8121 #: build/C/man3/getopt.3:331
8122 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8123 msgstr ""
8124
8125 #. type: Plain text
8126 #: build/C/man3/getopt.3:345
8127 msgid ""
8128 "On some older implementations, B<getopt>()  was declared in "
8129 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8130 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8131 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8132 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8133 msgstr ""
8134
8135 #. type: TP
8136 #: build/C/man3/getopt.3:345
8137 #, no-wrap
8138 msgid "B<getopt_long>() and B<getopt_long_only>():"
8139 msgstr ""
8140
8141 #. type: Plain text
8142 #: build/C/man3/getopt.3:348
8143 msgid "These functions are GNU extensions."
8144 msgstr ""
8145
8146 #. type: Plain text
8147 #: build/C/man3/getopt.3:367
8148 msgid ""
8149 "A program that scans multiple argument vectors, or rescans the same vector "
8150 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8151 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8152 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8153 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8154 "(Resetting to 0 forces the invocation of an internal initialization routine "
8155 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8156 "I<optstring>.)"
8157 msgstr ""
8158
8159 #. type: Plain text
8160 #: build/C/man3/getopt.3:374
8161 msgid ""
8162 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8163 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8164 "implementations) implements the correct behavior rather than that specified."
8165 msgstr ""
8166
8167 #. type: Plain text
8168 #: build/C/man3/getopt.3:382
8169 msgid ""
8170 "The following trivial example program uses B<getopt>()  to handle two "
8171 "program options: I<-n>, with no associated value; and I<-t val>, which "
8172 "expects an associated value."
8173 msgstr ""
8174
8175 #. type: Plain text
8176 #: build/C/man3/getopt.3:387
8177 #, no-wrap
8178 msgid ""
8179 "#include E<lt>unistd.hE<gt>\n"
8180 "#include E<lt>stdlib.hE<gt>\n"
8181 "#include E<lt>stdio.hE<gt>\n"
8182 msgstr ""
8183
8184 #. type: Plain text
8185 #: build/C/man3/getopt.3:393
8186 #, no-wrap
8187 msgid ""
8188 "int\n"
8189 "main(int argc, char *argv[])\n"
8190 "{\n"
8191 "    int flags, opt;\n"
8192 "    int nsecs, tfnd;\n"
8193 msgstr ""
8194
8195 #. type: Plain text
8196 #: build/C/man3/getopt.3:412
8197 #, no-wrap
8198 msgid ""
8199 "    nsecs = 0;\n"
8200 "    tfnd = 0;\n"
8201 "    flags = 0;\n"
8202 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8203 "        switch (opt) {\n"
8204 "        case \\(aqn\\(aq:\n"
8205 "            flags = 1;\n"
8206 "            break;\n"
8207 "        case \\(aqt\\(aq:\n"
8208 "            nsecs = atoi(optarg);\n"
8209 "            tfnd = 1;\n"
8210 "            break;\n"
8211 "        default: /* \\(aq?\\(aq */\n"
8212 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8213 "                    argv[0]);\n"
8214 "            exit(EXIT_FAILURE);\n"
8215 "        }\n"
8216 "    }\n"
8217 msgstr ""
8218
8219 #. type: Plain text
8220 #: build/C/man3/getopt.3:414
8221 #, no-wrap
8222 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8223 msgstr ""
8224
8225 #. type: Plain text
8226 #: build/C/man3/getopt.3:419
8227 #, no-wrap
8228 msgid ""
8229 "    if (optind E<gt>= argc) {\n"
8230 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8231 "        exit(EXIT_FAILURE);\n"
8232 "    }\n"
8233 msgstr ""
8234
8235 #. type: Plain text
8236 #: build/C/man3/getopt.3:421
8237 #, no-wrap
8238 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8239 msgstr ""
8240
8241 #. type: Plain text
8242 #: build/C/man3/getopt.3:423
8243 #, no-wrap
8244 msgid "    /* Other code omitted */\n"
8245 msgstr ""
8246
8247 #. type: Plain text
8248 #: build/C/man3/getopt.3:431
8249 msgid ""
8250 "The following example program illustrates the use of B<getopt_long>()  with "
8251 "most of its features."
8252 msgstr ""
8253
8254 #. type: Plain text
8255 #: build/C/man3/getopt.3:436
8256 #, no-wrap
8257 msgid ""
8258 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8259 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8260 "#include E<lt>getopt.hE<gt>\n"
8261 msgstr ""
8262
8263 #. type: Plain text
8264 #: build/C/man3/getopt.3:442
8265 #, no-wrap
8266 msgid ""
8267 "int\n"
8268 "main(int argc, char **argv)\n"
8269 "{\n"
8270 "    int c;\n"
8271 "    int digit_optind = 0;\n"
8272 msgstr ""
8273
8274 #. type: Plain text
8275 #: build/C/man3/getopt.3:455
8276 #, no-wrap
8277 msgid ""
8278 "    while (1) {\n"
8279 "        int this_option_optind = optind ? optind : 1;\n"
8280 "        int option_index = 0;\n"
8281 "        static struct option long_options[] = {\n"
8282 "            {\"add\",     required_argument, 0,  0 },\n"
8283 "            {\"append\",  no_argument,       0,  0 },\n"
8284 "            {\"delete\",  required_argument, 0,  0 },\n"
8285 "            {\"verbose\", no_argument,       0,  0 },\n"
8286 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8287 "            {\"file\",    required_argument, 0,  0 },\n"
8288 "            {0,         0,                 0,  0 }\n"
8289 "        };\n"
8290 msgstr ""
8291
8292 #. type: Plain text
8293 #: build/C/man3/getopt.3:460
8294 #, no-wrap
8295 msgid ""
8296 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8297 "                 long_options, &option_index);\n"
8298 "        if (c == -1)\n"
8299 "            break;\n"
8300 msgstr ""
8301
8302 #. type: Plain text
8303 #: build/C/man3/getopt.3:468
8304 #, no-wrap
8305 msgid ""
8306 "        switch (c) {\n"
8307 "        case 0:\n"
8308 "            printf(\"option %s\", long_options[option_index].name);\n"
8309 "            if (optarg)\n"
8310 "                printf(\" with arg %s\", optarg);\n"
8311 "            printf(\"\\en\");\n"
8312 "            break;\n"
8313 msgstr ""
8314
8315 #. type: Plain text
8316 #: build/C/man3/getopt.3:477
8317 #, no-wrap
8318 msgid ""
8319 "        case \\(aq0\\(aq:\n"
8320 "        case \\(aq1\\(aq:\n"
8321 "        case \\(aq2\\(aq:\n"
8322 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8323 "              printf(\"digits occur in two different "
8324 "argv-elements.\\en\");\n"
8325 "            digit_optind = this_option_optind;\n"
8326 "            printf(\"option %c\\en\", c);\n"
8327 "            break;\n"
8328 msgstr ""
8329
8330 #. type: Plain text
8331 #: build/C/man3/getopt.3:481
8332 #, no-wrap
8333 msgid ""
8334 "        case \\(aqa\\(aq:\n"
8335 "            printf(\"option a\\en\");\n"
8336 "            break;\n"
8337 msgstr ""
8338
8339 #. type: Plain text
8340 #: build/C/man3/getopt.3:485
8341 #, no-wrap
8342 msgid ""
8343 "        case \\(aqb\\(aq:\n"
8344 "            printf(\"option b\\en\");\n"
8345 "            break;\n"
8346 msgstr ""
8347
8348 #. type: Plain text
8349 #: build/C/man3/getopt.3:489
8350 #, no-wrap
8351 msgid ""
8352 "        case \\(aqc\\(aq:\n"
8353 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8354 "            break;\n"
8355 msgstr ""
8356
8357 #. type: Plain text
8358 #: build/C/man3/getopt.3:493
8359 #, no-wrap
8360 msgid ""
8361 "        case \\(aqd\\(aq:\n"
8362 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8363 "            break;\n"
8364 msgstr ""
8365
8366 #. type: Plain text
8367 #: build/C/man3/getopt.3:496
8368 #, no-wrap
8369 msgid ""
8370 "        case \\(aq?\\(aq:\n"
8371 "            break;\n"
8372 msgstr ""
8373
8374 #. type: Plain text
8375 #: build/C/man3/getopt.3:501
8376 #, no-wrap
8377 msgid ""
8378 "        default:\n"
8379 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8380 "        }\n"
8381 "    }\n"
8382 msgstr ""
8383
8384 #. type: Plain text
8385 #: build/C/man3/getopt.3:508
8386 #, no-wrap
8387 msgid ""
8388 "    if (optind E<lt> argc) {\n"
8389 "        printf(\"non-option ARGV-elements: \");\n"
8390 "        while (optind E<lt> argc)\n"
8391 "            printf(\"%s \", argv[optind++]);\n"
8392 "        printf(\"\\en\");\n"
8393 "    }\n"
8394 msgstr ""
8395
8396 #. type: Plain text
8397 #: build/C/man3/getopt.3:513
8398 msgid "B<getsubopt>(3)"
8399 msgstr ""
8400
8401 #. type: TH
8402 #: build/C/man2/getpagesize.2:23
8403 #, no-wrap
8404 msgid "GETPAGESIZE"
8405 msgstr ""
8406
8407 #. type: TH
8408 #: build/C/man2/getpagesize.2:23
8409 #, no-wrap
8410 msgid "2010-11-16"
8411 msgstr ""
8412
8413 #. type: Plain text
8414 #: build/C/man2/getpagesize.2:26
8415 msgid "getpagesize - get memory page size"
8416 msgstr ""
8417
8418 #. type: Plain text
8419 #: build/C/man2/getpagesize.2:30
8420 msgid "B<int getpagesize(void);>"
8421 msgstr ""
8422
8423 #. type: Plain text
8424 #: build/C/man2/getpagesize.2:37
8425 msgid "B<getpagesize>():"
8426 msgstr ""
8427
8428 #.  .SH HISTORY
8429 #.  This call first appeared in 4.2BSD.
8430 #. type: Plain text
8431 #: build/C/man2/getpagesize.2:62
8432 msgid ""
8433 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
8434 "where \"page\" is a fixed-length block, the unit for memory allocation and "
8435 "file mapping performed by B<mmap>(2)."
8436 msgstr ""
8437
8438 #. type: Plain text
8439 #: build/C/man2/getpagesize.2:69
8440 msgid ""
8441 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
8442 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
8443 msgstr ""
8444
8445 #. type: Plain text
8446 #: build/C/man2/getpagesize.2:74
8447 msgid ""
8448 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
8449 "B<getpagesize>():"
8450 msgstr ""
8451
8452 #. type: Plain text
8453 #: build/C/man2/getpagesize.2:79
8454 #, no-wrap
8455 msgid ""
8456 "#include E<lt>unistd.hE<gt>\n"
8457 "long sz = sysconf(_SC_PAGESIZE);\n"
8458 msgstr ""
8459
8460 #. type: Plain text
8461 #: build/C/man2/getpagesize.2:86
8462 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
8463 msgstr ""
8464
8465 #. type: Plain text
8466 #: build/C/man2/getpagesize.2:106
8467 msgid ""
8468 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
8469 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
8470 "value depends on the architecture and machine model.  Generally, one uses "
8471 "binaries that are dependent on the architecture but not on the machine "
8472 "model, in order to have a single binary distribution per architecture.  This "
8473 "means that a user program should not find B<PAGE_SIZE> at compile time from "
8474 "a header file, but use an actual system call, at least for those "
8475 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
8476 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
8477 "value, and does not use a system call.  Things are OK in glibc 2.1."
8478 msgstr ""
8479
8480 #. type: Plain text
8481 #: build/C/man2/getpagesize.2:108
8482 msgid "B<mmap>(2), B<sysconf>(3)"
8483 msgstr ""
8484
8485 #. type: TH
8486 #: build/C/man2/gettid.2:26
8487 #, no-wrap
8488 msgid "GETTID"
8489 msgstr ""
8490
8491 #. type: TH
8492 #: build/C/man2/gettid.2:26
8493 #, no-wrap
8494 msgid "2008-04-14"
8495 msgstr ""
8496
8497 #. type: Plain text
8498 #: build/C/man2/gettid.2:29
8499 msgid "gettid - get thread identification"
8500 msgstr ""
8501
8502 #. type: Plain text
8503 #: build/C/man2/gettid.2:32
8504 #, no-wrap
8505 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
8506 msgstr ""
8507
8508 #. type: Plain text
8509 #: build/C/man2/gettid.2:34
8510 #, no-wrap
8511 msgid "B<pid_t gettid(void);>\n"
8512 msgstr ""
8513
8514 #. type: Plain text
8515 #: build/C/man2/gettid.2:47
8516 msgid ""
8517 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
8518 "process, the thread ID is equal to the process ID (PID, as returned by "
8519 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
8520 "but each one has a unique TID.  For further details, see the discussion of "
8521 "B<CLONE_THREAD> in B<clone>(2)."
8522 msgstr ""
8523
8524 #. type: Plain text
8525 #: build/C/man2/gettid.2:49
8526 msgid "On success, returns the thread ID of the calling process."
8527 msgstr ""
8528
8529 #. type: Plain text
8530 #: build/C/man2/gettid.2:51
8531 msgid "This call is always successful."
8532 msgstr ""
8533
8534 #. type: Plain text
8535 #: build/C/man2/gettid.2:55
8536 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
8537 msgstr ""
8538
8539 #. type: Plain text
8540 #: build/C/man2/gettid.2:59
8541 msgid ""
8542 "B<gettid>()  is Linux-specific and should not be used in programs that are "
8543 "intended to be portable."
8544 msgstr ""
8545
8546 #. type: Plain text
8547 #: build/C/man2/gettid.2:68
8548 msgid ""
8549 "The thread ID returned by this call is not the same thing as a POSIX thread "
8550 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
8551 msgstr ""
8552
8553 #. type: Plain text
8554 #: build/C/man2/gettid.2:71
8555 msgid "B<clone>(2), B<fork>(2), B<getpid>(2)"
8556 msgstr ""
8557
8558 #. type: TH
8559 #: build/C/man3/getumask.3:26
8560 #, no-wrap
8561 msgid "GETUMASK"
8562 msgstr ""
8563
8564 #. type: TH
8565 #: build/C/man3/getumask.3:26
8566 #, no-wrap
8567 msgid "2010-09-10"
8568 msgstr ""
8569
8570 #. type: Plain text
8571 #: build/C/man3/getumask.3:29
8572 msgid "getumask - get file creation mask"
8573 msgstr ""
8574
8575 #. type: Plain text
8576 #: build/C/man3/getumask.3:33 build/C/man2/truncate.2:48 build/C/man2/umask.2:39 build/C/man2/vfork.2:31
8577 msgid "B<#include E<lt>sys/types.hE<gt>>"
8578 msgstr ""
8579
8580 #. type: Plain text
8581 #: build/C/man3/getumask.3:37
8582 msgid "B<mode_t getumask(void);>"
8583 msgstr ""
8584
8585 #. type: Plain text
8586 #: build/C/man3/getumask.3:40
8587 msgid "This function returns the current file creation mask.  It is equivalent to"
8588 msgstr ""
8589
8590 #. type: Plain text
8591 #: build/C/man3/getumask.3:49
8592 #, no-wrap
8593 msgid ""
8594 "mode_t getumask(void)\n"
8595 "{\n"
8596 "    mode_t mask = umask( 0 );\n"
8597 "    umask(mask);\n"
8598 "    return mask;\n"
8599 "}\n"
8600 msgstr ""
8601
8602 #. type: Plain text
8603 #: build/C/man3/getumask.3:56
8604 msgid ""
8605 "except that it is documented to be thread-safe (that is, shares a lock with "
8606 "the B<umask>(2)  library call)."
8607 msgstr ""
8608
8609 #. type: Plain text
8610 #: build/C/man3/getumask.3:58
8611 msgid "This is a vaporware GNU extension."
8612 msgstr ""
8613
8614 #. type: Plain text
8615 #: build/C/man3/getumask.3:61
8616 msgid ""
8617 "This function is documented but not implemented yet in glibc, as at version "
8618 "2.9."
8619 msgstr ""
8620
8621 #. type: Plain text
8622 #: build/C/man3/getumask.3:62
8623 msgid "B<umask>(2)"
8624 msgstr ""
8625
8626 #. type: TH
8627 #: build/C/man3/getusershell.3:28
8628 #, no-wrap
8629 msgid "GETUSERSHELL"
8630 msgstr ""
8631
8632 #. type: TH
8633 #: build/C/man3/getusershell.3:28 build/C/man2/nice.2:31 build/C/man2/syscall.2:38 build/C/man2/vhangup.2:27
8634 #, no-wrap
8635 msgid "2007-07-26"
8636 msgstr ""
8637
8638 #. type: Plain text
8639 #: build/C/man3/getusershell.3:31
8640 msgid "getusershell, setusershell, endusershell - get permitted user shells"
8641 msgstr ""
8642
8643 #. type: Plain text
8644 #: build/C/man3/getusershell.3:36
8645 #, no-wrap
8646 msgid "B<char *getusershell(void);>\n"
8647 msgstr ""
8648
8649 #. type: Plain text
8650 #: build/C/man3/getusershell.3:38
8651 #, no-wrap
8652 msgid "B<void setusershell(void);>\n"
8653 msgstr ""
8654
8655 #. type: Plain text
8656 #: build/C/man3/getusershell.3:40
8657 #, no-wrap
8658 msgid "B<void endusershell(void);>\n"
8659 msgstr ""
8660
8661 #. type: Plain text
8662 #: build/C/man3/getusershell.3:51
8663 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
8664 msgstr ""
8665
8666 #. type: Plain text
8667 #: build/C/man3/getusershell.3:67
8668 msgid ""
8669 "The B<getusershell>()  function returns the next line from the file "
8670 "I</etc/shells>, opening the file if necessary.  The line should contain the "
8671 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
8672 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
8673 "listed in the file."
8674 msgstr ""
8675
8676 #. type: Plain text
8677 #: build/C/man3/getusershell.3:71
8678 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
8679 msgstr ""
8680
8681 #. type: Plain text
8682 #: build/C/man3/getusershell.3:75
8683 msgid "The B<endusershell>()  function closes I</etc/shells>."
8684 msgstr ""
8685
8686 #. type: Plain text
8687 #: build/C/man3/getusershell.3:79
8688 msgid "The B<getusershell>()  function returns a NULL pointer on end-of-file."
8689 msgstr ""
8690
8691 #. type: Plain text
8692 #: build/C/man3/getusershell.3:82
8693 #, no-wrap
8694 msgid "/etc/shells\n"
8695 msgstr ""
8696
8697 #. type: Plain text
8698 #: build/C/man3/getusershell.3:85
8699 msgid "4.3BSD."
8700 msgstr ""
8701
8702 #. type: Plain text
8703 #: build/C/man3/getusershell.3:86
8704 msgid "B<shells>(5)"
8705 msgstr ""
8706
8707 #. type: TH
8708 #: build/C/man2/idle.2:32
8709 #, no-wrap
8710 msgid "IDLE"
8711 msgstr ""
8712
8713 #. type: TH
8714 #: build/C/man2/idle.2:32
8715 #, no-wrap
8716 msgid "1994-08-21"
8717 msgstr ""
8718
8719 #. type: Plain text
8720 #: build/C/man2/idle.2:35
8721 msgid "idle - make process 0 idle"
8722 msgstr ""
8723
8724 #. type: Plain text
8725 #: build/C/man2/idle.2:39
8726 msgid "B<int idle(void);>"
8727 msgstr ""
8728
8729 #. type: Plain text
8730 #: build/C/man2/idle.2:46
8731 msgid ""
8732 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
8733 "process's pages as swappable, lowers its priority, and enters the main "
8734 "scheduling loop.  B<idle>()  never returns."
8735 msgstr ""
8736
8737 #. type: Plain text
8738 #: build/C/man2/idle.2:52
8739 msgid ""
8740 "Only process 0 may call B<idle>().  Any user process, even a process with "
8741 "superuser permission, will receive B<EPERM>."
8742 msgstr ""
8743
8744 #. type: Plain text
8745 #: build/C/man2/idle.2:55
8746 msgid ""
8747 "B<idle>()  never returns for process 0, and always returns -1 for a user "
8748 "process."
8749 msgstr ""
8750
8751 #. type: Plain text
8752 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
8753 msgid "Always, for a user process."
8754 msgstr ""
8755
8756 #. type: Plain text
8757 #: build/C/man2/idle.2:61
8758 msgid "Since 2.3.13 this system call does not exist anymore."
8759 msgstr ""
8760
8761 #. type: Plain text
8762 #: build/C/man2/idle.2:63 build/C/man2/sysinfo.2:86
8763 msgid ""
8764 "This function is Linux-specific, and should not be used in programs intended "
8765 "to be portable."
8766 msgstr ""
8767
8768 #. type: TH
8769 #: build/C/man2/ioctl.2:39
8770 #, no-wrap
8771 msgid "IOCTL"
8772 msgstr ""
8773
8774 #. type: TH
8775 #: build/C/man2/ioctl.2:39
8776 #, no-wrap
8777 msgid "2000-09-21"
8778 msgstr ""
8779
8780 #. type: Plain text
8781 #: build/C/man2/ioctl.2:42
8782 msgid "ioctl - control device"
8783 msgstr ""
8784
8785 #. type: Plain text
8786 #: build/C/man2/ioctl.2:44
8787 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
8788 msgstr ""
8789
8790 #. type: Plain text
8791 #: build/C/man2/ioctl.2:46
8792 msgid "B<int ioctl(int >I<d>B<, int >I<request>B<, ...);>"
8793 msgstr ""
8794
8795 #. type: Plain text
8796 #: build/C/man2/ioctl.2:57
8797 msgid ""
8798 "The B<ioctl>()  function manipulates the underlying device parameters of "
8799 "special files.  In particular, many operating characteristics of character "
8800 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
8801 "requests.  The argument I<d> must be an open file descriptor."
8802 msgstr ""
8803
8804 #. type: Plain text
8805 #: build/C/man2/ioctl.2:65
8806 msgid ""
8807 "The second argument is a device-dependent request code.  The third argument "
8808 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
8809 "the days before B<void *> was valid C), and will be so named for this "
8810 "discussion."
8811 msgstr ""
8812
8813 #. type: Plain text
8814 #: build/C/man2/ioctl.2:81
8815 msgid ""
8816 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
8817 "parameter or I<out> parameter, and the size of the argument I<argp> in "
8818 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
8819 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
8820 msgstr ""
8821
8822 #. type: Plain text
8823 #: build/C/man2/ioctl.2:90
8824 msgid ""
8825 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
8826 "return value as an output parameter and return a nonnegative value on "
8827 "success.  On error, -1 is returned, and I<errno> is set appropriately."
8828 msgstr ""
8829
8830 #. type: Plain text
8831 #: build/C/man2/ioctl.2:95
8832 msgid "I<d> is not a valid descriptor."
8833 msgstr ""
8834
8835 #. type: Plain text
8836 #: build/C/man2/ioctl.2:99
8837 msgid "I<argp> references an inaccessible memory area."
8838 msgstr ""
8839
8840 #. type: Plain text
8841 #: build/C/man2/ioctl.2:105
8842 msgid "I<Request> or I<argp> is not valid."
8843 msgstr ""
8844
8845 #. type: Plain text
8846 #: build/C/man2/ioctl.2:109
8847 msgid "I<d> is not associated with a character special device."
8848 msgstr ""
8849
8850 #. type: Plain text
8851 #: build/C/man2/ioctl.2:115
8852 msgid ""
8853 "The specified request does not apply to the kind of object that the "
8854 "descriptor I<d> references."
8855 msgstr ""
8856
8857 #. type: Plain text
8858 #: build/C/man2/ioctl.2:130
8859 msgid ""
8860 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
8861 "according to the device driver in question (the call is used as a catch-all "
8862 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
8863 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
8864 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
8865 msgstr ""
8866
8867 #. type: Plain text
8868 #: build/C/man2/ioctl.2:138
8869 msgid ""
8870 "In order to use this call, one needs an open file descriptor.  Often the "
8871 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
8872 "by giving it the B<O_NONBLOCK> flag."
8873 msgstr ""
8874
8875 #.  .BR mt (4),
8876 #. type: Plain text
8877 #: build/C/man2/ioctl.2:145
8878 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
8879 msgstr ""
8880
8881 #. type: TH
8882 #: build/C/man2/ioctl_list.2:27
8883 #, no-wrap
8884 msgid "IOCTL_LIST"
8885 msgstr ""
8886
8887 #. type: TH
8888 #: build/C/man2/ioctl_list.2:27
8889 #, no-wrap
8890 msgid "2007-12-29"
8891 msgstr ""
8892
8893 #. type: Plain text
8894 #: build/C/man2/ioctl_list.2:30
8895 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
8896 msgstr ""
8897
8898 #. type: Plain text
8899 #: build/C/man2/ioctl_list.2:37
8900 msgid ""
8901 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
8902 "1.3.27.  It contains 421 ioctls from "
8903 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
8904 "value, its name, and its argument type are given."
8905 msgstr ""
8906
8907 #. type: Plain text
8908 #: build/C/man2/ioctl_list.2:45
8909 msgid ""
8910 "An argument type of I<const struct foo *> means the argument is input to the "
8911 "kernel.  I<struct foo *> means the kernel outputs the argument.  If the "
8912 "kernel uses the argument for both input and output, this is marked with "
8913 "I<//\\ I-O>."
8914 msgstr ""
8915
8916 #. type: Plain text
8917 #: build/C/man2/ioctl_list.2:50
8918 msgid ""
8919 "Some ioctls take more arguments or return more values than a single "
8920 "structure.  These are marked I<//\\ MORE> and documented further in a "
8921 "separate section."
8922 msgstr ""
8923
8924 #. type: Plain text
8925 #: build/C/man2/ioctl_list.2:52
8926 msgid "This list is very incomplete."
8927 msgstr ""
8928
8929 #. type: SS
8930 #: build/C/man2/ioctl_list.2:52
8931 #, no-wrap
8932 msgid "ioctl structure"
8933 msgstr ""
8934
8935 #.  added two sections - aeb
8936 #. type: Plain text
8937 #: build/C/man2/ioctl_list.2:57
8938 msgid ""
8939 "Ioctl command values are 32-bit constants.  In principle these constants are "
8940 "completely arbitrary, but people have tried to build some structure into "
8941 "them."
8942 msgstr ""
8943
8944 #. type: Plain text
8945 #: build/C/man2/ioctl_list.2:76
8946 msgid ""
8947 "The old Linux situation was that of mostly 16-bit constants, where the last "
8948 "byte is a serial number, and the preceding byte(s) give a type indicating "
8949 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
8950 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
8951 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
8952 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
8953 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
8954 "driver."
8955 msgstr ""
8956
8957 #. type: Plain text
8958 #: build/C/man2/ioctl_list.2:84
8959 msgid ""
8960 "Later (0.98p5) some more information was built into the number.  One has 2 "
8961 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
8962 "14 size bits (giving the size of the argument), followed by an 8-bit type "
8963 "(collecting the ioctls in groups for a common purpose or a common driver), "
8964 "and an 8-bit serial number."
8965 msgstr ""
8966
8967 #. type: Plain text
8968 #: build/C/man2/ioctl_list.2:94
8969 msgid ""
8970 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
8971 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
8972 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
8973 "data type."
8974 msgstr ""
8975
8976 #. type: Plain text
8977 #: build/C/man2/ioctl_list.2:99
8978 msgid ""
8979 "Note that the size bits are very unreliable: in lots of cases they are "
8980 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
8981 "because of legacy values."
8982 msgstr ""
8983
8984 #. type: Plain text
8985 #: build/C/man2/ioctl_list.2:103
8986 msgid ""
8987 "Thus, it seems that the new structure only gave disadvantages: it does not "
8988 "help in checking, but it causes varying values for the various "
8989 "architectures."
8990 msgstr ""
8991
8992 #. type: Plain text
8993 #: build/C/man2/ioctl_list.2:109
8994 msgid ""
8995 "Decent ioctls return 0 on success and -1 on error, while any output value is "
8996 "stored via the argument.  However, quite a few ioctls in fact return an "
8997 "output value.  This is not yet indicated below."
8998 msgstr ""
8999
9000 #. type: Plain text
9001 #: build/C/man2/ioctl_list.2:111
9002 msgid "// Main table."
9003 msgstr ""
9004
9005 #. type: Plain text
9006 #: build/C/man2/ioctl_list.2:113
9007 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9008 msgstr ""
9009
9010 #. type: tbl table
9011 #: build/C/man2/ioctl_list.2:115
9012 #, no-wrap
9013 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9014 msgstr ""
9015
9016 #. type: tbl table
9017 #: build/C/man2/ioctl_list.2:116
9018 #, no-wrap
9019 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9020 msgstr ""
9021
9022 #. type: tbl table
9023 #: build/C/man2/ioctl_list.2:117
9024 #, no-wrap
9025 msgid "0x00008903\tFIOGETOWN\tint *\n"
9026 msgstr ""
9027
9028 #. type: tbl table
9029 #: build/C/man2/ioctl_list.2:118
9030 #, no-wrap
9031 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9032 msgstr ""
9033
9034 #. type: tbl table
9035 #: build/C/man2/ioctl_list.2:119
9036 #, no-wrap
9037 msgid "0x00008905\tSIOCATMAR\tint *\n"
9038 msgstr ""
9039
9040 #. type: tbl table
9041 #: build/C/man2/ioctl_list.2:120
9042 #, no-wrap
9043 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9044 msgstr ""
9045
9046 #. type: Plain text
9047 #: build/C/man2/ioctl_list.2:124
9048 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9049 msgstr ""
9050
9051 #. type: tbl table
9052 #: build/C/man2/ioctl_list.2:126
9053 #, no-wrap
9054 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9055 msgstr ""
9056
9057 #. type: tbl table
9058 #: build/C/man2/ioctl_list.2:127
9059 #, no-wrap
9060 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9061 msgstr ""
9062
9063 #. type: tbl table
9064 #: build/C/man2/ioctl_list.2:128
9065 #, no-wrap
9066 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9067 msgstr ""
9068
9069 #. type: tbl table
9070 #: build/C/man2/ioctl_list.2:129
9071 #, no-wrap
9072 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9073 msgstr ""
9074
9075 #. type: tbl table
9076 #: build/C/man2/ioctl_list.2:130
9077 #, no-wrap
9078 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9079 msgstr ""
9080
9081 #. type: tbl table
9082 #: build/C/man2/ioctl_list.2:131
9083 #, no-wrap
9084 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9085 msgstr ""
9086
9087 #. type: tbl table
9088 #: build/C/man2/ioctl_list.2:132
9089 #, no-wrap
9090 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9091 msgstr ""
9092
9093 #. type: tbl table
9094 #: build/C/man2/ioctl_list.2:133
9095 #, no-wrap
9096 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9097 msgstr ""
9098
9099 #. type: tbl table
9100 #: build/C/man2/ioctl_list.2:134
9101 #, no-wrap
9102 msgid "0x00005409\tTCSBRK\tint\n"
9103 msgstr ""
9104
9105 #. type: tbl table
9106 #: build/C/man2/ioctl_list.2:135
9107 #, no-wrap
9108 msgid "0x0000540A\tTCXONC\tint\n"
9109 msgstr ""
9110
9111 #. type: tbl table
9112 #: build/C/man2/ioctl_list.2:136
9113 #, no-wrap
9114 msgid "0x0000540B\tTCFLSH\tint\n"
9115 msgstr ""
9116
9117 #. type: tbl table
9118 #: build/C/man2/ioctl_list.2:137
9119 #, no-wrap
9120 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9121 msgstr ""
9122
9123 #. type: tbl table
9124 #: build/C/man2/ioctl_list.2:138
9125 #, no-wrap
9126 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9127 msgstr ""
9128
9129 #. type: tbl table
9130 #: build/C/man2/ioctl_list.2:139
9131 #, no-wrap
9132 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9133 msgstr ""
9134
9135 #. type: tbl table
9136 #: build/C/man2/ioctl_list.2:140
9137 #, no-wrap
9138 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9139 msgstr ""
9140
9141 #. type: tbl table
9142 #: build/C/man2/ioctl_list.2:141
9143 #, no-wrap
9144 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9145 msgstr ""
9146
9147 #. type: tbl table
9148 #: build/C/man2/ioctl_list.2:142
9149 #, no-wrap
9150 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9151 msgstr ""
9152
9153 #. type: tbl table
9154 #: build/C/man2/ioctl_list.2:143
9155 #, no-wrap
9156 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9157 msgstr ""
9158
9159 #. type: tbl table
9160 #: build/C/man2/ioctl_list.2:144
9161 #, no-wrap
9162 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9163 msgstr ""
9164
9165 #. type: tbl table
9166 #: build/C/man2/ioctl_list.2:145
9167 #, no-wrap
9168 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9169 msgstr ""
9170
9171 #. type: tbl table
9172 #: build/C/man2/ioctl_list.2:146
9173 #, no-wrap
9174 msgid "0x00005415\tTIOCMGET\tint *\n"
9175 msgstr ""
9176
9177 #. type: tbl table
9178 #: build/C/man2/ioctl_list.2:147
9179 #, no-wrap
9180 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9181 msgstr ""
9182
9183 #. type: tbl table
9184 #: build/C/man2/ioctl_list.2:148
9185 #, no-wrap
9186 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9187 msgstr ""
9188
9189 #. type: tbl table
9190 #: build/C/man2/ioctl_list.2:149
9191 #, no-wrap
9192 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9193 msgstr ""
9194
9195 #. type: tbl table
9196 #: build/C/man2/ioctl_list.2:150
9197 #, no-wrap
9198 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9199 msgstr ""
9200
9201 #. type: tbl table
9202 #: build/C/man2/ioctl_list.2:151
9203 #, no-wrap
9204 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9205 msgstr ""
9206
9207 #. type: tbl table
9208 #: build/C/man2/ioctl_list.2:152
9209 #, no-wrap
9210 msgid "0x0000541B\tFIONREAD\tint *\n"
9211 msgstr ""
9212
9213 #. type: tbl table
9214 #: build/C/man2/ioctl_list.2:153
9215 #, no-wrap
9216 msgid "0x0000541B\tTIOCINQ\tint *\n"
9217 msgstr ""
9218
9219 #. type: tbl table
9220 #: build/C/man2/ioctl_list.2:154
9221 #, no-wrap
9222 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9223 msgstr ""
9224
9225 #. type: tbl table
9226 #: build/C/man2/ioctl_list.2:155
9227 #, no-wrap
9228 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9229 msgstr ""
9230
9231 #. type: tbl table
9232 #: build/C/man2/ioctl_list.2:156
9233 #, no-wrap
9234 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9235 msgstr ""
9236
9237 #. type: tbl table
9238 #: build/C/man2/ioctl_list.2:157
9239 #, no-wrap
9240 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9241 msgstr ""
9242
9243 #. type: tbl table
9244 #: build/C/man2/ioctl_list.2:158
9245 #, no-wrap
9246 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9247 msgstr ""
9248
9249 #. type: tbl table
9250 #: build/C/man2/ioctl_list.2:159
9251 #, no-wrap
9252 msgid "0x00005421\tFIONBIO\tconst int *\n"
9253 msgstr ""
9254
9255 #. type: tbl table
9256 #: build/C/man2/ioctl_list.2:160
9257 #, no-wrap
9258 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
9259 msgstr ""
9260
9261 #. type: tbl table
9262 #: build/C/man2/ioctl_list.2:161
9263 #, no-wrap
9264 msgid "0x00005423\tTIOCSETD\tconst int *\n"
9265 msgstr ""
9266
9267 #. type: tbl table
9268 #: build/C/man2/ioctl_list.2:162
9269 #, no-wrap
9270 msgid "0x00005424\tTIOCGETD\tint *\n"
9271 msgstr ""
9272
9273 #. type: tbl table
9274 #: build/C/man2/ioctl_list.2:163
9275 #, no-wrap
9276 msgid "0x00005425\tTCSBRKP\tint\n"
9277 msgstr ""
9278
9279 #. type: tbl table
9280 #: build/C/man2/ioctl_list.2:164
9281 #, no-wrap
9282 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9283 msgstr ""
9284
9285 #. type: tbl table
9286 #: build/C/man2/ioctl_list.2:165
9287 #, no-wrap
9288 msgid "0x00005450\tFIONCLEX\tvoid\n"
9289 msgstr ""
9290
9291 #. type: tbl table
9292 #: build/C/man2/ioctl_list.2:166
9293 #, no-wrap
9294 msgid "0x00005451\tFIOCLEX\tvoid\n"
9295 msgstr ""
9296
9297 #. type: tbl table
9298 #: build/C/man2/ioctl_list.2:167
9299 #, no-wrap
9300 msgid "0x00005452\tFIOASYNC\tconst int *\n"
9301 msgstr ""
9302
9303 #. type: tbl table
9304 #: build/C/man2/ioctl_list.2:168
9305 #, no-wrap
9306 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
9307 msgstr ""
9308
9309 #. type: tbl table
9310 #: build/C/man2/ioctl_list.2:169
9311 #, no-wrap
9312 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
9313 msgstr ""
9314
9315 #. type: tbl table
9316 #: build/C/man2/ioctl_list.2:170
9317 #, no-wrap
9318 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
9319 msgstr ""
9320
9321 #. type: tbl table
9322 #: build/C/man2/ioctl_list.2:171
9323 #, no-wrap
9324 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9325 msgstr ""
9326
9327 #. type: tbl table
9328 #: build/C/man2/ioctl_list.2:172
9329 #, no-wrap
9330 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9331 msgstr ""
9332
9333 #. type: tbl table
9334 #: build/C/man2/ioctl_list.2:173
9335 #, no-wrap
9336 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9337 msgstr ""
9338
9339 #. type: tbl table
9340 #: build/C/man2/ioctl_list.2:174
9341 #, no-wrap
9342 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
9343 msgstr ""
9344
9345 #. type: tbl table
9346 #: build/C/man2/ioctl_list.2:175
9347 #, no-wrap
9348 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9349 msgstr ""
9350
9351 #. type: tbl table
9352 #: build/C/man2/ioctl_list.2:176
9353 #, no-wrap
9354 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9355 msgstr ""
9356
9357 #. type: Plain text
9358 #: build/C/man2/ioctl_list.2:180
9359 msgid "// E<lt>include/linux/ax25.hE<gt>"
9360 msgstr ""
9361
9362 #. type: tbl table
9363 #: build/C/man2/ioctl_list.2:182
9364 #, no-wrap
9365 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9366 msgstr ""
9367
9368 #. type: tbl table
9369 #: build/C/man2/ioctl_list.2:183
9370 #, no-wrap
9371 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9372 msgstr ""
9373
9374 #. type: tbl table
9375 #: build/C/man2/ioctl_list.2:184
9376 #, no-wrap
9377 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9378 msgstr ""
9379
9380 #. type: tbl table
9381 #: build/C/man2/ioctl_list.2:185
9382 #, no-wrap
9383 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9384 msgstr ""
9385
9386 #. type: tbl table
9387 #: build/C/man2/ioctl_list.2:186
9388 #, no-wrap
9389 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9390 msgstr ""
9391
9392 #. type: tbl table
9393 #: build/C/man2/ioctl_list.2:187
9394 #, no-wrap
9395 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9396 msgstr ""
9397
9398 #. type: tbl table
9399 #: build/C/man2/ioctl_list.2:188
9400 #, no-wrap
9401 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9402 msgstr ""
9403
9404 #. type: Plain text
9405 #: build/C/man2/ioctl_list.2:192
9406 msgid "// E<lt>include/linux/cdk.hE<gt>"
9407 msgstr ""
9408
9409 #. type: tbl table
9410 #: build/C/man2/ioctl_list.2:194
9411 #, no-wrap
9412 msgid "0x00007314\tSTL_BINTR\tvoid\n"
9413 msgstr ""
9414
9415 #. type: tbl table
9416 #: build/C/man2/ioctl_list.2:195
9417 #, no-wrap
9418 msgid "0x00007315\tSTL_BSTART\tvoid\n"
9419 msgstr ""
9420
9421 #. type: tbl table
9422 #: build/C/man2/ioctl_list.2:196
9423 #, no-wrap
9424 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
9425 msgstr ""
9426
9427 #. type: tbl table
9428 #: build/C/man2/ioctl_list.2:197
9429 #, no-wrap
9430 msgid "0x00007317\tSTL_BRESET\tvoid\n"
9431 msgstr ""
9432
9433 #. type: Plain text
9434 #: build/C/man2/ioctl_list.2:201
9435 msgid "// E<lt>include/linux/cdrom.hE<gt>"
9436 msgstr ""
9437
9438 #. type: tbl table
9439 #: build/C/man2/ioctl_list.2:203
9440 #, no-wrap
9441 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
9442 msgstr ""
9443
9444 #. type: tbl table
9445 #: build/C/man2/ioctl_list.2:204
9446 #, no-wrap
9447 msgid "0x00005302\tCDROMRESUME\tvoid\n"
9448 msgstr ""
9449
9450 #. type: tbl table
9451 #: build/C/man2/ioctl_list.2:205
9452 #, no-wrap
9453 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9454 msgstr ""
9455
9456 #. type: tbl table
9457 #: build/C/man2/ioctl_list.2:206
9458 #, no-wrap
9459 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9460 msgstr ""
9461
9462 #. type: tbl table
9463 #: build/C/man2/ioctl_list.2:207
9464 #, no-wrap
9465 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9466 msgstr ""
9467
9468 #. type: tbl table
9469 #: build/C/man2/ioctl_list.2:208
9470 #, no-wrap
9471 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9472 msgstr ""
9473
9474 #. type: tbl table
9475 #: build/C/man2/ioctl_list.2:209
9476 #, no-wrap
9477 msgid "0x00005307\tCDROMSTOP\tvoid\n"
9478 msgstr ""
9479
9480 #. type: tbl table
9481 #: build/C/man2/ioctl_list.2:210
9482 #, no-wrap
9483 msgid "0x00005308\tCDROMSTART\tvoid\n"
9484 msgstr ""
9485
9486 #. type: tbl table
9487 #: build/C/man2/ioctl_list.2:211
9488 #, no-wrap
9489 msgid "0x00005309\tCDROMEJECT\tvoid\n"
9490 msgstr ""
9491
9492 #. type: tbl table
9493 #: build/C/man2/ioctl_list.2:212
9494 #, no-wrap
9495 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9496 msgstr ""
9497
9498 #. type: tbl table
9499 #: build/C/man2/ioctl_list.2:213
9500 #, no-wrap
9501 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9502 msgstr ""
9503
9504 #. type: tbl table
9505 #: build/C/man2/ioctl_list.2:214
9506 #, no-wrap
9507 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9508 msgstr ""
9509
9510 #. type: tbl table
9511 #: build/C/man2/ioctl_list.2:215
9512 #, no-wrap
9513 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9514 msgstr ""
9515
9516 #. type: tbl table
9517 #: build/C/man2/ioctl_list.2:216
9518 #, no-wrap
9519 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9520 msgstr ""
9521
9522 #. type: tbl table
9523 #: build/C/man2/ioctl_list.2:217
9524 #, no-wrap
9525 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
9526 msgstr ""
9527
9528 #. type: tbl table
9529 #: build/C/man2/ioctl_list.2:218
9530 #, no-wrap
9531 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9532 msgstr ""
9533
9534 #. type: tbl table
9535 #: build/C/man2/ioctl_list.2:219
9536 #, no-wrap
9537 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9538 msgstr ""
9539
9540 #. type: tbl table
9541 #: build/C/man2/ioctl_list.2:220
9542 #, no-wrap
9543 msgid "0x00005312\tCDROMRESET\tvoid\n"
9544 msgstr ""
9545
9546 #. type: tbl table
9547 #: build/C/man2/ioctl_list.2:221
9548 #, no-wrap
9549 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9550 msgstr ""
9551
9552 #. type: tbl table
9553 #: build/C/man2/ioctl_list.2:222
9554 #, no-wrap
9555 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9556 msgstr ""
9557
9558 #. type: tbl table
9559 #: build/C/man2/ioctl_list.2:223
9560 #, no-wrap
9561 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9562 msgstr ""
9563
9564 #. type: tbl table
9565 #: build/C/man2/ioctl_list.2:224
9566 #, no-wrap
9567 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9568 msgstr ""
9569
9570 #. type: Plain text
9571 #: build/C/man2/ioctl_list.2:228
9572 msgid "// E<lt>include/linux/cm206.hE<gt>"
9573 msgstr ""
9574
9575 #. type: tbl table
9576 #: build/C/man2/ioctl_list.2:230
9577 #, no-wrap
9578 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
9579 msgstr ""
9580
9581 #. type: tbl table
9582 #: build/C/man2/ioctl_list.2:231
9583 #, no-wrap
9584 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9585 msgstr ""
9586
9587 #. type: Plain text
9588 #: build/C/man2/ioctl_list.2:235
9589 msgid "// E<lt>include/linux/cyclades.hE<gt>"
9590 msgstr ""
9591
9592 #. type: tbl table
9593 #: build/C/man2/ioctl_list.2:237
9594 #, no-wrap
9595 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9596 msgstr ""
9597
9598 #. type: tbl table
9599 #: build/C/man2/ioctl_list.2:238
9600 #, no-wrap
9601 msgid "0x00435902\tCYGETTHRESH\tint *\n"
9602 msgstr ""
9603
9604 #. type: tbl table
9605 #: build/C/man2/ioctl_list.2:239
9606 #, no-wrap
9607 msgid "0x00435903\tCYSETTHRESH\tint\n"
9608 msgstr ""
9609
9610 #. type: tbl table
9611 #: build/C/man2/ioctl_list.2:240
9612 #, no-wrap
9613 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
9614 msgstr ""
9615
9616 #. type: tbl table
9617 #: build/C/man2/ioctl_list.2:241
9618 #, no-wrap
9619 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
9620 msgstr ""
9621
9622 #. type: tbl table
9623 #: build/C/man2/ioctl_list.2:242
9624 #, no-wrap
9625 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
9626 msgstr ""
9627
9628 #. type: tbl table
9629 #: build/C/man2/ioctl_list.2:243
9630 #, no-wrap
9631 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
9632 msgstr ""
9633
9634 #. type: tbl table
9635 #: build/C/man2/ioctl_list.2:244
9636 #, no-wrap
9637 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9638 msgstr ""
9639
9640 #. type: tbl table
9641 #: build/C/man2/ioctl_list.2:245
9642 #, no-wrap
9643 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9644 msgstr ""
9645
9646 #. type: Plain text
9647 #: build/C/man2/ioctl_list.2:249
9648 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
9649 msgstr ""
9650
9651 #. type: tbl table
9652 #: build/C/man2/ioctl_list.2:251
9653 #, no-wrap
9654 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9655 msgstr ""
9656
9657 #. type: tbl table
9658 #: build/C/man2/ioctl_list.2:252
9659 #, no-wrap
9660 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9661 msgstr ""
9662
9663 #. type: tbl table
9664 #: build/C/man2/ioctl_list.2:253
9665 #, no-wrap
9666 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9667 msgstr ""
9668
9669 #. type: tbl table
9670 #: build/C/man2/ioctl_list.2:254
9671 #, no-wrap
9672 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9673 msgstr ""
9674
9675 #. type: Plain text
9676 #: build/C/man2/ioctl_list.2:258
9677 msgid "// E<lt>include/linux/fd.hE<gt>"
9678 msgstr ""
9679
9680 #. type: tbl table
9681 #: build/C/man2/ioctl_list.2:260
9682 #, no-wrap
9683 msgid "0x00000000\tFDCLRPRM\tvoid\n"
9684 msgstr ""
9685
9686 #. type: tbl table
9687 #: build/C/man2/ioctl_list.2:261
9688 #, no-wrap
9689 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9690 msgstr ""
9691
9692 #. type: tbl table
9693 #: build/C/man2/ioctl_list.2:262
9694 #, no-wrap
9695 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9696 msgstr ""
9697
9698 #. type: tbl table
9699 #: build/C/man2/ioctl_list.2:263
9700 #, no-wrap
9701 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
9702 msgstr ""
9703
9704 #. type: tbl table
9705 #: build/C/man2/ioctl_list.2:264
9706 #, no-wrap
9707 msgid "0x00000004\tFDMSGON\tvoid\n"
9708 msgstr ""
9709
9710 #. type: tbl table
9711 #: build/C/man2/ioctl_list.2:265
9712 #, no-wrap
9713 msgid "0x00000005\tFDMSGOFF\tvoid\n"
9714 msgstr ""
9715
9716 #. type: tbl table
9717 #: build/C/man2/ioctl_list.2:266
9718 #, no-wrap
9719 msgid "0x00000006\tFDFMTBEG\tvoid\n"
9720 msgstr ""
9721
9722 #. type: tbl table
9723 #: build/C/man2/ioctl_list.2:267
9724 #, no-wrap
9725 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
9726 msgstr ""
9727
9728 #. type: tbl table
9729 #: build/C/man2/ioctl_list.2:268
9730 #, no-wrap
9731 msgid "0x00000008\tFDFMTEND\tvoid\n"
9732 msgstr ""
9733
9734 #. type: tbl table
9735 #: build/C/man2/ioctl_list.2:269
9736 #, no-wrap
9737 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
9738 msgstr ""
9739
9740 #. type: tbl table
9741 #: build/C/man2/ioctl_list.2:270
9742 #, no-wrap
9743 msgid "0x0000000B\tFDFLUSH\tvoid\n"
9744 msgstr ""
9745
9746 #. type: tbl table
9747 #: build/C/man2/ioctl_list.2:271
9748 #, no-wrap
9749 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
9750 msgstr ""
9751
9752 #. type: tbl table
9753 #: build/C/man2/ioctl_list.2:272
9754 #, no-wrap
9755 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
9756 msgstr ""
9757
9758 #. type: tbl table
9759 #: build/C/man2/ioctl_list.2:273
9760 #, no-wrap
9761 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
9762 msgstr ""
9763
9764 #. type: tbl table
9765 #: build/C/man2/ioctl_list.2:274
9766 #, no-wrap
9767 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
9768 msgstr ""
9769
9770 #. type: tbl table
9771 #: build/C/man2/ioctl_list.2:275
9772 #, no-wrap
9773 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
9774 msgstr ""
9775
9776 #. type: tbl table
9777 #: build/C/man2/ioctl_list.2:276
9778 #, no-wrap
9779 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
9780 msgstr ""
9781
9782 #. type: tbl table
9783 #: build/C/man2/ioctl_list.2:277
9784 #, no-wrap
9785 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
9786 msgstr ""
9787
9788 #. type: tbl table
9789 #: build/C/man2/ioctl_list.2:278
9790 #, no-wrap
9791 msgid "0x00000018\tFDRESET\tint\n"
9792 msgstr ""
9793
9794 #. type: tbl table
9795 #: build/C/man2/ioctl_list.2:279
9796 #, no-wrap
9797 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
9798 msgstr ""
9799
9800 #. type: tbl table
9801 #: build/C/man2/ioctl_list.2:280
9802 #, no-wrap
9803 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
9804 msgstr ""
9805
9806 #. type: tbl table
9807 #: build/C/man2/ioctl_list.2:281
9808 #, no-wrap
9809 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
9810 msgstr ""
9811
9812 #. type: tbl table
9813 #: build/C/man2/ioctl_list.2:282
9814 #, no-wrap
9815 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
9816 msgstr ""
9817
9818 #. type: tbl table
9819 #: build/C/man2/ioctl_list.2:283
9820 #, no-wrap
9821 msgid "0x00000028\tFDTWADDLE\tvoid\n"
9822 msgstr ""
9823
9824 #. type: Plain text
9825 #: build/C/man2/ioctl_list.2:287
9826 msgid "// E<lt>include/linux/fs.hE<gt>"
9827 msgstr ""
9828
9829 #. type: tbl table
9830 #: build/C/man2/ioctl_list.2:289
9831 #, no-wrap
9832 msgid "0x0000125D\tBLKROSET\tconst int *\n"
9833 msgstr ""
9834
9835 #. type: tbl table
9836 #: build/C/man2/ioctl_list.2:290
9837 #, no-wrap
9838 msgid "0x0000125E\tBLKROGET\tint *\n"
9839 msgstr ""
9840
9841 #. type: tbl table
9842 #: build/C/man2/ioctl_list.2:291
9843 #, no-wrap
9844 msgid "0x0000125F\tBLKRRPART\tvoid\n"
9845 msgstr ""
9846
9847 #. type: tbl table
9848 #: build/C/man2/ioctl_list.2:292
9849 #, no-wrap
9850 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
9851 msgstr ""
9852
9853 #. type: tbl table
9854 #: build/C/man2/ioctl_list.2:293
9855 #, no-wrap
9856 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
9857 msgstr ""
9858
9859 #. type: tbl table
9860 #: build/C/man2/ioctl_list.2:294
9861 #, no-wrap
9862 msgid "0x00001262\tBLKRASET\tint\n"
9863 msgstr ""
9864
9865 #. type: tbl table
9866 #: build/C/man2/ioctl_list.2:295
9867 #, no-wrap
9868 msgid "0x00001263\tBLKRAGET\tint *\n"
9869 msgstr ""
9870
9871 #. type: tbl table
9872 #: build/C/man2/ioctl_list.2:296
9873 #, no-wrap
9874 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
9875 msgstr ""
9876
9877 #. type: tbl table
9878 #: build/C/man2/ioctl_list.2:297
9879 #, no-wrap
9880 msgid "0x00000002\tFIGETBSZ\tint *\n"
9881 msgstr ""
9882
9883 #. type: Plain text
9884 #: build/C/man2/ioctl_list.2:301
9885 msgid "// E<lt>include/linux/hdreg.hE<gt>"
9886 msgstr ""
9887
9888 #. type: tbl table
9889 #: build/C/man2/ioctl_list.2:303
9890 #, no-wrap
9891 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
9892 msgstr ""
9893
9894 #. type: tbl table
9895 #: build/C/man2/ioctl_list.2:304
9896 #, no-wrap
9897 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
9898 msgstr ""
9899
9900 #. type: tbl table
9901 #: build/C/man2/ioctl_list.2:305
9902 #, no-wrap
9903 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
9904 msgstr ""
9905
9906 #. type: tbl table
9907 #: build/C/man2/ioctl_list.2:306
9908 #, no-wrap
9909 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
9910 msgstr ""
9911
9912 #. type: tbl table
9913 #: build/C/man2/ioctl_list.2:307
9914 #, no-wrap
9915 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
9916 msgstr ""
9917
9918 #. type: tbl table
9919 #: build/C/man2/ioctl_list.2:308
9920 #, no-wrap
9921 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
9922 msgstr ""
9923
9924 #. type: tbl table
9925 #: build/C/man2/ioctl_list.2:309
9926 #, no-wrap
9927 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
9928 msgstr ""
9929
9930 #. type: tbl table
9931 #: build/C/man2/ioctl_list.2:310
9932 #, no-wrap
9933 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
9934 msgstr ""
9935
9936 #. type: tbl table
9937 #: build/C/man2/ioctl_list.2:311
9938 #, no-wrap
9939 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
9940 msgstr ""
9941
9942 #. type: tbl table
9943 #: build/C/man2/ioctl_list.2:312
9944 #, no-wrap
9945 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
9946 msgstr ""
9947
9948 #. type: tbl table
9949 #: build/C/man2/ioctl_list.2:313
9950 #, no-wrap
9951 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
9952 msgstr ""
9953
9954 #. type: tbl table
9955 #: build/C/man2/ioctl_list.2:314
9956 #, no-wrap
9957 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
9958 msgstr ""
9959
9960 #. type: tbl table
9961 #: build/C/man2/ioctl_list.2:315
9962 #, no-wrap
9963 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
9964 msgstr ""
9965
9966 #. type: tbl table
9967 #: build/C/man2/ioctl_list.2:316
9968 #, no-wrap
9969 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
9970 msgstr ""
9971
9972 #. type: tbl table
9973 #: build/C/man2/ioctl_list.2:317
9974 #, no-wrap
9975 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
9976 msgstr ""
9977
9978 #. type: Plain text
9979 #: build/C/man2/ioctl_list.2:321
9980 msgid "// E<lt>include/linux/if_eql.hE<gt>"
9981 msgstr ""
9982
9983 #. type: tbl table
9984 #: build/C/man2/ioctl_list.2:323
9985 #, no-wrap
9986 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
9987 msgstr ""
9988
9989 #. type: tbl table
9990 #: build/C/man2/ioctl_list.2:324
9991 #, no-wrap
9992 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
9993 msgstr ""
9994
9995 #. type: tbl table
9996 #: build/C/man2/ioctl_list.2:325
9997 #, no-wrap
9998 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
9999 msgstr ""
10000
10001 #. type: tbl table
10002 #: build/C/man2/ioctl_list.2:326
10003 #, no-wrap
10004 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10005 msgstr ""
10006
10007 #. type: tbl table
10008 #: build/C/man2/ioctl_list.2:327
10009 #, no-wrap
10010 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10011 msgstr ""
10012
10013 #. type: tbl table
10014 #: build/C/man2/ioctl_list.2:328
10015 #, no-wrap
10016 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10017 msgstr ""
10018
10019 #. type: Plain text
10020 #: build/C/man2/ioctl_list.2:332
10021 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10022 msgstr ""
10023
10024 #. type: tbl table
10025 #: build/C/man2/ioctl_list.2:334
10026 #, no-wrap
10027 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10028 msgstr ""
10029
10030 #. type: Plain text
10031 #: build/C/man2/ioctl_list.2:338
10032 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10033 msgstr ""
10034
10035 #. type: tbl table
10036 #: build/C/man2/ioctl_list.2:340
10037 #, no-wrap
10038 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10039 msgstr ""
10040
10041 #. type: tbl table
10042 #: build/C/man2/ioctl_list.2:341
10043 #, no-wrap
10044 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10045 msgstr ""
10046
10047 #. type: tbl table
10048 #: build/C/man2/ioctl_list.2:342
10049 #, no-wrap
10050 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10051 msgstr ""
10052
10053 #. type: tbl table
10054 #: build/C/man2/ioctl_list.2:343
10055 #, no-wrap
10056 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10057 msgstr ""
10058
10059 #. type: tbl table
10060 #: build/C/man2/ioctl_list.2:344
10061 #, no-wrap
10062 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10063 msgstr ""
10064
10065 #. type: tbl table
10066 #: build/C/man2/ioctl_list.2:345
10067 #, no-wrap
10068 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10069 msgstr ""
10070
10071 #. type: tbl table
10072 #: build/C/man2/ioctl_list.2:346
10073 #, no-wrap
10074 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10075 msgstr ""
10076
10077 #. type: tbl table
10078 #: build/C/man2/ioctl_list.2:347
10079 #, no-wrap
10080 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10081 msgstr ""
10082
10083 #. type: tbl table
10084 #: build/C/man2/ioctl_list.2:348
10085 #, no-wrap
10086 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10087 msgstr ""
10088
10089 #. type: tbl table
10090 #: build/C/man2/ioctl_list.2:349
10091 #, no-wrap
10092 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10093 msgstr ""
10094
10095 #. type: tbl table
10096 #: build/C/man2/ioctl_list.2:350
10097 #, no-wrap
10098 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10099 msgstr ""
10100
10101 #. type: tbl table
10102 #: build/C/man2/ioctl_list.2:351
10103 #, no-wrap
10104 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10105 msgstr ""
10106
10107 #. type: tbl table
10108 #: build/C/man2/ioctl_list.2:352
10109 #, no-wrap
10110 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10111 msgstr ""
10112
10113 #. type: tbl table
10114 #: build/C/man2/ioctl_list.2:353
10115 #, no-wrap
10116 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10117 msgstr ""
10118
10119 #. type: tbl table
10120 #: build/C/man2/ioctl_list.2:354
10121 #, no-wrap
10122 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10123 msgstr ""
10124
10125 #. type: Plain text
10126 #: build/C/man2/ioctl_list.2:358
10127 msgid "// E<lt>include/linux/ipx.hE<gt>"
10128 msgstr ""
10129
10130 #. type: tbl table
10131 #: build/C/man2/ioctl_list.2:360
10132 #, no-wrap
10133 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10134 msgstr ""
10135
10136 #. type: tbl table
10137 #: build/C/man2/ioctl_list.2:361
10138 #, no-wrap
10139 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10140 msgstr ""
10141
10142 #. type: tbl table
10143 #: build/C/man2/ioctl_list.2:362
10144 #, no-wrap
10145 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10146 msgstr ""
10147
10148 #. type: Plain text
10149 #: build/C/man2/ioctl_list.2:366
10150 msgid "// E<lt>include/linux/kd.hE<gt>"
10151 msgstr ""
10152
10153 #. type: tbl table
10154 #: build/C/man2/ioctl_list.2:368
10155 #, no-wrap
10156 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10157 msgstr ""
10158
10159 #. type: tbl table
10160 #: build/C/man2/ioctl_list.2:369
10161 #, no-wrap
10162 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10163 msgstr ""
10164
10165 #. type: tbl table
10166 #: build/C/man2/ioctl_list.2:370
10167 #, no-wrap
10168 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10169 msgstr ""
10170
10171 #. type: tbl table
10172 #: build/C/man2/ioctl_list.2:371
10173 #, no-wrap
10174 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10175 msgstr ""
10176
10177 #. type: tbl table
10178 #: build/C/man2/ioctl_list.2:372
10179 #, no-wrap
10180 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10181 msgstr ""
10182
10183 #. type: tbl table
10184 #: build/C/man2/ioctl_list.2:373
10185 #, no-wrap
10186 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10187 msgstr ""
10188
10189 #. type: tbl table
10190 #: build/C/man2/ioctl_list.2:374
10191 #, no-wrap
10192 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10193 msgstr ""
10194
10195 #. type: tbl table
10196 #: build/C/man2/ioctl_list.2:375
10197 #, no-wrap
10198 msgid "0x00004B30\tKDMKTONE\tint\n"
10199 msgstr ""
10200
10201 #. type: tbl table
10202 #: build/C/man2/ioctl_list.2:376
10203 #, no-wrap
10204 msgid "0x00004B31\tKDGETLED\tchar *\n"
10205 msgstr ""
10206
10207 #. type: tbl table
10208 #: build/C/man2/ioctl_list.2:377
10209 #, no-wrap
10210 msgid "0x00004B32\tKDSETLED\tint\n"
10211 msgstr ""
10212
10213 #. type: tbl table
10214 #: build/C/man2/ioctl_list.2:378
10215 #, no-wrap
10216 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10217 msgstr ""
10218
10219 #. type: tbl table
10220 #: build/C/man2/ioctl_list.2:379
10221 #, no-wrap
10222 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10223 msgstr ""
10224
10225 #. type: tbl table
10226 #: build/C/man2/ioctl_list.2:380
10227 #, no-wrap
10228 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10229 msgstr ""
10230
10231 #. type: tbl table
10232 #: build/C/man2/ioctl_list.2:381
10233 #, no-wrap
10234 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10235 msgstr ""
10236
10237 #. type: tbl table
10238 #: build/C/man2/ioctl_list.2:382
10239 #, no-wrap
10240 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10241 msgstr ""
10242
10243 #. type: tbl table
10244 #: build/C/man2/ioctl_list.2:383
10245 #, no-wrap
10246 msgid "0x00004B3A\tKDSETMODE\tint\n"
10247 msgstr ""
10248
10249 #. type: tbl table
10250 #: build/C/man2/ioctl_list.2:384
10251 #, no-wrap
10252 msgid "0x00004B3B\tKDGETMODE\tint *\n"
10253 msgstr ""
10254
10255 #. type: tbl table
10256 #: build/C/man2/ioctl_list.2:385
10257 #, no-wrap
10258 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10259 msgstr ""
10260
10261 #. type: tbl table
10262 #: build/C/man2/ioctl_list.2:386
10263 #, no-wrap
10264 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10265 msgstr ""
10266
10267 #. type: tbl table
10268 #: build/C/man2/ioctl_list.2:387
10269 #, no-wrap
10270 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10271 msgstr ""
10272
10273 #. type: tbl table
10274 #: build/C/man2/ioctl_list.2:388
10275 #, no-wrap
10276 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10277 msgstr ""
10278
10279 #. type: tbl table
10280 #: build/C/man2/ioctl_list.2:389
10281 #, no-wrap
10282 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10283 msgstr ""
10284
10285 #. type: tbl table
10286 #: build/C/man2/ioctl_list.2:390
10287 #, no-wrap
10288 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10289 msgstr ""
10290
10291 #. type: tbl table
10292 #: build/C/man2/ioctl_list.2:391
10293 #, no-wrap
10294 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10295 msgstr ""
10296
10297 #. type: tbl table
10298 #: build/C/man2/ioctl_list.2:392
10299 #, no-wrap
10300 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10301 msgstr ""
10302
10303 #. type: tbl table
10304 #: build/C/man2/ioctl_list.2:393
10305 #, no-wrap
10306 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10307 msgstr ""
10308
10309 #. type: tbl table
10310 #: build/C/man2/ioctl_list.2:394
10311 #, no-wrap
10312 msgid "0x00004B44\tKDGKBMODE\tint *\n"
10313 msgstr ""
10314
10315 #. type: tbl table
10316 #: build/C/man2/ioctl_list.2:395
10317 #, no-wrap
10318 msgid "0x00004B45\tKDSKBMODE\tint\n"
10319 msgstr ""
10320
10321 #. type: tbl table
10322 #: build/C/man2/ioctl_list.2:396
10323 #, no-wrap
10324 msgid "0x00004B62\tKDGKBMETA\tint *\n"
10325 msgstr ""
10326
10327 #. type: tbl table
10328 #: build/C/man2/ioctl_list.2:397
10329 #, no-wrap
10330 msgid "0x00004B63\tKDSKBMETA\tint\n"
10331 msgstr ""
10332
10333 #. type: tbl table
10334 #: build/C/man2/ioctl_list.2:398
10335 #, no-wrap
10336 msgid "0x00004B64\tKDGKBLED\tint *\n"
10337 msgstr ""
10338
10339 #. type: tbl table
10340 #: build/C/man2/ioctl_list.2:399
10341 #, no-wrap
10342 msgid "0x00004B65\tKDSKBLED\tint\n"
10343 msgstr ""
10344
10345 #. type: tbl table
10346 #: build/C/man2/ioctl_list.2:400
10347 #, no-wrap
10348 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10349 msgstr ""
10350
10351 #. type: tbl table
10352 #: build/C/man2/ioctl_list.2:401
10353 #, no-wrap
10354 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10355 msgstr ""
10356
10357 #. type: tbl table
10358 #: build/C/man2/ioctl_list.2:402
10359 #, no-wrap
10360 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10361 msgstr ""
10362
10363 #. type: tbl table
10364 #: build/C/man2/ioctl_list.2:403
10365 #, no-wrap
10366 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10367 msgstr ""
10368
10369 #. type: tbl table
10370 #: build/C/man2/ioctl_list.2:404
10371 #, no-wrap
10372 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10373 msgstr ""
10374
10375 #. type: tbl table
10376 #: build/C/man2/ioctl_list.2:405
10377 #, no-wrap
10378 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10379 msgstr ""
10380
10381 #. type: tbl table
10382 #: build/C/man2/ioctl_list.2:406
10383 #, no-wrap
10384 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10385 msgstr ""
10386
10387 #. type: tbl table
10388 #: build/C/man2/ioctl_list.2:407
10389 #, no-wrap
10390 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10391 msgstr ""
10392
10393 #. type: tbl table
10394 #: build/C/man2/ioctl_list.2:408
10395 #, no-wrap
10396 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
10397 msgstr ""
10398
10399 #. type: Plain text
10400 #: build/C/man2/ioctl_list.2:412
10401 msgid "// E<lt>include/linux/lp.hE<gt>"
10402 msgstr ""
10403
10404 #. type: tbl table
10405 #: build/C/man2/ioctl_list.2:414
10406 #, no-wrap
10407 msgid "0x00000601\tLPCHAR\tint\n"
10408 msgstr ""
10409
10410 #. type: tbl table
10411 #: build/C/man2/ioctl_list.2:415
10412 #, no-wrap
10413 msgid "0x00000602\tLPTIME\tint\n"
10414 msgstr ""
10415
10416 #. type: tbl table
10417 #: build/C/man2/ioctl_list.2:416
10418 #, no-wrap
10419 msgid "0x00000604\tLPABORT\tint\n"
10420 msgstr ""
10421
10422 #. type: tbl table
10423 #: build/C/man2/ioctl_list.2:417
10424 #, no-wrap
10425 msgid "0x00000605\tLPSETIRQ\tint\n"
10426 msgstr ""
10427
10428 #. type: tbl table
10429 #: build/C/man2/ioctl_list.2:418
10430 #, no-wrap
10431 msgid "0x00000606\tLPGETIRQ\tint *\n"
10432 msgstr ""
10433
10434 #. type: tbl table
10435 #: build/C/man2/ioctl_list.2:419
10436 #, no-wrap
10437 msgid "0x00000608\tLPWAIT\tint\n"
10438 msgstr ""
10439
10440 #. type: tbl table
10441 #: build/C/man2/ioctl_list.2:420
10442 #, no-wrap
10443 msgid "0x00000609\tLPCAREFUL\tint\n"
10444 msgstr ""
10445
10446 #. type: tbl table
10447 #: build/C/man2/ioctl_list.2:421
10448 #, no-wrap
10449 msgid "0x0000060A\tLPABORTOPEN\tint\n"
10450 msgstr ""
10451
10452 #. type: tbl table
10453 #: build/C/man2/ioctl_list.2:422
10454 #, no-wrap
10455 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
10456 msgstr ""
10457
10458 #. type: tbl table
10459 #: build/C/man2/ioctl_list.2:423
10460 #, no-wrap
10461 msgid "0x0000060C\tLPRESET\tvoid\n"
10462 msgstr ""
10463
10464 #. type: tbl table
10465 #: build/C/man2/ioctl_list.2:424
10466 #, no-wrap
10467 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10468 msgstr ""
10469
10470 #. type: Plain text
10471 #: build/C/man2/ioctl_list.2:428
10472 msgid "// E<lt>include/linux/mroute.hE<gt>"
10473 msgstr ""
10474
10475 #. type: tbl table
10476 #: build/C/man2/ioctl_list.2:430
10477 #, no-wrap
10478 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10479 msgstr ""
10480
10481 #. type: tbl table
10482 #: build/C/man2/ioctl_list.2:431
10483 #, no-wrap
10484 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10485 msgstr ""
10486
10487 #. type: Plain text
10488 #: build/C/man2/ioctl_list.2:435
10489 msgid "// E<lt>include/linux/mtio.hE<gt>"
10490 msgstr ""
10491
10492 #. type: tbl table
10493 #: build/C/man2/ioctl_list.2:437
10494 #, no-wrap
10495 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10496 msgstr ""
10497
10498 #. type: tbl table
10499 #: build/C/man2/ioctl_list.2:438
10500 #, no-wrap
10501 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10502 msgstr ""
10503
10504 #. type: tbl table
10505 #: build/C/man2/ioctl_list.2:439
10506 #, no-wrap
10507 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10508 msgstr ""
10509
10510 #. type: tbl table
10511 #: build/C/man2/ioctl_list.2:440
10512 #, no-wrap
10513 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10514 msgstr ""
10515
10516 #. type: tbl table
10517 #: build/C/man2/ioctl_list.2:441
10518 #, no-wrap
10519 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10520 msgstr ""
10521
10522 #. type: Plain text
10523 #: build/C/man2/ioctl_list.2:445
10524 msgid "// E<lt>include/linux/netrom.hE<gt>"
10525 msgstr ""
10526
10527 #. type: tbl table
10528 #: build/C/man2/ioctl_list.2:447
10529 #, no-wrap
10530 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10531 msgstr ""
10532
10533 #. type: tbl table
10534 #: build/C/man2/ioctl_list.2:448
10535 #, no-wrap
10536 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10537 msgstr ""
10538
10539 #. type: tbl table
10540 #: build/C/man2/ioctl_list.2:449
10541 #, no-wrap
10542 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10543 msgstr ""
10544
10545 #. type: tbl table
10546 #: build/C/man2/ioctl_list.2:450
10547 #, no-wrap
10548 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10549 msgstr ""
10550
10551 #. type: Plain text
10552 #: build/C/man2/ioctl_list.2:454
10553 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
10554 msgstr ""
10555
10556 #. type: tbl table
10557 #: build/C/man2/ioctl_list.2:456
10558 #, no-wrap
10559 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
10560 msgstr ""
10561
10562 #. type: tbl table
10563 #: build/C/man2/ioctl_list.2:457
10564 #, no-wrap
10565 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10566 msgstr ""
10567
10568 #. type: Plain text
10569 #: build/C/man2/ioctl_list.2:461
10570 msgid "// E<lt>include/linux/scc.hE<gt>"
10571 msgstr ""
10572
10573 #. type: tbl table
10574 #: build/C/man2/ioctl_list.2:463
10575 #, no-wrap
10576 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
10577 msgstr ""
10578
10579 #. type: tbl table
10580 #: build/C/man2/ioctl_list.2:464
10581 #, no-wrap
10582 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10583 msgstr ""
10584
10585 #. type: tbl table
10586 #: build/C/man2/ioctl_list.2:465
10587 #, no-wrap
10588 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10589 msgstr ""
10590
10591 #. type: tbl table
10592 #: build/C/man2/ioctl_list.2:466
10593 #, no-wrap
10594 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10595 msgstr ""
10596
10597 #. type: tbl table
10598 #: build/C/man2/ioctl_list.2:467
10599 #, no-wrap
10600 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10601 msgstr ""
10602
10603 #. type: Plain text
10604 #: build/C/man2/ioctl_list.2:471
10605 msgid "// E<lt>include/linux/scsi.hE<gt>"
10606 msgstr ""
10607
10608 #. type: tbl table
10609 #: build/C/man2/ioctl_list.2:473
10610 #, no-wrap
10611 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10612 msgstr ""
10613
10614 #. type: tbl table
10615 #: build/C/man2/ioctl_list.2:474
10616 #, no-wrap
10617 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10618 msgstr ""
10619
10620 #. type: tbl table
10621 #: build/C/man2/ioctl_list.2:475
10622 #, no-wrap
10623 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10624 msgstr ""
10625
10626 #. type: tbl table
10627 #: build/C/man2/ioctl_list.2:476
10628 #, no-wrap
10629 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10630 msgstr ""
10631
10632 #. type: Plain text
10633 #: build/C/man2/ioctl_list.2:480
10634 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
10635 msgstr ""
10636
10637 #. type: tbl table
10638 #: build/C/man2/ioctl_list.2:482
10639 #, no-wrap
10640 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10641 msgstr ""
10642
10643 #. type: Plain text
10644 #: build/C/man2/ioctl_list.2:486
10645 msgid "// E<lt>include/linux/sockios.hE<gt>"
10646 msgstr ""
10647
10648 #. type: tbl table
10649 #: build/C/man2/ioctl_list.2:488
10650 #, no-wrap
10651 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10652 msgstr ""
10653
10654 #. type: tbl table
10655 #: build/C/man2/ioctl_list.2:489
10656 #, no-wrap
10657 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10658 msgstr ""
10659
10660 #. type: tbl table
10661 #: build/C/man2/ioctl_list.2:490
10662 #, no-wrap
10663 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
10664 msgstr ""
10665
10666 #. type: tbl table
10667 #: build/C/man2/ioctl_list.2:491
10668 #, no-wrap
10669 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
10670 msgstr ""
10671
10672 #. type: tbl table
10673 #: build/C/man2/ioctl_list.2:492
10674 #, no-wrap
10675 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
10676 msgstr ""
10677
10678 #. type: tbl table
10679 #: build/C/man2/ioctl_list.2:493
10680 #, no-wrap
10681 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
10682 msgstr ""
10683
10684 #. type: tbl table
10685 #: build/C/man2/ioctl_list.2:494
10686 #, no-wrap
10687 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
10688 msgstr ""
10689
10690 #. type: tbl table
10691 #: build/C/man2/ioctl_list.2:495
10692 #, no-wrap
10693 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
10694 msgstr ""
10695
10696 #. type: tbl table
10697 #: build/C/man2/ioctl_list.2:496
10698 #, no-wrap
10699 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
10700 msgstr ""
10701
10702 #. type: tbl table
10703 #: build/C/man2/ioctl_list.2:497
10704 #, no-wrap
10705 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
10706 msgstr ""
10707
10708 #. type: tbl table
10709 #: build/C/man2/ioctl_list.2:498
10710 #, no-wrap
10711 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
10712 msgstr ""
10713
10714 #. type: tbl table
10715 #: build/C/man2/ioctl_list.2:499
10716 #, no-wrap
10717 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
10718 msgstr ""
10719
10720 #. type: tbl table
10721 #: build/C/man2/ioctl_list.2:500
10722 #, no-wrap
10723 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
10724 msgstr ""
10725
10726 #. type: tbl table
10727 #: build/C/man2/ioctl_list.2:501
10728 #, no-wrap
10729 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
10730 msgstr ""
10731
10732 #. type: tbl table
10733 #: build/C/man2/ioctl_list.2:502
10734 #, no-wrap
10735 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
10736 msgstr ""
10737
10738 #. type: tbl table
10739 #: build/C/man2/ioctl_list.2:503
10740 #, no-wrap
10741 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
10742 msgstr ""
10743
10744 #. type: tbl table
10745 #: build/C/man2/ioctl_list.2:504
10746 #, no-wrap
10747 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
10748 msgstr ""
10749
10750 #. type: tbl table
10751 #: build/C/man2/ioctl_list.2:505
10752 #, no-wrap
10753 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
10754 msgstr ""
10755
10756 #. type: tbl table
10757 #: build/C/man2/ioctl_list.2:506
10758 #, no-wrap
10759 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
10760 msgstr ""
10761
10762 #. type: tbl table
10763 #: build/C/man2/ioctl_list.2:507
10764 #, no-wrap
10765 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
10766 msgstr ""
10767
10768 #. type: tbl table
10769 #: build/C/man2/ioctl_list.2:508
10770 #, no-wrap
10771 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
10772 msgstr ""
10773
10774 #. type: tbl table
10775 #: build/C/man2/ioctl_list.2:509
10776 #, no-wrap
10777 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
10778 msgstr ""
10779
10780 #. type: tbl table
10781 #: build/C/man2/ioctl_list.2:510
10782 #, no-wrap
10783 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
10784 msgstr ""
10785
10786 #. type: tbl table
10787 #: build/C/man2/ioctl_list.2:511
10788 #, no-wrap
10789 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
10790 msgstr ""
10791
10792 #. type: tbl table
10793 #: build/C/man2/ioctl_list.2:512
10794 #, no-wrap
10795 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
10796 msgstr ""
10797
10798 #. type: tbl table
10799 #: build/C/man2/ioctl_list.2:513
10800 #, no-wrap
10801 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
10802 msgstr ""
10803
10804 #. type: tbl table
10805 #: build/C/man2/ioctl_list.2:514
10806 #, no-wrap
10807 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
10808 msgstr ""
10809
10810 #. type: tbl table
10811 #: build/C/man2/ioctl_list.2:515
10812 #, no-wrap
10813 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
10814 msgstr ""
10815
10816 #. type: tbl table
10817 #: build/C/man2/ioctl_list.2:516
10818 #, no-wrap
10819 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
10820 msgstr ""
10821
10822 #. type: tbl table
10823 #: build/C/man2/ioctl_list.2:517
10824 #, no-wrap
10825 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
10826 msgstr ""
10827
10828 #. type: tbl table
10829 #: build/C/man2/ioctl_list.2:518
10830 #, no-wrap
10831 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
10832 msgstr ""
10833
10834 #. type: tbl table
10835 #: build/C/man2/ioctl_list.2:519
10836 #, no-wrap
10837 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
10838 msgstr ""
10839
10840 #. type: tbl table
10841 #: build/C/man2/ioctl_list.2:520
10842 #, no-wrap
10843 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
10844 msgstr ""
10845
10846 #. type: tbl table
10847 #: build/C/man2/ioctl_list.2:521
10848 #, no-wrap
10849 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
10850 msgstr ""
10851
10852 #. type: tbl table
10853 #: build/C/man2/ioctl_list.2:522
10854 #, no-wrap
10855 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
10856 msgstr ""
10857
10858 #. type: tbl table
10859 #: build/C/man2/ioctl_list.2:523
10860 #, no-wrap
10861 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
10862 msgstr ""
10863
10864 #. type: tbl table
10865 #: build/C/man2/ioctl_list.2:524
10866 #, no-wrap
10867 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
10868 msgstr ""
10869
10870 #. type: tbl table
10871 #: build/C/man2/ioctl_list.2:525
10872 #, no-wrap
10873 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
10874 msgstr ""
10875
10876 #. type: tbl table
10877 #: build/C/man2/ioctl_list.2:526
10878 #, no-wrap
10879 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
10880 msgstr ""
10881
10882 #. type: tbl table
10883 #: build/C/man2/ioctl_list.2:527
10884 #, no-wrap
10885 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
10886 msgstr ""
10887
10888 #. type: Plain text
10889 #: build/C/man2/ioctl_list.2:531
10890 msgid "// E<lt>include/linux/soundcard.hE<gt>"
10891 msgstr ""
10892
10893 #. type: tbl table
10894 #: build/C/man2/ioctl_list.2:533
10895 #, no-wrap
10896 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
10897 msgstr ""
10898
10899 #. type: tbl table
10900 #: build/C/man2/ioctl_list.2:534
10901 #, no-wrap
10902 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
10903 msgstr ""
10904
10905 #. type: tbl table
10906 #: build/C/man2/ioctl_list.2:535
10907 #, no-wrap
10908 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
10909 msgstr ""
10910
10911 #. type: tbl table
10912 #: build/C/man2/ioctl_list.2:536
10913 #, no-wrap
10914 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
10915 msgstr ""
10916
10917 #. type: tbl table
10918 #: build/C/man2/ioctl_list.2:537
10919 #, no-wrap
10920 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
10921 msgstr ""
10922
10923 #. type: tbl table
10924 #: build/C/man2/ioctl_list.2:538
10925 #, no-wrap
10926 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
10927 msgstr ""
10928
10929 #. type: tbl table
10930 #: build/C/man2/ioctl_list.2:539
10931 #, no-wrap
10932 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
10933 msgstr ""
10934
10935 #. type: tbl table
10936 #: build/C/man2/ioctl_list.2:540
10937 #, no-wrap
10938 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
10939 msgstr ""
10940
10941 #. type: tbl table
10942 #: build/C/man2/ioctl_list.2:541
10943 #, no-wrap
10944 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
10945 msgstr ""
10946
10947 #. type: tbl table
10948 #: build/C/man2/ioctl_list.2:542
10949 #, no-wrap
10950 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
10951 msgstr ""
10952
10953 #. type: tbl table
10954 #: build/C/man2/ioctl_list.2:543
10955 #, no-wrap
10956 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
10957 msgstr ""
10958
10959 #. type: tbl table
10960 #: build/C/man2/ioctl_list.2:544
10961 #, no-wrap
10962 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
10963 msgstr ""
10964
10965 #. type: tbl table
10966 #: build/C/man2/ioctl_list.2:545
10967 #, no-wrap
10968 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
10969 msgstr ""
10970
10971 #. type: tbl table
10972 #: build/C/man2/ioctl_list.2:546
10973 #, no-wrap
10974 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
10975 msgstr ""
10976
10977 #. type: tbl table
10978 #: build/C/man2/ioctl_list.2:547
10979 #, no-wrap
10980 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
10981 msgstr ""
10982
10983 #. type: tbl table
10984 #: build/C/man2/ioctl_list.2:548
10985 #, no-wrap
10986 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
10987 msgstr ""
10988
10989 #. type: tbl table
10990 #: build/C/man2/ioctl_list.2:549
10991 #, no-wrap
10992 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
10993 msgstr ""
10994
10995 #. type: tbl table
10996 #: build/C/man2/ioctl_list.2:550
10997 #, no-wrap
10998 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
10999 msgstr ""
11000
11001 #. type: tbl table
11002 #: build/C/man2/ioctl_list.2:551
11003 #, no-wrap
11004 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11005 msgstr ""
11006
11007 #. type: tbl table
11008 #: build/C/man2/ioctl_list.2:552
11009 #, no-wrap
11010 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11011 msgstr ""
11012
11013 #. type: tbl table
11014 #: build/C/man2/ioctl_list.2:553
11015 #, no-wrap
11016 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11017 msgstr ""
11018
11019 #. type: tbl table
11020 #: build/C/man2/ioctl_list.2:554
11021 #, no-wrap
11022 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11023 msgstr ""
11024
11025 #. type: tbl table
11026 #: build/C/man2/ioctl_list.2:555
11027 #, no-wrap
11028 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11029 msgstr ""
11030
11031 #. type: tbl table
11032 #: build/C/man2/ioctl_list.2:556
11033 #, no-wrap
11034 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11035 msgstr ""
11036
11037 #. type: tbl table
11038 #: build/C/man2/ioctl_list.2:557
11039 #, no-wrap
11040 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11041 msgstr ""
11042
11043 #. type: tbl table
11044 #: build/C/man2/ioctl_list.2:558
11045 #, no-wrap
11046 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11047 msgstr ""
11048
11049 #. type: tbl table
11050 #: build/C/man2/ioctl_list.2:559
11051 #, no-wrap
11052 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11053 msgstr ""
11054
11055 #. type: tbl table
11056 #: build/C/man2/ioctl_list.2:560
11057 #, no-wrap
11058 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11059 msgstr ""
11060
11061 #. type: tbl table
11062 #: build/C/man2/ioctl_list.2:561
11063 #, no-wrap
11064 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11065 msgstr ""
11066
11067 #. type: tbl table
11068 #: build/C/man2/ioctl_list.2:562
11069 #, no-wrap
11070 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11071 msgstr ""
11072
11073 #. type: tbl table
11074 #: build/C/man2/ioctl_list.2:563
11075 #, no-wrap
11076 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11077 msgstr ""
11078
11079 #. type: tbl table
11080 #: build/C/man2/ioctl_list.2:564
11081 #, no-wrap
11082 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11083 msgstr ""
11084
11085 #. type: tbl table
11086 #: build/C/man2/ioctl_list.2:565
11087 #, no-wrap
11088 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11089 msgstr ""
11090
11091 #. type: tbl table
11092 #: build/C/man2/ioctl_list.2:566
11093 #, no-wrap
11094 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11095 msgstr ""
11096
11097 #. type: tbl table
11098 #: build/C/man2/ioctl_list.2:567
11099 #, no-wrap
11100 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11101 msgstr ""
11102
11103 #. type: tbl table
11104 #: build/C/man2/ioctl_list.2:568
11105 #, no-wrap
11106 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11107 msgstr ""
11108
11109 #. type: tbl table
11110 #: build/C/man2/ioctl_list.2:569
11111 #, no-wrap
11112 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11113 msgstr ""
11114
11115 #. type: tbl table
11116 #: build/C/man2/ioctl_list.2:570
11117 #, no-wrap
11118 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11119 msgstr ""
11120
11121 #. type: tbl table
11122 #: build/C/man2/ioctl_list.2:571
11123 #, no-wrap
11124 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11125 msgstr ""
11126
11127 #. type: tbl table
11128 #: build/C/man2/ioctl_list.2:572
11129 #, no-wrap
11130 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11131 msgstr ""
11132
11133 #. type: tbl table
11134 #: build/C/man2/ioctl_list.2:573
11135 #, no-wrap
11136 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11137 msgstr ""
11138
11139 #. type: tbl table
11140 #: build/C/man2/ioctl_list.2:574
11141 #, no-wrap
11142 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11143 msgstr ""
11144
11145 #. type: tbl table
11146 #: build/C/man2/ioctl_list.2:575
11147 #, no-wrap
11148 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11149 msgstr ""
11150
11151 #. type: tbl table
11152 #: build/C/man2/ioctl_list.2:576
11153 #, no-wrap
11154 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11155 msgstr ""
11156
11157 #. type: tbl table
11158 #: build/C/man2/ioctl_list.2:577
11159 #, no-wrap
11160 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11161 msgstr ""
11162
11163 #. type: tbl table
11164 #: build/C/man2/ioctl_list.2:578
11165 #, no-wrap
11166 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11167 msgstr ""
11168
11169 #. type: tbl table
11170 #: build/C/man2/ioctl_list.2:579
11171 #, no-wrap
11172 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11173 msgstr ""
11174
11175 #. type: tbl table
11176 #: build/C/man2/ioctl_list.2:580
11177 #, no-wrap
11178 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11179 msgstr ""
11180
11181 #. type: tbl table
11182 #: build/C/man2/ioctl_list.2:581
11183 #, no-wrap
11184 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11185 msgstr ""
11186
11187 #. type: tbl table
11188 #: build/C/man2/ioctl_list.2:582
11189 #, no-wrap
11190 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11191 msgstr ""
11192
11193 #. type: tbl table
11194 #: build/C/man2/ioctl_list.2:583
11195 #, no-wrap
11196 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11197 msgstr ""
11198
11199 #. type: tbl table
11200 #: build/C/man2/ioctl_list.2:584
11201 #, no-wrap
11202 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11203 msgstr ""
11204
11205 #. type: tbl table
11206 #: build/C/man2/ioctl_list.2:585
11207 #, no-wrap
11208 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11209 msgstr ""
11210
11211 #. type: tbl table
11212 #: build/C/man2/ioctl_list.2:586
11213 #, no-wrap
11214 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11215 msgstr ""
11216
11217 #. type: tbl table
11218 #: build/C/man2/ioctl_list.2:587
11219 #, no-wrap
11220 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11221 msgstr ""
11222
11223 #. type: tbl table
11224 #: build/C/man2/ioctl_list.2:588
11225 #, no-wrap
11226 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11227 msgstr ""
11228
11229 #. type: tbl table
11230 #: build/C/man2/ioctl_list.2:589
11231 #, no-wrap
11232 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11233 msgstr ""
11234
11235 #. type: tbl table
11236 #: build/C/man2/ioctl_list.2:590
11237 #, no-wrap
11238 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11239 msgstr ""
11240
11241 #. type: tbl table
11242 #: build/C/man2/ioctl_list.2:591
11243 #, no-wrap
11244 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11245 msgstr ""
11246
11247 #. type: tbl table
11248 #: build/C/man2/ioctl_list.2:592
11249 #, no-wrap
11250 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11251 msgstr ""
11252
11253 #. type: tbl table
11254 #: build/C/man2/ioctl_list.2:593
11255 #, no-wrap
11256 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11257 msgstr ""
11258
11259 #. type: tbl table
11260 #: build/C/man2/ioctl_list.2:594
11261 #, no-wrap
11262 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11263 msgstr ""
11264
11265 #. type: tbl table
11266 #: build/C/man2/ioctl_list.2:595
11267 #, no-wrap
11268 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11269 msgstr ""
11270
11271 #. type: tbl table
11272 #: build/C/man2/ioctl_list.2:596
11273 #, no-wrap
11274 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11275 msgstr ""
11276
11277 #. type: tbl table
11278 #: build/C/man2/ioctl_list.2:597
11279 #, no-wrap
11280 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11281 msgstr ""
11282
11283 #. type: tbl table
11284 #: build/C/man2/ioctl_list.2:598
11285 #, no-wrap
11286 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11287 msgstr ""
11288
11289 #. type: tbl table
11290 #: build/C/man2/ioctl_list.2:599
11291 #, no-wrap
11292 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11293 msgstr ""
11294
11295 #. type: tbl table
11296 #: build/C/man2/ioctl_list.2:600
11297 #, no-wrap
11298 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11299 msgstr ""
11300
11301 #. type: tbl table
11302 #: build/C/man2/ioctl_list.2:601
11303 #, no-wrap
11304 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11305 msgstr ""
11306
11307 #. type: tbl table
11308 #: build/C/man2/ioctl_list.2:602
11309 #, no-wrap
11310 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11311 msgstr ""
11312
11313 #. type: tbl table
11314 #: build/C/man2/ioctl_list.2:603
11315 #, no-wrap
11316 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11317 msgstr ""
11318
11319 #. type: tbl table
11320 #: build/C/man2/ioctl_list.2:604
11321 #, no-wrap
11322 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11323 msgstr ""
11324
11325 #. type: tbl table
11326 #: build/C/man2/ioctl_list.2:605
11327 #, no-wrap
11328 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11329 msgstr ""
11330
11331 #. type: tbl table
11332 #: build/C/man2/ioctl_list.2:606
11333 #, no-wrap
11334 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11335 msgstr ""
11336
11337 #. type: tbl table
11338 #: build/C/man2/ioctl_list.2:607
11339 #, no-wrap
11340 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11341 msgstr ""
11342
11343 #. type: tbl table
11344 #: build/C/man2/ioctl_list.2:608
11345 #, no-wrap
11346 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11347 msgstr ""
11348
11349 #. type: tbl table
11350 #: build/C/man2/ioctl_list.2:609
11351 #, no-wrap
11352 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11353 msgstr ""
11354
11355 #. type: tbl table
11356 #: build/C/man2/ioctl_list.2:610
11357 #, no-wrap
11358 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11359 msgstr ""
11360
11361 #. type: tbl table
11362 #: build/C/man2/ioctl_list.2:611
11363 #, no-wrap
11364 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11365 msgstr ""
11366
11367 #. type: tbl table
11368 #: build/C/man2/ioctl_list.2:612
11369 #, no-wrap
11370 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11371 msgstr ""
11372
11373 #. type: tbl table
11374 #: build/C/man2/ioctl_list.2:613
11375 #, no-wrap
11376 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11377 msgstr ""
11378
11379 #. type: tbl table
11380 #: build/C/man2/ioctl_list.2:614
11381 #, no-wrap
11382 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11383 msgstr ""
11384
11385 #. type: tbl table
11386 #: build/C/man2/ioctl_list.2:615
11387 #, no-wrap
11388 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11389 msgstr ""
11390
11391 #. type: tbl table
11392 #: build/C/man2/ioctl_list.2:616
11393 #, no-wrap
11394 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11395 msgstr ""
11396
11397 #. type: tbl table
11398 #: build/C/man2/ioctl_list.2:617
11399 #, no-wrap
11400 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11401 msgstr ""
11402
11403 #. type: tbl table
11404 #: build/C/man2/ioctl_list.2:618
11405 #, no-wrap
11406 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11407 msgstr ""
11408
11409 #. type: tbl table
11410 #: build/C/man2/ioctl_list.2:619
11411 #, no-wrap
11412 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11413 msgstr ""
11414
11415 #. type: tbl table
11416 #: build/C/man2/ioctl_list.2:620
11417 #, no-wrap
11418 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11419 msgstr ""
11420
11421 #. type: tbl table
11422 #: build/C/man2/ioctl_list.2:621
11423 #, no-wrap
11424 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11425 msgstr ""
11426
11427 #. type: tbl table
11428 #: build/C/man2/ioctl_list.2:622
11429 #, no-wrap
11430 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11431 msgstr ""
11432
11433 #. type: tbl table
11434 #: build/C/man2/ioctl_list.2:623
11435 #, no-wrap
11436 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11437 msgstr ""
11438
11439 #. type: tbl table
11440 #: build/C/man2/ioctl_list.2:624
11441 #, no-wrap
11442 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11443 msgstr ""
11444
11445 #. type: tbl table
11446 #: build/C/man2/ioctl_list.2:625
11447 #, no-wrap
11448 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11449 msgstr ""
11450
11451 #. type: tbl table
11452 #: build/C/man2/ioctl_list.2:626
11453 #, no-wrap
11454 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11455 msgstr ""
11456
11457 #. type: tbl table
11458 #: build/C/man2/ioctl_list.2:627
11459 #, no-wrap
11460 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11461 msgstr ""
11462
11463 #. type: tbl table
11464 #: build/C/man2/ioctl_list.2:628
11465 #, no-wrap
11466 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11467 msgstr ""
11468
11469 #. type: tbl table
11470 #: build/C/man2/ioctl_list.2:629
11471 #, no-wrap
11472 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11473 msgstr ""
11474
11475 #. type: tbl table
11476 #: build/C/man2/ioctl_list.2:630
11477 #, no-wrap
11478 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11479 msgstr ""
11480
11481 #. type: tbl table
11482 #: build/C/man2/ioctl_list.2:631
11483 #, no-wrap
11484 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11485 msgstr ""
11486
11487 #. type: tbl table
11488 #: build/C/man2/ioctl_list.2:632
11489 #, no-wrap
11490 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11491 msgstr ""
11492
11493 #. type: tbl table
11494 #: build/C/man2/ioctl_list.2:633
11495 #, no-wrap
11496 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11497 msgstr ""
11498
11499 #. type: tbl table
11500 #: build/C/man2/ioctl_list.2:634
11501 #, no-wrap
11502 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11503 msgstr ""
11504
11505 #. type: tbl table
11506 #: build/C/man2/ioctl_list.2:635
11507 #, no-wrap
11508 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11509 msgstr ""
11510
11511 #. type: tbl table
11512 #: build/C/man2/ioctl_list.2:636
11513 #, no-wrap
11514 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11515 msgstr ""
11516
11517 #. type: tbl table
11518 #: build/C/man2/ioctl_list.2:637
11519 #, no-wrap
11520 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11521 msgstr ""
11522
11523 #. type: tbl table
11524 #: build/C/man2/ioctl_list.2:638
11525 #, no-wrap
11526 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11527 msgstr ""
11528
11529 #. type: Plain text
11530 #: build/C/man2/ioctl_list.2:642
11531 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
11532 msgstr ""
11533
11534 #. type: tbl table
11535 #: build/C/man2/ioctl_list.2:644
11536 #, no-wrap
11537 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11538 msgstr ""
11539
11540 #. type: tbl table
11541 #: build/C/man2/ioctl_list.2:645
11542 #, no-wrap
11543 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11544 msgstr ""
11545
11546 #. type: tbl table
11547 #: build/C/man2/ioctl_list.2:646
11548 #, no-wrap
11549 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11550 msgstr ""
11551
11552 #. type: tbl table
11553 #: build/C/man2/ioctl_list.2:647
11554 #, no-wrap
11555 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11556 msgstr ""
11557
11558 #. type: tbl table
11559 #: build/C/man2/ioctl_list.2:648
11560 #, no-wrap
11561 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11562 msgstr ""
11563
11564 #. type: tbl table
11565 #: build/C/man2/ioctl_list.2:649
11566 #, no-wrap
11567 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11568 msgstr ""
11569
11570 #. type: tbl table
11571 #: build/C/man2/ioctl_list.2:650
11572 #, no-wrap
11573 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11574 msgstr ""
11575
11576 #. type: tbl table
11577 #: build/C/man2/ioctl_list.2:651
11578 #, no-wrap
11579 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11580 msgstr ""
11581
11582 #. type: tbl table
11583 #: build/C/man2/ioctl_list.2:652
11584 #, no-wrap
11585 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11586 msgstr ""
11587
11588 #. type: tbl table
11589 #: build/C/man2/ioctl_list.2:653
11590 #, no-wrap
11591 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11592 msgstr ""
11593
11594 #. type: tbl table
11595 #: build/C/man2/ioctl_list.2:654
11596 #, no-wrap
11597 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11598 msgstr ""
11599
11600 #. type: Plain text
11601 #: build/C/man2/ioctl_list.2:658
11602 msgid "// E<lt>include/linux/vt.hE<gt>"
11603 msgstr ""
11604
11605 #. type: tbl table
11606 #: build/C/man2/ioctl_list.2:660
11607 #, no-wrap
11608 msgid "0x00005600\tVT_OPENQRY\tint *\n"
11609 msgstr ""
11610
11611 #. type: tbl table
11612 #: build/C/man2/ioctl_list.2:661
11613 #, no-wrap
11614 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11615 msgstr ""
11616
11617 #. type: tbl table
11618 #: build/C/man2/ioctl_list.2:662
11619 #, no-wrap
11620 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11621 msgstr ""
11622
11623 #. type: tbl table
11624 #: build/C/man2/ioctl_list.2:663
11625 #, no-wrap
11626 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11627 msgstr ""
11628
11629 #. type: tbl table
11630 #: build/C/man2/ioctl_list.2:664
11631 #, no-wrap
11632 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
11633 msgstr ""
11634
11635 #. type: tbl table
11636 #: build/C/man2/ioctl_list.2:665
11637 #, no-wrap
11638 msgid "0x00005605\tVT_RELDISP\tint\n"
11639 msgstr ""
11640
11641 #. type: tbl table
11642 #: build/C/man2/ioctl_list.2:666
11643 #, no-wrap
11644 msgid "0x00005606\tVT_ACTIVATE\tint\n"
11645 msgstr ""
11646
11647 #. type: tbl table
11648 #: build/C/man2/ioctl_list.2:667
11649 #, no-wrap
11650 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
11651 msgstr ""
11652
11653 #. type: tbl table
11654 #: build/C/man2/ioctl_list.2:668
11655 #, no-wrap
11656 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
11657 msgstr ""
11658
11659 #. type: tbl table
11660 #: build/C/man2/ioctl_list.2:669
11661 #, no-wrap
11662 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11663 msgstr ""
11664
11665 #. type: tbl table
11666 #: build/C/man2/ioctl_list.2:670
11667 #, no-wrap
11668 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11669 msgstr ""
11670
11671 #. type: Plain text
11672 #: build/C/man2/ioctl_list.2:677
11673 msgid ""
11674 "// More arguments.  Some ioctl's take a pointer to a structure which "
11675 "contains additional pointers.  These are documented here in alphabetical "
11676 "order."
11677 msgstr ""
11678
11679 #. type: Plain text
11680 #: build/C/man2/ioctl_list.2:685
11681 msgid ""
11682 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio "
11683 "*>.  The I<buf> field points to an output buffer of length I<nframes * "
11684 "CD_FRAMESIZE_RAW>."
11685 msgstr ""
11686
11687 #. type: Plain text
11688 #: build/C/man2/ioctl_list.2:701
11689 msgid ""
11690 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
11691 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf *>.  They use "
11692 "the same pointer as an output pointer to I<char []>.  The length varies by "
11693 "request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
11694 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
11695 "value 2048)."
11696 msgstr ""
11697
11698 #. type: Plain text
11699 #: build/C/man2/ioctl_list.2:707
11700 #, no-wrap
11701 msgid ""
11702 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
11703 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
11704 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
11705 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
11706 msgstr ""
11707
11708 #. type: Plain text
11709 #: build/C/man2/ioctl_list.2:721
11710 msgid ""
11711 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
11712 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq *>.  The "
11713 "I<ifr_data> field is a pointer to another structure as follows:"
11714 msgstr ""
11715
11716 #. type: Plain text
11717 #: build/C/man2/ioctl_list.2:729
11718 #, no-wrap
11719 msgid ""
11720 "    EQL_ENSLAVE         const struct slaving_request *\n"
11721 "    EQL_EMANCIPATE      const struct slaving_request *\n"
11722 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
11723 "    EQL_SETSLAVECFG     const struct slave_config *\n"
11724 "    EQL_GETMASTERCFG    struct master_config *\n"
11725 "    EQL_SETMASTERCFG    const struct master_config *\n"
11726 msgstr ""
11727
11728 #. type: Plain text
11729 #: build/C/man2/ioctl_list.2:746
11730 msgid ""
11731 "B<FDRAWCMD> takes a I<struct floppy raw_cmd *>.  If I<flags & FD_RAW_WRITE> "
11732 "is nonzero, then I<data> points to an input buffer of length I<length>.  If "
11733 "I<flags & FD_RAW_READ> is nonzero, then I<data> points to an output buffer "
11734 "of length I<length>."
11735 msgstr ""
11736
11737 #. type: Plain text
11738 #: build/C/man2/ioctl_list.2:762
11739 msgid ""
11740 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc *> or a "
11741 "I<const struct console_font_desc *>, respectively.  I<chardata> points to a "
11742 "buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
11743 "and an input buffer for B<PIO_FONTX>."
11744 msgstr ""
11745
11746 #. type: Plain text
11747 #: build/C/man2/ioctl_list.2:778
11748 msgid ""
11749 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc *> or a I<const "
11750 "struct unimapdesc *>, respectively.  I<entries> points to a buffer of "
11751 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
11752 "and an input buffer for B<PIO_UNIMAP>."
11753 msgstr ""
11754
11755 #. type: Plain text
11756 #: build/C/man2/ioctl_list.2:782
11757 msgid ""
11758 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
11759 "ports.  They are essentially alternate interfaces to 'ioperm'."
11760 msgstr ""
11761
11762 #. type: Plain text
11763 #: build/C/man2/ioctl_list.2:788
11764 msgid ""
11765 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
11766 "port access.  They are not implemented in the kernel."
11767 msgstr ""
11768
11769 #. type: Plain text
11770 #: build/C/man2/ioctl_list.2:796
11771 msgid ""
11772 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int *>, which is a "
11773 "length.  It uses the same pointer as an output pointer to a I<char []> "
11774 "buffer of this length."
11775 msgstr ""
11776
11777 #. type: Plain text
11778 #: build/C/man2/ioctl_list.2:802
11779 msgid ""
11780 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
11781 "the protocol:"
11782 msgstr ""
11783
11784 #. type: Plain text
11785 #: build/C/man2/ioctl_list.2:807
11786 #, no-wrap
11787 msgid ""
11788 "    Most protocols      const struct rtentry *\n"
11789 "    AX.25               const struct ax25_route *\n"
11790 "    NET/ROM             const struct nr_route_struct *\n"
11791 msgstr ""
11792
11793 #. type: Plain text
11794 #: build/C/man2/ioctl_list.2:818
11795 msgid ""
11796 "B<SIOCGIFCONF> takes a I<struct ifconf *>.  The I<ifc_buf> field points to a "
11797 "buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
11798 "type I<struct ifreq []>."
11799 msgstr ""
11800
11801 #. type: Plain text
11802 #: build/C/man2/ioctl_list.2:821
11803 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
11804 msgstr ""
11805
11806 #. type: Plain text
11807 #: build/C/man2/ioctl_list.2:825
11808 #, no-wrap
11809 msgid ""
11810 "    Most protocols      const struct ifreq *\n"
11811 "    AX.25               const char [AX25_ADDR_LEN]\n"
11812 msgstr ""
11813
11814 #. type: Plain text
11815 #: build/C/man2/ioctl_list.2:840
11816 msgid ""
11817 "B<TIOCLINUX> takes a I<const char *>.  It uses this to distinguish several "
11818 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
11819 "N-byte pad.  I<struct selection> is implicitly defined in "
11820 "I<drivers/char/selection.c>"
11821 msgstr ""
11822
11823 #. type: Plain text
11824 #: build/C/man2/ioctl_list.2:849
11825 #, no-wrap
11826 msgid ""
11827 "    TIOCLINUX-2         1 + const struct selection *\n"
11828 "    TIOCLINUX-3         void\n"
11829 "    TIOCLINUX-4         void\n"
11830 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
11831 "    TIOCLINUX-6         char *\n"
11832 "    TIOCLINUX-7         char *\n"
11833 "    TIOCLINUX-10        1 + const char *\n"
11834 msgstr ""
11835
11836 #. type: Plain text
11837 #: build/C/man2/ioctl_list.2:852
11838 msgid "// Duplicate ioctls"
11839 msgstr ""
11840
11841 #. type: Plain text
11842 #: build/C/man2/ioctl_list.2:857
11843 msgid ""
11844 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
11845 "B<SIOCPROTOPRIVATE>."
11846 msgstr ""
11847
11848 #. type: tbl table
11849 #: build/C/man2/ioctl_list.2:859
11850 #, no-wrap
11851 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
11852 msgstr ""
11853
11854 #. type: tbl table
11855 #: build/C/man2/ioctl_list.2:860
11856 #, no-wrap
11857 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
11858 msgstr ""
11859
11860 #. type: tbl table
11861 #: build/C/man2/ioctl_list.2:861
11862 #, no-wrap
11863 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
11864 msgstr ""
11865
11866 #. type: tbl table
11867 #: build/C/man2/ioctl_list.2:862
11868 #, no-wrap
11869 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
11870 msgstr ""
11871
11872 #. type: tbl table
11873 #: build/C/man2/ioctl_list.2:863
11874 #, no-wrap
11875 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
11876 msgstr ""
11877
11878 #. type: tbl table
11879 #: build/C/man2/ioctl_list.2:864
11880 #, no-wrap
11881 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
11882 msgstr ""
11883
11884 #. type: Plain text
11885 #: build/C/man2/ioctl_list.2:867
11886 msgid "B<ioctl>(2)"
11887 msgstr ""
11888
11889 #. type: TH
11890 #: build/C/man2/ioperm.2:35
11891 #, no-wrap
11892 msgid "IOPERM"
11893 msgstr ""
11894
11895 #. type: TH
11896 #: build/C/man2/ioperm.2:35
11897 #, no-wrap
11898 msgid "2007-06-15"
11899 msgstr ""
11900
11901 #. type: Plain text
11902 #: build/C/man2/ioperm.2:38
11903 msgid "ioperm - set port input/output permissions"
11904 msgstr ""
11905
11906 #. type: Plain text
11907 #: build/C/man2/ioperm.2:41
11908 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
11909 msgstr ""
11910
11911 #. type: Plain text
11912 #: build/C/man2/ioperm.2:44
11913 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
11914 msgstr ""
11915
11916 #. type: Plain text
11917 #: build/C/man2/ioperm.2:46
11918 msgid ""
11919 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
11920 ">I<turn_on>B<);>"
11921 msgstr ""
11922
11923 #. type: Plain text
11924 #: build/C/man2/ioperm.2:53
11925 msgid ""
11926 "B<ioperm>()  sets the port access permission bits for the calling process "
11927 "for I<num> bytes starting from port address I<from> to the value "
11928 "I<turn_on>.  If I<turn_on> is nonzero, the calling process must be "
11929 "privileged (B<CAP_SYS_RAWIO>)."
11930 msgstr ""
11931
11932 #.  FIXME is the following ("Only the first 0x3ff I/O ports can be
11933 #.  specified in this manner") still true?  Looking at changes in
11934 #.  include/asm-i386/processor.h between 2.4 and 2.6 suggests
11935 #.  that the limit is different in 2.6.
11936 #. type: Plain text
11937 #: build/C/man2/ioperm.2:62
11938 msgid ""
11939 "Only the first 0x3ff I/O ports can be specified in this manner.  For more "
11940 "ports, the B<iopl>(2)  system call must be used."
11941 msgstr ""
11942
11943 #. type: Plain text
11944 #: build/C/man2/ioperm.2:69
11945 msgid ""
11946 "Permissions are not inherited by the child created by B<fork>(2).  "
11947 "Permissions are preserved across B<execve>(2); this is useful for giving "
11948 "port access permissions to unprivileged programs."
11949 msgstr ""
11950
11951 #. type: Plain text
11952 #: build/C/man2/ioperm.2:73
11953 msgid ""
11954 "This call is mostly for the i386 architecture.  On many other architectures "
11955 "it does not exist or will always return an error."
11956 msgstr ""
11957
11958 #. type: Plain text
11959 #: build/C/man2/ioperm.2:85
11960 msgid "Invalid values for I<from> or I<num>."
11961 msgstr ""
11962
11963 #. type: Plain text
11964 #: build/C/man2/ioperm.2:88
11965 msgid "(on PowerPC) This call is not supported."
11966 msgstr ""
11967
11968 #.  Could not allocate I/O bitmap.
11969 #. type: Plain text
11970 #: build/C/man2/ioperm.2:92
11971 msgid "Out of memory."
11972 msgstr ""
11973
11974 #. type: Plain text
11975 #: build/C/man2/ioperm.2:95
11976 msgid "The calling process has insufficient privilege."
11977 msgstr ""
11978
11979 #. type: Plain text
11980 #: build/C/man2/ioperm.2:99
11981 msgid ""
11982 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
11983 "to be portable."
11984 msgstr ""
11985
11986 #. type: Plain text
11987 #: build/C/man2/ioperm.2:108
11988 msgid ""
11989 "Libc5 treats it as a system call and has a prototype in "
11990 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
11991 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
11992 "Avoid the latter, it is available on i386 only."
11993 msgstr ""
11994
11995 #. type: Plain text
11996 #: build/C/man2/ioperm.2:110
11997 msgid "B<iopl>(2), B<capabilities>(7)"
11998 msgstr ""
11999
12000 #. type: TH
12001 #: build/C/man3/lockf.3:22
12002 #, no-wrap
12003 msgid "LOCKF"
12004 msgstr ""
12005
12006 #. type: TH
12007 #: build/C/man3/lockf.3:22
12008 #, no-wrap
12009 msgid "2011-09-11"
12010 msgstr ""
12011
12012 #. type: Plain text
12013 #: build/C/man3/lockf.3:25
12014 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12015 msgstr ""
12016
12017 #. type: Plain text
12018 #: build/C/man3/lockf.3:29
12019 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12020 msgstr ""
12021
12022 #. type: Plain text
12023 #: build/C/man3/lockf.3:36
12024 msgid "B<lockf>():"
12025 msgstr ""
12026
12027 #. type: Plain text
12028 #: build/C/man3/lockf.3:40
12029 msgid ""
12030 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12031 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12032 msgstr ""
12033
12034 #. type: Plain text
12035 #: build/C/man3/lockf.3:63
12036 msgid ""
12037 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12038 "is specified by I<fd>, a file descriptor open for writing, the action by "
12039 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12040 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12041 "where I<pos> is the current file position, and if I<len> is zero, the "
12042 "section extends from the current file position to infinity, encompassing the "
12043 "present and future end-of-file positions.  In all cases, the section may "
12044 "extend past current end-of-file."
12045 msgstr ""
12046
12047 #. type: Plain text
12048 #: build/C/man3/lockf.3:78
12049 msgid ""
12050 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12051 "Many other systems implement B<lockf>()  in this way, but note that "
12052 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12053 "locks unspecified.  A portable application should probably avoid mixing "
12054 "calls to these interfaces."
12055 msgstr ""
12056
12057 #. type: Plain text
12058 #: build/C/man3/lockf.3:80
12059 msgid "Valid operations are given below:"
12060 msgstr ""
12061
12062 #. type: TP
12063 #: build/C/man3/lockf.3:80
12064 #, no-wrap
12065 msgid "B<F_LOCK>"
12066 msgstr ""
12067
12068 #. type: Plain text
12069 #: build/C/man3/lockf.3:90
12070 msgid ""
12071 "Set an exclusive lock on the specified section of the file.  If (part of) "
12072 "this section is already locked, the call blocks until the previous lock is "
12073 "released.  If this section overlaps an earlier locked section, both are "
12074 "merged.  File locks are released as soon as the process holding the locks "
12075 "closes some file descriptor for the file.  A child process does not inherit "
12076 "these locks."
12077 msgstr ""
12078
12079 #. type: TP
12080 #: build/C/man3/lockf.3:90
12081 #, no-wrap
12082 msgid "B<F_TLOCK>"
12083 msgstr ""
12084
12085 #. type: Plain text
12086 #: build/C/man3/lockf.3:96
12087 msgid ""
12088 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12089 "the file is already locked."
12090 msgstr ""
12091
12092 #. type: TP
12093 #: build/C/man3/lockf.3:96
12094 #, no-wrap
12095 msgid "B<F_ULOCK>"
12096 msgstr ""
12097
12098 #. type: Plain text
12099 #: build/C/man3/lockf.3:100
12100 msgid ""
12101 "Unlock the indicated section of the file.  This may cause a locked section "
12102 "to be split into two locked sections."
12103 msgstr ""
12104
12105 #. type: TP
12106 #: build/C/man3/lockf.3:100
12107 #, no-wrap
12108 msgid "B<F_TEST>"
12109 msgstr ""
12110
12111 #. type: Plain text
12112 #: build/C/man3/lockf.3:110
12113 msgid ""
12114 "Test the lock: return 0 if the specified section is unlocked or locked by "
12115 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12116 "systems), if another process holds a lock."
12117 msgstr ""
12118
12119 #. type: Plain text
12120 #: build/C/man3/lockf.3:124
12121 msgid ""
12122 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12123 "operation is prohibited because the file has been memory-mapped by another "
12124 "process."
12125 msgstr ""
12126
12127 #. type: Plain text
12128 #: build/C/man3/lockf.3:136
12129 msgid ""
12130 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12131 "and I<fd> is not a writable file descriptor."
12132 msgstr ""
12133
12134 #. type: Plain text
12135 #: build/C/man3/lockf.3:141
12136 msgid "The command was B<T_LOCK> and this lock operation would cause a deadlock."
12137 msgstr ""
12138
12139 #. type: Plain text
12140 #: build/C/man3/lockf.3:145
12141 msgid "An invalid operation was specified in I<fd>."
12142 msgstr ""
12143
12144 #. type: Plain text
12145 #: build/C/man3/lockf.3:148
12146 msgid "Too many segment locks open, lock table is full."
12147 msgstr ""
12148
12149 #. type: Plain text
12150 #: build/C/man3/lockf.3:150
12151 msgid "SVr4, POSIX.1-2001."
12152 msgstr ""
12153
12154 #. type: Plain text
12155 #: build/C/man3/lockf.3:153
12156 msgid "B<fcntl>(2), B<flock>(2)"
12157 msgstr ""
12158
12159 #. type: Plain text
12160 #: build/C/man3/lockf.3:165
12161 msgid ""
12162 "There are also I<locks.txt> and I<mandatory-locking.txt> in the kernel "
12163 "source directory I<Documentation/filesystems>.  (On older kernels, these "
12164 "files are directly under the I<Documentation/> directory, and "
12165 "I<mandatory-locking.txt> is called I<mandatory.txt>.)"
12166 msgstr ""
12167
12168 #. type: TH
12169 #: build/C/man2/mincore.2:34
12170 #, no-wrap
12171 msgid "MINCORE"
12172 msgstr ""
12173
12174 #. type: TH
12175 #: build/C/man2/mincore.2:34
12176 #, no-wrap
12177 msgid "2008-04-22"
12178 msgstr ""
12179
12180 #. type: Plain text
12181 #: build/C/man2/mincore.2:37
12182 msgid "mincore - determine whether pages are resident in memory"
12183 msgstr ""
12184
12185 #. type: Plain text
12186 #: build/C/man2/mincore.2:41
12187 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12188 msgstr ""
12189
12190 #. type: Plain text
12191 #: build/C/man2/mincore.2:43
12192 msgid ""
12193 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12194 "*>I<vec>B<);>"
12195 msgstr ""
12196
12197 #. type: Plain text
12198 #: build/C/man2/mincore.2:51
12199 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12200 msgstr ""
12201
12202 #. type: Plain text
12203 #: build/C/man2/mincore.2:62
12204 msgid ""
12205 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12206 "process's virtual memory are resident in core (RAM), and so will not cause a "
12207 "disk access (page fault) if referenced.  The kernel returns residency "
12208 "information about the pages starting at the address I<addr>, and continuing "
12209 "for I<length> bytes."
12210 msgstr ""
12211
12212 #. type: Plain text
12213 #: build/C/man2/mincore.2:76
12214 msgid ""
12215 "The I<addr> argument must be a multiple of the system page size.  The "
12216 "I<length> argument need not be a multiple of the page size, but since "
12217 "residency information is returned for whole pages, I<length> is effectively "
12218 "rounded up to the next multiple of the page size.  One may obtain the page "
12219 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12220 msgstr ""
12221
12222 #. type: Plain text
12223 #: build/C/man2/mincore.2:94
12224 msgid ""
12225 "The I<vec> argument must point to an array containing at least "
12226 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
12227 "bit of each byte will be set if the corresponding page is currently resident "
12228 "in memory, and be clear otherwise.  (The settings of the other bits in each "
12229 "byte are undefined; these bits are reserved for possible later use.)  Of "
12230 "course the information returned in I<vec> is only a snapshot: pages that are "
12231 "not locked in memory can come and go at any moment, and the contents of "
12232 "I<vec> may already be stale by the time this call returns."
12233 msgstr ""
12234
12235 #. type: Plain text
12236 #: build/C/man2/mincore.2:101
12237 msgid ""
12238 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
12239 "I<errno> is set appropriately."
12240 msgstr ""
12241
12242 #. type: Plain text
12243 #: build/C/man2/mincore.2:104
12244 msgid "B<EAGAIN> kernel is temporarily out of resources."
12245 msgstr ""
12246
12247 #. type: Plain text
12248 #: build/C/man2/mincore.2:108
12249 msgid "I<vec> points to an invalid address."
12250 msgstr ""
12251
12252 #. type: Plain text
12253 #: build/C/man2/mincore.2:112
12254 msgid "I<addr> is not a multiple of the page size."
12255 msgstr ""
12256
12257 #. type: Plain text
12258 #: build/C/man2/mincore.2:124
12259 msgid ""
12260 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
12261 "negative value is specified for I<length>, since that value will be "
12262 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
12263 "error B<EINVAL> was returned for this condition."
12264 msgstr ""
12265
12266 #. type: Plain text
12267 #: build/C/man2/mincore.2:132
12268 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
12269 msgstr ""
12270
12271 #. type: Plain text
12272 #: build/C/man2/mincore.2:134
12273 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
12274 msgstr ""
12275
12276 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
12277 #.  AIX 5.1, SunOS 4.1
12278 #.  .SH HISTORY
12279 #.  The
12280 #.  .BR mincore ()
12281 #.  function first appeared in 4.4BSD.
12282 #. type: Plain text
12283 #: build/C/man2/mincore.2:144
12284 msgid ""
12285 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
12286 "all UNIX implementations."
12287 msgstr ""
12288
12289 #.  Linux (up to now, 2.6.5),
12290 #.  .B mincore
12291 #.  does not return correct information for MAP_PRIVATE mappings:
12292 #.  for a MAP_PRIVATE file mapping,
12293 #.  .B mincore
12294 #.  returns the residency of the file pages, rather than any
12295 #.  modified process-private pages that have been copied on write;
12296 #.  for a MAP_PRIVATE mapping of
12297 #.  .IR /dev/zero ,
12298 #.  .B mincore
12299 #.  always reports pages as nonresident;
12300 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
12301 #.  .B mincore
12302 #.  always fails with the error
12303 #.  .BR ENOMEM .
12304 #. type: Plain text
12305 #: build/C/man2/mincore.2:166
12306 msgid ""
12307 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
12308 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
12309 "B<remap_file_pages>(2))."
12310 msgstr ""
12311
12312 #. type: Plain text
12313 #: build/C/man2/mincore.2:168
12314 msgid "B<mlock>(2), B<mmap>(2)"
12315 msgstr ""
12316
12317 #. type: TH
12318 #: build/C/man2/mkdir.2:9
12319 #, no-wrap
12320 msgid "MKDIR"
12321 msgstr ""
12322
12323 #. type: TH
12324 #: build/C/man2/mkdir.2:9
12325 #, no-wrap
12326 msgid "2010-06-26"
12327 msgstr ""
12328
12329 #. type: Plain text
12330 #: build/C/man2/mkdir.2:12
12331 msgid "mkdir - create a directory"
12332 msgstr ""
12333
12334 #.  .B #include <unistd.h>
12335 #. type: Plain text
12336 #: build/C/man2/mkdir.2:17
12337 #, no-wrap
12338 msgid ""
12339 "B<#include E<lt>sys/stat.hE<gt>>\n"
12340 "B<#include E<lt>sys/types.hE<gt>>\n"
12341 msgstr ""
12342
12343 #. type: Plain text
12344 #: build/C/man2/mkdir.2:19
12345 #, no-wrap
12346 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12347 msgstr ""
12348
12349 #. type: Plain text
12350 #: build/C/man2/mkdir.2:24
12351 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
12352 msgstr ""
12353
12354 #. type: Plain text
12355 #: build/C/man2/mkdir.2:34
12356 msgid ""
12357 "The argument I<mode> specifies the permissions to use.  It is modified by "
12358 "the process's I<umask> in the usual way: the permissions of the created "
12359 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
12360 "directory depend on the operating system.  For Linux, see below."
12361 msgstr ""
12362
12363 #. type: Plain text
12364 #: build/C/man2/mkdir.2:44
12365 msgid ""
12366 "The newly created directory will be owned by the effective user ID of the "
12367 "process.  If the directory containing the file has the set-group-ID bit set, "
12368 "or if the file system is mounted with BSD group semantics (I<mount -o "
12369 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
12370 "inherit the group ownership from its parent; otherwise it will be owned by "
12371 "the effective group ID of the process."
12372 msgstr ""
12373
12374 #. type: Plain text
12375 #: build/C/man2/mkdir.2:47
12376 msgid ""
12377 "If the parent directory has the set-group-ID bit set then so will the newly "
12378 "created directory."
12379 msgstr ""
12380
12381 #. type: Plain text
12382 #: build/C/man2/mkdir.2:52
12383 msgid ""
12384 "B<mkdir>()  returns zero on success, or -1 if an error occurred (in which "
12385 "case, I<errno> is set appropriately)."
12386 msgstr ""
12387
12388 #. type: Plain text
12389 #: build/C/man2/mkdir.2:61
12390 msgid ""
12391 "The parent directory does not allow write permission to the process, or one "
12392 "of the directories in I<pathname> did not allow search permission.  (See "
12393 "also B<path_resolution>(7).)"
12394 msgstr ""
12395
12396 #. type: TP
12397 #: build/C/man2/mkdir.2:61
12398 #, no-wrap
12399 msgid "B<EEXIST>"
12400 msgstr ""
12401
12402 #. type: Plain text
12403 #: build/C/man2/mkdir.2:68
12404 msgid ""
12405 "I<pathname> already exists (not necessarily as a directory).  This includes "
12406 "the case where I<pathname> is a symbolic link, dangling or not."
12407 msgstr ""
12408
12409 #. type: TP
12410 #: build/C/man2/mkdir.2:75
12411 #, no-wrap
12412 msgid "B<EMLINK>"
12413 msgstr ""
12414
12415 #. type: Plain text
12416 #: build/C/man2/mkdir.2:79
12417 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
12418 msgstr ""
12419
12420 #. type: Plain text
12421 #: build/C/man2/mkdir.2:82
12422 msgid "I<pathname> was too long."
12423 msgstr ""
12424
12425 #. type: Plain text
12426 #: build/C/man2/mkdir.2:87
12427 msgid ""
12428 "A directory component in I<pathname> does not exist or is a dangling "
12429 "symbolic link."
12430 msgstr ""
12431
12432 #. type: TP
12433 #: build/C/man2/mkdir.2:90 build/C/man2/mkdir.2:95
12434 #, no-wrap
12435 msgid "B<ENOSPC>"
12436 msgstr ""
12437
12438 #. type: Plain text
12439 #: build/C/man2/mkdir.2:95
12440 msgid "The device containing I<pathname> has no room for the new directory."
12441 msgstr ""
12442
12443 #. type: Plain text
12444 #: build/C/man2/mkdir.2:99
12445 msgid ""
12446 "The new directory cannot be created because the user's disk quota is "
12447 "exhausted."
12448 msgstr ""
12449
12450 #. type: Plain text
12451 #: build/C/man2/mkdir.2:109
12452 msgid ""
12453 "The file system containing I<pathname> does not support the creation of "
12454 "directories."
12455 msgstr ""
12456
12457 #. type: Plain text
12458 #: build/C/man2/mkdir.2:113
12459 msgid "I<pathname> refers to a file on a read-only file system."
12460 msgstr ""
12461
12462 #.  SVr4 documents additional EIO, EMULTIHOP
12463 #. type: Plain text
12464 #: build/C/man2/mkdir.2:116
12465 msgid "SVr4, BSD, POSIX.1-2001."
12466 msgstr ""
12467
12468 #. type: Plain text
12469 #: build/C/man2/mkdir.2:124
12470 msgid ""
12471 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
12472 "honored.  That is, under Linux the created directory actually gets mode "
12473 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
12474 msgstr ""
12475
12476 #. type: Plain text
12477 #: build/C/man2/mkdir.2:128
12478 msgid ""
12479 "There are many infelicities in the protocol underlying NFS.  Some of these "
12480 "affect B<mkdir>()."
12481 msgstr ""
12482
12483 #. type: Plain text
12484 #: build/C/man2/mkdir.2:139
12485 msgid ""
12486 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mkdirat>(2), B<mknod>(2), "
12487 "B<mount>(2), B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
12488 "B<path_resolution>(7)"
12489 msgstr ""
12490
12491 #. type: TH
12492 #: build/C/man2/nice.2:31
12493 #, no-wrap
12494 msgid "NICE"
12495 msgstr ""
12496
12497 #. type: Plain text
12498 #: build/C/man2/nice.2:34
12499 msgid "nice - change process priority"
12500 msgstr ""
12501
12502 #. type: Plain text
12503 #: build/C/man2/nice.2:38
12504 msgid "B<int nice(int >I<inc>B<);>"
12505 msgstr ""
12506
12507 #. type: Plain text
12508 #: build/C/man2/nice.2:46
12509 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12510 msgstr ""
12511
12512 #. type: Plain text
12513 #: build/C/man2/nice.2:56
12514 msgid ""
12515 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
12516 "nice value means a low priority.)  Only the super\\%user may specify a "
12517 "negative increment, or priority increase.  The range for nice values is "
12518 "described in B<getpriority>(2)."
12519 msgstr ""
12520
12521 #. type: Plain text
12522 #: build/C/man2/nice.2:61
12523 msgid ""
12524 "On success, the new nice value is returned (but see NOTES below).  On error, "
12525 "-1 is returned, and I<errno> is set appropriately."
12526 msgstr ""
12527
12528 #. type: Plain text
12529 #: build/C/man2/nice.2:75
12530 msgid ""
12531 "The calling process attempted to increase its priority by supplying a "
12532 "negative I<inc> but has insufficient privileges.  Under Linux the "
12533 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
12534 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
12535 msgstr ""
12536
12537 #. type: Plain text
12538 #: build/C/man2/nice.2:82
12539 msgid ""
12540 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
12541 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
12542 "additional B<EINVAL> error code."
12543 msgstr ""
12544
12545 #. type: Plain text
12546 #: build/C/man2/nice.2:92
12547 msgid ""
12548 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
12549 "value.  However, the Linux syscall and the B<nice>()  library function "
12550 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
12551 "success.  The new nice value can be found using B<getpriority>(2)."
12552 msgstr ""
12553
12554 #. type: Plain text
12555 #: build/C/man2/nice.2:105
12556 msgid ""
12557 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
12558 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
12559 "caller.  With this implementation, a successful call can legitimately return "
12560 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
12561 "check its value when B<nice>()  returns -1."
12562 msgstr ""
12563
12564 #. type: Plain text
12565 #: build/C/man2/nice.2:111
12566 msgid ""
12567 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
12568 "B<capabilities>(7)"
12569 msgstr ""
12570
12571 #. type: TH
12572 #: build/C/man2/pread.2:23
12573 #, no-wrap
12574 msgid "PREAD"
12575 msgstr ""
12576
12577 #. type: TH
12578 #: build/C/man2/pread.2:23
12579 #, no-wrap
12580 msgid "2010-11-21"
12581 msgstr ""
12582
12583 #. type: Plain text
12584 #: build/C/man2/pread.2:26
12585 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
12586 msgstr ""
12587
12588 #. type: Plain text
12589 #: build/C/man2/pread.2:31
12590 msgid ""
12591 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
12592 ">I<offset>B<);>"
12593 msgstr ""
12594
12595 #. type: Plain text
12596 #: build/C/man2/pread.2:34
12597 msgid ""
12598 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
12599 "off_t >I<offset>B<);>"
12600 msgstr ""
12601
12602 #. type: Plain text
12603 #: build/C/man2/pread.2:44
12604 msgid "B<pread>(), B<pwrite>():"
12605 msgstr ""
12606
12607 #. type: Plain text
12608 #: build/C/man2/pread.2:46
12609 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12610 msgstr ""
12611
12612 #. type: Plain text
12613 #: build/C/man2/pread.2:62
12614 msgid ""
12615 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
12616 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
12617 "The file offset is not changed."
12618 msgstr ""
12619
12620 #. type: Plain text
12621 #: build/C/man2/pread.2:73
12622 msgid ""
12623 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
12624 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
12625 "changed."
12626 msgstr ""
12627
12628 #. type: Plain text
12629 #: build/C/man2/pread.2:77
12630 msgid "The file referenced by I<fd> must be capable of seeking."
12631 msgstr ""
12632
12633 #. type: Plain text
12634 #: build/C/man2/pread.2:87
12635 msgid ""
12636 "On success, the number of bytes read or written is returned (zero indicates "
12637 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
12638 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
12639 "indicate the error."
12640 msgstr ""
12641
12642 #. type: Plain text
12643 #: build/C/man2/pread.2:102
12644 msgid ""
12645 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
12646 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
12647 "specified for B<write>(2)  or B<lseek>(2)."
12648 msgstr ""
12649
12650 #. type: Plain text
12651 #: build/C/man2/pread.2:113
12652 msgid ""
12653 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
12654 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
12655 "library support (including emulation using B<lseek>(2)  on older kernels "
12656 "without the system calls) was added in glibc 2.1."
12657 msgstr ""
12658
12659 #. type: Plain text
12660 #: build/C/man2/pread.2:131
12661 msgid ""
12662 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
12663 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
12664 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
12665 "functions transparently deal with the change."
12666 msgstr ""
12667
12668 #. type: Plain text
12669 #: build/C/man2/pread.2:135
12670 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
12671 msgstr ""
12672
12673 #. type: TH
12674 #: build/C/man2/set_thread_area.2:7
12675 #, no-wrap
12676 msgid "SET_THREAD_AREA"
12677 msgstr ""
12678
12679 #. type: Plain text
12680 #: build/C/man2/set_thread_area.2:10
12681 msgid "set_thread_area - Set a Thread Local Storage (TLS) area"
12682 msgstr ""
12683
12684 #. type: Plain text
12685 #: build/C/man2/set_thread_area.2:16
12686 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
12687 msgstr ""
12688
12689 #. type: Plain text
12690 #: build/C/man2/set_thread_area.2:29
12691 msgid ""
12692 "B<set_thread_area>()  sets an entry in the current thread's Thread Local "
12693 "Storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
12694 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
12695 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
12696 "descriptor pointed to by I<u_info> into the thread's TLS array."
12697 msgstr ""
12698
12699 #. type: Plain text
12700 #: build/C/man2/set_thread_area.2:40
12701 msgid ""
12702 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
12703 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
12704 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
12705 "changed."
12706 msgstr ""
12707
12708 #. type: Plain text
12709 #: build/C/man2/set_thread_area.2:45
12710 msgid ""
12711 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
12712 "set appropriately."
12713 msgstr ""
12714
12715 #. type: TP
12716 #: build/C/man2/set_thread_area.2:52
12717 #, no-wrap
12718 msgid "B<ESRCH>"
12719 msgstr ""
12720
12721 #. type: Plain text
12722 #: build/C/man2/set_thread_area.2:55
12723 msgid "A free TLS entry could not be located."
12724 msgstr ""
12725
12726 #. type: Plain text
12727 #: build/C/man2/set_thread_area.2:59
12728 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
12729 msgstr ""
12730
12731 #. type: Plain text
12732 #: build/C/man2/set_thread_area.2:63
12733 msgid ""
12734 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
12735 "that are intended to be portable."
12736 msgstr ""
12737
12738 #. type: Plain text
12739 #: build/C/man2/set_thread_area.2:68
12740 msgid "B<get_thread_area>(2)"
12741 msgstr ""
12742
12743 #. type: TH
12744 #: build/C/man2/setup.2:34
12745 #, no-wrap
12746 msgid "SETUP"
12747 msgstr ""
12748
12749 #. type: TH
12750 #: build/C/man2/setup.2:34 build/C/man2/uname.2:25
12751 #, no-wrap
12752 msgid "2008-12-03"
12753 msgstr ""
12754
12755 #. type: Plain text
12756 #: build/C/man2/setup.2:37
12757 msgid "setup - setup devices and file systems, mount root file system"
12758 msgstr ""
12759
12760 #. type: Plain text
12761 #: build/C/man2/setup.2:41
12762 msgid "B<int setup(void);>"
12763 msgstr ""
12764
12765 #. type: Plain text
12766 #: build/C/man2/setup.2:47
12767 msgid ""
12768 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
12769 "initialization functions for devices and file systems configured into the "
12770 "kernel and then mounts the root file system."
12771 msgstr ""
12772
12773 #. type: Plain text
12774 #: build/C/man2/setup.2:53
12775 msgid ""
12776 "No user process may call B<setup>().  Any user process, even a process with "
12777 "superuser permission, will receive B<EPERM>."
12778 msgstr ""
12779
12780 #. type: Plain text
12781 #: build/C/man2/setup.2:56
12782 msgid "B<setup>()  always returns -1 for a user process."
12783 msgstr ""
12784
12785 #. type: Plain text
12786 #: build/C/man2/setup.2:62
12787 msgid "Since Linux 2.1.121, no such function exists anymore."
12788 msgstr ""
12789
12790 #. type: Plain text
12791 #: build/C/man2/setup.2:65
12792 msgid ""
12793 "This function is Linux-specific, and should not be used in programs intended "
12794 "to be portable, or indeed in any programs at all."
12795 msgstr ""
12796
12797 #. type: Plain text
12798 #: build/C/man2/setup.2:71
12799 msgid ""
12800 "The calling sequence varied: at some times I<setup ()> has had a single "
12801 "argument I<void *BIOS> and at other times a single argument I<int magic>."
12802 msgstr ""
12803
12804 #. type: TH
12805 #: build/C/man5/shells.5:27
12806 #, no-wrap
12807 msgid "SHELLS"
12808 msgstr ""
12809
12810 #. type: TH
12811 #: build/C/man5/shells.5:27
12812 #, no-wrap
12813 msgid "1993-11-21"
12814 msgstr ""
12815
12816 #. type: Plain text
12817 #: build/C/man5/shells.5:30
12818 msgid "shells - pathnames of valid login shells"
12819 msgstr ""
12820
12821 #. type: Plain text
12822 #: build/C/man5/shells.5:36
12823 msgid ""
12824 "I</etc/shells> is a text file which contains the full pathnames of valid "
12825 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
12826 "queried by other programs."
12827 msgstr ""
12828
12829 #. type: Plain text
12830 #: build/C/man5/shells.5:41
12831 msgid ""
12832 "Be aware that there are programs which consult this file to find out if a "
12833 "user is a normal user.  E.g.: ftp daemons traditionally disallow access to "
12834 "users with shells not included in this file."
12835 msgstr ""
12836
12837 #. type: Plain text
12838 #: build/C/man5/shells.5:43
12839 msgid "I</etc/shells>"
12840 msgstr ""
12841
12842 #. type: Plain text
12843 #: build/C/man5/shells.5:46
12844 msgid "I</etc/shells> may contain the following paths:"
12845 msgstr ""
12846
12847 #. type: Plain text
12848 #: build/C/man5/shells.5:49
12849 msgid "I</bin/sh>"
12850 msgstr ""
12851
12852 #. type: Plain text
12853 #: build/C/man5/shells.5:51
12854 msgid "I</bin/csh>"
12855 msgstr ""
12856
12857 #. type: Plain text
12858 #: build/C/man5/shells.5:54
12859 msgid "B<chsh>(1), B<getusershell>(3)"
12860 msgstr ""
12861
12862 #. type: TH
12863 #: build/C/man3/sleep.3:24
12864 #, no-wrap
12865 msgid "SLEEP"
12866 msgstr ""
12867
12868 #. type: Plain text
12869 #: build/C/man3/sleep.3:27
12870 msgid "sleep - Sleep for the specified number of seconds"
12871 msgstr ""
12872
12873 #. type: Plain text
12874 #: build/C/man3/sleep.3:32
12875 #, no-wrap
12876 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
12877 msgstr ""
12878
12879 #. type: Plain text
12880 #: build/C/man3/sleep.3:38
12881 msgid ""
12882 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
12883 "elapsed or a signal arrives which is not ignored."
12884 msgstr ""
12885
12886 #. type: Plain text
12887 #: build/C/man3/sleep.3:42
12888 msgid ""
12889 "Zero if the requested time has elapsed, or the number of seconds left to "
12890 "sleep, if the call was interrupted by a signal handler."
12891 msgstr ""
12892
12893 #. type: Plain text
12894 #: build/C/man3/sleep.3:53
12895 msgid ""
12896 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
12897 "and B<sleep>()  is a bad idea."
12898 msgstr ""
12899
12900 #. type: Plain text
12901 #: build/C/man3/sleep.3:59
12902 msgid ""
12903 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
12904 "B<SIGALRM> while sleeping will cause undefined results."
12905 msgstr ""
12906
12907 #. type: Plain text
12908 #: build/C/man3/sleep.3:63
12909 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
12910 msgstr ""
12911
12912 #. type: TH
12913 #: build/C/man3/swab.3:29
12914 #, no-wrap
12915 msgid "SWAB"
12916 msgstr ""
12917
12918 #. type: TH
12919 #: build/C/man3/swab.3:29
12920 #, no-wrap
12921 msgid "2001-12-15"
12922 msgstr ""
12923
12924 #. type: Plain text
12925 #: build/C/man3/swab.3:32
12926 msgid "swab - swap adjacent bytes"
12927 msgstr ""
12928
12929 #. type: Plain text
12930 #: build/C/man3/swab.3:36
12931 #, no-wrap
12932 msgid ""
12933 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
12934 "B<#include E<lt>unistd.hE<gt>>\n"
12935 msgstr ""
12936
12937 #. type: Plain text
12938 #: build/C/man3/swab.3:38
12939 #, no-wrap
12940 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
12941 msgstr ""
12942
12943 #. type: Plain text
12944 #: build/C/man3/swab.3:47
12945 msgid ""
12946 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
12947 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
12948 "bytes.  This function is used to exchange data between machines that have "
12949 "different low/high byte ordering."
12950 msgstr ""
12951
12952 #. type: Plain text
12953 #: build/C/man3/swab.3:52
12954 msgid ""
12955 "This function does nothing when I<n> is negative.  When I<n> is positive and "
12956 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
12957 "the last byte.  (In other words, I<n> should be even.)"
12958 msgstr ""
12959
12960 #. type: Plain text
12961 #: build/C/man3/swab.3:56
12962 msgid "The B<swab>()  function returns no value."
12963 msgstr ""
12964
12965 #. type: Plain text
12966 #: build/C/man3/swab.3:59
12967 msgid "B<bstring>(3)"
12968 msgstr ""
12969
12970 #. type: TH
12971 #: build/C/man2/swapon.2:37
12972 #, no-wrap
12973 msgid "SWAPON"
12974 msgstr ""
12975
12976 #. type: TH
12977 #: build/C/man2/swapon.2:37
12978 #, no-wrap
12979 msgid "2010-11-15"
12980 msgstr ""
12981
12982 #. type: Plain text
12983 #: build/C/man2/swapon.2:40
12984 msgid "swapon, swapoff - start/stop swapping to file/device"
12985 msgstr ""
12986
12987 #. type: Plain text
12988 #: build/C/man2/swapon.2:44
12989 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
12990 msgstr ""
12991
12992 #. type: Plain text
12993 #: build/C/man2/swapon.2:46
12994 msgid "B<#include E<lt>sys/swap.hE<gt>>"
12995 msgstr ""
12996
12997 #. type: Plain text
12998 #: build/C/man2/swapon.2:48
12999 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13000 msgstr ""
13001
13002 #. type: Plain text
13003 #: build/C/man2/swapon.2:50
13004 msgid "B<int swapoff(const char *>I<path>B<);>"
13005 msgstr ""
13006
13007 #. type: Plain text
13008 #: build/C/man2/swapon.2:57
13009 msgid ""
13010 "B<swapon>()  sets the swap area to the file or block device specified by "
13011 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13012 "by I<path>."
13013 msgstr ""
13014
13015 #. type: Plain text
13016 #: build/C/man2/swapon.2:67
13017 msgid ""
13018 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13019 "I<swapflags> argument, the new swap area will have a higher priority than "
13020 "default.  The priority is encoded within I<swapflags> as:"
13021 msgstr ""
13022
13023 #. type: Plain text
13024 #: build/C/man2/swapon.2:70
13025 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13026 msgstr ""
13027
13028 #. type: Plain text
13029 #: build/C/man2/swapon.2:82
13030 msgid ""
13031 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13032 "I<swapflags> argument, freed swap pages will be discarded before they are "
13033 "reused, if the swap device supports the discard or trim operation.  (This "
13034 "may improve performance on some Solid State Devices, but often it does not.)  "
13035 "See also NOTES."
13036 msgstr ""
13037
13038 #. type: Plain text
13039 #: build/C/man2/swapon.2:86
13040 msgid ""
13041 "These functions may only be used by a privileged process (one having the "
13042 "B<CAP_SYS_ADMIN> capability)."
13043 msgstr ""
13044
13045 #. type: SS
13046 #: build/C/man2/swapon.2:86
13047 #, no-wrap
13048 msgid "Priority"
13049 msgstr ""
13050
13051 #. type: Plain text
13052 #: build/C/man2/swapon.2:91
13053 msgid ""
13054 "Each swap area has a priority, either high or low.  The default priority is "
13055 "low.  Within the low-priority areas, newer areas are even lower priority "
13056 "than older areas."
13057 msgstr ""
13058
13059 #. type: Plain text
13060 #: build/C/man2/swapon.2:97
13061 msgid ""
13062 "All priorities set with I<swapflags> are high-priority, higher than "
13063 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13064 "numbers mean higher priority."
13065 msgstr ""
13066
13067 #. type: Plain text
13068 #: build/C/man2/swapon.2:105
13069 msgid ""
13070 "Swap pages are allocated from areas in priority order, highest priority "
13071 "first.  For areas with different priorities, a higher-priority area is "
13072 "exhausted before using a lower-priority area.  If two or more areas have the "
13073 "same priority, and it is the highest priority available, pages are allocated "
13074 "on a round-robin basis between them."
13075 msgstr ""
13076
13077 #. type: Plain text
13078 #: build/C/man2/swapon.2:108
13079 msgid ""
13080 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13081 "exceptions."
13082 msgstr ""
13083
13084 #. type: Plain text
13085 #: build/C/man2/swapon.2:121
13086 msgid ""
13087 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13088 "area."
13089 msgstr ""
13090
13091 #. type: Plain text
13092 #: build/C/man2/swapon.2:133
13093 msgid ""
13094 "The file I<path> exists, but refers neither to a regular file nor to a block "
13095 "device; or, for B<swapon>(), the indicated path does not contain a valid "
13096 "swap signature or resides on an in-memory file system like tmpfs; or, for "
13097 "B<swapoff>(), I<path> is not currently a swap area."
13098 msgstr ""
13099
13100 #. type: Plain text
13101 #: build/C/man2/swapon.2:141
13102 msgid "The file I<path> does not exist."
13103 msgstr ""
13104
13105 #. type: Plain text
13106 #: build/C/man2/swapon.2:144
13107 msgid "The system has insufficient memory to start swapping."
13108 msgstr ""
13109
13110 #. type: Plain text
13111 #: build/C/man2/swapon.2:151
13112 msgid ""
13113 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
13114 "the maximum number of swap files are already in use; see NOTES below."
13115 msgstr ""
13116
13117 #. type: Plain text
13118 #: build/C/man2/swapon.2:157
13119 msgid ""
13120 "These functions are Linux-specific and should not be used in programs "
13121 "intended to be portable.  The second I<swapflags> argument was introduced in "
13122 "Linux 1.3.2."
13123 msgstr ""
13124
13125 #. type: Plain text
13126 #: build/C/man2/swapon.2:160
13127 msgid "The partition or path must be prepared with B<mkswap>(8)."
13128 msgstr ""
13129
13130 #. type: Plain text
13131 #: build/C/man2/swapon.2:180
13132 msgid ""
13133 "There is an upper limit on the number of swap files that may be used, "
13134 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
13135 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
13136 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
13137 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
13138 "entries for the page migration features of B<mbind>(2)  and "
13139 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
13140 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
13141 msgstr ""
13142
13143 #.  To be precise: 2.6.35.5
13144 #. type: Plain text
13145 #: build/C/man2/swapon.2:191
13146 msgid ""
13147 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
13148 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
13149 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
13150 "set."
13151 msgstr ""
13152
13153 #. type: Plain text
13154 #: build/C/man2/swapon.2:194
13155 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13156 msgstr ""
13157
13158 #. type: TH
13159 #: build/C/man2/syscall.2:38
13160 #, no-wrap
13161 msgid "SYSCALL"
13162 msgstr ""
13163
13164 #. type: Plain text
13165 #: build/C/man2/syscall.2:41
13166 msgid "syscall - indirect system call"
13167 msgstr ""
13168
13169 #. type: Plain text
13170 #: build/C/man2/syscall.2:46
13171 #, no-wrap
13172 msgid ""
13173 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
13174 "B<#include E<lt>unistd.hE<gt>>\n"
13175 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
13176 msgstr ""
13177
13178 #. type: Plain text
13179 #: build/C/man2/syscall.2:48
13180 #, no-wrap
13181 msgid "B<int syscall(int >I<number>B<, ...);>\n"
13182 msgstr ""
13183
13184 #. type: Plain text
13185 #: build/C/man2/syscall.2:57
13186 msgid ""
13187 "B<syscall>()  performs the system call whose assembly language interface has "
13188 "the specified I<number> with the specified arguments.  Symbolic constants "
13189 "for system calls can be found in the header file I<E<lt>sys/syscall.hE<gt>>."
13190 msgstr ""
13191
13192 #. type: Plain text
13193 #: build/C/man2/syscall.2:63
13194 msgid ""
13195 "The return value is defined by the system call being invoked.  In general, a "
13196 "0 return value indicates success.  A -1 return value indicates an error, and "
13197 "an error code is stored in I<errno>."
13198 msgstr ""
13199
13200 #. type: Plain text
13201 #: build/C/man2/syscall.2:67
13202 msgid "B<syscall>()  first appeared in 4BSD."
13203 msgstr ""
13204
13205 #. type: Plain text
13206 #: build/C/man2/syscall.2:73
13207 #, no-wrap
13208 msgid ""
13209 "#define _GNU_SOURCE\n"
13210 "#include E<lt>unistd.hE<gt>\n"
13211 "#include E<lt>sys/syscall.hE<gt>\n"
13212 "#include E<lt>sys/types.hE<gt>\n"
13213 msgstr ""
13214
13215 #. type: Plain text
13216 #: build/C/man2/syscall.2:78
13217 #, no-wrap
13218 msgid ""
13219 "int\n"
13220 "main(int argc, char *argv[])\n"
13221 "{\n"
13222 "    pid_t tid;\n"
13223 msgstr ""
13224
13225 #. type: Plain text
13226 #: build/C/man2/syscall.2:81
13227 #, no-wrap
13228 msgid ""
13229 "    tid = syscall(SYS_gettid);\n"
13230 "}\n"
13231 msgstr ""
13232
13233 #. type: Plain text
13234 #: build/C/man2/syscall.2:85
13235 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2)"
13236 msgstr ""
13237
13238 #. type: TH
13239 #: build/C/man2/syscalls.2:29
13240 #, no-wrap
13241 msgid "SYSCALLS"
13242 msgstr ""
13243
13244 #. type: TH
13245 #: build/C/man2/syscalls.2:29
13246 #, no-wrap
13247 msgid "2012-03-23"
13248 msgstr ""
13249
13250 #. type: Plain text
13251 #: build/C/man2/syscalls.2:32
13252 msgid "syscalls - Linux system calls"
13253 msgstr ""
13254
13255 #. type: Plain text
13256 #: build/C/man2/syscalls.2:34
13257 msgid "Linux system calls."
13258 msgstr ""
13259
13260 #. type: Plain text
13261 #: build/C/man2/syscalls.2:37
13262 msgid ""
13263 "The system call is the fundamental interface between an application and the "
13264 "Linux kernel."
13265 msgstr ""
13266
13267 #. type: SS
13268 #: build/C/man2/syscalls.2:37
13269 #, no-wrap
13270 msgid "System calls and library wrapper functions"
13271 msgstr ""
13272
13273 #. type: Plain text
13274 #: build/C/man2/syscalls.2:47
13275 msgid ""
13276 "System calls are generally not invoked directly, but rather via wrapper "
13277 "functions in glibc (or perhaps some other library).  For details of direct "
13278 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
13279 "name of the wrapper function is the same as the name of the system call that "
13280 "it invokes.  For example, glibc contains a function B<truncate>()  which "
13281 "invokes the underlying \"truncate\" system call."
13282 msgstr ""
13283
13284 #. type: Plain text
13285 #: build/C/man2/syscalls.2:65
13286 msgid ""
13287 "Often the glibc wrapper function is quite thin, doing little work other than "
13288 "copying arguments to the right registers before invoking the system call, "
13289 "and then setting I<errno> appropriately after the system call has returned.  "
13290 "(These are the same steps that are performed by B<syscall>(2), which can be "
13291 "used to invoke system calls for which no wrapper function is provided.)  "
13292 "Note: system calls indicate a failure by returning a negative error number "
13293 "to the caller; when this happens, the wrapper function negates the returned "
13294 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
13295 "the caller of the wrapper."
13296 msgstr ""
13297
13298 #. type: Plain text
13299 #: build/C/man2/syscalls.2:77
13300 msgid ""
13301 "Sometimes, however, the wrapper function does some extra work before "
13302 "invoking the system call.  For example, nowadays there are (for reasons "
13303 "described below) two related system calls, B<truncate>(2)  and "
13304 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
13305 "of those system calls are provided by the kernel and determines which should "
13306 "be employed."
13307 msgstr ""
13308
13309 #. type: SS
13310 #: build/C/man2/syscalls.2:77
13311 #, no-wrap
13312 msgid "System call list"
13313 msgstr ""
13314
13315 #. type: Plain text
13316 #: build/C/man2/syscalls.2:85
13317 msgid ""
13318 "Below is a list of those system calls that are common to most platforms.  In "
13319 "the list, the I<Kernel> column indicates the kernel version for those system "
13320 "calls that were new in Linux 2.2, or have appeared since that kernel "
13321 "version.  Note the following points:"
13322 msgstr ""
13323
13324 #. type: Plain text
13325 #: build/C/man2/syscalls.2:88
13326 msgid ""
13327 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
13328 "or earlier."
13329 msgstr ""
13330
13331 #. type: Plain text
13332 #: build/C/man2/syscalls.2:94
13333 msgid ""
13334 "Where a system call is marked \"1.2\" this means the system call probably "
13335 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
13336 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
13337 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
13338 msgstr ""
13339
13340 #.  Was kernel 2.0 started from a branch of 1.2.10?
13341 #.  At least from the timestamps of the tarballs of
13342 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
13343 #.  fact the diff doesn't seem very clear, the
13344 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
13345 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
13346 #.  timestamps of some files in 1.3.0 seem to be older
13347 #.  than those in 1.2.10.  All of this suggests
13348 #.  that there might not have been a clean branch point.
13349 #. type: Plain text
13350 #: build/C/man2/syscalls.2:110
13351 msgid ""
13352 "Where a system call is marked \"2.0\" this means the system call probably "
13353 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
13354 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
13355 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
13356 "series.)"
13357 msgstr ""
13358
13359 #. type: Plain text
13360 #: build/C/man2/syscalls.2:116
13361 msgid ""
13362 "Where a system call is marked \"2.2\" this means the system call probably "
13363 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
13364 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
13365 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
13366 msgstr ""
13367
13368 #. type: Plain text
13369 #: build/C/man2/syscalls.2:122
13370 msgid ""
13371 "Where a system call is marked \"2.4\" this means the system call probably "
13372 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
13373 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
13374 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
13375 msgstr ""
13376
13377 #. type: Plain text
13378 #: build/C/man2/syscalls.2:128
13379 msgid ""
13380 "Where a system call is marked \"2.6\" this means the system call probably "
13381 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
13382 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
13383 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
13384 msgstr ""
13385
13386 #. type: Plain text
13387 #: build/C/man2/syscalls.2:135
13388 msgid ""
13389 "Starting with kernel 2.6.0, the development model changed, and new system "
13390 "calls may appear in each 2.6.x release.  In this case, the exact version "
13391 "number where the system call appeared is shown.  This convention continues "
13392 "with the 3.x kernel series, which followed on from kernel 2.6.39."
13393 msgstr ""
13394
13395 #. type: Plain text
13396 #: build/C/man2/syscalls.2:143
13397 msgid ""
13398 "In some cases, a system call was added to a stable kernel series after it "
13399 "branched from the previous stable kernel series, and then backported into "
13400 "the earlier stable kernel series.  For example some system calls that "
13401 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
13402 "When this is so, the version where the system call appeared in both of the "
13403 "major kernel series is listed."
13404 msgstr ""
13405
13406 #
13407 #.  Looking at scripts/checksyscalls.sh in the kernel source is
13408 #.  instructive about i386 specifics.
13409 #. type: Plain text
13410 #: build/C/man2/syscalls.2:150
13411 msgid ""
13412 "The list of system calls that are available as at kernel 3.1 (or in a few "
13413 "cases only on older kernels) is as follows:"
13414 msgstr ""
13415
13416 #. type: tbl table
13417 #: build/C/man2/syscalls.2:154
13418 #, no-wrap
13419 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
13420 msgstr ""
13421
13422 #. type: tbl table
13423 #: build/C/man2/syscalls.2:156
13424 #, no-wrap
13425 msgid "B<_llseek>(2)\t1.2\n"
13426 msgstr ""
13427
13428 #. type: tbl table
13429 #: build/C/man2/syscalls.2:157
13430 #, no-wrap
13431 msgid "B<_newselect>(2)\n"
13432 msgstr ""
13433
13434 #. type: tbl table
13435 #: build/C/man2/syscalls.2:158
13436 #, no-wrap
13437 msgid "B<_sysctl>(2)\n"
13438 msgstr ""
13439
13440 #. type: tbl table
13441 #: build/C/man2/syscalls.2:159
13442 #, no-wrap
13443 msgid "B<accept>(2)\n"
13444 msgstr ""
13445
13446 #. type: tbl table
13447 #: build/C/man2/syscalls.2:160
13448 #, no-wrap
13449 msgid "B<accept4>(2)\t2.6.28\n"
13450 msgstr ""
13451
13452 #. type: tbl table
13453 #: build/C/man2/syscalls.2:161
13454 #, no-wrap
13455 msgid "B<access>(2)\n"
13456 msgstr ""
13457
13458 #. type: tbl table
13459 #: build/C/man2/syscalls.2:162
13460 #, no-wrap
13461 msgid "B<acct>(2)\n"
13462 msgstr ""
13463
13464 #. type: tbl table
13465 #: build/C/man2/syscalls.2:163
13466 #, no-wrap
13467 msgid "B<add_key>(2)\t2.6.11\n"
13468 msgstr ""
13469
13470 #. type: tbl table
13471 #: build/C/man2/syscalls.2:164
13472 #, no-wrap
13473 msgid "B<adjtimex>(2)\n"
13474 msgstr ""
13475
13476 #. type: tbl table
13477 #: build/C/man2/syscalls.2:165
13478 #, no-wrap
13479 msgid "B<alarm>(2)\n"
13480 msgstr ""
13481
13482 #. type: tbl table
13483 #: build/C/man2/syscalls.2:166
13484 #, no-wrap
13485 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13486 msgstr ""
13487
13488 #. type: tbl table
13489 #: build/C/man2/syscalls.2:167
13490 #, no-wrap
13491 msgid "B<bdflush>(2)\t\tDeprecated (does nothing)\n"
13492 msgstr ""
13493
13494 #. type: tbl table
13495 #: build/C/man2/syscalls.2:168
13496 #, no-wrap
13497 msgid "\t\tsince 2.6\n"
13498 msgstr ""
13499
13500 #. type: tbl table
13501 #: build/C/man2/syscalls.2:169
13502 #, no-wrap
13503 msgid "B<bind>(2)\n"
13504 msgstr ""
13505
13506 #. type: tbl table
13507 #: build/C/man2/syscalls.2:170
13508 #, no-wrap
13509 msgid "B<brk>(2)\n"
13510 msgstr ""
13511
13512 #. type: tbl table
13513 #: build/C/man2/syscalls.2:171
13514 #, no-wrap
13515 msgid "B<cacheflush>(2)\t1.2\tNot on i386\n"
13516 msgstr ""
13517
13518 #. type: tbl table
13519 #: build/C/man2/syscalls.2:172
13520 #, no-wrap
13521 msgid "B<capget>(2)\t2.2\n"
13522 msgstr ""
13523
13524 #. type: tbl table
13525 #: build/C/man2/syscalls.2:173
13526 #, no-wrap
13527 msgid "B<capset>(2)\t2.2\n"
13528 msgstr ""
13529
13530 #. type: tbl table
13531 #: build/C/man2/syscalls.2:174
13532 #, no-wrap
13533 msgid "B<chdir>(2)\n"
13534 msgstr ""
13535
13536 #. type: tbl table
13537 #: build/C/man2/syscalls.2:175
13538 #, no-wrap
13539 msgid "B<chmod>(2)\n"
13540 msgstr ""
13541
13542 #. type: tbl table
13543 #: build/C/man2/syscalls.2:176
13544 #, no-wrap
13545 msgid "B<chown>(2)\n"
13546 msgstr ""
13547
13548 #. type: tbl table
13549 #: build/C/man2/syscalls.2:177
13550 #, no-wrap
13551 msgid "B<chown32>(2)\t2.4\n"
13552 msgstr ""
13553
13554 #. type: tbl table
13555 #: build/C/man2/syscalls.2:178
13556 #, no-wrap
13557 msgid "B<chroot>(2)\n"
13558 msgstr ""
13559
13560 #. type: tbl table
13561 #: build/C/man2/syscalls.2:179
13562 #, no-wrap
13563 msgid "B<clock_adjtime>(2)\t2.6.39\n"
13564 msgstr ""
13565
13566 #. type: tbl table
13567 #: build/C/man2/syscalls.2:180
13568 #, no-wrap
13569 msgid "B<clock_getres>(2)\t2.6\n"
13570 msgstr ""
13571
13572 #. type: tbl table
13573 #: build/C/man2/syscalls.2:181
13574 #, no-wrap
13575 msgid "B<clock_gettime>(2)\t2.6\n"
13576 msgstr ""
13577
13578 #. type: tbl table
13579 #: build/C/man2/syscalls.2:182
13580 #, no-wrap
13581 msgid "B<clock_nanosleep>(2)\t2.6\n"
13582 msgstr ""
13583
13584 #. type: tbl table
13585 #: build/C/man2/syscalls.2:183
13586 #, no-wrap
13587 msgid "B<clock_settime>(2)\t2.6\n"
13588 msgstr ""
13589
13590 #. type: tbl table
13591 #: build/C/man2/syscalls.2:184
13592 #, no-wrap
13593 msgid "B<clone>(2)\n"
13594 msgstr ""
13595
13596 #. type: tbl table
13597 #: build/C/man2/syscalls.2:185
13598 #, no-wrap
13599 msgid "B<close>(2)\n"
13600 msgstr ""
13601
13602 #. type: tbl table
13603 #: build/C/man2/syscalls.2:186
13604 #, no-wrap
13605 msgid "B<connect>(2)\n"
13606 msgstr ""
13607
13608 #. type: tbl table
13609 #: build/C/man2/syscalls.2:187
13610 #, no-wrap
13611 msgid "B<creat>(2)\n"
13612 msgstr ""
13613
13614 #. type: tbl table
13615 #: build/C/man2/syscalls.2:188
13616 #, no-wrap
13617 msgid "B<create_module>(2)\tRemoved in 2.6\n"
13618 msgstr ""
13619
13620 #. type: tbl table
13621 #: build/C/man2/syscalls.2:189
13622 #, no-wrap
13623 msgid "B<delete_module>(2)\n"
13624 msgstr ""
13625
13626 #. type: tbl table
13627 #: build/C/man2/syscalls.2:190
13628 #, no-wrap
13629 msgid "B<dup>(2)\n"
13630 msgstr ""
13631
13632 #. type: tbl table
13633 #: build/C/man2/syscalls.2:191
13634 #, no-wrap
13635 msgid "B<dup2>(2)\n"
13636 msgstr ""
13637
13638 #. type: tbl table
13639 #: build/C/man2/syscalls.2:192
13640 #, no-wrap
13641 msgid "B<dup3>(2)\t2.6.27\n"
13642 msgstr ""
13643
13644 #. type: tbl table
13645 #: build/C/man2/syscalls.2:193
13646 #, no-wrap
13647 msgid "B<epoll_create>(2)\t2.6\n"
13648 msgstr ""
13649
13650 #. type: tbl table
13651 #: build/C/man2/syscalls.2:194
13652 #, no-wrap
13653 msgid "B<epoll_create1>(2)\t2.6.27\n"
13654 msgstr ""
13655
13656 #. type: tbl table
13657 #: build/C/man2/syscalls.2:195
13658 #, no-wrap
13659 msgid "B<epoll_ctl>(2)\t2.6\n"
13660 msgstr ""
13661
13662 #. type: tbl table
13663 #: build/C/man2/syscalls.2:196
13664 #, no-wrap
13665 msgid "B<epoll_pwait>(2)\t2.6.19\n"
13666 msgstr ""
13667
13668 #. type: tbl table
13669 #: build/C/man2/syscalls.2:197
13670 #, no-wrap
13671 msgid "B<epoll_wait>(2)\t2.6\n"
13672 msgstr ""
13673
13674 #. type: tbl table
13675 #: build/C/man2/syscalls.2:198
13676 #, no-wrap
13677 msgid "B<eventfd>(2)\t2.6.22\n"
13678 msgstr ""
13679
13680 #. type: tbl table
13681 #: build/C/man2/syscalls.2:199
13682 #, no-wrap
13683 msgid "B<eventfd2>(2)\t2.6.27\n"
13684 msgstr ""
13685
13686 #. type: tbl table
13687 #: build/C/man2/syscalls.2:200
13688 #, no-wrap
13689 msgid "B<execve>(2)\n"
13690 msgstr ""
13691
13692 #. type: tbl table
13693 #: build/C/man2/syscalls.2:201
13694 #, no-wrap
13695 msgid "B<exit>(2)\n"
13696 msgstr ""
13697
13698 #. type: tbl table
13699 #: build/C/man2/syscalls.2:202
13700 #, no-wrap
13701 msgid "B<exit_group>(2)\t2.6\n"
13702 msgstr ""
13703
13704 #. type: tbl table
13705 #: build/C/man2/syscalls.2:203
13706 #, no-wrap
13707 msgid "B<faccessat>(2)\t2.6.16\n"
13708 msgstr ""
13709
13710 #. type: tbl table
13711 #: build/C/man2/syscalls.2:204
13712 #, no-wrap
13713 msgid "B<fadvise64>(2)\t2.6\n"
13714 msgstr ""
13715
13716 #.  Implements \fBposix_fadvise\fP(2)
13717 #. type: tbl table
13718 #: build/C/man2/syscalls.2:206
13719 #, no-wrap
13720 msgid "B<fadvise64_64>(2)\t2.6\n"
13721 msgstr ""
13722
13723 #. type: tbl table
13724 #: build/C/man2/syscalls.2:207
13725 #, no-wrap
13726 msgid "B<fallocate>(2)\t2.6.23\n"
13727 msgstr ""
13728
13729 #. type: tbl table
13730 #: build/C/man2/syscalls.2:208
13731 #, no-wrap
13732 msgid "B<fanotify_init>(2)\t2.6.37\n"
13733 msgstr ""
13734
13735 #. type: tbl table
13736 #: build/C/man2/syscalls.2:209
13737 #, no-wrap
13738 msgid "B<fanotify_mark>(2)\t2.6.37\n"
13739 msgstr ""
13740
13741 #.  The fanotify calls were added in Linux 2.6.36,
13742 #.  but disabled while the API was finalized.
13743 #. type: tbl table
13744 #: build/C/man2/syscalls.2:212
13745 #, no-wrap
13746 msgid "B<fchdir>(2)\n"
13747 msgstr ""
13748
13749 #. type: tbl table
13750 #: build/C/man2/syscalls.2:213
13751 #, no-wrap
13752 msgid "B<fchmod>(2)\n"
13753 msgstr ""
13754
13755 #. type: tbl table
13756 #: build/C/man2/syscalls.2:214
13757 #, no-wrap
13758 msgid "B<fchmodat>(2)\t2.6.16\n"
13759 msgstr ""
13760
13761 #. type: tbl table
13762 #: build/C/man2/syscalls.2:215
13763 #, no-wrap
13764 msgid "B<fchown>(2)\n"
13765 msgstr ""
13766
13767 #. type: tbl table
13768 #: build/C/man2/syscalls.2:216
13769 #, no-wrap
13770 msgid "B<fchown32>(2)\t2.4\n"
13771 msgstr ""
13772
13773 #. type: tbl table
13774 #: build/C/man2/syscalls.2:217
13775 #, no-wrap
13776 msgid "B<fchownat>(2)\t2.6.16\n"
13777 msgstr ""
13778
13779 #. type: tbl table
13780 #: build/C/man2/syscalls.2:218
13781 #, no-wrap
13782 msgid "B<fcntl>(2)\n"
13783 msgstr ""
13784
13785 #. type: tbl table
13786 #: build/C/man2/syscalls.2:219
13787 #, no-wrap
13788 msgid "B<fcntl64>(2)\t2.4\n"
13789 msgstr ""
13790
13791 #. type: tbl table
13792 #: build/C/man2/syscalls.2:220
13793 #, no-wrap
13794 msgid "B<fdatasync>(2)\n"
13795 msgstr ""
13796
13797 #. type: tbl table
13798 #: build/C/man2/syscalls.2:221
13799 #, no-wrap
13800 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
13801 msgstr ""
13802
13803 #. type: tbl table
13804 #: build/C/man2/syscalls.2:222
13805 #, no-wrap
13806 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
13807 msgstr ""
13808
13809 #. type: tbl table
13810 #: build/C/man2/syscalls.2:223
13811 #, no-wrap
13812 msgid "B<flock>(2)\t2.0\n"
13813 msgstr ""
13814
13815 #. type: tbl table
13816 #: build/C/man2/syscalls.2:224
13817 #, no-wrap
13818 msgid "B<fork>(2)\n"
13819 msgstr ""
13820
13821 #. type: tbl table
13822 #: build/C/man2/syscalls.2:225
13823 #, no-wrap
13824 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13825 msgstr ""
13826
13827 #. type: tbl table
13828 #: build/C/man2/syscalls.2:226
13829 #, no-wrap
13830 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
13831 msgstr ""
13832
13833 #. type: tbl table
13834 #: build/C/man2/syscalls.2:227
13835 #, no-wrap
13836 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
13837 msgstr ""
13838
13839 #. type: tbl table
13840 #: build/C/man2/syscalls.2:228
13841 #, no-wrap
13842 msgid "B<fstat>(2)\n"
13843 msgstr ""
13844
13845 #. type: tbl table
13846 #: build/C/man2/syscalls.2:229
13847 #, no-wrap
13848 msgid "B<fstat64>(2)\t2.4\n"
13849 msgstr ""
13850
13851 #. type: tbl table
13852 #: build/C/man2/syscalls.2:230
13853 #, no-wrap
13854 msgid "B<fstatat64>(2)\t2.6.16\n"
13855 msgstr ""
13856
13857 #. type: tbl table
13858 #: build/C/man2/syscalls.2:231
13859 #, no-wrap
13860 msgid "B<fstatfs>(2)\n"
13861 msgstr ""
13862
13863 #. type: tbl table
13864 #: build/C/man2/syscalls.2:232
13865 #, no-wrap
13866 msgid "B<fstatfs64>(2)\t2.6\n"
13867 msgstr ""
13868
13869 #. type: tbl table
13870 #: build/C/man2/syscalls.2:233
13871 #, no-wrap
13872 msgid "B<fsync>(2)\n"
13873 msgstr ""
13874
13875 #. type: tbl table
13876 #: build/C/man2/syscalls.2:234
13877 #, no-wrap
13878 msgid "B<ftruncate>(2)\n"
13879 msgstr ""
13880
13881 #. type: tbl table
13882 #: build/C/man2/syscalls.2:235
13883 #, no-wrap
13884 msgid "B<ftruncate64>(2)\t2.4\n"
13885 msgstr ""
13886
13887 #. type: tbl table
13888 #: build/C/man2/syscalls.2:236
13889 #, no-wrap
13890 msgid "B<futex>(2)\t2.6\n"
13891 msgstr ""
13892
13893 #. type: tbl table
13894 #: build/C/man2/syscalls.2:237
13895 #, no-wrap
13896 msgid "B<futimesat>(2)\t2.6.16\n"
13897 msgstr ""
13898
13899 #. type: tbl table
13900 #: build/C/man2/syscalls.2:238
13901 #, no-wrap
13902 msgid "B<get_kernel_syms>(2)\tRemoved in 2.6\n"
13903 msgstr ""
13904
13905 #. type: tbl table
13906 #: build/C/man2/syscalls.2:239
13907 #, no-wrap
13908 msgid "B<get_mempolicy>(2)\t2.6.6\n"
13909 msgstr ""
13910
13911 #. type: tbl table
13912 #: build/C/man2/syscalls.2:240
13913 #, no-wrap
13914 msgid "B<get_robust_list>(2)\t2.6.17\n"
13915 msgstr ""
13916
13917 #. type: tbl table
13918 #: build/C/man2/syscalls.2:241
13919 #, no-wrap
13920 msgid "B<get_thread_area>(2)\t2.6\n"
13921 msgstr ""
13922
13923 #. type: tbl table
13924 #: build/C/man2/syscalls.2:242
13925 #, no-wrap
13926 msgid "B<getcpu>(2)\t2.6.19\n"
13927 msgstr ""
13928
13929 #. type: tbl table
13930 #: build/C/man2/syscalls.2:243
13931 #, no-wrap
13932 msgid "B<getcwd>(2)\t2.2\n"
13933 msgstr ""
13934
13935 #. type: tbl table
13936 #: build/C/man2/syscalls.2:244
13937 #, no-wrap
13938 msgid "B<getdents>(2)\t2.0\n"
13939 msgstr ""
13940
13941 #. type: tbl table
13942 #: build/C/man2/syscalls.2:245
13943 #, no-wrap
13944 msgid "B<getdents64>(2)\t2.4\n"
13945 msgstr ""
13946
13947 #. type: tbl table
13948 #: build/C/man2/syscalls.2:246
13949 #, no-wrap
13950 msgid "B<getegid>(2)\n"
13951 msgstr ""
13952
13953 #. type: tbl table
13954 #: build/C/man2/syscalls.2:247
13955 #, no-wrap
13956 msgid "B<getegid32>(2)\t2.4\n"
13957 msgstr ""
13958
13959 #. type: tbl table
13960 #: build/C/man2/syscalls.2:248
13961 #, no-wrap
13962 msgid "B<geteuid>(2)\n"
13963 msgstr ""
13964
13965 #. type: tbl table
13966 #: build/C/man2/syscalls.2:249
13967 #, no-wrap
13968 msgid "B<geteuid32>(2)\t2.4\n"
13969 msgstr ""
13970
13971 #. type: tbl table
13972 #: build/C/man2/syscalls.2:250
13973 #, no-wrap
13974 msgid "B<getgid>(2)\n"
13975 msgstr ""
13976
13977 #. type: tbl table
13978 #: build/C/man2/syscalls.2:251
13979 #, no-wrap
13980 msgid "B<getgid32>(2)\t2.4\n"
13981 msgstr ""
13982
13983 #. type: tbl table
13984 #: build/C/man2/syscalls.2:252
13985 #, no-wrap
13986 msgid "B<getgroups>(2)\n"
13987 msgstr ""
13988
13989 #. type: tbl table
13990 #: build/C/man2/syscalls.2:253
13991 #, no-wrap
13992 msgid "B<getgroups32>(2)\t2.4\n"
13993 msgstr ""
13994
13995 #. type: tbl table
13996 #: build/C/man2/syscalls.2:254
13997 #, no-wrap
13998 msgid "B<getitimer>(2)\n"
13999 msgstr ""
14000
14001 #. type: tbl table
14002 #: build/C/man2/syscalls.2:255
14003 #, no-wrap
14004 msgid "B<getpeername>(2)\n"
14005 msgstr ""
14006
14007 #. type: tbl table
14008 #: build/C/man2/syscalls.2:256
14009 #, no-wrap
14010 msgid "B<getpagesize>(2)\t2.0\tNot on i386\n"
14011 msgstr ""
14012
14013 #. type: tbl table
14014 #: build/C/man2/syscalls.2:257
14015 #, no-wrap
14016 msgid "B<getpgid>(2)\n"
14017 msgstr ""
14018
14019 #. type: tbl table
14020 #: build/C/man2/syscalls.2:258
14021 #, no-wrap
14022 msgid "B<getpgrp>(2)\n"
14023 msgstr ""
14024
14025 #. type: tbl table
14026 #: build/C/man2/syscalls.2:259
14027 #, no-wrap
14028 msgid "B<getpid>(2)\n"
14029 msgstr ""
14030
14031 #. type: tbl table
14032 #: build/C/man2/syscalls.2:260
14033 #, no-wrap
14034 msgid "B<getppid>(2)\n"
14035 msgstr ""
14036
14037 #. type: tbl table
14038 #: build/C/man2/syscalls.2:261
14039 #, no-wrap
14040 msgid "B<getpriority>(2)\n"
14041 msgstr ""
14042
14043 #. type: tbl table
14044 #: build/C/man2/syscalls.2:262
14045 #, no-wrap
14046 msgid "B<getresgid>(2)\t2.2\n"
14047 msgstr ""
14048
14049 #. type: tbl table
14050 #: build/C/man2/syscalls.2:263
14051 #, no-wrap
14052 msgid "B<getresgid32>(2)\t2.4\n"
14053 msgstr ""
14054
14055 #. type: tbl table
14056 #: build/C/man2/syscalls.2:264
14057 #, no-wrap
14058 msgid "B<getresuid>(2)\t2.2\n"
14059 msgstr ""
14060
14061 #. type: tbl table
14062 #: build/C/man2/syscalls.2:265
14063 #, no-wrap
14064 msgid "B<getresuid32>(2)\t2.4\n"
14065 msgstr ""
14066
14067 #. type: tbl table
14068 #: build/C/man2/syscalls.2:266
14069 #, no-wrap
14070 msgid "B<getrlimit>(2)\n"
14071 msgstr ""
14072
14073 #. type: tbl table
14074 #: build/C/man2/syscalls.2:267
14075 #, no-wrap
14076 msgid "B<getrusage>(2)\n"
14077 msgstr ""
14078
14079 #. type: tbl table
14080 #: build/C/man2/syscalls.2:268
14081 #, no-wrap
14082 msgid "B<getsid>(2)\t2.0\n"
14083 msgstr ""
14084
14085 #. type: tbl table
14086 #: build/C/man2/syscalls.2:269
14087 #, no-wrap
14088 msgid "B<getsockname>(2)\n"
14089 msgstr ""
14090
14091 #. type: tbl table
14092 #: build/C/man2/syscalls.2:270
14093 #, no-wrap
14094 msgid "B<getsockopt>(2)\n"
14095 msgstr ""
14096
14097 #. type: tbl table
14098 #: build/C/man2/syscalls.2:271
14099 #, no-wrap
14100 msgid "B<gettid>(2)\t2.4.11\n"
14101 msgstr ""
14102
14103 #. type: tbl table
14104 #: build/C/man2/syscalls.2:272
14105 #, no-wrap
14106 msgid "B<gettimeofday>(2)\n"
14107 msgstr ""
14108
14109 #. type: tbl table
14110 #: build/C/man2/syscalls.2:273
14111 #, no-wrap
14112 msgid "B<getuid>(2)\n"
14113 msgstr ""
14114
14115 #. type: tbl table
14116 #: build/C/man2/syscalls.2:274
14117 #, no-wrap
14118 msgid "B<getuid32>(2)\t2.4\n"
14119 msgstr ""
14120
14121 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
14122 #. type: tbl table
14123 #: build/C/man2/syscalls.2:276
14124 #, no-wrap
14125 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
14126 msgstr ""
14127
14128 #. type: tbl table
14129 #: build/C/man2/syscalls.2:277
14130 #, no-wrap
14131 msgid "B<init_module>(2)\n"
14132 msgstr ""
14133
14134 #. type: tbl table
14135 #: build/C/man2/syscalls.2:278
14136 #, no-wrap
14137 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
14138 msgstr ""
14139
14140 #. type: tbl table
14141 #: build/C/man2/syscalls.2:279
14142 #, no-wrap
14143 msgid "B<inotify_init>(2)\t2.6.13\n"
14144 msgstr ""
14145
14146 #. type: tbl table
14147 #: build/C/man2/syscalls.2:280
14148 #, no-wrap
14149 msgid "B<inotify_init1>(2)\t2.6.27\n"
14150 msgstr ""
14151
14152 #. type: tbl table
14153 #: build/C/man2/syscalls.2:281
14154 #, no-wrap
14155 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
14156 msgstr ""
14157
14158 #. type: tbl table
14159 #: build/C/man2/syscalls.2:282
14160 #, no-wrap
14161 msgid "B<io_cancel>(2)\t2.6\n"
14162 msgstr ""
14163
14164 #. type: tbl table
14165 #: build/C/man2/syscalls.2:283
14166 #, no-wrap
14167 msgid "B<io_destroy>(2)\t2.6\n"
14168 msgstr ""
14169
14170 #. type: tbl table
14171 #: build/C/man2/syscalls.2:284
14172 #, no-wrap
14173 msgid "B<io_getevents>(2)\t2.6\n"
14174 msgstr ""
14175
14176 #. type: tbl table
14177 #: build/C/man2/syscalls.2:285
14178 #, no-wrap
14179 msgid "B<io_setup>(2)\t2.6\n"
14180 msgstr ""
14181
14182 #. type: tbl table
14183 #: build/C/man2/syscalls.2:286
14184 #, no-wrap
14185 msgid "B<io_submit>(2)\t2.6\n"
14186 msgstr ""
14187
14188 #. type: tbl table
14189 #: build/C/man2/syscalls.2:287
14190 #, no-wrap
14191 msgid "B<ioctl>(2)\n"
14192 msgstr ""
14193
14194 #. type: tbl table
14195 #: build/C/man2/syscalls.2:288
14196 #, no-wrap
14197 msgid "B<ioperm>(2)\n"
14198 msgstr ""
14199
14200 #. type: tbl table
14201 #: build/C/man2/syscalls.2:289
14202 #, no-wrap
14203 msgid "B<iopl>(2)\n"
14204 msgstr ""
14205
14206 #. type: tbl table
14207 #: build/C/man2/syscalls.2:290
14208 #, no-wrap
14209 msgid "B<ioprio_get>(2)\t2.6.13\n"
14210 msgstr ""
14211
14212 #. type: tbl table
14213 #: build/C/man2/syscalls.2:291
14214 #, no-wrap
14215 msgid "B<ioprio_set>(2)\t2.6.13\n"
14216 msgstr ""
14217
14218 #. type: tbl table
14219 #: build/C/man2/syscalls.2:292
14220 #, no-wrap
14221 msgid "B<ipc>(2)\n"
14222 msgstr ""
14223
14224 #.  Implements System V IPC calls
14225 #. type: tbl table
14226 #: build/C/man2/syscalls.2:294
14227 #, no-wrap
14228 msgid "B<kexec_load>(2)\t2.6.13\n"
14229 msgstr ""
14230
14231 #.  The entry in the syscall table was reserved starting in 2.6.7
14232 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
14233 #. type: tbl table
14234 #: build/C/man2/syscalls.2:297
14235 #, no-wrap
14236 msgid "B<keyctl>(2)\t2.6.11\n"
14237 msgstr ""
14238
14239 #. type: tbl table
14240 #: build/C/man2/syscalls.2:298
14241 #, no-wrap
14242 msgid "B<kill>(2)\n"
14243 msgstr ""
14244
14245 #. type: tbl table
14246 #: build/C/man2/syscalls.2:299
14247 #, no-wrap
14248 msgid "B<lchown>(2)\t2.2\n"
14249 msgstr ""
14250
14251 #. type: tbl table
14252 #: build/C/man2/syscalls.2:300
14253 #, no-wrap
14254 msgid "B<lchown32>(2)\t2.4\n"
14255 msgstr ""
14256
14257 #. type: tbl table
14258 #: build/C/man2/syscalls.2:301
14259 #, no-wrap
14260 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14261 msgstr ""
14262
14263 #. type: tbl table
14264 #: build/C/man2/syscalls.2:302
14265 #, no-wrap
14266 msgid "B<link>(2)\n"
14267 msgstr ""
14268
14269 #. type: tbl table
14270 #: build/C/man2/syscalls.2:303
14271 #, no-wrap
14272 msgid "B<linkat>(2)\t2.6.16\n"
14273 msgstr ""
14274
14275 #. type: tbl table
14276 #: build/C/man2/syscalls.2:304
14277 #, no-wrap
14278 msgid "B<listen>(2)\n"
14279 msgstr ""
14280
14281 #. type: tbl table
14282 #: build/C/man2/syscalls.2:305
14283 #, no-wrap
14284 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
14285 msgstr ""
14286
14287 #. type: tbl table
14288 #: build/C/man2/syscalls.2:306
14289 #, no-wrap
14290 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
14291 msgstr ""
14292
14293 #. type: tbl table
14294 #: build/C/man2/syscalls.2:307
14295 #, no-wrap
14296 msgid "B<lookup_dcookie>(2)\t2.6\n"
14297 msgstr ""
14298
14299 #. type: tbl table
14300 #: build/C/man2/syscalls.2:308
14301 #, no-wrap
14302 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14303 msgstr ""
14304
14305 #. type: tbl table
14306 #: build/C/man2/syscalls.2:309
14307 #, no-wrap
14308 msgid "B<lseek>(2)\n"
14309 msgstr ""
14310
14311 #. type: tbl table
14312 #: build/C/man2/syscalls.2:310
14313 #, no-wrap
14314 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14315 msgstr ""
14316
14317 #. type: tbl table
14318 #: build/C/man2/syscalls.2:311
14319 #, no-wrap
14320 msgid "B<lstat>(2)\n"
14321 msgstr ""
14322
14323 #. type: tbl table
14324 #: build/C/man2/syscalls.2:312
14325 #, no-wrap
14326 msgid "B<lstat64>(2)\t2.4\n"
14327 msgstr ""
14328
14329 #. type: tbl table
14330 #: build/C/man2/syscalls.2:313
14331 #, no-wrap
14332 msgid "B<madvise>(2)\t2.4\n"
14333 msgstr ""
14334
14335 #. type: tbl table
14336 #: build/C/man2/syscalls.2:314
14337 #, no-wrap
14338 msgid "B<madvise1>(2)\t2.4\n"
14339 msgstr ""
14340
14341 #. type: tbl table
14342 #: build/C/man2/syscalls.2:315
14343 #, no-wrap
14344 msgid "B<mbind>(2)\t2.6.6\n"
14345 msgstr ""
14346
14347 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
14348 #. type: tbl table
14349 #: build/C/man2/syscalls.2:317
14350 #, no-wrap
14351 msgid "B<migrate_pages>(2)\t2.6.16\n"
14352 msgstr ""
14353
14354 #. type: tbl table
14355 #: build/C/man2/syscalls.2:318
14356 #, no-wrap
14357 msgid "B<mincore>(2)\t2.4\n"
14358 msgstr ""
14359
14360 #. type: tbl table
14361 #: build/C/man2/syscalls.2:319
14362 #, no-wrap
14363 msgid "B<mkdir>(2)\n"
14364 msgstr ""
14365
14366 #. type: tbl table
14367 #: build/C/man2/syscalls.2:320
14368 #, no-wrap
14369 msgid "B<mkdirat>(2)\t2.6.16\n"
14370 msgstr ""
14371
14372 #. type: tbl table
14373 #: build/C/man2/syscalls.2:321
14374 #, no-wrap
14375 msgid "B<mknod>(2)\n"
14376 msgstr ""
14377
14378 #. type: tbl table
14379 #: build/C/man2/syscalls.2:322
14380 #, no-wrap
14381 msgid "B<mknodat>(2)\t2.6.16\n"
14382 msgstr ""
14383
14384 #. type: tbl table
14385 #: build/C/man2/syscalls.2:323
14386 #, no-wrap
14387 msgid "B<mlock>(2)\n"
14388 msgstr ""
14389
14390 #. type: tbl table
14391 #: build/C/man2/syscalls.2:324
14392 #, no-wrap
14393 msgid "B<mlockall>(2)\n"
14394 msgstr ""
14395
14396 #. type: tbl table
14397 #: build/C/man2/syscalls.2:325
14398 #, no-wrap
14399 msgid "B<mmap>(2)\n"
14400 msgstr ""
14401
14402 #. type: tbl table
14403 #: build/C/man2/syscalls.2:326
14404 #, no-wrap
14405 msgid "B<mmap2>(2)\t2.4\n"
14406 msgstr ""
14407
14408 #. type: tbl table
14409 #: build/C/man2/syscalls.2:327
14410 #, no-wrap
14411 msgid "B<modify_ldt>(2)\n"
14412 msgstr ""
14413
14414 #. type: tbl table
14415 #: build/C/man2/syscalls.2:328
14416 #, no-wrap
14417 msgid "B<mount>(2)\n"
14418 msgstr ""
14419
14420 #. type: tbl table
14421 #: build/C/man2/syscalls.2:329
14422 #, no-wrap
14423 msgid "B<move_pages>(2)\t2.6.18\n"
14424 msgstr ""
14425
14426 #. type: tbl table
14427 #: build/C/man2/syscalls.2:330
14428 #, no-wrap
14429 msgid "B<mprotect>(2)\n"
14430 msgstr ""
14431
14432 #. type: tbl table
14433 #: build/C/man2/syscalls.2:331
14434 #, no-wrap
14435 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
14436 msgstr ""
14437
14438 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
14439 #. type: tbl table
14440 #: build/C/man2/syscalls.2:333
14441 #, no-wrap
14442 msgid "B<mq_notify>(2)\t2.6.6\n"
14443 msgstr ""
14444
14445 #. type: tbl table
14446 #: build/C/man2/syscalls.2:334
14447 #, no-wrap
14448 msgid "B<mq_open>(2)\t2.6.6\n"
14449 msgstr ""
14450
14451 #. type: tbl table
14452 #: build/C/man2/syscalls.2:335
14453 #, no-wrap
14454 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
14455 msgstr ""
14456
14457 #. type: tbl table
14458 #: build/C/man2/syscalls.2:336
14459 #, no-wrap
14460 msgid "B<mq_timedsend>(2)\t2.6.6\n"
14461 msgstr ""
14462
14463 #. type: tbl table
14464 #: build/C/man2/syscalls.2:337
14465 #, no-wrap
14466 msgid "B<mq_unlink>(2)\n"
14467 msgstr ""
14468
14469 #. type: tbl table
14470 #: build/C/man2/syscalls.2:338
14471 #, no-wrap
14472 msgid "B<mremap>(2)\t2.0\n"
14473 msgstr ""
14474
14475 #. type: tbl table
14476 #: build/C/man2/syscalls.2:339
14477 #, no-wrap
14478 msgid "B<msgctl>(2)\n"
14479 msgstr ""
14480
14481 #. type: tbl table
14482 #: build/C/man2/syscalls.2:340
14483 #, no-wrap
14484 msgid "B<msgget>(2)\n"
14485 msgstr ""
14486
14487 #. type: tbl table
14488 #: build/C/man2/syscalls.2:341
14489 #, no-wrap
14490 msgid "B<msgrcv>(2)\n"
14491 msgstr ""
14492
14493 #. type: tbl table
14494 #: build/C/man2/syscalls.2:342
14495 #, no-wrap
14496 msgid "B<msgsnd>(2)\n"
14497 msgstr ""
14498
14499 #. type: tbl table
14500 #: build/C/man2/syscalls.2:343
14501 #, no-wrap
14502 msgid "B<msync>(2)\t2.0\n"
14503 msgstr ""
14504
14505 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
14506 #.              PowerPC, but unimplemented?
14507 #. type: tbl table
14508 #: build/C/man2/syscalls.2:346
14509 #, no-wrap
14510 msgid "B<munlock>(2)\n"
14511 msgstr ""
14512
14513 #. type: tbl table
14514 #: build/C/man2/syscalls.2:347
14515 #, no-wrap
14516 msgid "B<munlockall>(2)\n"
14517 msgstr ""
14518
14519 #. type: tbl table
14520 #: build/C/man2/syscalls.2:348
14521 #, no-wrap
14522 msgid "B<munmap>(2)\n"
14523 msgstr ""
14524
14525 #. type: tbl table
14526 #: build/C/man2/syscalls.2:349
14527 #, no-wrap
14528 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
14529 msgstr ""
14530
14531 #. type: tbl table
14532 #: build/C/man2/syscalls.2:350
14533 #, no-wrap
14534 msgid "B<nanosleep>(2)\t2.0\n"
14535 msgstr ""
14536
14537 #. type: tbl table
14538 #: build/C/man2/syscalls.2:351
14539 #, no-wrap
14540 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
14541 msgstr ""
14542
14543 #. type: tbl table
14544 #: build/C/man2/syscalls.2:352
14545 #, no-wrap
14546 msgid "B<nice>(2)\n"
14547 msgstr ""
14548
14549 #. type: tbl table
14550 #: build/C/man2/syscalls.2:353
14551 #, no-wrap
14552 msgid "B<oldfstat>(2)\n"
14553 msgstr ""
14554
14555 #. type: tbl table
14556 #: build/C/man2/syscalls.2:354
14557 #, no-wrap
14558 msgid "B<oldlstat>(2)\n"
14559 msgstr ""
14560
14561 #. type: tbl table
14562 #: build/C/man2/syscalls.2:355
14563 #, no-wrap
14564 msgid "B<oldolduname>(2)\n"
14565 msgstr ""
14566
14567 #. type: tbl table
14568 #: build/C/man2/syscalls.2:356
14569 #, no-wrap
14570 msgid "B<oldstat>(2)\n"
14571 msgstr ""
14572
14573 #. type: tbl table
14574 #: build/C/man2/syscalls.2:357
14575 #, no-wrap
14576 msgid "B<olduname>(2)\n"
14577 msgstr ""
14578
14579 #. type: tbl table
14580 #: build/C/man2/syscalls.2:358
14581 #, no-wrap
14582 msgid "B<open>(2)\n"
14583 msgstr ""
14584
14585 #. type: tbl table
14586 #: build/C/man2/syscalls.2:359
14587 #, no-wrap
14588 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
14589 msgstr ""
14590
14591 #. type: tbl table
14592 #: build/C/man2/syscalls.2:360
14593 #, no-wrap
14594 msgid "B<openat>(2)\t2.6.16\n"
14595 msgstr ""
14596
14597 #. type: tbl table
14598 #: build/C/man2/syscalls.2:361
14599 #, no-wrap
14600 msgid "B<pause>(2)\n"
14601 msgstr ""
14602
14603 #. type: tbl table
14604 #: build/C/man2/syscalls.2:362
14605 #, no-wrap
14606 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on i386\n"
14607 msgstr ""
14608
14609 #.  Alpha, PowerPC, ARM; not i386
14610 #. type: tbl table
14611 #: build/C/man2/syscalls.2:364
14612 #, no-wrap
14613 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on i386\n"
14614 msgstr ""
14615
14616 #.  , PowerPC, ARM; not i386
14617 #. type: tbl table
14618 #: build/C/man2/syscalls.2:366
14619 #, no-wrap
14620 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on i386\n"
14621 msgstr ""
14622
14623 #.  , PowerPC, ARM; not i386
14624 #. type: tbl table
14625 #: build/C/man2/syscalls.2:368
14626 #, no-wrap
14627 msgid "B<perf_event_open>(2)\t2.6.31\tWas called perf_counter_open()\n"
14628 msgstr ""
14629
14630 #. type: tbl table
14631 #: build/C/man2/syscalls.2:369
14632 #, no-wrap
14633 msgid "\t\tin 2.6.31; renamed in 2.6.32\n"
14634 msgstr ""
14635
14636 #. type: tbl table
14637 #: build/C/man2/syscalls.2:370
14638 #, no-wrap
14639 msgid "B<personality>(2)\t1.2\n"
14640 msgstr ""
14641
14642 #.  \fBperfctr\fP(2)    ???     Sparc32, Sparc64
14643 #.  \fBperfmonctl\fP(2) ???     ia64
14644 #. type: tbl table
14645 #: build/C/man2/syscalls.2:373
14646 #, no-wrap
14647 msgid "B<pipe>(2)\n"
14648 msgstr ""
14649
14650 #. type: tbl table
14651 #: build/C/man2/syscalls.2:374
14652 #, no-wrap
14653 msgid "B<pipe2>(2)\t2.6.27\n"
14654 msgstr ""
14655
14656 #. type: tbl table
14657 #: build/C/man2/syscalls.2:375
14658 #, no-wrap
14659 msgid "B<pivot_root>(2)\t2.4\n"
14660 msgstr ""
14661
14662 #. type: tbl table
14663 #: build/C/man2/syscalls.2:376
14664 #, no-wrap
14665 msgid "B<poll>(2)\t2.2\n"
14666 msgstr ""
14667
14668 #. type: tbl table
14669 #: build/C/man2/syscalls.2:377
14670 #, no-wrap
14671 msgid "B<ppoll>(2)\t2.6.16\n"
14672 msgstr ""
14673
14674 #. type: tbl table
14675 #: build/C/man2/syscalls.2:378
14676 #, no-wrap
14677 msgid "B<prctl>(2)\t2.2\n"
14678 msgstr ""
14679
14680 #. type: tbl table
14681 #: build/C/man2/syscalls.2:379
14682 #, no-wrap
14683 msgid "B<pread64>(2)\t\tAdded as \"pread\" in 2.2;\n"
14684 msgstr ""
14685
14686 #. type: tbl table
14687 #: build/C/man2/syscalls.2:380
14688 #, no-wrap
14689 msgid "\t\trenamed \"pread64\" in 2.6\n"
14690 msgstr ""
14691
14692 #. type: tbl table
14693 #: build/C/man2/syscalls.2:381
14694 #, no-wrap
14695 msgid "B<preadv>(2)\t2.6.30\n"
14696 msgstr ""
14697
14698 #. type: tbl table
14699 #: build/C/man2/syscalls.2:382
14700 #, no-wrap
14701 msgid "B<prlimit>(2)\t2.6.36\n"
14702 msgstr ""
14703
14704 #. type: tbl table
14705 #: build/C/man2/syscalls.2:383
14706 #, no-wrap
14707 msgid "B<process_vm_readv(2)>\t3.2\n"
14708 msgstr ""
14709
14710 #. type: tbl table
14711 #: build/C/man2/syscalls.2:384
14712 #, no-wrap
14713 msgid "B<process_vm_writev(2)>\t3.2\n"
14714 msgstr ""
14715
14716 #. type: tbl table
14717 #: build/C/man2/syscalls.2:385
14718 #, no-wrap
14719 msgid "B<pselect6>(2)\t2.6.16\n"
14720 msgstr ""
14721
14722 #.  Implements \fBpselect\fP(2)
14723 #. type: tbl table
14724 #: build/C/man2/syscalls.2:387
14725 #, no-wrap
14726 msgid "B<ptrace>(2)\n"
14727 msgstr ""
14728
14729 #. type: tbl table
14730 #: build/C/man2/syscalls.2:388
14731 #, no-wrap
14732 msgid "B<pwrite64>(2)\t\tAdded as \"pwrite\" in 2.2;\n"
14733 msgstr ""
14734
14735 #. type: tbl table
14736 #: build/C/man2/syscalls.2:389
14737 #, no-wrap
14738 msgid "\t\trenamed \"pwrite64\" in 2.6\n"
14739 msgstr ""
14740
14741 #. type: tbl table
14742 #: build/C/man2/syscalls.2:390
14743 #, no-wrap
14744 msgid "B<pwritev>(2)\t2.6.30\n"
14745 msgstr ""
14746
14747 #. type: tbl table
14748 #: build/C/man2/syscalls.2:391
14749 #, no-wrap
14750 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
14751 msgstr ""
14752
14753 #. type: tbl table
14754 #: build/C/man2/syscalls.2:392
14755 #, no-wrap
14756 msgid "B<quotactl>(2)\n"
14757 msgstr ""
14758
14759 #. type: tbl table
14760 #: build/C/man2/syscalls.2:393
14761 #, no-wrap
14762 msgid "B<read>(2)\n"
14763 msgstr ""
14764
14765 #. type: tbl table
14766 #: build/C/man2/syscalls.2:394
14767 #, no-wrap
14768 msgid "B<readahead>(2)\t2.4.13\n"
14769 msgstr ""
14770
14771 #. type: tbl table
14772 #: build/C/man2/syscalls.2:395
14773 #, no-wrap
14774 msgid "B<readdir>(2)\n"
14775 msgstr ""
14776
14777 #.  Supersedes \fBgetdents\fP(2)
14778 #. type: tbl table
14779 #: build/C/man2/syscalls.2:397
14780 #, no-wrap
14781 msgid "B<readlink>(2)\n"
14782 msgstr ""
14783
14784 #. type: tbl table
14785 #: build/C/man2/syscalls.2:398
14786 #, no-wrap
14787 msgid "B<readlinkat>(2)\t2.6.16\n"
14788 msgstr ""
14789
14790 #. type: tbl table
14791 #: build/C/man2/syscalls.2:399
14792 #, no-wrap
14793 msgid "B<readv>(2)\t2.0\n"
14794 msgstr ""
14795
14796 #. type: tbl table
14797 #: build/C/man2/syscalls.2:400
14798 #, no-wrap
14799 msgid "B<reboot>(2)\n"
14800 msgstr ""
14801
14802 #. type: tbl table
14803 #: build/C/man2/syscalls.2:401
14804 #, no-wrap
14805 msgid "B<recv>(2)\n"
14806 msgstr ""
14807
14808 #. type: tbl table
14809 #: build/C/man2/syscalls.2:402
14810 #, no-wrap
14811 msgid "B<recvfrom>(2)\n"
14812 msgstr ""
14813
14814 #. type: tbl table
14815 #: build/C/man2/syscalls.2:403
14816 #, no-wrap
14817 msgid "B<recvmsg>(2)\n"
14818 msgstr ""
14819
14820 #. type: tbl table
14821 #: build/C/man2/syscalls.2:404
14822 #, no-wrap
14823 msgid "B<recvmmsg>(2)\t2.6.33\n"
14824 msgstr ""
14825
14826 #. type: tbl table
14827 #: build/C/man2/syscalls.2:405
14828 #, no-wrap
14829 msgid "B<remap_file_pages>(2)\t2.6\n"
14830 msgstr ""
14831
14832 #. type: tbl table
14833 #: build/C/man2/syscalls.2:406
14834 #, no-wrap
14835 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
14836 msgstr ""
14837
14838 #. type: tbl table
14839 #: build/C/man2/syscalls.2:407
14840 #, no-wrap
14841 msgid "B<rename>(2)\n"
14842 msgstr ""
14843
14844 #. type: tbl table
14845 #: build/C/man2/syscalls.2:408
14846 #, no-wrap
14847 msgid "B<renameat>(2)\t2.6.16\n"
14848 msgstr ""
14849
14850 #. type: tbl table
14851 #: build/C/man2/syscalls.2:409
14852 #, no-wrap
14853 msgid "B<request_key>(2)\t2.6.11\n"
14854 msgstr ""
14855
14856 #. type: tbl table
14857 #: build/C/man2/syscalls.2:410
14858 #, no-wrap
14859 msgid "B<restart_syscall>(2)\t2.6\n"
14860 msgstr ""
14861
14862 #. type: tbl table
14863 #: build/C/man2/syscalls.2:411
14864 #, no-wrap
14865 msgid "B<rmdir>(2)\n"
14866 msgstr ""
14867
14868 #. type: tbl table
14869 #: build/C/man2/syscalls.2:412
14870 #, no-wrap
14871 msgid "B<rt_sigaction>(2)\t2.2\n"
14872 msgstr ""
14873
14874 #. type: tbl table
14875 #: build/C/man2/syscalls.2:413
14876 #, no-wrap
14877 msgid "B<rt_sigpending>(2)\t2.2\n"
14878 msgstr ""
14879
14880 #. type: tbl table
14881 #: build/C/man2/syscalls.2:414
14882 #, no-wrap
14883 msgid "B<rt_sigprocmask>(2)\t2.2\n"
14884 msgstr ""
14885
14886 #. type: tbl table
14887 #: build/C/man2/syscalls.2:415
14888 #, no-wrap
14889 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
14890 msgstr ""
14891
14892 #. type: tbl table
14893 #: build/C/man2/syscalls.2:416
14894 #, no-wrap
14895 msgid "B<rt_sigreturn>(2)\t2.2\n"
14896 msgstr ""
14897
14898 #. type: tbl table
14899 #: build/C/man2/syscalls.2:417
14900 #, no-wrap
14901 msgid "B<rt_sigsuspend>(2)\t2.2\n"
14902 msgstr ""
14903
14904 #. type: tbl table
14905 #: build/C/man2/syscalls.2:418
14906 #, no-wrap
14907 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
14908 msgstr ""
14909
14910 #. type: tbl table
14911 #: build/C/man2/syscalls.2:419
14912 #, no-wrap
14913 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
14914 msgstr ""
14915
14916 #. type: tbl table
14917 #: build/C/man2/syscalls.2:420
14918 #, no-wrap
14919 msgid "B<sched_get_priority_max>(2)\t2.0\n"
14920 msgstr ""
14921
14922 #. type: tbl table
14923 #: build/C/man2/syscalls.2:421
14924 #, no-wrap
14925 msgid "B<sched_get_priority_min>(2)\t2.0\n"
14926 msgstr ""
14927
14928 #. type: tbl table
14929 #: build/C/man2/syscalls.2:422
14930 #, no-wrap
14931 msgid "B<sched_getaffinity>(2)\t2.6\n"
14932 msgstr ""
14933
14934 #. type: tbl table
14935 #: build/C/man2/syscalls.2:423
14936 #, no-wrap
14937 msgid "B<sched_getparam>(2)\t2.0\n"
14938 msgstr ""
14939
14940 #. type: tbl table
14941 #: build/C/man2/syscalls.2:424
14942 #, no-wrap
14943 msgid "B<sched_getscheduler>(2)\t2.0\n"
14944 msgstr ""
14945
14946 #. type: tbl table
14947 #: build/C/man2/syscalls.2:425
14948 #, no-wrap
14949 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
14950 msgstr ""
14951
14952 #. type: tbl table
14953 #: build/C/man2/syscalls.2:426
14954 #, no-wrap
14955 msgid "B<sched_setaffinity>(2)\t2.6\n"
14956 msgstr ""
14957
14958 #. type: tbl table
14959 #: build/C/man2/syscalls.2:427
14960 #, no-wrap
14961 msgid "B<sched_setparam>(2)\t2.0\n"
14962 msgstr ""
14963
14964 #. type: tbl table
14965 #: build/C/man2/syscalls.2:428
14966 #, no-wrap
14967 msgid "B<sched_setscheduler>(2)\t2.0\n"
14968 msgstr ""
14969
14970 #. type: tbl table
14971 #: build/C/man2/syscalls.2:429
14972 #, no-wrap
14973 msgid "B<sched_yield>(2)\t2.0\n"
14974 msgstr ""
14975
14976 #. type: tbl table
14977 #: build/C/man2/syscalls.2:430
14978 #, no-wrap
14979 msgid "B<select>(2)\n"
14980 msgstr ""
14981
14982 #. type: tbl table
14983 #: build/C/man2/syscalls.2:431
14984 #, no-wrap
14985 msgid "B<semctl>(2)\n"
14986 msgstr ""
14987
14988 #. type: tbl table
14989 #: build/C/man2/syscalls.2:432
14990 #, no-wrap
14991 msgid "B<semget>(2)\n"
14992 msgstr ""
14993
14994 #. type: tbl table
14995 #: build/C/man2/syscalls.2:433
14996 #, no-wrap
14997 msgid "B<semop>(2)\n"
14998 msgstr ""
14999
15000 #. type: tbl table
15001 #: build/C/man2/syscalls.2:434
15002 #, no-wrap
15003 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
15004 msgstr ""
15005
15006 #. type: tbl table
15007 #: build/C/man2/syscalls.2:435
15008 #, no-wrap
15009 msgid "B<send>(2)\n"
15010 msgstr ""
15011
15012 #. type: tbl table
15013 #: build/C/man2/syscalls.2:436
15014 #, no-wrap
15015 msgid "B<sendfile>(2)\t2.2\n"
15016 msgstr ""
15017
15018 #. type: tbl table
15019 #: build/C/man2/syscalls.2:437
15020 #, no-wrap
15021 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
15022 msgstr ""
15023
15024 #. type: tbl table
15025 #: build/C/man2/syscalls.2:438
15026 #, no-wrap
15027 msgid "B<sendmmsg>(2)\t3.0\n"
15028 msgstr ""
15029
15030 #. type: tbl table
15031 #: build/C/man2/syscalls.2:439
15032 #, no-wrap
15033 msgid "B<sendmsg>(2)\n"
15034 msgstr ""
15035
15036 #. type: tbl table
15037 #: build/C/man2/syscalls.2:440
15038 #, no-wrap
15039 msgid "B<sendto>(2)\n"
15040 msgstr ""
15041
15042 #. type: tbl table
15043 #: build/C/man2/syscalls.2:441
15044 #, no-wrap
15045 msgid "B<set_mempolicy>(2)\t2.6.6\n"
15046 msgstr ""
15047
15048 #. type: tbl table
15049 #: build/C/man2/syscalls.2:442
15050 #, no-wrap
15051 msgid "B<set_robust_list>(2)\t2.6.17\n"
15052 msgstr ""
15053
15054 #. type: tbl table
15055 #: build/C/man2/syscalls.2:443
15056 #, no-wrap
15057 msgid "B<set_thread_area>(2)\t2.6\n"
15058 msgstr ""
15059
15060 #. type: tbl table
15061 #: build/C/man2/syscalls.2:444
15062 #, no-wrap
15063 msgid "B<set_tid_address>(2)\t2.6\n"
15064 msgstr ""
15065
15066 #. type: tbl table
15067 #: build/C/man2/syscalls.2:445
15068 #, no-wrap
15069 msgid "B<set_zone_reclaim>(2)\t2.6.13\tRemoved in 2.6.16 (was never\n"
15070 msgstr ""
15071
15072 #. type: tbl table
15073 #: build/C/man2/syscalls.2:446
15074 #, no-wrap
15075 msgid "\t\tavailable to userspace)\n"
15076 msgstr ""
15077
15078 #.  See http://lkml.org/lkml/2005/8/1/83
15079 #.  "[PATCH] remove sys_set_zone_reclaim()"
15080 #. type: tbl table
15081 #: build/C/man2/syscalls.2:449
15082 #, no-wrap
15083 msgid "B<setdomainname>(2)\n"
15084 msgstr ""
15085
15086 #. type: tbl table
15087 #: build/C/man2/syscalls.2:450
15088 #, no-wrap
15089 msgid "B<setfsgid>(2)\t1.2\n"
15090 msgstr ""
15091
15092 #. type: tbl table
15093 #: build/C/man2/syscalls.2:451
15094 #, no-wrap
15095 msgid "B<setfsgid32>(2)\t2.4\n"
15096 msgstr ""
15097
15098 #. type: tbl table
15099 #: build/C/man2/syscalls.2:452
15100 #, no-wrap
15101 msgid "B<setfsuid>(2)\t1.2\n"
15102 msgstr ""
15103
15104 #. type: tbl table
15105 #: build/C/man2/syscalls.2:453
15106 #, no-wrap
15107 msgid "B<setfsuid32>(2)\t2.4\n"
15108 msgstr ""
15109
15110 #. type: tbl table
15111 #: build/C/man2/syscalls.2:454
15112 #, no-wrap
15113 msgid "B<setgid>(2)\n"
15114 msgstr ""
15115
15116 #. type: tbl table
15117 #: build/C/man2/syscalls.2:455
15118 #, no-wrap
15119 msgid "B<setgid32>(2)\t2.4\n"
15120 msgstr ""
15121
15122 #. type: tbl table
15123 #: build/C/man2/syscalls.2:456
15124 #, no-wrap
15125 msgid "B<setgroups>(2)\n"
15126 msgstr ""
15127
15128 #. type: tbl table
15129 #: build/C/man2/syscalls.2:457
15130 #, no-wrap
15131 msgid "B<setgroups32>(2)\t2.4\n"
15132 msgstr ""
15133
15134 #. type: tbl table
15135 #: build/C/man2/syscalls.2:458
15136 #, no-wrap
15137 msgid "B<sethostname>(2)\n"
15138 msgstr ""
15139
15140 #. type: tbl table
15141 #: build/C/man2/syscalls.2:459
15142 #, no-wrap
15143 msgid "B<setitimer>(2)\n"
15144 msgstr ""
15145
15146 #. type: tbl table
15147 #: build/C/man2/syscalls.2:460
15148 #, no-wrap
15149 msgid "B<setns>(2)\t3.0\n"
15150 msgstr ""
15151
15152 #. type: tbl table
15153 #: build/C/man2/syscalls.2:461
15154 #, no-wrap
15155 msgid "B<setpgid>(2)\n"
15156 msgstr ""
15157
15158 #. type: tbl table
15159 #: build/C/man2/syscalls.2:462
15160 #, no-wrap
15161 msgid "B<setpriority>(2)\n"
15162 msgstr ""
15163
15164 #. type: tbl table
15165 #: build/C/man2/syscalls.2:463
15166 #, no-wrap
15167 msgid "B<setregid>(2)\n"
15168 msgstr ""
15169
15170 #. type: tbl table
15171 #: build/C/man2/syscalls.2:464
15172 #, no-wrap
15173 msgid "B<setregid32>(2)\t2.4\n"
15174 msgstr ""
15175
15176 #. type: tbl table
15177 #: build/C/man2/syscalls.2:465
15178 #, no-wrap
15179 msgid "B<setresgid>(2)\t2.2\n"
15180 msgstr ""
15181
15182 #. type: tbl table
15183 #: build/C/man2/syscalls.2:466
15184 #, no-wrap
15185 msgid "B<setresgid32>(2)\t2.4\n"
15186 msgstr ""
15187
15188 #. type: tbl table
15189 #: build/C/man2/syscalls.2:467
15190 #, no-wrap
15191 msgid "B<setresuid>(2)\t2.2\n"
15192 msgstr ""
15193
15194 #. type: tbl table
15195 #: build/C/man2/syscalls.2:468
15196 #, no-wrap
15197 msgid "B<setresuid32>(2)\t2.4\n"
15198 msgstr ""
15199
15200 #. type: tbl table
15201 #: build/C/man2/syscalls.2:469
15202 #, no-wrap
15203 msgid "B<setreuid>(2)\n"
15204 msgstr ""
15205
15206 #. type: tbl table
15207 #: build/C/man2/syscalls.2:470
15208 #, no-wrap
15209 msgid "B<setreuid32>(2)\t2.4\n"
15210 msgstr ""
15211
15212 #. type: tbl table
15213 #: build/C/man2/syscalls.2:471
15214 #, no-wrap
15215 msgid "B<setrlimit>(2)\n"
15216 msgstr ""
15217
15218 #. type: tbl table
15219 #: build/C/man2/syscalls.2:472
15220 #, no-wrap
15221 msgid "B<setsid>(2)\n"
15222 msgstr ""
15223
15224 #. type: tbl table
15225 #: build/C/man2/syscalls.2:473
15226 #, no-wrap
15227 msgid "B<setsockopt>(2)\n"
15228 msgstr ""
15229
15230 #. type: tbl table
15231 #: build/C/man2/syscalls.2:474
15232 #, no-wrap
15233 msgid "B<settimeofday>(2)\n"
15234 msgstr ""
15235
15236 #. type: tbl table
15237 #: build/C/man2/syscalls.2:475
15238 #, no-wrap
15239 msgid "B<setuid>(2)\n"
15240 msgstr ""
15241
15242 #. type: tbl table
15243 #: build/C/man2/syscalls.2:476
15244 #, no-wrap
15245 msgid "B<setuid32>(2)\t2.4\n"
15246 msgstr ""
15247
15248 #. type: tbl table
15249 #: build/C/man2/syscalls.2:477
15250 #, no-wrap
15251 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
15252 msgstr ""
15253
15254 #. type: tbl table
15255 #: build/C/man2/syscalls.2:478
15256 #, no-wrap
15257 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
15258 msgstr ""
15259
15260 #. type: tbl table
15261 #: build/C/man2/syscalls.2:479
15262 #, no-wrap
15263 msgid "B<sgetmask>(2)\n"
15264 msgstr ""
15265
15266 #. type: tbl table
15267 #: build/C/man2/syscalls.2:480
15268 #, no-wrap
15269 msgid "B<shmat>(2)\n"
15270 msgstr ""
15271
15272 #. type: tbl table
15273 #: build/C/man2/syscalls.2:481
15274 #, no-wrap
15275 msgid "B<shmctl>(2)\n"
15276 msgstr ""
15277
15278 #. type: tbl table
15279 #: build/C/man2/syscalls.2:482
15280 #, no-wrap
15281 msgid "B<shmdt>(2)\n"
15282 msgstr ""
15283
15284 #. type: tbl table
15285 #: build/C/man2/syscalls.2:483
15286 #, no-wrap
15287 msgid "B<shmget>(2)\n"
15288 msgstr ""
15289
15290 #. type: tbl table
15291 #: build/C/man2/syscalls.2:484
15292 #, no-wrap
15293 msgid "B<shutdown>(2)\n"
15294 msgstr ""
15295
15296 #. type: tbl table
15297 #: build/C/man2/syscalls.2:485
15298 #, no-wrap
15299 msgid "B<sigaction>(2)\n"
15300 msgstr ""
15301
15302 #. type: tbl table
15303 #: build/C/man2/syscalls.2:486
15304 #, no-wrap
15305 msgid "B<sigaltstack>(2)\t2.2\n"
15306 msgstr ""
15307
15308 #. type: tbl table
15309 #: build/C/man2/syscalls.2:487
15310 #, no-wrap
15311 msgid "B<signal>(2)\n"
15312 msgstr ""
15313
15314 #. type: tbl table
15315 #: build/C/man2/syscalls.2:488
15316 #, no-wrap
15317 msgid "B<signalfd>(2)\t2.6.22\n"
15318 msgstr ""
15319
15320 #. type: tbl table
15321 #: build/C/man2/syscalls.2:489
15322 #, no-wrap
15323 msgid "B<signalfd4>(2)\t2.6.27\n"
15324 msgstr ""
15325
15326 #. type: tbl table
15327 #: build/C/man2/syscalls.2:490
15328 #, no-wrap
15329 msgid "B<sigpending>(2)\n"
15330 msgstr ""
15331
15332 #. type: tbl table
15333 #: build/C/man2/syscalls.2:491
15334 #, no-wrap
15335 msgid "B<sigprocmask>(2)\n"
15336 msgstr ""
15337
15338 #. type: tbl table
15339 #: build/C/man2/syscalls.2:492
15340 #, no-wrap
15341 msgid "B<sigreturn>(2)\n"
15342 msgstr ""
15343
15344 #. type: tbl table
15345 #: build/C/man2/syscalls.2:493
15346 #, no-wrap
15347 msgid "B<sigsuspend>(2)\n"
15348 msgstr ""
15349
15350 #. type: tbl table
15351 #: build/C/man2/syscalls.2:494
15352 #, no-wrap
15353 msgid "B<socket>(2)\n"
15354 msgstr ""
15355
15356 #. type: tbl table
15357 #: build/C/man2/syscalls.2:495
15358 #, no-wrap
15359 msgid "B<socketcall>(2)\n"
15360 msgstr ""
15361
15362 #.  Implements BSD socket calls
15363 #. type: tbl table
15364 #: build/C/man2/syscalls.2:497
15365 #, no-wrap
15366 msgid "B<socketpair>(2)\n"
15367 msgstr ""
15368
15369 #. type: tbl table
15370 #: build/C/man2/syscalls.2:498
15371 #, no-wrap
15372 msgid "B<splice>(2)\t2.6.17\n"
15373 msgstr ""
15374
15375 #. type: tbl table
15376 #: build/C/man2/syscalls.2:499
15377 #, no-wrap
15378 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
15379 msgstr ""
15380
15381 #. type: tbl table
15382 #: build/C/man2/syscalls.2:500
15383 #, no-wrap
15384 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
15385 msgstr ""
15386
15387 #. type: tbl table
15388 #: build/C/man2/syscalls.2:501
15389 #, no-wrap
15390 msgid "B<ssetmask>(2)\n"
15391 msgstr ""
15392
15393 #. type: tbl table
15394 #: build/C/man2/syscalls.2:502
15395 #, no-wrap
15396 msgid "B<stat>(2)\n"
15397 msgstr ""
15398
15399 #. type: tbl table
15400 #: build/C/man2/syscalls.2:503
15401 #, no-wrap
15402 msgid "B<stat64>(2)\t2.4\n"
15403 msgstr ""
15404
15405 #. type: tbl table
15406 #: build/C/man2/syscalls.2:504
15407 #, no-wrap
15408 msgid "B<statfs>(2)\n"
15409 msgstr ""
15410
15411 #. type: tbl table
15412 #: build/C/man2/syscalls.2:505
15413 #, no-wrap
15414 msgid "B<statfs64>(2)\t2.6\n"
15415 msgstr ""
15416
15417 #. type: tbl table
15418 #: build/C/man2/syscalls.2:506
15419 #, no-wrap
15420 msgid "B<stime>(2)\n"
15421 msgstr ""
15422
15423 #. type: tbl table
15424 #: build/C/man2/syscalls.2:507
15425 #, no-wrap
15426 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if CONFIG_PPC_64K_PAGES\n"
15427 msgstr ""
15428
15429 #. type: tbl table
15430 #: build/C/man2/syscalls.2:508
15431 #, no-wrap
15432 msgid "B<swapoff>(2)\n"
15433 msgstr ""
15434
15435 #. type: tbl table
15436 #: build/C/man2/syscalls.2:509
15437 #, no-wrap
15438 msgid "B<swapon>(2)\n"
15439 msgstr ""
15440
15441 #. type: tbl table
15442 #: build/C/man2/syscalls.2:510
15443 #, no-wrap
15444 msgid "B<symlink>(2)\n"
15445 msgstr ""
15446
15447 #. type: tbl table
15448 #: build/C/man2/syscalls.2:511
15449 #, no-wrap
15450 msgid "B<symlinkat>(2)\t2.6.16\n"
15451 msgstr ""
15452
15453 #. type: tbl table
15454 #: build/C/man2/syscalls.2:512
15455 #, no-wrap
15456 msgid "B<sync>(2)\n"
15457 msgstr ""
15458
15459 #. type: tbl table
15460 #: build/C/man2/syscalls.2:513
15461 #, no-wrap
15462 msgid "B<sync_file_range>(2)\t2.6.17\n"
15463 msgstr ""
15464
15465 #. type: tbl table
15466 #: build/C/man2/syscalls.2:514
15467 #, no-wrap
15468 msgid "B<sync_file_range2>(2)\t2.6.22\tArchitecture-specific variant\n"
15469 msgstr ""
15470
15471 #.  PowerPC, ARM, tile
15472 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
15473 #. type: tbl table
15474 #: build/C/man2/syscalls.2:517
15475 #, no-wrap
15476 msgid "\t\tof B<sync_file_range>(2)\n"
15477 msgstr ""
15478
15479 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
15480 #. type: tbl table
15481 #: build/C/man2/syscalls.2:519
15482 #, no-wrap
15483 msgid "B<syncfs>(2)\t2.6.39\n"
15484 msgstr ""
15485
15486 #. type: tbl table
15487 #: build/C/man2/syscalls.2:520
15488 #, no-wrap
15489 msgid "B<sysfs>(2)\t1.2\n"
15490 msgstr ""
15491
15492 #. type: tbl table
15493 #: build/C/man2/syscalls.2:521
15494 #, no-wrap
15495 msgid "B<sysinfo>(2)\n"
15496 msgstr ""
15497
15498 #. type: tbl table
15499 #: build/C/man2/syscalls.2:522
15500 #, no-wrap
15501 msgid "B<syslog>(2)\n"
15502 msgstr ""
15503
15504 #.  glibc interface is \fBklogctl\fP(3)
15505 #. type: tbl table
15506 #: build/C/man2/syscalls.2:524
15507 #, no-wrap
15508 msgid "B<tee>(2)\t2.6.17\n"
15509 msgstr ""
15510
15511 #. type: tbl table
15512 #: build/C/man2/syscalls.2:525
15513 #, no-wrap
15514 msgid "B<tgkill>(2)\t2.6\n"
15515 msgstr ""
15516
15517 #. type: tbl table
15518 #: build/C/man2/syscalls.2:526
15519 #, no-wrap
15520 msgid "B<time>(2)\n"
15521 msgstr ""
15522
15523 #. type: tbl table
15524 #: build/C/man2/syscalls.2:527
15525 #, no-wrap
15526 msgid "B<timer_create>(2)\t2.6\n"
15527 msgstr ""
15528
15529 #. type: tbl table
15530 #: build/C/man2/syscalls.2:528
15531 #, no-wrap
15532 msgid "B<timer_delete>(2)\t2.6\n"
15533 msgstr ""
15534
15535 #. type: tbl table
15536 #: build/C/man2/syscalls.2:529
15537 #, no-wrap
15538 msgid "B<timer_getoverrun>(2)\t2.6\n"
15539 msgstr ""
15540
15541 #. type: tbl table
15542 #: build/C/man2/syscalls.2:530
15543 #, no-wrap
15544 msgid "B<timer_gettime>(2)\t2.6\n"
15545 msgstr ""
15546
15547 #. type: tbl table
15548 #: build/C/man2/syscalls.2:531
15549 #, no-wrap
15550 msgid "B<timer_settime>(2)\t2.6\n"
15551 msgstr ""
15552
15553 #. type: tbl table
15554 #: build/C/man2/syscalls.2:532
15555 #, no-wrap
15556 msgid "B<timerfd_create>(2)\t2.6.25\n"
15557 msgstr ""
15558
15559 #. type: tbl table
15560 #: build/C/man2/syscalls.2:533
15561 #, no-wrap
15562 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
15563 msgstr ""
15564
15565 #. type: tbl table
15566 #: build/C/man2/syscalls.2:534
15567 #, no-wrap
15568 msgid "B<timerfd_settime>(2)\t2.6.25\n"
15569 msgstr ""
15570
15571 #. type: tbl table
15572 #: build/C/man2/syscalls.2:535
15573 #, no-wrap
15574 msgid "B<times>(2)\n"
15575 msgstr ""
15576
15577 #. type: tbl table
15578 #: build/C/man2/syscalls.2:536
15579 #, no-wrap
15580 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
15581 msgstr ""
15582
15583 #. type: tbl table
15584 #: build/C/man2/syscalls.2:537
15585 #, no-wrap
15586 msgid "B<truncate>(2)\n"
15587 msgstr ""
15588
15589 #. type: tbl table
15590 #: build/C/man2/syscalls.2:538
15591 #, no-wrap
15592 msgid "B<truncate64>(2)\t2.4\n"
15593 msgstr ""
15594
15595 #. type: tbl table
15596 #: build/C/man2/syscalls.2:539
15597 #, no-wrap
15598 msgid "B<ugetrlimit>(2)\t2.4\n"
15599 msgstr ""
15600
15601 #. type: tbl table
15602 #: build/C/man2/syscalls.2:540
15603 #, no-wrap
15604 msgid "B<umask>(2)\n"
15605 msgstr ""
15606
15607 #. type: tbl table
15608 #: build/C/man2/syscalls.2:541
15609 #, no-wrap
15610 msgid "B<umount>(2)\n"
15611 msgstr ""
15612
15613 #.  sys_oldumount() -- __NR_umount
15614 #. type: tbl table
15615 #: build/C/man2/syscalls.2:543
15616 #, no-wrap
15617 msgid "B<umount2>(2)\t2.2\n"
15618 msgstr ""
15619
15620 #.  sys_umount() -- __NR_umount2
15621 #. type: tbl table
15622 #: build/C/man2/syscalls.2:545
15623 #, no-wrap
15624 msgid "B<uname>(2)\n"
15625 msgstr ""
15626
15627 #. type: tbl table
15628 #: build/C/man2/syscalls.2:546
15629 #, no-wrap
15630 msgid "B<unlink>(2)\n"
15631 msgstr ""
15632
15633 #. type: tbl table
15634 #: build/C/man2/syscalls.2:547
15635 #, no-wrap
15636 msgid "B<unlinkat>(2)\t2.6.16\n"
15637 msgstr ""
15638
15639 #. type: tbl table
15640 #: build/C/man2/syscalls.2:548
15641 #, no-wrap
15642 msgid "B<unshare>(2)\t2.6.16\n"
15643 msgstr ""
15644
15645 #. type: tbl table
15646 #: build/C/man2/syscalls.2:549
15647 #, no-wrap
15648 msgid "B<uselib>(2)\n"
15649 msgstr ""
15650
15651 #. type: tbl table
15652 #: build/C/man2/syscalls.2:550
15653 #, no-wrap
15654 msgid "B<ustat>(2)\n"
15655 msgstr ""
15656
15657 #. type: tbl table
15658 #: build/C/man2/syscalls.2:551
15659 #, no-wrap
15660 msgid "B<utime>(2)\n"
15661 msgstr ""
15662
15663 #. type: tbl table
15664 #: build/C/man2/syscalls.2:552
15665 #, no-wrap
15666 msgid "B<utimensat>(2)\t2.6.22\n"
15667 msgstr ""
15668
15669 #. type: tbl table
15670 #: build/C/man2/syscalls.2:553
15671 #, no-wrap
15672 msgid "B<utimes>(2)\t2.2\n"
15673 msgstr ""
15674
15675 #. type: tbl table
15676 #: build/C/man2/syscalls.2:554
15677 #, no-wrap
15678 msgid "B<vfork>(2)\n"
15679 msgstr ""
15680
15681 #. type: tbl table
15682 #: build/C/man2/syscalls.2:555
15683 #, no-wrap
15684 msgid "B<vhangup>(2)\n"
15685 msgstr ""
15686
15687 #. type: tbl table
15688 #: build/C/man2/syscalls.2:556
15689 #, no-wrap
15690 msgid "B<vm86old>(2)\n"
15691 msgstr ""
15692
15693 #.  Superseded by \fBvm86\fP(2)
15694 #. type: tbl table
15695 #: build/C/man2/syscalls.2:558
15696 #, no-wrap
15697 msgid "B<vmsplice>(2)\t2.6.17\n"
15698 msgstr ""
15699
15700 #. type: tbl table
15701 #: build/C/man2/syscalls.2:559
15702 #, no-wrap
15703 msgid "B<wait4>(2)\n"
15704 msgstr ""
15705
15706 #. type: tbl table
15707 #: build/C/man2/syscalls.2:560
15708 #, no-wrap
15709 msgid "B<waitid>(2)\t2.6.10\n"
15710 msgstr ""
15711
15712 #. type: tbl table
15713 #: build/C/man2/syscalls.2:561
15714 #, no-wrap
15715 msgid "B<waitpid>(2)\n"
15716 msgstr ""
15717
15718 #. type: tbl table
15719 #: build/C/man2/syscalls.2:562
15720 #, no-wrap
15721 msgid "B<write>(2)\n"
15722 msgstr ""
15723
15724 #. type: tbl table
15725 #: build/C/man2/syscalls.2:563
15726 #, no-wrap
15727 msgid "B<writev>(2)\t2.0\n"
15728 msgstr ""
15729
15730 #. type: Plain text
15731 #: build/C/man2/syscalls.2:571
15732 msgid ""
15733 "On many platforms, including i386, socket calls are all multiplexed (via "
15734 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
15735 "IPC calls are multiplexed through B<ipc>(2)."
15736 msgstr ""
15737
15738 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
15739 #.  __NR_break is 17 on Linux 2.6.22/i386
15740 #.  __NR_ftime is 35 on Linux 2.6.22/i386
15741 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
15742 #.  __NR_gtty is 32 on Linux 2.6.22/i386
15743 #.  __NR_idle is 112 on Linux 2.6.22/i386
15744 #.  __NR_lock is 53 on Linux 2.6.22/i386
15745 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
15746 #.  __NR_mpx is 66 on Linux 2.6.22/i386
15747 #.  Slot has been reused
15748 #.  __NR_prof is 44 on Linux 2.6.22/i386
15749 #.  __NR_profil is 98 on Linux 2.6.22/i386
15750 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
15751 #.  __NR_security is 223 on Linux 2.4/i386
15752 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
15753 #.  on a couple of 2.6 architectures
15754 #.  __NR_stty is 31 on Linux 2.6.22/i386
15755 #.  The security call is for future use.
15756 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
15757 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
15758 #.  __NR_vserver is 273 on Linux 2.6.22/i386
15759 #. type: Plain text
15760 #: build/C/man2/syscalls.2:616
15761 msgid ""
15762 "Although slots are reserved for them in the system call table, the following "
15763 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
15764 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
15765 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
15766 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
15767 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
15768 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
15769 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
15770 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
15771 "for kernels patched to support STREAMS, and may never be in the standard "
15772 "kernel."
15773 msgstr ""
15774
15775 #. type: Plain text
15776 #: build/C/man2/syscalls.2:632
15777 msgid ""
15778 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
15779 "defined in I</usr/include/asm/unistd.h> can be found in the kernel source in "
15780 "the routine I<sys_xxx>().  (The dispatch table for i386 can be found in "
15781 "I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many exceptions, "
15782 "however, mostly because older system calls were superseded by newer ones, "
15783 "and this has been treated somewhat unsystematically.  On platforms with "
15784 "proprietary OS emulation, such as parisc, sparc, sparc64 and alpha, there "
15785 "are many additional system calls; mips64 also contains a full set of 32-bit "
15786 "system calls."
15787 msgstr ""
15788
15789 #. type: Plain text
15790 #: build/C/man2/syscalls.2:651
15791 msgid ""
15792 "Over time, changes to the interfaces of some system calls have been "
15793 "necessary.  One reason for such changes was the need to increase the size of "
15794 "structures or scalar values passed to the system call.  Because of these "
15795 "changes, there are now various groups of related system calls (e.g., "
15796 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
15797 "which vary in details such as the size of their arguments.  (As noted "
15798 "earlier, applications are generally unaware of this: the glibc wrapper "
15799 "functions do some work to ensure that the right system call is invoked, and "
15800 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
15801 "calls that exist in multiple versions are the following:"
15802 msgstr ""
15803
15804 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
15805 #.  The stat system calls deal with three different data structures,
15806 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
15807 #. type: Plain text
15808 #: build/C/man2/syscalls.2:672
15809 msgid ""
15810 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
15811 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
15812 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
15813 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
15814 msgstr ""
15815
15816 #. type: Plain text
15817 #: build/C/man2/syscalls.2:683
15818 msgid ""
15819 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
15820 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
15821 "I<sys_newuname>()."
15822 msgstr ""
15823
15824 #. type: Plain text
15825 #: build/C/man2/syscalls.2:690
15826 msgid ""
15827 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
15828 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
15829 msgstr ""
15830
15831 #. type: Plain text
15832 #: build/C/man2/syscalls.2:701
15833 msgid ""
15834 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
15835 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
15836 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
15837 msgstr ""
15838
15839 #.  64-bit off_t changes: ftruncate64, *stat64,
15840 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
15841 #. type: Plain text
15842 #: build/C/man2/syscalls.2:713
15843 msgid ""
15844 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
15845 "support this change, a range of system calls were added (e.g., "
15846 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
15847 "superseding earlier calls of the same name without the \"32\" suffix."
15848 msgstr ""
15849
15850 #. type: Plain text
15851 #: build/C/man2/syscalls.2:730
15852 msgid ""
15853 "Linux 2.4 added support for applications on 32-bit architectures to access "
15854 "large files (i.e., files for which the sizes and file offsets can't be "
15855 "represented in 32 bits.)  To support this change, replacements were required "
15856 "for system calls that deal with file offsets and sizes.  Thus the following "
15857 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
15858 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
15859 "descriptors or symbolic links.  These system calls supersede the older "
15860 "system calls which, except in the case of the \"stat\" calls, have the same "
15861 "name without the \"64\" suffix."
15862 msgstr ""
15863
15864 #. type: Plain text
15865 #: build/C/man2/syscalls.2:734
15866 msgid ""
15867 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
15868 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
15869 "calls exist, the other versions are obsolete."
15870 msgstr ""
15871
15872 #. type: Plain text
15873 #: build/C/man2/syscalls.2:742
15874 msgid ""
15875 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
15876 "real-time signals (see B<signal>(7)).  These system calls supersede the "
15877 "older system calls of the same name without the \"rt_\" prefix."
15878 msgstr ""
15879
15880 #.  (used by libc 6)
15881 #.  .PP
15882 #.  Two system call numbers,
15883 #.  .IR __NR__llseek
15884 #.  and
15885 #.  .IR __NR__sysctl
15886 #.  have an additional underscore absent in
15887 #.  .IR sys_llseek ()
15888 #.  and
15889 #.  .IR sys_sysctl ().
15890 #
15891 #.  In kernel 2.1.81,
15892 #.  .BR lchown (2)
15893 #.  and
15894 #.  .BR chown (2)
15895 #.  were swapped; that is,
15896 #.  .BR lchown (2)
15897 #.  was added with the semantics that were then current for
15898 #.  .BR chown (2),
15899 #.  and the semantics of the latter call were changed to what
15900 #.  they are today.
15901 #. type: Plain text
15902 #: build/C/man2/syscalls.2:792
15903 msgid ""
15904 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
15905 "which caused problems the way argument passing on the i386 used to be set "
15906 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
15907 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
15908 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
15909 "argument block) instead.  These days passing five arguments is not a problem "
15910 "any more, and there is a I<__NR__newselect> that corresponds directly to "
15911 "I<sys_select>()  and similarly I<__NR_mmap2>."
15912 msgstr ""
15913
15914 #. type: Plain text
15915 #: build/C/man2/syscalls.2:795
15916 msgid "B<syscall>(2), B<unimplemented>(2), B<libc>(7)"
15917 msgstr ""
15918
15919 #. type: TH
15920 #: build/C/man3/sysconf.3:25
15921 #, no-wrap
15922 msgid "SYSCONF"
15923 msgstr ""
15924
15925 #. type: Plain text
15926 #: build/C/man3/sysconf.3:28
15927 msgid "sysconf - Get configuration information at runtime"
15928 msgstr ""
15929
15930 #. type: Plain text
15931 #: build/C/man3/sysconf.3:33
15932 #, no-wrap
15933 msgid "B<long sysconf(int >I<name>B<);>\n"
15934 msgstr ""
15935
15936 #. type: Plain text
15937 #: build/C/man3/sysconf.3:38
15938 msgid ""
15939 "POSIX allows an application to test at compile or run time whether certain "
15940 "options are supported, or what the value is of certain configurable "
15941 "constants or limits."
15942 msgstr ""
15943
15944 #. type: Plain text
15945 #: build/C/man3/sysconf.3:44
15946 msgid ""
15947 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
15948 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
15949 msgstr ""
15950
15951 #. type: Plain text
15952 #: build/C/man3/sysconf.3:54
15953 msgid ""
15954 "At run time, one can ask for numerical values using the present function "
15955 "B<sysconf>().  One can ask for numerical values that may depend on the file "
15956 "system a file is in using the calls B<fpathconf>(3)  and B<pathconf>(3).  "
15957 "One can ask for string values using B<confstr>(3)."
15958 msgstr ""
15959
15960 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
15961 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
15962 #. type: Plain text
15963 #: build/C/man3/sysconf.3:59
15964 msgid ""
15965 "The values obtained from these functions are system configuration "
15966 "constants.  They do not change during the lifetime of a process."
15967 msgstr ""
15968
15969 #.  and 999 to indicate support for options no longer present in the latest
15970 #.  standard. (?)
15971 #. type: Plain text
15972 #: build/C/man3/sysconf.3:82
15973 msgid ""
15974 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
15975 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
15976 "time.  If it is defined to -1, then the option is not supported.  If it is "
15977 "defined to 0, then relevant functions and headers exist, but one has to ask "
15978 "at runtime what degree of support is available.  If it is defined to a value "
15979 "other than -1 or 0, then the option is supported.  Usually the value (such "
15980 "as 200112L) indicates the year and month of the POSIX revision describing "
15981 "the option.  Glibc uses the value 1 to indicate support as long as the POSIX "
15982 "revision has not been published yet.  The B<sysconf>()  argument will be "
15983 "B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
15984 msgstr ""
15985
15986 #. type: Plain text
15987 #: build/C/man3/sysconf.3:102
15988 msgid ""
15989 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
15990 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
15991 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
15992 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
15993 "greater value might actually be supported.  If an application wants to take "
15994 "advantage of values which may change between systems, a call to B<sysconf>()  "
15995 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
15996 msgstr ""
15997
15998 #. type: SS
15999 #: build/C/man3/sysconf.3:102
16000 #, no-wrap
16001 msgid "POSIX.1 Variables"
16002 msgstr ""
16003
16004 #. type: Plain text
16005 #: build/C/man3/sysconf.3:107
16006 msgid ""
16007 "We give the name of the variable, the name of the B<sysconf>()  argument "
16008 "used to inquire about its value, and a short description."
16009 msgstr ""
16010
16011 #.  [for the moment: only the things that are unconditionally present]
16012 #.  .TP
16013 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
16014 #.  (if _POSIX_ASYNCHRONOUS_IO)
16015 #.  Maximum number of I/O operations in a single list I/O call.
16016 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
16017 #.  .TP
16018 #.  .BR AIO_MAX " - " _SC_AIO_MAX
16019 #.  (if _POSIX_ASYNCHRONOUS_IO)
16020 #.  Maximum number of outstanding asynchronous I/O operations.
16021 #.  Must not be less than _POSIX_AIO_MAX.
16022 #.  .TP
16023 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
16024 #.  (if _POSIX_ASYNCHRONOUS_IO)
16025 #.  The maximum amount by which a process can decrease its
16026 #.  asynchronous I/O priority level from its own scheduling priority.
16027 #.  Must be nonnegative.
16028 #. type: Plain text
16029 #: build/C/man3/sysconf.3:126
16030 msgid "First, the POSIX.1 compatible values."
16031 msgstr ""
16032
16033 #. type: TP
16034 #: build/C/man3/sysconf.3:126
16035 #, no-wrap
16036 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
16037 msgstr ""
16038
16039 #. type: Plain text
16040 #: build/C/man3/sysconf.3:134
16041 msgid ""
16042 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
16043 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
16044 msgstr ""
16045
16046 #. type: TP
16047 #: build/C/man3/sysconf.3:134
16048 #, no-wrap
16049 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16050 msgstr ""
16051
16052 #. type: Plain text
16053 #: build/C/man3/sysconf.3:140
16054 msgid ""
16055 "The max number of simultaneous processes per user ID.  Must not be less than "
16056 "B<_POSIX_CHILD_MAX> (25)."
16057 msgstr ""
16058
16059 #. type: TP
16060 #: build/C/man3/sysconf.3:140
16061 #, no-wrap
16062 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16063 msgstr ""
16064
16065 #. type: Plain text
16066 #: build/C/man3/sysconf.3:148
16067 msgid ""
16068 "Max length of a hostname, not including the terminating null byte, as "
16069 "returned by B<gethostname>(2).  Must not be less than "
16070 "B<_POSIX_HOST_NAME_MAX> (255)."
16071 msgstr ""
16072
16073 #. type: TP
16074 #: build/C/man3/sysconf.3:148
16075 #, no-wrap
16076 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16077 msgstr ""
16078
16079 #. type: Plain text
16080 #: build/C/man3/sysconf.3:154
16081 msgid ""
16082 "Maximum length of a login name, including the terminating null byte.  Must "
16083 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
16084 msgstr ""
16085
16086 #. type: TP
16087 #: build/C/man3/sysconf.3:154
16088 #, no-wrap
16089 msgid "clock ticks - B<_SC_CLK_TCK>"
16090 msgstr ""
16091
16092 #. type: Plain text
16093 #: build/C/man3/sysconf.3:163
16094 msgid ""
16095 "The number of clock ticks per second.  The corresponding variable is "
16096 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
16097 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
16098 msgstr ""
16099
16100 #. type: TP
16101 #: build/C/man3/sysconf.3:163
16102 #, no-wrap
16103 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16104 msgstr ""
16105
16106 #. type: Plain text
16107 #: build/C/man3/sysconf.3:169
16108 msgid ""
16109 "The maximum number of files that a process can have open at any time.  Must "
16110 "not be less than B<_POSIX_OPEN_MAX> (20)."
16111 msgstr ""
16112
16113 #. type: TP
16114 #: build/C/man3/sysconf.3:169
16115 #, no-wrap
16116 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
16117 msgstr ""
16118
16119 #. type: Plain text
16120 #: build/C/man3/sysconf.3:174
16121 msgid ""
16122 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
16123 "PAGE_SIZE instead.)"
16124 msgstr ""
16125
16126 #. type: TP
16127 #: build/C/man3/sysconf.3:174 build/C/man3/sysconf.3:261
16128 #, no-wrap
16129 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16130 msgstr ""
16131
16132 #. type: Plain text
16133 #: build/C/man3/sysconf.3:183
16134 msgid ""
16135 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
16136 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
16137 msgstr ""
16138
16139 #. type: TP
16140 #: build/C/man3/sysconf.3:183
16141 #, no-wrap
16142 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16143 msgstr ""
16144
16145 #. type: Plain text
16146 #: build/C/man3/sysconf.3:192
16147 msgid ""
16148 "The maximum number of streams that a process can have open at any time.  If "
16149 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
16150 "not be less than B<_POSIX_STREAM_MAX> (8)."
16151 msgstr ""
16152
16153 #. type: TP
16154 #: build/C/man3/sysconf.3:192
16155 #, no-wrap
16156 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16157 msgstr ""
16158
16159 #. type: Plain text
16160 #: build/C/man3/sysconf.3:200
16161 msgid ""
16162 "The maximum number of symbolic links seen in a pathname before resolution "
16163 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
16164 msgstr ""
16165
16166 #. type: TP
16167 #: build/C/man3/sysconf.3:200
16168 #, no-wrap
16169 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16170 msgstr ""
16171
16172 #. type: Plain text
16173 #: build/C/man3/sysconf.3:207
16174 msgid ""
16175 "The maximum length of terminal device name, including the terminating null "
16176 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
16177 msgstr ""
16178
16179 #. type: TP
16180 #: build/C/man3/sysconf.3:207
16181 #, no-wrap
16182 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16183 msgstr ""
16184
16185 #. type: Plain text
16186 #: build/C/man3/sysconf.3:213
16187 msgid ""
16188 "The maximum number of bytes in a timezone name.  Must not be less than "
16189 "B<_POSIX_TZNAME_MAX> (6)."
16190 msgstr ""
16191
16192 #. type: TP
16193 #: build/C/man3/sysconf.3:213
16194 #, no-wrap
16195 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
16196 msgstr ""
16197
16198 #. type: Plain text
16199 #: build/C/man3/sysconf.3:221
16200 msgid ""
16201 "indicates the year and month the POSIX.1 standard was approved in the format "
16202 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
16203 msgstr ""
16204
16205 #. type: SS
16206 #: build/C/man3/sysconf.3:221
16207 #, no-wrap
16208 msgid "POSIX.2 Variables"
16209 msgstr ""
16210
16211 #. type: Plain text
16212 #: build/C/man3/sysconf.3:223
16213 msgid "Next, the POSIX.2 values, giving limits for utilities."
16214 msgstr ""
16215
16216 #. type: TP
16217 #: build/C/man3/sysconf.3:223
16218 #, no-wrap
16219 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16220 msgstr ""
16221
16222 #. type: Plain text
16223 #: build/C/man3/sysconf.3:230
16224 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
16225 msgstr ""
16226
16227 #. type: TP
16228 #: build/C/man3/sysconf.3:230
16229 #, no-wrap
16230 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16231 msgstr ""
16232
16233 #. type: Plain text
16234 #: build/C/man3/sysconf.3:234
16235 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
16236 msgstr ""
16237
16238 #. type: TP
16239 #: build/C/man3/sysconf.3:234
16240 #, no-wrap
16241 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16242 msgstr ""
16243
16244 #. type: Plain text
16245 #: build/C/man3/sysconf.3:240
16246 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
16247 msgstr ""
16248
16249 #. type: TP
16250 #: build/C/man3/sysconf.3:240
16251 #, no-wrap
16252 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16253 msgstr ""
16254
16255 #. type: Plain text
16256 #: build/C/man3/sysconf.3:244
16257 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
16258 msgstr ""
16259
16260 #. type: TP
16261 #: build/C/man3/sysconf.3:244
16262 #, no-wrap
16263 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16264 msgstr ""
16265
16266 #. type: Plain text
16267 #: build/C/man3/sysconf.3:250
16268 msgid ""
16269 "indicates the maximum numbers of weights that can be assigned to an entry of "
16270 "the B<LC_COLLATE order> keyword in the locale definition file,"
16271 msgstr ""
16272
16273 #. type: TP
16274 #: build/C/man3/sysconf.3:250
16275 #, no-wrap
16276 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
16277 msgstr ""
16278
16279 #. type: Plain text
16280 #: build/C/man3/sysconf.3:255
16281 msgid ""
16282 "is the maximum number of expressions which can be nested within parentheses "
16283 "by B<expr>(1)."
16284 msgstr ""
16285
16286 #. type: TP
16287 #: build/C/man3/sysconf.3:255
16288 #, no-wrap
16289 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
16290 msgstr ""
16291
16292 #. type: Plain text
16293 #: build/C/man3/sysconf.3:261
16294 msgid ""
16295 "The maximum length of a utility's input line, either from standard input or "
16296 "from a file.  This includes space for a trailing newline."
16297 msgstr ""
16298
16299 #. type: Plain text
16300 #: build/C/man3/sysconf.3:267
16301 msgid ""
16302 "The maximum number of repeated occurrences of a regular expression when the "
16303 "interval notation B<\\e{m,n\\e}> is used."
16304 msgstr ""
16305
16306 #. type: TP
16307 #: build/C/man3/sysconf.3:267
16308 #, no-wrap
16309 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
16310 msgstr ""
16311
16312 #. type: Plain text
16313 #: build/C/man3/sysconf.3:271
16314 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
16315 msgstr ""
16316
16317 #. type: TP
16318 #: build/C/man3/sysconf.3:271
16319 #, no-wrap
16320 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
16321 msgstr ""
16322
16323 #. type: Plain text
16324 #: build/C/man3/sysconf.3:275
16325 msgid ""
16326 "indicates whether the POSIX.2 C language development facilities are "
16327 "supported."
16328 msgstr ""
16329
16330 #. type: TP
16331 #: build/C/man3/sysconf.3:275
16332 #, no-wrap
16333 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
16334 msgstr ""
16335
16336 #. type: Plain text
16337 #: build/C/man3/sysconf.3:279
16338 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
16339 msgstr ""
16340
16341 #. type: TP
16342 #: build/C/man3/sysconf.3:279
16343 #, no-wrap
16344 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
16345 msgstr ""
16346
16347 #. type: Plain text
16348 #: build/C/man3/sysconf.3:282
16349 msgid "indicates whether the POSIX.2 FORTRAN runtime utilities are supported."
16350 msgstr ""
16351
16352 #. type: TP
16353 #: build/C/man3/sysconf.3:282
16354 #, no-wrap
16355 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
16356 msgstr ""
16357
16358 #. type: Plain text
16359 #: build/C/man3/sysconf.3:287
16360 msgid ""
16361 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
16362 "supported."
16363 msgstr ""
16364
16365 #. type: TP
16366 #: build/C/man3/sysconf.3:287
16367 #, no-wrap
16368 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
16369 msgstr ""
16370
16371 #. type: Plain text
16372 #: build/C/man3/sysconf.3:291
16373 msgid ""
16374 "indicates whether the POSIX.2 software development utilities option is "
16375 "supported."
16376 msgstr ""
16377
16378 #. type: Plain text
16379 #: build/C/man3/sysconf.3:293
16380 msgid "These values also exist, but may not be standard."
16381 msgstr ""
16382
16383 #. type: TP
16384 #: build/C/man3/sysconf.3:293
16385 #, no-wrap
16386 msgid " - B<_SC_PHYS_PAGES>"
16387 msgstr ""
16388
16389 #. type: Plain text
16390 #: build/C/man3/sysconf.3:300
16391 msgid ""
16392 "The number of pages of physical memory.  Note that it is possible for the "
16393 "product of this value and the value of B<_SC_PAGE_SIZE> to overflow."
16394 msgstr ""
16395
16396 #. type: TP
16397 #: build/C/man3/sysconf.3:300
16398 #, no-wrap
16399 msgid " - B<_SC_AVPHYS_PAGES>"
16400 msgstr ""
16401
16402 #. type: Plain text
16403 #: build/C/man3/sysconf.3:303
16404 msgid "The number of currently available pages of physical memory."
16405 msgstr ""
16406
16407 #. type: TP
16408 #: build/C/man3/sysconf.3:303
16409 #, no-wrap
16410 msgid " - B<_SC_NPROCESSORS_CONF>"
16411 msgstr ""
16412
16413 #. type: Plain text
16414 #: build/C/man3/sysconf.3:306
16415 msgid "The number of processors configured."
16416 msgstr ""
16417
16418 #. type: TP
16419 #: build/C/man3/sysconf.3:306
16420 #, no-wrap
16421 msgid " - B<_SC_NPROCESSORS_ONLN>"
16422 msgstr ""
16423
16424 #. type: Plain text
16425 #: build/C/man3/sysconf.3:309
16426 msgid "The number of processors currently online (available)."
16427 msgstr ""
16428
16429 #. type: Plain text
16430 #: build/C/man3/sysconf.3:322
16431 msgid ""
16432 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
16433 "Otherwise, the value returned is the value of the system resource and "
16434 "I<errno> is not changed.  In the case of options, a positive value is "
16435 "returned if a queried option is available, and -1 if it is not.  In the case "
16436 "of limits, -1 means that there is no definite limit."
16437 msgstr ""
16438
16439 #. type: Plain text
16440 #: build/C/man3/sysconf.3:330
16441 msgid ""
16442 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
16443 "the argument space for B<exec>(3)  is consumed by the user's environment "
16444 "variables."
16445 msgstr ""
16446
16447 #. type: Plain text
16448 #: build/C/man3/sysconf.3:340
16449 msgid ""
16450 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
16451 "B<pathconf>(3), B<posixoptions>(7)"
16452 msgstr ""
16453
16454 #. type: TH
16455 #: build/C/man2/sysctl.2:28
16456 #, no-wrap
16457 msgid "SYSCTL"
16458 msgstr ""
16459
16460 #. type: TH
16461 #: build/C/man2/sysctl.2:28
16462 #, no-wrap
16463 msgid "2008-11-20"
16464 msgstr ""
16465
16466 #. type: Plain text
16467 #: build/C/man2/sysctl.2:31
16468 msgid "sysctl - read/write system parameters"
16469 msgstr ""
16470
16471 #. type: Plain text
16472 #: build/C/man2/sysctl.2:36
16473 #, no-wrap
16474 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
16475 msgstr ""
16476
16477 #. type: Plain text
16478 #: build/C/man2/sysctl.2:38
16479 #, no-wrap
16480 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
16481 msgstr ""
16482
16483 #. type: Plain text
16484 #: build/C/man2/sysctl.2:42
16485 msgid "B<Do not use this system call!> See NOTES."
16486 msgstr ""
16487
16488 #. type: Plain text
16489 #: build/C/man2/sysctl.2:49
16490 msgid ""
16491 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
16492 "the hostname, or the maximum number of open files.  The argument has the "
16493 "form"
16494 msgstr ""
16495
16496 #. type: Plain text
16497 #: build/C/man2/sysctl.2:61
16498 #, no-wrap
16499 msgid ""
16500 "struct __sysctl_args {\n"
16501 "    int    *name;    /* integer vector describing variable */\n"
16502 "    int     nlen;    /* length of this vector */\n"
16503 "    void   *oldval;  /* 0 or address where to store old value */\n"
16504 "    size_t *oldlenp; /* available room for old value,\n"
16505 "                        overwritten by actual size of old value */\n"
16506 "    void   *newval;  /* 0 or address of new value */\n"
16507 "    size_t  newlen;  /* size of new value */\n"
16508 "};\n"
16509 msgstr ""
16510
16511 #. type: Plain text
16512 #: build/C/man2/sysctl.2:69
16513 msgid ""
16514 "This call does a search in a tree structure, possibly resembling a directory "
16515 "tree under I</proc/sys>, and if the requested item is found calls some "
16516 "appropriate routine to read or modify the value."
16517 msgstr ""
16518
16519 #. type: Plain text
16520 #: build/C/man2/sysctl.2:76
16521 msgid ""
16522 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
16523 "-1 is returned and I<errno> is set to indicate the error."
16524 msgstr ""
16525
16526 #. type: Plain text
16527 #: build/C/man2/sysctl.2:83
16528 msgid ""
16529 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
16530 "but allowed zero room in I<oldlenp>."
16531 msgstr ""
16532
16533 #. type: Plain text
16534 #: build/C/man2/sysctl.2:87
16535 msgid "I<name> was not found."
16536 msgstr ""
16537
16538 #. type: Plain text
16539 #: build/C/man2/sysctl.2:95
16540 msgid ""
16541 "No search permission for one of the encountered \"directories\", or no read "
16542 "permission where I<oldval> was nonzero, or no write permission where "
16543 "I<newval> was nonzero."
16544 msgstr ""
16545
16546 #. type: Plain text
16547 #: build/C/man2/sysctl.2:109
16548 msgid ""
16549 "This call is Linux-specific, and should not be used in programs intended to "
16550 "be portable.  A B<sysctl>()  call has been present in Linux since version "
16551 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
16552 "and the object naming schemes differ between Linux and 4.4BSD, but the "
16553 "declaration of the B<sysctl>()  function is the same in both."
16554 msgstr ""
16555
16556 #.  See http://lwn.net/Articles/247243/
16557 #. type: Plain text
16558 #: build/C/man2/sysctl.2:121
16559 msgid ""
16560 "Or rather... don't call it: use of this system call has long been "
16561 "discouraged, and it is so unloved that B<it is likely to disappear in a "
16562 "future kernel version>.  Remove it from your programs now; use the "
16563 "I</proc/sys> interface instead."
16564 msgstr ""
16565
16566 #. type: Plain text
16567 #: build/C/man2/sysctl.2:124
16568 msgid ""
16569 "The object names vary between kernel versions, making this system call "
16570 "worthless for applications."
16571 msgstr ""
16572
16573 #. type: Plain text
16574 #: build/C/man2/sysctl.2:126
16575 msgid "Not all available objects are properly documented."
16576 msgstr ""
16577
16578 #. type: Plain text
16579 #: build/C/man2/sysctl.2:129
16580 msgid ""
16581 "It is not yet possible to change operating system by writing to "
16582 "I</proc/sys/kernel/ostype>."
16583 msgstr ""
16584
16585 #. type: Plain text
16586 #: build/C/man2/sysctl.2:138
16587 #, no-wrap
16588 msgid ""
16589 "#define _GNU_SOURCE\n"
16590 "#include E<lt>unistd.hE<gt>\n"
16591 "#include E<lt>sys/syscall.hE<gt>\n"
16592 "#include E<lt>string.hE<gt>\n"
16593 "#include E<lt>stdio.hE<gt>\n"
16594 "#include E<lt>stdlib.hE<gt>\n"
16595 "#include E<lt>linux/sysctl.hE<gt>\n"
16596 msgstr ""
16597
16598 #. type: Plain text
16599 #: build/C/man2/sysctl.2:140
16600 #, no-wrap
16601 msgid "int _sysctl(struct __sysctl_args *args );\n"
16602 msgstr ""
16603
16604 #. type: Plain text
16605 #: build/C/man2/sysctl.2:142
16606 #, no-wrap
16607 msgid "#define OSNAMESZ 100\n"
16608 msgstr ""
16609
16610 #. type: Plain text
16611 #: build/C/man2/sysctl.2:150
16612 #, no-wrap
16613 msgid ""
16614 "int\n"
16615 "main(void)\n"
16616 "{\n"
16617 "    struct __sysctl_args args;\n"
16618 "    char osname[OSNAMESZ];\n"
16619 "    size_t osnamelth;\n"
16620 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
16621 msgstr ""
16622
16623 #. type: Plain text
16624 #: build/C/man2/sysctl.2:156
16625 #, no-wrap
16626 msgid ""
16627 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
16628 "    args.name = name;\n"
16629 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
16630 "    args.oldval = osname;\n"
16631 "    args.oldlenp = &osnamelth;\n"
16632 msgstr ""
16633
16634 #. type: Plain text
16635 #: build/C/man2/sysctl.2:158
16636 #, no-wrap
16637 msgid "    osnamelth = sizeof(osname);\n"
16638 msgstr ""
16639
16640 #. type: Plain text
16641 #: build/C/man2/sysctl.2:166
16642 #, no-wrap
16643 msgid ""
16644 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
16645 "        perror(\"_sysctl\");\n"
16646 "        exit(EXIT_FAILURE);\n"
16647 "    }\n"
16648 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
16649 "    exit(EXIT_SUCCESS);\n"
16650 "}\n"
16651 msgstr ""
16652
16653 #. type: Plain text
16654 #: build/C/man2/sysctl.2:168 build/C/man2/sysinfo.2:95
16655 msgid "B<proc>(5)"
16656 msgstr ""
16657
16658 #. type: TH
16659 #: build/C/man2/sysinfo.2:14
16660 #, no-wrap
16661 msgid "SYSINFO"
16662 msgstr ""
16663
16664 #. type: TH
16665 #: build/C/man2/sysinfo.2:14
16666 #, no-wrap
16667 msgid "2007-11-15"
16668 msgstr ""
16669
16670 #. type: Plain text
16671 #: build/C/man2/sysinfo.2:17
16672 msgid "sysinfo - returns information on overall system statistics"
16673 msgstr ""
16674
16675 #. type: Plain text
16676 #: build/C/man2/sysinfo.2:19
16677 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
16678 msgstr ""
16679
16680 #. type: Plain text
16681 #: build/C/man2/sysinfo.2:21
16682 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
16683 msgstr ""
16684
16685 #. type: Plain text
16686 #: build/C/man2/sysinfo.2:25
16687 msgid ""
16688 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
16689 "following structure:"
16690 msgstr ""
16691
16692 #. type: Plain text
16693 #: build/C/man2/sysinfo.2:40
16694 #, no-wrap
16695 msgid ""
16696 "struct sysinfo {\n"
16697 "    long uptime;             /* Seconds since boot */\n"
16698 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
16699 "    unsigned long totalram;  /* Total usable main memory size */\n"
16700 "    unsigned long freeram;   /* Available memory size */\n"
16701 "    unsigned long sharedram; /* Amount of shared memory */\n"
16702 "    unsigned long bufferram; /* Memory used by buffers */\n"
16703 "    unsigned long totalswap; /* Total swap space size */\n"
16704 "    unsigned long freeswap;  /* swap space still available */\n"
16705 "    unsigned short procs;    /* Number of current processes */\n"
16706 "    char _f[22];             /* Pads structure to 64 bytes */\n"
16707 "};\n"
16708 msgstr ""
16709
16710 #. type: Plain text
16711 #: build/C/man2/sysinfo.2:44
16712 msgid "and the sizes were given in bytes."
16713 msgstr ""
16714
16715 #. type: Plain text
16716 #: build/C/man2/sysinfo.2:47
16717 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
16718 msgstr ""
16719
16720 #. type: Plain text
16721 #: build/C/man2/sysinfo.2:65
16722 #, no-wrap
16723 msgid ""
16724 "struct sysinfo {\n"
16725 "    long uptime;             /* Seconds since boot */\n"
16726 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
16727 "    unsigned long totalram;  /* Total usable main memory size */\n"
16728 "    unsigned long freeram;   /* Available memory size */\n"
16729 "    unsigned long sharedram; /* Amount of shared memory */\n"
16730 "    unsigned long bufferram; /* Memory used by buffers */\n"
16731 "    unsigned long totalswap; /* Total swap space size */\n"
16732 "    unsigned long freeswap;  /* swap space still available */\n"
16733 "    unsigned short procs;    /* Number of current processes */\n"
16734 "    unsigned long totalhigh; /* Total high memory size */\n"
16735 "    unsigned long freehigh;  /* Available high memory size */\n"
16736 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
16737 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding for libc5 */\n"
16738 "};\n"
16739 msgstr ""
16740
16741 #. type: Plain text
16742 #: build/C/man2/sysinfo.2:69
16743 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
16744 msgstr ""
16745
16746 #. type: Plain text
16747 #: build/C/man2/sysinfo.2:74
16748 msgid ""
16749 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
16750 "This is more portable than reading I</dev/kmem>."
16751 msgstr ""
16752
16753 #. type: Plain text
16754 #: build/C/man2/sysinfo.2:83
16755 msgid "pointer to I<struct\\ sysinfo> is invalid"
16756 msgstr ""
16757
16758 #. type: Plain text
16759 #: build/C/man2/sysinfo.2:94
16760 msgid ""
16761 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
16762 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
16763 msgstr ""
16764
16765 #. type: TH
16766 #: build/C/man3/tcgetpgrp.3:23
16767 #, no-wrap
16768 msgid "TCGETPGRP"
16769 msgstr ""
16770
16771 #. type: TH
16772 #: build/C/man3/tcgetpgrp.3:23
16773 #, no-wrap
16774 msgid "2003-01-28"
16775 msgstr ""
16776
16777 #. type: Plain text
16778 #: build/C/man3/tcgetpgrp.3:26
16779 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
16780 msgstr ""
16781
16782 #. type: Plain text
16783 #: build/C/man3/tcgetpgrp.3:30
16784 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
16785 msgstr ""
16786
16787 #. type: Plain text
16788 #: build/C/man3/tcgetpgrp.3:32
16789 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
16790 msgstr ""
16791
16792 #.  The process itself may be a background process.
16793 #. type: Plain text
16794 #: build/C/man3/tcgetpgrp.3:40
16795 msgid ""
16796 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
16797 "process group on the terminal associated to I<fd>, which must be the "
16798 "controlling terminal of the calling process."
16799 msgstr ""
16800
16801 #. type: Plain text
16802 #: build/C/man3/tcgetpgrp.3:50
16803 msgid ""
16804 "The function B<tcsetpgrp>()  makes the process group with process group ID "
16805 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
16806 "which must be the controlling terminal of the calling process, and still be "
16807 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
16808 "group belonging to the same session as the calling process."
16809 msgstr ""
16810
16811 #. type: Plain text
16812 #: build/C/man3/tcgetpgrp.3:59
16813 msgid ""
16814 "If B<tcsetpgrp>()  is called by a member of a background process group in "
16815 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
16816 "a B<SIGTTOU> signal is sent to all members of this background process group."
16817 msgstr ""
16818
16819 #. type: Plain text
16820 #: build/C/man3/tcgetpgrp.3:74
16821 msgid ""
16822 "When I<fd> refers to the controlling terminal of the calling process, the "
16823 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
16824 "terminal if there is one, and some value larger than 1 that is not presently "
16825 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
16826 "terminal of the calling process, -1 is returned, and I<errno> is set "
16827 "appropriately."
16828 msgstr ""
16829
16830 #. type: Plain text
16831 #: build/C/man3/tcgetpgrp.3:81
16832 msgid ""
16833 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
16834 "I<errno> is set appropriately."
16835 msgstr ""
16836
16837 #. type: Plain text
16838 #: build/C/man3/tcgetpgrp.3:90
16839 msgid "I<pgrp> has an unsupported value."
16840 msgstr ""
16841
16842 #. type: Plain text
16843 #: build/C/man3/tcgetpgrp.3:99
16844 msgid ""
16845 "The calling process does not have a controlling terminal, or it has one but "
16846 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
16847 "terminal is no longer associated with the session of the calling process."
16848 msgstr ""
16849
16850 #. type: Plain text
16851 #: build/C/man3/tcgetpgrp.3:104
16852 msgid ""
16853 "I<pgrp> has a supported value, but is not the process group ID of a process "
16854 "in the same session as the calling process."
16855 msgstr ""
16856
16857 #. type: Plain text
16858 #: build/C/man3/tcgetpgrp.3:112
16859 msgid ""
16860 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
16861 "ioctls."
16862 msgstr ""
16863
16864 #. type: SS
16865 #: build/C/man3/tcgetpgrp.3:112 build/C/man2/vfork.2:233
16866 #, no-wrap
16867 msgid "History"
16868 msgstr ""
16869
16870 #. type: Plain text
16871 #: build/C/man3/tcgetpgrp.3:115
16872 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
16873 msgstr ""
16874
16875 #. type: Plain text
16876 #: build/C/man3/tcgetpgrp.3:118
16877 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
16878 msgstr ""
16879
16880 #. type: TH
16881 #: build/C/man2/truncate.2:41
16882 #, no-wrap
16883 msgid "TRUNCATE"
16884 msgstr ""
16885
16886 #. type: TH
16887 #: build/C/man2/truncate.2:41
16888 #, no-wrap
16889 msgid "2011-09-08"
16890 msgstr ""
16891
16892 #. type: Plain text
16893 #: build/C/man2/truncate.2:44
16894 msgid "truncate, ftruncate - truncate a file to a specified length"
16895 msgstr ""
16896
16897 #. type: Plain text
16898 #: build/C/man2/truncate.2:50
16899 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
16900 msgstr ""
16901
16902 #. type: Plain text
16903 #: build/C/man2/truncate.2:52
16904 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
16905 msgstr ""
16906
16907 #. type: Plain text
16908 #: build/C/man2/truncate.2:61
16909 msgid "B<truncate>():"
16910 msgstr ""
16911
16912 #. type: Plain text
16913 #: build/C/man2/truncate.2:69
16914 msgid "B<ftruncate>():"
16915 msgstr ""
16916
16917 #. type: Plain text
16918 #: build/C/man2/truncate.2:74
16919 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
16920 msgstr ""
16921
16922 #. type: Plain text
16923 #: build/C/man2/truncate.2:89
16924 msgid ""
16925 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
16926 "named by I<path> or referenced by I<fd> to be truncated to a size of "
16927 "precisely I<length> bytes."
16928 msgstr ""
16929
16930 #. type: Plain text
16931 #: build/C/man2/truncate.2:93
16932 msgid ""
16933 "If the file previously was larger than this size, the extra data is lost.  "
16934 "If the file previously was shorter, it is extended, and the extended part "
16935 "reads as null bytes (\\(aq\\e0\\(aq)."
16936 msgstr ""
16937
16938 #. type: Plain text
16939 #: build/C/man2/truncate.2:95
16940 msgid "The file offset is not changed."
16941 msgstr ""
16942
16943 #. type: Plain text
16944 #: build/C/man2/truncate.2:102
16945 msgid ""
16946 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
16947 "time of last status change and time of last modification; see B<stat>(2))  "
16948 "for the file are updated, and the set-user-ID and set-group-ID permission "
16949 "bits may be cleared."
16950 msgstr ""
16951
16952 #. type: Plain text
16953 #: build/C/man2/truncate.2:108
16954 msgid ""
16955 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
16956 "the file must be writable."
16957 msgstr ""
16958
16959 #. type: Plain text
16960 #: build/C/man2/truncate.2:116
16961 msgid "For B<truncate>():"
16962 msgstr ""
16963
16964 #. type: Plain text
16965 #: build/C/man2/truncate.2:122
16966 msgid ""
16967 "Search permission is denied for a component of the path prefix, or the named "
16968 "file is not writable by the user.  (See also B<path_resolution>(7).)"
16969 msgstr ""
16970
16971 #. type: Plain text
16972 #: build/C/man2/truncate.2:126
16973 msgid "I<Path> points outside the process's allocated address space."
16974 msgstr ""
16975
16976 #. type: TP
16977 #: build/C/man2/truncate.2:126
16978 #, no-wrap
16979 msgid "B<EFBIG>"
16980 msgstr ""
16981
16982 #. type: Plain text
16983 #: build/C/man2/truncate.2:131
16984 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
16985 msgstr ""
16986
16987 #. type: Plain text
16988 #: build/C/man2/truncate.2:138
16989 msgid ""
16990 "While blocked waiting to complete, the call was interrupted by a signal "
16991 "handler; see B<fcntl>(2)  and B<signal>(7)."
16992 msgstr ""
16993
16994 #. type: Plain text
16995 #: build/C/man2/truncate.2:143
16996 msgid "The argument I<length> is negative or larger than the maximum file size."
16997 msgstr ""
16998
16999 #. type: Plain text
17000 #: build/C/man2/truncate.2:146
17001 msgid "An I/O error occurred updating the inode."
17002 msgstr ""
17003
17004 #. type: Plain text
17005 #: build/C/man2/truncate.2:149
17006 msgid "The named file is a directory."
17007 msgstr ""
17008
17009 #. type: Plain text
17010 #: build/C/man2/truncate.2:152
17011 msgid "Too many symbolic links were encountered in translating the pathname."
17012 msgstr ""
17013
17014 #. type: Plain text
17015 #: build/C/man2/truncate.2:156
17016 msgid ""
17017 "A component of a pathname exceeded 255 characters, or an entire pathname "
17018 "exceeded 1023 characters."
17019 msgstr ""
17020
17021 #. type: Plain text
17022 #: build/C/man2/truncate.2:159
17023 msgid "The named file does not exist."
17024 msgstr ""
17025
17026 #.  This happens for at least MSDOS and VFAT file systems
17027 #.  on kernel 2.6.13
17028 #. type: Plain text
17029 #: build/C/man2/truncate.2:168
17030 msgid ""
17031 "The underlying file system does not support extending a file beyond its "
17032 "current size."
17033 msgstr ""
17034
17035 #. type: Plain text
17036 #: build/C/man2/truncate.2:174
17037 msgid "The file is a pure procedure (shared text) file that is being executed."
17038 msgstr ""
17039
17040 #. type: Plain text
17041 #: build/C/man2/truncate.2:181
17042 msgid ""
17043 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
17044 "wrong with I<path>, we now have things that can be wrong with the file "
17045 "descriptor, I<fd>:"
17046 msgstr ""
17047
17048 #. type: Plain text
17049 #: build/C/man2/truncate.2:185
17050 msgid "I<fd> is not a valid descriptor."
17051 msgstr ""
17052
17053 #. type: TP
17054 #: build/C/man2/truncate.2:185
17055 #, no-wrap
17056 msgid "B<EBADF> or B<EINVAL>"
17057 msgstr ""
17058
17059 #. type: Plain text
17060 #: build/C/man2/truncate.2:189
17061 msgid "I<fd> is not open for writing."
17062 msgstr ""
17063
17064 #. type: Plain text
17065 #: build/C/man2/truncate.2:193
17066 msgid "I<fd> does not reference a regular file."
17067 msgstr ""
17068
17069 #.  POSIX.1-1996 has
17070 #.  .BR ftruncate ().
17071 #.  POSIX.1-2001 also has
17072 #.  .BR truncate (),
17073 #.  as an XSI extension.
17074 #.  .LP
17075 #.  SVr4 documents additional
17076 #.  .BR truncate ()
17077 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
17078 #.  .BR ftruncate ()
17079 #.  an additional EAGAIN error condition.
17080 #. type: Plain text
17081 #: build/C/man2/truncate.2:206
17082 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
17083 msgstr ""
17084
17085 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
17086 #. type: Plain text
17087 #: build/C/man2/truncate.2:227
17088 msgid ""
17089 "The details in DESCRIPTION are for XSI-compliant systems.  For "
17090 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
17091 "B<ftruncate>()  when I<length> exceeds the file length (note that "
17092 "B<truncate>()  is not specified at all in such an environment): either "
17093 "returning an error, or extending the file.  Like most UNIX implementations, "
17094 "Linux follows the XSI requirement when dealing with native file systems.  "
17095 "However, some nonnative file systems do not permit B<truncate>()  and "
17096 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
17097 "notable example on Linux is VFAT."
17098 msgstr ""
17099
17100 #. type: Plain text
17101 #: build/C/man2/truncate.2:241
17102 msgid ""
17103 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
17104 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
17105 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
17106 "files.  However, these details can be ignored by applications using glibc, "
17107 "whose wrapper functions transparently employ the more recent system calls "
17108 "where they are available."
17109 msgstr ""
17110
17111 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
17112 #. type: Plain text
17113 #: build/C/man2/truncate.2:249
17114 msgid ""
17115 "A header file bug in glibc 2.12 meant that the minimum value of "
17116 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
17117 "200809L instead of 200112L.  This has been fixed in later glibc versions."
17118 msgstr ""
17119
17120 #. type: Plain text
17121 #: build/C/man2/truncate.2:252
17122 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17123 msgstr ""
17124
17125 #. type: TH
17126 #: build/C/man3/ualarm.3:23
17127 #, no-wrap
17128 msgid "UALARM"
17129 msgstr ""
17130
17131 #. type: Plain text
17132 #: build/C/man3/ualarm.3:26
17133 msgid "ualarm - schedule signal after given number of microseconds"
17134 msgstr ""
17135
17136 #. type: Plain text
17137 #: build/C/man3/ualarm.3:31
17138 #, no-wrap
17139 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17140 msgstr ""
17141
17142 #. type: Plain text
17143 #: build/C/man3/ualarm.3:39
17144 msgid "B<ualarm>():"
17145 msgstr ""
17146
17147 #. type: Plain text
17148 #: build/C/man3/ualarm.3:68
17149 msgid ""
17150 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
17151 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
17152 "may be lengthened slightly by any system activity or by the time spent "
17153 "processing the call or by the granularity of system timers."
17154 msgstr ""
17155
17156 #. type: Plain text
17157 #: build/C/man3/ualarm.3:72
17158 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
17159 msgstr ""
17160
17161 #. type: Plain text
17162 #: build/C/man3/ualarm.3:80
17163 msgid ""
17164 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
17165 "sent every I<interval> microseconds after the first."
17166 msgstr ""
17167
17168 #. type: Plain text
17169 #: build/C/man3/ualarm.3:83
17170 msgid ""
17171 "This function returns the number of microseconds remaining for any alarm "
17172 "that was previously set, or 0 if no alarm was pending."
17173 msgstr ""
17174
17175 #. type: Plain text
17176 #: build/C/man3/ualarm.3:87
17177 msgid "Interrupted by a signal."
17178 msgstr ""
17179
17180 #. type: Plain text
17181 #: build/C/man3/ualarm.3:91
17182 msgid ""
17183 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
17184 "is considered an error.)"
17185 msgstr ""
17186
17187 #. type: Plain text
17188 #: build/C/man3/ualarm.3:99
17189 msgid ""
17190 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
17191 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
17192 "POSIX do not define any errors."
17193 msgstr ""
17194
17195 #. type: Plain text
17196 #: build/C/man3/ualarm.3:112
17197 msgid ""
17198 "The type I<useconds_t> is an unsigned integer type capable of holding "
17199 "integers in the range [0,1000000].  On the original BSD implementation, and "
17200 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
17201 "typed as I<unsigned int>.  Programs will be more portable if they never "
17202 "mention I<useconds_t> explicitly."
17203 msgstr ""
17204
17205 #. type: Plain text
17206 #: build/C/man3/ualarm.3:126
17207 msgid ""
17208 "The interaction of this function with other timer functions such as "
17209 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
17210 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
17211 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
17212 msgstr ""
17213
17214 #. type: Plain text
17215 #: build/C/man3/ualarm.3:134
17216 msgid ""
17217 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
17218 "(B<timer_create>(2), etc.)  instead."
17219 msgstr ""
17220
17221 #. type: Plain text
17222 #: build/C/man3/ualarm.3:141
17223 msgid ""
17224 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17225 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
17226 msgstr ""
17227
17228 #. type: TH
17229 #: build/C/man2/umask.2:34
17230 #, no-wrap
17231 msgid "UMASK"
17232 msgstr ""
17233
17234 #. type: TH
17235 #: build/C/man2/umask.2:34
17236 #, no-wrap
17237 msgid "2008-01-09"
17238 msgstr ""
17239
17240 #. type: Plain text
17241 #: build/C/man2/umask.2:37
17242 msgid "umask - set file mode creation mask"
17243 msgstr ""
17244
17245 #. type: Plain text
17246 #: build/C/man2/umask.2:43
17247 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
17248 msgstr ""
17249
17250 #. type: Plain text
17251 #: build/C/man2/umask.2:50
17252 msgid ""
17253 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
17254 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
17255 "and returns the previous value of the mask."
17256 msgstr ""
17257
17258 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
17259 #.  but NOT the System V IPC *get() calls
17260 #. type: Plain text
17261 #: build/C/man2/umask.2:63
17262 msgid ""
17263 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
17264 "create files to modify the permissions placed on newly created files or "
17265 "directories.  Specifically, permissions in the umask are turned off from the "
17266 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
17267 msgstr ""
17268
17269 #. type: Plain text
17270 #: build/C/man2/umask.2:68
17271 msgid ""
17272 "The constants that should be used to specify I<mask> are described under "
17273 "B<stat>(2)."
17274 msgstr ""
17275
17276 #. type: Plain text
17277 #: build/C/man2/umask.2:77
17278 msgid ""
17279 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
17280 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
17281 "specified as:"
17282 msgstr ""
17283
17284 #. type: Plain text
17285 #: build/C/man2/umask.2:80
17286 #, no-wrap
17287 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
17288 msgstr ""
17289
17290 #. type: Plain text
17291 #: build/C/man2/umask.2:84
17292 msgid ""
17293 "(octal 0666) when creating a new file, the permissions on the resulting file "
17294 "will be:"
17295 msgstr ""
17296
17297 #. type: Plain text
17298 #: build/C/man2/umask.2:87
17299 #, no-wrap
17300 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
17301 msgstr ""
17302
17303 #. type: Plain text
17304 #: build/C/man2/umask.2:90
17305 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
17306 msgstr ""
17307
17308 #. type: Plain text
17309 #: build/C/man2/umask.2:93
17310 msgid ""
17311 "This system call always succeeds and the previous value of the mask is "
17312 "returned."
17313 msgstr ""
17314
17315 #. type: Plain text
17316 #: build/C/man2/umask.2:101
17317 msgid ""
17318 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
17319 "umask is left unchanged by B<execve>(2)."
17320 msgstr ""
17321
17322 #. type: Plain text
17323 #: build/C/man2/umask.2:116
17324 msgid ""
17325 "The umask setting also affects the permissions assigned to POSIX IPC objects "
17326 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
17327 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
17328 "not affect the permissions assigned to System V IPC objects created by the "
17329 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
17330 msgstr ""
17331
17332 #. type: Plain text
17333 #: build/C/man2/umask.2:120
17334 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2)"
17335 msgstr ""
17336
17337 #. type: TH
17338 #: build/C/man2/uname.2:25
17339 #, no-wrap
17340 msgid "UNAME"
17341 msgstr ""
17342
17343 #. type: Plain text
17344 #: build/C/man2/uname.2:28
17345 msgid "uname - get name and information about current kernel"
17346 msgstr ""
17347
17348 #. type: Plain text
17349 #: build/C/man2/uname.2:30
17350 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
17351 msgstr ""
17352
17353 #. type: Plain text
17354 #: build/C/man2/uname.2:32
17355 msgid "B<int uname(struct utsname *>I<buf>B<);>"
17356 msgstr ""
17357
17358 #. type: Plain text
17359 #: build/C/man2/uname.2:40
17360 msgid ""
17361 "B<uname>()  returns system information in the structure pointed to by "
17362 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
17363 msgstr ""
17364
17365 #. type: Plain text
17366 #: build/C/man2/uname.2:54
17367 #, no-wrap
17368 msgid ""
17369 "struct utsname {\n"
17370 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
17371 "    char nodename[];   /* Name within \"some implementation-defined\n"
17372 "                          network\" */\n"
17373 "    char release[];    /* OS release (e.g., \"2.6.28\") */\n"
17374 "    char version[];    /* OS version */\n"
17375 "    char machine[];    /* Hardware identifier */\n"
17376 "#ifdef _GNU_SOURCE\n"
17377 "    char domainname[]; /* NIS or YP domain name */\n"
17378 "#endif\n"
17379 "};\n"
17380 msgstr ""
17381
17382 #. type: Plain text
17383 #: build/C/man2/uname.2:61
17384 msgid ""
17385 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
17386 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
17387 msgstr ""
17388
17389 #. type: Plain text
17390 #: build/C/man2/uname.2:71
17391 msgid "I<buf> is not valid."
17392 msgstr ""
17393
17394 #. type: Plain text
17395 #: build/C/man2/uname.2:76
17396 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
17397 msgstr ""
17398
17399 #. type: Plain text
17400 #: build/C/man2/uname.2:80
17401 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
17402 msgstr ""
17403
17404 #. type: Plain text
17405 #: build/C/man2/uname.2:92
17406 msgid ""
17407 "This is a system call, and the operating system presumably knows its name, "
17408 "release and version.  It also knows what hardware it runs on.  So, four of "
17409 "the fields of the struct are meaningful.  On the other hand, the field "
17410 "I<nodename> is meaningless: it gives the name of the present machine in some "
17411 "undefined network, but typically machines are in more than one network and "
17412 "have several names.  Moreover, the kernel has no way of knowing about such "
17413 "things, so it has to be told what to answer here.  The same holds for the "
17414 "additional I<domainname> field."
17415 msgstr ""
17416
17417 #. type: Plain text
17418 #: build/C/man2/uname.2:106
17419 msgid ""
17420 "To this end Linux uses the system calls B<sethostname>(2)  and "
17421 "B<setdomainname>(2).  Note that there is no standard that says that the "
17422 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
17423 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
17424 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
17425 "same holds for B<setdomainname>(2)  and the I<domainname> field."
17426 msgstr ""
17427
17428 #. type: Plain text
17429 #: build/C/man2/uname.2:121
17430 msgid ""
17431 "The length of the fields in the struct varies.  Some operating systems or "
17432 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
17433 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
17434 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
17435 "257 is chosen in order to have room for an internet hostname."
17436 msgstr ""
17437
17438 #. type: Plain text
17439 #: build/C/man2/uname.2:128
17440 msgid ""
17441 "Part of the utsname information is also accessible via "
17442 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
17443 "I<domainname>}."
17444 msgstr ""
17445
17446 #. type: SS
17447 #: build/C/man2/uname.2:128
17448 #, no-wrap
17449 msgid "Underlying kernel interface"
17450 msgstr ""
17451
17452 #.  That was back before Linux 1.0
17453 #.  That was also back before Linux 1.0
17454 #. type: Plain text
17455 #: build/C/man2/uname.2:155
17456 msgid ""
17457 "Over time, increases in the size of the I<utsname> structure have led to "
17458 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
17459 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
17460 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
17461 "all fields; the second used 65; the third also uses 65 but adds the "
17462 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
17463 "details from applications, invoking the most recent version of the system "
17464 "call provided by the kernel."
17465 msgstr ""
17466
17467 #. type: Plain text
17468 #: build/C/man2/uname.2:158
17469 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
17470 msgstr ""
17471
17472 #. type: TH
17473 #: build/C/man2/uselib.2:31
17474 #, no-wrap
17475 msgid "USELIB"
17476 msgstr ""
17477
17478 #. type: TH
17479 #: build/C/man2/uselib.2:31
17480 #, no-wrap
17481 msgid "2005-01-09"
17482 msgstr ""
17483
17484 #. type: Plain text
17485 #: build/C/man2/uselib.2:34
17486 msgid "uselib - load shared library"
17487 msgstr ""
17488
17489 #. type: Plain text
17490 #: build/C/man2/uselib.2:38
17491 msgid "B<int uselib(const char *>I<library>B<);>"
17492 msgstr ""
17493
17494 #. type: Plain text
17495 #: build/C/man2/uselib.2:48
17496 msgid ""
17497 "The system call B<uselib>()  serves to load a shared library to be used by "
17498 "the calling process.  It is given a pathname.  The address where to load is "
17499 "found in the library itself.  The library can have any recognized binary "
17500 "format."
17501 msgstr ""
17502
17503 #. type: Plain text
17504 #: build/C/man2/uselib.2:59
17505 msgid ""
17506 "In addition to all of the error codes returned by B<open>(2)  and "
17507 "B<mmap>(2), the following may also be returned:"
17508 msgstr ""
17509
17510 #. type: Plain text
17511 #: build/C/man2/uselib.2:67
17512 msgid ""
17513 "The library specified by I<library> does not have read or execute "
17514 "permission, or the caller does not have search permission for one of the "
17515 "directories in the path prefix.  (See also B<path_resolution>(7).)"
17516 msgstr ""
17517
17518 #. type: Plain text
17519 #: build/C/man2/uselib.2:76
17520 msgid ""
17521 "The file specified by I<library> is not an executable of known type, e.g., "
17522 "does not have the correct magic numbers."
17523 msgstr ""
17524
17525 #. type: Plain text
17526 #: build/C/man2/uselib.2:80
17527 msgid ""
17528 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
17529 "to be portable."
17530 msgstr ""
17531
17532 #. type: Plain text
17533 #: build/C/man2/uselib.2:85
17534 msgid ""
17535 "B<uselib>()  was used by early libc startup code to load the shared "
17536 "libraries with names found in an array of names in the binary."
17537 msgstr ""
17538
17539 #.  libc 4.3.1f - changelog 1993-03-02
17540 #.  libc 4.3.4 - changelog 1993-04-21
17541 #. type: Plain text
17542 #: build/C/man2/uselib.2:95
17543 msgid ""
17544 "Since libc 4.3.2, startup code tries to prefix these names with "
17545 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
17546 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
17547 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
17548 msgstr ""
17549
17550 #. type: Plain text
17551 #: build/C/man2/uselib.2:100
17552 msgid ""
17553 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
17554 "dynamic library can load the remaining libraries needed (again using this "
17555 "call).  This is also the state of affairs in libc5."
17556 msgstr ""
17557
17558 #. type: Plain text
17559 #: build/C/man2/uselib.2:102
17560 msgid "glibc2 does not use this call."
17561 msgstr ""
17562
17563 #. type: Plain text
17564 #: build/C/man2/uselib.2:111
17565 msgid ""
17566 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
17567 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
17568 msgstr ""
17569
17570 #. type: TH
17571 #: build/C/man3/usleep.3:31
17572 #, no-wrap
17573 msgid "USLEEP"
17574 msgstr ""
17575
17576 #. type: TH
17577 #: build/C/man3/usleep.3:31
17578 #, no-wrap
17579 msgid "2010-12-03"
17580 msgstr ""
17581
17582 #. type: Plain text
17583 #: build/C/man3/usleep.3:34
17584 msgid "usleep - suspend execution for microsecond intervals"
17585 msgstr ""
17586
17587 #. type: Plain text
17588 #: build/C/man3/usleep.3:39
17589 #, no-wrap
17590 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
17591 msgstr ""
17592
17593 #. type: Plain text
17594 #: build/C/man3/usleep.3:47
17595 msgid "B<usleep>():"
17596 msgstr ""
17597
17598 #. type: Plain text
17599 #: build/C/man3/usleep.3:73
17600 msgid ""
17601 "The B<usleep>()  function suspends execution of the calling thread for (at "
17602 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
17603 "system activity or by the time spent processing the call or by the "
17604 "granularity of system timers."
17605 msgstr ""
17606
17607 #. type: Plain text
17608 #: build/C/man3/usleep.3:75
17609 msgid "0 on success, -1 on error."
17610 msgstr ""
17611
17612 #. type: Plain text
17613 #: build/C/man3/usleep.3:80
17614 msgid "Interrupted by a signal; see B<signal>(7)."
17615 msgstr ""
17616
17617 #. type: Plain text
17618 #: build/C/man3/usleep.3:84
17619 msgid ""
17620 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
17621 "an error.)"
17622 msgstr ""
17623
17624 #. type: Plain text
17625 #: build/C/man3/usleep.3:91
17626 msgid ""
17627 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
17628 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
17629 "B<usleep>()."
17630 msgstr ""
17631
17632 #. type: Plain text
17633 #: build/C/man3/usleep.3:98
17634 msgid ""
17635 "On the original BSD implementation, and in glibc before version 2.2.2, the "
17636 "return type of this function is I<void>.  The POSIX version returns I<int>, "
17637 "and this is also the prototype used since glibc 2.2.2."
17638 msgstr ""
17639
17640 #. type: Plain text
17641 #: build/C/man3/usleep.3:102
17642 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
17643 msgstr ""
17644
17645 #. type: Plain text
17646 #: build/C/man3/usleep.3:110
17647 msgid ""
17648 "The type I<useconds_t> is an unsigned integer type capable of holding "
17649 "integers in the range [0,1000000].  Programs will be more portable if they "
17650 "never mention this type explicitly.  Use"
17651 msgstr ""
17652
17653 #. type: Plain text
17654 #: build/C/man3/usleep.3:118
17655 #, no-wrap
17656 msgid ""
17657 "#include E<lt>unistd.hE<gt>\n"
17658 "\\&...\n"
17659 "    unsigned int usecs;\n"
17660 "\\&...\n"
17661 "    usleep(usecs);\n"
17662 msgstr ""
17663
17664 #. type: Plain text
17665 #: build/C/man3/usleep.3:135
17666 msgid ""
17667 "The interaction of this function with the B<SIGALRM> signal, and with other "
17668 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
17669 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
17670 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
17671 "B<ualarm>(3)  is unspecified."
17672 msgstr ""
17673
17674 #. type: Plain text
17675 #: build/C/man3/usleep.3:143
17676 msgid ""
17677 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17678 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
17679 msgstr ""
17680
17681 #. type: TH
17682 #: build/C/man2/vfork.2:26
17683 #, no-wrap
17684 msgid "VFORK"
17685 msgstr ""
17686
17687 #. type: TH
17688 #: build/C/man2/vfork.2:26
17689 #, no-wrap
17690 msgid "2012-02-08"
17691 msgstr ""
17692
17693 #. type: Plain text
17694 #: build/C/man2/vfork.2:29
17695 msgid "vfork - create a child process and block parent"
17696 msgstr ""
17697
17698 #. type: Plain text
17699 #: build/C/man2/vfork.2:35
17700 msgid "B<pid_t vfork(void);>"
17701 msgstr ""
17702
17703 #. type: Plain text
17704 #: build/C/man2/vfork.2:42
17705 msgid "B<vfork>():"
17706 msgstr ""
17707
17708 #. type: SS
17709 #: build/C/man2/vfork.2:61
17710 #, no-wrap
17711 msgid "Standard Description"
17712 msgstr ""
17713
17714 #. type: Plain text
17715 #: build/C/man2/vfork.2:80
17716 msgid ""
17717 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
17718 "except that the behavior is undefined if the process created by B<vfork>()  "
17719 "either modifies any data other than a variable of type I<pid_t> used to "
17720 "store the return value from B<vfork>(), or returns from the function in "
17721 "which B<vfork>()  was called, or calls any other function before "
17722 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
17723 "functions."
17724 msgstr ""
17725
17726 #. type: SS
17727 #: build/C/man2/vfork.2:80
17728 #, no-wrap
17729 msgid "Linux Description"
17730 msgstr ""
17731
17732 #. type: Plain text
17733 #: build/C/man2/vfork.2:87
17734 msgid ""
17735 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
17736 "process.  For details and return value and errors, see B<fork>(2)."
17737 msgstr ""
17738
17739 #. type: Plain text
17740 #: build/C/man2/vfork.2:96
17741 msgid ""
17742 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
17743 "processes without copying the page tables of the parent process.  It may be "
17744 "useful in performance-sensitive applications where a child is created which "
17745 "then immediately issues an B<execve>(2)."
17746 msgstr ""
17747
17748 #. type: Plain text
17749 #: build/C/man2/vfork.2:113
17750 msgid ""
17751 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
17752 "until the child terminates (either normally, by calling B<_exit>(2), or "
17753 "abnormally, after delivery of a fatal signal), or it makes a call to "
17754 "B<execve>(2).  Until that point, the child shares all memory with its "
17755 "parent, including the stack.  The child must not return from the current "
17756 "function or call B<exit>(3), but may call B<_exit>(2)."
17757 msgstr ""
17758
17759 #. type: Plain text
17760 #: build/C/man2/vfork.2:124
17761 msgid ""
17762 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
17763 "of various of the caller's process attributes (e.g., file descriptors, "
17764 "signal dispositions, and current working directory); the B<vfork>()  call "
17765 "differs only in the treatment of the virtual address space, as described "
17766 "above."
17767 msgstr ""
17768
17769 #. type: Plain text
17770 #: build/C/man2/vfork.2:130
17771 msgid ""
17772 "Signals sent to the parent arrive after the child releases the parent's "
17773 "memory (i.e., after the child terminates or calls B<execve>(2))."
17774 msgstr ""
17775
17776 #. type: SS
17777 #: build/C/man2/vfork.2:130
17778 #, no-wrap
17779 msgid "Historic Description"
17780 msgstr ""
17781
17782 #. type: Plain text
17783 #: build/C/man2/vfork.2:157
17784 msgid ""
17785 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
17786 "only penalty incurred by B<fork>(2)  is the time and memory required to "
17787 "duplicate the parent's page tables, and to create a unique task structure "
17788 "for the child.  However, in the bad old days a B<fork>(2)  would require "
17789 "making a complete copy of the caller's data space, often needlessly, since "
17790 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
17791 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
17792 "copy the address space of the parent process, but borrowed the parent's "
17793 "memory and thread of control until a call to B<execve>(2)  or an exit "
17794 "occurred.  The parent process was suspended while the child was using its "
17795 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
17796 "data in the parent process depended on knowing which variables were held in "
17797 "a register."
17798 msgstr ""
17799
17800 #. type: Plain text
17801 #: build/C/man2/vfork.2:161
17802 msgid ""
17803 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
17804 "specification of B<vfork>()."
17805 msgstr ""
17806
17807 #.  In AIXv3.1 vfork is equivalent to fork.
17808 #. type: Plain text
17809 #: build/C/man2/vfork.2:172
17810 msgid ""
17811 "The requirements put on B<vfork>()  by the standards are weaker than those "
17812 "put on B<fork>(2), so an implementation where the two are synonymous is "
17813 "compliant.  In particular, the programmer cannot rely on the parent "
17814 "remaining blocked until the child either terminates or calls B<execve>(2), "
17815 "and cannot rely on any specific behavior with respect to shared memory."
17816 msgstr ""
17817
17818 #. type: Plain text
17819 #: build/C/man2/vfork.2:191
17820 msgid ""
17821 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
17822 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
17823 "proper system sharing mechanisms are implemented.  Users should not depend "
17824 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
17825 "made synonymous to B<fork>(2).\" However, even though modern memory "
17826 "management hardware has decreased the performance difference between "
17827 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
17828 "systems have retained B<vfork>():"
17829 msgstr ""
17830
17831 #. type: Plain text
17832 #: build/C/man2/vfork.2:195
17833 msgid ""
17834 "Some performance-critical applications require the small performance "
17835 "advantage conferred by B<vfork>()."
17836 msgstr ""
17837
17838 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
17839 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
17840 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
17841 #. type: Plain text
17842 #: build/C/man2/vfork.2:211
17843 msgid ""
17844 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
17845 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
17846 "removed B<vfork>()  from the standard; the POSIX rationale for the "
17847 "B<posix_spawn>(3)  function notes that that function, which provides "
17848 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
17849 "implementable on systems that lack an MMU.)"
17850 msgstr ""
17851
17852 #. type: Plain text
17853 #: build/C/man2/vfork.2:222
17854 msgid ""
17855 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
17856 "multithreaded program employing the NPTL threading library calls "
17857 "B<vfork>().  Fork handlers are called in this case in a program using the "
17858 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
17859 "Linux threading libraries.)"
17860 msgstr ""
17861
17862 #. type: Plain text
17863 #: build/C/man2/vfork.2:230
17864 msgid ""
17865 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
17866 "specified as:"
17867 msgstr ""
17868
17869 #. type: Plain text
17870 #: build/C/man2/vfork.2:232
17871 #, no-wrap
17872 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
17873 msgstr ""
17874
17875 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
17876 #.  present, but definitely on its way out'.
17877 #. type: Plain text
17878 #: build/C/man2/vfork.2:249
17879 msgid ""
17880 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
17881 "synonymous to B<fork>(2)  but NetBSD introduced it again, "
17882 "cf. http://www.netbsd.org/Documentation/kernel/vfork.html .  In Linux, it "
17883 "has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since 2.2.0-pre9 "
17884 "(on i386, somewhat later on other architectures) it is an independent system "
17885 "call.  Support was added in glibc 2.0.112."
17886 msgstr ""
17887
17888 #
17889 #.  As far as I can tell, the following is not true in 2.6.19:
17890 #.  Currently (Linux 2.3.25),
17891 #.  .BR strace (1)
17892 #.  cannot follow
17893 #.  .BR vfork ()
17894 #.  and requires a kernel patch.
17895 #. type: Plain text
17896 #: build/C/man2/vfork.2:270
17897 msgid ""
17898 "Details of the signal handling are obscure and differ between systems.  The "
17899 "BSD man page states: \"To avoid a possible deadlock situation, processes "
17900 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
17901 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
17902 "attempts result in an end-of-file indication.\""
17903 msgstr ""
17904
17905 #. type: Plain text
17906 #: build/C/man2/vfork.2:275
17907 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
17908 msgstr ""
17909
17910 #. type: TH
17911 #: build/C/man2/vhangup.2:27
17912 #, no-wrap
17913 msgid "VHANGUP"
17914 msgstr ""
17915
17916 #. type: Plain text
17917 #: build/C/man2/vhangup.2:30
17918 msgid "vhangup - virtually hangup the current tty"
17919 msgstr ""
17920
17921 #. type: Plain text
17922 #: build/C/man2/vhangup.2:34
17923 msgid "B<int vhangup(void);>"
17924 msgstr ""
17925
17926 #. type: Plain text
17927 #: build/C/man2/vhangup.2:43
17928 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
17929 msgstr ""
17930
17931 #. type: Plain text
17932 #: build/C/man2/vhangup.2:49
17933 msgid ""
17934 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
17935 "arranges for other users to have a ``clean'' tty at login time."
17936 msgstr ""
17937
17938 #. type: Plain text
17939 #: build/C/man2/vhangup.2:62
17940 msgid ""
17941 "The calling process has insufficient privilege to call B<vhangup>(); the "
17942 "B<CAP_SYS_TTY_CONFIG> capability is required."
17943 msgstr ""
17944
17945 #. type: Plain text
17946 #: build/C/man2/vhangup.2:65
17947 msgid ""
17948 "This call is Linux-specific, and should not be used in programs intended to "
17949 "be portable."
17950 msgstr ""
17951
17952 #. type: Plain text
17953 #: build/C/man2/vhangup.2:67
17954 msgid "B<capabilities>(7), B<init>(8)"
17955 msgstr ""