OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.54
[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: 2013-09-28 04:06+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:29 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:34 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:8 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:43 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
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:29 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:31 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:36 build/C/man3/encrypt.3:30 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:25 build/C/man3/exec.3:41 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/fsync.2:38 build/C/man3/get_nprocs_conf.3:26 build/C/man2/get_thread_area.2:8 build/C/man3/getcwd.3:32 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man3/lockf.3:28 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man5/shells.5:28 build/C/man3/sleep.3:26 build/C/man3/swab.3:31 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man3/sysconf.3:27 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:25 build/C/man2/truncate.2:43 build/C/man3/ualarm.3:24 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man3/usleep.3:33 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
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:30 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:32 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:15 build/C/man2/dup.2:37 build/C/man3/encrypt.3:31 build/C/man7/environ.7:35 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:42 build/C/man2/execve.2:38 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:36 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:42 build/C/man2/fsync.2:39 build/C/man3/get_nprocs_conf.3:27 build/C/man2/get_thread_area.2:9 build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:30 build/C/man3/getdtablesize.3:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:42 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:27 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:33 build/C/man2/ioctl.2:42 build/C/man2/ioctl_list.2:31 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:29 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:11 build/C/man2/nice.2:32 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:9 build/C/man2/setup.2:35 build/C/man5/shells.5:29 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:38 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:15 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:25 build/C/man2/umask.2:35 build/C/man2/uname.2:28 build/C/man2/uselib.2:32 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:29
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:32 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:34 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39 build/C/man3/des_crypt.3:18 build/C/man2/dup.2:39 build/C/man3/encrypt.3:33 build/C/man7/environ.7:37 build/C/man3/euidaccess.3:28 build/C/man3/exec.3:44 build/C/man2/execve.2:40 build/C/man2/exit_group.2:28 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:38 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:44 build/C/man2/fsync.2:41 build/C/man3/get_nprocs_conf.3:29 build/C/man2/get_thread_area.2:11 build/C/man3/getcwd.3:35 build/C/man2/getdomainname.2:32 build/C/man3/getdtablesize.3:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:45 build/C/man2/getpagesize.2:28 build/C/man2/gettid.2:29 build/C/man3/getumask.3:31 build/C/man3/getusershell.3:33 build/C/man2/idle.2:35 build/C/man2/ioctl.2:44 build/C/man2/ioperm.2:37 build/C/man3/lockf.3:31 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:13 build/C/man2/nice.2:34 build/C/man2/pread.2:28 build/C/man2/set_thread_area.2:11 build/C/man2/setup.2:37 build/C/man3/sleep.3:29 build/C/man3/swab.3:34 build/C/man2/swapon.2:40 build/C/man2/syscall.2:43 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:30 build/C/man2/sysctl.2:33 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man3/ualarm.3:27 build/C/man2/umask.2:37 build/C/man2/uname.2:30 build/C/man2/uselib.2:34 build/C/man3/usleep.3:36 build/C/man2/vfork.2:31 build/C/man2/vhangup.2:31
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:13 build/C/man2/set_thread_area.2:13
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:64 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:48 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51 build/C/man3/des_crypt.3:34 build/C/man2/dup.2:52 build/C/man3/encrypt.3:56 build/C/man7/environ.7:42 build/C/man3/euidaccess.3:36 build/C/man3/exec.3:72 build/C/man2/execve.2:46 build/C/man2/exit_group.2:34 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:42 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:52 build/C/man2/fsync.2:61 build/C/man3/get_nprocs_conf.3:35 build/C/man2/get_thread_area.2:20 build/C/man3/getcwd.3:75 build/C/man2/getdomainname.2:51 build/C/man3/getdtablesize.3:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:79 build/C/man2/getpagesize.2:55 build/C/man2/gettid.2:38 build/C/man3/getumask.3:39 build/C/man3/getusershell.3:57 build/C/man2/idle.2:39 build/C/man2/ioctl.2:48 build/C/man2/ioctl_list.2:33 build/C/man2/ioperm.2:45 build/C/man3/lockf.3:48 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:21 build/C/man2/nice.2:46 build/C/man2/pread.2:53 build/C/man2/set_thread_area.2:20 build/C/man2/setup.2:41 build/C/man5/shells.5:31 build/C/man3/sleep.3:35 build/C/man3/swab.3:41 build/C/man2/swapon.2:50 build/C/man2/syscall.2:51 build/C/man2/syscalls.2:36 build/C/man3/sysconf.3:36 build/C/man2/sysctl.2:44 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:34 build/C/man2/truncate.2:79 build/C/man3/ualarm.3:58 build/C/man2/umask.2:43 build/C/man2/uname.2:34 build/C/man2/uselib.2:38 build/C/man3/usleep.3:67 build/C/man2/vfork.2:62 build/C/man2/vhangup.2:45
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:63
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:66
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:69
112 msgid "I<name> is the name of the system call"
113 msgstr ""
114
115 #. type: Plain text
116 #: build/C/man2/_syscall.2:72
117 msgid "I<typeN> is the Nth argument's type"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man2/_syscall.2:75
122 msgid "I<argN> is the name of the Nth argument"
123 msgstr ""
124
125 #. type: Plain text
126 #: build/C/man2/_syscall.2:83
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:83 build/C/man3/getlogin.3:132 build/C/man3/getusershell.3:89 build/C/man5/shells.5:43
135 #, no-wrap
136 msgid "FILES"
137 msgstr ""
138
139 #. type: Plain text
140 #: build/C/man2/_syscall.2:85
141 msgid "I</usr/include/linux/unistd.h>"
142 msgstr ""
143
144 #. type: SH
145 #: build/C/man2/_syscall.2:85 build/C/man2/access.2:156 build/C/man2/alarm.2:59 build/C/man2/brk.2:114 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:127 build/C/man3/crypt.3:172 build/C/man3/daemon.3:91 build/C/man3/des_crypt.3:134 build/C/man2/dup.2:170 build/C/man3/encrypt.3:137 build/C/man3/euidaccess.3:73 build/C/man3/exec.3:199 build/C/man2/execve.2:450 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1146 build/C/man3/fexecve.3:94 build/C/man2/flock.2:138 build/C/man2/fork.2:206 build/C/man3/fpathconf.3:169 build/C/man2/fsync.2:125 build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:46 build/C/man3/getcwd.3:208 build/C/man2/getdomainname.2:110 build/C/man3/getdtablesize.3:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:154 build/C/man3/getopt.3:318 build/C/man2/getpagesize.2:64 build/C/man2/gettid.2:58 build/C/man3/getumask.3:58 build/C/man3/getusershell.3:101 build/C/man2/idle.2:61 build/C/man2/ioctl.2:117 build/C/man2/ioperm.2:104 build/C/man3/lockf.3:154 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:118 build/C/man2/nice.2:75 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:62 build/C/man3/sleep.3:44 build/C/man3/swab.3:72 build/C/man2/swapon.2:151 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:109 build/C/man2/truncate.2:195 build/C/man3/ualarm.3:92 build/C/man2/umask.2:95 build/C/man2/uname.2:73 build/C/man2/uselib.2:76 build/C/man3/usleep.3:91 build/C/man2/vfork.2:159 build/C/man2/vhangup.2:63
146 #, no-wrap
147 msgid "CONFORMING TO"
148 msgstr ""
149
150 #. type: Plain text
151 #: build/C/man2/_syscall.2:87
152 msgid "The use of these macros is Linux-specific, and deprecated."
153 msgstr ""
154
155 #. type: SH
156 #: build/C/man2/_syscall.2:87 build/C/man2/access.2:158 build/C/man2/alarm.2:61 build/C/man2/brk.2:122 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:177 build/C/man3/daemon.3:97 build/C/man2/dup.2:180 build/C/man3/encrypt.3:148 build/C/man3/euidaccess.3:79 build/C/man3/exec.3:205 build/C/man2/execve.2:458 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1196 build/C/man3/fexecve.3:98 build/C/man2/flock.2:147 build/C/man2/fork.2:208 build/C/man3/fpathconf.3:171 build/C/man2/fsync.2:140 build/C/man3/get_nprocs_conf.3:50 build/C/man2/get_thread_area.2:50 build/C/man3/getcwd.3:230 build/C/man2/getdomainname.2:113 build/C/man3/getdtablesize.3:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:350 build/C/man2/getpagesize.2:71 build/C/man2/gettid.2:62 build/C/man3/getumask.3:60 build/C/man2/ioctl.2:132 build/C/man2/ioperm.2:108 build/C/man2/mkdir.2:121 build/C/man2/nice.2:82 build/C/man2/pread.2:117 build/C/man2/set_thread_area.2:67 build/C/man2/setup.2:65 build/C/man2/swapon.2:157 build/C/man2/syscall.2:78 build/C/man2/syscalls.2:656 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:111 build/C/man2/truncate.2:208 build/C/man3/ualarm.3:100 build/C/man2/umask.2:97 build/C/man2/uname.2:82 build/C/man2/uselib.2:80 build/C/man3/usleep.3:109 build/C/man2/vfork.2:174
157 #, no-wrap
158 msgid "NOTES"
159 msgstr ""
160
161 #. type: Plain text
162 #: build/C/man2/_syscall.2:97
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:103
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:124
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 "-I<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 be used only 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:140
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:140 build/C/man2/chown.2:288 build/C/man3/confstr.3:129 build/C/man3/encrypt.3:150 build/C/man2/execve.2:544 build/C/man2/fork.2:239 build/C/man3/get_nprocs_conf.3:67 build/C/man3/getopt.3:376 build/C/man5/shells.5:45 build/C/man2/syscall.2:202 build/C/man2/sysctl.2:143
208 #, no-wrap
209 msgid "EXAMPLE"
210 msgstr ""
211
212 #. type: Plain text
213 #: build/C/man2/_syscall.2:147
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:149
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:152
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:158
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:173
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:174
272 #, no-wrap
273 msgid "Sample output"
274 msgstr ""
275
276 #. type: Plain text
277 #: build/C/man2/_syscall.2:183
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:184 build/C/man2/access.2:251 build/C/man2/alarm.2:79 build/C/man2/brk.2:164 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:146 build/C/man3/crypt.3:238 build/C/man3/daemon.3:105 build/C/man3/des_crypt.3:137 build/C/man2/dup.2:207 build/C/man3/encrypt.3:174 build/C/man7/environ.7:241 build/C/man3/euidaccess.3:94 build/C/man3/exec.3:241 build/C/man2/execve.2:639 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1297 build/C/man3/fexecve.3:106 build/C/man2/flock.2:201 build/C/man2/fork.2:244 build/C/man3/fpathconf.3:180 build/C/man2/fsync.2:162 build/C/man2/get_thread_area.2:55 build/C/man3/getcwd.3:249 build/C/man2/getdomainname.2:127 build/C/man3/getdtablesize.3:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:209 build/C/man3/getopt.3:514 build/C/man2/getpagesize.2:108 build/C/man2/gettid.2:71 build/C/man3/getumask.3:63 build/C/man3/getusershell.3:103 build/C/man2/ioctl.2:140 build/C/man2/ioctl_list.2:963 build/C/man2/ioperm.2:121 build/C/man3/lockf.3:156 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:133 build/C/man2/nice.2:105 build/C/man2/pread.2:158 build/C/man2/set_thread_area.2:72 build/C/man5/shells.5:56 build/C/man3/sleep.3:61 build/C/man3/swab.3:74 build/C/man2/swapon.2:191 build/C/man2/syscall.2:219 build/C/man2/syscalls.2:833 build/C/man3/sysconf.3:335 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:120 build/C/man2/truncate.2:256 build/C/man3/ualarm.3:142 build/C/man2/umask.2:118 build/C/man2/uname.2:167 build/C/man2/uselib.2:102 build/C/man3/usleep.3:142 build/C/man2/vfork.2:273 build/C/man2/vhangup.2:66
291 #, no-wrap
292 msgid "SEE ALSO"
293 msgstr ""
294
295 #. type: Plain text
296 #: build/C/man2/_syscall.2:188
297 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
298 msgstr ""
299
300 #. type: SH
301 #: build/C/man2/_syscall.2:188 build/C/man2/access.2:262 build/C/man2/alarm.2:88 build/C/man2/brk.2:169 build/C/man2/chdir.2:140 build/C/man2/chmod.2:228 build/C/man2/chown.2:342 build/C/man2/chroot.2:154 build/C/man2/close.2:132 build/C/man3/confstr.3:150 build/C/man3/crypt.3:244 build/C/man3/daemon.3:108 build/C/man3/des_crypt.3:141 build/C/man2/dup.2:211 build/C/man3/encrypt.3:179 build/C/man7/environ.7:255 build/C/man3/euidaccess.3:105 build/C/man3/exec.3:248 build/C/man2/execve.2:650 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1318 build/C/man3/fexecve.3:108 build/C/man2/flock.2:215 build/C/man2/fork.2:255 build/C/man3/fpathconf.3:185 build/C/man2/fsync.2:171 build/C/man3/get_nprocs_conf.3:88 build/C/man2/get_thread_area.2:58 build/C/man3/getcwd.3:256 build/C/man2/getdomainname.2:131 build/C/man3/getdtablesize.3:95 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:213 build/C/man3/getopt.3:516 build/C/man2/getpagesize.2:111 build/C/man2/gettid.2:90 build/C/man3/getumask.3:65 build/C/man3/getusershell.3:105 build/C/man2/idle.2:64 build/C/man2/ioctl.2:148 build/C/man2/ioctl_list.2:965 build/C/man2/ioperm.2:125 build/C/man3/lockf.3:171 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:145 build/C/man2/nice.2:112 build/C/man2/pread.2:163 build/C/man2/set_thread_area.2:74 build/C/man2/setup.2:72 build/C/man5/shells.5:59 build/C/man3/sleep.3:66 build/C/man3/swab.3:76 build/C/man2/swapon.2:195 build/C/man2/syscall.2:223 build/C/man2/syscalls.2:837 build/C/man3/sysconf.3:343 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:124 build/C/man2/truncate.2:260 build/C/man3/ualarm.3:150 build/C/man2/umask.2:124 build/C/man2/uname.2:171 build/C/man2/uselib.2:112 build/C/man3/usleep.3:151 build/C/man2/vfork.2:279 build/C/man2/vhangup.2:69
302 #, no-wrap
303 msgid "COLOPHON"
304 msgstr ""
305
306 #. type: Plain text
307 #: build/C/man2/_syscall.2:195 build/C/man2/access.2:269 build/C/man2/alarm.2:95 build/C/man2/brk.2:176 build/C/man2/chdir.2:147 build/C/man2/chmod.2:235 build/C/man2/chown.2:349 build/C/man2/chroot.2:161 build/C/man2/close.2:139 build/C/man3/confstr.3:157 build/C/man3/crypt.3:251 build/C/man3/daemon.3:115 build/C/man3/des_crypt.3:148 build/C/man2/dup.2:218 build/C/man3/encrypt.3:186 build/C/man7/environ.7:262 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:255 build/C/man2/execve.2:657 build/C/man2/exit_group.2:58 build/C/man2/fcntl.2:1325 build/C/man3/fexecve.3:115 build/C/man2/flock.2:222 build/C/man2/fork.2:262 build/C/man3/fpathconf.3:192 build/C/man2/fsync.2:178 build/C/man3/get_nprocs_conf.3:95 build/C/man2/get_thread_area.2:65 build/C/man3/getcwd.3:263 build/C/man2/getdomainname.2:138 build/C/man3/getdtablesize.3:102 build/C/man3/gethostid.3:134 build/C/man2/gethostname.2:187 build/C/man3/getlogin.3:220 build/C/man3/getopt.3:523 build/C/man2/getpagesize.2:118 build/C/man2/gettid.2:97 build/C/man3/getumask.3:72 build/C/man3/getusershell.3:112 build/C/man2/idle.2:71 build/C/man2/ioctl.2:155 build/C/man2/ioctl_list.2:972 build/C/man2/ioperm.2:132 build/C/man3/lockf.3:178 build/C/man2/mincore.2:176 build/C/man2/mkdir.2:152 build/C/man2/nice.2:119 build/C/man2/pread.2:170 build/C/man2/set_thread_area.2:81 build/C/man2/setup.2:79 build/C/man5/shells.5:66 build/C/man3/sleep.3:73 build/C/man3/swab.3:83 build/C/man2/swapon.2:202 build/C/man2/syscall.2:230 build/C/man2/syscalls.2:844 build/C/man3/sysconf.3:350 build/C/man2/sysctl.2:190 build/C/man2/sysinfo.2:103 build/C/man3/tcgetpgrp.3:131 build/C/man2/truncate.2:267 build/C/man3/ualarm.3:157 build/C/man2/umask.2:131 build/C/man2/uname.2:178 build/C/man2/uselib.2:119 build/C/man3/usleep.3:158 build/C/man2/vfork.2:286 build/C/man2/vhangup.2:76
308 msgid ""
309 "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
310 "description of the project, and information about reporting bugs, can be "
311 "found at \\%http://www.kernel.org/doc/man-pages/."
312 msgstr ""
313
314 #. type: TH
315 #: build/C/man2/access.2:43
316 #, no-wrap
317 msgid "ACCESS"
318 msgstr ""
319
320 #. type: TH
321 #: build/C/man2/access.2:43
322 #, no-wrap
323 msgid "2013-09-13"
324 msgstr ""
325
326 #. type: Plain text
327 #: build/C/man2/access.2:46
328 msgid "access - check real user's permissions for a file"
329 msgstr ""
330
331 #. type: Plain text
332 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/close.2:41 build/C/man3/confstr.3:37 build/C/man3/crypt.3:44 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:47 build/C/man3/getcwd.3:38 build/C/man3/getopt.3:48 build/C/man3/getusershell.3:36 build/C/man3/sleep.3:32 build/C/man3/sysconf.3:33 build/C/man2/sysctl.2:36 build/C/man3/ualarm.3:30 build/C/man3/usleep.3:39
333 #, no-wrap
334 msgid "B<#include E<lt>unistd.hE<gt>>\n"
335 msgstr ""
336
337 #. type: Plain text
338 #: build/C/man2/access.2:51
339 #, no-wrap
340 msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
341 msgstr ""
342
343 #. type: Plain text
344 #: build/C/man2/access.2:59
345 msgid ""
346 "B<access>()  checks whether the calling process can access the file "
347 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
348 msgstr ""
349
350 #.  F_OK is defined as 0 on every system that I know of.
351 #. type: Plain text
352 #: build/C/man2/access.2:73
353 msgid ""
354 "The I<mode> specifies the accessibility check(s) to be performed, and is "
355 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
356 "more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of "
357 "the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and "
358 "grants read, write, and execute permissions, respectively."
359 msgstr ""
360
361 #. type: Plain text
362 #: build/C/man2/access.2:82
363 msgid ""
364 "The check is done using the calling process's I<real> UID and GID, rather "
365 "than the effective IDs as is done when actually attempting an operation "
366 "(e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily "
367 "determine the invoking user's authority."
368 msgstr ""
369
370 #. type: Plain text
371 #: build/C/man2/access.2:88
372 msgid ""
373 "If the calling process is privileged (i.e., its real UID is zero), then an "
374 "B<X_OK> check is successful for a regular file if execute permission is "
375 "enabled for any of the file owner, group, or other."
376 msgstr ""
377
378 #. type: SH
379 #: build/C/man2/access.2:88 build/C/man2/alarm.2:54 build/C/man2/brk.2:93 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:94 build/C/man3/crypt.3:120 build/C/man3/daemon.3:73 build/C/man3/des_crypt.3:106 build/C/man2/dup.2:120 build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58 build/C/man3/exec.3:183 build/C/man2/execve.2:355 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1051 build/C/man3/fexecve.3:67 build/C/man2/flock.2:111 build/C/man2/fork.2:173 build/C/man3/fpathconf.3:160 build/C/man2/fsync.2:108 build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:29 build/C/man3/getcwd.3:156 build/C/man2/getdomainname.2:75 build/C/man3/getdtablesize.3:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:274 build/C/man2/gettid.2:50 build/C/man3/getusershell.3:85 build/C/man2/idle.2:52 build/C/man2/ioctl.2:83 build/C/man2/ioctl_list.2:107 build/C/man2/ioperm.2:82 build/C/man3/lockf.3:116 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:48 build/C/man2/nice.2:56 build/C/man2/pread.2:79 build/C/man2/set_thread_area.2:44 build/C/man2/setup.2:53 build/C/man3/sleep.3:40 build/C/man3/swab.3:68 build/C/man2/swapon.2:108 build/C/man2/syscall.2:72 build/C/man3/sysconf.3:311 build/C/man2/sysctl.2:74 build/C/man2/sysinfo.2:74 build/C/man3/tcgetpgrp.3:64 build/C/man2/truncate.2:110 build/C/man3/ualarm.3:81 build/C/man2/umask.2:92 build/C/man2/uname.2:63 build/C/man2/uselib.2:48 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:50
380 #, no-wrap
381 msgid "RETURN VALUE"
382 msgstr ""
383
384 #. type: Plain text
385 #: build/C/man2/access.2:104
386 msgid ""
387 "On success (all requested permissions granted, or I<mode> is B<F_OK> and the "
388 "file exists), zero is returned.  On error (at least one bit in I<mode> asked "
389 "for a permission that is denied, or I<mode> is B<F_OK> and the file does not "
390 "exist, or some other error occurred), -1 is returned, and I<errno> is set "
391 "appropriately."
392 msgstr ""
393
394 #. type: SH
395 #: build/C/man2/access.2:104 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:121 build/C/man3/crypt.3:123 build/C/man2/dup.2:126 build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66 build/C/man3/exec.3:190 build/C/man2/execve.2:361 build/C/man2/fcntl.2:1084 build/C/man3/fexecve.3:74 build/C/man2/flock.2:116 build/C/man2/fork.2:180 build/C/man2/fsync.2:113 build/C/man2/get_thread_area.2:35 build/C/man3/getcwd.3:172 build/C/man2/getdomainname.2:80 build/C/man3/getdtablesize.3:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:103 build/C/man2/gettid.2:52 build/C/man2/idle.2:55 build/C/man2/ioctl.2:92 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:53 build/C/man2/nice.2:61 build/C/man2/pread.2:89 build/C/man2/set_thread_area.2:49 build/C/man2/setup.2:56 build/C/man2/swapon.2:113 build/C/man2/sysctl.2:81 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:86 build/C/man2/truncate.2:115 build/C/man3/ualarm.3:84 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man3/usleep.3:82 build/C/man2/vhangup.2:55
396 #, no-wrap
397 msgid "ERRORS"
398 msgstr ""
399
400 #. type: Plain text
401 #: build/C/man2/access.2:107
402 msgid "B<access>()  shall fail if:"
403 msgstr ""
404
405 #. type: TP
406 #: build/C/man2/access.2:107 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:369 build/C/man2/execve.2:376 build/C/man2/execve.2:379 build/C/man2/execve.2:382 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:54 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
407 #, no-wrap
408 msgid "B<EACCES>"
409 msgstr ""
410
411 #. type: Plain text
412 #: build/C/man2/access.2:114
413 msgid ""
414 "The requested access would be denied to the file, or search permission is "
415 "denied for one of the directories in the path prefix of I<pathname>.  (See "
416 "also B<path_resolution>(7).)"
417 msgstr ""
418
419 #. type: TP
420 #: build/C/man2/access.2:114 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:403 build/C/man2/mkdir.2:76 build/C/man2/truncate.2:151
421 #, no-wrap
422 msgid "B<ELOOP>"
423 msgstr ""
424
425 #. type: Plain text
426 #: build/C/man2/access.2:118 build/C/man2/mkdir.2:80
427 msgid "Too many symbolic links were encountered in resolving I<pathname>."
428 msgstr ""
429
430 #. type: TP
431 #: build/C/man2/access.2:118 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:411 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:84 build/C/man2/truncate.2:154
432 #, no-wrap
433 msgid "B<ENAMETOOLONG>"
434 msgstr ""
435
436 #. type: Plain text
437 #: build/C/man2/access.2:122
438 msgid "I<pathname> is too long."
439 msgstr ""
440
441 #. type: TP
442 #: build/C/man2/access.2:122 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:418 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:122 build/C/man2/mkdir.2:87 build/C/man2/swapon.2:136 build/C/man2/truncate.2:158
443 #, no-wrap
444 msgid "B<ENOENT>"
445 msgstr ""
446
447 #. type: Plain text
448 #: build/C/man2/access.2:127
449 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
450 msgstr ""
451
452 #. type: TP
453 #: build/C/man2/access.2:127 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:432 build/C/man2/mkdir.2:104 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:161
454 #, no-wrap
455 msgid "B<ENOTDIR>"
456 msgstr ""
457
458 #. type: Plain text
459 #: build/C/man2/access.2:132 build/C/man2/mkdir.2:109
460 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
461 msgstr ""
462
463 #. type: TP
464 #: build/C/man2/access.2:132 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:114 build/C/man2/truncate.2:170
465 #, no-wrap
466 msgid "B<EROFS>"
467 msgstr ""
468
469 #. type: Plain text
470 #: build/C/man2/access.2:135
471 msgid "Write permission was requested for a file on a read-only filesystem."
472 msgstr ""
473
474 #. type: Plain text
475 #: build/C/man2/access.2:138
476 msgid "B<access>()  may fail if:"
477 msgstr ""
478
479 #. type: TP
480 #: build/C/man2/access.2:138 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:386 build/C/man2/fcntl.2:1106 build/C/man2/get_thread_area.2:36 build/C/man3/getcwd.3:176 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:97 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:73 build/C/man2/set_thread_area.2:53 build/C/man2/sysctl.2:82 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:124 build/C/man2/uname.2:69
481 #, no-wrap
482 msgid "B<EFAULT>"
483 msgstr ""
484
485 #. type: Plain text
486 #: build/C/man2/access.2:142 build/C/man2/mkdir.2:76
487 msgid "I<pathname> points outside your accessible address space."
488 msgstr ""
489
490 #. type: TP
491 #: build/C/man2/access.2:142 build/C/man3/confstr.3:122 build/C/man2/dup.2:151 build/C/man2/execve.2:390 build/C/man2/fcntl.2:1122 build/C/man3/fexecve.3:78 build/C/man2/flock.2:126 build/C/man2/get_thread_area.2:39 build/C/man3/getcwd.3:180 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:101 build/C/man2/ioperm.2:88 build/C/man3/lockf.3:147 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:50 build/C/man2/swapon.2:121 build/C/man3/tcgetpgrp.3:91 build/C/man2/truncate.2:140 build/C/man2/truncate.2:191 build/C/man3/ualarm.3:88 build/C/man3/usleep.3:87
492 #, no-wrap
493 msgid "B<EINVAL>"
494 msgstr ""
495
496 #. type: Plain text
497 #: build/C/man2/access.2:146
498 msgid "I<mode> was incorrectly specified."
499 msgstr ""
500
501 #. type: TP
502 #: build/C/man2/access.2:146 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:394 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:94 build/C/man2/truncate.2:145
503 #, no-wrap
504 msgid "B<EIO>"
505 msgstr ""
506
507 #. type: Plain text
508 #: build/C/man2/access.2:149 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:397
509 msgid "An I/O error occurred."
510 msgstr ""
511
512 #. type: TP
513 #: build/C/man2/access.2:149 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:429 build/C/man2/fork.2:196 build/C/man3/getlogin.3:125 build/C/man2/ioperm.2:97 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:92 build/C/man2/swapon.2:141
514 #, no-wrap
515 msgid "B<ENOMEM>"
516 msgstr ""
517
518 #. type: Plain text
519 #: build/C/man2/access.2:152 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:432 build/C/man2/mkdir.2:95
520 msgid "Insufficient kernel memory was available."
521 msgstr ""
522
523 #. type: TP
524 #: build/C/man2/access.2:152 build/C/man2/execve.2:447 build/C/man2/truncate.2:173
525 #, no-wrap
526 msgid "B<ETXTBSY>"
527 msgstr ""
528
529 #. type: Plain text
530 #: build/C/man2/access.2:156
531 msgid "Write access was requested to an executable which is being executed."
532 msgstr ""
533
534 #. type: Plain text
535 #: build/C/man2/access.2:158 build/C/man2/close.2:87 build/C/man2/fork.2:208 build/C/man3/swab.3:74 build/C/man2/umask.2:97
536 msgid "SVr4, 4.3BSD, POSIX.1-2001."
537 msgstr ""
538
539 #. type: Plain text
540 #: build/C/man2/access.2:173
541 msgid ""
542 "B<Warning>: Using B<access>()  to check if a user is authorized to, for "
543 "example, open a file before actually doing so using B<open>(2)  creates a "
544 "security hole, because the user might exploit the short time interval "
545 "between checking and opening the file to manipulate it.  B<For this reason, "
546 "the use of this system call should be avoided>.  (In the example just "
547 "described, a safer alternative would be to temporarily switch the process's "
548 "effective user ID to the real ID and then call B<open>(2).)"
549 msgstr ""
550
551 #. type: Plain text
552 #: build/C/man2/access.2:180
553 msgid ""
554 "B<access>()  always dereferences symbolic links.  If you need to check the "
555 "permissions on a symbolic link, use B<faccessat>(2)  with the flag "
556 "B<AT_SYMLINK_NOFOLLOW>."
557 msgstr ""
558
559 #. type: Plain text
560 #: build/C/man2/access.2:187
561 msgid ""
562 "B<access>()  returns an error if any of the access types in I<mode> is "
563 "denied, even if some of the other access types in I<mode> are permitted."
564 msgstr ""
565
566 #.  HPU-UX 11 and Tru64 5.1 do this.
567 #. type: Plain text
568 #: build/C/man2/access.2:194
569 msgid ""
570 "If the calling process has appropriate privileges (i.e., is superuser), "
571 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
572 "check even if none of the execute file permission bits are set.  Linux does "
573 "not do this."
574 msgstr ""
575
576 #. type: Plain text
577 #: build/C/man2/access.2:202
578 msgid ""
579 "A file is accessible only if the permissions on each of the directories in "
580 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
581 "directory is inaccessible, then the B<access>()  call will fail, regardless "
582 "of the permissions on the file itself."
583 msgstr ""
584
585 #. type: Plain text
586 #: build/C/man2/access.2:210
587 msgid ""
588 "Only access bits are checked, not the file type or contents.  Therefore, if "
589 "a directory is found to be writable, it probably means that files can be "
590 "created in the directory, and not that the directory can be written as a "
591 "file.  Similarly, a DOS file may be found to be \"executable,\" but the "
592 "B<execve>(2)  call will still fail."
593 msgstr ""
594
595 #. type: Plain text
596 #: build/C/man2/access.2:217
597 msgid ""
598 "B<access>()  may not work correctly on NFSv2 filesystems with UID mapping "
599 "enabled, because UID mapping is done on the server and hidden from the "
600 "client, which checks permissions.  (NFS versions 3 and higher perform the "
601 "check on the server.)  Similar problems can occur to FUSE mounts."
602 msgstr ""
603
604 #. type: SH
605 #: build/C/man2/access.2:217 build/C/man7/environ.7:203 build/C/man2/fcntl.2:1239 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:177 build/C/man3/getopt.3:369 build/C/man2/mincore.2:144 build/C/man2/pread.2:146 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man2/sysctl.2:135 build/C/man2/truncate.2:248 build/C/man2/vfork.2:252
606 #, no-wrap
607 msgid "BUGS"
608 msgstr ""
609
610 #.  This behavior appears to have been an implementation accident.
611 #. type: Plain text
612 #: build/C/man2/access.2:240
613 msgid ""
614 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
615 "B<X_OK> tests for superuser.  If all categories of execute permission are "
616 "disabled for a nondirectory file, then the only B<access>()  test that "
617 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
618 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
619 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
620 "same way as kernel 2.4."
621 msgstr ""
622
623 #. type: Plain text
624 #: build/C/man2/access.2:251
625 msgid ""
626 "In kernels before 2.6.20, B<access>()  ignored the effect of the "
627 "B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying filesystem.  "
628 "Since kernel 2.6.20, B<access>()  honors this flag."
629 msgstr ""
630
631 #. type: Plain text
632 #: build/C/man2/access.2:262
633 msgid ""
634 "B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), "
635 "B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), "
636 "B<path_resolution>(7)"
637 msgstr ""
638
639 #. type: TH
640 #: build/C/man2/alarm.2:30
641 #, no-wrap
642 msgid "ALARM"
643 msgstr ""
644
645 #. type: TH
646 #: build/C/man2/alarm.2:30 build/C/man3/ualarm.3:24
647 #, no-wrap
648 msgid "2013-04-18"
649 msgstr ""
650
651 #. type: Plain text
652 #: build/C/man2/alarm.2:33
653 msgid "alarm - set an alarm clock for delivery of a signal"
654 msgstr ""
655
656 #. type: Plain text
657 #: build/C/man2/alarm.2:38
658 #, no-wrap
659 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
660 msgstr ""
661
662 #. type: Plain text
663 #: build/C/man2/alarm.2:46
664 msgid ""
665 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
666 "process in I<seconds> seconds."
667 msgstr ""
668
669 #. type: Plain text
670 #: build/C/man2/alarm.2:50
671 msgid "If I<seconds> is zero, any pending alarm is canceled."
672 msgstr ""
673
674 #. type: Plain text
675 #: build/C/man2/alarm.2:54
676 msgid "In any event any previously set B<alarm>()  is canceled."
677 msgstr ""
678
679 #. type: Plain text
680 #: build/C/man2/alarm.2:59
681 msgid ""
682 "B<alarm>()  returns the number of seconds remaining until any previously "
683 "scheduled alarm was due to be delivered, or zero if there was no previously "
684 "scheduled alarm."
685 msgstr ""
686
687 #. type: Plain text
688 #: build/C/man2/alarm.2:61
689 msgid "SVr4, POSIX.1-2001, 4.3BSD."
690 msgstr ""
691
692 #. type: Plain text
693 #: build/C/man2/alarm.2:67
694 msgid ""
695 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
696 "interfere with use of the other."
697 msgstr ""
698
699 #. type: Plain text
700 #: build/C/man2/alarm.2:76
701 msgid ""
702 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
703 "and B<sleep>(3)  is a bad idea."
704 msgstr ""
705
706 #. type: Plain text
707 #: build/C/man2/alarm.2:79
708 msgid ""
709 "Scheduling delays can, as ever, cause the execution of the process to be "
710 "delayed by an arbitrary amount of time."
711 msgstr ""
712
713 #. type: Plain text
714 #: build/C/man2/alarm.2:88
715 msgid ""
716 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
717 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
718 msgstr ""
719
720 #. type: TH
721 #: build/C/man2/brk.2:29
722 #, no-wrap
723 msgid "BRK"
724 msgstr ""
725
726 #. type: TH
727 #: build/C/man2/brk.2:29 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:32 build/C/man3/gethostid.3:29
728 #, no-wrap
729 msgid "2010-09-20"
730 msgstr ""
731
732 #. type: Plain text
733 #: build/C/man2/brk.2:32
734 msgid "brk, sbrk - change data segment size"
735 msgstr ""
736
737 #. type: Plain text
738 #: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 build/C/man2/chown.2:43 build/C/man2/chroot.2:38 build/C/man3/daemon.3:41 build/C/man3/encrypt.3:37 build/C/man3/exec.3:46 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/man3/getdtablesize.3:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:30 build/C/man2/idle.2:37 build/C/man3/lockf.3:33 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:30 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:30 build/C/man2/truncate.2:48 build/C/man2/uselib.2:36 build/C/man2/vfork.2:35 build/C/man2/vhangup.2:33
739 msgid "B<#include E<lt>unistd.hE<gt>>"
740 msgstr ""
741
742 #. type: Plain text
743 #: build/C/man2/brk.2:36
744 msgid "B<int brk(void *>I<addr>B<);>"
745 msgstr ""
746
747 #. type: Plain text
748 #: build/C/man2/brk.2:38
749 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
750 msgstr ""
751
752 #. type: Plain text
753 #: build/C/man2/brk.2:42 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:44 build/C/man3/daemon.3:47 build/C/man3/exec.3:68 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:49 build/C/man2/getdomainname.2:42 build/C/man3/getdtablesize.3:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:69 build/C/man2/getpagesize.2:36 build/C/man3/getusershell.3:47 build/C/man3/lockf.3:39 build/C/man2/mincore.2:47 build/C/man2/nice.2:42 build/C/man2/pread.2:40 build/C/man2/truncate.2:58 build/C/man3/ualarm.3:37 build/C/man3/usleep.3:46 build/C/man2/vfork.2:41 build/C/man2/vhangup.2:39
754 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
755 msgstr ""
756
757 #. type: Plain text
758 #: build/C/man2/brk.2:46
759 msgid "B<brk>(), B<sbrk>():"
760 msgstr ""
761
762 #. type: TP
763 #: build/C/man2/brk.2:49 build/C/man3/getcwd.3:60 build/C/man3/getdtablesize.3:44 build/C/man2/getpagesize.2:42 build/C/man3/ualarm.3:43 build/C/man3/usleep.3:52 build/C/man2/vfork.2:47
764 #, no-wrap
765 msgid "Since glibc 2.12:"
766 msgstr ""
767
768 #. type: Plain text
769 #: build/C/man2/brk.2:56
770 #, no-wrap
771 msgid ""
772 "_BSD_SOURCE || _SVID_SOURCE ||\n"
773 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
774 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
775 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
776 msgstr ""
777
778 #. type: Plain text
779 #: build/C/man2/brk.2:61
780 msgid ""
781 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
782 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
783 msgstr ""
784
785 #. type: Plain text
786 #: build/C/man2/brk.2:76
787 msgid ""
788 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
789 "defines the end of the process's data segment (i.e., the program break is "
790 "the first location after the end of the uninitialized data segment).  "
791 "Increasing the program break has the effect of allocating memory to the "
792 "process; decreasing the break deallocates memory."
793 msgstr ""
794
795 #. type: Plain text
796 #: build/C/man2/brk.2:83
797 msgid ""
798 "B<brk>()  sets the end of the data segment to the value specified by "
799 "I<addr>, when that value is reasonable, the system has enough memory, and "
800 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
801 msgstr ""
802
803 #. type: Plain text
804 #: build/C/man2/brk.2:93
805 msgid ""
806 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
807 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
808 "location of the program break."
809 msgstr ""
810
811 #. type: Plain text
812 #: build/C/man2/brk.2:102
813 msgid ""
814 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
815 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
816 msgstr ""
817
818 #. type: Plain text
819 #: build/C/man2/brk.2:114
820 msgid ""
821 "On success, B<sbrk>()  returns the previous program break.  (If the break "
822 "was increased, then this value is a pointer to the start of the newly "
823 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
824 "is set to B<ENOMEM>."
825 msgstr ""
826
827 #
828 #.  .BR brk ()
829 #.  and
830 #.  .BR sbrk ()
831 #.  are not defined in the C Standard and are deliberately excluded from the
832 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
833 #. type: Plain text
834 #: build/C/man2/brk.2:122
835 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
836 msgstr ""
837
838 #. type: Plain text
839 #: build/C/man2/brk.2:131
840 msgid ""
841 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
842 "package is the portable and comfortable way of allocating memory."
843 msgstr ""
844
845 #.  One sees
846 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
847 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
848 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
849 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
850 #.  Tru64 5.1, glibc2.2).
851 #. type: Plain text
852 #: build/C/man2/brk.2:141
853 msgid ""
854 "Various systems use various types for the argument of B<sbrk>().  Common are "
855 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
856 msgstr ""
857
858 #. type: SS
859 #: build/C/man2/brk.2:141 build/C/man2/vfork.2:213
860 #, no-wrap
861 msgid "Linux notes"
862 msgstr ""
863
864 #. type: Plain text
865 #: build/C/man2/brk.2:157
866 msgid ""
867 "The return value described above for B<brk>()  is the behavior provided by "
868 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
869 "other implementations, the return value from B<brk>()  is the same; this "
870 "return value was also specified in SUSv2.)  However, the actual Linux system "
871 "call returns the new program break on success.  On failure, the system call "
872 "returns the current break.  The glibc wrapper function does some work (i.e., "
873 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
874 "return values described above."
875 msgstr ""
876
877 #. type: Plain text
878 #: build/C/man2/brk.2:164
879 msgid ""
880 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
881 "B<brk>()  system call, and does some internal bookkeeping so that it can "
882 "return the old break value."
883 msgstr ""
884
885 #. type: Plain text
886 #: build/C/man2/brk.2:169
887 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
888 msgstr ""
889
890 #. type: TH
891 #: build/C/man2/chdir.2:33
892 #, no-wrap
893 msgid "CHDIR"
894 msgstr ""
895
896 #. type: TH
897 #: build/C/man2/chdir.2:33
898 #, no-wrap
899 msgid "2010-11-25"
900 msgstr ""
901
902 #. type: Plain text
903 #: build/C/man2/chdir.2:36
904 msgid "chdir, fchdir - change working directory"
905 msgstr ""
906
907 #. type: Plain text
908 #: build/C/man2/chdir.2:40
909 msgid "B<int chdir(const char *>I<path>B<);>"
910 msgstr ""
911
912 #. type: Plain text
913 #: build/C/man2/chdir.2:42
914 msgid "B<int fchdir(int >I<fd>B<);>"
915 msgstr ""
916
917 #. type: Plain text
918 #: build/C/man2/chdir.2:49
919 msgid "B<fchdir>():"
920 msgstr ""
921
922 #. type: Plain text
923 #: 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:66 build/C/man2/truncate.2:74
924 msgid ""
925 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
926 "_XOPEN_SOURCE_EXTENDED"
927 msgstr ""
928
929 #. type: Plain text
930 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:55 build/C/man2/chown.2:64 build/C/man2/pread.2:50 build/C/man2/truncate.2:68
931 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
932 msgstr ""
933
934 #. type: Plain text
935 #: build/C/man2/chdir.2:64
936 msgid ""
937 "B<chdir>()  changes the current working directory of the calling process to "
938 "the directory specified in I<path>."
939 msgstr ""
940
941 #. type: Plain text
942 #: build/C/man2/chdir.2:70
943 msgid ""
944 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
945 "directory is given as an open file descriptor."
946 msgstr ""
947
948 #. type: Plain text
949 #: 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:116 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/swapon.2:113 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:115 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:55
950 msgid ""
951 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
952 "appropriately."
953 msgstr ""
954
955 #. type: Plain text
956 #: build/C/man2/chdir.2:81
957 msgid ""
958 "Depending on the filesystem, other errors can be returned.  The more general "
959 "errors for B<chdir>()  are listed below:"
960 msgstr ""
961
962 #. type: Plain text
963 #: build/C/man2/chdir.2:87
964 msgid ""
965 "Search permission is denied for one of the components of I<path>.  (See also "
966 "B<path_resolution>(7).)"
967 msgstr ""
968
969 #. type: Plain text
970 #: build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chown.2:138 build/C/man2/chroot.2:109
971 msgid "I<path> points outside your accessible address space."
972 msgstr ""
973
974 #. type: Plain text
975 #: build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116
976 msgid "Too many symbolic links were encountered in resolving I<path>."
977 msgstr ""
978
979 #. type: Plain text
980 #: build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chroot.2:120
981 msgid "I<path> is too long."
982 msgstr ""
983
984 #. type: Plain text
985 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123
986 msgid "The file does not exist."
987 msgstr ""
988
989 #. type: Plain text
990 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
991 msgid "A component of I<path> is not a directory."
992 msgstr ""
993
994 #. type: Plain text
995 #: build/C/man2/chdir.2:117
996 msgid "The general errors for B<fchdir>()  are listed below:"
997 msgstr ""
998
999 #. type: Plain text
1000 #: build/C/man2/chdir.2:121
1001 msgid "Search permission was denied on the directory open on I<fd>."
1002 msgstr ""
1003
1004 #. type: TP
1005 #: 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:117 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:93 build/C/man3/lockf.3:130 build/C/man3/tcgetpgrp.3:87 build/C/man2/truncate.2:183
1006 #, no-wrap
1007 msgid "B<EBADF>"
1008 msgstr ""
1009
1010 #. type: Plain text
1011 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:91
1012 msgid "I<fd> is not a valid file descriptor."
1013 msgstr ""
1014
1015 #. type: Plain text
1016 #: build/C/man2/chdir.2:127
1017 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1018 msgstr ""
1019
1020 #. type: Plain text
1021 #: build/C/man2/chdir.2:130
1022 msgid ""
1023 "The current working directory is the starting point for interpreting "
1024 "relative pathnames (those not starting with \\(aq/\\(aq)."
1025 msgstr ""
1026
1027 #. type: Plain text
1028 #: build/C/man2/chdir.2:136
1029 msgid ""
1030 "A child process created via B<fork>(2)  inherits its parent's current "
1031 "working directory.  The current working directory is left unchanged by "
1032 "B<execve>(2)."
1033 msgstr ""
1034
1035 #. type: Plain text
1036 #: build/C/man2/chdir.2:140
1037 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1038 msgstr ""
1039
1040 #. type: TH
1041 #: build/C/man2/chmod.2:31
1042 #, no-wrap
1043 msgid "CHMOD"
1044 msgstr ""
1045
1046 #. type: TH
1047 #: build/C/man2/chmod.2:31 build/C/man2/gethostname.2:32
1048 #, no-wrap
1049 msgid "2010-09-26"
1050 msgstr ""
1051
1052 #. type: Plain text
1053 #: build/C/man2/chmod.2:34
1054 msgid "chmod, fchmod - change permissions of a file"
1055 msgstr ""
1056
1057 #. type: Plain text
1058 #: build/C/man2/chmod.2:36 build/C/man3/getumask.3:37 build/C/man2/umask.2:41
1059 msgid "B<#include E<lt>sys/stat.hE<gt>>"
1060 msgstr ""
1061
1062 #. type: Plain text
1063 #: build/C/man2/chmod.2:38
1064 msgid "B<int chmod(const char *>I<path>B<, mode_t >I<mode>B<);>"
1065 msgstr ""
1066
1067 #. type: Plain text
1068 #: build/C/man2/chmod.2:40
1069 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>"
1070 msgstr ""
1071
1072 #. type: Plain text
1073 #: build/C/man2/chmod.2:49
1074 msgid "B<fchmod>():"
1075 msgstr ""
1076
1077 #. type: Plain text
1078 #: build/C/man2/chmod.2:61
1079 msgid ""
1080 "These system calls change the permissions of a file.  They differ only in "
1081 "how the file is specified:"
1082 msgstr ""
1083
1084 #. type: IP
1085 #: 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:124 build/C/man2/execve.2:128 build/C/man2/execve.2:131 build/C/man2/execve.2:134 build/C/man2/execve.2:137 build/C/man2/execve.2:140 build/C/man2/execve.2:143 build/C/man2/execve.2:146 build/C/man2/execve.2:149 build/C/man2/execve.2:152 build/C/man2/execve.2:156 build/C/man2/execve.2:160 build/C/man2/execve.2:169 build/C/man2/execve.2:176 build/C/man2/execve.2:181 build/C/man2/execve.2:188 build/C/man2/execve.2:195 build/C/man2/execve.2:202 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:216 build/C/man2/execve.2:224 build/C/man2/execve.2:228 build/C/man2/execve.2:233 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:114 build/C/man2/fork.2:120 build/C/man2/fork.2:125 build/C/man2/fork.2:133 build/C/man2/fork.2:142 build/C/man2/fork.2:156 build/C/man2/fork.2:165 build/C/man2/syscalls.2:87 build/C/man2/syscalls.2:90 build/C/man2/syscalls.2:96 build/C/man2/syscalls.2:112 build/C/man2/syscalls.2:118 build/C/man2/syscalls.2:124 build/C/man2/syscalls.2:130 build/C/man2/syscalls.2:137 build/C/man2/syscalls.2:692 build/C/man2/syscalls.2:713 build/C/man2/syscalls.2:724 build/C/man2/syscalls.2:731 build/C/man2/syscalls.2:742 build/C/man2/syscalls.2:754 build/C/man2/syscalls.2:775 build/C/man2/syscalls.2:783 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
1086 #, no-wrap
1087 msgid "*"
1088 msgstr ""
1089
1090 #. type: Plain text
1091 #: build/C/man2/chmod.2:66
1092 msgid ""
1093 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1094 "given in I<path>, which is dereferenced if it is a symbolic link."
1095 msgstr ""
1096
1097 #. type: Plain text
1098 #: build/C/man2/chmod.2:70
1099 msgid ""
1100 "B<fchmod>()  changes the permissions of the file referred to by the open "
1101 "file descriptor I<fd>."
1102 msgstr ""
1103
1104 #. type: Plain text
1105 #: build/C/man2/chmod.2:75
1106 msgid ""
1107 "The new file permissions are specified in I<mode>, which is a bit mask "
1108 "created by ORing together zero or more of the following:"
1109 msgstr ""
1110
1111 #. type: TP
1112 #: build/C/man2/chmod.2:75
1113 #, no-wrap
1114 msgid "B<S_ISUID>  (04000)"
1115 msgstr ""
1116
1117 #. type: Plain text
1118 #: build/C/man2/chmod.2:79
1119 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1120 msgstr ""
1121
1122 #. type: TP
1123 #: build/C/man2/chmod.2:79
1124 #, no-wrap
1125 msgid "B<S_ISGID>  (02000)"
1126 msgstr ""
1127
1128 #. type: Plain text
1129 #: build/C/man2/chmod.2:89
1130 msgid ""
1131 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1132 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1133 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1134 msgstr ""
1135
1136 #. type: TP
1137 #: build/C/man2/chmod.2:89
1138 #, no-wrap
1139 msgid "B<S_ISVTX>  (01000)"
1140 msgstr ""
1141
1142 #. type: Plain text
1143 #: build/C/man2/chmod.2:93
1144 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1145 msgstr ""
1146
1147 #. type: TP
1148 #: build/C/man2/chmod.2:93
1149 #, no-wrap
1150 msgid "B<S_IRUSR>  (00400)"
1151 msgstr ""
1152
1153 #. type: Plain text
1154 #: build/C/man2/chmod.2:96
1155 msgid "read by owner"
1156 msgstr ""
1157
1158 #. type: TP
1159 #: build/C/man2/chmod.2:96
1160 #, no-wrap
1161 msgid "B<S_IWUSR>  (00200)"
1162 msgstr ""
1163
1164 #. type: Plain text
1165 #: build/C/man2/chmod.2:99
1166 msgid "write by owner"
1167 msgstr ""
1168
1169 #. type: TP
1170 #: build/C/man2/chmod.2:99
1171 #, no-wrap
1172 msgid "B<S_IXUSR>  (00100)"
1173 msgstr ""
1174
1175 #. type: Plain text
1176 #: build/C/man2/chmod.2:103
1177 msgid ""
1178 "execute/search by owner (\"search\" applies for directories, and means that "
1179 "entries within the directory can be accessed)"
1180 msgstr ""
1181
1182 #. type: TP
1183 #: build/C/man2/chmod.2:103
1184 #, no-wrap
1185 msgid "B<S_IRGRP>  (00040)"
1186 msgstr ""
1187
1188 #. type: Plain text
1189 #: build/C/man2/chmod.2:106
1190 msgid "read by group"
1191 msgstr ""
1192
1193 #. type: TP
1194 #: build/C/man2/chmod.2:106
1195 #, no-wrap
1196 msgid "B<S_IWGRP>  (00020)"
1197 msgstr ""
1198
1199 #. type: Plain text
1200 #: build/C/man2/chmod.2:109
1201 msgid "write by group"
1202 msgstr ""
1203
1204 #. type: TP
1205 #: build/C/man2/chmod.2:109
1206 #, no-wrap
1207 msgid "B<S_IXGRP>  (00010)"
1208 msgstr ""
1209
1210 #. type: Plain text
1211 #: build/C/man2/chmod.2:112
1212 msgid "execute/search by group"
1213 msgstr ""
1214
1215 #. type: TP
1216 #: build/C/man2/chmod.2:112
1217 #, no-wrap
1218 msgid "B<S_IROTH>  (00004)"
1219 msgstr ""
1220
1221 #. type: Plain text
1222 #: build/C/man2/chmod.2:115
1223 msgid "read by others"
1224 msgstr ""
1225
1226 #. type: TP
1227 #: build/C/man2/chmod.2:115
1228 #, no-wrap
1229 msgid "B<S_IWOTH>  (00002)"
1230 msgstr ""
1231
1232 #. type: Plain text
1233 #: build/C/man2/chmod.2:118
1234 msgid "write by others"
1235 msgstr ""
1236
1237 #. type: TP
1238 #: build/C/man2/chmod.2:118
1239 #, no-wrap
1240 msgid "B<S_IXOTH>  (00001)"
1241 msgstr ""
1242
1243 #. type: Plain text
1244 #: build/C/man2/chmod.2:121
1245 msgid "execute/search by others"
1246 msgstr ""
1247
1248 #. type: Plain text
1249 #: build/C/man2/chmod.2:126
1250 msgid ""
1251 "The effective UID of the calling process must match the owner of the file, "
1252 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1253 "capability)."
1254 msgstr ""
1255
1256 #. type: Plain text
1257 #: build/C/man2/chmod.2:135
1258 msgid ""
1259 "If the calling process is not privileged (Linux: does not have the "
1260 "B<CAP_FSETID> capability), and the group of the file does not match the "
1261 "effective group ID of the process or one of its supplementary group IDs, the "
1262 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1263 "returned."
1264 msgstr ""
1265
1266 #. type: Plain text
1267 #: build/C/man2/chmod.2:147
1268 msgid ""
1269 "As a security measure, depending on the filesystem, the set-user-ID and "
1270 "set-group-ID execution bits may be turned off if a file is written.  (On "
1271 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1272 "capability.)  On some filesystems, only the superuser can set the sticky "
1273 "bit, which may have a special meaning.  For the sticky bit, and for "
1274 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1275 msgstr ""
1276
1277 #. type: Plain text
1278 #: build/C/man2/chmod.2:153
1279 msgid ""
1280 "On NFS filesystems, restricting the permissions will immediately influence "
1281 "already open files, because the access control is done on the server, but "
1282 "open files are maintained by the client.  Widening the permissions may be "
1283 "delayed for other clients if attribute caching is enabled on them."
1284 msgstr ""
1285
1286 #. type: Plain text
1287 #: build/C/man2/chmod.2:163
1288 msgid ""
1289 "Depending on the filesystem, other errors can be returned.  The more general "
1290 "errors for B<chmod>()  are listed below:"
1291 msgstr ""
1292
1293 #.  Also search permission is required on the final component,
1294 #.  maybe just to guarantee that it is a directory?
1295 #. type: Plain text
1296 #: build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105
1297 msgid ""
1298 "Search permission is denied on a component of the path prefix.  (See also "
1299 "B<path_resolution>(7).)"
1300 msgstr ""
1301
1302 #. type: Plain text
1303 #: build/C/man2/chmod.2:192 build/C/man2/chown.2:155 build/C/man2/truncate.2:164
1304 msgid "A component of the path prefix is not a directory."
1305 msgstr ""
1306
1307 #. type: TP
1308 #: 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:437 build/C/man2/execve.2:443 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:101 build/C/man2/mkdir.2:109 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:144 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:164 build/C/man2/vhangup.2:56
1309 #, no-wrap
1310 msgid "B<EPERM>"
1311 msgstr ""
1312
1313 #. type: Plain text
1314 #: build/C/man2/chmod.2:198
1315 msgid ""
1316 "The effective UID does not match the owner of the file, and the process is "
1317 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1318 msgstr ""
1319
1320 #. type: Plain text
1321 #: build/C/man2/chmod.2:201 build/C/man2/chown.2:162 build/C/man2/truncate.2:173
1322 msgid "The named file resides on a read-only filesystem."
1323 msgstr ""
1324
1325 #. type: Plain text
1326 #: build/C/man2/chmod.2:205
1327 msgid "The general errors for B<fchmod>()  are listed below:"
1328 msgstr ""
1329
1330 #. type: Plain text
1331 #: build/C/man2/chmod.2:210
1332 msgid "The file descriptor I<fd> is not valid."
1333 msgstr ""
1334
1335 #. type: Plain text
1336 #: 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
1337 msgid "See above."
1338 msgstr ""
1339
1340 #. type: Plain text
1341 #: build/C/man2/chmod.2:221 build/C/man2/chown.2:183
1342 msgid "4.4BSD, SVr4, POSIX.1-2001."
1343 msgstr ""
1344
1345 #. type: Plain text
1346 #: build/C/man2/chmod.2:228
1347 msgid ""
1348 "B<chown>(2), B<execve>(2), B<fchmodat>(2), B<open>(2), B<stat>(2), "
1349 "B<path_resolution>(7)"
1350 msgstr ""
1351
1352 #. type: TH
1353 #: build/C/man2/chown.2:38
1354 #, no-wrap
1355 msgid "CHOWN"
1356 msgstr ""
1357
1358 #. type: TH
1359 #: build/C/man2/chown.2:38
1360 #, no-wrap
1361 msgid "2010-11-22"
1362 msgstr ""
1363
1364 #. type: Plain text
1365 #: build/C/man2/chown.2:41
1366 msgid "chown, fchown, lchown - change ownership of a file"
1367 msgstr ""
1368
1369 #. type: Plain text
1370 #: build/C/man2/chown.2:45
1371 msgid "B<int chown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1372 msgstr ""
1373
1374 #. type: Plain text
1375 #: build/C/man2/chown.2:47
1376 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1377 msgstr ""
1378
1379 #. type: Plain text
1380 #: build/C/man2/chown.2:49
1381 msgid "B<int lchown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1382 msgstr ""
1383
1384 #. type: Plain text
1385 #: build/C/man2/chown.2:57
1386 msgid "B<fchown>(), B<lchown>():"
1387 msgstr ""
1388
1389 #. type: Plain text
1390 #: build/C/man2/chown.2:70
1391 msgid ""
1392 "These system calls change the owner and group of a file.  They differ only "
1393 "in how the file is specified:"
1394 msgstr ""
1395
1396 #. type: Plain text
1397 #: build/C/man2/chown.2:75
1398 msgid ""
1399 "B<chown>()  changes the ownership of the file specified by I<path>, which is "
1400 "dereferenced if it is a symbolic link."
1401 msgstr ""
1402
1403 #. type: Plain text
1404 #: build/C/man2/chown.2:79
1405 msgid ""
1406 "B<fchown>()  changes the ownership of the file referred to by the open file "
1407 "descriptor I<fd>."
1408 msgstr ""
1409
1410 #. type: Plain text
1411 #: build/C/man2/chown.2:84
1412 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1413 msgstr ""
1414
1415 #. type: Plain text
1416 #: build/C/man2/chown.2:93
1417 msgid ""
1418 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1419 "change the owner of a file.  The owner of a file may change the group of the "
1420 "file to any group of which that owner is a member.  A privileged process "
1421 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1422 msgstr ""
1423
1424 #. type: Plain text
1425 #: build/C/man2/chown.2:99
1426 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1427 msgstr ""
1428
1429 #.  In Linux 2.0 kernels, superuser was like everyone else
1430 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1431 #.  Since 2.2.13, superuser is once more like everyone else.
1432 #. type: Plain text
1433 #: build/C/man2/chown.2:119
1434 msgid ""
1435 "When the owner or group of an executable file are changed by an unprivileged "
1436 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1437 "specify whether this also should happen when root does the B<chown>(); the "
1438 "Linux behavior depends on the kernel version.  In case of a "
1439 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1440 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1441 "B<chown>()."
1442 msgstr ""
1443
1444 #. type: Plain text
1445 #: build/C/man2/chown.2:129
1446 msgid ""
1447 "Depending on the filesystem, other errors can be returned.  The more general "
1448 "errors for B<chown>()  are listed below."
1449 msgstr ""
1450
1451 #. type: Plain text
1452 #: build/C/man2/chown.2:159
1453 msgid ""
1454 "The calling process did not have the required permissions (see above) to "
1455 "change owner and/or group."
1456 msgstr ""
1457
1458 #. type: Plain text
1459 #: build/C/man2/chown.2:166
1460 msgid "The general errors for B<fchown>()  are listed below:"
1461 msgstr ""
1462
1463 #. type: Plain text
1464 #: build/C/man2/chown.2:169
1465 msgid "The descriptor is not valid."
1466 msgstr ""
1467
1468 #. type: Plain text
1469 #: build/C/man2/chown.2:172
1470 msgid "A low-level I/O error occurred while modifying the inode."
1471 msgstr ""
1472
1473 #.  chown():
1474 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1475 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1476 #.  fchown():
1477 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1478 #.  error conditions.
1479 #. type: Plain text
1480 #: build/C/man2/chown.2:192
1481 msgid ""
1482 "The 4.4BSD version can be used only by the superuser (that is, ordinary "
1483 "users cannot give away files)."
1484 msgstr ""
1485
1486 #. type: Plain text
1487 #: build/C/man2/chown.2:211
1488 msgid ""
1489 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1490 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1491 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1492 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1493 "transparently deal with the variations across kernel versions."
1494 msgstr ""
1495
1496 #. type: Plain text
1497 #: build/C/man2/chown.2:233
1498 msgid ""
1499 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1500 "its owner is made the same as the filesystem user ID of the creating "
1501 "process.  The group of the file depends on a range of factors, including the "
1502 "type of filesystem, the options used to mount the filesystem, and whether or "
1503 "not the set-group-ID permission bit is enabled on the parent directory.  If "
1504 "the filesystem supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1505 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1506 "B<mount>(8)  options, then the rules are as follows:"
1507 msgstr ""
1508
1509 #. type: Plain text
1510 #: build/C/man2/chown.2:238
1511 msgid ""
1512 "If the filesystem is mounted with I<-o\\ grpid>, then the group of a new "
1513 "file is made the same as that of the parent directory."
1514 msgstr ""
1515
1516 #. type: Plain text
1517 #: build/C/man2/chown.2:244
1518 msgid ""
1519 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1520 "is disabled on the parent directory, then the group of a new file is made "
1521 "the same as the process's filesystem GID."
1522 msgstr ""
1523
1524 #. type: Plain text
1525 #: build/C/man2/chown.2:250
1526 msgid ""
1527 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1528 "is enabled on the parent directory, then the group of a new file is made the "
1529 "same as that of the parent directory."
1530 msgstr ""
1531
1532 #. type: Plain text
1533 #: build/C/man2/chown.2:260
1534 msgid ""
1535 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1536 "supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
1537 "these mount options follow the I<-o\\ nogrpid> rules."
1538 msgstr ""
1539
1540 #. type: Plain text
1541 #: build/C/man2/chown.2:273
1542 msgid ""
1543 "The B<chown>()  semantics are deliberately violated on NFS filesystems which "
1544 "have UID mapping enabled.  Additionally, the semantics of all system calls "
1545 "which access the file contents are violated, because B<chown>()  may cause "
1546 "immediate access revocation on already open files.  Client side caching may "
1547 "lead to a delay between the time where ownership have been changed to allow "
1548 "access for a user and the time where the file can actually be accessed by "
1549 "the user on other clients."
1550 msgstr ""
1551
1552 #. type: Plain text
1553 #: build/C/man2/chown.2:288
1554 msgid ""
1555 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1556 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1557 "symbolic links, and there is a new system call B<lchown>()  that does not "
1558 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1559 "semantics as the old B<chown>())  has got the same syscall number, and "
1560 "B<chown>()  got the newly introduced number."
1561 msgstr ""
1562
1563 #. type: Plain text
1564 #: build/C/man2/chown.2:297
1565 msgid ""
1566 "The following program changes the ownership of the file named in its second "
1567 "command-line argument to the value specified in its first command-line "
1568 "argument.  The new owner can be specified either as a numeric user ID, or as "
1569 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1570 "perform a lookup in the system password file)."
1571 msgstr ""
1572
1573 #. type: Plain text
1574 #: build/C/man2/chown.2:303
1575 #, no-wrap
1576 msgid ""
1577 "#include E<lt>pwd.hE<gt>\n"
1578 "#include E<lt>stdio.hE<gt>\n"
1579 "#include E<lt>stdlib.hE<gt>\n"
1580 "#include E<lt>unistd.hE<gt>\n"
1581 msgstr ""
1582
1583 #. type: Plain text
1584 #: build/C/man2/chown.2:310
1585 #, no-wrap
1586 msgid ""
1587 "int\n"
1588 "main(int argc, char *argv[])\n"
1589 "{\n"
1590 "    uid_t uid;\n"
1591 "    struct passwd *pwd;\n"
1592 "    char *endptr;\n"
1593 msgstr ""
1594
1595 #. type: Plain text
1596 #: build/C/man2/chown.2:315
1597 #, no-wrap
1598 msgid ""
1599 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
1600 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
1601 "argv[0]);\n"
1602 "        exit(EXIT_FAILURE);\n"
1603 "    }\n"
1604 msgstr ""
1605
1606 #. type: Plain text
1607 #: build/C/man2/chown.2:317
1608 #, no-wrap
1609 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
1610 msgstr ""
1611
1612 #. type: Plain text
1613 #: build/C/man2/chown.2:324
1614 #, no-wrap
1615 msgid ""
1616 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
1617 "*/\n"
1618 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
1619 "        if (pwd == NULL) {\n"
1620 "            perror(\"getpwnam\");\n"
1621 "            exit(EXIT_FAILURE);\n"
1622 "        }\n"
1623 msgstr ""
1624
1625 #. type: Plain text
1626 #: build/C/man2/chown.2:327
1627 #, no-wrap
1628 msgid ""
1629 "        uid = pwd-E<gt>pw_uid;\n"
1630 "    }\n"
1631 msgstr ""
1632
1633 #. type: Plain text
1634 #: build/C/man2/chown.2:332
1635 #, no-wrap
1636 msgid ""
1637 "    if (chown(argv[2], uid, -1) == -1) {\n"
1638 "        perror(\"chown\");\n"
1639 "        exit(EXIT_FAILURE);\n"
1640 "    }\n"
1641 msgstr ""
1642
1643 #. type: Plain text
1644 #: build/C/man2/chown.2:335 build/C/man2/execve.2:565 build/C/man3/getopt.3:428 build/C/man3/getopt.3:513
1645 #, no-wrap
1646 msgid ""
1647 "    exit(EXIT_SUCCESS);\n"
1648 "}\n"
1649 msgstr ""
1650
1651 #. type: Plain text
1652 #: build/C/man2/chown.2:342
1653 msgid ""
1654 "B<chmod>(2), B<fchownat>(2), B<flock>(2), B<path_resolution>(7), "
1655 "B<symlink>(7)"
1656 msgstr ""
1657
1658 #. type: TH
1659 #: build/C/man2/chroot.2:33
1660 #, no-wrap
1661 msgid "CHROOT"
1662 msgstr ""
1663
1664 #. type: Plain text
1665 #: build/C/man2/chroot.2:36
1666 msgid "chroot - change root directory"
1667 msgstr ""
1668
1669 #. type: Plain text
1670 #: build/C/man2/chroot.2:40
1671 msgid "B<int chroot(const char *>I<path>B<);>"
1672 msgstr ""
1673
1674 #. type: Plain text
1675 #: build/C/man2/chroot.2:47
1676 msgid "B<chroot>():"
1677 msgstr ""
1678
1679 #. type: TP
1680 #: build/C/man2/chroot.2:50
1681 #, no-wrap
1682 msgid "Since glibc 2.2.2:"
1683 msgstr ""
1684
1685 #. type: Plain text
1686 #: build/C/man2/chroot.2:57
1687 #, no-wrap
1688 msgid ""
1689 "_BSD_SOURCE ||\n"
1690 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1691 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1692 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1693 msgstr ""
1694
1695 #. type: Plain text
1696 #: build/C/man2/chroot.2:60
1697 msgid "Before glibc 2.2.2: none"
1698 msgstr ""
1699
1700 #. type: Plain text
1701 #: build/C/man2/chroot.2:69
1702 msgid ""
1703 "B<chroot>()  changes the root directory of the calling process to that "
1704 "specified in I<path>.  This directory will be used for pathnames beginning "
1705 "with I</>.  The root directory is inherited by all children of the calling "
1706 "process."
1707 msgstr ""
1708
1709 #. type: Plain text
1710 #: build/C/man2/chroot.2:74
1711 msgid ""
1712 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
1713 "may call B<chroot>()."
1714 msgstr ""
1715
1716 #. type: Plain text
1717 #: build/C/man2/chroot.2:77
1718 msgid ""
1719 "This call changes an ingredient in the pathname resolution process and does "
1720 "nothing else."
1721 msgstr ""
1722
1723 #. type: Plain text
1724 #: build/C/man2/chroot.2:83
1725 msgid ""
1726 "This call does not change the current working directory, so that after the "
1727 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
1728 "particular, the superuser can escape from a \"chroot jail\" by doing:"
1729 msgstr ""
1730
1731 #. type: Plain text
1732 #: build/C/man2/chroot.2:86
1733 #, no-wrap
1734 msgid "    mkdir foo; chroot foo; cd ..\n"
1735 msgstr ""
1736
1737 #. type: Plain text
1738 #: build/C/man2/chroot.2:90
1739 msgid ""
1740 "This call does not close open file descriptors, and such file descriptors "
1741 "may allow access to files outside the chroot tree."
1742 msgstr ""
1743
1744 #. type: Plain text
1745 #: build/C/man2/chroot.2:98
1746 msgid ""
1747 "Depending on the filesystem, other errors can be returned.  The more general "
1748 "errors are listed below:"
1749 msgstr ""
1750
1751 #. type: Plain text
1752 #: build/C/man2/chroot.2:134
1753 msgid "The caller has insufficient privilege."
1754 msgstr ""
1755
1756 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
1757 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
1758 #. type: Plain text
1759 #: build/C/man2/chroot.2:139
1760 msgid ""
1761 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
1762 "POSIX.1-2001."
1763 msgstr ""
1764
1765 #. type: Plain text
1766 #: build/C/man2/chroot.2:145
1767 msgid ""
1768 "A child process created via B<fork>(2)  inherits its parent's root "
1769 "directory.  The root directory is left unchanged by B<execve>(2)."
1770 msgstr ""
1771
1772 #.  FIXME . eventually say something about containers,
1773 #.  virtual servers, etc.?
1774 #. type: Plain text
1775 #: build/C/man2/chroot.2:151
1776 msgid "FreeBSD has a stronger B<jail>()  system call."
1777 msgstr ""
1778
1779 #. type: Plain text
1780 #: build/C/man2/chroot.2:154
1781 msgid "B<chdir>(2), B<path_resolution>(7)"
1782 msgstr ""
1783
1784 #. type: TH
1785 #: build/C/man2/close.2:35
1786 #, no-wrap
1787 msgid "CLOSE"
1788 msgstr ""
1789
1790 #. type: TH
1791 #: build/C/man2/close.2:35
1792 #, no-wrap
1793 msgid "2007-12-28"
1794 msgstr ""
1795
1796 #. type: Plain text
1797 #: build/C/man2/close.2:38
1798 msgid "close - close a file descriptor"
1799 msgstr ""
1800
1801 #. type: Plain text
1802 #: build/C/man2/close.2:43
1803 #, no-wrap
1804 msgid "B<int close(int >I<fd>B<);>\n"
1805 msgstr ""
1806
1807 #. type: Plain text
1808 #: build/C/man2/close.2:53
1809 msgid ""
1810 "B<close>()  closes a file descriptor, so that it no longer refers to any "
1811 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
1812 "file it was associated with, and owned by the process, are removed "
1813 "(regardless of the file descriptor that was used to obtain the lock)."
1814 msgstr ""
1815
1816 #. type: Plain text
1817 #: build/C/man2/close.2:64
1818 msgid ""
1819 "If I<fd> is the last file descriptor referring to the underlying open file "
1820 "description (see B<open>(2)), the resources associated with the open file "
1821 "description are freed; if the descriptor was the last reference to a file "
1822 "which has been removed using B<unlink>(2)  the file is deleted."
1823 msgstr ""
1824
1825 #. type: Plain text
1826 #: build/C/man2/close.2:70
1827 msgid ""
1828 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
1829 "is set appropriately."
1830 msgstr ""
1831
1832 #. type: Plain text
1833 #: build/C/man2/close.2:75
1834 msgid "I<fd> isn't a valid open file descriptor."
1835 msgstr ""
1836
1837 #. type: TP
1838 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1110 build/C/man2/flock.2:121 build/C/man2/truncate.2:133 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:83
1839 #, no-wrap
1840 msgid "B<EINTR>"
1841 msgstr ""
1842
1843 #. type: Plain text
1844 #: build/C/man2/close.2:81
1845 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
1846 msgstr ""
1847
1848 #. type: Plain text
1849 #: build/C/man2/close.2:101
1850 msgid ""
1851 "Not checking the return value of B<close>()  is a common but nevertheless "
1852 "serious programming error.  It is quite possible that errors on a previous "
1853 "B<write>(2)  operation are first reported at the final B<close>().  Not "
1854 "checking the return value when closing the file may lead to silent loss of "
1855 "data.  This can especially be observed with NFS and with disk quota."
1856 msgstr ""
1857
1858 #. type: Plain text
1859 #: build/C/man2/close.2:110
1860 msgid ""
1861 "A successful close does not guarantee that the data has been successfully "
1862 "saved to disk, as the kernel defers writes.  It is not common for a "
1863 "filesystem to flush the buffers when the stream is closed.  If you need to "
1864 "be sure that the data is physically stored use B<fsync>(2).  (It will depend "
1865 "on the disk hardware at this point.)"
1866 msgstr ""
1867
1868 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
1869 #.  From: Fredrik Noring <noring@nocrew.org>
1870 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
1871 #.  in use by a system call is closed and then reused by e.g. an
1872 #.  independent open() in some unrelated thread, before the original system
1873 #.  call has restared after ERESTARTSYS, the original system call will
1874 #.  later restart with the reused file descriptor. This is most likely a
1875 #.  serious programming error.
1876 #. type: Plain text
1877 #: build/C/man2/close.2:125
1878 msgid ""
1879 "It is probably unwise to close file descriptors while they may be in use by "
1880 "system calls in other threads in the same process.  Since a file descriptor "
1881 "may be reused, there are some obscure race conditions that may cause "
1882 "unintended side effects."
1883 msgstr ""
1884
1885 #. type: Plain text
1886 #: build/C/man2/close.2:132
1887 msgid ""
1888 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
1889 "B<fclose>(3)"
1890 msgstr ""
1891
1892 #. type: TH
1893 #: build/C/man3/confstr.3:31
1894 #, no-wrap
1895 msgid "CONFSTR"
1896 msgstr ""
1897
1898 #. type: TH
1899 #: build/C/man3/confstr.3:31
1900 #, no-wrap
1901 msgid "2012-05-10"
1902 msgstr ""
1903
1904 #. type: TH
1905 #: build/C/man3/confstr.3:31 build/C/man3/daemon.3:36 build/C/man3/exec.3:41 build/C/man3/fpathconf.3:41 build/C/man3/get_nprocs_conf.3:26 build/C/man3/getcwd.3:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man3/lockf.3:28 build/C/man3/sleep.3:26 build/C/man3/sysconf.3:27 build/C/man3/tcgetpgrp.3:25
1906 #, no-wrap
1907 msgid "GNU"
1908 msgstr ""
1909
1910 #. type: Plain text
1911 #: build/C/man3/confstr.3:34
1912 msgid "confstr - get configuration dependent string variables"
1913 msgstr ""
1914
1915 #. type: Plain text
1916 #: build/C/man3/confstr.3:39
1917 #, no-wrap
1918 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1919 msgstr ""
1920
1921 #. type: Plain text
1922 #: build/C/man3/confstr.3:48
1923 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
1924 msgstr ""
1925
1926 #. type: Plain text
1927 #: build/C/man3/confstr.3:51
1928 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
1929 msgstr ""
1930
1931 #. type: Plain text
1932 #: build/C/man3/confstr.3:56
1933 msgid ""
1934 "The I<name> argument is the system variable to be queried.  The following "
1935 "variables are supported:"
1936 msgstr ""
1937
1938 #. type: TP
1939 #: build/C/man3/confstr.3:56
1940 #, no-wrap
1941 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
1942 msgstr ""
1943
1944 #. type: Plain text
1945 #: build/C/man3/confstr.3:60
1946 msgid ""
1947 "A string which identifies the GNU C library version on this system (e.g, "
1948 "\"glibc 2.3.4\")."
1949 msgstr ""
1950
1951 #. type: TP
1952 #: build/C/man3/confstr.3:60
1953 #, no-wrap
1954 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
1955 msgstr ""
1956
1957 #. type: Plain text
1958 #: build/C/man3/confstr.3:64
1959 msgid ""
1960 "A string which identifies the POSIX implementation supplied by this C "
1961 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
1962 msgstr ""
1963
1964 #. type: TP
1965 #: build/C/man3/confstr.3:64
1966 #, no-wrap
1967 msgid "B<_CS_PATH>"
1968 msgstr ""
1969
1970 #. type: Plain text
1971 #: build/C/man3/confstr.3:70
1972 msgid ""
1973 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
1974 "standard utilities can be found."
1975 msgstr ""
1976
1977 #. type: Plain text
1978 #: build/C/man3/confstr.3:86
1979 msgid ""
1980 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
1981 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
1982 "null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing "
1983 "the return value of B<confstr>()  against I<len>."
1984 msgstr ""
1985
1986 #. type: Plain text
1987 #: build/C/man3/confstr.3:94
1988 msgid ""
1989 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
1990 "as defined below."
1991 msgstr ""
1992
1993 #. type: Plain text
1994 #: build/C/man3/confstr.3:106
1995 msgid ""
1996 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
1997 "number of bytes (including the terminating null byte)  that would be "
1998 "required to hold the entire value of that variable.  This value may be "
1999 "greater than I<len>, which means that the value in I<buf> is truncated."
2000 msgstr ""
2001
2002 #. type: Plain text
2003 #: build/C/man3/confstr.3:121
2004 msgid ""
2005 "If I<name> is a valid configuration variable, but that variable does not "
2006 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2007 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2008 "set to B<EINVAL>."
2009 msgstr ""
2010
2011 #. type: Plain text
2012 #: build/C/man3/confstr.3:127
2013 msgid "If the value of I<name> is invalid."
2014 msgstr ""
2015
2016 #. type: Plain text
2017 #: build/C/man3/confstr.3:129 build/C/man3/fpathconf.3:171 build/C/man2/pread.2:117 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man3/tcgetpgrp.3:111
2018 msgid "POSIX.1-2001."
2019 msgstr ""
2020
2021 #. type: Plain text
2022 #: build/C/man3/confstr.3:132
2023 msgid ""
2024 "The following code fragment determines the path where to find the POSIX.2 "
2025 "system utilities:"
2026 msgstr ""
2027
2028 #. type: Plain text
2029 #: build/C/man3/confstr.3:138
2030 #, no-wrap
2031 msgid ""
2032 "char *pathbuf;\n"
2033 "size_t n;\n"
2034 msgstr ""
2035
2036 #. type: Plain text
2037 #: build/C/man3/confstr.3:144
2038 #, no-wrap
2039 msgid ""
2040 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2041 "pathbuf = malloc(n);\n"
2042 "if (pathbuf == NULL)\n"
2043 "    abort();\n"
2044 "confstr(_CS_PATH, pathbuf, n);\n"
2045 msgstr ""
2046
2047 #. type: Plain text
2048 #: build/C/man3/confstr.3:150
2049 msgid "B<sh>(1), B<exec>(3), B<system>(3)"
2050 msgstr ""
2051
2052 #. type: TH
2053 #: build/C/man3/crypt.3:36
2054 #, no-wrap
2055 msgid "CRYPT"
2056 msgstr ""
2057
2058 #. type: TH
2059 #: build/C/man3/crypt.3:36 build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
2060 #, no-wrap
2061 msgid "2013-06-21"
2062 msgstr ""
2063
2064 #. type: Plain text
2065 #: build/C/man3/crypt.3:39
2066 msgid "crypt, crypt_r - password and data encryption"
2067 msgstr ""
2068
2069 #. type: Plain text
2070 #: build/C/man3/crypt.3:42
2071 #, no-wrap
2072 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2073 msgstr ""
2074
2075 #. type: Plain text
2076 #: build/C/man3/crypt.3:46
2077 #, no-wrap
2078 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2079 msgstr ""
2080
2081 #. type: Plain text
2082 #: build/C/man3/crypt.3:48
2083 #, no-wrap
2084 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2085 msgstr ""
2086
2087 #. type: Plain text
2088 #: build/C/man3/crypt.3:50
2089 #, no-wrap
2090 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2091 msgstr ""
2092
2093 #. type: Plain text
2094 #: build/C/man3/crypt.3:53
2095 #, no-wrap
2096 msgid ""
2097 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2098 "B<              struct crypt_data *>I<data>B<);>\n"
2099 msgstr ""
2100
2101 #. type: Plain text
2102 #: build/C/man3/crypt.3:56
2103 msgid "Link with I<-lcrypt>."
2104 msgstr ""
2105
2106 #. type: Plain text
2107 #: build/C/man3/crypt.3:62
2108 msgid ""
2109 "B<crypt>()  is the password encryption function.  It is based on the Data "
2110 "Encryption Standard algorithm with variations intended (among other things) "
2111 "to discourage use of hardware implementations of a key search."
2112 msgstr ""
2113
2114 #. type: Plain text
2115 #: build/C/man3/crypt.3:65
2116 msgid "I<key> is a user's typed password."
2117 msgstr ""
2118
2119 #. type: Plain text
2120 #: build/C/man3/crypt.3:71
2121 msgid ""
2122 "I<salt> is a two-character string chosen from the set "
2123 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2124 "algorithm in one of 4096 different ways."
2125 msgstr ""
2126
2127 #. type: Plain text
2128 #: build/C/man3/crypt.3:82
2129 msgid ""
2130 "By taking the lowest 7 bits of each of the first eight characters of the "
2131 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2132 "repeatedly a constant string (usually a string consisting of all zeros).  "
2133 "The returned value points to the encrypted password, a series of 13 "
2134 "printable ASCII characters (the first two characters represent the salt "
2135 "itself).  The return value points to static data whose content is "
2136 "overwritten by each call."
2137 msgstr ""
2138
2139 #. type: Plain text
2140 #: build/C/man3/crypt.3:84
2141 msgid "Warning: The key space consists of"
2142 msgstr ""
2143
2144 #. type: Plain text
2145 #: build/C/man3/crypt.3:99
2146 msgid ""
2147 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2148 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2149 "is available which will search the portion of this key space that is "
2150 "generally used by humans for passwords.  Hence, password selection should, "
2151 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2152 "program that checks for crackable passwords during the selection process is "
2153 "recommended."
2154 msgstr ""
2155
2156 #. type: Plain text
2157 #: build/C/man3/crypt.3:108
2158 msgid ""
2159 "The DES algorithm itself has a few quirks which make the use of the "
2160 "B<crypt>()  interface a very poor choice for anything other than password "
2161 "authentication.  If you are planning on using the B<crypt>()  interface for "
2162 "a cryptography project, don't do it: get a good book on encryption and one "
2163 "of the widely available DES libraries."
2164 msgstr ""
2165
2166 #. type: Plain text
2167 #: build/C/man3/crypt.3:120
2168 msgid ""
2169 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2170 "to by I<data> is used to store result data and bookkeeping information.  "
2171 "Other than allocating it, the only thing that the caller should do with this "
2172 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2173 "to B<crypt_r>()."
2174 msgstr ""
2175
2176 #. type: Plain text
2177 #: build/C/man3/crypt.3:123
2178 msgid ""
2179 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2180 "is returned."
2181 msgstr ""
2182
2183 #. type: TP
2184 #: build/C/man3/crypt.3:124 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:200
2185 #, no-wrap
2186 msgid "B<ENOSYS>"
2187 msgstr ""
2188
2189 #.  This level of detail is not necessary in this man page. . .
2190 #.  .PP
2191 #.  When encrypting a plain text P using DES with the key K results in the
2192 #.  encrypted text C, then the complementary plain text P' being encrypted
2193 #.  using the complementary key K' will result in the complementary encrypted
2194 #.  text C'.
2195 #.  .PP
2196 #.  Weak keys are keys which stay invariant under the DES key transformation.
2197 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2198 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2199 #.  .PP
2200 #.  There are six known half weak key pairs, which keys lead to the same
2201 #.  encrypted data.  Keys which are part of such key clusters should be
2202 #.  avoided.
2203 #.  Sorry, I could not find out what they are.
2204 #. "
2205 #.  .PP
2206 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2207 #.  .I codebook
2208 #.  mode that
2209 #.  .BR crypt ()
2210 #.  implements.  The
2211 #.  .BR crypt ()
2212 #.  interface should be used only for its intended purpose of password
2213 #.  verification, and should not be used as part of a data encryption tool.
2214 #.  .PP
2215 #.  The first and last three output bits of the fourth S-box can be
2216 #.  represented as function of their input bits.  Empiric studies have
2217 #.  shown that S-boxes partially compute the same output for similar input.
2218 #.  It is suspected that this may contain a back door which could allow the
2219 #.  NSA to decrypt DES encrypted data.
2220 #.  .PP
2221 #.  Making encrypted data computed using crypt() publicly available has
2222 #.  to be considered insecure for the given reasons.
2223 #. type: Plain text
2224 #: build/C/man3/crypt.3:163
2225 msgid ""
2226 "The B<crypt>()  function was not implemented, probably because of "
2227 "U.S.A. export restrictions."
2228 msgstr ""
2229
2230 #. type: SH
2231 #: build/C/man3/crypt.3:163 build/C/man3/encrypt.3:124 build/C/man3/getlogin.3:140 build/C/man3/getusershell.3:93
2232 #, no-wrap
2233 msgid "ATTRIBUTES"
2234 msgstr ""
2235
2236 #. type: SS
2237 #: build/C/man3/crypt.3:164 build/C/man3/encrypt.3:125 build/C/man3/getlogin.3:141 build/C/man3/getusershell.3:94
2238 #, no-wrap
2239 msgid "Multithreading (see pthreads(7))"
2240 msgstr ""
2241
2242 #. type: Plain text
2243 #: build/C/man3/crypt.3:168
2244 msgid "The B<crypt>()  function is not thread-safe."
2245 msgstr ""
2246
2247 #. type: Plain text
2248 #: build/C/man3/crypt.3:172
2249 msgid "The B<crypt_r>()  function is thread-safe."
2250 msgstr ""
2251
2252 #. type: Plain text
2253 #: build/C/man3/crypt.3:177
2254 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2255 msgstr ""
2256
2257 #. type: SS
2258 #: build/C/man3/crypt.3:178 build/C/man2/gethostname.2:140
2259 #, no-wrap
2260 msgid "Glibc notes"
2261 msgstr ""
2262
2263 #. type: Plain text
2264 #: build/C/man3/crypt.3:181
2265 msgid ""
2266 "The glibc2 version of this function supports additional encryption "
2267 "algorithms."
2268 msgstr ""
2269
2270 #. type: Plain text
2271 #: build/C/man3/crypt.3:186
2272 msgid ""
2273 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2274 "followed by a string terminated by \"$\":"
2275 msgstr ""
2276
2277 #. type: Plain text
2278 #: build/C/man3/crypt.3:189
2279 msgid "$I<id>$I<salt>$I<encrypted>"
2280 msgstr ""
2281
2282 #. type: Plain text
2283 #: build/C/man3/crypt.3:198
2284 msgid ""
2285 "then instead of using the DES machine, I<id> identifies the encryption "
2286 "method used and this then determines how the rest of the password string is "
2287 "interpreted.  The following values of I<id> are supported:"
2288 msgstr ""
2289
2290 #. type: tbl table
2291 #: build/C/man3/crypt.3:201
2292 #, no-wrap
2293 msgid "ID  | Method\n"
2294 msgstr ""
2295
2296 #. type: tbl table
2297 #: build/C/man3/crypt.3:202 build/C/man2/syscall.2:157 build/C/man2/syscall.2:182
2298 #, no-wrap
2299 msgid "_\n"
2300 msgstr ""
2301
2302 #. type: tbl table
2303 #: build/C/man3/crypt.3:203
2304 #, no-wrap
2305 msgid "1   | MD5\n"
2306 msgstr ""
2307
2308 #. type: tbl table
2309 #: build/C/man3/crypt.3:204
2310 #, no-wrap
2311 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2312 msgstr ""
2313
2314 #. type: tbl table
2315 #: build/C/man3/crypt.3:205
2316 #, no-wrap
2317 msgid "    | Linux distributions)\n"
2318 msgstr ""
2319
2320 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2321 #.  natively by glibc -- mtk, Jul 08
2322 #
2323 #.  md5 | Sun MD5
2324 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2325 #.  if any distros add the support.
2326 #. type: tbl table
2327 #: build/C/man3/crypt.3:212
2328 #, no-wrap
2329 msgid "5   | SHA-256 (since glibc 2.7)\n"
2330 msgstr ""
2331
2332 #. type: tbl table
2333 #: build/C/man3/crypt.3:213
2334 #, no-wrap
2335 msgid "6   | SHA-512 (since glibc 2.7)\n"
2336 msgstr ""
2337
2338 #. type: Plain text
2339 #: build/C/man3/crypt.3:220
2340 msgid ""
2341 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2342 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2343 msgstr ""
2344
2345 #. type: Plain text
2346 #: build/C/man3/crypt.3:225
2347 msgid ""
2348 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2349 "salt.  The encrypted part of the password string is the actual computed "
2350 "password.  The size of this string is fixed:"
2351 msgstr ""
2352
2353 #. type: tbl table
2354 #: build/C/man3/crypt.3:227
2355 #, no-wrap
2356 msgid "MD5     | 22 characters\n"
2357 msgstr ""
2358
2359 #. type: tbl table
2360 #: build/C/man3/crypt.3:228
2361 #, no-wrap
2362 msgid "SHA-256 | 43 characters\n"
2363 msgstr ""
2364
2365 #. type: tbl table
2366 #: build/C/man3/crypt.3:229
2367 #, no-wrap
2368 msgid "SHA-512 | 86 characters\n"
2369 msgstr ""
2370
2371 #. type: Plain text
2372 #: build/C/man3/crypt.3:238
2373 msgid ""
2374 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2375 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2376 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2377 msgstr ""
2378
2379 #. type: Plain text
2380 #: build/C/man3/crypt.3:244
2381 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2382 msgstr ""
2383
2384 #. type: TH
2385 #: build/C/man3/daemon.3:36
2386 #, no-wrap
2387 msgid "DAEMON"
2388 msgstr ""
2389
2390 #. type: TH
2391 #: build/C/man3/daemon.3:36
2392 #, no-wrap
2393 msgid "2009-12-05"
2394 msgstr ""
2395
2396 #. type: Plain text
2397 #: build/C/man3/daemon.3:39
2398 msgid "daemon - run in the background"
2399 msgstr ""
2400
2401 #. type: Plain text
2402 #: build/C/man3/daemon.3:43
2403 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2404 msgstr ""
2405
2406 #. type: Plain text
2407 #: build/C/man3/daemon.3:51
2408 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2409 msgstr ""
2410
2411 #. type: Plain text
2412 #: build/C/man3/daemon.3:56
2413 msgid ""
2414 "The B<daemon>()  function is for programs wishing to detach themselves from "
2415 "the controlling terminal and run in the background as system daemons."
2416 msgstr ""
2417
2418 #. type: Plain text
2419 #: build/C/man3/daemon.3:64
2420 msgid ""
2421 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2422 "working directory to the root directory (\"/\"); otherwise, the current "
2423 "working directory is left unchanged."
2424 msgstr ""
2425
2426 #. type: Plain text
2427 #: build/C/man3/daemon.3:73
2428 msgid ""
2429 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2430 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2431 "these file descriptors."
2432 msgstr ""
2433
2434 #.  not .IR in order not to underline _
2435 #. type: Plain text
2436 #: build/C/man3/daemon.3:91
2437 msgid ""
2438 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2439 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2440 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2441 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2442 "B<setsid>(2)."
2443 msgstr ""
2444
2445 #. type: Plain text
2446 #: build/C/man3/daemon.3:97
2447 msgid ""
2448 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2449 "B<daemon>()  function first appeared in 4.4BSD."
2450 msgstr ""
2451
2452 #. type: Plain text
2453 #: build/C/man3/daemon.3:105
2454 msgid ""
2455 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2456 "not a character device with the expected major and minor numbers.  In this "
2457 "case I<errno> need not be set."
2458 msgstr ""
2459
2460 #. type: Plain text
2461 #: build/C/man3/daemon.3:108
2462 msgid "B<fork>(2), B<setsid>(2)"
2463 msgstr ""
2464
2465 #. type: TH
2466 #: build/C/man3/des_crypt.3:14
2467 #, no-wrap
2468 msgid "DES_CRYPT"
2469 msgstr ""
2470
2471 #. type: TH
2472 #: build/C/man3/des_crypt.3:14
2473 #, no-wrap
2474 msgid "2007-05-18"
2475 msgstr ""
2476
2477 #. type: Plain text
2478 #: build/C/man3/des_crypt.3:18
2479 msgid ""
2480 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2481 "encryption"
2482 msgstr ""
2483
2484 #.  Sun version
2485 #.  .B #include <des_crypt.h>
2486 #. type: Plain text
2487 #: build/C/man3/des_crypt.3:23
2488 #, no-wrap
2489 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2490 msgstr ""
2491
2492 #. type: Plain text
2493 #: build/C/man3/des_crypt.3:26
2494 #, no-wrap
2495 msgid ""
2496 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2497 ">I<datalen>B<,>\n"
2498 "B<              unsigned >I<mode>B<);>\n"
2499 msgstr ""
2500
2501 #. type: Plain text
2502 #: build/C/man3/des_crypt.3:29
2503 #, no-wrap
2504 msgid ""
2505 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2506 ">I<datalen>B<,>\n"
2507 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2508 msgstr ""
2509
2510 #. type: Plain text
2511 #: build/C/man3/des_crypt.3:31
2512 #, no-wrap
2513 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2514 msgstr ""
2515
2516 #. type: Plain text
2517 #: build/C/man3/des_crypt.3:33
2518 #, no-wrap
2519 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2520 msgstr ""
2521
2522 #. type: Plain text
2523 #: build/C/man3/des_crypt.3:63
2524 msgid ""
2525 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2526 "Standard).  These routines are faster and more general purpose than "
2527 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2528 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2529 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2530 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2531 "CBC mode protects against insertions, deletions and substitutions of "
2532 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2533 "text."
2534 msgstr ""
2535
2536 #. type: Plain text
2537 #: build/C/man3/des_crypt.3:106
2538 msgid ""
2539 "Here is how to use these routines.  The first argument, I<key>, is the "
2540 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2541 "is in the low bit of each byte, use B<des_setparity>().  The second "
2542 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2543 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2544 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2545 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2546 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2547 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2548 "hardware, then the encryption is performed in software and the routine "
2549 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2550 "the 8-byte initialization vector for the chaining.  It is updated to the "
2551 "next initialization vector upon return."
2552 msgstr ""
2553
2554 #. type: TP
2555 #: build/C/man3/des_crypt.3:108
2556 #, no-wrap
2557 msgid "B<DESERR_NONE>"
2558 msgstr ""
2559
2560 #. type: Plain text
2561 #: build/C/man3/des_crypt.3:111
2562 msgid "No error."
2563 msgstr ""
2564
2565 #. type: TP
2566 #: build/C/man3/des_crypt.3:111
2567 #, no-wrap
2568 msgid "B<DESERR_NOHWDEVICE>"
2569 msgstr ""
2570
2571 #. type: Plain text
2572 #: build/C/man3/des_crypt.3:114
2573 msgid ""
2574 "Encryption succeeded, but done in software instead of the requested "
2575 "hardware."
2576 msgstr ""
2577
2578 #. type: TP
2579 #: build/C/man3/des_crypt.3:114
2580 #, no-wrap
2581 msgid "B<DESERR_HWERROR>"
2582 msgstr ""
2583
2584 #. type: Plain text
2585 #: build/C/man3/des_crypt.3:117
2586 msgid "An error occurred in the hardware or driver."
2587 msgstr ""
2588
2589 #. type: TP
2590 #: build/C/man3/des_crypt.3:117
2591 #, no-wrap
2592 msgid "B<DESERR_BADPARAM>"
2593 msgstr ""
2594
2595 #. type: Plain text
2596 #: build/C/man3/des_crypt.3:120
2597 msgid "Bad argument to routine."
2598 msgstr ""
2599
2600 #.  .BR DES_FAILED\c
2601 #.  .BR ( stat )
2602 #.  So far the Sun page
2603 #.  Some additions - aeb
2604 #. type: Plain text
2605 #: build/C/man3/des_crypt.3:131
2606 msgid ""
2607 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
2608 "only for the first two statuses."
2609 msgstr ""
2610
2611 #. type: SH
2612 #: build/C/man3/des_crypt.3:131 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:69 build/C/man3/exec.3:195 build/C/man2/exit_group.2:41 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:42 build/C/man2/gettid.2:54 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:60
2613 #, no-wrap
2614 msgid "VERSIONS"
2615 msgstr ""
2616
2617 #. type: Plain text
2618 #: build/C/man3/des_crypt.3:134
2619 msgid ""
2620 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
2621 "later."
2622 msgstr ""
2623
2624 #. type: Plain text
2625 #: build/C/man3/des_crypt.3:137
2626 msgid "4.3BSD.  Not in POSIX.1-2001."
2627 msgstr ""
2628
2629 #. type: Plain text
2630 #: build/C/man3/des_crypt.3:141
2631 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
2632 msgstr ""
2633
2634 #. type: TH
2635 #: build/C/man2/dup.2:36
2636 #, no-wrap
2637 msgid "DUP"
2638 msgstr ""
2639
2640 #. type: TH
2641 #: build/C/man2/dup.2:36
2642 #, no-wrap
2643 msgid "2012-02-14"
2644 msgstr ""
2645
2646 #. type: Plain text
2647 #: build/C/man2/dup.2:39
2648 msgid "dup, dup2, dup3 - duplicate a file descriptor"
2649 msgstr ""
2650
2651 #. type: Plain text
2652 #: build/C/man2/dup.2:45
2653 #, no-wrap
2654 msgid ""
2655 "B<int dup(int >I<oldfd>B<);>\n"
2656 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
2657 msgstr ""
2658
2659 #. type: Plain text
2660 #: build/C/man2/dup.2:49
2661 #, no-wrap
2662 msgid ""
2663 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
2664 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
2665 "definitions */\n"
2666 "B<#include E<lt>unistd.hE<gt>>\n"
2667 msgstr ""
2668
2669 #. type: Plain text
2670 #: build/C/man2/dup.2:51
2671 #, no-wrap
2672 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
2673 msgstr ""
2674
2675 #. type: Plain text
2676 #: build/C/man2/dup.2:55
2677 msgid "These system calls create a copy of the file descriptor I<oldfd>."
2678 msgstr ""
2679
2680 #. type: Plain text
2681 #: build/C/man2/dup.2:58
2682 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
2683 msgstr ""
2684
2685 #. type: Plain text
2686 #: build/C/man2/dup.2:62
2687 msgid ""
2688 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
2689 "necessary, but note the following:"
2690 msgstr ""
2691
2692 #. type: Plain text
2693 #: build/C/man2/dup.2:68
2694 msgid ""
2695 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
2696 "I<newfd> is not closed."
2697 msgstr ""
2698
2699 #. type: Plain text
2700 #: build/C/man2/dup.2:79
2701 msgid ""
2702 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
2703 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
2704 msgstr ""
2705
2706 #. type: Plain text
2707 #: build/C/man2/dup.2:88
2708 msgid ""
2709 "After a successful return from one of these system calls, the old and new "
2710 "file descriptors may be used interchangeably.  They refer to the same open "
2711 "file description (see B<open>(2))  and thus share file offset and file "
2712 "status flags; for example, if the file offset is modified by using "
2713 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
2714 "other."
2715 msgstr ""
2716
2717 #. type: Plain text
2718 #: build/C/man2/dup.2:96
2719 msgid ""
2720 "The two descriptors do not share file descriptor flags (the close-on-exec "
2721 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
2722 "duplicate descriptor is off."
2723 msgstr ""
2724
2725 #. type: Plain text
2726 #: build/C/man2/dup.2:101
2727 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
2728 msgstr ""
2729
2730 #. type: Plain text
2731 #: build/C/man2/dup.2:110
2732 msgid ""
2733 "The caller can force the close-on-exec flag to be set for the new file "
2734 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
2735 "the same flag in B<open>(2)  for reasons why this may be useful."
2736 msgstr ""
2737
2738 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2739 #. type: Plain text
2740 #: build/C/man2/dup.2:120
2741 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
2742 msgstr ""
2743
2744 #. type: Plain text
2745 #: build/C/man2/dup.2:126
2746 msgid ""
2747 "On success, these system calls return the new descriptor.  On error, -1 is "
2748 "returned, and I<errno> is set appropriately."
2749 msgstr ""
2750
2751 #. type: Plain text
2752 #: build/C/man2/dup.2:133
2753 msgid ""
2754 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
2755 "range for file descriptors."
2756 msgstr ""
2757
2758 #. type: TP
2759 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
2760 #, no-wrap
2761 msgid "B<EBUSY>"
2762 msgstr ""
2763
2764 #. type: Plain text
2765 #: build/C/man2/dup.2:143
2766 msgid ""
2767 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
2768 "condition with B<open>(2)  and B<dup>()."
2769 msgstr ""
2770
2771 #. type: Plain text
2772 #: build/C/man2/dup.2:151
2773 msgid ""
2774 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
2775 "B<signal>(7)."
2776 msgstr ""
2777
2778 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2779 #. type: Plain text
2780 #: build/C/man2/dup.2:161
2781 msgid ""
2782 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
2783 "I<newfd>."
2784 msgstr ""
2785
2786 #. type: TP
2787 #: build/C/man2/dup.2:161 build/C/man2/execve.2:408 build/C/man2/fcntl.2:1132 build/C/man3/getlogin.3:105
2788 #, no-wrap
2789 msgid "B<EMFILE>"
2790 msgstr ""
2791
2792 #. type: Plain text
2793 #: build/C/man2/dup.2:165
2794 msgid ""
2795 "The process already has the maximum number of file descriptors open and "
2796 "tried to open a new one."
2797 msgstr ""
2798
2799 #. type: Plain text
2800 #: build/C/man2/dup.2:170
2801 msgid ""
2802 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
2803 "starting with version 2.9."
2804 msgstr ""
2805
2806 #. type: Plain text
2807 #: build/C/man2/dup.2:174
2808 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
2809 msgstr ""
2810
2811 #.  SVr4 documents additional
2812 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
2813 #.  The EBUSY return is Linux-specific.
2814 #. type: Plain text
2815 #: build/C/man2/dup.2:180
2816 msgid "B<dup3>()  is Linux-specific."
2817 msgstr ""
2818
2819 #. type: Plain text
2820 #: build/C/man2/dup.2:194
2821 msgid ""
2822 "The error returned by B<dup2>()  is different from that returned by "
2823 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
2824 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
2825 msgstr ""
2826
2827 #. type: Plain text
2828 #: build/C/man2/dup.2:207
2829 msgid ""
2830 "If I<newfd> was open, any errors that would have been reported at "
2831 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
2832 "B<dup3>()  without closing I<newfd> first."
2833 msgstr ""
2834
2835 #. type: Plain text
2836 #: build/C/man2/dup.2:211
2837 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
2838 msgstr ""
2839
2840 #. type: TH
2841 #: build/C/man3/encrypt.3:30
2842 #, no-wrap
2843 msgid "ENCRYPT"
2844 msgstr ""
2845
2846 #. type: TH
2847 #: build/C/man3/encrypt.3:30
2848 #, no-wrap
2849 msgid "2013-07-22"
2850 msgstr ""
2851
2852 #. type: Plain text
2853 #: build/C/man3/encrypt.3:33
2854 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
2855 msgstr ""
2856
2857 #. type: Plain text
2858 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
2859 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
2860 msgstr ""
2861
2862 #. type: Plain text
2863 #: build/C/man3/encrypt.3:39
2864 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
2865 msgstr ""
2866
2867 #. type: Plain text
2868 #: build/C/man3/encrypt.3:43
2869 msgid "B<#include E<lt>stdlib.hE<gt>>"
2870 msgstr ""
2871
2872 #. type: Plain text
2873 #: build/C/man3/encrypt.3:45
2874 msgid "B<void setkey(const char *>I<key>B<);>"
2875 msgstr ""
2876
2877 #. type: Plain text
2878 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
2879 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
2880 msgstr ""
2881
2882 #. type: Plain text
2883 #: build/C/man3/encrypt.3:49
2884 msgid "B<#include E<lt>crypt.hE<gt>>"
2885 msgstr ""
2886
2887 #. type: Plain text
2888 #: build/C/man3/encrypt.3:51
2889 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
2890 msgstr ""
2891
2892 #. type: Plain text
2893 #: build/C/man3/encrypt.3:54
2894 msgid ""
2895 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
2896 "*>I<data>B<);>"
2897 msgstr ""
2898
2899 #. type: Plain text
2900 #: build/C/man3/encrypt.3:56
2901 msgid "Each of these requires linking with I<-lcrypt>."
2902 msgstr ""
2903
2904 #. type: Plain text
2905 #: build/C/man3/encrypt.3:68
2906 msgid ""
2907 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
2908 "function sets the key used by B<encrypt>().  The I<key> argument used here "
2909 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
2910 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
2911 "56 bits."
2912 msgstr ""
2913
2914 #. type: Plain text
2915 #: build/C/man3/encrypt.3:80
2916 msgid ""
2917 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
2918 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
2919 "I<block> is a bit vector representation of the actual value that is "
2920 "encoded.  The result is returned in that same vector."
2921 msgstr ""
2922
2923 #. type: Plain text
2924 #: build/C/man3/encrypt.3:90
2925 msgid ""
2926 "These two functions are not reentrant, that is, the key data is kept in "
2927 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
2928 "reentrant versions.  They use the following structure to hold the key data:"
2929 msgstr ""
2930
2931 #. type: Plain text
2932 #: build/C/man3/encrypt.3:105
2933 #, no-wrap
2934 msgid ""
2935 "struct crypt_data {\n"
2936 "    char     keysched[16 * 8];\n"
2937 "    char     sb0[32768];\n"
2938 "    char     sb1[32768];\n"
2939 "    char     sb2[32768];\n"
2940 "    char     sb3[32768];\n"
2941 "    char     crypt_3_buf[14];\n"
2942 "    char     current_salt[2];\n"
2943 "    long int current_saltbits;\n"
2944 "    int      direction;\n"
2945 "    int      initialized;\n"
2946 "};\n"
2947 msgstr ""
2948
2949 #. type: Plain text
2950 #: build/C/man3/encrypt.3:113
2951 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
2952 msgstr ""
2953
2954 #. type: Plain text
2955 #: build/C/man3/encrypt.3:115
2956 msgid "These functions do not return any value."
2957 msgstr ""
2958
2959 #. type: Plain text
2960 #: build/C/man3/encrypt.3:120
2961 msgid ""
2962 "Set I<errno> to zero before calling the above functions.  On success, it is "
2963 "unchanged."
2964 msgstr ""
2965
2966 #. type: Plain text
2967 #: build/C/man3/encrypt.3:124
2968 msgid ""
2969 "The function is not provided.  (For example because of former USA export "
2970 "restrictions.)"
2971 msgstr ""
2972
2973 #. type: Plain text
2974 #: build/C/man3/encrypt.3:131
2975 msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
2976 msgstr ""
2977
2978 #. type: Plain text
2979 #: build/C/man3/encrypt.3:137
2980 msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
2981 msgstr ""
2982
2983 #. type: Plain text
2984 #: build/C/man3/encrypt.3:148
2985 msgid ""
2986 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
2987 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
2988 "extensions."
2989 msgstr ""
2990
2991 #. type: Plain text
2992 #: build/C/man3/encrypt.3:150
2993 msgid "In glibc 2.2 these functions use the DES algorithm."
2994 msgstr ""
2995
2996 #. type: Plain text
2997 #: build/C/man3/encrypt.3:157
2998 msgid ""
2999 "You need to link with libcrypt to compile this example with glibc.  To do "
3000 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
3001 "bit pattern."
3002 msgstr ""
3003
3004 #. type: Plain text
3005 #: build/C/man3/encrypt.3:162
3006 #, no-wrap
3007 msgid ""
3008 "#define _XOPEN_SOURCE\n"
3009 "#include E<lt>unistd.hE<gt>\n"
3010 "#include E<lt>stdlib.hE<gt>\n"
3011 msgstr ""
3012
3013 #. type: Plain text
3014 #: build/C/man3/encrypt.3:168
3015 #, no-wrap
3016 msgid ""
3017 "int\n"
3018 "main(void)\n"
3019 "{\n"
3020 "    char key[64];      /* bit pattern for key */\n"
3021 "    char txt[64];      /* bit pattern for messages */\n"
3022 msgstr ""
3023
3024 #. type: Plain text
3025 #: build/C/man3/encrypt.3:173
3026 #, no-wrap
3027 msgid ""
3028 "    setkey(key);\n"
3029 "    encrypt(txt, 0);   /* encode */\n"
3030 "    encrypt(txt, 1);   /* decode */\n"
3031 "}\n"
3032 msgstr ""
3033
3034 #.  .BR fcrypt (3)
3035 #. type: Plain text
3036 #: build/C/man3/encrypt.3:179
3037 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3038 msgstr ""
3039
3040 #. type: TH
3041 #: build/C/man7/environ.7:34
3042 #, no-wrap
3043 msgid "ENVIRON"
3044 msgstr ""
3045
3046 #. type: TH
3047 #: build/C/man7/environ.7:34
3048 #, no-wrap
3049 msgid "2009-07-25"
3050 msgstr ""
3051
3052 #. type: Plain text
3053 #: build/C/man7/environ.7:37
3054 msgid "environ - user environment"
3055 msgstr ""
3056
3057 #. type: Plain text
3058 #: build/C/man7/environ.7:40
3059 #, no-wrap
3060 msgid "B<extern char **>I<environ>B<;>\n"
3061 msgstr ""
3062
3063 #. type: Plain text
3064 #: build/C/man7/environ.7:57
3065 msgid ""
3066 "The variable I<environ> points to an array of pointers to strings called the "
3067 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3068 "variable must be declared in the user program, but is declared in the header "
3069 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3070 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3071 "This array of strings is made available to the process by the B<exec>(3)  "
3072 "call that started the process."
3073 msgstr ""
3074
3075 #. type: Plain text
3076 #: build/C/man7/environ.7:62
3077 msgid ""
3078 "By convention the strings in I<environ> have the form "
3079 "\"I<name>B<=>I<value>\".  Common examples are:"
3080 msgstr ""
3081
3082 #. type: TP
3083 #: build/C/man7/environ.7:62
3084 #, no-wrap
3085 msgid "B<USER>"
3086 msgstr ""
3087
3088 #. type: Plain text
3089 #: build/C/man7/environ.7:65
3090 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3091 msgstr ""
3092
3093 #. type: TP
3094 #: build/C/man7/environ.7:65
3095 #, no-wrap
3096 msgid "B<LOGNAME>"
3097 msgstr ""
3098
3099 #. type: Plain text
3100 #: build/C/man7/environ.7:68
3101 msgid "The name of the logged-in user (used by some System-V derived programs)."
3102 msgstr ""
3103
3104 #. type: TP
3105 #: build/C/man7/environ.7:68
3106 #, no-wrap
3107 msgid "B<HOME>"
3108 msgstr ""
3109
3110 #. type: Plain text
3111 #: build/C/man7/environ.7:74
3112 msgid ""
3113 "A user's login directory, set by B<login>(1)  from the password file "
3114 "B<passwd>(5)."
3115 msgstr ""
3116
3117 #. type: TP
3118 #: build/C/man7/environ.7:74
3119 #, no-wrap
3120 msgid "B<LANG>"
3121 msgstr ""
3122
3123 #. type: Plain text
3124 #: build/C/man7/environ.7:88
3125 msgid ""
3126 "The name of a locale to use for locale categories when not overridden by "
3127 "B<LC_ALL> or more specific environment variables like B<LC_COLLATE>, "
3128 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME>, cf.  "
3129 "B<locale>(5)."
3130 msgstr ""
3131
3132 #. type: TP
3133 #: build/C/man7/environ.7:88
3134 #, no-wrap
3135 msgid "B<PATH>"
3136 msgstr ""
3137
3138 #. type: Plain text
3139 #: build/C/man7/environ.7:103
3140 msgid ""
3141 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3142 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3143 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3144 "shells to find the target of a change directory command, B<MANPATH> used by "
3145 "B<man>(1)  to find manual pages, and so on)"
3146 msgstr ""
3147
3148 #. type: TP
3149 #: build/C/man7/environ.7:103
3150 #, no-wrap
3151 msgid "B<PWD>"
3152 msgstr ""
3153
3154 #. type: Plain text
3155 #: build/C/man7/environ.7:107
3156 msgid "The current working directory.  Set by some shells."
3157 msgstr ""
3158
3159 #. type: TP
3160 #: build/C/man7/environ.7:107
3161 #, no-wrap
3162 msgid "B<SHELL>"
3163 msgstr ""
3164
3165 #. type: Plain text
3166 #: build/C/man7/environ.7:110
3167 msgid "The pathname of the user's login shell."
3168 msgstr ""
3169
3170 #. type: TP
3171 #: build/C/man7/environ.7:110
3172 #, no-wrap
3173 msgid "B<TERM>"
3174 msgstr ""
3175
3176 #. type: Plain text
3177 #: build/C/man7/environ.7:113
3178 msgid "The terminal type for which output is to be prepared."
3179 msgstr ""
3180
3181 #. type: TP
3182 #: build/C/man7/environ.7:113
3183 #, no-wrap
3184 msgid "B<PAGER>"
3185 msgstr ""
3186
3187 #. type: Plain text
3188 #: build/C/man7/environ.7:116
3189 msgid "The user's preferred utility to display text files."
3190 msgstr ""
3191
3192 #. type: TP
3193 #: build/C/man7/environ.7:116
3194 #, no-wrap
3195 msgid "B<EDITOR>/B<VISUAL>"
3196 msgstr ""
3197
3198 #.  .TP
3199 #.  .B BROWSER
3200 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3201 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3202 #. type: Plain text
3203 #: build/C/man7/environ.7:123
3204 msgid "The user's preferred utility to edit text files."
3205 msgstr ""
3206
3207 #. type: Plain text
3208 #: build/C/man7/environ.7:141
3209 msgid ""
3210 "Further names may be placed in the environment by the I<export> command and "
3211 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3212 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3213 "an B<exec>(3).  A C program can manipulate its environment using the "
3214 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3215 msgstr ""
3216
3217 #. type: Plain text
3218 #: build/C/man7/environ.7:145
3219 msgid ""
3220 "Note that the behavior of many programs and library routines is influenced "
3221 "by the presence or value of certain environment variables.  A random "
3222 "collection:"
3223 msgstr ""
3224
3225 #. type: Plain text
3226 #: build/C/man7/environ.7:151
3227 msgid ""
3228 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3229 "B<LC_MESSAGES>, etc. influence locale handling, cf.  B<locale>(5)."
3230 msgstr ""
3231
3232 #. type: Plain text
3233 #: build/C/man7/environ.7:158
3234 msgid ""
3235 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3236 "other routines, the temporary directory used by B<sort>(1)  and other "
3237 "programs, etc."
3238 msgstr ""
3239
3240 #. type: Plain text
3241 #: build/C/man7/environ.7:162
3242 msgid ""
3243 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3244 "behavior of the dynamic loader/linker."
3245 msgstr ""
3246
3247 #. type: Plain text
3248 #: build/C/man7/environ.7:166
3249 msgid ""
3250 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3251 "prescriptions of POSIX."
3252 msgstr ""
3253
3254 #. type: Plain text
3255 #: build/C/man7/environ.7:172
3256 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3257 msgstr ""
3258
3259 #. type: Plain text
3260 #: build/C/man7/environ.7:178
3261 msgid ""
3262 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3263 "be used with B<gethostbyname>(3)."
3264 msgstr ""
3265
3266 #. type: Plain text
3267 #: build/C/man7/environ.7:189
3268 msgid ""
3269 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3270 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3271 "B<strftime>(3).  See also B<tzselect>(8)."
3272 msgstr ""
3273
3274 #. type: Plain text
3275 #: build/C/man7/environ.7:193
3276 msgid ""
3277 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3278 "the name of a file containing such information)."
3279 msgstr ""
3280
3281 #. type: Plain text
3282 #: build/C/man7/environ.7:196
3283 msgid ""
3284 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3285 "overriding the actual size."
3286 msgstr ""
3287
3288 #. type: Plain text
3289 #: build/C/man7/environ.7:201
3290 msgid ""
3291 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3292 "B<lpr>(1)."
3293 msgstr ""
3294
3295 #. type: Plain text
3296 #: build/C/man7/environ.7:203
3297 msgid "Etc."
3298 msgstr ""
3299
3300 #. type: Plain text
3301 #: build/C/man7/environ.7:208
3302 msgid ""
3303 "Clearly there is a security risk here.  Many a system command has been "
3304 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3305 "B<LD_LIBRARY_PATH>."
3306 msgstr ""
3307
3308 #. type: Plain text
3309 #: build/C/man7/environ.7:241
3310 msgid ""
3311 "There is also the risk of name space pollution.  Programs like I<make> and "
3312 "I<autoconf> allow overriding of default utility names from the environment "
3313 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3314 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3315 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3316 "environment variable gives options for the program instead of a pathname.  "
3317 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3318 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3319 "consider renaming their option to B<GZIP_OPT>."
3320 msgstr ""
3321
3322 #. type: Plain text
3323 #: build/C/man7/environ.7:255
3324 msgid ""
3325 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3326 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3327 "B<unsetenv>(3), B<locale>(5)"
3328 msgstr ""
3329
3330 #. type: TH
3331 #: build/C/man3/euidaccess.3:25
3332 #, no-wrap
3333 msgid "EUIDACCESS"
3334 msgstr ""
3335
3336 #. type: TH
3337 #: build/C/man3/euidaccess.3:25 build/C/man3/getopt.3:41
3338 #, no-wrap
3339 msgid "2010-11-01"
3340 msgstr ""
3341
3342 #. type: Plain text
3343 #: build/C/man3/euidaccess.3:28
3344 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3345 msgstr ""
3346
3347 #. type: Plain text
3348 #: build/C/man3/euidaccess.3:32
3349 #, no-wrap
3350 msgid ""
3351 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3352 "B<#include E<lt>unistd.hE<gt>>\n"
3353 msgstr ""
3354
3355 #. type: Plain text
3356 #: build/C/man3/euidaccess.3:35
3357 #, no-wrap
3358 msgid ""
3359 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3360 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3361 msgstr ""
3362
3363 #. type: Plain text
3364 #: build/C/man3/euidaccess.3:47
3365 msgid ""
3366 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3367 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3368 "performs checks using the real user and group identifiers of the process, "
3369 "B<euidaccess>()  uses the effective identifiers."
3370 msgstr ""
3371
3372 #. type: Plain text
3373 #: build/C/man3/euidaccess.3:53
3374 msgid ""
3375 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK> and "
3376 "B<F_OK>, with the same meanings as for B<access>(2)."
3377 msgstr ""
3378
3379 #. type: Plain text
3380 #: build/C/man3/euidaccess.3:58
3381 msgid ""
3382 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3383 "with some other systems."
3384 msgstr ""
3385
3386 #. type: Plain text
3387 #: build/C/man3/euidaccess.3:66
3388 msgid ""
3389 "On success (all requested permissions granted), zero is returned.  On error "
3390 "(at least one bit in I<mode> asked for a permission that is denied, or some "
3391 "other error occurred), -1 is returned, and I<errno> is set appropriately."
3392 msgstr ""
3393
3394 #. type: Plain text
3395 #: build/C/man3/euidaccess.3:69
3396 msgid "As for B<access>(2)."
3397 msgstr ""
3398
3399 #. type: Plain text
3400 #: build/C/man3/euidaccess.3:73
3401 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3402 msgstr ""
3403
3404 #.  e.g., FreeBSD 6.1.
3405 #. type: Plain text
3406 #: build/C/man3/euidaccess.3:79
3407 msgid ""
3408 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3409 "function."
3410 msgstr ""
3411
3412 #. type: Plain text
3413 #: build/C/man3/euidaccess.3:86
3414 msgid ""
3415 "I<Warning>: Using this function to check a process's permissions on a file "
3416 "before performing some operation based on that information leads to race "
3417 "conditions: the file permissions may change between the two steps.  "
3418 "Generally, it is safer just to attempt the desired operation and handle any "
3419 "permission error that occurs."
3420 msgstr ""
3421
3422 #. type: Plain text
3423 #: build/C/man3/euidaccess.3:94
3424 msgid ""
3425 "This function always dereferences symbolic links.  If you need to check the "
3426 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
3427 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3428 msgstr ""
3429
3430 #. type: Plain text
3431 #: build/C/man3/euidaccess.3:105
3432 msgid ""
3433 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3434 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3435 "B<path_resolution>(7)"
3436 msgstr ""
3437
3438 #. type: TH
3439 #: build/C/man3/exec.3:41
3440 #, no-wrap
3441 msgid "EXEC"
3442 msgstr ""
3443
3444 #. type: TH
3445 #: build/C/man3/exec.3:41
3446 #, no-wrap
3447 msgid "2010-09-25"
3448 msgstr ""
3449
3450 #. type: Plain text
3451 #: build/C/man3/exec.3:44
3452 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3453 msgstr ""
3454
3455 #. type: Plain text
3456 #: build/C/man3/exec.3:48
3457 msgid "B<extern char **environ;>"
3458 msgstr ""
3459
3460 #. type: Plain text
3461 #: build/C/man3/exec.3:50
3462 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3463 msgstr ""
3464
3465 #. type: Plain text
3466 #: build/C/man3/exec.3:52
3467 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3468 msgstr ""
3469
3470 #. type: Plain text
3471 #: build/C/man3/exec.3:54
3472 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3473 msgstr ""
3474
3475 #. type: Plain text
3476 #: build/C/man3/exec.3:56
3477 msgid "B< ..., char * const >I<envp>B<[]);>"
3478 msgstr ""
3479
3480 #. type: Plain text
3481 #: build/C/man3/exec.3:58
3482 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3483 msgstr ""
3484
3485 #. type: Plain text
3486 #: build/C/man3/exec.3:60
3487 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3488 msgstr ""
3489
3490 #. type: Plain text
3491 #: build/C/man3/exec.3:62
3492 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3493 msgstr ""
3494
3495 #. type: Plain text
3496 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
3497 msgid "B< char *const >I<envp>B<[]);>"
3498 msgstr ""
3499
3500 #. type: Plain text
3501 #: build/C/man3/exec.3:72
3502 msgid "B<execvpe>(): _GNU_SOURCE"
3503 msgstr ""
3504
3505 #. type: Plain text
3506 #: build/C/man3/exec.3:82
3507 msgid ""
3508 "The B<exec>()  family of functions replaces the current process image with a "
3509 "new process image.  The functions described in this manual page are "
3510 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3511 "further details about the replacement of the current process image.)"
3512 msgstr ""
3513
3514 #. type: Plain text
3515 #: build/C/man3/exec.3:85
3516 msgid ""
3517 "The initial argument for these functions is the name of a file that is to be "
3518 "executed."
3519 msgstr ""
3520
3521 #. type: Plain text
3522 #: build/C/man3/exec.3:107
3523 msgid ""
3524 "The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
3525 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3526 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3527 "pointers to null-terminated strings that represent the argument list "
3528 "available to the executed program.  The first argument, by convention, "
3529 "should point to the filename associated with the file being executed.  The "
3530 "list of arguments I<must> be terminated by a NULL pointer, and, since these "
3531 "are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
3532 msgstr ""
3533
3534 #. type: Plain text
3535 #: build/C/man3/exec.3:120
3536 msgid ""
3537 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3538 "pointers to null-terminated strings that represent the argument list "
3539 "available to the new program.  The first argument, by convention, should "
3540 "point to the filename associated with the file being executed.  The array of "
3541 "pointers I<must> be terminated by a NULL pointer."
3542 msgstr ""
3543
3544 #. type: Plain text
3545 #: build/C/man3/exec.3:137
3546 msgid ""
3547 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3548 "environment of the executed program via the argument I<envp>.  The I<envp> "
3549 "argument is an array of pointers to null-terminated strings and I<must> be "
3550 "terminated by a NULL pointer.  The other functions take the environment for "
3551 "the new process image from the external variable I<environ> in the calling "
3552 "process."
3553 msgstr ""
3554
3555 #. type: SS
3556 #: build/C/man3/exec.3:137
3557 #, no-wrap
3558 msgid "Special semantics for execlp() and execvp()"
3559 msgstr ""
3560
3561 #. type: Plain text
3562 #: build/C/man3/exec.3:157
3563 msgid ""
3564 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
3565 "actions of the shell in searching for an executable file if the specified "
3566 "filename does not contain a slash (/) character.  The file is sought in the "
3567 "colon-separated list of directory pathnames specified in the B<PATH> "
3568 "environment variable.  If this variable isn't defined, the path list "
3569 "defaults to the current directory followed by the list of directories "
3570 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
3571 "returns the value \"/bin:/usr/bin\".)"
3572 msgstr ""
3573
3574 #. type: Plain text
3575 #: build/C/man3/exec.3:161
3576 msgid ""
3577 "If the specified filename includes a slash character, then B<PATH> is "
3578 "ignored, and the file at the specified pathname is executed."
3579 msgstr ""
3580
3581 #. type: Plain text
3582 #: build/C/man3/exec.3:163
3583 msgid "In addition, certain errors are treated specially."
3584 msgstr ""
3585
3586 #. type: Plain text
3587 #: build/C/man3/exec.3:174
3588 msgid ""
3589 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
3590 "the error B<EACCES>), these functions will continue searching the rest of "
3591 "the search path.  If no other file is found, however, they will return with "
3592 "I<errno> set to B<EACCES>."
3593 msgstr ""
3594
3595 #. type: Plain text
3596 #: build/C/man3/exec.3:183
3597 msgid ""
3598 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
3599 "with the error B<ENOEXEC>), these functions will execute the shell "
3600 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
3601 "attempt fails, no further searching is done.)"
3602 msgstr ""
3603
3604 #. type: Plain text
3605 #: build/C/man3/exec.3:190
3606 msgid ""
3607 "The B<exec>()  functions return only if an error has occurred.  The return "
3608 "value is -1, and I<errno> is set to indicate the error."
3609 msgstr ""
3610
3611 #. type: Plain text
3612 #: build/C/man3/exec.3:195
3613 msgid ""
3614 "All of these functions may fail and set I<errno> for any of the errors "
3615 "specified for B<execve>(2)."
3616 msgstr ""
3617
3618 #. type: Plain text
3619 #: build/C/man3/exec.3:199
3620 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
3621 msgstr ""
3622
3623 #. type: Plain text
3624 #: build/C/man3/exec.3:201
3625 msgid "POSIX.1-2001, POSIX.1-2008."
3626 msgstr ""
3627
3628 #. type: Plain text
3629 #: build/C/man3/exec.3:205
3630 msgid "The B<execvpe>()  function is a GNU extension."
3631 msgstr ""
3632
3633 #. type: Plain text
3634 #: build/C/man3/exec.3:215
3635 msgid ""
3636 "On some other systems, the default path (used when the environment does not "
3637 "contain the variable B<PATH>) has the current working directory listed after "
3638 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
3639 "the traditional \"current directory first\" default path."
3640 msgstr ""
3641
3642 #. type: Plain text
3643 #: build/C/man3/exec.3:229
3644 msgid ""
3645 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
3646 "attempting to execute the file is historic practice, but has not "
3647 "traditionally been documented and is not specified by the POSIX standard.  "
3648 "BSD (and possibly other systems) do an automatic sleep and retry if "
3649 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
3650 "immediately."
3651 msgstr ""
3652
3653 #. type: Plain text
3654 #: build/C/man3/exec.3:241
3655 msgid ""
3656 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
3657 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
3658 "which they returned.  They now return if any error other than the ones "
3659 "described above occurs."
3660 msgstr ""
3661
3662 #. type: Plain text
3663 #: build/C/man3/exec.3:248
3664 msgid ""
3665 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
3666 "B<environ>(7)"
3667 msgstr ""
3668
3669 #. type: TH
3670 #: build/C/man2/execve.2:37
3671 #, no-wrap
3672 msgid "EXECVE"
3673 msgstr ""
3674
3675 #. type: TH
3676 #: build/C/man2/execve.2:37
3677 #, no-wrap
3678 msgid "2013-07-04"
3679 msgstr ""
3680
3681 #. type: Plain text
3682 #: build/C/man2/execve.2:40
3683 msgid "execve - execute program"
3684 msgstr ""
3685
3686 #. type: Plain text
3687 #: build/C/man2/execve.2:44
3688 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
3689 msgstr ""
3690
3691 #. type: Plain text
3692 #: build/C/man2/execve.2:51
3693 msgid ""
3694 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
3695 "must be either a binary executable, or a script starting with a line of the "
3696 "form:"
3697 msgstr ""
3698
3699 #. type: Plain text
3700 #: build/C/man2/execve.2:55 build/C/man2/execve.2:267
3701 #, no-wrap
3702 msgid "B<#!> I<interpreter >[optional-arg]\n"
3703 msgstr ""
3704
3705 #. type: Plain text
3706 #: build/C/man2/execve.2:59
3707 msgid "For details of the latter case, see \"Interpreter scripts\" below."
3708 msgstr ""
3709
3710 #. type: Plain text
3711 #: build/C/man2/execve.2:68
3712 msgid ""
3713 "I<argv> is an array of argument strings passed to the new program.  By "
3714 "convention, the first of these strings should contain the filename "
3715 "associated with the file being executed.  I<envp> is an array of strings, "
3716 "conventionally of the form B<key=value>, which are passed as environment to "
3717 "the new program.  Both I<argv> and I<envp> must be terminated by a NULL "
3718 "pointer.  The argument vector and environment can be accessed by the called "
3719 "program's main function, when it is defined as:"
3720 msgstr ""
3721
3722 #. type: Plain text
3723 #: build/C/man2/execve.2:72
3724 #, no-wrap
3725 msgid "int main(int argc, char *argv[], char *envp[])\n"
3726 msgstr ""
3727
3728 #. type: Plain text
3729 #: build/C/man2/execve.2:79
3730 msgid ""
3731 "B<execve>()  does not return on success, and the text, data, bss, and stack "
3732 "of the calling process are overwritten by that of the program loaded."
3733 msgstr ""
3734
3735 #. type: Plain text
3736 #: build/C/man2/execve.2:83
3737 msgid ""
3738 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
3739 "successful B<execve>()."
3740 msgstr ""
3741
3742 #. type: Plain text
3743 #: build/C/man2/execve.2:98
3744 msgid ""
3745 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
3746 "and the underlying filesystem is not mounted I<nosuid> (the B<MS_NOSUID> "
3747 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
3748 "the effective user ID of the calling process is changed to that of the owner "
3749 "of the program file.  Similarly, when the set-group-ID bit of the program "
3750 "file is set the effective group ID of the calling process is set to the "
3751 "group of the program file."
3752 msgstr ""
3753
3754 #. type: Plain text
3755 #: build/C/man2/execve.2:103
3756 msgid ""
3757 "The effective user ID of the process is copied to the saved set-user-ID; "
3758 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
3759 "copying takes place after any effective ID changes that occur because of the "
3760 "set-user-ID and set-group-ID permission bits."
3761 msgstr ""
3762
3763 #. type: Plain text
3764 #: build/C/man2/execve.2:111
3765 msgid ""
3766 "If the executable is an a.out dynamically linked binary executable "
3767 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
3768 "called at the start of execution to bring needed shared libraries into "
3769 "memory and link the executable with them."
3770 msgstr ""
3771
3772 #. type: Plain text
3773 #: build/C/man2/execve.2:120
3774 msgid ""
3775 "If the executable is a dynamically linked ELF executable, the interpreter "
3776 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
3777 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
3778 "glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
3779 "typically I</lib/ld-linux.so.1>.)"
3780 msgstr ""
3781
3782 #. type: Plain text
3783 #: build/C/man2/execve.2:124
3784 msgid ""
3785 "All process attributes are preserved during an B<execve>(), except the "
3786 "following:"
3787 msgstr ""
3788
3789 #. type: Plain text
3790 #: build/C/man2/execve.2:128
3791 msgid ""
3792 "The dispositions of any signals that are being caught are reset to the "
3793 "default (B<signal>(7))."
3794 msgstr ""
3795
3796 #. type: Plain text
3797 #: build/C/man2/execve.2:131
3798 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
3799 msgstr ""
3800
3801 #. type: Plain text
3802 #: build/C/man2/execve.2:134
3803 msgid "Memory mappings are not preserved (B<mmap>(2))."
3804 msgstr ""
3805
3806 #. type: Plain text
3807 #: build/C/man2/execve.2:137
3808 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
3809 msgstr ""
3810
3811 #. type: Plain text
3812 #: build/C/man2/execve.2:140
3813 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
3814 msgstr ""
3815
3816 #. type: Plain text
3817 #: build/C/man2/execve.2:143
3818 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
3819 msgstr ""
3820
3821 #. type: Plain text
3822 #: build/C/man2/execve.2:146
3823 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
3824 msgstr ""
3825
3826 #. type: Plain text
3827 #: build/C/man2/execve.2:149
3828 msgid "POSIX timers are not preserved (B<timer_create>(2))."
3829 msgstr ""
3830
3831 #. type: Plain text
3832 #: build/C/man2/execve.2:152
3833 msgid "Any open directory streams are closed (B<opendir>(3))."
3834 msgstr ""
3835
3836 #. type: Plain text
3837 #: build/C/man2/execve.2:156
3838 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
3839 msgstr ""
3840
3841 #. type: Plain text
3842 #: build/C/man2/execve.2:160
3843 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
3844 msgstr ""
3845
3846 #. type: Plain text
3847 #: build/C/man2/execve.2:163
3848 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
3849 msgstr ""
3850
3851 #. type: Plain text
3852 #: build/C/man2/execve.2:169
3853 msgid ""
3854 "The process attributes in the preceding list are all specified in "
3855 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
3856 "preserved during an B<execve>():"
3857 msgstr ""
3858
3859 #. type: Plain text
3860 #: build/C/man2/execve.2:176
3861 msgid ""
3862 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
3863 "set-group ID program is being executed, in which case it is cleared."
3864 msgstr ""
3865
3866 #. type: Plain text
3867 #: build/C/man2/execve.2:181
3868 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
3869 msgstr ""
3870
3871 #. type: Plain text
3872 #: build/C/man2/execve.2:188
3873 msgid ""
3874 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
3875 "being executed, then the parent death signal set by B<prctl>(2)  "
3876 "B<PR_SET_PDEATHSIG> flag is cleared."
3877 msgstr ""
3878
3879 #. type: Plain text
3880 #: build/C/man2/execve.2:195
3881 msgid ""
3882 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
3883 "I<ps\\ -o comm>), is reset to the name of the new executable file."
3884 msgstr ""
3885
3886 #. type: Plain text
3887 #: build/C/man2/execve.2:202
3888 msgid ""
3889 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
3890 "B<capabilities>(7)."
3891 msgstr ""
3892
3893 #. type: Plain text
3894 #: build/C/man2/execve.2:207
3895 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
3896 msgstr ""
3897
3898 #. type: Plain text
3899 #: build/C/man2/execve.2:209 build/C/man2/fork.2:133
3900 msgid "Note the following further points:"
3901 msgstr ""
3902
3903 #. type: Plain text
3904 #: build/C/man2/execve.2:213
3905 msgid ""
3906 "All threads other than the calling thread are destroyed during an "
3907 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
3908 "not preserved."
3909 msgstr ""
3910
3911 #. type: Plain text
3912 #: build/C/man2/execve.2:216
3913 msgid ""
3914 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
3915 "start-up."
3916 msgstr ""
3917
3918 #. type: Plain text
3919 #: build/C/man2/execve.2:224
3920 msgid ""
3921 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
3922 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
3923 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
3924 "the disposition unchanged or reset it to the default; Linux does the former."
3925 msgstr ""
3926
3927 #. type: Plain text
3928 #: build/C/man2/execve.2:228
3929 msgid ""
3930 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
3931 "B<aio_write>(3))."
3932 msgstr ""
3933
3934 #. type: Plain text
3935 #: build/C/man2/execve.2:233
3936 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
3937 msgstr ""
3938
3939 #.  On Linux it appears that these file descriptors are
3940 #.  always open after an execve(), and it looks like
3941 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
3942 #. type: Plain text
3943 #: build/C/man2/execve.2:260
3944 msgid ""
3945 "By default, file descriptors remain open across an B<execve>().  File "
3946 "descriptors that are marked close-on-exec are closed; see the description of "
3947 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
3948 "cause the release of all record locks obtained on the underlying file by "
3949 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
3950 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
3951 "B<execve>(), and the process would gain privilege because the set-user_ID or "
3952 "set-group_ID permission bit was set on the executed file, then the system "
3953 "may open an unspecified file for each of these file descriptors.  As a "
3954 "general principle, no portable program, whether privileged or not, can "
3955 "assume that these three file descriptors will remain closed across an "
3956 "B<execve>()."
3957 msgstr ""
3958
3959 #. type: SS
3960 #: build/C/man2/execve.2:260
3961 #, no-wrap
3962 msgid "Interpreter scripts"
3963 msgstr ""
3964
3965 #. type: Plain text
3966 #: build/C/man2/execve.2:263
3967 msgid ""
3968 "An interpreter script is a text file that has execute permission enabled and "
3969 "whose first line is of the form:"
3970 msgstr ""
3971
3972 #. type: Plain text
3973 #: build/C/man2/execve.2:281
3974 msgid ""
3975 "The I<interpreter> must be a valid pathname for an executable which is not "
3976 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
3977 "interpreter script, then I<interpreter> will be invoked with the following "
3978 "arguments:"
3979 msgstr ""
3980
3981 #. type: Plain text
3982 #: build/C/man2/execve.2:285
3983 #, no-wrap
3984 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
3985 msgstr ""
3986
3987 #. type: Plain text
3988 #: build/C/man2/execve.2:294
3989 msgid ""
3990 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
3991 "B<execve>()."
3992 msgstr ""
3993
3994 #. type: Plain text
3995 #: build/C/man2/execve.2:299
3996 msgid ""
3997 "For portable use, I<optional-arg> should either be absent, or be specified "
3998 "as a single word (i.e., it should not contain white space); see NOTES below."
3999 msgstr ""
4000
4001 #. type: SS
4002 #: build/C/man2/execve.2:299
4003 #, no-wrap
4004 msgid "Limits on size of arguments and environment"
4005 msgstr ""
4006
4007 #. type: Plain text
4008 #: build/C/man2/execve.2:312
4009 msgid ""
4010 "Most UNIX implementations impose some limit on the total size of the "
4011 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
4012 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
4013 "this limit using the B<ARG_MAX> constant (either defined in "
4014 "I<E<lt>limits.hE<gt>> or available at run time using the call "
4015 "I<sysconf(_SC_ARG_MAX)>)."
4016 msgstr ""
4017
4018 #. type: Plain text
4019 #: build/C/man2/execve.2:319
4020 msgid ""
4021 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
4022 "and argument strings was limited to 32 pages (defined by the kernel constant "
4023 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
4024 "maximum size of 128 kB."
4025 msgstr ""
4026
4027 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
4028 #.  2.6.25, see:
4029 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
4030 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
4031 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
4032 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
4033 #.  Ollie: That doesn't include the lists of pointers, though,
4034 #.  so the actual usage is a bit higher (1 pointer per argument).
4035 #. type: Plain text
4036 #: build/C/man2/execve.2:355
4037 msgid ""
4038 "On kernel 2.6.23 and later, most architectures support a size limit derived "
4039 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
4040 "in force at the time of the B<execve>()  call.  (Architectures with no "
4041 "memory management unit are excepted: they maintain the limit that was in "
4042 "effect before kernel 2.6.23.)  This change allows programs to have a much "
4043 "larger argument and/or environment list.  For these architectures, the total "
4044 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
4045 "ensures that the new program always has some stack space.)  Since Linux "
4046 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
4047 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
4048 "have at least as much argument and environment space as was provided by "
4049 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
4050 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
4051 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
4052 "0x7FFFFFFF."
4053 msgstr ""
4054
4055 #. type: Plain text
4056 #: build/C/man2/execve.2:361
4057 msgid ""
4058 "On success, B<execve>()  does not return, on error -1 is returned, and "
4059 "I<errno> is set appropriately."
4060 msgstr ""
4061
4062 #. type: TP
4063 #: build/C/man2/execve.2:362
4064 #, no-wrap
4065 msgid "B<E2BIG>"
4066 msgstr ""
4067
4068 #. type: Plain text
4069 #: build/C/man2/execve.2:369
4070 msgid ""
4071 "The total number of bytes in the environment (I<envp>)  and argument list "
4072 "(I<argv>)  is too large."
4073 msgstr ""
4074
4075 #. type: Plain text
4076 #: build/C/man2/execve.2:376
4077 msgid ""
4078 "Search permission is denied on a component of the path prefix of I<filename> "
4079 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4080 msgstr ""
4081
4082 #. type: Plain text
4083 #: build/C/man2/execve.2:379
4084 msgid "The file or a script interpreter is not a regular file."
4085 msgstr ""
4086
4087 #. type: Plain text
4088 #: build/C/man2/execve.2:382
4089 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4090 msgstr ""
4091
4092 #. type: Plain text
4093 #: build/C/man2/execve.2:386
4094 msgid "The filesystem is mounted I<noexec>."
4095 msgstr ""
4096
4097 #. type: Plain text
4098 #: build/C/man2/execve.2:390
4099 msgid "I<filename> points outside your accessible address space."
4100 msgstr ""
4101
4102 #. type: Plain text
4103 #: build/C/man2/execve.2:394
4104 msgid ""
4105 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4106 "more than one interpreter)."
4107 msgstr ""
4108
4109 #. type: TP
4110 #: build/C/man2/execve.2:397 build/C/man2/truncate.2:148
4111 #, no-wrap
4112 msgid "B<EISDIR>"
4113 msgstr ""
4114
4115 #. type: Plain text
4116 #: build/C/man2/execve.2:400
4117 msgid "An ELF interpreter was a directory."
4118 msgstr ""
4119
4120 #. type: TP
4121 #: build/C/man2/execve.2:400
4122 #, no-wrap
4123 msgid "B<ELIBBAD>"
4124 msgstr ""
4125
4126 #. type: Plain text
4127 #: build/C/man2/execve.2:403
4128 msgid "An ELF interpreter was not in a recognized format."
4129 msgstr ""
4130
4131 #. type: Plain text
4132 #: build/C/man2/execve.2:408
4133 msgid ""
4134 "Too many symbolic links were encountered in resolving I<filename> or the "
4135 "name of a script or ELF interpreter."
4136 msgstr ""
4137
4138 #. type: Plain text
4139 #: build/C/man2/execve.2:411
4140 msgid "The process has the maximum number of files open."
4141 msgstr ""
4142
4143 #. type: Plain text
4144 #: build/C/man2/execve.2:415
4145 msgid "I<filename> is too long."
4146 msgstr ""
4147
4148 #. type: TP
4149 #: build/C/man2/execve.2:415 build/C/man3/getlogin.3:108 build/C/man2/swapon.2:133 build/C/man2/uselib.2:67
4150 #, no-wrap
4151 msgid "B<ENFILE>"
4152 msgstr ""
4153
4154 #. type: Plain text
4155 #: build/C/man2/execve.2:418 build/C/man2/swapon.2:136 build/C/man2/uselib.2:70
4156 msgid "The system limit on the total number of open files has been reached."
4157 msgstr ""
4158
4159 #. type: Plain text
4160 #: build/C/man2/execve.2:424
4161 msgid ""
4162 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4163 "shared library needed for file or interpreter cannot be found."
4164 msgstr ""
4165
4166 #. type: TP
4167 #: build/C/man2/execve.2:424 build/C/man2/uselib.2:70
4168 #, no-wrap
4169 msgid "B<ENOEXEC>"
4170 msgstr ""
4171
4172 #. type: Plain text
4173 #: build/C/man2/execve.2:429
4174 msgid ""
4175 "An executable is not in a recognized format, is for the wrong architecture, "
4176 "or has some other format error that means it cannot be executed."
4177 msgstr ""
4178
4179 #. type: Plain text
4180 #: build/C/man2/execve.2:437
4181 msgid ""
4182 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4183 "is not a directory."
4184 msgstr ""
4185
4186 #. type: Plain text
4187 #: build/C/man2/execve.2:443
4188 msgid ""
4189 "The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
4190 "file has the set-user-ID or set-group-ID bit set."
4191 msgstr ""
4192
4193 #. type: Plain text
4194 #: build/C/man2/execve.2:447
4195 msgid ""
4196 "The process is being traced, the user is not the superuser and the file has "
4197 "the set-user-ID or set-group-ID bit set."
4198 msgstr ""
4199
4200 #. type: Plain text
4201 #: build/C/man2/execve.2:450
4202 msgid "Executable was open for writing by one or more processes."
4203 msgstr ""
4204
4205 #.  SVr4 documents additional error
4206 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4207 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4208 #.  EISDIR or ELIBBAD error conditions.
4209 #. type: Plain text
4210 #: build/C/man2/execve.2:458
4211 msgid ""
4212 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4213 "but is otherwise compatible."
4214 msgstr ""
4215
4216 #. type: Plain text
4217 #: build/C/man2/execve.2:461
4218 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4219 msgstr ""
4220
4221 #. type: Plain text
4222 #: build/C/man2/execve.2:463
4223 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4224 msgstr ""
4225
4226 #. type: Plain text
4227 #: build/C/man2/execve.2:474
4228 msgid ""
4229 "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
4230 "versions: some will refuse execution of set-user-ID and set-group-ID "
4231 "executables when this would give the user powers she did not have already "
4232 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4233 "set-group-ID bits and B<exec>()  successfully."
4234 msgstr ""
4235
4236 #. type: Plain text
4237 #: build/C/man2/execve.2:477
4238 msgid ""
4239 "A maximum line length of 127 characters is allowed for the first line in a "
4240 "#! executable shell script."
4241 msgstr ""
4242
4243 #.  e.g., Solaris 8
4244 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4245 #. type: Plain text
4246 #: build/C/man2/execve.2:496
4247 msgid ""
4248 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4249 "across implementations.  On Linux, the entire string following the "
4250 "I<interpreter> name is passed as a single argument to the interpreter, and "
4251 "this string can include white space.  However, behavior differs on some "
4252 "other systems.  Some systems use the first white space to terminate "
4253 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4254 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4255 "arguments."
4256 msgstr ""
4257
4258 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4259 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4260 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4261 #.  Bug rejected (because fix would constitute an ABI change).
4262 #. type: Plain text
4263 #: build/C/man2/execve.2:513
4264 msgid ""
4265 "On Linux, either I<argv> or I<envp> can be specified as NULL, which has the "
4266 "same effect as specifying these arguments as a pointer to a list containing "
4267 "a single NULL pointer.  B<Do not take advantage of this misfeature!> It is "
4268 "nonstandard and nonportable: on most other UNIX systems doing this will "
4269 "result in an error (B<EFAULT>)."
4270 msgstr ""
4271
4272 #
4273 #.  .SH BUGS
4274 #.  Some Linux versions have failed to check permissions on ELF
4275 #.  interpreters.  This is a security hole, because it allows users to
4276 #.  open any file, such as a rewinding tape device, for reading.  Some
4277 #.  Linux versions have also had other security holes in
4278 #.  .BR execve ()
4279 #.  that could be exploited for denial of service by a suitably crafted
4280 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4281 #. type: Plain text
4282 #: build/C/man2/execve.2:533
4283 msgid ""
4284 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4285 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4286 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4287 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4288 "for holding command-line arguments and environment variables has changed."
4289 msgstr ""
4290
4291 #. type: SS
4292 #: build/C/man2/execve.2:533
4293 #, no-wrap
4294 msgid "Historical"
4295 msgstr ""
4296
4297 #. type: Plain text
4298 #: build/C/man2/execve.2:544
4299 msgid ""
4300 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4301 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4302 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4303 "NULL."
4304 msgstr ""
4305
4306 #. type: Plain text
4307 #: build/C/man2/execve.2:547
4308 msgid ""
4309 "The following program is designed to be execed by the second program below.  "
4310 "It just echoes its command-line one per line."
4311 msgstr ""
4312
4313 #. type: Plain text
4314 #: build/C/man2/execve.2:551
4315 #, no-wrap
4316 msgid "/* myecho.c */\n"
4317 msgstr ""
4318
4319 #. type: Plain text
4320 #: build/C/man2/execve.2:554
4321 #, no-wrap
4322 msgid ""
4323 "#include E<lt>stdio.hE<gt>\n"
4324 "#include E<lt>stdlib.hE<gt>\n"
4325 msgstr ""
4326
4327 #. type: Plain text
4328 #: build/C/man2/execve.2:559
4329 #, no-wrap
4330 msgid ""
4331 "int\n"
4332 "main(int argc, char *argv[])\n"
4333 "{\n"
4334 "    int j;\n"
4335 msgstr ""
4336
4337 #. type: Plain text
4338 #: build/C/man2/execve.2:562
4339 #, no-wrap
4340 msgid ""
4341 "    for (j = 0; j E<lt> argc; j++)\n"
4342 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4343 msgstr ""
4344
4345 #. type: Plain text
4346 #: build/C/man2/execve.2:570
4347 msgid ""
4348 "This program can be used to exec the program named in its command-line "
4349 "argument:"
4350 msgstr ""
4351
4352 #. type: Plain text
4353 #: build/C/man2/execve.2:574
4354 #, no-wrap
4355 msgid "/* execve.c */\n"
4356 msgstr ""
4357
4358 #. type: Plain text
4359 #: build/C/man2/execve.2:578
4360 #, no-wrap
4361 msgid ""
4362 "#include E<lt>stdio.hE<gt>\n"
4363 "#include E<lt>stdlib.hE<gt>\n"
4364 "#include E<lt>unistd.hE<gt>\n"
4365 msgstr ""
4366
4367 #. type: Plain text
4368 #: build/C/man2/execve.2:584
4369 #, no-wrap
4370 msgid ""
4371 "int\n"
4372 "main(int argc, char *argv[])\n"
4373 "{\n"
4374 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4375 "    char *newenviron[] = { NULL };\n"
4376 msgstr ""
4377
4378 #. type: Plain text
4379 #: build/C/man2/execve.2:589
4380 #, no-wrap
4381 msgid ""
4382 "    if (argc != 2) {\n"
4383 "\tfprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4384 "\texit(EXIT_FAILURE);\n"
4385 "    }\n"
4386 msgstr ""
4387
4388 #. type: Plain text
4389 #: build/C/man2/execve.2:591
4390 #, no-wrap
4391 msgid "    newargv[0] = argv[1];\n"
4392 msgstr ""
4393
4394 #. type: Plain text
4395 #: build/C/man2/execve.2:596
4396 #, no-wrap
4397 msgid ""
4398 "    execve(argv[1], newargv, newenviron);\n"
4399 "    perror(\"execve\");   /* execve() only returns on error */\n"
4400 "    exit(EXIT_FAILURE);\n"
4401 "}\n"
4402 msgstr ""
4403
4404 #. type: Plain text
4405 #: build/C/man2/execve.2:600
4406 msgid "We can use the second program to exec the first as follows:"
4407 msgstr ""
4408
4409 #. type: Plain text
4410 #: build/C/man2/execve.2:609
4411 #, no-wrap
4412 msgid ""
4413 "$B< cc myecho.c -o myecho>\n"
4414 "$B< cc execve.c -o execve>\n"
4415 "$B< ./execve ./myecho>\n"
4416 "argv[0]: ./myecho\n"
4417 "argv[1]: hello\n"
4418 "argv[2]: world\n"
4419 msgstr ""
4420
4421 #. type: Plain text
4422 #: build/C/man2/execve.2:617
4423 msgid ""
4424 "We can also use these programs to demonstrate the use of a script "
4425 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4426 "I<myecho> program:"
4427 msgstr ""
4428
4429 #. type: Plain text
4430 #: build/C/man2/execve.2:624
4431 #, no-wrap
4432 msgid ""
4433 "$B< cat E<gt> script.sh>\n"
4434 "B<#! ./myecho script-arg>\n"
4435 "B<^D>\n"
4436 "$B< chmod +x script.sh>\n"
4437 msgstr ""
4438
4439 #. type: Plain text
4440 #: build/C/man2/execve.2:628
4441 msgid "We can then use our program to exec the script:"
4442 msgstr ""
4443
4444 #. type: Plain text
4445 #: build/C/man2/execve.2:637
4446 #, no-wrap
4447 msgid ""
4448 "$B< ./execve ./script.sh>\n"
4449 "argv[0]: ./myecho\n"
4450 "argv[1]: script-arg\n"
4451 "argv[2]: ./script.sh\n"
4452 "argv[3]: hello\n"
4453 "argv[4]: world\n"
4454 msgstr ""
4455
4456 #. type: Plain text
4457 #: build/C/man2/execve.2:650
4458 msgid ""
4459 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4460 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4461 "B<ld.so>(8)"
4462 msgstr ""
4463
4464 #. type: TH
4465 #: build/C/man2/exit_group.2:25
4466 #, no-wrap
4467 msgid "EXIT_GROUP"
4468 msgstr ""
4469
4470 #. type: TH
4471 #: build/C/man2/exit_group.2:25
4472 #, no-wrap
4473 msgid "2008-11-27"
4474 msgstr ""
4475
4476 #. type: Plain text
4477 #: build/C/man2/exit_group.2:28
4478 msgid "exit_group - exit all threads in a process"
4479 msgstr ""
4480
4481 #. type: Plain text
4482 #: build/C/man2/exit_group.2:31
4483 #, no-wrap
4484 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4485 msgstr ""
4486
4487 #. type: Plain text
4488 #: build/C/man2/exit_group.2:33
4489 #, no-wrap
4490 msgid "B<void exit_group(int >I<status>B<);>\n"
4491 msgstr ""
4492
4493 #. type: Plain text
4494 #: build/C/man2/exit_group.2:39
4495 msgid ""
4496 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4497 "only the calling thread, but all threads in the calling process's thread "
4498 "group."
4499 msgstr ""
4500
4501 #. type: Plain text
4502 #: build/C/man2/exit_group.2:41
4503 msgid "This system call does not return."
4504 msgstr ""
4505
4506 #. type: Plain text
4507 #: build/C/man2/exit_group.2:43
4508 msgid "This call is present since Linux 2.5.35."
4509 msgstr ""
4510
4511 #. type: Plain text
4512 #: build/C/man2/exit_group.2:45
4513 msgid "This call is Linux-specific."
4514 msgstr ""
4515
4516 #. type: Plain text
4517 #: build/C/man2/exit_group.2:49
4518 msgid ""
4519 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4520 "wrapper function is called."
4521 msgstr ""
4522
4523 #. type: Plain text
4524 #: build/C/man2/exit_group.2:51
4525 msgid "B<exit>(2)"
4526 msgstr ""
4527
4528 #. type: TH
4529 #: build/C/man2/fcntl.2:61
4530 #, no-wrap
4531 msgid "FCNTL"
4532 msgstr ""
4533
4534 #. type: TH
4535 #: build/C/man2/fcntl.2:61
4536 #, no-wrap
4537 msgid "2012-04-15"
4538 msgstr ""
4539
4540 #. type: Plain text
4541 #: build/C/man2/fcntl.2:64
4542 msgid "fcntl - manipulate file descriptor"
4543 msgstr ""
4544
4545 #. type: Plain text
4546 #: build/C/man2/fcntl.2:68
4547 #, no-wrap
4548 msgid ""
4549 "B<#include E<lt>unistd.hE<gt>>\n"
4550 "B<#include E<lt>fcntl.hE<gt>>\n"
4551 msgstr ""
4552
4553 #. type: Plain text
4554 #: build/C/man2/fcntl.2:70
4555 #, no-wrap
4556 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4557 msgstr ""
4558
4559 #. type: Plain text
4560 #: build/C/man2/fcntl.2:77
4561 msgid ""
4562 "B<fcntl>()  performs one of the operations described below on the open file "
4563 "descriptor I<fd>.  The operation is determined by I<cmd>."
4564 msgstr ""
4565
4566 #. type: Plain text
4567 #: build/C/man2/fcntl.2:91
4568 msgid ""
4569 "B<fcntl>()  can take an optional third argument.  Whether or not this "
4570 "argument is required is determined by I<cmd>.  The required argument type is "
4571 "indicated in parentheses after each I<cmd> name (in most cases, the required "
4572 "type is I<int>, and we identify the argument using the name I<arg>), or "
4573 "I<void> is specified if the argument is not required."
4574 msgstr ""
4575
4576 #. type: SS
4577 #: build/C/man2/fcntl.2:91
4578 #, no-wrap
4579 msgid "Duplicating a file descriptor"
4580 msgstr ""
4581
4582 #. type: TP
4583 #: build/C/man2/fcntl.2:92
4584 #, no-wrap
4585 msgid "B<F_DUPFD> (I<int>)"
4586 msgstr ""
4587
4588 #. type: Plain text
4589 #: build/C/man2/fcntl.2:102
4590 msgid ""
4591 "Find the lowest numbered available file descriptor greater than or equal to "
4592 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
4593 "which uses exactly the descriptor specified."
4594 msgstr ""
4595
4596 #. type: Plain text
4597 #: build/C/man2/fcntl.2:104
4598 msgid "On success, the new descriptor is returned."
4599 msgstr ""
4600
4601 #. type: Plain text
4602 #: build/C/man2/fcntl.2:108
4603 msgid "See B<dup>(2)  for further details."
4604 msgstr ""
4605
4606 #. type: TP
4607 #: build/C/man2/fcntl.2:108
4608 #, no-wrap
4609 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
4610 msgstr ""
4611
4612 #. type: Plain text
4613 #: build/C/man2/fcntl.2:125
4614 msgid ""
4615 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
4616 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
4617 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
4618 "For an explanation of why this flag is useful, see the description of "
4619 "B<O_CLOEXEC> in B<open>(2)."
4620 msgstr ""
4621
4622 #. type: SS
4623 #: build/C/man2/fcntl.2:125
4624 #, no-wrap
4625 msgid "File descriptor flags"
4626 msgstr ""
4627
4628 #. type: Plain text
4629 #: build/C/man2/fcntl.2:136
4630 msgid ""
4631 "The following commands manipulate the flags associated with a file "
4632 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
4633 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
4634 "remain open across an B<execve>(2), otherwise it will be closed."
4635 msgstr ""
4636
4637 #. type: TP
4638 #: build/C/man2/fcntl.2:136
4639 #, no-wrap
4640 msgid "B<F_GETFD> (I<void>)"
4641 msgstr ""
4642
4643 #. type: Plain text
4644 #: build/C/man2/fcntl.2:141
4645 msgid "Read the file descriptor flags; I<arg> is ignored."
4646 msgstr ""
4647
4648 #. type: TP
4649 #: build/C/man2/fcntl.2:141
4650 #, no-wrap
4651 msgid "B<F_SETFD> (I<int>)"
4652 msgstr ""
4653
4654 #. type: Plain text
4655 #: build/C/man2/fcntl.2:145
4656 msgid "Set the file descriptor flags to the value specified by I<arg>."
4657 msgstr ""
4658
4659 #. type: SS
4660 #: build/C/man2/fcntl.2:145
4661 #, no-wrap
4662 msgid "File status flags"
4663 msgstr ""
4664
4665 #.  or
4666 #.  .BR creat (2),
4667 #. type: Plain text
4668 #: build/C/man2/fcntl.2:160
4669 msgid ""
4670 "Each open file description has certain associated status flags, initialized "
4671 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
4672 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
4673 "to the same open file description, and thus share the same file status "
4674 "flags."
4675 msgstr ""
4676
4677 #. type: Plain text
4678 #: build/C/man2/fcntl.2:163
4679 msgid "The file status flags and their semantics are described in B<open>(2)."
4680 msgstr ""
4681
4682 #. type: TP
4683 #: build/C/man2/fcntl.2:163
4684 #, no-wrap
4685 msgid "B<F_GETFL> (I<void>)"
4686 msgstr ""
4687
4688 #. type: Plain text
4689 #: build/C/man2/fcntl.2:168
4690 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
4691 msgstr ""
4692
4693 #. type: TP
4694 #: build/C/man2/fcntl.2:168
4695 #, no-wrap
4696 msgid "B<F_SETFL> (I<int>)"
4697 msgstr ""
4698
4699 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
4700 #.  via fcntl(2), but currently Linux does not permit this
4701 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
4702 #. type: Plain text
4703 #: build/C/man2/fcntl.2:191
4704 msgid ""
4705 "Set the file status flags to the value specified by I<arg>.  File access "
4706 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
4707 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
4708 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
4709 "B<O_NOATIME>, and B<O_NONBLOCK> flags."
4710 msgstr ""
4711
4712 #. type: SS
4713 #: build/C/man2/fcntl.2:191
4714 #, no-wrap
4715 msgid "Advisory locking"
4716 msgstr ""
4717
4718 #. type: Plain text
4719 #: build/C/man2/fcntl.2:199
4720 msgid ""
4721 "B<F_GETLK>, B<F_SETLK> and B<F_SETLKW> are used to acquire, release, and "
4722 "test for the existence of record locks (also known as file-segment or "
4723 "file-region locks).  The third argument, I<lock>, is a pointer to a "
4724 "structure that has at least the following fields (in unspecified order)."
4725 msgstr ""
4726
4727 #. type: Plain text
4728 #: build/C/man2/fcntl.2:214
4729 #, no-wrap
4730 msgid ""
4731 "struct flock {\n"
4732 "    ...\n"
4733 "    short l_type;    /* Type of lock: F_RDLCK,\n"
4734 "                        F_WRLCK, F_UNLCK */\n"
4735 "    short l_whence;  /* How to interpret l_start:\n"
4736 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
4737 "    off_t l_start;   /* Starting offset for lock */\n"
4738 "    off_t l_len;     /* Number of bytes to lock */\n"
4739 "    pid_t l_pid;     /* PID of process blocking our lock\n"
4740 "                        (F_GETLK only) */\n"
4741 "    ...\n"
4742 "};\n"
4743 msgstr ""
4744
4745 #. type: Plain text
4746 #: build/C/man2/fcntl.2:222
4747 msgid ""
4748 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
4749 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
4750 "locked, but not bytes before the start of the file."
4751 msgstr ""
4752
4753 #. type: Plain text
4754 #: build/C/man2/fcntl.2:242
4755 msgid ""
4756 "I<l_start> is the starting offset for the lock, and is interpreted relative "
4757 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
4758 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
4759 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
4760 "a negative number provided the offset does not lie before the start of the "
4761 "file."
4762 msgstr ""
4763
4764 #. type: Plain text
4765 #: build/C/man2/fcntl.2:257
4766 msgid ""
4767 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
4768 "positive, then the range to be locked covers bytes I<l_start> up to and "
4769 "including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special "
4770 "meaning: lock all bytes starting at the location specified by I<l_whence> "
4771 "and I<l_start> through to the end of file, no matter how large the file "
4772 "grows."
4773 msgstr ""
4774
4775 #. type: Plain text
4776 #: build/C/man2/fcntl.2:270
4777 msgid ""
4778 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
4779 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
4780 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
4781 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
4782 msgstr ""
4783
4784 #. type: Plain text
4785 #: build/C/man2/fcntl.2:289
4786 msgid ""
4787 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
4788 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
4789 "(shared lock)  on a file region, but only one process may hold a write lock "
4790 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
4791 "and exclusive.  A single process can hold only one type of lock on a file "
4792 "region; if a new lock is applied to an already-locked region, then the "
4793 "existing lock is converted to the new lock type.  (Such conversions may "
4794 "involve splitting, shrinking, or coalescing with an existing lock if the "
4795 "byte range specified by the new lock does not precisely coincide with the "
4796 "range of the existing lock.)"
4797 msgstr ""
4798
4799 #. type: TP
4800 #: build/C/man2/fcntl.2:289
4801 #, no-wrap
4802 msgid "B<F_SETLK> (I<struct flock *>)"
4803 msgstr ""
4804
4805 #. type: Plain text
4806 #: build/C/man2/fcntl.2:312
4807 msgid ""
4808 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
4809 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
4810 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
4811 "lock is held by another process, this call returns -1 and sets I<errno> to "
4812 "B<EACCES> or B<EAGAIN>."
4813 msgstr ""
4814
4815 #. type: TP
4816 #: build/C/man2/fcntl.2:312
4817 #, no-wrap
4818 msgid "B<F_SETLKW> (I<struct flock *>)"
4819 msgstr ""
4820
4821 #. type: Plain text
4822 #: build/C/man2/fcntl.2:326
4823 msgid ""
4824 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
4825 "for that lock to be released.  If a signal is caught while waiting, then the "
4826 "call is interrupted and (after the signal handler has returned)  returns "
4827 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
4828 "B<signal>(7))."
4829 msgstr ""
4830
4831 #. type: TP
4832 #: build/C/man2/fcntl.2:326
4833 #, no-wrap
4834 msgid "B<F_GETLK> (I<struct flock *>)"
4835 msgstr ""
4836
4837 #. type: Plain text
4838 #: build/C/man2/fcntl.2:350
4839 msgid ""
4840 "On input to this call, I<lock> describes a lock we would like to place on "
4841 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
4842 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
4843 "other fields of the structure unchanged.  If one or more incompatible locks "
4844 "would prevent this lock being placed, then B<fcntl>()  returns details about "
4845 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
4846 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
4847 "that lock."
4848 msgstr ""
4849
4850 #. type: Plain text
4851 #: build/C/man2/fcntl.2:358
4852 msgid ""
4853 "In order to place a read lock, I<fd> must be open for reading.  In order to "
4854 "place a write lock, I<fd> must be open for writing.  To place both types of "
4855 "lock, open a file read-write."
4856 msgstr ""
4857
4858 #.  (Additional file descriptors referring to the same file
4859 #.  may have been obtained by calls to
4860 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
4861 #. type: Plain text
4862 #: build/C/man2/fcntl.2:375
4863 msgid ""
4864 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
4865 "automatically released when the process terminates or if it closes I<any> "
4866 "file descriptor referring to a file on which locks are held.  This is bad: "
4867 "it means that a process can lose the locks on a file like I</etc/passwd> or "
4868 "I</etc/mtab> when for some reason a library function decides to open, read "
4869 "and close it."
4870 msgstr ""
4871
4872 #. type: Plain text
4873 #: build/C/man2/fcntl.2:380
4874 msgid ""
4875 "Record locks are not inherited by a child created via B<fork>(2), but are "
4876 "preserved across an B<execve>(2)."
4877 msgstr ""
4878
4879 #. type: Plain text
4880 #: build/C/man2/fcntl.2:389
4881 msgid ""
4882 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
4883 "record locking with routines in that package should be avoided; use "
4884 "B<read>(2)  and B<write>(2)  instead."
4885 msgstr ""
4886
4887 #. type: SS
4888 #: build/C/man2/fcntl.2:389
4889 #, no-wrap
4890 msgid "Mandatory locking"
4891 msgstr ""
4892
4893 #. type: Plain text
4894 #: build/C/man2/fcntl.2:393
4895 msgid ""
4896 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
4897 "and are advisory by default."
4898 msgstr ""
4899
4900 #. type: Plain text
4901 #: build/C/man2/fcntl.2:396
4902 msgid ""
4903 "Advisory locks are not enforced and are useful only between cooperating "
4904 "processes."
4905 msgstr ""
4906
4907 #. type: Plain text
4908 #: build/C/man2/fcntl.2:415
4909 msgid ""
4910 "Mandatory locks are enforced for all processes.  If a process tries to "
4911 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
4912 "region that has an incompatible mandatory lock, then the result depends upon "
4913 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
4914 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
4915 "lock is removed or converted to a mode that is compatible with the access.  "
4916 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
4917 "error B<EAGAIN>."
4918 msgstr ""
4919
4920 #. type: Plain text
4921 #: build/C/man2/fcntl.2:432
4922 msgid ""
4923 "To make use of mandatory locks, mandatory locking must be enabled both on "
4924 "the filesystem that contains the file to be locked, and on the file itself.  "
4925 "Mandatory locking is enabled on a filesystem using the \"-o mand\" option to "
4926 "B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking "
4927 "is enabled on a file by disabling group execute permission on the file and "
4928 "enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
4929 msgstr ""
4930
4931 #. type: Plain text
4932 #: build/C/man2/fcntl.2:435
4933 msgid ""
4934 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
4935 "below."
4936 msgstr ""
4937
4938 #. type: SS
4939 #: build/C/man2/fcntl.2:435
4940 #, no-wrap
4941 msgid "Managing signals"
4942 msgstr ""
4943
4944 #. type: Plain text
4945 #: build/C/man2/fcntl.2:444
4946 msgid ""
4947 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
4948 "B<F_SETSIG> are used to manage I/O availability signals:"
4949 msgstr ""
4950
4951 #. type: TP
4952 #: build/C/man2/fcntl.2:444
4953 #, no-wrap
4954 msgid "B<F_GETOWN> (I<void>)"
4955 msgstr ""
4956
4957 #. type: Plain text
4958 #: build/C/man2/fcntl.2:457
4959 msgid ""
4960 "Return (as the function result)  the process ID or process group currently "
4961 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
4962 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
4963 "returned as negative values (but see BUGS below).  I<arg> is ignored."
4964 msgstr ""
4965
4966 #. type: TP
4967 #: build/C/man2/fcntl.2:457
4968 #, no-wrap
4969 msgid "B<F_SETOWN> (I<int>)"
4970 msgstr ""
4971
4972 #. type: Plain text
4973 #: build/C/man2/fcntl.2:474
4974 msgid ""
4975 "Set the process ID or process group ID that will receive B<SIGIO> and "
4976 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
4977 "I<arg>.  A process ID is specified as a positive value; a process group ID "
4978 "is specified as a negative value.  Most commonly, the calling process "
4979 "specifies itself as the owner (that is, I<arg> is specified as "
4980 "B<getpid>(2))."
4981 msgstr ""
4982
4983 #.  From glibc.info:
4984 #. type: Plain text
4985 #: build/C/man2/fcntl.2:491
4986 msgid ""
4987 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
4988 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
4989 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
4990 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
4991 "check fails, then the signal is silently discarded."
4992 msgstr ""
4993
4994 #. type: Plain text
4995 #: build/C/man2/fcntl.2:499
4996 msgid ""
4997 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
4998 "subject to the same permissions checks as are described for B<kill>(2), "
4999 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
5000 "below)."
5001 msgstr ""
5002
5003 #.  The following appears to be rubbish.  It doesn't seem to
5004 #.  be true according to the kernel source, and I can write
5005 #.  a program that gets a terminal-generated SIGIO even though
5006 #.  it is not the foreground process group of the terminal.
5007 #.  -- MTK, 8 Apr 05
5008 #
5009 #.  If the file descriptor
5010 #.  .I fd
5011 #.  refers to a terminal device, then SIGIO
5012 #.  signals are sent to the foreground process group of the terminal.
5013 #. type: Plain text
5014 #: build/C/man2/fcntl.2:523
5015 msgid ""
5016 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
5017 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
5018 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
5019 "B<select>(2)  would report the socket as having an \"exceptional "
5020 "condition\".)"
5021 msgstr ""
5022
5023 #. type: Plain text
5024 #: build/C/man2/fcntl.2:526
5025 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
5026 msgstr ""
5027
5028 #.  The relevant place in the (2.6) kernel source is the
5029 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
5030 #.  send_sigurg()/send_sigurg_to_task() bypasses
5031 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
5032 #.  to directly call send_group_sig_info()
5033 #.      -- MTK, Apr 2005 (kernel 2.6.11)
5034 #. type: Plain text
5035 #: build/C/man2/fcntl.2:566
5036 msgid ""
5037 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
5038 "running with a threading library that supports thread groups (e.g., NPTL), "
5039 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
5040 "of being a process ID identifying a whole process, it is a thread ID "
5041 "identifying a specific thread within a process.  Consequently, it may be "
5042 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
5043 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
5044 "Linux threading implementations, a main thread's thread ID is the same as "
5045 "its process ID.  This means that a single-threaded program can equally use "
5046 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
5047 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
5048 "for out-of-band data on a socket: this signal is always sent to either a "
5049 "process or a process group, depending on the value given to B<F_SETOWN>."
5050 msgstr ""
5051
5052 #. type: Plain text
5053 #: build/C/man2/fcntl.2:577
5054 msgid ""
5055 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
5056 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5057 "and B<SIGURG> signals at a particular thread."
5058 msgstr ""
5059
5060 #. type: TP
5061 #: build/C/man2/fcntl.2:577
5062 #, no-wrap
5063 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5064 msgstr ""
5065
5066 #. type: Plain text
5067 #: build/C/man2/fcntl.2:586
5068 msgid ""
5069 "Return the current file descriptor owner settings as defined by a previous "
5070 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5071 "pointed to by I<arg>, which has the following form:"
5072 msgstr ""
5073
5074 #. type: Plain text
5075 #: build/C/man2/fcntl.2:593
5076 #, no-wrap
5077 msgid ""
5078 "struct f_owner_ex {\n"
5079 "    int   type;\n"
5080 "    pid_t pid;\n"
5081 "};\n"
5082 msgstr ""
5083
5084 #. type: Plain text
5085 #: build/C/man2/fcntl.2:610
5086 msgid ""
5087 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5088 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5089 "representing a thread ID, process ID, or process group ID.  See "
5090 "B<F_SETOWN_EX> for more details."
5091 msgstr ""
5092
5093 #. type: TP
5094 #: build/C/man2/fcntl.2:610
5095 #, no-wrap
5096 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5097 msgstr ""
5098
5099 #. type: Plain text
5100 #: build/C/man2/fcntl.2:626
5101 msgid ""
5102 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5103 "to direct I/O availability signals to a specific thread, process, or process "
5104 "group.  The caller specifies the target of signals via I<arg>, which is a "
5105 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5106 "following values, which define how I<pid> is interpreted:"
5107 msgstr ""
5108
5109 #. type: TP
5110 #: build/C/man2/fcntl.2:627
5111 #, no-wrap
5112 msgid "B<F_OWNER_TID>"
5113 msgstr ""
5114
5115 #. type: Plain text
5116 #: build/C/man2/fcntl.2:636
5117 msgid ""
5118 "Send the signal to the thread whose thread ID (the value returned by a call "
5119 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5120 msgstr ""
5121
5122 #. type: TP
5123 #: build/C/man2/fcntl.2:636
5124 #, no-wrap
5125 msgid "B<F_OWNER_PID>"
5126 msgstr ""
5127
5128 #. type: Plain text
5129 #: build/C/man2/fcntl.2:641
5130 msgid "Send the signal to the process whose ID is specified in I<pid>."
5131 msgstr ""
5132
5133 #. type: TP
5134 #: build/C/man2/fcntl.2:641
5135 #, no-wrap
5136 msgid "B<F_OWNER_PGRP>"
5137 msgstr ""
5138
5139 #. type: Plain text
5140 #: build/C/man2/fcntl.2:649
5141 msgid ""
5142 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5143 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5144 "value here.)"
5145 msgstr ""
5146
5147 #. type: TP
5148 #: build/C/man2/fcntl.2:650
5149 #, no-wrap
5150 msgid "B<F_GETSIG> (I<void>)"
5151 msgstr ""
5152
5153 #. type: Plain text
5154 #: build/C/man2/fcntl.2:665
5155 msgid ""
5156 "Return (as the function result)  the signal sent when input or output "
5157 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5158 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5159 "additional info is available to the signal handler if installed with "
5160 "B<SA_SIGINFO>.  I<arg> is ignored."
5161 msgstr ""
5162
5163 #. type: TP
5164 #: build/C/man2/fcntl.2:665
5165 #, no-wrap
5166 msgid "B<F_SETSIG> (I<int>)"
5167 msgstr ""
5168
5169 #
5170 #.  The following was true only up until 2.6.11:
5171 #
5172 #.  Additionally, passing a nonzero value to
5173 #.  .B F_SETSIG
5174 #.  changes the signal recipient from a whole process to a specific thread
5175 #.  within a process.
5176 #.  See the description of
5177 #.  .B F_SETOWN
5178 #.  for more details.
5179 #. type: Plain text
5180 #: build/C/man2/fcntl.2:688
5181 msgid ""
5182 "Set the signal sent when input or output becomes possible to the value given "
5183 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5184 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5185 "case additional info is available to the signal handler if installed with "
5186 "B<SA_SIGINFO>."
5187 msgstr ""
5188
5189 #. type: Plain text
5190 #: build/C/man2/fcntl.2:716
5191 msgid ""
5192 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5193 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5194 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5195 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5196 "descriptor associated with the event.  Otherwise, there is no indication "
5197 "which file descriptors are pending, and you should use the usual mechanisms "
5198 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5199 "determine which file descriptors are available for I/O."
5200 msgstr ""
5201
5202 #. type: Plain text
5203 #: build/C/man2/fcntl.2:725
5204 msgid ""
5205 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5206 "events may be queued using the same signal numbers.  (Queuing is dependent "
5207 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5208 "set for the signal handler, as above."
5209 msgstr ""
5210
5211 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5212 #. type: Plain text
5213 #: build/C/man2/fcntl.2:738
5214 msgid ""
5215 "Note that Linux imposes a limit on the number of real-time signals that may "
5216 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5217 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5218 "signal is delivered to the entire process rather than to a specific thread."
5219 msgstr ""
5220
5221 #. type: Plain text
5222 #: build/C/man2/fcntl.2:745
5223 msgid ""
5224 "Using these mechanisms, a program can implement fully asynchronous I/O "
5225 "without using B<select>(2)  or B<poll>(2)  most of the time."
5226 msgstr ""
5227
5228 #. type: Plain text
5229 #: build/C/man2/fcntl.2:761
5230 msgid ""
5231 "The use of B<O_ASYNC>, B<F_GETOWN>, B<F_SETOWN> is specific to BSD and "
5232 "Linux.  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are "
5233 "Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> "
5234 "structure to achieve similar things; these are also available in Linux as "
5235 "part of the GNU C Library (Glibc)."
5236 msgstr ""
5237
5238 #. type: SS
5239 #: build/C/man2/fcntl.2:761
5240 #, no-wrap
5241 msgid "Leases"
5242 msgstr ""
5243
5244 #. type: Plain text
5245 #: build/C/man2/fcntl.2:776
5246 msgid ""
5247 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5248 "to establish a new lease, and retrieve the current lease, on the open file "
5249 "description referred to by the file descriptor I<fd>.  A file lease provides "
5250 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5251 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5252 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5253 "descriptor."
5254 msgstr ""
5255
5256 #. type: TP
5257 #: build/C/man2/fcntl.2:776
5258 #, no-wrap
5259 msgid "B<F_SETLEASE> (I<int>)"
5260 msgstr ""
5261
5262 #. type: Plain text
5263 #: build/C/man2/fcntl.2:781
5264 msgid ""
5265 "Set or remove a file lease according to which of the following values is "
5266 "specified in the integer I<arg>:"
5267 msgstr ""
5268
5269 #. type: TP
5270 #: build/C/man2/fcntl.2:782
5271 #, no-wrap
5272 msgid "B<F_RDLCK>"
5273 msgstr ""
5274
5275 #.  The following became true in kernel 2.6.10:
5276 #.  See the man-pages-2.09 Changelog for further info.
5277 #. type: Plain text
5278 #: build/C/man2/fcntl.2:791
5279 msgid ""
5280 "Take out a read lease.  This will cause the calling process to be notified "
5281 "when the file is opened for writing or is truncated.  A read lease can be "
5282 "placed only on a file descriptor that is opened read-only."
5283 msgstr ""
5284
5285 #. type: TP
5286 #: build/C/man2/fcntl.2:791
5287 #, no-wrap
5288 msgid "B<F_WRLCK>"
5289 msgstr ""
5290
5291 #. type: Plain text
5292 #: build/C/man2/fcntl.2:798
5293 msgid ""
5294 "Take out a write lease.  This will cause the caller to be notified when the "
5295 "file is opened for reading or writing or is truncated.  A write lease may be "
5296 "placed on a file only if there are no other open file descriptors for the "
5297 "file."
5298 msgstr ""
5299
5300 #. type: TP
5301 #: build/C/man2/fcntl.2:798
5302 #, no-wrap
5303 msgid "B<F_UNLCK>"
5304 msgstr ""
5305
5306 #. type: Plain text
5307 #: build/C/man2/fcntl.2:801
5308 msgid "Remove our lease from the file."
5309 msgstr ""
5310
5311 #. type: Plain text
5312 #: build/C/man2/fcntl.2:815
5313 msgid ""
5314 "Leases are associated with an open file description (see B<open>(2)).  This "
5315 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5316 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5317 "released using any of these descriptors.  Furthermore, the lease is released "
5318 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5319 "descriptors, or when all such descriptors have been closed."
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: build/C/man2/fcntl.2:822
5324 msgid ""
5325 "Leases may be taken out only on regular files.  An unprivileged process may "
5326 "take out a lease only on a file whose UID (owner) matches the filesystem UID "
5327 "of the process.  A process with the B<CAP_LEASE> capability may take out "
5328 "leases on arbitrary files."
5329 msgstr ""
5330
5331 #. type: TP
5332 #: build/C/man2/fcntl.2:822
5333 #, no-wrap
5334 msgid "B<F_GETLEASE> (I<void>)"
5335 msgstr ""
5336
5337 #. type: Plain text
5338 #: build/C/man2/fcntl.2:831
5339 msgid ""
5340 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5341 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5342 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5343 msgstr ""
5344
5345 #. type: Plain text
5346 #: build/C/man2/fcntl.2:862
5347 msgid ""
5348 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5349 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5350 "the system call is blocked by the kernel and the kernel notifies the lease "
5351 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5352 "should respond to receipt of this signal by doing whatever cleanup is "
5353 "required in preparation for the file to be accessed by another process "
5354 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5355 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5356 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5357 "the file, and the lease breaker is opening the file for reading, then it is "
5358 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5359 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5360 "B<F_RDLCK>."
5361 msgstr ""
5362
5363 #. type: Plain text
5364 #: build/C/man2/fcntl.2:867
5365 msgid ""
5366 "If the lease holder fails to downgrade or remove the lease within the number "
5367 "of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
5368 "forcibly removes or downgrades the lease holder's lease."
5369 msgstr ""
5370
5371 #. type: Plain text
5372 #: build/C/man2/fcntl.2:877
5373 msgid ""
5374 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5375 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5376 "compatible with the lease breaker)  until the lease holder voluntarily "
5377 "downgrades or removes the lease or the kernel forcibly does so after the "
5378 "lease break timer expires."
5379 msgstr ""
5380
5381 #. type: Plain text
5382 #: build/C/man2/fcntl.2:881
5383 msgid ""
5384 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5385 "assuming the lease breaker has not unblocked its system call, the kernel "
5386 "permits the lease breaker's system call to proceed."
5387 msgstr ""
5388
5389 #. type: Plain text
5390 #: build/C/man2/fcntl.2:902
5391 msgid ""
5392 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5393 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5394 "the other steps still occur as described above.  If the lease breaker is "
5395 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5396 "other steps still occur as described above.  If the lease breaker specifies "
5397 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5398 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5399 "described above."
5400 msgstr ""
5401
5402 #. type: Plain text
5403 #: build/C/man2/fcntl.2:923
5404 msgid ""
5405 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5406 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5407 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5408 "is established using B<SA_SIGINFO>, then the handler will receive a "
5409 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5410 "this argument will hold the descriptor of the leased file that has been "
5411 "accessed by another process.  (This is useful if the caller holds leases "
5412 "against multiple files)."
5413 msgstr ""
5414
5415 #. type: SS
5416 #: build/C/man2/fcntl.2:923
5417 #, no-wrap
5418 msgid "File and directory change notification (dnotify)"
5419 msgstr ""
5420
5421 #. type: TP
5422 #: build/C/man2/fcntl.2:924
5423 #, no-wrap
5424 msgid "B<F_NOTIFY> (I<int>)"
5425 msgstr ""
5426
5427 #. type: Plain text
5428 #: build/C/man2/fcntl.2:934
5429 msgid ""
5430 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5431 "I<fd> or any of the files that it contains is changed.  The events to be "
5432 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5433 "together zero or more of the following bits:"
5434 msgstr ""
5435
5436 #. type: TP
5437 #: build/C/man2/fcntl.2:937
5438 #, no-wrap
5439 msgid "B<DN_ACCESS>"
5440 msgstr ""
5441
5442 #. type: Plain text
5443 #: build/C/man2/fcntl.2:940
5444 msgid "A file was accessed (read, pread, readv)"
5445 msgstr ""
5446
5447 #. type: TP
5448 #: build/C/man2/fcntl.2:940
5449 #, no-wrap
5450 msgid "B<DN_MODIFY>"
5451 msgstr ""
5452
5453 #. type: Plain text
5454 #: build/C/man2/fcntl.2:943
5455 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5456 msgstr ""
5457
5458 #. type: TP
5459 #: build/C/man2/fcntl.2:943
5460 #, no-wrap
5461 msgid "B<DN_CREATE>"
5462 msgstr ""
5463
5464 #. type: Plain text
5465 #: build/C/man2/fcntl.2:946
5466 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5467 msgstr ""
5468
5469 #. type: TP
5470 #: build/C/man2/fcntl.2:946
5471 #, no-wrap
5472 msgid "B<DN_DELETE>"
5473 msgstr ""
5474
5475 #. type: Plain text
5476 #: build/C/man2/fcntl.2:949
5477 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5478 msgstr ""
5479
5480 #. type: TP
5481 #: build/C/man2/fcntl.2:949
5482 #, no-wrap
5483 msgid "B<DN_RENAME>"
5484 msgstr ""
5485
5486 #. type: Plain text
5487 #: build/C/man2/fcntl.2:952
5488 msgid "A file was renamed within this directory (rename)."
5489 msgstr ""
5490
5491 #. type: TP
5492 #: build/C/man2/fcntl.2:952
5493 #, no-wrap
5494 msgid "B<DN_ATTRIB>"
5495 msgstr ""
5496
5497 #. type: Plain text
5498 #: build/C/man2/fcntl.2:955
5499 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5500 msgstr ""
5501
5502 #. type: Plain text
5503 #: build/C/man2/fcntl.2:963
5504 msgid ""
5505 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5506 "must be defined before including I<any> header files.)"
5507 msgstr ""
5508
5509 #. type: Plain text
5510 #: build/C/man2/fcntl.2:971
5511 msgid ""
5512 "Directory notifications are normally \"one-shot\", and the application must "
5513 "reregister to receive further notifications.  Alternatively, if "
5514 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5515 "effect until explicitly removed."
5516 msgstr ""
5517
5518 #.  The following does seem a poor API-design choice...
5519 #. type: Plain text
5520 #: build/C/man2/fcntl.2:983
5521 msgid ""
5522 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5523 "being added to the set already monitored.  To disable notification of all "
5524 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5525 msgstr ""
5526
5527 #. type: Plain text
5528 #: build/C/man2/fcntl.2:1001
5529 msgid ""
5530 "Notification occurs via delivery of a signal.  The default signal is "
5531 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5532 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5533 "structure as its second argument (if the handler was established using "
5534 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5535 "descriptor which generated the notification (useful when establishing "
5536 "notification on multiple directories)."
5537 msgstr ""
5538
5539 #. type: Plain text
5540 #: build/C/man2/fcntl.2:1006
5541 msgid ""
5542 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5543 "notification, so that multiple notifications can be queued."
5544 msgstr ""
5545
5546 #. type: Plain text
5547 #: build/C/man2/fcntl.2:1015
5548 msgid ""
5549 "B<NOTE:> New applications should use the I<inotify> interface (available "
5550 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5551 "notifications of filesystem events.  See B<inotify>(7)."
5552 msgstr ""
5553
5554 #. type: SS
5555 #: build/C/man2/fcntl.2:1015
5556 #, no-wrap
5557 msgid "Changing the capacity of a pipe"
5558 msgstr ""
5559
5560 #. type: TP
5561 #: build/C/man2/fcntl.2:1016
5562 #, no-wrap
5563 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5564 msgstr ""
5565
5566 #. type: Plain text
5567 #: build/C/man2/fcntl.2:1047
5568 msgid ""
5569 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
5570 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
5571 "between the system page size and the limit defined in "
5572 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
5573 "capacity below the page size are silently rounded up to the page size.  "
5574 "Attempts by an unprivileged process to set the pipe capacity above the limit "
5575 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
5576 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
5577 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
5578 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
5579 "returns the actual size used.  Attempting to set the pipe capacity smaller "
5580 "than the amount of buffer space currently used to store data produces the "
5581 "error B<EBUSY>."
5582 msgstr ""
5583
5584 #. type: TP
5585 #: build/C/man2/fcntl.2:1047
5586 #, no-wrap
5587 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
5588 msgstr ""
5589
5590 #. type: Plain text
5591 #: build/C/man2/fcntl.2:1051
5592 msgid ""
5593 "Return (as the function result) the capacity of the pipe referred to by "
5594 "I<fd>."
5595 msgstr ""
5596
5597 #. type: Plain text
5598 #: build/C/man2/fcntl.2:1053
5599 msgid "For a successful call, the return value depends on the operation:"
5600 msgstr ""
5601
5602 #. type: TP
5603 #: build/C/man2/fcntl.2:1053
5604 #, no-wrap
5605 msgid "B<F_DUPFD>"
5606 msgstr ""
5607
5608 #. type: Plain text
5609 #: build/C/man2/fcntl.2:1056
5610 msgid "The new descriptor."
5611 msgstr ""
5612
5613 #. type: TP
5614 #: build/C/man2/fcntl.2:1056
5615 #, no-wrap
5616 msgid "B<F_GETFD>"
5617 msgstr ""
5618
5619 #. type: Plain text
5620 #: build/C/man2/fcntl.2:1059
5621 msgid "Value of file descriptor flags."
5622 msgstr ""
5623
5624 #. type: TP
5625 #: build/C/man2/fcntl.2:1059
5626 #, no-wrap
5627 msgid "B<F_GETFL>"
5628 msgstr ""
5629
5630 #. type: Plain text
5631 #: build/C/man2/fcntl.2:1062
5632 msgid "Value of file status flags."
5633 msgstr ""
5634
5635 #. type: TP
5636 #: build/C/man2/fcntl.2:1062
5637 #, no-wrap
5638 msgid "B<F_GETLEASE>"
5639 msgstr ""
5640
5641 #. type: Plain text
5642 #: build/C/man2/fcntl.2:1065
5643 msgid "Type of lease held on file descriptor."
5644 msgstr ""
5645
5646 #. type: TP
5647 #: build/C/man2/fcntl.2:1065
5648 #, no-wrap
5649 msgid "B<F_GETOWN>"
5650 msgstr ""
5651
5652 #. type: Plain text
5653 #: build/C/man2/fcntl.2:1068
5654 msgid "Value of descriptor owner."
5655 msgstr ""
5656
5657 #. type: TP
5658 #: build/C/man2/fcntl.2:1068
5659 #, no-wrap
5660 msgid "B<F_GETSIG>"
5661 msgstr ""
5662
5663 #. type: Plain text
5664 #: build/C/man2/fcntl.2:1074
5665 msgid ""
5666 "Value of signal sent when read or write becomes possible, or zero for "
5667 "traditional B<SIGIO> behavior."
5668 msgstr ""
5669
5670 #. type: TP
5671 #: build/C/man2/fcntl.2:1074
5672 #, no-wrap
5673 msgid "B<F_GETPIPE_SZ>"
5674 msgstr ""
5675
5676 #. type: Plain text
5677 #: build/C/man2/fcntl.2:1077
5678 msgid "The pipe capacity."
5679 msgstr ""
5680
5681 #. type: TP
5682 #: build/C/man2/fcntl.2:1077
5683 #, no-wrap
5684 msgid "All other commands"
5685 msgstr ""
5686
5687 #. type: Plain text
5688 #: build/C/man2/fcntl.2:1080
5689 msgid "Zero."
5690 msgstr ""
5691
5692 #. type: Plain text
5693 #: build/C/man2/fcntl.2:1084
5694 msgid "On error, -1 is returned, and I<errno> is set appropriately."
5695 msgstr ""
5696
5697 #. type: TP
5698 #: build/C/man2/fcntl.2:1085 build/C/man3/lockf.3:122
5699 #, no-wrap
5700 msgid "B<EACCES> or B<EAGAIN>"
5701 msgstr ""
5702
5703 #. type: Plain text
5704 #: build/C/man2/fcntl.2:1088
5705 msgid "Operation is prohibited by locks held by other processes."
5706 msgstr ""
5707
5708 #. type: TP
5709 #: build/C/man2/fcntl.2:1088 build/C/man2/fork.2:181 build/C/man2/fork.2:186
5710 #, no-wrap
5711 msgid "B<EAGAIN>"
5712 msgstr ""
5713
5714 #. type: Plain text
5715 #: build/C/man2/fcntl.2:1092
5716 msgid ""
5717 "The operation is prohibited because the file has been memory-mapped by "
5718 "another process."
5719 msgstr ""
5720
5721 #. type: Plain text
5722 #: build/C/man2/fcntl.2:1101
5723 msgid ""
5724 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
5725 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
5726 "lock requested."
5727 msgstr ""
5728
5729 #. type: TP
5730 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:142
5731 #, no-wrap
5732 msgid "B<EDEADLK>"
5733 msgstr ""
5734
5735 #. type: Plain text
5736 #: build/C/man2/fcntl.2:1106
5737 msgid ""
5738 "It was detected that the specified B<F_SETLKW> command would cause a "
5739 "deadlock."
5740 msgstr ""
5741
5742 #. type: Plain text
5743 #: build/C/man2/fcntl.2:1110
5744 msgid "I<lock> is outside your accessible address space."
5745 msgstr ""
5746
5747 #. type: Plain text
5748 #: build/C/man2/fcntl.2:1122
5749 msgid ""
5750 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
5751 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
5752 "before the lock was checked or acquired.  Most likely when locking a remote "
5753 "file (e.g., locking over NFS), but can sometimes happen locally."
5754 msgstr ""
5755
5756 #. type: Plain text
5757 #: build/C/man2/fcntl.2:1132
5758 msgid ""
5759 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
5760 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
5761 msgstr ""
5762
5763 #. type: Plain text
5764 #: build/C/man2/fcntl.2:1137
5765 msgid ""
5766 "For B<F_DUPFD>, the process already has the maximum number of file "
5767 "descriptors open."
5768 msgstr ""
5769
5770 #. type: TP
5771 #: build/C/man2/fcntl.2:1137 build/C/man2/flock.2:130 build/C/man3/lockf.3:151
5772 #, no-wrap
5773 msgid "B<ENOLCK>"
5774 msgstr ""
5775
5776 #. type: Plain text
5777 #: build/C/man2/fcntl.2:1141
5778 msgid ""
5779 "Too many segment locks open, lock table is full, or a remote locking "
5780 "protocol failed (e.g., locking over NFS)."
5781 msgstr ""
5782
5783 #. type: Plain text
5784 #: build/C/man2/fcntl.2:1146
5785 msgid ""
5786 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
5787 "attribute set."
5788 msgstr ""
5789
5790 #. type: Plain text
5791 #: build/C/man2/fcntl.2:1159
5792 msgid ""
5793 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
5794 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK> and B<F_SETLKW>, "
5795 "are specified in POSIX.1-2001."
5796 msgstr ""
5797
5798 #. type: Plain text
5799 #: build/C/man2/fcntl.2:1171
5800 msgid ""
5801 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
5802 "definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
5803 "greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
5804 msgstr ""
5805
5806 #. type: Plain text
5807 #: build/C/man2/fcntl.2:1179
5808 msgid ""
5809 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
5810 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
5811 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
5812 msgstr ""
5813
5814 #.  .PP
5815 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
5816 #. type: Plain text
5817 #: build/C/man2/fcntl.2:1196
5818 msgid ""
5819 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
5820 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
5821 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
5822 "definitions.)"
5823 msgstr ""
5824
5825 #. type: Plain text
5826 #: build/C/man2/fcntl.2:1217
5827 msgid ""
5828 "The original Linux B<fcntl>()  system call was not designed to handle large "
5829 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
5830 "system call was added in Linux 2.4.  The newer system call employs a "
5831 "different structure for file locking, I<flock64>, and corresponding "
5832 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
5833 "details can be ignored by applications using glibc, whose B<fcntl>()  "
5834 "wrapper function transparently employs the more recent system call where it "
5835 "is available."
5836 msgstr ""
5837
5838 #. type: Plain text
5839 #: build/C/man2/fcntl.2:1222
5840 msgid ""
5841 "The errors returned by B<dup2>(2)  are different from those returned by "
5842 "B<F_DUPFD>."
5843 msgstr ""
5844
5845 #. type: Plain text
5846 #: build/C/man2/fcntl.2:1228
5847 msgid ""
5848 "Since kernel 2.0, there is no interaction between the types of lock placed "
5849 "by B<flock>(2)  and B<fcntl>()."
5850 msgstr ""
5851
5852 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
5853 #.  documents it in fcntl(5).  mtk, May 2007
5854 #. type: Plain text
5855 #: build/C/man2/fcntl.2:1239
5856 msgid ""
5857 "Several systems have more fields in I<struct flock> such as, for example, "
5858 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
5859 "process holding the lock may live on a different machine."
5860 msgstr ""
5861
5862 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
5863 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
5864 #.  indicate that ANY negative PGID value will cause F_GETOWN
5865 #.  to misinterpret the return as an error. Some other architectures
5866 #.  seem to have the same range check as i386.
5867 #. type: Plain text
5868 #: build/C/man2/fcntl.2:1265
5869 msgid ""
5870 "A limitation of the Linux system call conventions on some architectures "
5871 "(notably i386) means that if a (negative)  process group ID to be returned "
5872 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
5873 "wrongly interpreted by glibc as an error in the system call; that is, the "
5874 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
5875 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
5876 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
5877 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
5878 "B<F_GETOWN_EX>."
5879 msgstr ""
5880
5881 #. type: Plain text
5882 #: build/C/man2/fcntl.2:1282
5883 msgid ""
5884 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
5885 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
5886 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
5887 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
5888 "is one that the caller has permission to send signals to.  Despite this "
5889 "error return, the file descriptor owner is set, and signals will be sent to "
5890 "the owner."
5891 msgstr ""
5892
5893 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
5894 #. type: Plain text
5895 #: build/C/man2/fcntl.2:1297
5896 msgid ""
5897 "The implementation of mandatory locking in all known versions of Linux is "
5898 "subject to race conditions which render it unreliable: a B<write>(2)  call "
5899 "that overlaps with a lock may modify data after the mandatory lock is "
5900 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
5901 "data that were made only after a write lock was acquired.  Similar races "
5902 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
5903 "to rely on mandatory locking."
5904 msgstr ""
5905
5906 #. type: Plain text
5907 #: build/C/man2/fcntl.2:1305
5908 msgid ""
5909 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
5910 "B<capabilities>(7), B<feature_test_macros>(7)"
5911 msgstr ""
5912
5913 #. type: Plain text
5914 #: build/C/man2/fcntl.2:1318
5915 msgid ""
5916 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
5917 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
5918 "these files are directly under the I<Documentation/> directory, and "
5919 "I<mandatory-locking.txt> is called I<mandatory.txt>)"
5920 msgstr ""
5921
5922 #. type: TH
5923 #: build/C/man3/fexecve.3:25
5924 #, no-wrap
5925 msgid "FEXECVE"
5926 msgstr ""
5927
5928 #. type: TH
5929 #: build/C/man3/fexecve.3:25
5930 #, no-wrap
5931 msgid "2010-09-15"
5932 msgstr ""
5933
5934 #. type: Plain text
5935 #: build/C/man3/fexecve.3:28
5936 msgid "fexecve - execute program specified via file descriptor"
5937 msgstr ""
5938
5939 #. type: Plain text
5940 #: build/C/man3/fexecve.3:33
5941 #, no-wrap
5942 msgid ""
5943 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
5944 ">I<envp>B<[]);>\n"
5945 msgstr ""
5946
5947 #. type: Plain text
5948 #: build/C/man3/fexecve.3:41
5949 msgid "B<fexecve>():"
5950 msgstr ""
5951
5952 #. type: TP
5953 #: build/C/man3/fexecve.3:44
5954 #, no-wrap
5955 msgid "Since glibc 2.10:"
5956 msgstr ""
5957
5958 #. type: Plain text
5959 #: build/C/man3/fexecve.3:47
5960 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5961 msgstr ""
5962
5963 #. type: TP
5964 #: build/C/man3/fexecve.3:47
5965 #, no-wrap
5966 msgid "Before glibc 2.10:"
5967 msgstr ""
5968
5969 #. type: Plain text
5970 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
5971 msgid "_GNU_SOURCE"
5972 msgstr ""
5973
5974 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
5975 #.  but Linux doesn't support this flag yet.
5976 #. type: Plain text
5977 #: build/C/man3/fexecve.3:67
5978 msgid ""
5979 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
5980 "that the file to be executed is specified via a file descriptor, I<fd>, "
5981 "rather than via a pathname.  The file descriptor I<fd> must be opened "
5982 "read-only, and the caller must have permission to execute the file that it "
5983 "refers to."
5984 msgstr ""
5985
5986 #. type: Plain text
5987 #: build/C/man3/fexecve.3:74
5988 msgid ""
5989 "A successful call to B<fexecve>()  never returns.  On error, the function "
5990 "returns, with a result value of -1, and I<errno> is set appropriately."
5991 msgstr ""
5992
5993 #. type: Plain text
5994 #: build/C/man3/fexecve.3:78
5995 msgid "Errors are as for B<execve>(2), with the following additions:"
5996 msgstr ""
5997
5998 #. type: Plain text
5999 #: build/C/man3/fexecve.3:86
6000 msgid ""
6001 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
6002 "NULL."
6003 msgstr ""
6004
6005 #. type: Plain text
6006 #: build/C/man3/fexecve.3:91
6007 msgid "The I</proc> filesystem could not be accessed."
6008 msgstr ""
6009
6010 #. type: Plain text
6011 #: build/C/man3/fexecve.3:94
6012 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
6013 msgstr ""
6014
6015 #. type: Plain text
6016 #: build/C/man3/fexecve.3:98
6017 msgid ""
6018 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
6019 "widely available on other systems."
6020 msgstr ""
6021
6022 #. type: Plain text
6023 #: build/C/man3/fexecve.3:106
6024 msgid ""
6025 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so "
6026 "I</proc> needs to be mounted and available at the time of the call."
6027 msgstr ""
6028
6029 #. type: Plain text
6030 #: build/C/man3/fexecve.3:108
6031 msgid "B<execve>(2)"
6032 msgstr ""
6033
6034 #. type: TH
6035 #: build/C/man2/flock.2:35
6036 #, no-wrap
6037 msgid "FLOCK"
6038 msgstr ""
6039
6040 #. type: TH
6041 #: build/C/man2/flock.2:35
6042 #, no-wrap
6043 msgid "2013-02-11"
6044 msgstr ""
6045
6046 #. type: Plain text
6047 #: build/C/man2/flock.2:38
6048 msgid "flock - apply or remove an advisory lock on an open file"
6049 msgstr ""
6050
6051 #. type: Plain text
6052 #: build/C/man2/flock.2:40
6053 msgid "B<#include E<lt>sys/file.hE<gt>>"
6054 msgstr ""
6055
6056 #. type: Plain text
6057 #: build/C/man2/flock.2:42
6058 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6059 msgstr ""
6060
6061 #. type: Plain text
6062 #: build/C/man2/flock.2:48
6063 msgid ""
6064 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6065 "argument I<operation> is one of the following:"
6066 msgstr ""
6067
6068 #. type: TP
6069 #: build/C/man2/flock.2:49
6070 #, no-wrap
6071 msgid "B<LOCK_SH>"
6072 msgstr ""
6073
6074 #. type: Plain text
6075 #: build/C/man2/flock.2:54
6076 msgid ""
6077 "Place a shared lock.  More than one process may hold a shared lock for a "
6078 "given file at a given time."
6079 msgstr ""
6080
6081 #. type: TP
6082 #: build/C/man2/flock.2:54
6083 #, no-wrap
6084 msgid "B<LOCK_EX>"
6085 msgstr ""
6086
6087 #. type: Plain text
6088 #: build/C/man2/flock.2:59
6089 msgid ""
6090 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6091 "given file at a given time."
6092 msgstr ""
6093
6094 #. type: TP
6095 #: build/C/man2/flock.2:59
6096 #, no-wrap
6097 msgid "B<LOCK_UN>"
6098 msgstr ""
6099
6100 #. type: Plain text
6101 #: build/C/man2/flock.2:62
6102 msgid "Remove an existing lock held by this process."
6103 msgstr ""
6104
6105 #. type: Plain text
6106 #: build/C/man2/flock.2:71
6107 msgid ""
6108 "A call to B<flock>()  may block if an incompatible lock is held by another "
6109 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6110 "any of the above operations."
6111 msgstr ""
6112
6113 #. type: Plain text
6114 #: build/C/man2/flock.2:73
6115 msgid "A single file may not simultaneously have both shared and exclusive locks."
6116 msgstr ""
6117
6118 #. type: Plain text
6119 #: build/C/man2/flock.2:87
6120 msgid ""
6121 "Locks created by B<flock>()  are associated with an open file table entry.  "
6122 "This means that duplicate file descriptors (created by, for example, "
6123 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6124 "modified or released using any of these descriptors.  Furthermore, the lock "
6125 "is released either by an explicit B<LOCK_UN> operation on any of these "
6126 "duplicate descriptors, or when all such descriptors have been closed."
6127 msgstr ""
6128
6129 #. type: Plain text
6130 #: build/C/man2/flock.2:96
6131 msgid ""
6132 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6133 "descriptor for the same file, these descriptors are treated independently by "
6134 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6135 "may be denied by a lock that the calling process has already placed via "
6136 "another descriptor."
6137 msgstr ""
6138
6139 #. type: Plain text
6140 #: build/C/man2/flock.2:103
6141 msgid ""
6142 "A process may hold only one type of lock (shared or exclusive)  on a file.  "
6143 "Subsequent B<flock>()  calls on an already locked file will convert an "
6144 "existing lock to the new lock mode."
6145 msgstr ""
6146
6147 #. type: Plain text
6148 #: build/C/man2/flock.2:108
6149 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6150 msgstr ""
6151
6152 #. type: Plain text
6153 #: build/C/man2/flock.2:111
6154 msgid ""
6155 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6156 "which the file was opened."
6157 msgstr ""
6158
6159 #. type: Plain text
6160 #: build/C/man2/flock.2:121
6161 msgid "I<fd> is not an open file descriptor."
6162 msgstr ""
6163
6164 #. type: Plain text
6165 #: build/C/man2/flock.2:126
6166 msgid ""
6167 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6168 "signal caught by a handler; see B<signal>(7)."
6169 msgstr ""
6170
6171 #. type: Plain text
6172 #: build/C/man2/flock.2:130
6173 msgid "I<operation> is invalid."
6174 msgstr ""
6175
6176 #. type: Plain text
6177 #: build/C/man2/flock.2:133
6178 msgid "The kernel ran out of memory for allocating lock records."
6179 msgstr ""
6180
6181 #. type: TP
6182 #: build/C/man2/flock.2:133
6183 #, no-wrap
6184 msgid "B<EWOULDBLOCK>"
6185 msgstr ""
6186
6187 #. type: Plain text
6188 #: build/C/man2/flock.2:138
6189 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6190 msgstr ""
6191
6192 #. type: Plain text
6193 #: build/C/man2/flock.2:147
6194 msgid ""
6195 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6196 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6197 "UNIX systems."
6198 msgstr ""
6199
6200 #. type: Plain text
6201 #: build/C/man2/flock.2:154
6202 msgid ""
6203 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6204 "does work over NFS, given a sufficiently recent version of Linux and a "
6205 "server which supports locking."
6206 msgstr ""
6207
6208 #. type: Plain text
6209 #: build/C/man2/flock.2:169
6210 msgid ""
6211 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6212 "right rather than being emulated in the GNU C library as a call to "
6213 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6214 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6215 "B<flock>()  does not detect deadlock."
6216 msgstr ""
6217
6218 #. type: Plain text
6219 #: build/C/man2/flock.2:175
6220 msgid ""
6221 "B<flock>()  places advisory locks only; given suitable permissions on a "
6222 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6223 "the file."
6224 msgstr ""
6225
6226 #. type: Plain text
6227 #: build/C/man2/flock.2:188
6228 msgid ""
6229 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6230 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6231 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6232 "described in this manual page."
6233 msgstr ""
6234
6235 #.  Kernel 2.5.21 changed things a little: during lock conversion
6236 #.  it is now the highest priority process that will get the lock -- mtk
6237 #. type: Plain text
6238 #: build/C/man2/flock.2:201
6239 msgid ""
6240 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6241 "be atomic: the existing lock is first removed, and then a new lock is "
6242 "established.  Between these two steps, a pending lock request by another "
6243 "process may be granted, with the result that the conversion either blocks, "
6244 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6245 "and occurs on many other implementations.)"
6246 msgstr ""
6247
6248 #. type: Plain text
6249 #: build/C/man2/flock.2:210
6250 msgid ""
6251 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
6252 "B<open>(2), B<lockf>(3)"
6253 msgstr ""
6254
6255 #. type: Plain text
6256 #: build/C/man2/flock.2:215
6257 msgid ""
6258 "I<Documentation/filesystem/locks.txt> in the Linux kernel source tree "
6259 "(I<Documentation/locks.txt> in older kernels)"
6260 msgstr ""
6261
6262 #. type: TH
6263 #: build/C/man2/fork.2:39
6264 #, no-wrap
6265 msgid "FORK"
6266 msgstr ""
6267
6268 #. type: TH
6269 #: build/C/man2/fork.2:39 build/C/man2/ioperm.2:34
6270 #, no-wrap
6271 msgid "2013-03-12"
6272 msgstr ""
6273
6274 #. type: Plain text
6275 #: build/C/man2/fork.2:42
6276 msgid "fork - create a child process"
6277 msgstr ""
6278
6279 #. type: Plain text
6280 #: build/C/man2/fork.2:46
6281 msgid "B<pid_t fork(void);>"
6282 msgstr ""
6283
6284 #. type: Plain text
6285 #: build/C/man2/fork.2:52
6286 msgid ""
6287 "B<fork>()  creates a new process by duplicating the calling process.  The "
6288 "new process, referred to as the I<child>, is an exact duplicate of the "
6289 "calling process, referred to as the I<parent>, except for the following "
6290 "points:"
6291 msgstr ""
6292
6293 #. type: Plain text
6294 #: build/C/man2/fork.2:56
6295 msgid ""
6296 "The child has its own unique process ID, and this PID does not match the ID "
6297 "of any existing process group (B<setpgid>(2))."
6298 msgstr ""
6299
6300 #. type: Plain text
6301 #: build/C/man2/fork.2:58
6302 msgid "The child's parent process ID is the same as the parent's process ID."
6303 msgstr ""
6304
6305 #. type: Plain text
6306 #: build/C/man2/fork.2:62
6307 msgid ""
6308 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6309 "B<mlockall>(2))."
6310 msgstr ""
6311
6312 #. type: Plain text
6313 #: build/C/man2/fork.2:68
6314 msgid ""
6315 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6316 "(B<times>(2))  are reset to zero in the child."
6317 msgstr ""
6318
6319 #. type: Plain text
6320 #: build/C/man2/fork.2:71
6321 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6322 msgstr ""
6323
6324 #. type: Plain text
6325 #: build/C/man2/fork.2:74
6326 msgid ""
6327 "The child does not inherit semaphore adjustments from its parent "
6328 "(B<semop>(2))."
6329 msgstr ""
6330
6331 #. type: Plain text
6332 #: build/C/man2/fork.2:77
6333 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6334 msgstr ""
6335
6336 #. type: Plain text
6337 #: build/C/man2/fork.2:82
6338 msgid ""
6339 "The child does not inherit timers from its parent (B<setitimer>(2), "
6340 "B<alarm>(2), B<timer_create>(2))."
6341 msgstr ""
6342
6343 #. type: Plain text
6344 #: build/C/man2/fork.2:89
6345 msgid ""
6346 "The child does not inherit outstanding asynchronous I/O operations from its "
6347 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6348 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6349 msgstr ""
6350
6351 #. type: Plain text
6352 #: build/C/man2/fork.2:94
6353 msgid ""
6354 "The process attributes in the preceding list are all specified in "
6355 "POSIX.1-2001.  The parent and child also differ with respect to the "
6356 "following Linux-specific process attributes:"
6357 msgstr ""
6358
6359 #. type: Plain text
6360 #: build/C/man2/fork.2:101
6361 msgid ""
6362 "The child does not inherit directory change notifications (dnotify)  from "
6363 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6364 msgstr ""
6365
6366 #. type: Plain text
6367 #: build/C/man2/fork.2:107
6368 msgid ""
6369 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6370 "not receive a signal when its parent terminates."
6371 msgstr ""
6372
6373 #. type: Plain text
6374 #: build/C/man2/fork.2:114
6375 msgid ""
6376 "The default timer slack value is set to the parent's current timer slack "
6377 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6378 msgstr ""
6379
6380 #. type: Plain text
6381 #: build/C/man2/fork.2:120
6382 msgid ""
6383 "Memory mappings that have been marked with the B<madvise>(2)  "
6384 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6385 msgstr ""
6386
6387 #. type: Plain text
6388 #: build/C/man2/fork.2:125
6389 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6390 msgstr ""
6391
6392 #. type: Plain text
6393 #: build/C/man2/fork.2:131
6394 msgid ""
6395 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
6396 "the child; the child must turn on any bits that it requires using "
6397 "B<ioperm>(2)."
6398 msgstr ""
6399
6400 #. type: Plain text
6401 #: build/C/man2/fork.2:142
6402 msgid ""
6403 "The child process is created with a single thread\\(emthe one that called "
6404 "B<fork>().  The entire virtual address space of the parent is replicated in "
6405 "the child, including the states of mutexes, condition variables, and other "
6406 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6407 "dealing with problems that this can cause."
6408 msgstr ""
6409
6410 #. type: Plain text
6411 #: build/C/man2/fork.2:156
6412 msgid ""
6413 "The child inherits copies of the parent's set of open file descriptors.  "
6414 "Each file descriptor in the child refers to the same open file description "
6415 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6416 "means that the two descriptors share open file status flags, current file "
6417 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6418 "and B<F_SETSIG> in B<fcntl>(2))."
6419 msgstr ""
6420
6421 #. type: Plain text
6422 #: build/C/man2/fork.2:165
6423 msgid ""
6424 "The child inherits copies of the parent's set of open message queue "
6425 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6426 "the same open message queue description as the corresponding descriptor in "
6427 "the parent.  This means that the two descriptors share the same flags "
6428 "(I<mq_flags>)."
6429 msgstr ""
6430
6431 #. type: Plain text
6432 #: build/C/man2/fork.2:173
6433 msgid ""
6434 "The child inherits copies of the parent's set of open directory streams (see "
6435 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6436 "in the parent and child I<may> share the directory stream positioning; on "
6437 "Linux/glibc they do not."
6438 msgstr ""
6439
6440 #. type: Plain text
6441 #: build/C/man2/fork.2:180
6442 msgid ""
6443 "On success, the PID of the child process is returned in the parent, and 0 is "
6444 "returned in the child.  On failure, -1 is returned in the parent, no child "
6445 "process is created, and I<errno> is set appropriately."
6446 msgstr ""
6447
6448 #. type: Plain text
6449 #: build/C/man2/fork.2:186
6450 msgid ""
6451 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6452 "tables and allocate a task structure for the child."
6453 msgstr ""
6454
6455 #. type: Plain text
6456 #: build/C/man2/fork.2:196
6457 msgid ""
6458 "It was not possible to create a new process because the caller's "
6459 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6460 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6461 "capability."
6462 msgstr ""
6463
6464 #. type: Plain text
6465 #: build/C/man2/fork.2:200
6466 msgid ""
6467 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6468 "is tight."
6469 msgstr ""
6470
6471 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
6472 #. type: Plain text
6473 #: build/C/man2/fork.2:206
6474 msgid ""
6475 "B<fork>()  is not supported on this platform (for example, hardware without "
6476 "a Memory-Management Unit)."
6477 msgstr ""
6478
6479 #. type: Plain text
6480 #: build/C/man2/fork.2:215
6481 msgid ""
6482 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6483 "only penalty that it incurs is the time and memory required to duplicate the "
6484 "parent's page tables, and to create a unique task structure for the child."
6485 msgstr ""
6486
6487 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6488 #.  and does some magic to ensure that getpid(2) returns the right value.
6489 #. type: Plain text
6490 #: build/C/man2/fork.2:239
6491 msgid ""
6492 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6493 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6494 "threading implementation invokes B<clone>(2)  with flags that provide the "
6495 "same effect as the traditional system call.  (A call to B<fork>()  is "
6496 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6497 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6498 "established using B<pthread_atfork>(3)."
6499 msgstr ""
6500
6501 #. type: Plain text
6502 #: build/C/man2/fork.2:244
6503 msgid "See B<pipe>(2)  and B<wait>(2)."
6504 msgstr ""
6505
6506 #. type: Plain text
6507 #: build/C/man2/fork.2:255
6508 msgid ""
6509 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
6510 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6511 msgstr ""
6512
6513 #. type: TH
6514 #: build/C/man3/fpathconf.3:41
6515 #, no-wrap
6516 msgid "FPATHCONF"
6517 msgstr ""
6518
6519 #. type: TH
6520 #: build/C/man3/fpathconf.3:41
6521 #, no-wrap
6522 msgid "1993-04-04"
6523 msgstr ""
6524
6525 #. type: Plain text
6526 #: build/C/man3/fpathconf.3:44
6527 msgid "fpathconf, pathconf - get configuration values for files"
6528 msgstr ""
6529
6530 #. type: Plain text
6531 #: build/C/man3/fpathconf.3:49
6532 #, no-wrap
6533 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6534 msgstr ""
6535
6536 #. type: Plain text
6537 #: build/C/man3/fpathconf.3:51
6538 #, no-wrap
6539 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6540 msgstr ""
6541
6542 #. type: Plain text
6543 #: build/C/man3/fpathconf.3:58
6544 msgid ""
6545 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
6546 "open file descriptor I<fd>."
6547 msgstr ""
6548
6549 #. type: Plain text
6550 #: build/C/man3/fpathconf.3:64
6551 msgid ""
6552 "B<pathconf>()  gets a value for configuration option I<name> for the "
6553 "filename I<path>."
6554 msgstr ""
6555
6556 #. type: Plain text
6557 #: build/C/man3/fpathconf.3:73
6558 msgid ""
6559 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
6560 "values; if an application wants to take advantage of values which may "
6561 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
6562 "yield more liberal results."
6563 msgstr ""
6564
6565 #. type: Plain text
6566 #: build/C/man3/fpathconf.3:78
6567 msgid ""
6568 "Setting I<name> equal to one of the following constants returns the "
6569 "following configuration options:"
6570 msgstr ""
6571
6572 #. type: TP
6573 #: build/C/man3/fpathconf.3:78
6574 #, no-wrap
6575 msgid "B<_PC_LINK_MAX>"
6576 msgstr ""
6577
6578 #. type: Plain text
6579 #: build/C/man3/fpathconf.3:88
6580 msgid ""
6581 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
6582 "to a directory, then the value applies to the whole directory.  The "
6583 "corresponding macro is B<_POSIX_LINK_MAX>."
6584 msgstr ""
6585
6586 #. type: TP
6587 #: build/C/man3/fpathconf.3:88
6588 #, no-wrap
6589 msgid "B<_PC_MAX_CANON>"
6590 msgstr ""
6591
6592 #. type: Plain text
6593 #: build/C/man3/fpathconf.3:97
6594 msgid ""
6595 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
6596 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
6597 msgstr ""
6598
6599 #. type: TP
6600 #: build/C/man3/fpathconf.3:97
6601 #, no-wrap
6602 msgid "B<_PC_MAX_INPUT>"
6603 msgstr ""
6604
6605 #. type: Plain text
6606 #: build/C/man3/fpathconf.3:106
6607 msgid ""
6608 "returns the maximum length of an input line, where I<fd> or I<path> must "
6609 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
6610 msgstr ""
6611
6612 #. type: TP
6613 #: build/C/man3/fpathconf.3:106
6614 #, no-wrap
6615 msgid "B<_PC_NAME_MAX>"
6616 msgstr ""
6617
6618 #. type: Plain text
6619 #: build/C/man3/fpathconf.3:115
6620 msgid ""
6621 "returns the maximum length of a filename in the directory I<path> or I<fd> "
6622 "that the process is allowed to create.  The corresponding macro is "
6623 "B<_POSIX_NAME_MAX>."
6624 msgstr ""
6625
6626 #. type: TP
6627 #: build/C/man3/fpathconf.3:115
6628 #, no-wrap
6629 msgid "B<_PC_PATH_MAX>"
6630 msgstr ""
6631
6632 #. type: Plain text
6633 #: build/C/man3/fpathconf.3:124
6634 msgid ""
6635 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
6636 "the current working directory.  The corresponding macro is "
6637 "B<_POSIX_PATH_MAX>."
6638 msgstr ""
6639
6640 #. type: TP
6641 #: build/C/man3/fpathconf.3:124
6642 #, no-wrap
6643 msgid "B<_PC_PIPE_BUF>"
6644 msgstr ""
6645
6646 #. type: Plain text
6647 #: build/C/man3/fpathconf.3:133
6648 msgid ""
6649 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
6650 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
6651 "B<_POSIX_PIPE_BUF>."
6652 msgstr ""
6653
6654 #. type: TP
6655 #: build/C/man3/fpathconf.3:133
6656 #, no-wrap
6657 msgid "B<_PC_CHOWN_RESTRICTED>"
6658 msgstr ""
6659
6660 #. type: Plain text
6661 #: build/C/man3/fpathconf.3:146
6662 msgid ""
6663 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
6664 "I<fd> or I<path> refer to a directory, then this applies to all files in "
6665 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
6666 msgstr ""
6667
6668 #. type: TP
6669 #: build/C/man3/fpathconf.3:146
6670 #, no-wrap
6671 msgid "B<_PC_NO_TRUNC>"
6672 msgstr ""
6673
6674 #. type: Plain text
6675 #: build/C/man3/fpathconf.3:153
6676 msgid ""
6677 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
6678 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
6679 msgstr ""
6680
6681 #. type: TP
6682 #: build/C/man3/fpathconf.3:153
6683 #, no-wrap
6684 msgid "B<_PC_VDISABLE>"
6685 msgstr ""
6686
6687 #. type: Plain text
6688 #: build/C/man3/fpathconf.3:160
6689 msgid ""
6690 "returns nonzero if special character processing can be disabled, where I<fd> "
6691 "or I<path> must refer to a terminal."
6692 msgstr ""
6693
6694 #. type: Plain text
6695 #: build/C/man3/fpathconf.3:169
6696 msgid ""
6697 "The limit is returned, if one exists.  If the system does not have a limit "
6698 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
6699 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
6700 "of the error."
6701 msgstr ""
6702
6703 #. type: Plain text
6704 #: build/C/man3/fpathconf.3:177
6705 msgid ""
6706 "Files with name lengths longer than the value returned for I<name> equal to "
6707 "B<_PC_NAME_MAX> may exist in the given directory."
6708 msgstr ""
6709
6710 #. type: Plain text
6711 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
6712 msgid ""
6713 "Some returned values may be huge; they are not suitable for allocating "
6714 "memory."
6715 msgstr ""
6716
6717 #. type: Plain text
6718 #: build/C/man3/fpathconf.3:185
6719 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
6720 msgstr ""
6721
6722 #. type: TH
6723 #: build/C/man2/fsync.2:38
6724 #, no-wrap
6725 msgid "FSYNC"
6726 msgstr ""
6727
6728 #. type: TH
6729 #: build/C/man2/fsync.2:38
6730 #, no-wrap
6731 msgid "2012-02-27"
6732 msgstr ""
6733
6734 #. type: Plain text
6735 #: build/C/man2/fsync.2:41
6736 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
6737 msgstr ""
6738
6739 #. type: Plain text
6740 #: build/C/man2/fsync.2:45
6741 msgid "B<int fsync(int >I<fd>B<);>"
6742 msgstr ""
6743
6744 #. type: Plain text
6745 #: build/C/man2/fsync.2:47
6746 msgid "B<int fdatasync(int >I<fd>B<);>"
6747 msgstr ""
6748
6749 #. type: Plain text
6750 #: build/C/man2/fsync.2:55
6751 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
6752 msgstr ""
6753
6754 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
6755 #. type: Plain text
6756 #: build/C/man2/fsync.2:58
6757 #, no-wrap
6758 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
6759 msgstr ""
6760
6761 #. type: Plain text
6762 #: build/C/man2/fsync.2:61
6763 msgid ""
6764 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
6765 "E<gt>=\\ 500"
6766 msgstr ""
6767
6768 #. type: Plain text
6769 #: build/C/man2/fsync.2:74
6770 msgid ""
6771 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
6772 "modified buffer cache pages for) the file referred to by the file descriptor "
6773 "I<fd> to the disk device (or other permanent storage device) so that all "
6774 "changed information can be retrieved even after the system crashed or was "
6775 "rebooted.  This includes writing through or flushing a disk cache if "
6776 "present.  The call blocks until the device reports that the transfer has "
6777 "completed.  It also flushes metadata information associated with the file "
6778 "(see B<stat>(2))."
6779 msgstr ""
6780
6781 #. type: Plain text
6782 #: build/C/man2/fsync.2:82
6783 msgid ""
6784 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
6785 "directory containing the file has also reached disk.  For that an explicit "
6786 "B<fsync>()  on a file descriptor for the directory is also needed."
6787 msgstr ""
6788
6789 #. type: Plain text
6790 #: build/C/man2/fsync.2:103
6791 msgid ""
6792 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
6793 "metadata unless that metadata is needed in order to allow a subsequent data "
6794 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
6795 "I<st_mtime> (respectively, time of last access and time of last "
6796 "modification; see B<stat>(2))  do not require flushing because they are not "
6797 "necessary for a subsequent data read to be handled correctly.  On the other "
6798 "hand, a change to the file size (I<st_size>, as made by say "
6799 "B<ftruncate>(2)), would require a metadata flush."
6800 msgstr ""
6801
6802 #. type: Plain text
6803 #: build/C/man2/fsync.2:108
6804 msgid ""
6805 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
6806 "do not require all metadata to be synchronized with the disk."
6807 msgstr ""
6808
6809 #. type: Plain text
6810 #: build/C/man2/fsync.2:113
6811 msgid ""
6812 "On success, these system calls return zero.  On error, -1 is returned, and "
6813 "I<errno> is set appropriately."
6814 msgstr ""
6815
6816 #. type: Plain text
6817 #: build/C/man2/fsync.2:118
6818 msgid "I<fd> is not a valid open file descriptor."
6819 msgstr ""
6820
6821 #. type: Plain text
6822 #: build/C/man2/fsync.2:121
6823 msgid "An error occurred during synchronization."
6824 msgstr ""
6825
6826 #. type: TP
6827 #: build/C/man2/fsync.2:121
6828 #, no-wrap
6829 msgid "B<EROFS>, B<EINVAL>"
6830 msgstr ""
6831
6832 #. type: Plain text
6833 #: build/C/man2/fsync.2:125
6834 msgid "I<fd> is bound to a special file which does not support synchronization."
6835 msgstr ""
6836
6837 #. type: Plain text
6838 #: build/C/man2/fsync.2:127
6839 msgid "4.3BSD, POSIX.1-2001."
6840 msgstr ""
6841
6842 #. type: SH
6843 #: build/C/man2/fsync.2:127
6844 #, no-wrap
6845 msgid "AVAILABILITY"
6846 msgstr ""
6847
6848 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
6849 #.  -1: unavailable, 0: ask using sysconf().
6850 #.  glibc defines them to 1.
6851 #. type: Plain text
6852 #: build/C/man2/fsync.2:140
6853 msgid ""
6854 "On POSIX systems on which B<fdatasync>()  is available, "
6855 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
6856 "greater than 0.  (See also B<sysconf>(3).)"
6857 msgstr ""
6858
6859 #. type: Plain text
6860 #: build/C/man2/fsync.2:146
6861 msgid ""
6862 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
6863 "descriptor."
6864 msgstr ""
6865
6866 #. type: Plain text
6867 #: build/C/man2/fsync.2:152
6868 msgid ""
6869 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
6870 "so has no performance advantage."
6871 msgstr ""
6872
6873 #. type: Plain text
6874 #: build/C/man2/fsync.2:162
6875 msgid ""
6876 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
6877 "does not know how to flush disk caches.  In these cases disk caches need to "
6878 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
6879 "operation."
6880 msgstr ""
6881
6882 #. type: Plain text
6883 #: build/C/man2/fsync.2:171
6884 msgid ""
6885 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
6886 "B<mount>(8), B<sync>(8), B<update>(8)"
6887 msgstr ""
6888
6889 #. type: TH
6890 #: build/C/man3/get_nprocs_conf.3:26
6891 #, no-wrap
6892 msgid "GET_NPROCS"
6893 msgstr ""
6894
6895 #. type: TH
6896 #: build/C/man3/get_nprocs_conf.3:26
6897 #, no-wrap
6898 msgid "2012-03-20"
6899 msgstr ""
6900
6901 #. type: Plain text
6902 #: build/C/man3/get_nprocs_conf.3:29
6903 msgid "get_nprocs, get_nprocs_conf - get number of processors"
6904 msgstr ""
6905
6906 #. type: Plain text
6907 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
6908 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
6909 msgstr ""
6910
6911 #. type: Plain text
6912 #: build/C/man3/get_nprocs_conf.3:33
6913 msgid "B<int get_nprocs(void);>"
6914 msgstr ""
6915
6916 #. type: Plain text
6917 #: build/C/man3/get_nprocs_conf.3:35
6918 msgid "B<int get_nprocs_conf(void);>"
6919 msgstr ""
6920
6921 #. type: Plain text
6922 #: build/C/man3/get_nprocs_conf.3:39
6923 msgid ""
6924 "The function B<get_nprocs_conf>()  returns the number of processors "
6925 "configured by the operating system."
6926 msgstr ""
6927
6928 #. type: Plain text
6929 #: build/C/man3/get_nprocs_conf.3:46
6930 msgid ""
6931 "The function B<get_nprocs>()  returns the number of processors currently "
6932 "available in the system.  This may be less than the number returned by "
6933 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
6934 "hotpluggable systems)."
6935 msgstr ""
6936
6937 #. type: Plain text
6938 #: build/C/man3/get_nprocs_conf.3:48
6939 msgid "As given in DESCRIPTION."
6940 msgstr ""
6941
6942 #. type: Plain text
6943 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
6944 msgid "These functions are GNU extensions."
6945 msgstr ""
6946
6947 #.  glibc 2.15
6948 #. type: Plain text
6949 #: build/C/man3/get_nprocs_conf.3:57
6950 msgid ""
6951 "The current implementation of these functions is rather expensive, since "
6952 "they open and parse files in the I</sys> filesystem each time they are "
6953 "called."
6954 msgstr ""
6955
6956 #. type: Plain text
6957 #: build/C/man3/get_nprocs_conf.3:62
6958 msgid ""
6959 "The following B<sysconf>(3)  calls make use of the functions documented on "
6960 "this page to return the same information."
6961 msgstr ""
6962
6963 #. type: Plain text
6964 #: build/C/man3/get_nprocs_conf.3:66
6965 #, no-wrap
6966 msgid ""
6967 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
6968 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
6969 msgstr ""
6970
6971 #. type: Plain text
6972 #: build/C/man3/get_nprocs_conf.3:73
6973 msgid ""
6974 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
6975 "can be used."
6976 msgstr ""
6977
6978 #. type: Plain text
6979 #: build/C/man3/get_nprocs_conf.3:77
6980 #, no-wrap
6981 msgid ""
6982 "#include E<lt>stdio.hE<gt>\n"
6983 "#include E<lt>sys/sysinfo.hE<gt>\n"
6984 msgstr ""
6985
6986 #. type: Plain text
6987 #: build/C/man3/get_nprocs_conf.3:86
6988 #, no-wrap
6989 msgid ""
6990 "int\n"
6991 "main(int argc, char *argv[])\n"
6992 "{\n"
6993 "    printf(\"This system has %d processors configured and \"\n"
6994 "            \"%d processors available.\\en\",\n"
6995 "            get_nprocs_conf(), get_nprocs());\n"
6996 "    return 0;\n"
6997 "}\n"
6998 msgstr ""
6999
7000 #. type: TH
7001 #: build/C/man2/get_thread_area.2:8
7002 #, no-wrap
7003 msgid "GET_THREAD_AREA"
7004 msgstr ""
7005
7006 #. type: TH
7007 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
7008 #, no-wrap
7009 msgid "2012-07-13"
7010 msgstr ""
7011
7012 #. type: Plain text
7013 #: build/C/man2/get_thread_area.2:11
7014 msgid "get_thread_area - get a thread-local storage (TLS) area"
7015 msgstr ""
7016
7017 #. type: Plain text
7018 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
7019 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
7020 msgstr ""
7021
7022 #. type: Plain text
7023 #: build/C/man2/get_thread_area.2:17
7024 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7025 msgstr ""
7026
7027 #. type: Plain text
7028 #: build/C/man2/get_thread_area.2:20 build/C/man2/gettid.2:38 build/C/man2/set_thread_area.2:20 build/C/man2/sysctl.2:44
7029 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
7030 msgstr ""
7031
7032 #. type: Plain text
7033 #: build/C/man2/get_thread_area.2:29
7034 msgid ""
7035 "B<get_thread_area>()  returns an entry in the current thread's thread-local "
7036 "storage (TLS) array.  The index of the entry corresponds to the value of "
7037 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
7038 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
7039 "area pointed to by I<u_info>."
7040 msgstr ""
7041
7042 #. type: Plain text
7043 #: build/C/man2/get_thread_area.2:35
7044 msgid ""
7045 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
7046 "sets I<errno> appropriately."
7047 msgstr ""
7048
7049 #. type: Plain text
7050 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7051 msgid "I<u_info> is an invalid pointer."
7052 msgstr ""
7053
7054 #. type: Plain text
7055 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7056 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7057 msgstr ""
7058
7059 #. type: Plain text
7060 #: build/C/man2/get_thread_area.2:46
7061 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7062 msgstr ""
7063
7064 #. type: Plain text
7065 #: build/C/man2/get_thread_area.2:50
7066 msgid ""
7067 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
7068 "that are intended to be portable."
7069 msgstr ""
7070
7071 #. type: Plain text
7072 #: build/C/man2/get_thread_area.2:55
7073 msgid ""
7074 "Glibc does not provide a wrapper for this system call, since it is generally "
7075 "intended for use only by threading libraries.  In the unlikely event that "
7076 "you want to call it directly, use B<syscall>(2)."
7077 msgstr ""
7078
7079 #. type: Plain text
7080 #: build/C/man2/get_thread_area.2:58
7081 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7082 msgstr ""
7083
7084 #. type: TH
7085 #: build/C/man3/getcwd.3:32
7086 #, no-wrap
7087 msgid "GETCWD"
7088 msgstr ""
7089
7090 #. type: Plain text
7091 #: build/C/man3/getcwd.3:35
7092 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7093 msgstr ""
7094
7095 #. type: Plain text
7096 #: build/C/man3/getcwd.3:40
7097 #, no-wrap
7098 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7099 msgstr ""
7100
7101 #. type: Plain text
7102 #: build/C/man3/getcwd.3:42
7103 #, no-wrap
7104 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7105 msgstr ""
7106
7107 #. type: Plain text
7108 #: build/C/man3/getcwd.3:44
7109 #, no-wrap
7110 msgid "B<char *get_current_dir_name(void);>\n"
7111 msgstr ""
7112
7113 #. type: Plain text
7114 #: build/C/man3/getcwd.3:52
7115 msgid "B<get_current_dir_name>():"
7116 msgstr ""
7117
7118 #. type: Plain text
7119 #: build/C/man3/getcwd.3:57
7120 msgid "B<getwd>():"
7121 msgstr ""
7122
7123 #. type: Plain text
7124 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59 build/C/man2/vfork.2:54
7125 #, no-wrap
7126 msgid ""
7127 "_BSD_SOURCE ||\n"
7128 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7129 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7130 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7131 msgstr ""
7132
7133 #. type: Plain text
7134 #: build/C/man3/getcwd.3:72 build/C/man3/getdtablesize.3:54 build/C/man2/getpagesize.2:52 build/C/man3/ualarm.3:55 build/C/man3/usleep.3:64 build/C/man2/vfork.2:59
7135 msgid ""
7136 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7137 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7138 msgstr ""
7139
7140 #. type: Plain text
7141 #: build/C/man3/getcwd.3:82
7142 msgid ""
7143 "These functions return a null-terminated string containing an absolute "
7144 "pathname that is the current working directory of the calling process.  The "
7145 "pathname is returned as the function result and via the argument I<buf>, if "
7146 "present."
7147 msgstr ""
7148
7149 #. type: Plain text
7150 #: build/C/man3/getcwd.3:90
7151 msgid ""
7152 "The B<getcwd>()  function copies an absolute pathname of the current working "
7153 "directory to the array pointed to by I<buf>, which is of length I<size>."
7154 msgstr ""
7155
7156 #. type: Plain text
7157 #: build/C/man3/getcwd.3:100
7158 msgid ""
7159 "If the length of the absolute pathname of the current working directory, "
7160 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7161 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7162 "this error, and allocate a larger buffer if necessary."
7163 msgstr ""
7164
7165 #. type: Plain text
7166 #: build/C/man3/getcwd.3:118
7167 msgid ""
7168 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7169 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7170 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7171 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7172 "should B<free>(3)  the returned buffer."
7173 msgstr ""
7174
7175 #. type: Plain text
7176 #: build/C/man3/getcwd.3:131
7177 msgid ""
7178 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7179 "the absolute pathname of the current working directory.  If the environment "
7180 "variable B<PWD> is set, and its value is correct, then that value will be "
7181 "returned.  The caller should B<free>(3)  the returned buffer."
7182 msgstr ""
7183
7184 #. type: Plain text
7185 #: build/C/man3/getcwd.3:156
7186 msgid ""
7187 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7188 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7189 "the absolute pathname of the current working directory, including the "
7190 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7191 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7192 "may not be a compile-time constant; furthermore, its value may depend on the "
7193 "filesystem, see B<pathconf>(3).)  For portability and security reasons, use "
7194 "of B<getwd>()  is deprecated."
7195 msgstr ""
7196
7197 #. type: Plain text
7198 #: build/C/man3/getcwd.3:165
7199 msgid ""
7200 "On success, these functions return a pointer to a string containing the "
7201 "pathname of the current working directory.  In the case B<getcwd>()  and "
7202 "B<getwd>()  this is the same value as I<buf>."
7203 msgstr ""
7204
7205 #. type: Plain text
7206 #: build/C/man3/getcwd.3:172
7207 msgid ""
7208 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7209 "error.  The contents of the array pointed to by I<buf> are undefined on "
7210 "error."
7211 msgstr ""
7212
7213 #. type: Plain text
7214 #: build/C/man3/getcwd.3:176
7215 msgid "Permission to read or search a component of the filename was denied."
7216 msgstr ""
7217
7218 #. type: Plain text
7219 #: build/C/man3/getcwd.3:180
7220 msgid "I<buf> points to a bad address."
7221 msgstr ""
7222
7223 #. type: Plain text
7224 #: build/C/man3/getcwd.3:187
7225 msgid "The I<size> argument is zero and I<buf> is not a NULL pointer."
7226 msgstr ""
7227
7228 #. type: TP
7229 #: build/C/man3/getcwd.3:187
7230 #, no-wrap
7231 msgid "EINVAL"
7232 msgstr ""
7233
7234 #. type: Plain text
7235 #: build/C/man3/getcwd.3:192
7236 msgid "B<getwd>(): I<buf> is NULL."
7237 msgstr ""
7238
7239 #. type: TP
7240 #: build/C/man3/getcwd.3:192
7241 #, no-wrap
7242 msgid "ENAMETOOLONG"
7243 msgstr ""
7244
7245 #. type: Plain text
7246 #: build/C/man3/getcwd.3:198
7247 msgid ""
7248 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7249 "B<PATH_MAX> bytes."
7250 msgstr ""
7251
7252 #. type: Plain text
7253 #: build/C/man3/getcwd.3:201
7254 msgid "The current working directory has been unlinked."
7255 msgstr ""
7256
7257 #. type: TP
7258 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
7259 #, no-wrap
7260 msgid "B<ERANGE>"
7261 msgstr ""
7262
7263 #. type: Plain text
7264 #: build/C/man3/getcwd.3:208
7265 msgid ""
7266 "The I<size> argument is less than the length of the absolute pathname of the "
7267 "working directory, including the terminating null byte.  You need to "
7268 "allocate a bigger array and try again."
7269 msgstr ""
7270
7271 #. type: Plain text
7272 #: build/C/man3/getcwd.3:216
7273 msgid ""
7274 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7275 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7276 msgstr ""
7277
7278 #. type: Plain text
7279 #: build/C/man3/getcwd.3:227
7280 msgid ""
7281 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7282 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7283 "POSIX.1-2001 does not define any errors for B<getwd>()."
7284 msgstr ""
7285
7286 #. type: Plain text
7287 #: build/C/man3/getcwd.3:230
7288 msgid "B<get_current_dir_name>()  is a GNU extension."
7289 msgstr ""
7290
7291 #. type: Plain text
7292 #: build/C/man3/getcwd.3:241
7293 msgid ""
7294 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7295 "older systems it would query I</proc/self/cwd>.  If both system call and "
7296 "proc filesystem are missing, a generic implementation is called.  Only in "
7297 "that case can these calls fail under Linux with B<EACCES>."
7298 msgstr ""
7299
7300 #. type: Plain text
7301 #: build/C/man3/getcwd.3:249
7302 msgid ""
7303 "These functions are often used to save the location of the current working "
7304 "directory for the purpose of returning to it later.  Opening the current "
7305 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7306 "and more reliable alternative when sufficiently many file descriptors are "
7307 "available, especially on platforms other than Linux."
7308 msgstr ""
7309
7310 #. type: Plain text
7311 #: build/C/man3/getcwd.3:256
7312 msgid ""
7313 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7314 "B<malloc>(3)"
7315 msgstr ""
7316
7317 #. type: TH
7318 #: build/C/man2/getdomainname.2:29
7319 #, no-wrap
7320 msgid "GETDOMAINNAME"
7321 msgstr ""
7322
7323 #. type: TH
7324 #: build/C/man2/getdomainname.2:29
7325 #, no-wrap
7326 msgid "2012-10-25"
7327 msgstr ""
7328
7329 #. type: Plain text
7330 #: build/C/man2/getdomainname.2:32
7331 msgid "getdomainname, setdomainname - get/set NIS domain name"
7332 msgstr ""
7333
7334 #. type: Plain text
7335 #: build/C/man2/getdomainname.2:36
7336 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7337 msgstr ""
7338
7339 #. type: Plain text
7340 #: build/C/man2/getdomainname.2:38
7341 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7342 msgstr ""
7343
7344 #. type: Plain text
7345 #: build/C/man2/getdomainname.2:47
7346 msgid "B<getdomainname>(), B<setdomainname>():"
7347 msgstr ""
7348
7349 #. type: Plain text
7350 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7351 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7352 msgstr ""
7353
7354 #. type: Plain text
7355 #: build/C/man2/getdomainname.2:54
7356 msgid ""
7357 "These functions are used to access or to change the NIS domain name of the "
7358 "host system."
7359 msgstr ""
7360
7361 #. type: Plain text
7362 #: build/C/man2/getdomainname.2:65
7363 msgid ""
7364 "B<setdomainname>()  sets the domain name to the value given in the character "
7365 "array I<name>.  The I<len> argument specifies the number of bytes in "
7366 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7367 msgstr ""
7368
7369 #. type: Plain text
7370 #: build/C/man2/getdomainname.2:75
7371 msgid ""
7372 "B<getdomainname>()  returns the null-terminated domain name in the character "
7373 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7374 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7375 "first I<len> bytes (glibc) or gives an error (libc)."
7376 msgstr ""
7377
7378 #. type: Plain text
7379 #: build/C/man2/getdomainname.2:83
7380 msgid "B<setdomainname>()  can fail with the following errors:"
7381 msgstr ""
7382
7383 #. type: Plain text
7384 #: build/C/man2/getdomainname.2:87
7385 msgid "I<name> pointed outside of user address space."
7386 msgstr ""
7387
7388 #. type: Plain text
7389 #: build/C/man2/getdomainname.2:91
7390 msgid "I<len> was negative or too large."
7391 msgstr ""
7392
7393 #. type: Plain text
7394 #: build/C/man2/getdomainname.2:96
7395 msgid ""
7396 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7397 "capability)."
7398 msgstr ""
7399
7400 #. type: Plain text
7401 #: build/C/man2/getdomainname.2:99
7402 msgid "B<getdomainname>()  can fail with the following errors:"
7403 msgstr ""
7404
7405 #. type: Plain text
7406 #: build/C/man2/getdomainname.2:110
7407 msgid ""
7408 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7409 "than I<len> bytes."
7410 msgstr ""
7411
7412 #.  But they appear on most systems...
7413 #. type: Plain text
7414 #: build/C/man2/getdomainname.2:113
7415 msgid "POSIX does not specify these calls."
7416 msgstr ""
7417
7418 #. type: Plain text
7419 #: build/C/man2/getdomainname.2:117
7420 msgid ""
7421 "Since Linux 1.0, the limit on the length of a domain name, including the "
7422 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7423 msgstr ""
7424
7425 #. type: Plain text
7426 #: build/C/man2/getdomainname.2:127
7427 msgid ""
7428 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7429 "system call; instead, glibc implements B<getdomainname>()  as a library "
7430 "function that returns a copy of the I<domainname> field returned from a call "
7431 "to B<uname>(2)."
7432 msgstr ""
7433
7434 #. type: Plain text
7435 #: build/C/man2/getdomainname.2:131
7436 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7437 msgstr ""
7438
7439 #. type: TH
7440 #: build/C/man3/getdtablesize.3:27
7441 #, no-wrap
7442 msgid "GETDTABLESIZE"
7443 msgstr ""
7444
7445 #. type: TH
7446 #: build/C/man3/getdtablesize.3:27
7447 #, no-wrap
7448 msgid "2013-02-05"
7449 msgstr ""
7450
7451 #. type: Plain text
7452 #: build/C/man3/getdtablesize.3:30
7453 msgid "getdtablesize - get descriptor table size"
7454 msgstr ""
7455
7456 #. type: Plain text
7457 #: build/C/man3/getdtablesize.3:34
7458 msgid "B<int getdtablesize(void);>"
7459 msgstr ""
7460
7461 #. type: Plain text
7462 #: build/C/man3/getdtablesize.3:41
7463 msgid "B<getdtablesize>():"
7464 msgstr ""
7465
7466 #. type: Plain text
7467 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7468 #, no-wrap
7469 msgid ""
7470 "_BSD_SOURCE ||\n"
7471 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7472 msgstr ""
7473
7474 #. type: Plain text
7475 #: build/C/man3/getdtablesize.3:61
7476 msgid ""
7477 "B<getdtablesize>()  returns the maximum number of files a process can have "
7478 "open, one more than the largest possible value for a file descriptor."
7479 msgstr ""
7480
7481 #. type: Plain text
7482 #: build/C/man3/getdtablesize.3:63
7483 msgid "The current limit on the number of open files per process."
7484 msgstr ""
7485
7486 #. type: Plain text
7487 #: build/C/man3/getdtablesize.3:69
7488 msgid ""
7489 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7490 "B<getrlimit>(2); see NOTES below."
7491 msgstr ""
7492
7493 #. type: Plain text
7494 #: build/C/man3/getdtablesize.3:77
7495 msgid ""
7496 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7497 "It is not specified in POSIX.1-2001; portable applications should employ "
7498 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7499 msgstr ""
7500
7501 #. type: Plain text
7502 #: build/C/man3/getdtablesize.3:90
7503 msgid ""
7504 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7505 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7506 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7507 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7508 msgstr ""
7509
7510 #. type: Plain text
7511 #: build/C/man3/getdtablesize.3:95
7512 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7513 msgstr ""
7514
7515 #. type: TH
7516 #: build/C/man3/gethostid.3:29
7517 #, no-wrap
7518 msgid "GETHOSTID"
7519 msgstr ""
7520
7521 #. type: Plain text
7522 #: build/C/man3/gethostid.3:32
7523 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7524 msgstr ""
7525
7526 #. type: Plain text
7527 #: build/C/man3/gethostid.3:36
7528 msgid "B<long gethostid(void);>"
7529 msgstr ""
7530
7531 #. type: Plain text
7532 #: build/C/man3/gethostid.3:38
7533 msgid "B<int sethostid(long >I<hostid>B<);>"
7534 msgstr ""
7535
7536 #. type: Plain text
7537 #: build/C/man3/gethostid.3:47
7538 msgid "B<gethostid>():"
7539 msgstr ""
7540
7541 #. type: Plain text
7542 #: build/C/man3/gethostid.3:52
7543 msgid "B<sethostid>():"
7544 msgstr ""
7545
7546 #. type: Plain text
7547 #: build/C/man3/gethostid.3:67
7548 msgid ""
7549 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
7550 "identifier for the current machine.  The 32-bit identifier is intended to be "
7551 "unique among all UNIX systems in existence.  This normally resembles the "
7552 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
7553 "and thus usually never needs to be set."
7554 msgstr ""
7555
7556 #. type: Plain text
7557 #: build/C/man3/gethostid.3:71
7558 msgid "The B<sethostid>()  call is restricted to the superuser."
7559 msgstr ""
7560
7561 #. type: Plain text
7562 #: build/C/man3/gethostid.3:75
7563 msgid ""
7564 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
7565 "B<sethostid>()."
7566 msgstr ""
7567
7568 #. type: Plain text
7569 #: build/C/man3/gethostid.3:81
7570 msgid ""
7571 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
7572 "I<errno> is set to indicate the error."
7573 msgstr ""
7574
7575 #. type: Plain text
7576 #: build/C/man3/gethostid.3:84
7577 msgid "B<sethostid>()  can fail with the following errors:"
7578 msgstr ""
7579
7580 #. type: Plain text
7581 #: build/C/man3/gethostid.3:88
7582 msgid ""
7583 "The caller did not have permission to write to the file used to store the "
7584 "host ID."
7585 msgstr ""
7586
7587 #. type: Plain text
7588 #: build/C/man3/gethostid.3:92
7589 msgid ""
7590 "The calling process's effective user or group ID is not the same as its "
7591 "corresponding real ID."
7592 msgstr ""
7593
7594 #. type: Plain text
7595 #: build/C/man3/gethostid.3:102
7596 msgid ""
7597 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
7598 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
7599 "B<gethostid>()  but not B<sethostid>()."
7600 msgstr ""
7601
7602 #.  libc5 used /etc/hostid; libc4 didn't have these functions
7603 #. type: Plain text
7604 #: build/C/man3/gethostid.3:111
7605 msgid ""
7606 "In the glibc implementation, the I<hostid> is stored in the file "
7607 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
7608 "was used.)"
7609 msgstr ""
7610
7611 #. type: Plain text
7612 #: build/C/man3/gethostid.3:122
7613 msgid ""
7614 "In the glibc implementation, if B<gethostid>()  cannot open the file "
7615 "containing the host ID, then it obtains the hostname using "
7616 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
7617 "to obtain the host's IPv4 address, and returns a value obtained by "
7618 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
7619 msgstr ""
7620
7621 #. type: Plain text
7622 #: build/C/man3/gethostid.3:124
7623 msgid "It is impossible to ensure that the identifier is globally unique."
7624 msgstr ""
7625
7626 #. type: Plain text
7627 #: build/C/man3/gethostid.3:127
7628 msgid "B<hostid>(1), B<gethostbyname>(3)"
7629 msgstr ""
7630
7631 #. type: TH
7632 #: build/C/man2/gethostname.2:32
7633 #, no-wrap
7634 msgid "GETHOSTNAME"
7635 msgstr ""
7636
7637 #. type: Plain text
7638 #: build/C/man2/gethostname.2:35
7639 msgid "gethostname, sethostname - get/set hostname"
7640 msgstr ""
7641
7642 #. type: Plain text
7643 #: build/C/man2/gethostname.2:39
7644 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7645 msgstr ""
7646
7647 #. type: Plain text
7648 #: build/C/man2/gethostname.2:41
7649 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7650 msgstr ""
7651
7652 #. type: Plain text
7653 #: build/C/man2/gethostname.2:50
7654 msgid "B<gethostname>():"
7655 msgstr ""
7656
7657 #. type: Plain text
7658 #: build/C/man2/gethostname.2:53
7659 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7660 msgstr ""
7661
7662 #. type: Plain text
7663 #: build/C/man2/gethostname.2:55
7664 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7665 msgstr ""
7666
7667 #. type: Plain text
7668 #: build/C/man2/gethostname.2:58
7669 msgid "B<sethostname>():"
7670 msgstr ""
7671
7672 #. type: Plain text
7673 #: build/C/man2/gethostname.2:66
7674 msgid ""
7675 "These system calls are used to access or to change the hostname of the "
7676 "current processor."
7677 msgstr ""
7678
7679 #. type: Plain text
7680 #: build/C/man2/gethostname.2:77
7681 msgid ""
7682 "B<sethostname>()  sets the hostname to the value given in the character "
7683 "array I<name>.  The I<len> argument specifies the number of bytes in "
7684 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7685 msgstr ""
7686
7687 #. type: Plain text
7688 #: build/C/man2/gethostname.2:89
7689 msgid ""
7690 "B<gethostname>()  returns the null-terminated hostname in the character "
7691 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7692 "hostname is too large to fit, then the name is truncated, and no error is "
7693 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
7694 "occurs, then it is unspecified whether the returned buffer includes a "
7695 "terminating null byte."
7696 msgstr ""
7697
7698 #. type: Plain text
7699 #: build/C/man2/gethostname.2:99
7700 msgid "I<name> is an invalid address."
7701 msgstr ""
7702
7703 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
7704 #.  unsigned type; can occur for the underlying system call.
7705 #. type: Plain text
7706 #: build/C/man2/gethostname.2:109
7707 msgid ""
7708 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
7709 "maximum allowed size."
7710 msgstr ""
7711
7712 #. type: Plain text
7713 #: build/C/man2/gethostname.2:117
7714 msgid ""
7715 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
7716 "version 2.1, glibc uses B<EINVAL> for this case.)"
7717 msgstr ""
7718
7719 #. type: Plain text
7720 #: build/C/man2/gethostname.2:124
7721 msgid ""
7722 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
7723 "capability."
7724 msgstr ""
7725
7726 #. type: Plain text
7727 #: build/C/man2/gethostname.2:130
7728 msgid ""
7729 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
7730 "specifies B<gethostname>()  but not B<sethostname>()."
7731 msgstr ""
7732
7733 #. type: Plain text
7734 #: build/C/man2/gethostname.2:140
7735 msgid ""
7736 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
7737 "guarantees that \"Host names (not including the terminating null byte) are "
7738 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
7739 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
7740 "imposed a limit of 8 bytes)."
7741 msgstr ""
7742
7743 #. type: Plain text
7744 #: build/C/man2/gethostname.2:163
7745 msgid ""
7746 "The GNU C library does not employ the B<gethostname>()  system call; "
7747 "instead, it implements B<gethostname>()  as a library function that calls "
7748 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
7749 "field into I<name>.  Having performed the copy, the function then checks if "
7750 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
7751 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
7752 "this case, a terminating null byte is not included in the returned I<name>."
7753 msgstr ""
7754
7755 #.  At least glibc 2.0 and 2.1, older versions not checked
7756 #. type: Plain text
7757 #: build/C/man2/gethostname.2:176
7758 msgid ""
7759 "Versions of glibc before 2.2 handle the case where the length of the "
7760 "I<nodename> was greater than or equal to I<len> differently: nothing is "
7761 "copied into I<name> and the function returns -1 with I<errno> set to "
7762 "B<ENAMETOOLONG>."
7763 msgstr ""
7764
7765 #. type: Plain text
7766 #: build/C/man2/gethostname.2:180
7767 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7768 msgstr ""
7769
7770 #. type: TH
7771 #: build/C/man3/getlogin.3:28
7772 #, no-wrap
7773 msgid "GETLOGIN"
7774 msgstr ""
7775
7776 #. type: TH
7777 #: build/C/man3/getlogin.3:28 build/C/man3/usleep.3:33
7778 #, no-wrap
7779 msgid "2013-04-19"
7780 msgstr ""
7781
7782 #. type: Plain text
7783 #: build/C/man3/getlogin.3:31
7784 msgid "getlogin, getlogin_r, cuserid - get username"
7785 msgstr ""
7786
7787 #. type: Plain text
7788 #: build/C/man3/getlogin.3:35
7789 msgid "B<char *getlogin(void);>"
7790 msgstr ""
7791
7792 #. type: Plain text
7793 #: build/C/man3/getlogin.3:37
7794 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7795 msgstr ""
7796
7797 #. type: Plain text
7798 #: build/C/man3/getlogin.3:39
7799 msgid "B<#include E<lt>stdio.hE<gt>>"
7800 msgstr ""
7801
7802 #. type: Plain text
7803 #: build/C/man3/getlogin.3:41
7804 msgid "B<char *cuserid(char *>I<string>B<);>"
7805 msgstr ""
7806
7807 #. type: Plain text
7808 #: build/C/man3/getlogin.3:49
7809 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7810 msgstr ""
7811
7812 #. type: Plain text
7813 #: build/C/man3/getlogin.3:52
7814 msgid "B<cuserid>(): _XOPEN_SOURCE"
7815 msgstr ""
7816
7817 #. type: Plain text
7818 #: build/C/man3/getlogin.3:61
7819 msgid ""
7820 "B<getlogin>()  returns a pointer to a string containing the name of the user "
7821 "logged in on the controlling terminal of the process, or a NULL pointer if "
7822 "this information cannot be determined.  The string is statically allocated "
7823 "and might be overwritten on subsequent calls to this function or to "
7824 "B<cuserid>()."
7825 msgstr ""
7826
7827 #. type: Plain text
7828 #: build/C/man3/getlogin.3:67
7829 msgid ""
7830 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
7831 "I<bufsize>."
7832 msgstr ""
7833
7834 #. type: Plain text
7835 #: build/C/man3/getlogin.3:79
7836 msgid ""
7837 "B<cuserid>()  returns a pointer to a string containing a username associated "
7838 "with the effective user ID of the process.  If I<string> is not a NULL "
7839 "pointer, it should be an array that can hold at least B<L_cuserid> "
7840 "characters; the string is returned in this array.  Otherwise, a pointer to a "
7841 "string in a static area is returned.  This string is statically allocated "
7842 "and might be overwritten on subsequent calls to this function or to "
7843 "B<getlogin>()."
7844 msgstr ""
7845
7846 #. type: Plain text
7847 #: build/C/man3/getlogin.3:83
7848 msgid ""
7849 "The macro B<L_cuserid> is an integer constant that indicates how long an "
7850 "array you might need to store a username.  B<L_cuserid> is declared in "
7851 "I<E<lt>stdio.hE<gt>>."
7852 msgstr ""
7853
7854 #. type: Plain text
7855 #: build/C/man3/getlogin.3:90
7856 msgid ""
7857 "These functions let your program identify positively the user who is running "
7858 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
7859 "(These can differ when set-user-ID programs are involved.)"
7860 msgstr ""
7861
7862 #. type: Plain text
7863 #: build/C/man3/getlogin.3:95
7864 msgid ""
7865 "For most purposes, it is more useful to use the environment variable "
7866 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
7867 "because the user can set B<LOGNAME> arbitrarily."
7868 msgstr ""
7869
7870 #. type: Plain text
7871 #: build/C/man3/getlogin.3:103
7872 msgid ""
7873 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
7874 "on failure, with I<errno> set to indicate the cause of the error.  "
7875 "B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
7876 msgstr ""
7877
7878 #. type: Plain text
7879 #: build/C/man3/getlogin.3:105
7880 msgid "POSIX specifies"
7881 msgstr ""
7882
7883 #. type: Plain text
7884 #: build/C/man3/getlogin.3:108
7885 msgid "The calling process already has the maximum allowed number of open files."
7886 msgstr ""
7887
7888 #. type: Plain text
7889 #: build/C/man3/getlogin.3:111
7890 msgid "The system already has the maximum allowed number of open files."
7891 msgstr ""
7892
7893 #. type: TP
7894 #: build/C/man3/getlogin.3:111
7895 #, no-wrap
7896 msgid "B<ENXIO>"
7897 msgstr ""
7898
7899 #. type: Plain text
7900 #: build/C/man3/getlogin.3:114
7901 msgid "The calling process has no controlling terminal."
7902 msgstr ""
7903
7904 #. type: Plain text
7905 #: build/C/man3/getlogin.3:120
7906 msgid ""
7907 "(getlogin_r)  The length of the username, including the terminating null "
7908 "byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
7909 msgstr ""
7910
7911 #. type: Plain text
7912 #: build/C/man3/getlogin.3:122
7913 msgid "Linux/glibc also has"
7914 msgstr ""
7915
7916 #. type: Plain text
7917 #: build/C/man3/getlogin.3:125
7918 msgid "There was no corresponding entry in the utmp-file."
7919 msgstr ""
7920
7921 #. type: Plain text
7922 #: build/C/man3/getlogin.3:128
7923 msgid "Insufficient memory to allocate passwd structure."
7924 msgstr ""
7925
7926 #. type: TP
7927 #: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:107 build/C/man2/ioctl.2:111 build/C/man3/tcgetpgrp.3:95
7928 #, no-wrap
7929 msgid "B<ENOTTY>"
7930 msgstr ""
7931
7932 #. type: Plain text
7933 #: build/C/man3/getlogin.3:132
7934 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
7935 msgstr ""
7936
7937 #. type: TP
7938 #: build/C/man3/getlogin.3:133
7939 #, no-wrap
7940 msgid "I</etc/passwd>"
7941 msgstr ""
7942
7943 #. type: Plain text
7944 #: build/C/man3/getlogin.3:136
7945 msgid "password database file"
7946 msgstr ""
7947
7948 #. type: TP
7949 #: build/C/man3/getlogin.3:136
7950 #, no-wrap
7951 msgid "I</var/run/utmp>"
7952 msgstr ""
7953
7954 #. type: Plain text
7955 #: build/C/man3/getlogin.3:140
7956 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
7957 msgstr ""
7958
7959 #. type: Plain text
7960 #: build/C/man3/getlogin.3:145
7961 msgid "The B<getlogin>()  function is not thread-safe."
7962 msgstr ""
7963
7964 #. type: Plain text
7965 #: build/C/man3/getlogin.3:149
7966 msgid "The B<getlogin_r>()  function is thread-safe."
7967 msgstr ""
7968
7969 #. type: Plain text
7970 #: build/C/man3/getlogin.3:154
7971 msgid ""
7972 "The B<cuserid>()  function is thread-safe with exceptions.  It is not "
7973 "thread-safe if called with a NULL parameter."
7974 msgstr ""
7975
7976 #. type: Plain text
7977 #: build/C/man3/getlogin.3:159
7978 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
7979 msgstr ""
7980
7981 #. type: Plain text
7982 #: build/C/man3/getlogin.3:170
7983 msgid ""
7984 "System V has a B<cuserid>()  function which uses the real user ID rather "
7985 "than the effective user ID.  The B<cuserid>()  function was included in the "
7986 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
7987 "SUSv2, but removed in POSIX.1-2001."
7988 msgstr ""
7989
7990 #. type: Plain text
7991 #: build/C/man3/getlogin.3:177
7992 msgid ""
7993 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
7994 "a session, even if it has no controlling terminal."
7995 msgstr ""
7996
7997 #. type: Plain text
7998 #: build/C/man3/getlogin.3:189
7999 msgid ""
8000 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
8001 "does not work at all, because some program messed up the utmp file.  Often, "
8002 "it gives only the first 8 characters of the login name.  The user currently "
8003 "logged in on the controlling terminal of our program need not be the user "
8004 "who started it.  Avoid B<getlogin>()  for security-related purposes."
8005 msgstr ""
8006
8007 #. type: Plain text
8008 #: build/C/man3/getlogin.3:199
8009 msgid ""
8010 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
8011 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
8012 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
8013 "redirected.)"
8014 msgstr ""
8015
8016 #. type: Plain text
8017 #: build/C/man3/getlogin.3:209
8018 msgid ""
8019 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
8020 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
8021 "that is what you meant.  B<Do not use> B<cuserid>()."
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man3/getlogin.3:213
8026 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8027 msgstr ""
8028
8029 #. type: TH
8030 #: build/C/man3/getopt.3:41
8031 #, no-wrap
8032 msgid "GETOPT"
8033 msgstr ""
8034
8035 #. type: Plain text
8036 #: build/C/man3/getopt.3:45
8037 msgid ""
8038 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
8039 "Parse command-line options"
8040 msgstr ""
8041
8042 #. type: Plain text
8043 #: build/C/man3/getopt.3:51
8044 #, no-wrap
8045 msgid ""
8046 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8047 "B<           const char *>I<optstring>B<);>\n"
8048 msgstr ""
8049
8050 #. type: Plain text
8051 #: build/C/man3/getopt.3:54
8052 #, no-wrap
8053 msgid ""
8054 "B<extern char *>I<optarg>B<;>\n"
8055 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8056 msgstr ""
8057
8058 #. type: Plain text
8059 #: build/C/man3/getopt.3:56
8060 #, no-wrap
8061 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8062 msgstr ""
8063
8064 #. type: Plain text
8065 #: build/C/man3/getopt.3:60
8066 #, no-wrap
8067 msgid ""
8068 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8069 "B<           const char *>I<optstring>B<,>\n"
8070 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8071 msgstr ""
8072
8073 #. type: Plain text
8074 #: build/C/man3/getopt.3:64
8075 #, no-wrap
8076 msgid ""
8077 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8078 "B<           const char *>I<optstring>B<,>\n"
8079 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8080 msgstr ""
8081
8082 #. type: Plain text
8083 #: build/C/man3/getopt.3:74
8084 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8085 msgstr ""
8086
8087 #. type: Plain text
8088 #: build/C/man3/getopt.3:78
8089 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8090 msgstr ""
8091
8092 #. type: Plain text
8093 #: build/C/man3/getopt.3:99
8094 msgid ""
8095 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
8096 "I<argc> and I<argv> are the argument count and array as passed to the "
8097 "I<main>()  function on program invocation.  An element of I<argv> that "
8098 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
8099 "element.  The characters of this element (aside from the initial "
8100 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
8101 "it returns successively each of the option characters from each of the "
8102 "option elements."
8103 msgstr ""
8104
8105 #. type: Plain text
8106 #: build/C/man3/getopt.3:108
8107 msgid ""
8108 "The variable I<optind> is the index of the next element to be processed in "
8109 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
8110 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
8111 "argument vector."
8112 msgstr ""
8113
8114 #. type: Plain text
8115 #: build/C/man3/getopt.3:118
8116 msgid ""
8117 "If B<getopt>()  finds another option character, it returns that character, "
8118 "updating the external variable I<optind> and a static variable I<nextchar> "
8119 "so that the next call to B<getopt>()  can resume the scan with the following "
8120 "option character or I<argv>-element."
8121 msgstr ""
8122
8123 #. type: Plain text
8124 #: build/C/man3/getopt.3:124
8125 msgid ""
8126 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8127 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8128 "an option."
8129 msgstr ""
8130
8131 #. type: Plain text
8132 #: build/C/man3/getopt.3:151
8133 msgid ""
8134 "I<optstring> is a string containing the legitimate option characters.  If "
8135 "such a character is followed by a colon, the option requires an argument, so "
8136 "B<getopt>()  places a pointer to the following text in the same "
8137 "I<argv>-element, or the text of the following I<argv>-element, in "
8138 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8139 "text in the current I<argv>-element (i.e., in the same word as the option "
8140 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8141 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8142 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8143 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8144 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8145 "not available with libraries before glibc 2."
8146 msgstr ""
8147
8148 #. type: Plain text
8149 #: build/C/man3/getopt.3:169
8150 msgid ""
8151 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8152 "that eventually all the nonoptions are at the end.  Two other modes are also "
8153 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8154 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8155 "as soon as a nonoption argument is encountered.  If the first character of "
8156 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8157 "as if it were the argument of an option with character code 1.  (This is "
8158 "used by programs that were written to expect options and other "
8159 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8160 "The special argument \"--\" forces an end of option-scanning regardless of "
8161 "the scanning mode."
8162 msgstr ""
8163
8164 #. type: Plain text
8165 #: build/C/man3/getopt.3:177
8166 msgid ""
8167 "If B<getopt>()  does not recognize an option character, it prints an error "
8168 "message to I<stderr>, stores the character in I<optopt>, and returns "
8169 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8170 "I<opterr> to 0."
8171 msgstr ""
8172
8173 #. type: Plain text
8174 #: build/C/man3/getopt.3:196
8175 msgid ""
8176 "If B<getopt>()  finds an option character in I<argv> that was not included "
8177 "in I<optstring>, or if it detects a missing option argument, it returns "
8178 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8179 "character.  If the first character (following any optional \\(aq+\\(aq or "
8180 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8181 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8182 "missing option argument.  If an error was detected, and the first character "
8183 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8184 "nonzero (which is the default), B<getopt>()  prints an error message."
8185 msgstr ""
8186
8187 #. type: SS
8188 #: build/C/man3/getopt.3:196
8189 #, no-wrap
8190 msgid "getopt_long() and getopt_long_only()"
8191 msgstr ""
8192
8193 #. type: Plain text
8194 #: build/C/man3/getopt.3:212
8195 msgid ""
8196 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8197 "accepts long options, started with two dashes.  (If the program accepts only "
8198 "long options, then I<optstring> should be specified as an empty string "
8199 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8200 "is unique or is an exact match for some defined option.  A long option may "
8201 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8202 msgstr ""
8203
8204 #. type: Plain text
8205 #: build/C/man3/getopt.3:219
8206 msgid ""
8207 "I<longopts> is a pointer to the first element of an array of I<struct "
8208 "option> declared in I<E<lt>getopt.hE<gt>> as"
8209 msgstr ""
8210
8211 #. type: Plain text
8212 #: build/C/man3/getopt.3:228
8213 #, no-wrap
8214 msgid ""
8215 "struct option {\n"
8216 "    const char *name;\n"
8217 "    int         has_arg;\n"
8218 "    int        *flag;\n"
8219 "    int         val;\n"
8220 "};\n"
8221 msgstr ""
8222
8223 #. type: Plain text
8224 #: build/C/man3/getopt.3:232
8225 msgid "The meanings of the different fields are:"
8226 msgstr ""
8227
8228 #. type: TP
8229 #: build/C/man3/getopt.3:232
8230 #, no-wrap
8231 msgid "I<name>"
8232 msgstr ""
8233
8234 #. type: Plain text
8235 #: build/C/man3/getopt.3:235
8236 msgid "is the name of the long option."
8237 msgstr ""
8238
8239 #. type: TP
8240 #: build/C/man3/getopt.3:235
8241 #, no-wrap
8242 msgid "I<has_arg>"
8243 msgstr ""
8244
8245 #. type: Plain text
8246 #: build/C/man3/getopt.3:241
8247 msgid ""
8248 "is: B<no_argument> (or 0) if the option does not take an argument; "
8249 "B<required_argument> (or 1) if the option requires an argument; or "
8250 "B<optional_argument> (or 2) if the option takes an optional argument."
8251 msgstr ""
8252
8253 #. type: TP
8254 #: build/C/man3/getopt.3:241
8255 #, no-wrap
8256 msgid "I<flag>"
8257 msgstr ""
8258
8259 #. type: Plain text
8260 #: build/C/man3/getopt.3:255
8261 msgid ""
8262 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8263 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8264 "may set I<val> to the equivalent short option character.)  Otherwise, "
8265 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8266 "to I<val> if the option is found, but left unchanged if the option is not "
8267 "found."
8268 msgstr ""
8269
8270 #. type: TP
8271 #: build/C/man3/getopt.3:255
8272 #, no-wrap
8273 msgid "I<val>"
8274 msgstr ""
8275
8276 #. type: Plain text
8277 #: build/C/man3/getopt.3:259
8278 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8279 msgstr ""
8280
8281 #. type: Plain text
8282 #: build/C/man3/getopt.3:261
8283 msgid "The last element of the array has to be filled with zeros."
8284 msgstr ""
8285
8286 #. type: Plain text
8287 #: build/C/man3/getopt.3:265
8288 msgid ""
8289 "If I<longindex> is not NULL, it points to a variable which is set to the "
8290 "index of the long option relative to I<longopts>."
8291 msgstr ""
8292
8293 #. type: Plain text
8294 #: build/C/man3/getopt.3:274
8295 msgid ""
8296 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8297 "\"--\" can indicate a long option.  If an option that starts with "
8298 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8299 "option, it is parsed as a short option instead."
8300 msgstr ""
8301
8302 #. type: Plain text
8303 #: build/C/man3/getopt.3:292
8304 msgid ""
8305 "If an option was successfully found, then B<getopt>()  returns the option "
8306 "character.  If all command-line options have been parsed, then B<getopt>()  "
8307 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8308 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8309 "option with a missing argument, then the return value depends on the first "
8310 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8311 "returned; otherwise \\(aq?\\(aq is returned."
8312 msgstr ""
8313
8314 #. type: Plain text
8315 #: build/C/man3/getopt.3:304
8316 msgid ""
8317 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8318 "character when a short option is recognized.  For a long option, they return "
8319 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8320 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8321 "extraneous parameter."
8322 msgstr ""
8323
8324 #. type: SH
8325 #: build/C/man3/getopt.3:304
8326 #, no-wrap
8327 msgid "ENVIRONMENT"
8328 msgstr ""
8329
8330 #. type: TP
8331 #: build/C/man3/getopt.3:305
8332 #, no-wrap
8333 msgid "B<POSIXLY_CORRECT>"
8334 msgstr ""
8335
8336 #. type: Plain text
8337 #: build/C/man3/getopt.3:309
8338 msgid ""
8339 "If this is set, then option processing stops as soon as a nonoption argument "
8340 "is encountered."
8341 msgstr ""
8342
8343 #. type: TP
8344 #: build/C/man3/getopt.3:309
8345 #, no-wrap
8346 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8347 msgstr ""
8348
8349 #. type: Plain text
8350 #: build/C/man3/getopt.3:318
8351 msgid ""
8352 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8353 "arguments are the results of wildcard expansion and so should not be "
8354 "considered as options.  This behavior was removed in B<bash>(1)  version "
8355 "2.01, but the support remains in glibc."
8356 msgstr ""
8357
8358 #. type: TP
8359 #: build/C/man3/getopt.3:319
8360 #, no-wrap
8361 msgid "B<getopt>():"
8362 msgstr ""
8363
8364 #. type: Plain text
8365 #: build/C/man3/getopt.3:329
8366 msgid ""
8367 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8368 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8369 "const, because we permute them.  We pretend they're const in the prototype "
8370 "to be compatible with other systems."
8371 msgstr ""
8372
8373 #. type: Plain text
8374 #: build/C/man3/getopt.3:333
8375 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8376 msgstr ""
8377
8378 #. type: Plain text
8379 #: build/C/man3/getopt.3:347
8380 msgid ""
8381 "On some older implementations, B<getopt>()  was declared in "
8382 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8383 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8384 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8385 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8386 msgstr ""
8387
8388 #. type: TP
8389 #: build/C/man3/getopt.3:347
8390 #, no-wrap
8391 msgid "B<getopt_long>() and B<getopt_long_only>():"
8392 msgstr ""
8393
8394 #. type: Plain text
8395 #: build/C/man3/getopt.3:369
8396 msgid ""
8397 "A program that scans multiple argument vectors, or rescans the same vector "
8398 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8399 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8400 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8401 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8402 "(Resetting to 0 forces the invocation of an internal initialization routine "
8403 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8404 "I<optstring>.)"
8405 msgstr ""
8406
8407 #. type: Plain text
8408 #: build/C/man3/getopt.3:376
8409 msgid ""
8410 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8411 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8412 "implementations) implements the correct behavior rather than that specified."
8413 msgstr ""
8414
8415 #. type: Plain text
8416 #: build/C/man3/getopt.3:384
8417 msgid ""
8418 "The following trivial example program uses B<getopt>()  to handle two "
8419 "program options: I<-n>, with no associated value; and I<-t val>, which "
8420 "expects an associated value."
8421 msgstr ""
8422
8423 #. type: Plain text
8424 #: build/C/man3/getopt.3:389
8425 #, no-wrap
8426 msgid ""
8427 "#include E<lt>unistd.hE<gt>\n"
8428 "#include E<lt>stdlib.hE<gt>\n"
8429 "#include E<lt>stdio.hE<gt>\n"
8430 msgstr ""
8431
8432 #. type: Plain text
8433 #: build/C/man3/getopt.3:395
8434 #, no-wrap
8435 msgid ""
8436 "int\n"
8437 "main(int argc, char *argv[])\n"
8438 "{\n"
8439 "    int flags, opt;\n"
8440 "    int nsecs, tfnd;\n"
8441 msgstr ""
8442
8443 #. type: Plain text
8444 #: build/C/man3/getopt.3:414
8445 #, no-wrap
8446 msgid ""
8447 "    nsecs = 0;\n"
8448 "    tfnd = 0;\n"
8449 "    flags = 0;\n"
8450 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8451 "        switch (opt) {\n"
8452 "        case \\(aqn\\(aq:\n"
8453 "            flags = 1;\n"
8454 "            break;\n"
8455 "        case \\(aqt\\(aq:\n"
8456 "            nsecs = atoi(optarg);\n"
8457 "            tfnd = 1;\n"
8458 "            break;\n"
8459 "        default: /* \\(aq?\\(aq */\n"
8460 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8461 "                    argv[0]);\n"
8462 "            exit(EXIT_FAILURE);\n"
8463 "        }\n"
8464 "    }\n"
8465 msgstr ""
8466
8467 #. type: Plain text
8468 #: build/C/man3/getopt.3:416
8469 #, no-wrap
8470 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8471 msgstr ""
8472
8473 #. type: Plain text
8474 #: build/C/man3/getopt.3:421
8475 #, no-wrap
8476 msgid ""
8477 "    if (optind E<gt>= argc) {\n"
8478 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8479 "        exit(EXIT_FAILURE);\n"
8480 "    }\n"
8481 msgstr ""
8482
8483 #. type: Plain text
8484 #: build/C/man3/getopt.3:423
8485 #, no-wrap
8486 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8487 msgstr ""
8488
8489 #. type: Plain text
8490 #: build/C/man3/getopt.3:425
8491 #, no-wrap
8492 msgid "    /* Other code omitted */\n"
8493 msgstr ""
8494
8495 #. type: Plain text
8496 #: build/C/man3/getopt.3:433
8497 msgid ""
8498 "The following example program illustrates the use of B<getopt_long>()  with "
8499 "most of its features."
8500 msgstr ""
8501
8502 #. type: Plain text
8503 #: build/C/man3/getopt.3:438
8504 #, no-wrap
8505 msgid ""
8506 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8507 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8508 "#include E<lt>getopt.hE<gt>\n"
8509 msgstr ""
8510
8511 #. type: Plain text
8512 #: build/C/man3/getopt.3:444
8513 #, no-wrap
8514 msgid ""
8515 "int\n"
8516 "main(int argc, char **argv)\n"
8517 "{\n"
8518 "    int c;\n"
8519 "    int digit_optind = 0;\n"
8520 msgstr ""
8521
8522 #. type: Plain text
8523 #: build/C/man3/getopt.3:457
8524 #, no-wrap
8525 msgid ""
8526 "    while (1) {\n"
8527 "        int this_option_optind = optind ? optind : 1;\n"
8528 "        int option_index = 0;\n"
8529 "        static struct option long_options[] = {\n"
8530 "            {\"add\",     required_argument, 0,  0 },\n"
8531 "            {\"append\",  no_argument,       0,  0 },\n"
8532 "            {\"delete\",  required_argument, 0,  0 },\n"
8533 "            {\"verbose\", no_argument,       0,  0 },\n"
8534 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8535 "            {\"file\",    required_argument, 0,  0 },\n"
8536 "            {0,         0,                 0,  0 }\n"
8537 "        };\n"
8538 msgstr ""
8539
8540 #. type: Plain text
8541 #: build/C/man3/getopt.3:462
8542 #, no-wrap
8543 msgid ""
8544 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8545 "                 long_options, &option_index);\n"
8546 "        if (c == -1)\n"
8547 "            break;\n"
8548 msgstr ""
8549
8550 #. type: Plain text
8551 #: build/C/man3/getopt.3:470
8552 #, no-wrap
8553 msgid ""
8554 "        switch (c) {\n"
8555 "        case 0:\n"
8556 "            printf(\"option %s\", long_options[option_index].name);\n"
8557 "            if (optarg)\n"
8558 "                printf(\" with arg %s\", optarg);\n"
8559 "            printf(\"\\en\");\n"
8560 "            break;\n"
8561 msgstr ""
8562
8563 #. type: Plain text
8564 #: build/C/man3/getopt.3:479
8565 #, no-wrap
8566 msgid ""
8567 "        case \\(aq0\\(aq:\n"
8568 "        case \\(aq1\\(aq:\n"
8569 "        case \\(aq2\\(aq:\n"
8570 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8571 "              printf(\"digits occur in two different "
8572 "argv-elements.\\en\");\n"
8573 "            digit_optind = this_option_optind;\n"
8574 "            printf(\"option %c\\en\", c);\n"
8575 "            break;\n"
8576 msgstr ""
8577
8578 #. type: Plain text
8579 #: build/C/man3/getopt.3:483
8580 #, no-wrap
8581 msgid ""
8582 "        case \\(aqa\\(aq:\n"
8583 "            printf(\"option a\\en\");\n"
8584 "            break;\n"
8585 msgstr ""
8586
8587 #. type: Plain text
8588 #: build/C/man3/getopt.3:487
8589 #, no-wrap
8590 msgid ""
8591 "        case \\(aqb\\(aq:\n"
8592 "            printf(\"option b\\en\");\n"
8593 "            break;\n"
8594 msgstr ""
8595
8596 #. type: Plain text
8597 #: build/C/man3/getopt.3:491
8598 #, no-wrap
8599 msgid ""
8600 "        case \\(aqc\\(aq:\n"
8601 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8602 "            break;\n"
8603 msgstr ""
8604
8605 #. type: Plain text
8606 #: build/C/man3/getopt.3:495
8607 #, no-wrap
8608 msgid ""
8609 "        case \\(aqd\\(aq:\n"
8610 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8611 "            break;\n"
8612 msgstr ""
8613
8614 #. type: Plain text
8615 #: build/C/man3/getopt.3:498
8616 #, no-wrap
8617 msgid ""
8618 "        case \\(aq?\\(aq:\n"
8619 "            break;\n"
8620 msgstr ""
8621
8622 #. type: Plain text
8623 #: build/C/man3/getopt.3:503
8624 #, no-wrap
8625 msgid ""
8626 "        default:\n"
8627 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8628 "        }\n"
8629 "    }\n"
8630 msgstr ""
8631
8632 #. type: Plain text
8633 #: build/C/man3/getopt.3:510
8634 #, no-wrap
8635 msgid ""
8636 "    if (optind E<lt> argc) {\n"
8637 "        printf(\"non-option ARGV-elements: \");\n"
8638 "        while (optind E<lt> argc)\n"
8639 "            printf(\"%s \", argv[optind++]);\n"
8640 "        printf(\"\\en\");\n"
8641 "    }\n"
8642 msgstr ""
8643
8644 #. type: Plain text
8645 #: build/C/man3/getopt.3:516
8646 msgid "B<getsubopt>(3)"
8647 msgstr ""
8648
8649 #. type: TH
8650 #: build/C/man2/getpagesize.2:25
8651 #, no-wrap
8652 msgid "GETPAGESIZE"
8653 msgstr ""
8654
8655 #. type: TH
8656 #: build/C/man2/getpagesize.2:25
8657 #, no-wrap
8658 msgid "2010-11-16"
8659 msgstr ""
8660
8661 #. type: Plain text
8662 #: build/C/man2/getpagesize.2:28
8663 msgid "getpagesize - get memory page size"
8664 msgstr ""
8665
8666 #. type: Plain text
8667 #: build/C/man2/getpagesize.2:32
8668 msgid "B<int getpagesize(void);>"
8669 msgstr ""
8670
8671 #. type: Plain text
8672 #: build/C/man2/getpagesize.2:39
8673 msgid "B<getpagesize>():"
8674 msgstr ""
8675
8676 #.  .SH HISTORY
8677 #.  This call first appeared in 4.2BSD.
8678 #. type: Plain text
8679 #: build/C/man2/getpagesize.2:64
8680 msgid ""
8681 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
8682 "where \"page\" is a fixed-length block, the unit for memory allocation and "
8683 "file mapping performed by B<mmap>(2)."
8684 msgstr ""
8685
8686 #. type: Plain text
8687 #: build/C/man2/getpagesize.2:71
8688 msgid ""
8689 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
8690 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
8691 msgstr ""
8692
8693 #. type: Plain text
8694 #: build/C/man2/getpagesize.2:76
8695 msgid ""
8696 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
8697 "B<getpagesize>():"
8698 msgstr ""
8699
8700 #. type: Plain text
8701 #: build/C/man2/getpagesize.2:81
8702 #, no-wrap
8703 msgid ""
8704 "#include E<lt>unistd.hE<gt>\n"
8705 "long sz = sysconf(_SC_PAGESIZE);\n"
8706 msgstr ""
8707
8708 #. type: Plain text
8709 #: build/C/man2/getpagesize.2:88
8710 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
8711 msgstr ""
8712
8713 #. type: Plain text
8714 #: build/C/man2/getpagesize.2:108
8715 msgid ""
8716 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
8717 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
8718 "value depends on the architecture and machine model.  Generally, one uses "
8719 "binaries that are dependent on the architecture but not on the machine "
8720 "model, in order to have a single binary distribution per architecture.  This "
8721 "means that a user program should not find B<PAGE_SIZE> at compile time from "
8722 "a header file, but use an actual system call, at least for those "
8723 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
8724 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
8725 "value, and does not use a system call.  Things are OK in glibc 2.1."
8726 msgstr ""
8727
8728 #. type: Plain text
8729 #: build/C/man2/getpagesize.2:111
8730 msgid "B<mmap>(2), B<sysconf>(3)"
8731 msgstr ""
8732
8733 #. type: TH
8734 #: build/C/man2/gettid.2:26
8735 #, no-wrap
8736 msgid "GETTID"
8737 msgstr ""
8738
8739 #. type: TH
8740 #: build/C/man2/gettid.2:26
8741 #, no-wrap
8742 msgid "2013-02-04"
8743 msgstr ""
8744
8745 #. type: Plain text
8746 #: build/C/man2/gettid.2:29
8747 msgid "gettid - get thread identification"
8748 msgstr ""
8749
8750 #. type: Plain text
8751 #: build/C/man2/gettid.2:32
8752 #, no-wrap
8753 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
8754 msgstr ""
8755
8756 #. type: Plain text
8757 #: build/C/man2/gettid.2:34
8758 #, no-wrap
8759 msgid "B<pid_t gettid(void);>\n"
8760 msgstr ""
8761
8762 #. type: Plain text
8763 #: build/C/man2/gettid.2:50
8764 msgid ""
8765 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
8766 "process, the thread ID is equal to the process ID (PID, as returned by "
8767 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
8768 "but each one has a unique TID.  For further details, see the discussion of "
8769 "B<CLONE_THREAD> in B<clone>(2)."
8770 msgstr ""
8771
8772 #. type: Plain text
8773 #: build/C/man2/gettid.2:52
8774 msgid "On success, returns the thread ID of the calling process."
8775 msgstr ""
8776
8777 #. type: Plain text
8778 #: build/C/man2/gettid.2:54
8779 msgid "This call is always successful."
8780 msgstr ""
8781
8782 #. type: Plain text
8783 #: build/C/man2/gettid.2:58
8784 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
8785 msgstr ""
8786
8787 #. type: Plain text
8788 #: build/C/man2/gettid.2:62
8789 msgid ""
8790 "B<gettid>()  is Linux-specific and should not be used in programs that are "
8791 "intended to be portable."
8792 msgstr ""
8793
8794 #.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
8795 #.  "gettid() should have a wrapper"
8796 #. type: Plain text
8797 #: build/C/man2/gettid.2:67
8798 msgid ""
8799 "Glibc does not provide a wrapper for this system call; call it using "
8800 "B<syscall>(2)."
8801 msgstr ""
8802
8803 #. type: Plain text
8804 #: build/C/man2/gettid.2:71
8805 msgid ""
8806 "The thread ID returned by this call is not the same thing as a POSIX thread "
8807 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
8808 msgstr ""
8809
8810 #.  .BR kcmp (2),
8811 #.  .BR move_pages (2),
8812 #.  .BR migrate_pages (2),
8813 #.  .BR process_vm_readv (2),
8814 #.  .BR ptrace (2),
8815 #. type: Plain text
8816 #: build/C/man2/gettid.2:90
8817 msgid ""
8818 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
8819 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
8820 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
8821 "B<timer_create>(2), B<tgkill>(2)"
8822 msgstr ""
8823
8824 #. type: TH
8825 #: build/C/man3/getumask.3:28
8826 #, no-wrap
8827 msgid "GETUMASK"
8828 msgstr ""
8829
8830 #. type: TH
8831 #: build/C/man3/getumask.3:28
8832 #, no-wrap
8833 msgid "2010-09-10"
8834 msgstr ""
8835
8836 #. type: Plain text
8837 #: build/C/man3/getumask.3:31
8838 msgid "getumask - get file creation mask"
8839 msgstr ""
8840
8841 #. type: Plain text
8842 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50 build/C/man2/umask.2:39 build/C/man2/vfork.2:33
8843 msgid "B<#include E<lt>sys/types.hE<gt>>"
8844 msgstr ""
8845
8846 #. type: Plain text
8847 #: build/C/man3/getumask.3:39
8848 msgid "B<mode_t getumask(void);>"
8849 msgstr ""
8850
8851 #. type: Plain text
8852 #: build/C/man3/getumask.3:42
8853 msgid "This function returns the current file creation mask.  It is equivalent to"
8854 msgstr ""
8855
8856 #. type: Plain text
8857 #: build/C/man3/getumask.3:51
8858 #, no-wrap
8859 msgid ""
8860 "mode_t getumask(void)\n"
8861 "{\n"
8862 "    mode_t mask = umask( 0 );\n"
8863 "    umask(mask);\n"
8864 "    return mask;\n"
8865 "}\n"
8866 msgstr ""
8867
8868 #. type: Plain text
8869 #: build/C/man3/getumask.3:58
8870 msgid ""
8871 "except that it is documented to be thread-safe (that is, shares a lock with "
8872 "the B<umask>(2)  library call)."
8873 msgstr ""
8874
8875 #. type: Plain text
8876 #: build/C/man3/getumask.3:60
8877 msgid "This is a vaporware GNU extension."
8878 msgstr ""
8879
8880 #. type: Plain text
8881 #: build/C/man3/getumask.3:63
8882 msgid ""
8883 "This function is documented but not implemented yet in glibc, as at version "
8884 "2.9."
8885 msgstr ""
8886
8887 #. type: Plain text
8888 #: build/C/man3/getumask.3:65
8889 msgid "B<umask>(2)"
8890 msgstr ""
8891
8892 #. type: TH
8893 #: build/C/man3/getusershell.3:30
8894 #, no-wrap
8895 msgid "GETUSERSHELL"
8896 msgstr ""
8897
8898 #. type: Plain text
8899 #: build/C/man3/getusershell.3:33
8900 msgid "getusershell, setusershell, endusershell - get permitted user shells"
8901 msgstr ""
8902
8903 #. type: Plain text
8904 #: build/C/man3/getusershell.3:38
8905 #, no-wrap
8906 msgid "B<char *getusershell(void);>\n"
8907 msgstr ""
8908
8909 #. type: Plain text
8910 #: build/C/man3/getusershell.3:40
8911 #, no-wrap
8912 msgid "B<void setusershell(void);>\n"
8913 msgstr ""
8914
8915 #. type: Plain text
8916 #: build/C/man3/getusershell.3:42
8917 #, no-wrap
8918 msgid "B<void endusershell(void);>\n"
8919 msgstr ""
8920
8921 #. type: Plain text
8922 #: build/C/man3/getusershell.3:53
8923 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
8924 msgstr ""
8925
8926 #. type: Plain text
8927 #: build/C/man3/getusershell.3:75
8928 msgid ""
8929 "The B<getusershell>()  function returns the next line from the file "
8930 "I</etc/shells>, opening the file if necessary.  The line should contain the "
8931 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
8932 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
8933 "listed in the file."
8934 msgstr ""
8935
8936 #. type: Plain text
8937 #: build/C/man3/getusershell.3:80
8938 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
8939 msgstr ""
8940
8941 #. type: Plain text
8942 #: build/C/man3/getusershell.3:85
8943 msgid "The B<endusershell>()  function closes I</etc/shells>."
8944 msgstr ""
8945
8946 #. type: Plain text
8947 #: build/C/man3/getusershell.3:89
8948 msgid "The B<getusershell>()  function returns a NULL pointer on end-of-file."
8949 msgstr ""
8950
8951 #. type: Plain text
8952 #: build/C/man3/getusershell.3:92
8953 #, no-wrap
8954 msgid "/etc/shells\n"
8955 msgstr ""
8956
8957 #. type: Plain text
8958 #: build/C/man3/getusershell.3:101
8959 msgid ""
8960 "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions "
8961 "are not thread-safe."
8962 msgstr ""
8963
8964 #. type: Plain text
8965 #: build/C/man3/getusershell.3:103
8966 msgid "4.3BSD."
8967 msgstr ""
8968
8969 #. type: Plain text
8970 #: build/C/man3/getusershell.3:105
8971 msgid "B<shells>(5)"
8972 msgstr ""
8973
8974 #. type: TH
8975 #: build/C/man2/idle.2:32
8976 #, no-wrap
8977 msgid "IDLE"
8978 msgstr ""
8979
8980 #. type: TH
8981 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
8982 #, no-wrap
8983 msgid "2012-12-31"
8984 msgstr ""
8985
8986 #. type: Plain text
8987 #: build/C/man2/idle.2:35
8988 msgid "idle - make process 0 idle"
8989 msgstr ""
8990
8991 #. type: Plain text
8992 #: build/C/man2/idle.2:39
8993 msgid "B<int idle(void);>"
8994 msgstr ""
8995
8996 #. type: Plain text
8997 #: build/C/man2/idle.2:46
8998 msgid ""
8999 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
9000 "process's pages as swappable, lowers its priority, and enters the main "
9001 "scheduling loop.  B<idle>()  never returns."
9002 msgstr ""
9003
9004 #. type: Plain text
9005 #: build/C/man2/idle.2:52
9006 msgid ""
9007 "Only process 0 may call B<idle>().  Any user process, even a process with "
9008 "superuser permission, will receive B<EPERM>."
9009 msgstr ""
9010
9011 #. type: Plain text
9012 #: build/C/man2/idle.2:55
9013 msgid ""
9014 "B<idle>()  never returns for process 0, and always returns -1 for a user "
9015 "process."
9016 msgstr ""
9017
9018 #. type: Plain text
9019 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
9020 msgid "Always, for a user process."
9021 msgstr ""
9022
9023 #. type: Plain text
9024 #: build/C/man2/idle.2:61
9025 msgid "Since Linux 2.3.13, this system call does not exist anymore."
9026 msgstr ""
9027
9028 #. type: Plain text
9029 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
9030 msgid ""
9031 "This function is Linux-specific, and should not be used in programs intended "
9032 "to be portable."
9033 msgstr ""
9034
9035 #. type: TH
9036 #: build/C/man2/ioctl.2:41
9037 #, no-wrap
9038 msgid "IOCTL"
9039 msgstr ""
9040
9041 #. type: TH
9042 #: build/C/man2/ioctl.2:41
9043 #, no-wrap
9044 msgid "2000-09-21"
9045 msgstr ""
9046
9047 #. type: Plain text
9048 #: build/C/man2/ioctl.2:44
9049 msgid "ioctl - control device"
9050 msgstr ""
9051
9052 #. type: Plain text
9053 #: build/C/man2/ioctl.2:46
9054 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
9055 msgstr ""
9056
9057 #. type: Plain text
9058 #: build/C/man2/ioctl.2:48
9059 msgid "B<int ioctl(int >I<d>B<, int >I<request>B<, ...);>"
9060 msgstr ""
9061
9062 #. type: Plain text
9063 #: build/C/man2/ioctl.2:59
9064 msgid ""
9065 "The B<ioctl>()  function manipulates the underlying device parameters of "
9066 "special files.  In particular, many operating characteristics of character "
9067 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
9068 "requests.  The argument I<d> must be an open file descriptor."
9069 msgstr ""
9070
9071 #. type: Plain text
9072 #: build/C/man2/ioctl.2:67
9073 msgid ""
9074 "The second argument is a device-dependent request code.  The third argument "
9075 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
9076 "the days before B<void *> was valid C), and will be so named for this "
9077 "discussion."
9078 msgstr ""
9079
9080 #. type: Plain text
9081 #: build/C/man2/ioctl.2:83
9082 msgid ""
9083 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
9084 "parameter or I<out> parameter, and the size of the argument I<argp> in "
9085 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
9086 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
9087 msgstr ""
9088
9089 #. type: Plain text
9090 #: build/C/man2/ioctl.2:92
9091 msgid ""
9092 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
9093 "return value as an output parameter and return a nonnegative value on "
9094 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9095 msgstr ""
9096
9097 #. type: Plain text
9098 #: build/C/man2/ioctl.2:97
9099 msgid "I<d> is not a valid descriptor."
9100 msgstr ""
9101
9102 #. type: Plain text
9103 #: build/C/man2/ioctl.2:101
9104 msgid "I<argp> references an inaccessible memory area."
9105 msgstr ""
9106
9107 #. type: Plain text
9108 #: build/C/man2/ioctl.2:107
9109 msgid "I<Request> or I<argp> is not valid."
9110 msgstr ""
9111
9112 #. type: Plain text
9113 #: build/C/man2/ioctl.2:111
9114 msgid "I<d> is not associated with a character special device."
9115 msgstr ""
9116
9117 #. type: Plain text
9118 #: build/C/man2/ioctl.2:117
9119 msgid ""
9120 "The specified request does not apply to the kind of object that the "
9121 "descriptor I<d> references."
9122 msgstr ""
9123
9124 #. type: Plain text
9125 #: build/C/man2/ioctl.2:132
9126 msgid ""
9127 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
9128 "according to the device driver in question (the call is used as a catch-all "
9129 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
9130 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
9131 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9132 msgstr ""
9133
9134 #. type: Plain text
9135 #: build/C/man2/ioctl.2:140
9136 msgid ""
9137 "In order to use this call, one needs an open file descriptor.  Often the "
9138 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
9139 "by giving it the B<O_NONBLOCK> flag."
9140 msgstr ""
9141
9142 #.  .BR mt (4),
9143 #. type: Plain text
9144 #: build/C/man2/ioctl.2:148
9145 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9146 msgstr ""
9147
9148 #. type: TH
9149 #: build/C/man2/ioctl_list.2:30
9150 #, no-wrap
9151 msgid "IOCTL_LIST"
9152 msgstr ""
9153
9154 #. type: TH
9155 #: build/C/man2/ioctl_list.2:30 build/C/man2/syscall.2:40
9156 #, no-wrap
9157 msgid "2013-09-17"
9158 msgstr ""
9159
9160 #. type: Plain text
9161 #: build/C/man2/ioctl_list.2:33
9162 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9163 msgstr ""
9164
9165 #. type: Plain text
9166 #: build/C/man2/ioctl_list.2:40
9167 msgid ""
9168 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9169 "1.3.27.  It contains 421 ioctls from "
9170 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9171 "value, its name, and its argument type are given."
9172 msgstr ""
9173
9174 #. type: Plain text
9175 #: build/C/man2/ioctl_list.2:48
9176 msgid ""
9177 "An argument type of I<const struct foo\\ *> means the argument is input to "
9178 "the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If "
9179 "the kernel uses the argument for both input and output, this is marked with "
9180 "I<//\\ I-O>."
9181 msgstr ""
9182
9183 #. type: Plain text
9184 #: build/C/man2/ioctl_list.2:53
9185 msgid ""
9186 "Some ioctls take more arguments or return more values than a single "
9187 "structure.  These are marked I<//\\ MORE> and documented further in a "
9188 "separate section."
9189 msgstr ""
9190
9191 #. type: Plain text
9192 #: build/C/man2/ioctl_list.2:55
9193 msgid "This list is very incomplete."
9194 msgstr ""
9195
9196 #. type: SS
9197 #: build/C/man2/ioctl_list.2:55
9198 #, no-wrap
9199 msgid "ioctl structure"
9200 msgstr ""
9201
9202 #.  added two sections - aeb
9203 #. type: Plain text
9204 #: build/C/man2/ioctl_list.2:60
9205 msgid ""
9206 "Ioctl command values are 32-bit constants.  In principle these constants are "
9207 "completely arbitrary, but people have tried to build some structure into "
9208 "them."
9209 msgstr ""
9210
9211 #. type: Plain text
9212 #: build/C/man2/ioctl_list.2:79
9213 msgid ""
9214 "The old Linux situation was that of mostly 16-bit constants, where the last "
9215 "byte is a serial number, and the preceding byte(s) give a type indicating "
9216 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9217 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9218 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9219 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9220 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9221 "driver."
9222 msgstr ""
9223
9224 #. type: Plain text
9225 #: build/C/man2/ioctl_list.2:87
9226 msgid ""
9227 "Later (0.98p5) some more information was built into the number.  One has 2 "
9228 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9229 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9230 "(collecting the ioctls in groups for a common purpose or a common driver), "
9231 "and an 8-bit serial number."
9232 msgstr ""
9233
9234 #. type: Plain text
9235 #: build/C/man2/ioctl_list.2:98
9236 msgid ""
9237 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9238 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9239 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9240 "data type."
9241 msgstr ""
9242
9243 #. type: Plain text
9244 #: build/C/man2/ioctl_list.2:103
9245 msgid ""
9246 "Note that the size bits are very unreliable: in lots of cases they are "
9247 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9248 "because of legacy values."
9249 msgstr ""
9250
9251 #. type: Plain text
9252 #: build/C/man2/ioctl_list.2:107
9253 msgid ""
9254 "Thus, it seems that the new structure only gave disadvantages: it does not "
9255 "help in checking, but it causes varying values for the various "
9256 "architectures."
9257 msgstr ""
9258
9259 #. type: Plain text
9260 #: build/C/man2/ioctl_list.2:113
9261 msgid ""
9262 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9263 "stored via the argument.  However, quite a few ioctls in fact return an "
9264 "output value.  This is not yet indicated below."
9265 msgstr ""
9266
9267 #. type: Plain text
9268 #: build/C/man2/ioctl_list.2:115
9269 msgid "// Main table."
9270 msgstr ""
9271
9272 #. type: Plain text
9273 #: build/C/man2/ioctl_list.2:117
9274 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9275 msgstr ""
9276
9277 #. type: tbl table
9278 #: build/C/man2/ioctl_list.2:119
9279 #, no-wrap
9280 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9281 msgstr ""
9282
9283 #. type: tbl table
9284 #: build/C/man2/ioctl_list.2:120
9285 #, no-wrap
9286 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9287 msgstr ""
9288
9289 #. type: tbl table
9290 #: build/C/man2/ioctl_list.2:121
9291 #, no-wrap
9292 msgid "0x00008903\tFIOGETOWN\tint *\n"
9293 msgstr ""
9294
9295 #. type: tbl table
9296 #: build/C/man2/ioctl_list.2:122
9297 #, no-wrap
9298 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9299 msgstr ""
9300
9301 #. type: tbl table
9302 #: build/C/man2/ioctl_list.2:123
9303 #, no-wrap
9304 msgid "0x00008905\tSIOCATMAR\tint *\n"
9305 msgstr ""
9306
9307 #. type: tbl table
9308 #: build/C/man2/ioctl_list.2:124
9309 #, no-wrap
9310 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9311 msgstr ""
9312
9313 #. type: Plain text
9314 #: build/C/man2/ioctl_list.2:128
9315 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9316 msgstr ""
9317
9318 #. type: tbl table
9319 #: build/C/man2/ioctl_list.2:130
9320 #, no-wrap
9321 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9322 msgstr ""
9323
9324 #. type: tbl table
9325 #: build/C/man2/ioctl_list.2:131
9326 #, no-wrap
9327 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9328 msgstr ""
9329
9330 #. type: tbl table
9331 #: build/C/man2/ioctl_list.2:132
9332 #, no-wrap
9333 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9334 msgstr ""
9335
9336 #. type: tbl table
9337 #: build/C/man2/ioctl_list.2:133
9338 #, no-wrap
9339 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9340 msgstr ""
9341
9342 #. type: tbl table
9343 #: build/C/man2/ioctl_list.2:134
9344 #, no-wrap
9345 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9346 msgstr ""
9347
9348 #. type: tbl table
9349 #: build/C/man2/ioctl_list.2:135
9350 #, no-wrap
9351 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9352 msgstr ""
9353
9354 #. type: tbl table
9355 #: build/C/man2/ioctl_list.2:136
9356 #, no-wrap
9357 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9358 msgstr ""
9359
9360 #. type: tbl table
9361 #: build/C/man2/ioctl_list.2:137
9362 #, no-wrap
9363 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9364 msgstr ""
9365
9366 #. type: tbl table
9367 #: build/C/man2/ioctl_list.2:138
9368 #, no-wrap
9369 msgid "0x00005409\tTCSBRK\tint\n"
9370 msgstr ""
9371
9372 #. type: tbl table
9373 #: build/C/man2/ioctl_list.2:139
9374 #, no-wrap
9375 msgid "0x0000540A\tTCXONC\tint\n"
9376 msgstr ""
9377
9378 #. type: tbl table
9379 #: build/C/man2/ioctl_list.2:140
9380 #, no-wrap
9381 msgid "0x0000540B\tTCFLSH\tint\n"
9382 msgstr ""
9383
9384 #. type: tbl table
9385 #: build/C/man2/ioctl_list.2:141
9386 #, no-wrap
9387 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9388 msgstr ""
9389
9390 #. type: tbl table
9391 #: build/C/man2/ioctl_list.2:142
9392 #, no-wrap
9393 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9394 msgstr ""
9395
9396 #. type: tbl table
9397 #: build/C/man2/ioctl_list.2:143
9398 #, no-wrap
9399 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9400 msgstr ""
9401
9402 #. type: tbl table
9403 #: build/C/man2/ioctl_list.2:144
9404 #, no-wrap
9405 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9406 msgstr ""
9407
9408 #. type: tbl table
9409 #: build/C/man2/ioctl_list.2:145
9410 #, no-wrap
9411 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9412 msgstr ""
9413
9414 #. type: tbl table
9415 #: build/C/man2/ioctl_list.2:146
9416 #, no-wrap
9417 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9418 msgstr ""
9419
9420 #. type: tbl table
9421 #: build/C/man2/ioctl_list.2:147
9422 #, no-wrap
9423 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9424 msgstr ""
9425
9426 #. type: tbl table
9427 #: build/C/man2/ioctl_list.2:148
9428 #, no-wrap
9429 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9430 msgstr ""
9431
9432 #. type: tbl table
9433 #: build/C/man2/ioctl_list.2:149
9434 #, no-wrap
9435 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9436 msgstr ""
9437
9438 #. type: tbl table
9439 #: build/C/man2/ioctl_list.2:150
9440 #, no-wrap
9441 msgid "0x00005415\tTIOCMGET\tint *\n"
9442 msgstr ""
9443
9444 #. type: tbl table
9445 #: build/C/man2/ioctl_list.2:151
9446 #, no-wrap
9447 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9448 msgstr ""
9449
9450 #. type: tbl table
9451 #: build/C/man2/ioctl_list.2:152
9452 #, no-wrap
9453 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9454 msgstr ""
9455
9456 #. type: tbl table
9457 #: build/C/man2/ioctl_list.2:153
9458 #, no-wrap
9459 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9460 msgstr ""
9461
9462 #. type: tbl table
9463 #: build/C/man2/ioctl_list.2:154
9464 #, no-wrap
9465 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9466 msgstr ""
9467
9468 #. type: tbl table
9469 #: build/C/man2/ioctl_list.2:155
9470 #, no-wrap
9471 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9472 msgstr ""
9473
9474 #. type: tbl table
9475 #: build/C/man2/ioctl_list.2:156
9476 #, no-wrap
9477 msgid "0x0000541B\tFIONREAD\tint *\n"
9478 msgstr ""
9479
9480 #. type: tbl table
9481 #: build/C/man2/ioctl_list.2:157
9482 #, no-wrap
9483 msgid "0x0000541B\tTIOCINQ\tint *\n"
9484 msgstr ""
9485
9486 #. type: tbl table
9487 #: build/C/man2/ioctl_list.2:158
9488 #, no-wrap
9489 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9490 msgstr ""
9491
9492 #. type: tbl table
9493 #: build/C/man2/ioctl_list.2:159
9494 #, no-wrap
9495 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9496 msgstr ""
9497
9498 #. type: tbl table
9499 #: build/C/man2/ioctl_list.2:160
9500 #, no-wrap
9501 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9502 msgstr ""
9503
9504 #. type: tbl table
9505 #: build/C/man2/ioctl_list.2:161
9506 #, no-wrap
9507 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9508 msgstr ""
9509
9510 #. type: tbl table
9511 #: build/C/man2/ioctl_list.2:162
9512 #, no-wrap
9513 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9514 msgstr ""
9515
9516 #. type: tbl table
9517 #: build/C/man2/ioctl_list.2:163
9518 #, no-wrap
9519 msgid "0x00005421\tFIONBIO\tconst int *\n"
9520 msgstr ""
9521
9522 #. type: tbl table
9523 #: build/C/man2/ioctl_list.2:164
9524 #, no-wrap
9525 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
9526 msgstr ""
9527
9528 #. type: tbl table
9529 #: build/C/man2/ioctl_list.2:165
9530 #, no-wrap
9531 msgid "0x00005423\tTIOCSETD\tconst int *\n"
9532 msgstr ""
9533
9534 #. type: tbl table
9535 #: build/C/man2/ioctl_list.2:166
9536 #, no-wrap
9537 msgid "0x00005424\tTIOCGETD\tint *\n"
9538 msgstr ""
9539
9540 #. type: tbl table
9541 #: build/C/man2/ioctl_list.2:167
9542 #, no-wrap
9543 msgid "0x00005425\tTCSBRKP\tint\n"
9544 msgstr ""
9545
9546 #. type: tbl table
9547 #: build/C/man2/ioctl_list.2:168
9548 #, no-wrap
9549 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9550 msgstr ""
9551
9552 #. type: tbl table
9553 #: build/C/man2/ioctl_list.2:169
9554 #, no-wrap
9555 msgid "0x00005450\tFIONCLEX\tvoid\n"
9556 msgstr ""
9557
9558 #. type: tbl table
9559 #: build/C/man2/ioctl_list.2:170
9560 #, no-wrap
9561 msgid "0x00005451\tFIOCLEX\tvoid\n"
9562 msgstr ""
9563
9564 #. type: tbl table
9565 #: build/C/man2/ioctl_list.2:171
9566 #, no-wrap
9567 msgid "0x00005452\tFIOASYNC\tconst int *\n"
9568 msgstr ""
9569
9570 #. type: tbl table
9571 #: build/C/man2/ioctl_list.2:172
9572 #, no-wrap
9573 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
9574 msgstr ""
9575
9576 #. type: tbl table
9577 #: build/C/man2/ioctl_list.2:173
9578 #, no-wrap
9579 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
9580 msgstr ""
9581
9582 #. type: tbl table
9583 #: build/C/man2/ioctl_list.2:174
9584 #, no-wrap
9585 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
9586 msgstr ""
9587
9588 #. type: tbl table
9589 #: build/C/man2/ioctl_list.2:175
9590 #, no-wrap
9591 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9592 msgstr ""
9593
9594 #. type: tbl table
9595 #: build/C/man2/ioctl_list.2:176
9596 #, no-wrap
9597 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9598 msgstr ""
9599
9600 #. type: tbl table
9601 #: build/C/man2/ioctl_list.2:177
9602 #, no-wrap
9603 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9604 msgstr ""
9605
9606 #. type: tbl table
9607 #: build/C/man2/ioctl_list.2:178
9608 #, no-wrap
9609 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
9610 msgstr ""
9611
9612 #. type: tbl table
9613 #: build/C/man2/ioctl_list.2:185
9614 #, no-wrap
9615 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9616 msgstr ""
9617
9618 #. type: tbl table
9619 #: build/C/man2/ioctl_list.2:186
9620 #, no-wrap
9621 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9622 msgstr ""
9623
9624 #. type: Plain text
9625 #: build/C/man2/ioctl_list.2:190
9626 msgid "// E<lt>include/linux/ax25.hE<gt>"
9627 msgstr ""
9628
9629 #. type: tbl table
9630 #: build/C/man2/ioctl_list.2:192
9631 #, no-wrap
9632 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9633 msgstr ""
9634
9635 #. type: tbl table
9636 #: build/C/man2/ioctl_list.2:193
9637 #, no-wrap
9638 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9639 msgstr ""
9640
9641 #. type: tbl table
9642 #: build/C/man2/ioctl_list.2:194
9643 #, no-wrap
9644 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9645 msgstr ""
9646
9647 #. type: tbl table
9648 #: build/C/man2/ioctl_list.2:195
9649 #, no-wrap
9650 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9651 msgstr ""
9652
9653 #. type: tbl table
9654 #: build/C/man2/ioctl_list.2:196
9655 #, no-wrap
9656 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9657 msgstr ""
9658
9659 #. type: tbl table
9660 #: build/C/man2/ioctl_list.2:197
9661 #, no-wrap
9662 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9663 msgstr ""
9664
9665 #. type: tbl table
9666 #: build/C/man2/ioctl_list.2:201
9667 #, no-wrap
9668 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9669 msgstr ""
9670
9671 #. type: Plain text
9672 #: build/C/man2/ioctl_list.2:205
9673 msgid "// E<lt>include/linux/cdk.hE<gt>"
9674 msgstr ""
9675
9676 #. type: tbl table
9677 #: build/C/man2/ioctl_list.2:207
9678 #, no-wrap
9679 msgid "0x00007314\tSTL_BINTR\tvoid\n"
9680 msgstr ""
9681
9682 #. type: tbl table
9683 #: build/C/man2/ioctl_list.2:208
9684 #, no-wrap
9685 msgid "0x00007315\tSTL_BSTART\tvoid\n"
9686 msgstr ""
9687
9688 #. type: tbl table
9689 #: build/C/man2/ioctl_list.2:209
9690 #, no-wrap
9691 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
9692 msgstr ""
9693
9694 #. type: tbl table
9695 #: build/C/man2/ioctl_list.2:210
9696 #, no-wrap
9697 msgid "0x00007317\tSTL_BRESET\tvoid\n"
9698 msgstr ""
9699
9700 #. type: Plain text
9701 #: build/C/man2/ioctl_list.2:214
9702 msgid "// E<lt>include/linux/cdrom.hE<gt>"
9703 msgstr ""
9704
9705 #. type: tbl table
9706 #: build/C/man2/ioctl_list.2:216
9707 #, no-wrap
9708 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
9709 msgstr ""
9710
9711 #. type: tbl table
9712 #: build/C/man2/ioctl_list.2:217
9713 #, no-wrap
9714 msgid "0x00005302\tCDROMRESUME\tvoid\n"
9715 msgstr ""
9716
9717 #. type: tbl table
9718 #: build/C/man2/ioctl_list.2:218
9719 #, no-wrap
9720 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9721 msgstr ""
9722
9723 #. type: tbl table
9724 #: build/C/man2/ioctl_list.2:219
9725 #, no-wrap
9726 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9727 msgstr ""
9728
9729 #. type: tbl table
9730 #: build/C/man2/ioctl_list.2:220
9731 #, no-wrap
9732 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9733 msgstr ""
9734
9735 #. type: tbl table
9736 #: build/C/man2/ioctl_list.2:224
9737 #, no-wrap
9738 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9739 msgstr ""
9740
9741 #. type: tbl table
9742 #: build/C/man2/ioctl_list.2:228
9743 #, no-wrap
9744 msgid "0x00005307\tCDROMSTOP\tvoid\n"
9745 msgstr ""
9746
9747 #. type: tbl table
9748 #: build/C/man2/ioctl_list.2:229
9749 #, no-wrap
9750 msgid "0x00005308\tCDROMSTART\tvoid\n"
9751 msgstr ""
9752
9753 #. type: tbl table
9754 #: build/C/man2/ioctl_list.2:230
9755 #, no-wrap
9756 msgid "0x00005309\tCDROMEJECT\tvoid\n"
9757 msgstr ""
9758
9759 #. type: tbl table
9760 #: build/C/man2/ioctl_list.2:231
9761 #, no-wrap
9762 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9763 msgstr ""
9764
9765 #. type: tbl table
9766 #: build/C/man2/ioctl_list.2:232
9767 #, no-wrap
9768 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9769 msgstr ""
9770
9771 #. type: tbl table
9772 #: build/C/man2/ioctl_list.2:233
9773 #, no-wrap
9774 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9775 msgstr ""
9776
9777 #. type: tbl table
9778 #: build/C/man2/ioctl_list.2:234
9779 #, no-wrap
9780 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9781 msgstr ""
9782
9783 #. type: tbl table
9784 #: build/C/man2/ioctl_list.2:235
9785 #, no-wrap
9786 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9787 msgstr ""
9788
9789 #. type: tbl table
9790 #: build/C/man2/ioctl_list.2:236
9791 #, no-wrap
9792 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
9793 msgstr ""
9794
9795 #. type: tbl table
9796 #: build/C/man2/ioctl_list.2:240
9797 #, no-wrap
9798 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9799 msgstr ""
9800
9801 #. type: tbl table
9802 #: build/C/man2/ioctl_list.2:244
9803 #, no-wrap
9804 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9805 msgstr ""
9806
9807 #. type: tbl table
9808 #: build/C/man2/ioctl_list.2:245
9809 #, no-wrap
9810 msgid "0x00005312\tCDROMRESET\tvoid\n"
9811 msgstr ""
9812
9813 #. type: tbl table
9814 #: build/C/man2/ioctl_list.2:246
9815 #, no-wrap
9816 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9817 msgstr ""
9818
9819 #. type: tbl table
9820 #: build/C/man2/ioctl_list.2:247
9821 #, no-wrap
9822 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9823 msgstr ""
9824
9825 #. type: tbl table
9826 #: build/C/man2/ioctl_list.2:248
9827 #, no-wrap
9828 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9829 msgstr ""
9830
9831 #. type: tbl table
9832 #: build/C/man2/ioctl_list.2:249
9833 #, no-wrap
9834 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9835 msgstr ""
9836
9837 #. type: Plain text
9838 #: build/C/man2/ioctl_list.2:253
9839 msgid "// E<lt>include/linux/cm206.hE<gt>"
9840 msgstr ""
9841
9842 #. type: tbl table
9843 #: build/C/man2/ioctl_list.2:255
9844 #, no-wrap
9845 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
9846 msgstr ""
9847
9848 #. type: tbl table
9849 #: build/C/man2/ioctl_list.2:256
9850 #, no-wrap
9851 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9852 msgstr ""
9853
9854 #. type: Plain text
9855 #: build/C/man2/ioctl_list.2:260
9856 msgid "// E<lt>include/linux/cyclades.hE<gt>"
9857 msgstr ""
9858
9859 #. type: tbl table
9860 #: build/C/man2/ioctl_list.2:262
9861 #, no-wrap
9862 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9863 msgstr ""
9864
9865 #. type: tbl table
9866 #: build/C/man2/ioctl_list.2:263
9867 #, no-wrap
9868 msgid "0x00435902\tCYGETTHRESH\tint *\n"
9869 msgstr ""
9870
9871 #. type: tbl table
9872 #: build/C/man2/ioctl_list.2:264
9873 #, no-wrap
9874 msgid "0x00435903\tCYSETTHRESH\tint\n"
9875 msgstr ""
9876
9877 #. type: tbl table
9878 #: build/C/man2/ioctl_list.2:265
9879 #, no-wrap
9880 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
9881 msgstr ""
9882
9883 #. type: tbl table
9884 #: build/C/man2/ioctl_list.2:266
9885 #, no-wrap
9886 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
9887 msgstr ""
9888
9889 #. type: tbl table
9890 #: build/C/man2/ioctl_list.2:267
9891 #, no-wrap
9892 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
9893 msgstr ""
9894
9895 #. type: tbl table
9896 #: build/C/man2/ioctl_list.2:268
9897 #, no-wrap
9898 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
9899 msgstr ""
9900
9901 #. type: tbl table
9902 #: build/C/man2/ioctl_list.2:269
9903 #, no-wrap
9904 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9905 msgstr ""
9906
9907 #. type: tbl table
9908 #: build/C/man2/ioctl_list.2:270
9909 #, no-wrap
9910 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9911 msgstr ""
9912
9913 #. type: Plain text
9914 #: build/C/man2/ioctl_list.2:274
9915 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
9916 msgstr ""
9917
9918 #. type: tbl table
9919 #: build/C/man2/ioctl_list.2:276
9920 #, no-wrap
9921 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9922 msgstr ""
9923
9924 #. type: tbl table
9925 #: build/C/man2/ioctl_list.2:277
9926 #, no-wrap
9927 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9928 msgstr ""
9929
9930 #. type: tbl table
9931 #: build/C/man2/ioctl_list.2:278
9932 #, no-wrap
9933 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9934 msgstr ""
9935
9936 #. type: tbl table
9937 #: build/C/man2/ioctl_list.2:279
9938 #, no-wrap
9939 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9940 msgstr ""
9941
9942 #. type: Plain text
9943 #: build/C/man2/ioctl_list.2:283
9944 msgid "// E<lt>include/linux/fd.hE<gt>"
9945 msgstr ""
9946
9947 #. type: tbl table
9948 #: build/C/man2/ioctl_list.2:285
9949 #, no-wrap
9950 msgid "0x00000000\tFDCLRPRM\tvoid\n"
9951 msgstr ""
9952
9953 #. type: tbl table
9954 #: build/C/man2/ioctl_list.2:286
9955 #, no-wrap
9956 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9957 msgstr ""
9958
9959 #. type: tbl table
9960 #: build/C/man2/ioctl_list.2:287
9961 #, no-wrap
9962 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9963 msgstr ""
9964
9965 #. type: tbl table
9966 #: build/C/man2/ioctl_list.2:288
9967 #, no-wrap
9968 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
9969 msgstr ""
9970
9971 #. type: tbl table
9972 #: build/C/man2/ioctl_list.2:289
9973 #, no-wrap
9974 msgid "0x00000004\tFDMSGON\tvoid\n"
9975 msgstr ""
9976
9977 #. type: tbl table
9978 #: build/C/man2/ioctl_list.2:290
9979 #, no-wrap
9980 msgid "0x00000005\tFDMSGOFF\tvoid\n"
9981 msgstr ""
9982
9983 #. type: tbl table
9984 #: build/C/man2/ioctl_list.2:291
9985 #, no-wrap
9986 msgid "0x00000006\tFDFMTBEG\tvoid\n"
9987 msgstr ""
9988
9989 #. type: tbl table
9990 #: build/C/man2/ioctl_list.2:292
9991 #, no-wrap
9992 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
9993 msgstr ""
9994
9995 #. type: tbl table
9996 #: build/C/man2/ioctl_list.2:293
9997 #, no-wrap
9998 msgid "0x00000008\tFDFMTEND\tvoid\n"
9999 msgstr ""
10000
10001 #. type: tbl table
10002 #: build/C/man2/ioctl_list.2:294
10003 #, no-wrap
10004 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
10005 msgstr ""
10006
10007 #. type: tbl table
10008 #: build/C/man2/ioctl_list.2:295
10009 #, no-wrap
10010 msgid "0x0000000B\tFDFLUSH\tvoid\n"
10011 msgstr ""
10012
10013 #. type: tbl table
10014 #: build/C/man2/ioctl_list.2:296
10015 #, no-wrap
10016 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10017 msgstr ""
10018
10019 #. type: tbl table
10020 #: build/C/man2/ioctl_list.2:297
10021 #, no-wrap
10022 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10023 msgstr ""
10024
10025 #. type: tbl table
10026 #: build/C/man2/ioctl_list.2:298
10027 #, no-wrap
10028 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10029 msgstr ""
10030
10031 #. type: tbl table
10032 #: build/C/man2/ioctl_list.2:299
10033 #, no-wrap
10034 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10035 msgstr ""
10036
10037 #. type: tbl table
10038 #: build/C/man2/ioctl_list.2:300
10039 #, no-wrap
10040 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10041 msgstr ""
10042
10043 #. type: tbl table
10044 #: build/C/man2/ioctl_list.2:301
10045 #, no-wrap
10046 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10047 msgstr ""
10048
10049 #. type: tbl table
10050 #: build/C/man2/ioctl_list.2:302
10051 #, no-wrap
10052 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10053 msgstr ""
10054
10055 #. type: tbl table
10056 #: build/C/man2/ioctl_list.2:303
10057 #, no-wrap
10058 msgid "0x00000018\tFDRESET\tint\n"
10059 msgstr ""
10060
10061 #. type: tbl table
10062 #: build/C/man2/ioctl_list.2:304
10063 #, no-wrap
10064 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10065 msgstr ""
10066
10067 #. type: tbl table
10068 #: build/C/man2/ioctl_list.2:305
10069 #, no-wrap
10070 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10071 msgstr ""
10072
10073 #. type: tbl table
10074 #: build/C/man2/ioctl_list.2:306
10075 #, no-wrap
10076 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10077 msgstr ""
10078
10079 #. type: tbl table
10080 #: build/C/man2/ioctl_list.2:310
10081 #, no-wrap
10082 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10083 msgstr ""
10084
10085 #. type: tbl table
10086 #: build/C/man2/ioctl_list.2:311
10087 #, no-wrap
10088 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10089 msgstr ""
10090
10091 #. type: Plain text
10092 #: build/C/man2/ioctl_list.2:315
10093 msgid "// E<lt>include/linux/fs.hE<gt>"
10094 msgstr ""
10095
10096 #. type: tbl table
10097 #: build/C/man2/ioctl_list.2:317
10098 #, no-wrap
10099 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10100 msgstr ""
10101
10102 #. type: tbl table
10103 #: build/C/man2/ioctl_list.2:318
10104 #, no-wrap
10105 msgid "0x0000125E\tBLKROGET\tint *\n"
10106 msgstr ""
10107
10108 #. type: tbl table
10109 #: build/C/man2/ioctl_list.2:319
10110 #, no-wrap
10111 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10112 msgstr ""
10113
10114 #. type: tbl table
10115 #: build/C/man2/ioctl_list.2:320
10116 #, no-wrap
10117 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10118 msgstr ""
10119
10120 #. type: tbl table
10121 #: build/C/man2/ioctl_list.2:321
10122 #, no-wrap
10123 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10124 msgstr ""
10125
10126 #. type: tbl table
10127 #: build/C/man2/ioctl_list.2:322
10128 #, no-wrap
10129 msgid "0x00001262\tBLKRASET\tint\n"
10130 msgstr ""
10131
10132 #. type: tbl table
10133 #: build/C/man2/ioctl_list.2:323
10134 #, no-wrap
10135 msgid "0x00001263\tBLKRAGET\tint *\n"
10136 msgstr ""
10137
10138 #. type: tbl table
10139 #: build/C/man2/ioctl_list.2:324
10140 #, no-wrap
10141 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10142 msgstr ""
10143
10144 #. type: tbl table
10145 #: build/C/man2/ioctl_list.2:325
10146 #, no-wrap
10147 msgid "0x00000002\tFIGETBSZ\tint *\n"
10148 msgstr ""
10149
10150 #. type: Plain text
10151 #: build/C/man2/ioctl_list.2:329
10152 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10153 msgstr ""
10154
10155 #. type: tbl table
10156 #: build/C/man2/ioctl_list.2:331
10157 #, no-wrap
10158 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10159 msgstr ""
10160
10161 #. type: tbl table
10162 #: build/C/man2/ioctl_list.2:332
10163 #, no-wrap
10164 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10165 msgstr ""
10166
10167 #. type: tbl table
10168 #: build/C/man2/ioctl_list.2:333
10169 #, no-wrap
10170 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10171 msgstr ""
10172
10173 #. type: tbl table
10174 #: build/C/man2/ioctl_list.2:334
10175 #, no-wrap
10176 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10177 msgstr ""
10178
10179 #. type: tbl table
10180 #: build/C/man2/ioctl_list.2:335
10181 #, no-wrap
10182 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10183 msgstr ""
10184
10185 #. type: tbl table
10186 #: build/C/man2/ioctl_list.2:336
10187 #, no-wrap
10188 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10189 msgstr ""
10190
10191 #. type: tbl table
10192 #: build/C/man2/ioctl_list.2:337
10193 #, no-wrap
10194 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10195 msgstr ""
10196
10197 #. type: tbl table
10198 #: build/C/man2/ioctl_list.2:338
10199 #, no-wrap
10200 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10201 msgstr ""
10202
10203 #. type: tbl table
10204 #: build/C/man2/ioctl_list.2:339
10205 #, no-wrap
10206 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10207 msgstr ""
10208
10209 #. type: tbl table
10210 #: build/C/man2/ioctl_list.2:340
10211 #, no-wrap
10212 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10213 msgstr ""
10214
10215 #. type: tbl table
10216 #: build/C/man2/ioctl_list.2:341
10217 #, no-wrap
10218 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10219 msgstr ""
10220
10221 #. type: tbl table
10222 #: build/C/man2/ioctl_list.2:342
10223 #, no-wrap
10224 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10225 msgstr ""
10226
10227 #. type: tbl table
10228 #: build/C/man2/ioctl_list.2:343
10229 #, no-wrap
10230 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10231 msgstr ""
10232
10233 #. type: tbl table
10234 #: build/C/man2/ioctl_list.2:344
10235 #, no-wrap
10236 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10237 msgstr ""
10238
10239 #. type: tbl table
10240 #: build/C/man2/ioctl_list.2:345
10241 #, no-wrap
10242 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10243 msgstr ""
10244
10245 #. type: Plain text
10246 #: build/C/man2/ioctl_list.2:349
10247 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10248 msgstr ""
10249
10250 #. type: tbl table
10251 #: build/C/man2/ioctl_list.2:351
10252 #, no-wrap
10253 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10254 msgstr ""
10255
10256 #. type: tbl table
10257 #: build/C/man2/ioctl_list.2:352
10258 #, no-wrap
10259 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10260 msgstr ""
10261
10262 #. type: tbl table
10263 #: build/C/man2/ioctl_list.2:353
10264 #, no-wrap
10265 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10266 msgstr ""
10267
10268 #. type: tbl table
10269 #: build/C/man2/ioctl_list.2:354
10270 #, no-wrap
10271 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10272 msgstr ""
10273
10274 #. type: tbl table
10275 #: build/C/man2/ioctl_list.2:355
10276 #, no-wrap
10277 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10278 msgstr ""
10279
10280 #. type: tbl table
10281 #: build/C/man2/ioctl_list.2:356
10282 #, no-wrap
10283 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10284 msgstr ""
10285
10286 #. type: Plain text
10287 #: build/C/man2/ioctl_list.2:360
10288 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10289 msgstr ""
10290
10291 #. type: tbl table
10292 #: build/C/man2/ioctl_list.2:362
10293 #, no-wrap
10294 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10295 msgstr ""
10296
10297 #. type: Plain text
10298 #: build/C/man2/ioctl_list.2:366
10299 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10300 msgstr ""
10301
10302 #. type: tbl table
10303 #: build/C/man2/ioctl_list.2:368
10304 #, no-wrap
10305 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10306 msgstr ""
10307
10308 #. type: tbl table
10309 #: build/C/man2/ioctl_list.2:369
10310 #, no-wrap
10311 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10312 msgstr ""
10313
10314 #. type: tbl table
10315 #: build/C/man2/ioctl_list.2:370
10316 #, no-wrap
10317 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10318 msgstr ""
10319
10320 #. type: tbl table
10321 #: build/C/man2/ioctl_list.2:371
10322 #, no-wrap
10323 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10324 msgstr ""
10325
10326 #. type: tbl table
10327 #: build/C/man2/ioctl_list.2:372
10328 #, no-wrap
10329 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10330 msgstr ""
10331
10332 #. type: tbl table
10333 #: build/C/man2/ioctl_list.2:373
10334 #, no-wrap
10335 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10336 msgstr ""
10337
10338 #. type: tbl table
10339 #: build/C/man2/ioctl_list.2:374
10340 #, no-wrap
10341 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10342 msgstr ""
10343
10344 #. type: tbl table
10345 #: build/C/man2/ioctl_list.2:375
10346 #, no-wrap
10347 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10348 msgstr ""
10349
10350 #. type: tbl table
10351 #: build/C/man2/ioctl_list.2:376
10352 #, no-wrap
10353 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10354 msgstr ""
10355
10356 #. type: tbl table
10357 #: build/C/man2/ioctl_list.2:377
10358 #, no-wrap
10359 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10360 msgstr ""
10361
10362 #. type: tbl table
10363 #: build/C/man2/ioctl_list.2:378
10364 #, no-wrap
10365 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10366 msgstr ""
10367
10368 #. type: tbl table
10369 #: build/C/man2/ioctl_list.2:379
10370 #, no-wrap
10371 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10372 msgstr ""
10373
10374 #. type: tbl table
10375 #: build/C/man2/ioctl_list.2:380
10376 #, no-wrap
10377 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10378 msgstr ""
10379
10380 #. type: tbl table
10381 #: build/C/man2/ioctl_list.2:381
10382 #, no-wrap
10383 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10384 msgstr ""
10385
10386 #. type: tbl table
10387 #: build/C/man2/ioctl_list.2:382
10388 #, no-wrap
10389 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10390 msgstr ""
10391
10392 #. type: Plain text
10393 #: build/C/man2/ioctl_list.2:386
10394 msgid "// E<lt>include/linux/ipx.hE<gt>"
10395 msgstr ""
10396
10397 #. type: tbl table
10398 #: build/C/man2/ioctl_list.2:388
10399 #, no-wrap
10400 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10401 msgstr ""
10402
10403 #. type: tbl table
10404 #: build/C/man2/ioctl_list.2:389
10405 #, no-wrap
10406 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10407 msgstr ""
10408
10409 #. type: tbl table
10410 #: build/C/man2/ioctl_list.2:390
10411 #, no-wrap
10412 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10413 msgstr ""
10414
10415 #. type: Plain text
10416 #: build/C/man2/ioctl_list.2:394
10417 msgid "// E<lt>include/linux/kd.hE<gt>"
10418 msgstr ""
10419
10420 #. type: tbl table
10421 #: build/C/man2/ioctl_list.2:396
10422 #, no-wrap
10423 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10424 msgstr ""
10425
10426 #. type: tbl table
10427 #: build/C/man2/ioctl_list.2:397
10428 #, no-wrap
10429 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10430 msgstr ""
10431
10432 #. type: tbl table
10433 #: build/C/man2/ioctl_list.2:401
10434 #, no-wrap
10435 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10436 msgstr ""
10437
10438 #. type: tbl table
10439 #: build/C/man2/ioctl_list.2:402
10440 #, no-wrap
10441 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10442 msgstr ""
10443
10444 #. type: tbl table
10445 #: build/C/man2/ioctl_list.2:406
10446 #, no-wrap
10447 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10448 msgstr ""
10449
10450 #. type: tbl table
10451 #: build/C/man2/ioctl_list.2:407
10452 #, no-wrap
10453 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10454 msgstr ""
10455
10456 #. type: tbl table
10457 #: build/C/man2/ioctl_list.2:411
10458 #, no-wrap
10459 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10460 msgstr ""
10461
10462 #. type: tbl table
10463 #: build/C/man2/ioctl_list.2:412
10464 #, no-wrap
10465 msgid "0x00004B30\tKDMKTONE\tint\n"
10466 msgstr ""
10467
10468 #. type: tbl table
10469 #: build/C/man2/ioctl_list.2:413
10470 #, no-wrap
10471 msgid "0x00004B31\tKDGETLED\tchar *\n"
10472 msgstr ""
10473
10474 #. type: tbl table
10475 #: build/C/man2/ioctl_list.2:414
10476 #, no-wrap
10477 msgid "0x00004B32\tKDSETLED\tint\n"
10478 msgstr ""
10479
10480 #. type: tbl table
10481 #: build/C/man2/ioctl_list.2:415
10482 #, no-wrap
10483 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10484 msgstr ""
10485
10486 #. type: tbl table
10487 #: build/C/man2/ioctl_list.2:416
10488 #, no-wrap
10489 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10490 msgstr ""
10491
10492 #. type: tbl table
10493 #: build/C/man2/ioctl_list.2:417
10494 #, no-wrap
10495 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10496 msgstr ""
10497
10498 #. type: tbl table
10499 #: build/C/man2/ioctl_list.2:418
10500 #, no-wrap
10501 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10502 msgstr ""
10503
10504 #. type: tbl table
10505 #: build/C/man2/ioctl_list.2:419
10506 #, no-wrap
10507 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10508 msgstr ""
10509
10510 #. type: tbl table
10511 #: build/C/man2/ioctl_list.2:420
10512 #, no-wrap
10513 msgid "0x00004B3A\tKDSETMODE\tint\n"
10514 msgstr ""
10515
10516 #. type: tbl table
10517 #: build/C/man2/ioctl_list.2:421
10518 #, no-wrap
10519 msgid "0x00004B3B\tKDGETMODE\tint *\n"
10520 msgstr ""
10521
10522 #. type: tbl table
10523 #: build/C/man2/ioctl_list.2:422
10524 #, no-wrap
10525 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10526 msgstr ""
10527
10528 #. type: tbl table
10529 #: build/C/man2/ioctl_list.2:423
10530 #, no-wrap
10531 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10532 msgstr ""
10533
10534 #. type: tbl table
10535 #: build/C/man2/ioctl_list.2:424
10536 #, no-wrap
10537 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10538 msgstr ""
10539
10540 #. type: tbl table
10541 #: build/C/man2/ioctl_list.2:428
10542 #, no-wrap
10543 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10544 msgstr ""
10545
10546 #. type: tbl table
10547 #: build/C/man2/ioctl_list.2:429
10548 #, no-wrap
10549 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10550 msgstr ""
10551
10552 #. type: tbl table
10553 #: build/C/man2/ioctl_list.2:430
10554 #, no-wrap
10555 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10556 msgstr ""
10557
10558 #. type: tbl table
10559 #: build/C/man2/ioctl_list.2:434
10560 #, no-wrap
10561 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10562 msgstr ""
10563
10564 #. type: tbl table
10565 #: build/C/man2/ioctl_list.2:435
10566 #, no-wrap
10567 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10568 msgstr ""
10569
10570 #. type: tbl table
10571 #: build/C/man2/ioctl_list.2:436
10572 #, no-wrap
10573 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10574 msgstr ""
10575
10576 #. type: tbl table
10577 #: build/C/man2/ioctl_list.2:437
10578 #, no-wrap
10579 msgid "0x00004B44\tKDGKBMODE\tint *\n"
10580 msgstr ""
10581
10582 #. type: tbl table
10583 #: build/C/man2/ioctl_list.2:438
10584 #, no-wrap
10585 msgid "0x00004B45\tKDSKBMODE\tint\n"
10586 msgstr ""
10587
10588 #. type: tbl table
10589 #: build/C/man2/ioctl_list.2:439
10590 #, no-wrap
10591 msgid "0x00004B62\tKDGKBMETA\tint *\n"
10592 msgstr ""
10593
10594 #. type: tbl table
10595 #: build/C/man2/ioctl_list.2:440
10596 #, no-wrap
10597 msgid "0x00004B63\tKDSKBMETA\tint\n"
10598 msgstr ""
10599
10600 #. type: tbl table
10601 #: build/C/man2/ioctl_list.2:441
10602 #, no-wrap
10603 msgid "0x00004B64\tKDGKBLED\tint *\n"
10604 msgstr ""
10605
10606 #. type: tbl table
10607 #: build/C/man2/ioctl_list.2:442
10608 #, no-wrap
10609 msgid "0x00004B65\tKDSKBLED\tint\n"
10610 msgstr ""
10611
10612 #. type: tbl table
10613 #: build/C/man2/ioctl_list.2:443
10614 #, no-wrap
10615 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10616 msgstr ""
10617
10618 #. type: tbl table
10619 #: build/C/man2/ioctl_list.2:444
10620 #, no-wrap
10621 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10622 msgstr ""
10623
10624 #. type: tbl table
10625 #: build/C/man2/ioctl_list.2:445
10626 #, no-wrap
10627 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10628 msgstr ""
10629
10630 #. type: tbl table
10631 #: build/C/man2/ioctl_list.2:446
10632 #, no-wrap
10633 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10634 msgstr ""
10635
10636 #. type: tbl table
10637 #: build/C/man2/ioctl_list.2:447
10638 #, no-wrap
10639 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10640 msgstr ""
10641
10642 #. type: tbl table
10643 #: build/C/man2/ioctl_list.2:448
10644 #, no-wrap
10645 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10646 msgstr ""
10647
10648 #. type: tbl table
10649 #: build/C/man2/ioctl_list.2:449
10650 #, no-wrap
10651 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10652 msgstr ""
10653
10654 #. type: tbl table
10655 #: build/C/man2/ioctl_list.2:450
10656 #, no-wrap
10657 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10658 msgstr ""
10659
10660 #. type: tbl table
10661 #: build/C/man2/ioctl_list.2:451
10662 #, no-wrap
10663 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
10664 msgstr ""
10665
10666 #. type: Plain text
10667 #: build/C/man2/ioctl_list.2:455
10668 msgid "// E<lt>include/linux/lp.hE<gt>"
10669 msgstr ""
10670
10671 #. type: tbl table
10672 #: build/C/man2/ioctl_list.2:457
10673 #, no-wrap
10674 msgid "0x00000601\tLPCHAR\tint\n"
10675 msgstr ""
10676
10677 #. type: tbl table
10678 #: build/C/man2/ioctl_list.2:458
10679 #, no-wrap
10680 msgid "0x00000602\tLPTIME\tint\n"
10681 msgstr ""
10682
10683 #. type: tbl table
10684 #: build/C/man2/ioctl_list.2:459
10685 #, no-wrap
10686 msgid "0x00000604\tLPABORT\tint\n"
10687 msgstr ""
10688
10689 #. type: tbl table
10690 #: build/C/man2/ioctl_list.2:460
10691 #, no-wrap
10692 msgid "0x00000605\tLPSETIRQ\tint\n"
10693 msgstr ""
10694
10695 #. type: tbl table
10696 #: build/C/man2/ioctl_list.2:461
10697 #, no-wrap
10698 msgid "0x00000606\tLPGETIRQ\tint *\n"
10699 msgstr ""
10700
10701 #. type: tbl table
10702 #: build/C/man2/ioctl_list.2:462
10703 #, no-wrap
10704 msgid "0x00000608\tLPWAIT\tint\n"
10705 msgstr ""
10706
10707 #. type: tbl table
10708 #: build/C/man2/ioctl_list.2:463
10709 #, no-wrap
10710 msgid "0x00000609\tLPCAREFUL\tint\n"
10711 msgstr ""
10712
10713 #. type: tbl table
10714 #: build/C/man2/ioctl_list.2:464
10715 #, no-wrap
10716 msgid "0x0000060A\tLPABORTOPEN\tint\n"
10717 msgstr ""
10718
10719 #. type: tbl table
10720 #: build/C/man2/ioctl_list.2:465
10721 #, no-wrap
10722 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
10723 msgstr ""
10724
10725 #. type: tbl table
10726 #: build/C/man2/ioctl_list.2:466
10727 #, no-wrap
10728 msgid "0x0000060C\tLPRESET\tvoid\n"
10729 msgstr ""
10730
10731 #. type: tbl table
10732 #: build/C/man2/ioctl_list.2:467
10733 #, no-wrap
10734 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10735 msgstr ""
10736
10737 #. type: Plain text
10738 #: build/C/man2/ioctl_list.2:471
10739 msgid "// E<lt>include/linux/mroute.hE<gt>"
10740 msgstr ""
10741
10742 #. type: tbl table
10743 #: build/C/man2/ioctl_list.2:473
10744 #, no-wrap
10745 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10746 msgstr ""
10747
10748 #. type: tbl table
10749 #: build/C/man2/ioctl_list.2:474
10750 #, no-wrap
10751 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10752 msgstr ""
10753
10754 #. type: Plain text
10755 #: build/C/man2/ioctl_list.2:478
10756 msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
10757 msgstr ""
10758
10759 #. type: tbl table
10760 #: build/C/man2/ioctl_list.2:480
10761 #, no-wrap
10762 msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
10763 msgstr ""
10764
10765 #. type: tbl table
10766 #: build/C/man2/ioctl_list.2:481
10767 #, no-wrap
10768 msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
10769 msgstr ""
10770
10771 #. type: tbl table
10772 #: build/C/man2/ioctl_list.2:482
10773 #, no-wrap
10774 msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
10775 msgstr ""
10776
10777 #. type: tbl table
10778 #: build/C/man2/ioctl_list.2:483
10779 #, no-wrap
10780 msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
10781 msgstr ""
10782
10783 #. type: Plain text
10784 #: build/C/man2/ioctl_list.2:487
10785 msgid "// E<lt>include/linux/mtio.hE<gt>"
10786 msgstr ""
10787
10788 #. type: tbl table
10789 #: build/C/man2/ioctl_list.2:489
10790 #, no-wrap
10791 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10792 msgstr ""
10793
10794 #. type: tbl table
10795 #: build/C/man2/ioctl_list.2:490
10796 #, no-wrap
10797 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10798 msgstr ""
10799
10800 #. type: tbl table
10801 #: build/C/man2/ioctl_list.2:491
10802 #, no-wrap
10803 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10804 msgstr ""
10805
10806 #. type: tbl table
10807 #: build/C/man2/ioctl_list.2:492
10808 #, no-wrap
10809 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10810 msgstr ""
10811
10812 #. type: tbl table
10813 #: build/C/man2/ioctl_list.2:493
10814 #, no-wrap
10815 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10816 msgstr ""
10817
10818 #. type: Plain text
10819 #: build/C/man2/ioctl_list.2:497
10820 msgid "// E<lt>include/linux/netrom.hE<gt>"
10821 msgstr ""
10822
10823 #. type: tbl table
10824 #: build/C/man2/ioctl_list.2:499
10825 #, no-wrap
10826 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10827 msgstr ""
10828
10829 #. type: tbl table
10830 #: build/C/man2/ioctl_list.2:500
10831 #, no-wrap
10832 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10833 msgstr ""
10834
10835 #. type: tbl table
10836 #: build/C/man2/ioctl_list.2:501
10837 #, no-wrap
10838 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10839 msgstr ""
10840
10841 #. type: tbl table
10842 #: build/C/man2/ioctl_list.2:502
10843 #, no-wrap
10844 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10845 msgstr ""
10846
10847 #. type: Plain text
10848 #: build/C/man2/ioctl_list.2:506
10849 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
10850 msgstr ""
10851
10852 #. type: tbl table
10853 #: build/C/man2/ioctl_list.2:508
10854 #, no-wrap
10855 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
10856 msgstr ""
10857
10858 #. type: tbl table
10859 #: build/C/man2/ioctl_list.2:509
10860 #, no-wrap
10861 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10862 msgstr ""
10863
10864 #. type: Plain text
10865 #: build/C/man2/ioctl_list.2:513
10866 msgid "// E<lt>include/linux/scc.hE<gt>"
10867 msgstr ""
10868
10869 #. type: tbl table
10870 #: build/C/man2/ioctl_list.2:515
10871 #, no-wrap
10872 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
10873 msgstr ""
10874
10875 #. type: tbl table
10876 #: build/C/man2/ioctl_list.2:516
10877 #, no-wrap
10878 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10879 msgstr ""
10880
10881 #. type: tbl table
10882 #: build/C/man2/ioctl_list.2:517
10883 #, no-wrap
10884 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10885 msgstr ""
10886
10887 #. type: tbl table
10888 #: build/C/man2/ioctl_list.2:518
10889 #, no-wrap
10890 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10891 msgstr ""
10892
10893 #. type: tbl table
10894 #: build/C/man2/ioctl_list.2:519
10895 #, no-wrap
10896 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10897 msgstr ""
10898
10899 #. type: Plain text
10900 #: build/C/man2/ioctl_list.2:523
10901 msgid "// E<lt>include/linux/scsi.hE<gt>"
10902 msgstr ""
10903
10904 #. type: tbl table
10905 #: build/C/man2/ioctl_list.2:525
10906 #, no-wrap
10907 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10908 msgstr ""
10909
10910 #. type: tbl table
10911 #: build/C/man2/ioctl_list.2:526
10912 #, no-wrap
10913 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10914 msgstr ""
10915
10916 #. type: tbl table
10917 #: build/C/man2/ioctl_list.2:527
10918 #, no-wrap
10919 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10920 msgstr ""
10921
10922 #. type: tbl table
10923 #: build/C/man2/ioctl_list.2:531
10924 #, no-wrap
10925 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10926 msgstr ""
10927
10928 #. type: Plain text
10929 #: build/C/man2/ioctl_list.2:535
10930 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
10931 msgstr ""
10932
10933 #. type: tbl table
10934 #: build/C/man2/ioctl_list.2:537
10935 #, no-wrap
10936 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10937 msgstr ""
10938
10939 #. type: Plain text
10940 #: build/C/man2/ioctl_list.2:541
10941 msgid "// E<lt>include/linux/sockios.hE<gt>"
10942 msgstr ""
10943
10944 #. type: tbl table
10945 #: build/C/man2/ioctl_list.2:543
10946 #, no-wrap
10947 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10948 msgstr ""
10949
10950 #. type: tbl table
10951 #: build/C/man2/ioctl_list.2:544
10952 #, no-wrap
10953 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10954 msgstr ""
10955
10956 #. type: tbl table
10957 #: build/C/man2/ioctl_list.2:545
10958 #, no-wrap
10959 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
10960 msgstr ""
10961
10962 #. type: tbl table
10963 #: build/C/man2/ioctl_list.2:546
10964 #, no-wrap
10965 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
10966 msgstr ""
10967
10968 #. type: tbl table
10969 #: build/C/man2/ioctl_list.2:547
10970 #, no-wrap
10971 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
10972 msgstr ""
10973
10974 #. type: tbl table
10975 #: build/C/man2/ioctl_list.2:548
10976 #, no-wrap
10977 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
10978 msgstr ""
10979
10980 #. type: tbl table
10981 #: build/C/man2/ioctl_list.2:549
10982 #, no-wrap
10983 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
10984 msgstr ""
10985
10986 #. type: tbl table
10987 #: build/C/man2/ioctl_list.2:550
10988 #, no-wrap
10989 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
10990 msgstr ""
10991
10992 #. type: tbl table
10993 #: build/C/man2/ioctl_list.2:551
10994 #, no-wrap
10995 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
10996 msgstr ""
10997
10998 #. type: tbl table
10999 #: build/C/man2/ioctl_list.2:552
11000 #, no-wrap
11001 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11002 msgstr ""
11003
11004 #. type: tbl table
11005 #: build/C/man2/ioctl_list.2:553
11006 #, no-wrap
11007 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11008 msgstr ""
11009
11010 #. type: tbl table
11011 #: build/C/man2/ioctl_list.2:554
11012 #, no-wrap
11013 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11014 msgstr ""
11015
11016 #. type: tbl table
11017 #: build/C/man2/ioctl_list.2:555
11018 #, no-wrap
11019 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11020 msgstr ""
11021
11022 #. type: tbl table
11023 #: build/C/man2/ioctl_list.2:556
11024 #, no-wrap
11025 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11026 msgstr ""
11027
11028 #. type: tbl table
11029 #: build/C/man2/ioctl_list.2:557
11030 #, no-wrap
11031 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11032 msgstr ""
11033
11034 #. type: tbl table
11035 #: build/C/man2/ioctl_list.2:558
11036 #, no-wrap
11037 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11038 msgstr ""
11039
11040 #. type: tbl table
11041 #: build/C/man2/ioctl_list.2:559
11042 #, no-wrap
11043 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11044 msgstr ""
11045
11046 #. type: tbl table
11047 #: build/C/man2/ioctl_list.2:560
11048 #, no-wrap
11049 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11050 msgstr ""
11051
11052 #. type: tbl table
11053 #: build/C/man2/ioctl_list.2:561
11054 #, no-wrap
11055 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11056 msgstr ""
11057
11058 #. type: tbl table
11059 #: build/C/man2/ioctl_list.2:562
11060 #, no-wrap
11061 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11062 msgstr ""
11063
11064 #. type: tbl table
11065 #: build/C/man2/ioctl_list.2:563
11066 #, no-wrap
11067 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11068 msgstr ""
11069
11070 #. type: tbl table
11071 #: build/C/man2/ioctl_list.2:567
11072 #, no-wrap
11073 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11074 msgstr ""
11075
11076 #. type: tbl table
11077 #: build/C/man2/ioctl_list.2:568
11078 #, no-wrap
11079 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11080 msgstr ""
11081
11082 #. type: tbl table
11083 #: build/C/man2/ioctl_list.2:569
11084 #, no-wrap
11085 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
11086 msgstr ""
11087
11088 #. type: tbl table
11089 #: build/C/man2/ioctl_list.2:570
11090 #, no-wrap
11091 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11092 msgstr ""
11093
11094 #. type: tbl table
11095 #: build/C/man2/ioctl_list.2:571
11096 #, no-wrap
11097 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11098 msgstr ""
11099
11100 #. type: tbl table
11101 #: build/C/man2/ioctl_list.2:572
11102 #, no-wrap
11103 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11104 msgstr ""
11105
11106 #. type: tbl table
11107 #: build/C/man2/ioctl_list.2:573
11108 #, no-wrap
11109 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11110 msgstr ""
11111
11112 #. type: tbl table
11113 #: build/C/man2/ioctl_list.2:574
11114 #, no-wrap
11115 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11116 msgstr ""
11117
11118 #. type: tbl table
11119 #: build/C/man2/ioctl_list.2:575
11120 #, no-wrap
11121 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11122 msgstr ""
11123
11124 #. type: tbl table
11125 #: build/C/man2/ioctl_list.2:576
11126 #, no-wrap
11127 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11128 msgstr ""
11129
11130 #. type: tbl table
11131 #: build/C/man2/ioctl_list.2:577
11132 #, no-wrap
11133 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11134 msgstr ""
11135
11136 #. type: tbl table
11137 #: build/C/man2/ioctl_list.2:578
11138 #, no-wrap
11139 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11140 msgstr ""
11141
11142 #. type: tbl table
11143 #: build/C/man2/ioctl_list.2:579
11144 #, no-wrap
11145 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11146 msgstr ""
11147
11148 #. type: tbl table
11149 #: build/C/man2/ioctl_list.2:580
11150 #, no-wrap
11151 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11152 msgstr ""
11153
11154 #. type: tbl table
11155 #: build/C/man2/ioctl_list.2:581
11156 #, no-wrap
11157 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11158 msgstr ""
11159
11160 #. type: tbl table
11161 #: build/C/man2/ioctl_list.2:582
11162 #, no-wrap
11163 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11164 msgstr ""
11165
11166 #. type: tbl table
11167 #: build/C/man2/ioctl_list.2:583
11168 #, no-wrap
11169 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11170 msgstr ""
11171
11172 #. type: tbl table
11173 #: build/C/man2/ioctl_list.2:584
11174 #, no-wrap
11175 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11176 msgstr ""
11177
11178 #. type: tbl table
11179 #: build/C/man2/ioctl_list.2:585
11180 #, no-wrap
11181 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11182 msgstr ""
11183
11184 #. type: Plain text
11185 #: build/C/man2/ioctl_list.2:589
11186 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11187 msgstr ""
11188
11189 #. type: tbl table
11190 #: build/C/man2/ioctl_list.2:591
11191 #, no-wrap
11192 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11193 msgstr ""
11194
11195 #. type: tbl table
11196 #: build/C/man2/ioctl_list.2:592
11197 #, no-wrap
11198 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11199 msgstr ""
11200
11201 #. type: tbl table
11202 #: build/C/man2/ioctl_list.2:596
11203 #, no-wrap
11204 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11205 msgstr ""
11206
11207 #. type: tbl table
11208 #: build/C/man2/ioctl_list.2:597
11209 #, no-wrap
11210 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11211 msgstr ""
11212
11213 #. type: tbl table
11214 #: build/C/man2/ioctl_list.2:598
11215 #, no-wrap
11216 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11217 msgstr ""
11218
11219 #. type: tbl table
11220 #: build/C/man2/ioctl_list.2:599
11221 #, no-wrap
11222 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11223 msgstr ""
11224
11225 #. type: tbl table
11226 #: build/C/man2/ioctl_list.2:600
11227 #, no-wrap
11228 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11229 msgstr ""
11230
11231 #. type: tbl table
11232 #: build/C/man2/ioctl_list.2:604
11233 #, no-wrap
11234 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11235 msgstr ""
11236
11237 #. type: tbl table
11238 #: build/C/man2/ioctl_list.2:608
11239 #, no-wrap
11240 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11241 msgstr ""
11242
11243 #. type: tbl table
11244 #: build/C/man2/ioctl_list.2:609
11245 #, no-wrap
11246 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11247 msgstr ""
11248
11249 #. type: tbl table
11250 #: build/C/man2/ioctl_list.2:610
11251 #, no-wrap
11252 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11253 msgstr ""
11254
11255 #. type: tbl table
11256 #: build/C/man2/ioctl_list.2:611
11257 #, no-wrap
11258 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11259 msgstr ""
11260
11261 #. type: tbl table
11262 #: build/C/man2/ioctl_list.2:612
11263 #, no-wrap
11264 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11265 msgstr ""
11266
11267 #. type: tbl table
11268 #: build/C/man2/ioctl_list.2:613
11269 #, no-wrap
11270 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11271 msgstr ""
11272
11273 #. type: tbl table
11274 #: build/C/man2/ioctl_list.2:614
11275 #, no-wrap
11276 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11277 msgstr ""
11278
11279 #. type: tbl table
11280 #: build/C/man2/ioctl_list.2:615
11281 #, no-wrap
11282 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11283 msgstr ""
11284
11285 #. type: tbl table
11286 #: build/C/man2/ioctl_list.2:616
11287 #, no-wrap
11288 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11289 msgstr ""
11290
11291 #. type: tbl table
11292 #: build/C/man2/ioctl_list.2:617
11293 #, no-wrap
11294 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11295 msgstr ""
11296
11297 #. type: tbl table
11298 #: build/C/man2/ioctl_list.2:621
11299 #, no-wrap
11300 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11301 msgstr ""
11302
11303 #. type: tbl table
11304 #: build/C/man2/ioctl_list.2:625
11305 #, no-wrap
11306 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11307 msgstr ""
11308
11309 #. type: tbl table
11310 #: build/C/man2/ioctl_list.2:626
11311 #, no-wrap
11312 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11313 msgstr ""
11314
11315 #. type: tbl table
11316 #: build/C/man2/ioctl_list.2:627
11317 #, no-wrap
11318 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11319 msgstr ""
11320
11321 #. type: tbl table
11322 #: build/C/man2/ioctl_list.2:628
11323 #, no-wrap
11324 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11325 msgstr ""
11326
11327 #. type: tbl table
11328 #: build/C/man2/ioctl_list.2:629
11329 #, no-wrap
11330 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11331 msgstr ""
11332
11333 #. type: tbl table
11334 #: build/C/man2/ioctl_list.2:630
11335 #, no-wrap
11336 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11337 msgstr ""
11338
11339 #. type: tbl table
11340 #: build/C/man2/ioctl_list.2:631
11341 #, no-wrap
11342 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11343 msgstr ""
11344
11345 #. type: tbl table
11346 #: build/C/man2/ioctl_list.2:632
11347 #, no-wrap
11348 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11349 msgstr ""
11350
11351 #. type: tbl table
11352 #: build/C/man2/ioctl_list.2:633
11353 #, no-wrap
11354 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11355 msgstr ""
11356
11357 #. type: tbl table
11358 #: build/C/man2/ioctl_list.2:634
11359 #, no-wrap
11360 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11361 msgstr ""
11362
11363 #. type: tbl table
11364 #: build/C/man2/ioctl_list.2:635
11365 #, no-wrap
11366 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11367 msgstr ""
11368
11369 #. type: tbl table
11370 #: build/C/man2/ioctl_list.2:639
11371 #, no-wrap
11372 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11373 msgstr ""
11374
11375 #. type: tbl table
11376 #: build/C/man2/ioctl_list.2:643
11377 #, no-wrap
11378 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11379 msgstr ""
11380
11381 #. type: tbl table
11382 #: build/C/man2/ioctl_list.2:644
11383 #, no-wrap
11384 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11385 msgstr ""
11386
11387 #. type: tbl table
11388 #: build/C/man2/ioctl_list.2:645
11389 #, no-wrap
11390 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11391 msgstr ""
11392
11393 #. type: tbl table
11394 #: build/C/man2/ioctl_list.2:646
11395 #, no-wrap
11396 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11397 msgstr ""
11398
11399 #. type: tbl table
11400 #: build/C/man2/ioctl_list.2:647
11401 #, no-wrap
11402 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11403 msgstr ""
11404
11405 #. type: tbl table
11406 #: build/C/man2/ioctl_list.2:648
11407 #, no-wrap
11408 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11409 msgstr ""
11410
11411 #. type: tbl table
11412 #: build/C/man2/ioctl_list.2:649
11413 #, no-wrap
11414 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11415 msgstr ""
11416
11417 #. type: tbl table
11418 #: build/C/man2/ioctl_list.2:650
11419 #, no-wrap
11420 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11421 msgstr ""
11422
11423 #. type: tbl table
11424 #: build/C/man2/ioctl_list.2:651
11425 #, no-wrap
11426 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11427 msgstr ""
11428
11429 #. type: tbl table
11430 #: build/C/man2/ioctl_list.2:652
11431 #, no-wrap
11432 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11433 msgstr ""
11434
11435 #. type: tbl table
11436 #: build/C/man2/ioctl_list.2:653
11437 #, no-wrap
11438 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11439 msgstr ""
11440
11441 #. type: tbl table
11442 #: build/C/man2/ioctl_list.2:654
11443 #, no-wrap
11444 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11445 msgstr ""
11446
11447 #. type: tbl table
11448 #: build/C/man2/ioctl_list.2:658
11449 #, no-wrap
11450 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11451 msgstr ""
11452
11453 #. type: tbl table
11454 #: build/C/man2/ioctl_list.2:659
11455 #, no-wrap
11456 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11457 msgstr ""
11458
11459 #. type: tbl table
11460 #: build/C/man2/ioctl_list.2:660
11461 #, no-wrap
11462 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11463 msgstr ""
11464
11465 #. type: tbl table
11466 #: build/C/man2/ioctl_list.2:661
11467 #, no-wrap
11468 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11469 msgstr ""
11470
11471 #. type: tbl table
11472 #: build/C/man2/ioctl_list.2:662
11473 #, no-wrap
11474 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11475 msgstr ""
11476
11477 #. type: tbl table
11478 #: build/C/man2/ioctl_list.2:663
11479 #, no-wrap
11480 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11481 msgstr ""
11482
11483 #. type: tbl table
11484 #: build/C/man2/ioctl_list.2:664
11485 #, no-wrap
11486 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11487 msgstr ""
11488
11489 #. type: tbl table
11490 #: build/C/man2/ioctl_list.2:665
11491 #, no-wrap
11492 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11493 msgstr ""
11494
11495 #. type: tbl table
11496 #: build/C/man2/ioctl_list.2:666
11497 #, no-wrap
11498 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11499 msgstr ""
11500
11501 #. type: tbl table
11502 #: build/C/man2/ioctl_list.2:670
11503 #, no-wrap
11504 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11505 msgstr ""
11506
11507 #. type: tbl table
11508 #: build/C/man2/ioctl_list.2:671
11509 #, no-wrap
11510 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11511 msgstr ""
11512
11513 #. type: tbl table
11514 #: build/C/man2/ioctl_list.2:675
11515 #, no-wrap
11516 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11517 msgstr ""
11518
11519 #. type: tbl table
11520 #: build/C/man2/ioctl_list.2:676
11521 #, no-wrap
11522 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11523 msgstr ""
11524
11525 #. type: tbl table
11526 #: build/C/man2/ioctl_list.2:680
11527 #, no-wrap
11528 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11529 msgstr ""
11530
11531 #. type: tbl table
11532 #: build/C/man2/ioctl_list.2:681
11533 #, no-wrap
11534 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11535 msgstr ""
11536
11537 #. type: tbl table
11538 #: build/C/man2/ioctl_list.2:685
11539 #, no-wrap
11540 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11541 msgstr ""
11542
11543 #. type: tbl table
11544 #: build/C/man2/ioctl_list.2:686
11545 #, no-wrap
11546 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11547 msgstr ""
11548
11549 #. type: tbl table
11550 #: build/C/man2/ioctl_list.2:687
11551 #, no-wrap
11552 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11553 msgstr ""
11554
11555 #. type: tbl table
11556 #: build/C/man2/ioctl_list.2:688
11557 #, no-wrap
11558 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11559 msgstr ""
11560
11561 #. type: tbl table
11562 #: build/C/man2/ioctl_list.2:689
11563 #, no-wrap
11564 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11565 msgstr ""
11566
11567 #. type: tbl table
11568 #: build/C/man2/ioctl_list.2:690
11569 #, no-wrap
11570 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11571 msgstr ""
11572
11573 #. type: tbl table
11574 #: build/C/man2/ioctl_list.2:691
11575 #, no-wrap
11576 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11577 msgstr ""
11578
11579 #. type: tbl table
11580 #: build/C/man2/ioctl_list.2:692
11581 #, no-wrap
11582 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11583 msgstr ""
11584
11585 #. type: tbl table
11586 #: build/C/man2/ioctl_list.2:693
11587 #, no-wrap
11588 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11589 msgstr ""
11590
11591 #. type: tbl table
11592 #: build/C/man2/ioctl_list.2:694
11593 #, no-wrap
11594 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11595 msgstr ""
11596
11597 #. type: tbl table
11598 #: build/C/man2/ioctl_list.2:695
11599 #, no-wrap
11600 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11601 msgstr ""
11602
11603 #. type: tbl table
11604 #: build/C/man2/ioctl_list.2:696
11605 #, no-wrap
11606 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11607 msgstr ""
11608
11609 #. type: tbl table
11610 #: build/C/man2/ioctl_list.2:697
11611 #, no-wrap
11612 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11613 msgstr ""
11614
11615 #. type: tbl table
11616 #: build/C/man2/ioctl_list.2:698
11617 #, no-wrap
11618 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11619 msgstr ""
11620
11621 #. type: tbl table
11622 #: build/C/man2/ioctl_list.2:699
11623 #, no-wrap
11624 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11625 msgstr ""
11626
11627 #. type: tbl table
11628 #: build/C/man2/ioctl_list.2:700
11629 #, no-wrap
11630 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11631 msgstr ""
11632
11633 #. type: tbl table
11634 #: build/C/man2/ioctl_list.2:701
11635 #, no-wrap
11636 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11637 msgstr ""
11638
11639 #. type: tbl table
11640 #: build/C/man2/ioctl_list.2:702
11641 #, no-wrap
11642 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11643 msgstr ""
11644
11645 #. type: tbl table
11646 #: build/C/man2/ioctl_list.2:703
11647 #, no-wrap
11648 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11649 msgstr ""
11650
11651 #. type: tbl table
11652 #: build/C/man2/ioctl_list.2:704
11653 #, no-wrap
11654 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11655 msgstr ""
11656
11657 #. type: tbl table
11658 #: build/C/man2/ioctl_list.2:705
11659 #, no-wrap
11660 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11661 msgstr ""
11662
11663 #. type: tbl table
11664 #: build/C/man2/ioctl_list.2:706
11665 #, no-wrap
11666 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11667 msgstr ""
11668
11669 #. type: tbl table
11670 #: build/C/man2/ioctl_list.2:707
11671 #, no-wrap
11672 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11673 msgstr ""
11674
11675 #. type: tbl table
11676 #: build/C/man2/ioctl_list.2:708
11677 #, no-wrap
11678 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11679 msgstr ""
11680
11681 #. type: tbl table
11682 #: build/C/man2/ioctl_list.2:709
11683 #, no-wrap
11684 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11685 msgstr ""
11686
11687 #. type: tbl table
11688 #: build/C/man2/ioctl_list.2:710
11689 #, no-wrap
11690 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11691 msgstr ""
11692
11693 #. type: tbl table
11694 #: build/C/man2/ioctl_list.2:711
11695 #, no-wrap
11696 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11697 msgstr ""
11698
11699 #. type: tbl table
11700 #: build/C/man2/ioctl_list.2:715
11701 #, no-wrap
11702 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11703 msgstr ""
11704
11705 #. type: tbl table
11706 #: build/C/man2/ioctl_list.2:716
11707 #, no-wrap
11708 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11709 msgstr ""
11710
11711 #. type: tbl table
11712 #: build/C/man2/ioctl_list.2:717
11713 #, no-wrap
11714 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11715 msgstr ""
11716
11717 #. type: tbl table
11718 #: build/C/man2/ioctl_list.2:718
11719 #, no-wrap
11720 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11721 msgstr ""
11722
11723 #. type: tbl table
11724 #: build/C/man2/ioctl_list.2:719
11725 #, no-wrap
11726 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11727 msgstr ""
11728
11729 #. type: tbl table
11730 #: build/C/man2/ioctl_list.2:720
11731 #, no-wrap
11732 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11733 msgstr ""
11734
11735 #. type: tbl table
11736 #: build/C/man2/ioctl_list.2:721
11737 #, no-wrap
11738 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11739 msgstr ""
11740
11741 #. type: tbl table
11742 #: build/C/man2/ioctl_list.2:722
11743 #, no-wrap
11744 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11745 msgstr ""
11746
11747 #. type: tbl table
11748 #: build/C/man2/ioctl_list.2:723
11749 #, no-wrap
11750 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11751 msgstr ""
11752
11753 #. type: tbl table
11754 #: build/C/man2/ioctl_list.2:724
11755 #, no-wrap
11756 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11757 msgstr ""
11758
11759 #. type: tbl table
11760 #: build/C/man2/ioctl_list.2:725
11761 #, no-wrap
11762 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11763 msgstr ""
11764
11765 #. type: tbl table
11766 #: build/C/man2/ioctl_list.2:726
11767 #, no-wrap
11768 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11769 msgstr ""
11770
11771 #. type: tbl table
11772 #: build/C/man2/ioctl_list.2:727
11773 #, no-wrap
11774 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11775 msgstr ""
11776
11777 #. type: tbl table
11778 #: build/C/man2/ioctl_list.2:728
11779 #, no-wrap
11780 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11781 msgstr ""
11782
11783 #. type: tbl table
11784 #: build/C/man2/ioctl_list.2:729
11785 #, no-wrap
11786 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11787 msgstr ""
11788
11789 #. type: tbl table
11790 #: build/C/man2/ioctl_list.2:730
11791 #, no-wrap
11792 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11793 msgstr ""
11794
11795 #. type: tbl table
11796 #: build/C/man2/ioctl_list.2:731
11797 #, no-wrap
11798 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11799 msgstr ""
11800
11801 #. type: tbl table
11802 #: build/C/man2/ioctl_list.2:732
11803 #, no-wrap
11804 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11805 msgstr ""
11806
11807 #. type: tbl table
11808 #: build/C/man2/ioctl_list.2:733
11809 #, no-wrap
11810 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11811 msgstr ""
11812
11813 #. type: tbl table
11814 #: build/C/man2/ioctl_list.2:734
11815 #, no-wrap
11816 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11817 msgstr ""
11818
11819 #. type: tbl table
11820 #: build/C/man2/ioctl_list.2:735
11821 #, no-wrap
11822 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11823 msgstr ""
11824
11825 #. type: Plain text
11826 #: build/C/man2/ioctl_list.2:739
11827 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
11828 msgstr ""
11829
11830 #. type: tbl table
11831 #: build/C/man2/ioctl_list.2:741
11832 #, no-wrap
11833 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11834 msgstr ""
11835
11836 #. type: tbl table
11837 #: build/C/man2/ioctl_list.2:742
11838 #, no-wrap
11839 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11840 msgstr ""
11841
11842 #. type: tbl table
11843 #: build/C/man2/ioctl_list.2:743
11844 #, no-wrap
11845 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11846 msgstr ""
11847
11848 #. type: tbl table
11849 #: build/C/man2/ioctl_list.2:744
11850 #, no-wrap
11851 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11852 msgstr ""
11853
11854 #. type: tbl table
11855 #: build/C/man2/ioctl_list.2:745
11856 #, no-wrap
11857 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11858 msgstr ""
11859
11860 #. type: tbl table
11861 #: build/C/man2/ioctl_list.2:746
11862 #, no-wrap
11863 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11864 msgstr ""
11865
11866 #. type: tbl table
11867 #: build/C/man2/ioctl_list.2:747
11868 #, no-wrap
11869 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11870 msgstr ""
11871
11872 #. type: tbl table
11873 #: build/C/man2/ioctl_list.2:748
11874 #, no-wrap
11875 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11876 msgstr ""
11877
11878 #. type: tbl table
11879 #: build/C/man2/ioctl_list.2:749
11880 #, no-wrap
11881 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11882 msgstr ""
11883
11884 #. type: tbl table
11885 #: build/C/man2/ioctl_list.2:750
11886 #, no-wrap
11887 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11888 msgstr ""
11889
11890 #. type: tbl table
11891 #: build/C/man2/ioctl_list.2:751
11892 #, no-wrap
11893 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11894 msgstr ""
11895
11896 #. type: Plain text
11897 #: build/C/man2/ioctl_list.2:755
11898 msgid "// E<lt>include/linux/vt.hE<gt>"
11899 msgstr ""
11900
11901 #. type: tbl table
11902 #: build/C/man2/ioctl_list.2:757
11903 #, no-wrap
11904 msgid "0x00005600\tVT_OPENQRY\tint *\n"
11905 msgstr ""
11906
11907 #. type: tbl table
11908 #: build/C/man2/ioctl_list.2:758
11909 #, no-wrap
11910 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11911 msgstr ""
11912
11913 #. type: tbl table
11914 #: build/C/man2/ioctl_list.2:759
11915 #, no-wrap
11916 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11917 msgstr ""
11918
11919 #. type: tbl table
11920 #: build/C/man2/ioctl_list.2:760
11921 #, no-wrap
11922 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11923 msgstr ""
11924
11925 #. type: tbl table
11926 #: build/C/man2/ioctl_list.2:761
11927 #, no-wrap
11928 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
11929 msgstr ""
11930
11931 #. type: tbl table
11932 #: build/C/man2/ioctl_list.2:762
11933 #, no-wrap
11934 msgid "0x00005605\tVT_RELDISP\tint\n"
11935 msgstr ""
11936
11937 #. type: tbl table
11938 #: build/C/man2/ioctl_list.2:763
11939 #, no-wrap
11940 msgid "0x00005606\tVT_ACTIVATE\tint\n"
11941 msgstr ""
11942
11943 #. type: tbl table
11944 #: build/C/man2/ioctl_list.2:764
11945 #, no-wrap
11946 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
11947 msgstr ""
11948
11949 #. type: tbl table
11950 #: build/C/man2/ioctl_list.2:765
11951 #, no-wrap
11952 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
11953 msgstr ""
11954
11955 #. type: tbl table
11956 #: build/C/man2/ioctl_list.2:766
11957 #, no-wrap
11958 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11959 msgstr ""
11960
11961 #. type: tbl table
11962 #: build/C/man2/ioctl_list.2:767
11963 #, no-wrap
11964 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11965 msgstr ""
11966
11967 #. type: Plain text
11968 #: build/C/man2/ioctl_list.2:774
11969 msgid ""
11970 "// More arguments.  Some ioctl's take a pointer to a structure which "
11971 "contains additional pointers.  These are documented here in alphabetical "
11972 "order."
11973 msgstr ""
11974
11975 #. type: Plain text
11976 #: build/C/man2/ioctl_list.2:782
11977 msgid ""
11978 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ "
11979 "*>.  The I<buf> field points to an output buffer of length I<nframes\\ * "
11980 "CD_FRAMESIZE_RAW>."
11981 msgstr ""
11982
11983 #. type: Plain text
11984 #: build/C/man2/ioctl_list.2:798
11985 msgid ""
11986 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
11987 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They "
11988 "use the same pointer as an output pointer to I<char []>.  The length varies "
11989 "by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
11990 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
11991 "value 2048)."
11992 msgstr ""
11993
11994 #. type: Plain text
11995 #: build/C/man2/ioctl_list.2:804
11996 #, no-wrap
11997 msgid ""
11998 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
11999 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12000 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12001 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12002 msgstr ""
12003
12004 #. type: Plain text
12005 #: build/C/man2/ioctl_list.2:818
12006 msgid ""
12007 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
12008 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  "
12009 "The I<ifr_data> field is a pointer to another structure as follows:"
12010 msgstr ""
12011
12012 #. type: Plain text
12013 #: build/C/man2/ioctl_list.2:826
12014 #, no-wrap
12015 msgid ""
12016 "    EQL_ENSLAVE         const struct slaving_request *\n"
12017 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12018 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12019 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12020 "    EQL_GETMASTERCFG    struct master_config *\n"
12021 "    EQL_SETMASTERCFG    const struct master_config *\n"
12022 msgstr ""
12023
12024 #. type: Plain text
12025 #: build/C/man2/ioctl_list.2:843
12026 msgid ""
12027 "B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & "
12028 "FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length "
12029 "I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an "
12030 "output buffer of length I<length>."
12031 msgstr ""
12032
12033 #. type: Plain text
12034 #: build/C/man2/ioctl_list.2:859
12035 msgid ""
12036 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a "
12037 "I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to "
12038 "a buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
12039 "and an input buffer for B<PIO_FONTX>."
12040 msgstr ""
12041
12042 #. type: Plain text
12043 #: build/C/man2/ioctl_list.2:875
12044 msgid ""
12045 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const "
12046 "struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of "
12047 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
12048 "and an input buffer for B<PIO_UNIMAP>."
12049 msgstr ""
12050
12051 #. type: Plain text
12052 #: build/C/man2/ioctl_list.2:879
12053 msgid ""
12054 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
12055 "ports.  They are essentially alternate interfaces to 'ioperm'."
12056 msgstr ""
12057
12058 #. type: Plain text
12059 #: build/C/man2/ioctl_list.2:885
12060 msgid ""
12061 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
12062 "port access.  They are not implemented in the kernel."
12063 msgstr ""
12064
12065 #. type: Plain text
12066 #: build/C/man2/ioctl_list.2:893
12067 msgid ""
12068 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a "
12069 "length.  It uses the same pointer as an output pointer to a I<char []> "
12070 "buffer of this length."
12071 msgstr ""
12072
12073 #. type: Plain text
12074 #: build/C/man2/ioctl_list.2:899
12075 msgid ""
12076 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
12077 "the protocol:"
12078 msgstr ""
12079
12080 #. type: Plain text
12081 #: build/C/man2/ioctl_list.2:904
12082 #, no-wrap
12083 msgid ""
12084 "    Most protocols      const struct rtentry *\n"
12085 "    AX.25               const struct ax25_route *\n"
12086 "    NET/ROM             const struct nr_route_struct *\n"
12087 msgstr ""
12088
12089 #. type: Plain text
12090 #: build/C/man2/ioctl_list.2:915
12091 msgid ""
12092 "B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to "
12093 "a buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
12094 "type I<struct ifreq []>."
12095 msgstr ""
12096
12097 #. type: Plain text
12098 #: build/C/man2/ioctl_list.2:918
12099 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12100 msgstr ""
12101
12102 #. type: Plain text
12103 #: build/C/man2/ioctl_list.2:922
12104 #, no-wrap
12105 msgid ""
12106 "    Most protocols      const struct ifreq *\n"
12107 "    AX.25               const char [AX25_ADDR_LEN]\n"
12108 msgstr ""
12109
12110 #. type: Plain text
12111 #: build/C/man2/ioctl_list.2:937
12112 msgid ""
12113 "B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several "
12114 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
12115 "N-byte pad.  I<struct selection> is implicitly defined in "
12116 "I<drivers/char/selection.c>"
12117 msgstr ""
12118
12119 #. type: Plain text
12120 #: build/C/man2/ioctl_list.2:946
12121 #, no-wrap
12122 msgid ""
12123 "    TIOCLINUX-2         1 + const struct selection *\n"
12124 "    TIOCLINUX-3         void\n"
12125 "    TIOCLINUX-4         void\n"
12126 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12127 "    TIOCLINUX-6         char *\n"
12128 "    TIOCLINUX-7         char *\n"
12129 "    TIOCLINUX-10        1 + const char *\n"
12130 msgstr ""
12131
12132 #. type: Plain text
12133 #: build/C/man2/ioctl_list.2:949
12134 msgid "// Duplicate ioctls"
12135 msgstr ""
12136
12137 #. type: Plain text
12138 #: build/C/man2/ioctl_list.2:954
12139 msgid ""
12140 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
12141 "B<SIOCPROTOPRIVATE>."
12142 msgstr ""
12143
12144 #. type: tbl table
12145 #: build/C/man2/ioctl_list.2:956
12146 #, no-wrap
12147 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12148 msgstr ""
12149
12150 #. type: tbl table
12151 #: build/C/man2/ioctl_list.2:957
12152 #, no-wrap
12153 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12154 msgstr ""
12155
12156 #. type: tbl table
12157 #: build/C/man2/ioctl_list.2:958
12158 #, no-wrap
12159 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12160 msgstr ""
12161
12162 #. type: tbl table
12163 #: build/C/man2/ioctl_list.2:959
12164 #, no-wrap
12165 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12166 msgstr ""
12167
12168 #. type: tbl table
12169 #: build/C/man2/ioctl_list.2:960
12170 #, no-wrap
12171 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12172 msgstr ""
12173
12174 #. type: tbl table
12175 #: build/C/man2/ioctl_list.2:961
12176 #, no-wrap
12177 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12178 msgstr ""
12179
12180 #. type: Plain text
12181 #: build/C/man2/ioctl_list.2:965
12182 msgid "B<ioctl>(2)"
12183 msgstr ""
12184
12185 #. type: TH
12186 #: build/C/man2/ioperm.2:34
12187 #, no-wrap
12188 msgid "IOPERM"
12189 msgstr ""
12190
12191 #. type: Plain text
12192 #: build/C/man2/ioperm.2:37
12193 msgid "ioperm - set port input/output permissions"
12194 msgstr ""
12195
12196 #. type: Plain text
12197 #: build/C/man2/ioperm.2:40
12198 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12199 msgstr ""
12200
12201 #. type: Plain text
12202 #: build/C/man2/ioperm.2:43
12203 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12204 msgstr ""
12205
12206 #. type: Plain text
12207 #: build/C/man2/ioperm.2:45
12208 msgid ""
12209 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12210 ">I<turn_on>B<);>"
12211 msgstr ""
12212
12213 #. type: Plain text
12214 #: build/C/man2/ioperm.2:59
12215 msgid ""
12216 "B<ioperm>()  sets the port access permission bits for the calling thread for "
12217 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
12218 "then permission for the specified bits is enabled; otherwise it is "
12219 "disabled.  If I<turn_on> is nonzero, the calling thread must be privileged "
12220 "(B<CAP_SYS_RAWIO>)."
12221 msgstr ""
12222
12223 #. type: Plain text
12224 #: build/C/man2/ioperm.2:68
12225 msgid ""
12226 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
12227 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
12228 "(with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be "
12229 "specified."
12230 msgstr ""
12231
12232 #. type: Plain text
12233 #: build/C/man2/ioperm.2:78
12234 msgid ""
12235 "Permissions are not inherited by the child created by B<fork>(2); following "
12236 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
12237 "Permissions are preserved across B<execve>(2); this is useful for giving "
12238 "port access permissions to unprivileged programs."
12239 msgstr ""
12240
12241 #. type: Plain text
12242 #: build/C/man2/ioperm.2:82
12243 msgid ""
12244 "This call is mostly for the i386 architecture.  On many other architectures "
12245 "it does not exist or will always return an error."
12246 msgstr ""
12247
12248 #. type: Plain text
12249 #: build/C/man2/ioperm.2:94
12250 msgid "Invalid values for I<from> or I<num>."
12251 msgstr ""
12252
12253 #. type: Plain text
12254 #: build/C/man2/ioperm.2:97
12255 msgid "(on PowerPC) This call is not supported."
12256 msgstr ""
12257
12258 #.  Could not allocate I/O bitmap.
12259 #. type: Plain text
12260 #: build/C/man2/ioperm.2:101
12261 msgid "Out of memory."
12262 msgstr ""
12263
12264 #. type: Plain text
12265 #: build/C/man2/ioperm.2:104
12266 msgid "The calling thread has insufficient privilege."
12267 msgstr ""
12268
12269 #. type: Plain text
12270 #: build/C/man2/ioperm.2:108
12271 msgid ""
12272 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12273 "to be portable."
12274 msgstr ""
12275
12276 #. type: Plain text
12277 #: build/C/man2/ioperm.2:112
12278 msgid ""
12279 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
12280 "on the system."
12281 msgstr ""
12282
12283 #. type: Plain text
12284 #: build/C/man2/ioperm.2:121
12285 msgid ""
12286 "Libc5 treats it as a system call and has a prototype in "
12287 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12288 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12289 "Avoid the latter, it is available on i386 only."
12290 msgstr ""
12291
12292 #. type: Plain text
12293 #: build/C/man2/ioperm.2:125
12294 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12295 msgstr ""
12296
12297 #. type: TH
12298 #: build/C/man3/lockf.3:28
12299 #, no-wrap
12300 msgid "LOCKF"
12301 msgstr ""
12302
12303 #. type: TH
12304 #: build/C/man3/lockf.3:28
12305 #, no-wrap
12306 msgid "2012-07-07"
12307 msgstr ""
12308
12309 #. type: Plain text
12310 #: build/C/man3/lockf.3:31
12311 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12312 msgstr ""
12313
12314 #. type: Plain text
12315 #: build/C/man3/lockf.3:35
12316 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12317 msgstr ""
12318
12319 #. type: Plain text
12320 #: build/C/man3/lockf.3:42
12321 msgid "B<lockf>():"
12322 msgstr ""
12323
12324 #. type: Plain text
12325 #: build/C/man3/lockf.3:46
12326 msgid ""
12327 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12328 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12329 msgstr ""
12330
12331 #. type: Plain text
12332 #: build/C/man3/lockf.3:69
12333 msgid ""
12334 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12335 "is specified by I<fd>, a file descriptor open for writing, the action by "
12336 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12337 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12338 "where I<pos> is the current file position, and if I<len> is zero, the "
12339 "section extends from the current file position to infinity, encompassing the "
12340 "present and future end-of-file positions.  In all cases, the section may "
12341 "extend past current end-of-file."
12342 msgstr ""
12343
12344 #. type: Plain text
12345 #: build/C/man3/lockf.3:84
12346 msgid ""
12347 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12348 "Many other systems implement B<lockf>()  in this way, but note that "
12349 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12350 "locks unspecified.  A portable application should probably avoid mixing "
12351 "calls to these interfaces."
12352 msgstr ""
12353
12354 #. type: Plain text
12355 #: build/C/man3/lockf.3:86
12356 msgid "Valid operations are given below:"
12357 msgstr ""
12358
12359 #. type: TP
12360 #: build/C/man3/lockf.3:86
12361 #, no-wrap
12362 msgid "B<F_LOCK>"
12363 msgstr ""
12364
12365 #. type: Plain text
12366 #: build/C/man3/lockf.3:96
12367 msgid ""
12368 "Set an exclusive lock on the specified section of the file.  If (part of) "
12369 "this section is already locked, the call blocks until the previous lock is "
12370 "released.  If this section overlaps an earlier locked section, both are "
12371 "merged.  File locks are released as soon as the process holding the locks "
12372 "closes some file descriptor for the file.  A child process does not inherit "
12373 "these locks."
12374 msgstr ""
12375
12376 #. type: TP
12377 #: build/C/man3/lockf.3:96
12378 #, no-wrap
12379 msgid "B<F_TLOCK>"
12380 msgstr ""
12381
12382 #. type: Plain text
12383 #: build/C/man3/lockf.3:102
12384 msgid ""
12385 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12386 "the file is already locked."
12387 msgstr ""
12388
12389 #. type: TP
12390 #: build/C/man3/lockf.3:102
12391 #, no-wrap
12392 msgid "B<F_ULOCK>"
12393 msgstr ""
12394
12395 #. type: Plain text
12396 #: build/C/man3/lockf.3:106
12397 msgid ""
12398 "Unlock the indicated section of the file.  This may cause a locked section "
12399 "to be split into two locked sections."
12400 msgstr ""
12401
12402 #. type: TP
12403 #: build/C/man3/lockf.3:106
12404 #, no-wrap
12405 msgid "B<F_TEST>"
12406 msgstr ""
12407
12408 #. type: Plain text
12409 #: build/C/man3/lockf.3:116
12410 msgid ""
12411 "Test the lock: return 0 if the specified section is unlocked or locked by "
12412 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12413 "systems), if another process holds a lock."
12414 msgstr ""
12415
12416 #. type: Plain text
12417 #: build/C/man3/lockf.3:130
12418 msgid ""
12419 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12420 "operation is prohibited because the file has been memory-mapped by another "
12421 "process."
12422 msgstr ""
12423
12424 #. type: Plain text
12425 #: build/C/man3/lockf.3:142
12426 msgid ""
12427 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12428 "and I<fd> is not a writable file descriptor."
12429 msgstr ""
12430
12431 #. type: Plain text
12432 #: build/C/man3/lockf.3:147
12433 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12434 msgstr ""
12435
12436 #. type: Plain text
12437 #: build/C/man3/lockf.3:151
12438 msgid "An invalid operation was specified in I<fd>."
12439 msgstr ""
12440
12441 #. type: Plain text
12442 #: build/C/man3/lockf.3:154
12443 msgid "Too many segment locks open, lock table is full."
12444 msgstr ""
12445
12446 #. type: Plain text
12447 #: build/C/man3/lockf.3:156
12448 msgid "SVr4, POSIX.1-2001."
12449 msgstr ""
12450
12451 #. type: Plain text
12452 #: build/C/man3/lockf.3:159
12453 msgid "B<fcntl>(2), B<flock>(2)"
12454 msgstr ""
12455
12456 #. type: Plain text
12457 #: build/C/man3/lockf.3:171
12458 msgid ""
12459 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
12460 "directory I<Documentation/filesystems> (on older kernels, these files are "
12461 "directly under the I<Documentation> directory, and I<mandatory-locking.txt> "
12462 "is called I<mandatory.txt>)"
12463 msgstr ""
12464
12465 #. type: TH
12466 #: build/C/man2/mincore.2:34
12467 #, no-wrap
12468 msgid "MINCORE"
12469 msgstr ""
12470
12471 #. type: TH
12472 #: build/C/man2/mincore.2:34
12473 #, no-wrap
12474 msgid "2008-04-22"
12475 msgstr ""
12476
12477 #. type: Plain text
12478 #: build/C/man2/mincore.2:37
12479 msgid "mincore - determine whether pages are resident in memory"
12480 msgstr ""
12481
12482 #. type: Plain text
12483 #: build/C/man2/mincore.2:41
12484 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12485 msgstr ""
12486
12487 #. type: Plain text
12488 #: build/C/man2/mincore.2:43
12489 msgid ""
12490 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12491 "*>I<vec>B<);>"
12492 msgstr ""
12493
12494 #. type: Plain text
12495 #: build/C/man2/mincore.2:51
12496 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12497 msgstr ""
12498
12499 #. type: Plain text
12500 #: build/C/man2/mincore.2:62
12501 msgid ""
12502 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12503 "process's virtual memory are resident in core (RAM), and so will not cause a "
12504 "disk access (page fault) if referenced.  The kernel returns residency "
12505 "information about the pages starting at the address I<addr>, and continuing "
12506 "for I<length> bytes."
12507 msgstr ""
12508
12509 #. type: Plain text
12510 #: build/C/man2/mincore.2:76
12511 msgid ""
12512 "The I<addr> argument must be a multiple of the system page size.  The "
12513 "I<length> argument need not be a multiple of the page size, but since "
12514 "residency information is returned for whole pages, I<length> is effectively "
12515 "rounded up to the next multiple of the page size.  One may obtain the page "
12516 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12517 msgstr ""
12518
12519 #. type: Plain text
12520 #: build/C/man2/mincore.2:94
12521 msgid ""
12522 "The I<vec> argument must point to an array containing at least "
12523 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
12524 "bit of each byte will be set if the corresponding page is currently resident "
12525 "in memory, and be clear otherwise.  (The settings of the other bits in each "
12526 "byte are undefined; these bits are reserved for possible later use.)  Of "
12527 "course the information returned in I<vec> is only a snapshot: pages that are "
12528 "not locked in memory can come and go at any moment, and the contents of "
12529 "I<vec> may already be stale by the time this call returns."
12530 msgstr ""
12531
12532 #. type: Plain text
12533 #: build/C/man2/mincore.2:101
12534 msgid ""
12535 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
12536 "I<errno> is set appropriately."
12537 msgstr ""
12538
12539 #. type: Plain text
12540 #: build/C/man2/mincore.2:104
12541 msgid "B<EAGAIN> kernel is temporarily out of resources."
12542 msgstr ""
12543
12544 #. type: Plain text
12545 #: build/C/man2/mincore.2:108
12546 msgid "I<vec> points to an invalid address."
12547 msgstr ""
12548
12549 #. type: Plain text
12550 #: build/C/man2/mincore.2:112
12551 msgid "I<addr> is not a multiple of the page size."
12552 msgstr ""
12553
12554 #. type: Plain text
12555 #: build/C/man2/mincore.2:124
12556 msgid ""
12557 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
12558 "negative value is specified for I<length>, since that value will be "
12559 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
12560 "error B<EINVAL> was returned for this condition."
12561 msgstr ""
12562
12563 #. type: Plain text
12564 #: build/C/man2/mincore.2:132
12565 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
12566 msgstr ""
12567
12568 #. type: Plain text
12569 #: build/C/man2/mincore.2:134
12570 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
12571 msgstr ""
12572
12573 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
12574 #.  AIX 5.1, SunOS 4.1
12575 #.  .SH HISTORY
12576 #.  The
12577 #.  .BR mincore ()
12578 #.  function first appeared in 4.4BSD.
12579 #. type: Plain text
12580 #: build/C/man2/mincore.2:144
12581 msgid ""
12582 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
12583 "all UNIX implementations."
12584 msgstr ""
12585
12586 #.  Linux (up to now, 2.6.5),
12587 #.  .B mincore
12588 #.  does not return correct information for MAP_PRIVATE mappings:
12589 #.  for a MAP_PRIVATE file mapping,
12590 #.  .B mincore
12591 #.  returns the residency of the file pages, rather than any
12592 #.  modified process-private pages that have been copied on write;
12593 #.  for a MAP_PRIVATE mapping of
12594 #.  .IR /dev/zero ,
12595 #.  .B mincore
12596 #.  always reports pages as nonresident;
12597 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
12598 #.  .B mincore
12599 #.  always fails with the error
12600 #.  .BR ENOMEM .
12601 #. type: Plain text
12602 #: build/C/man2/mincore.2:166
12603 msgid ""
12604 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
12605 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
12606 "B<remap_file_pages>(2))."
12607 msgstr ""
12608
12609 #. type: Plain text
12610 #: build/C/man2/mincore.2:169
12611 msgid "B<mlock>(2), B<mmap>(2)"
12612 msgstr ""
12613
12614 #. type: TH
12615 #: build/C/man2/mkdir.2:10
12616 #, no-wrap
12617 msgid "MKDIR"
12618 msgstr ""
12619
12620 #. type: TH
12621 #: build/C/man2/mkdir.2:10
12622 #, no-wrap
12623 msgid "2013-01-27"
12624 msgstr ""
12625
12626 #. type: Plain text
12627 #: build/C/man2/mkdir.2:13
12628 msgid "mkdir - create a directory"
12629 msgstr ""
12630
12631 #.  .B #include <unistd.h>
12632 #. type: Plain text
12633 #: build/C/man2/mkdir.2:18
12634 #, no-wrap
12635 msgid ""
12636 "B<#include E<lt>sys/stat.hE<gt>>\n"
12637 "B<#include E<lt>sys/types.hE<gt>>\n"
12638 msgstr ""
12639
12640 #. type: Plain text
12641 #: build/C/man2/mkdir.2:20
12642 #, no-wrap
12643 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12644 msgstr ""
12645
12646 #. type: Plain text
12647 #: build/C/man2/mkdir.2:25
12648 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
12649 msgstr ""
12650
12651 #. type: Plain text
12652 #: build/C/man2/mkdir.2:35
12653 msgid ""
12654 "The argument I<mode> specifies the permissions to use.  It is modified by "
12655 "the process's I<umask> in the usual way: the permissions of the created "
12656 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
12657 "directory depend on the operating system.  For Linux, see below."
12658 msgstr ""
12659
12660 #. type: Plain text
12661 #: build/C/man2/mkdir.2:45
12662 msgid ""
12663 "The newly created directory will be owned by the effective user ID of the "
12664 "process.  If the directory containing the file has the set-group-ID bit set, "
12665 "or if the filesystem is mounted with BSD group semantics (I<mount -o "
12666 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
12667 "inherit the group ownership from its parent; otherwise it will be owned by "
12668 "the effective group ID of the process."
12669 msgstr ""
12670
12671 #. type: Plain text
12672 #: build/C/man2/mkdir.2:48
12673 msgid ""
12674 "If the parent directory has the set-group-ID bit set then so will the newly "
12675 "created directory."
12676 msgstr ""
12677
12678 #. type: Plain text
12679 #: build/C/man2/mkdir.2:53
12680 msgid ""
12681 "B<mkdir>()  returns zero on success, or -1 if an error occurred (in which "
12682 "case, I<errno> is set appropriately)."
12683 msgstr ""
12684
12685 #. type: Plain text
12686 #: build/C/man2/mkdir.2:62
12687 msgid ""
12688 "The parent directory does not allow write permission to the process, or one "
12689 "of the directories in I<pathname> did not allow search permission.  (See "
12690 "also B<path_resolution>(7).)"
12691 msgstr ""
12692
12693 #. type: TP
12694 #: build/C/man2/mkdir.2:62
12695 #, no-wrap
12696 msgid "B<EDQUOT>"
12697 msgstr ""
12698
12699 #. type: Plain text
12700 #: build/C/man2/mkdir.2:66
12701 msgid ""
12702 "The user's quota of disk blocks or inodes on the filesystem has been "
12703 "exhausted."
12704 msgstr ""
12705
12706 #. type: TP
12707 #: build/C/man2/mkdir.2:66
12708 #, no-wrap
12709 msgid "B<EEXIST>"
12710 msgstr ""
12711
12712 #. type: Plain text
12713 #: build/C/man2/mkdir.2:73
12714 msgid ""
12715 "I<pathname> already exists (not necessarily as a directory).  This includes "
12716 "the case where I<pathname> is a symbolic link, dangling or not."
12717 msgstr ""
12718
12719 #. type: TP
12720 #: build/C/man2/mkdir.2:80
12721 #, no-wrap
12722 msgid "B<EMLINK>"
12723 msgstr ""
12724
12725 #. type: Plain text
12726 #: build/C/man2/mkdir.2:84
12727 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
12728 msgstr ""
12729
12730 #. type: Plain text
12731 #: build/C/man2/mkdir.2:87
12732 msgid "I<pathname> was too long."
12733 msgstr ""
12734
12735 #. type: Plain text
12736 #: build/C/man2/mkdir.2:92
12737 msgid ""
12738 "A directory component in I<pathname> does not exist or is a dangling "
12739 "symbolic link."
12740 msgstr ""
12741
12742 #. type: TP
12743 #: build/C/man2/mkdir.2:95 build/C/man2/mkdir.2:100
12744 #, no-wrap
12745 msgid "B<ENOSPC>"
12746 msgstr ""
12747
12748 #. type: Plain text
12749 #: build/C/man2/mkdir.2:100
12750 msgid "The device containing I<pathname> has no room for the new directory."
12751 msgstr ""
12752
12753 #. type: Plain text
12754 #: build/C/man2/mkdir.2:104
12755 msgid ""
12756 "The new directory cannot be created because the user's disk quota is "
12757 "exhausted."
12758 msgstr ""
12759
12760 #. type: Plain text
12761 #: build/C/man2/mkdir.2:114
12762 msgid ""
12763 "The filesystem containing I<pathname> does not support the creation of "
12764 "directories."
12765 msgstr ""
12766
12767 #. type: Plain text
12768 #: build/C/man2/mkdir.2:118
12769 msgid "I<pathname> refers to a file on a read-only filesystem."
12770 msgstr ""
12771
12772 #.  SVr4 documents additional EIO, EMULTIHOP
12773 #. type: Plain text
12774 #: build/C/man2/mkdir.2:121
12775 msgid "SVr4, BSD, POSIX.1-2001."
12776 msgstr ""
12777
12778 #. type: Plain text
12779 #: build/C/man2/mkdir.2:129
12780 msgid ""
12781 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
12782 "honored.  That is, under Linux the created directory actually gets mode "
12783 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
12784 msgstr ""
12785
12786 #. type: Plain text
12787 #: build/C/man2/mkdir.2:133
12788 msgid ""
12789 "There are many infelicities in the protocol underlying NFS.  Some of these "
12790 "affect B<mkdir>()."
12791 msgstr ""
12792
12793 #. type: Plain text
12794 #: build/C/man2/mkdir.2:145
12795 msgid ""
12796 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mkdirat>(2), B<mknod>(2), "
12797 "B<mount>(2), B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
12798 "B<path_resolution>(7)"
12799 msgstr ""
12800
12801 #. type: TH
12802 #: build/C/man2/nice.2:31
12803 #, no-wrap
12804 msgid "NICE"
12805 msgstr ""
12806
12807 #. type: TH
12808 #: build/C/man2/nice.2:31 build/C/man2/vhangup.2:28
12809 #, no-wrap
12810 msgid "2007-07-26"
12811 msgstr ""
12812
12813 #. type: Plain text
12814 #: build/C/man2/nice.2:34
12815 msgid "nice - change process priority"
12816 msgstr ""
12817
12818 #. type: Plain text
12819 #: build/C/man2/nice.2:38
12820 msgid "B<int nice(int >I<inc>B<);>"
12821 msgstr ""
12822
12823 #. type: Plain text
12824 #: build/C/man2/nice.2:46
12825 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12826 msgstr ""
12827
12828 #. type: Plain text
12829 #: build/C/man2/nice.2:56
12830 msgid ""
12831 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
12832 "nice value means a low priority.)  Only the super\\%user may specify a "
12833 "negative increment, or priority increase.  The range for nice values is "
12834 "described in B<getpriority>(2)."
12835 msgstr ""
12836
12837 #. type: Plain text
12838 #: build/C/man2/nice.2:61
12839 msgid ""
12840 "On success, the new nice value is returned (but see NOTES below).  On error, "
12841 "-1 is returned, and I<errno> is set appropriately."
12842 msgstr ""
12843
12844 #. type: Plain text
12845 #: build/C/man2/nice.2:75
12846 msgid ""
12847 "The calling process attempted to increase its priority by supplying a "
12848 "negative I<inc> but has insufficient privileges.  Under Linux the "
12849 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
12850 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
12851 msgstr ""
12852
12853 #. type: Plain text
12854 #: build/C/man2/nice.2:82
12855 msgid ""
12856 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
12857 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
12858 "additional B<EINVAL> error code."
12859 msgstr ""
12860
12861 #. type: Plain text
12862 #: build/C/man2/nice.2:92
12863 msgid ""
12864 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
12865 "value.  However, the Linux syscall and the B<nice>()  library function "
12866 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
12867 "success.  The new nice value can be found using B<getpriority>(2)."
12868 msgstr ""
12869
12870 #. type: Plain text
12871 #: build/C/man2/nice.2:105
12872 msgid ""
12873 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
12874 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
12875 "caller.  With this implementation, a successful call can legitimately return "
12876 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
12877 "check its value when B<nice>()  returns -1."
12878 msgstr ""
12879
12880 #. type: Plain text
12881 #: build/C/man2/nice.2:112
12882 msgid ""
12883 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
12884 "B<capabilities>(7)"
12885 msgstr ""
12886
12887 #. type: TH
12888 #: build/C/man2/pread.2:25
12889 #, no-wrap
12890 msgid "PREAD"
12891 msgstr ""
12892
12893 #. type: Plain text
12894 #: build/C/man2/pread.2:28
12895 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
12896 msgstr ""
12897
12898 #. type: Plain text
12899 #: build/C/man2/pread.2:33
12900 msgid ""
12901 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
12902 ">I<offset>B<);>"
12903 msgstr ""
12904
12905 #. type: Plain text
12906 #: build/C/man2/pread.2:36
12907 msgid ""
12908 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
12909 "off_t >I<offset>B<);>"
12910 msgstr ""
12911
12912 #. type: Plain text
12913 #: build/C/man2/pread.2:46
12914 msgid "B<pread>(), B<pwrite>():"
12915 msgstr ""
12916
12917 #. type: Plain text
12918 #: build/C/man2/pread.2:48
12919 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12920 msgstr ""
12921
12922 #. type: Plain text
12923 #: build/C/man2/pread.2:64
12924 msgid ""
12925 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
12926 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
12927 "The file offset is not changed."
12928 msgstr ""
12929
12930 #. type: Plain text
12931 #: build/C/man2/pread.2:75
12932 msgid ""
12933 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
12934 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
12935 "changed."
12936 msgstr ""
12937
12938 #. type: Plain text
12939 #: build/C/man2/pread.2:79
12940 msgid "The file referenced by I<fd> must be capable of seeking."
12941 msgstr ""
12942
12943 #. type: Plain text
12944 #: build/C/man2/pread.2:89
12945 msgid ""
12946 "On success, the number of bytes read or written is returned (zero indicates "
12947 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
12948 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
12949 "indicate the error."
12950 msgstr ""
12951
12952 #. type: Plain text
12953 #: build/C/man2/pread.2:104
12954 msgid ""
12955 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
12956 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
12957 "specified for B<write>(2)  or B<lseek>(2)."
12958 msgstr ""
12959
12960 #. type: Plain text
12961 #: build/C/man2/pread.2:115
12962 msgid ""
12963 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
12964 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
12965 "library support (including emulation using B<lseek>(2)  on older kernels "
12966 "without the system calls) was added in glibc 2.1."
12967 msgstr ""
12968
12969 #. type: Plain text
12970 #: build/C/man2/pread.2:125
12971 msgid ""
12972 "The B<pread>()  and B<pwrite>()  system calls are especially useful in "
12973 "multithreaded applications.  They allow multiple threads to perform I/O on "
12974 "the same file descriptor without being affected by changes to the file "
12975 "offset by other threads."
12976 msgstr ""
12977
12978 #. type: Plain text
12979 #: build/C/man2/pread.2:141
12980 msgid ""
12981 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
12982 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
12983 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
12984 "functions transparently deal with the change."
12985 msgstr ""
12986
12987 #. type: Plain text
12988 #: build/C/man2/pread.2:146 build/C/man2/truncate.2:248
12989 msgid ""
12990 "On some 32-bit architectures, the calling signature for these system calls "
12991 "differ, for the reasons described in B<syscall>(2)."
12992 msgstr ""
12993
12994 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
12995 #. type: Plain text
12996 #: build/C/man2/pread.2:158
12997 msgid ""
12998 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
12999 "affect on the location at which B<pwrite>()  writes data.  However, on "
13000 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
13001 "the end of the file, regardless of the value of I<offset>."
13002 msgstr ""
13003
13004 #. type: Plain text
13005 #: build/C/man2/pread.2:163
13006 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
13007 msgstr ""
13008
13009 #. type: TH
13010 #: build/C/man2/set_thread_area.2:8
13011 #, no-wrap
13012 msgid "SET_THREAD_AREA"
13013 msgstr ""
13014
13015 #. type: Plain text
13016 #: build/C/man2/set_thread_area.2:11
13017 msgid "set_thread_area - set a thread local storage (TLS) area"
13018 msgstr ""
13019
13020 #. type: Plain text
13021 #: build/C/man2/set_thread_area.2:17
13022 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
13023 msgstr ""
13024
13025 #. type: Plain text
13026 #: build/C/man2/set_thread_area.2:33
13027 msgid ""
13028 "B<set_thread_area>()  sets an entry in the current thread's thread-local "
13029 "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
13030 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
13031 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
13032 "descriptor pointed to by I<u_info> into the thread's TLS array."
13033 msgstr ""
13034
13035 #. type: Plain text
13036 #: build/C/man2/set_thread_area.2:44
13037 msgid ""
13038 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
13039 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
13040 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
13041 "changed."
13042 msgstr ""
13043
13044 #. type: Plain text
13045 #: build/C/man2/set_thread_area.2:49
13046 msgid ""
13047 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
13048 "set appropriately."
13049 msgstr ""
13050
13051 #. type: TP
13052 #: build/C/man2/set_thread_area.2:56
13053 #, no-wrap
13054 msgid "B<ESRCH>"
13055 msgstr ""
13056
13057 #. type: Plain text
13058 #: build/C/man2/set_thread_area.2:59
13059 msgid "A free TLS entry could not be located."
13060 msgstr ""
13061
13062 #. type: Plain text
13063 #: build/C/man2/set_thread_area.2:63
13064 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
13065 msgstr ""
13066
13067 #. type: Plain text
13068 #: build/C/man2/set_thread_area.2:67
13069 msgid ""
13070 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
13071 "that are intended to be portable."
13072 msgstr ""
13073
13074 #. type: Plain text
13075 #: build/C/man2/set_thread_area.2:72
13076 msgid ""
13077 "Glibc does not provide a wrapper for this system call, since it is generally "
13078 "intended only for use by threading libraries.  In the unlikely event that "
13079 "you want to call it directly, use B<syscall>(2)."
13080 msgstr ""
13081
13082 #. type: Plain text
13083 #: build/C/man2/set_thread_area.2:74
13084 msgid "B<get_thread_area>(2)"
13085 msgstr ""
13086
13087 #. type: TH
13088 #: build/C/man2/setup.2:34
13089 #, no-wrap
13090 msgid "SETUP"
13091 msgstr ""
13092
13093 #. type: TH
13094 #: build/C/man2/setup.2:34 build/C/man2/uname.2:27
13095 #, no-wrap
13096 msgid "2008-12-03"
13097 msgstr ""
13098
13099 #. type: Plain text
13100 #: build/C/man2/setup.2:37
13101 msgid "setup - setup devices and filesystems, mount root filesystem"
13102 msgstr ""
13103
13104 #. type: Plain text
13105 #: build/C/man2/setup.2:41
13106 msgid "B<int setup(void);>"
13107 msgstr ""
13108
13109 #. type: Plain text
13110 #: build/C/man2/setup.2:47
13111 msgid ""
13112 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
13113 "initialization functions for devices and filesystems configured into the "
13114 "kernel and then mounts the root filesystem."
13115 msgstr ""
13116
13117 #. type: Plain text
13118 #: build/C/man2/setup.2:53
13119 msgid ""
13120 "No user process may call B<setup>().  Any user process, even a process with "
13121 "superuser permission, will receive B<EPERM>."
13122 msgstr ""
13123
13124 #. type: Plain text
13125 #: build/C/man2/setup.2:56
13126 msgid "B<setup>()  always returns -1 for a user process."
13127 msgstr ""
13128
13129 #. type: Plain text
13130 #: build/C/man2/setup.2:62
13131 msgid "Since Linux 2.1.121, no such function exists anymore."
13132 msgstr ""
13133
13134 #. type: Plain text
13135 #: build/C/man2/setup.2:65
13136 msgid ""
13137 "This function is Linux-specific, and should not be used in programs intended "
13138 "to be portable, or indeed in any programs at all."
13139 msgstr ""
13140
13141 #. type: Plain text
13142 #: build/C/man2/setup.2:72
13143 msgid ""
13144 "The calling sequence varied: at some times I<setup ()> has had a single "
13145 "argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
13146 msgstr ""
13147
13148 #. type: TH
13149 #: build/C/man5/shells.5:28
13150 #, no-wrap
13151 msgid "SHELLS"
13152 msgstr ""
13153
13154 #. type: Plain text
13155 #: build/C/man5/shells.5:31
13156 msgid "shells - pathnames of valid login shells"
13157 msgstr ""
13158
13159 #. type: Plain text
13160 #: build/C/man5/shells.5:37
13161 msgid ""
13162 "I</etc/shells> is a text file which contains the full pathnames of valid "
13163 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
13164 "queried by other programs."
13165 msgstr ""
13166
13167 #. type: Plain text
13168 #: build/C/man5/shells.5:43
13169 msgid ""
13170 "Be aware that there are programs which consult this file to find out if a "
13171 "user is a normal user; for example, FTP daemons traditionally disallow "
13172 "access to users with shells not included in this file."
13173 msgstr ""
13174
13175 #. type: Plain text
13176 #: build/C/man5/shells.5:45
13177 msgid "I</etc/shells>"
13178 msgstr ""
13179
13180 #. type: Plain text
13181 #: build/C/man5/shells.5:48
13182 msgid "I</etc/shells> may contain the following paths:"
13183 msgstr ""
13184
13185 #. type: Plain text
13186 #: build/C/man5/shells.5:51
13187 msgid "I</bin/sh>"
13188 msgstr ""
13189
13190 #. type: Plain text
13191 #: build/C/man5/shells.5:53
13192 msgid "I</bin/bash>"
13193 msgstr ""
13194
13195 #. type: Plain text
13196 #: build/C/man5/shells.5:55
13197 msgid "I</bin/csh>"
13198 msgstr ""
13199
13200 #. type: Plain text
13201 #: build/C/man5/shells.5:59
13202 msgid "B<chsh>(1), B<getusershell>(3)"
13203 msgstr ""
13204
13205 #. type: TH
13206 #: build/C/man3/sleep.3:26
13207 #, no-wrap
13208 msgid "SLEEP"
13209 msgstr ""
13210
13211 #. type: TH
13212 #: build/C/man3/sleep.3:26
13213 #, no-wrap
13214 msgid "2010-02-03"
13215 msgstr ""
13216
13217 #. type: Plain text
13218 #: build/C/man3/sleep.3:29
13219 msgid "sleep - sleep for the specified number of seconds"
13220 msgstr ""
13221
13222 #. type: Plain text
13223 #: build/C/man3/sleep.3:34
13224 #, no-wrap
13225 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13226 msgstr ""
13227
13228 #. type: Plain text
13229 #: build/C/man3/sleep.3:40
13230 msgid ""
13231 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13232 "elapsed or a signal arrives which is not ignored."
13233 msgstr ""
13234
13235 #. type: Plain text
13236 #: build/C/man3/sleep.3:44
13237 msgid ""
13238 "Zero if the requested time has elapsed, or the number of seconds left to "
13239 "sleep, if the call was interrupted by a signal handler."
13240 msgstr ""
13241
13242 #. type: Plain text
13243 #: build/C/man3/sleep.3:55
13244 msgid ""
13245 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13246 "and B<sleep>()  is a bad idea."
13247 msgstr ""
13248
13249 #. type: Plain text
13250 #: build/C/man3/sleep.3:61
13251 msgid ""
13252 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13253 "B<SIGALRM> while sleeping will cause undefined results."
13254 msgstr ""
13255
13256 #. type: Plain text
13257 #: build/C/man3/sleep.3:66
13258 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13259 msgstr ""
13260
13261 #. type: TH
13262 #: build/C/man3/swab.3:31
13263 #, no-wrap
13264 msgid "SWAB"
13265 msgstr ""
13266
13267 #. type: TH
13268 #: build/C/man3/swab.3:31
13269 #, no-wrap
13270 msgid "2001-12-15"
13271 msgstr ""
13272
13273 #. type: Plain text
13274 #: build/C/man3/swab.3:34
13275 msgid "swab - swap adjacent bytes"
13276 msgstr ""
13277
13278 #. type: Plain text
13279 #: build/C/man3/swab.3:38
13280 #, no-wrap
13281 msgid ""
13282 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13283 "B<#include E<lt>unistd.hE<gt>>\n"
13284 msgstr ""
13285
13286 #. type: Plain text
13287 #: build/C/man3/swab.3:40
13288 #, no-wrap
13289 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13290 msgstr ""
13291
13292 #. type: Plain text
13293 #: build/C/man3/swab.3:55
13294 msgid ""
13295 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13296 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13297 "bytes.  This function is used to exchange data between machines that have "
13298 "different low/high byte ordering."
13299 msgstr ""
13300
13301 #. type: Plain text
13302 #: build/C/man3/swab.3:68
13303 msgid ""
13304 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13305 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13306 "the last byte.  (In other words, I<n> should be even.)"
13307 msgstr ""
13308
13309 #. type: Plain text
13310 #: build/C/man3/swab.3:72
13311 msgid "The B<swab>()  function returns no value."
13312 msgstr ""
13313
13314 #. type: Plain text
13315 #: build/C/man3/swab.3:76
13316 msgid "B<bstring>(3)"
13317 msgstr ""
13318
13319 #. type: TH
13320 #: build/C/man2/swapon.2:37
13321 #, no-wrap
13322 msgid "SWAPON"
13323 msgstr ""
13324
13325 #. type: TH
13326 #: build/C/man2/swapon.2:37
13327 #, no-wrap
13328 msgid "2010-11-15"
13329 msgstr ""
13330
13331 #. type: Plain text
13332 #: build/C/man2/swapon.2:40
13333 msgid "swapon, swapoff - start/stop swapping to file/device"
13334 msgstr ""
13335
13336 #. type: Plain text
13337 #: build/C/man2/swapon.2:44
13338 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
13339 msgstr ""
13340
13341 #. type: Plain text
13342 #: build/C/man2/swapon.2:46
13343 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13344 msgstr ""
13345
13346 #. type: Plain text
13347 #: build/C/man2/swapon.2:48
13348 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13349 msgstr ""
13350
13351 #. type: Plain text
13352 #: build/C/man2/swapon.2:50
13353 msgid "B<int swapoff(const char *>I<path>B<);>"
13354 msgstr ""
13355
13356 #. type: Plain text
13357 #: build/C/man2/swapon.2:57
13358 msgid ""
13359 "B<swapon>()  sets the swap area to the file or block device specified by "
13360 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13361 "by I<path>."
13362 msgstr ""
13363
13364 #. type: Plain text
13365 #: build/C/man2/swapon.2:67
13366 msgid ""
13367 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13368 "I<swapflags> argument, the new swap area will have a higher priority than "
13369 "default.  The priority is encoded within I<swapflags> as:"
13370 msgstr ""
13371
13372 #. type: Plain text
13373 #: build/C/man2/swapon.2:70
13374 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13375 msgstr ""
13376
13377 #. type: Plain text
13378 #: build/C/man2/swapon.2:82
13379 msgid ""
13380 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13381 "I<swapflags> argument, freed swap pages will be discarded before they are "
13382 "reused, if the swap device supports the discard or trim operation.  (This "
13383 "may improve performance on some Solid State Devices, but often it does not.)  "
13384 "See also NOTES."
13385 msgstr ""
13386
13387 #. type: Plain text
13388 #: build/C/man2/swapon.2:86
13389 msgid ""
13390 "These functions may be used only by a privileged process (one having the "
13391 "B<CAP_SYS_ADMIN> capability)."
13392 msgstr ""
13393
13394 #. type: SS
13395 #: build/C/man2/swapon.2:86
13396 #, no-wrap
13397 msgid "Priority"
13398 msgstr ""
13399
13400 #. type: Plain text
13401 #: build/C/man2/swapon.2:91
13402 msgid ""
13403 "Each swap area has a priority, either high or low.  The default priority is "
13404 "low.  Within the low-priority areas, newer areas are even lower priority "
13405 "than older areas."
13406 msgstr ""
13407
13408 #. type: Plain text
13409 #: build/C/man2/swapon.2:97
13410 msgid ""
13411 "All priorities set with I<swapflags> are high-priority, higher than "
13412 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13413 "numbers mean higher priority."
13414 msgstr ""
13415
13416 #. type: Plain text
13417 #: build/C/man2/swapon.2:105
13418 msgid ""
13419 "Swap pages are allocated from areas in priority order, highest priority "
13420 "first.  For areas with different priorities, a higher-priority area is "
13421 "exhausted before using a lower-priority area.  If two or more areas have the "
13422 "same priority, and it is the highest priority available, pages are allocated "
13423 "on a round-robin basis between them."
13424 msgstr ""
13425
13426 #. type: Plain text
13427 #: build/C/man2/swapon.2:108
13428 msgid ""
13429 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13430 "exceptions."
13431 msgstr ""
13432
13433 #. type: Plain text
13434 #: build/C/man2/swapon.2:121
13435 msgid ""
13436 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13437 "area."
13438 msgstr ""
13439
13440 #. type: Plain text
13441 #: build/C/man2/swapon.2:133
13442 msgid ""
13443 "The file I<path> exists, but refers neither to a regular file nor to a block "
13444 "device; or, for B<swapon>(), the indicated path does not contain a valid "
13445 "swap signature or resides on an in-memory filesystem like tmpfs; or, for "
13446 "B<swapoff>(), I<path> is not currently a swap area."
13447 msgstr ""
13448
13449 #. type: Plain text
13450 #: build/C/man2/swapon.2:141
13451 msgid "The file I<path> does not exist."
13452 msgstr ""
13453
13454 #. type: Plain text
13455 #: build/C/man2/swapon.2:144
13456 msgid "The system has insufficient memory to start swapping."
13457 msgstr ""
13458
13459 #. type: Plain text
13460 #: build/C/man2/swapon.2:151
13461 msgid ""
13462 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
13463 "the maximum number of swap files are already in use; see NOTES below."
13464 msgstr ""
13465
13466 #. type: Plain text
13467 #: build/C/man2/swapon.2:157
13468 msgid ""
13469 "These functions are Linux-specific and should not be used in programs "
13470 "intended to be portable.  The second I<swapflags> argument was introduced in "
13471 "Linux 1.3.2."
13472 msgstr ""
13473
13474 #. type: Plain text
13475 #: build/C/man2/swapon.2:160
13476 msgid "The partition or path must be prepared with B<mkswap>(8)."
13477 msgstr ""
13478
13479 #. type: Plain text
13480 #: build/C/man2/swapon.2:180
13481 msgid ""
13482 "There is an upper limit on the number of swap files that may be used, "
13483 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
13484 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
13485 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
13486 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
13487 "entries for the page migration features of B<mbind>(2)  and "
13488 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
13489 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
13490 msgstr ""
13491
13492 #.  To be precise: 2.6.35.5
13493 #. type: Plain text
13494 #: build/C/man2/swapon.2:191
13495 msgid ""
13496 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
13497 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
13498 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
13499 "set."
13500 msgstr ""
13501
13502 #. type: Plain text
13503 #: build/C/man2/swapon.2:195
13504 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13505 msgstr ""
13506
13507 #. type: TH
13508 #: build/C/man2/syscall.2:40
13509 #, no-wrap
13510 msgid "SYSCALL"
13511 msgstr ""
13512
13513 #. type: Plain text
13514 #: build/C/man2/syscall.2:43
13515 msgid "syscall - indirect system call"
13516 msgstr ""
13517
13518 #. type: Plain text
13519 #: build/C/man2/syscall.2:48
13520 #, no-wrap
13521 msgid ""
13522 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
13523 "B<#include E<lt>unistd.hE<gt>>\n"
13524 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
13525 msgstr ""
13526
13527 #. type: Plain text
13528 #: build/C/man2/syscall.2:50
13529 #, no-wrap
13530 msgid "B<int syscall(int >I<number>B<, ...);>\n"
13531 msgstr ""
13532
13533 #. type: Plain text
13534 #: build/C/man2/syscall.2:62
13535 msgid ""
13536 "B<syscall>()  is a small library function that invokes the system call whose "
13537 "assembly language interface has the specified I<number> with the specified "
13538 "arguments.  Employing B<syscall>()  is useful, for example, when invoking a "
13539 "system call that has no wrapper function in the C library."
13540 msgstr ""
13541
13542 #. type: Plain text
13543 #: build/C/man2/syscall.2:69
13544 msgid ""
13545 "B<syscall>()  saves CPU registers before making the system call, restores "
13546 "the registers upon return from the system call, and stores any error code "
13547 "returned by the system call in B<errno>(3)  if an error occurs."
13548 msgstr ""
13549
13550 #. type: Plain text
13551 #: build/C/man2/syscall.2:72
13552 msgid ""
13553 "Symbolic constants for system call numbers can be found in the header file "
13554 "I<E<lt>sys/syscall.hE<gt>>."
13555 msgstr ""
13556
13557 #. type: Plain text
13558 #: build/C/man2/syscall.2:78
13559 msgid ""
13560 "The return value is defined by the system call being invoked.  In general, a "
13561 "0 return value indicates success.  A -1 return value indicates an error, and "
13562 "an error code is stored in I<errno>."
13563 msgstr ""
13564
13565 #. type: Plain text
13566 #: build/C/man2/syscall.2:82
13567 msgid "B<syscall>()  first appeared in 4BSD."
13568 msgstr ""
13569
13570 #. type: SS
13571 #: build/C/man2/syscall.2:82
13572 #, no-wrap
13573 msgid "Architecture-specific requirements"
13574 msgstr ""
13575
13576 #. type: Plain text
13577 #: build/C/man2/syscall.2:93
13578 msgid ""
13579 "Each architecture ABI has its own requirements on how system call arguments "
13580 "are passed to the kernel.  For system calls that have a glibc wrapper (e.g., "
13581 "most system calls), glibc handles the details of copying arguments to the "
13582 "right registers in a manner suitable for the architecture.  However, when "
13583 "using B<syscall>()  to make a system call, the caller might need to handle "
13584 "architecture-dependent details; this requirement is most commonly "
13585 "encountered on certain 32-bit architectures."
13586 msgstr ""
13587
13588 #. type: Plain text
13589 #: build/C/man2/syscall.2:104
13590 msgid ""
13591 "For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value "
13592 "(e.g., I<long long>)  must be aligned to an even register pair.  Thus, using "
13593 "B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  "
13594 "system call would be invoked as follows on the ARM architecture with the "
13595 "EABI:"
13596 msgstr ""
13597
13598 #. type: Plain text
13599 #: build/C/man2/syscall.2:111
13600 #, no-wrap
13601 msgid ""
13602 "syscall(SYS_readahead, fd, 0,\n"
13603 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
13604 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
13605 "        count);\n"
13606 msgstr ""
13607
13608 #. type: Plain text
13609 #: build/C/man2/syscall.2:125
13610 msgid ""
13611 "Since the offset argument is 64 bits, and the first argument (I<fd>)  is "
13612 "passed in I<r0>, the caller must manually split and align the 64-bit value "
13613 "so that it is passed in the I<r2>/I<r3> register pair.  That means inserting "
13614 "a dummy value into I<r1> (the second argument of 0)."
13615 msgstr ""
13616
13617 #.  Mike Frysinger: this issue ends up forcing MIPS
13618 #.  O32 to take 7 arguments to syscall()
13619 #. type: Plain text
13620 #: build/C/man2/syscall.2:130
13621 msgid ""
13622 "Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the "
13623 "32-bit ABI, and on Xtensa."
13624 msgstr ""
13625
13626 #. type: Plain text
13627 #: build/C/man2/syscall.2:141
13628 msgid ""
13629 "The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), "
13630 "B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), "
13631 "B<sync_file_range>(2), and B<truncate64>(2)."
13632 msgstr ""
13633
13634 #. type: SS
13635 #: build/C/man2/syscall.2:141
13636 #, no-wrap
13637 msgid "Architecture calling conventions"
13638 msgstr ""
13639
13640 #. type: Plain text
13641 #: build/C/man2/syscall.2:145
13642 msgid ""
13643 "Every architecture has its own way of invoking and passing arguments to the "
13644 "kernel.  The details for various architectures are listed in the two tables "
13645 "below."
13646 msgstr ""
13647
13648 #. type: Plain text
13649 #: build/C/man2/syscall.2:151
13650 msgid ""
13651 "The first table lists the instruction used to transition to kernel mode, "
13652 "(which might not be the fastest or best way to transition to the kernel, so "
13653 "you might have to refer to the VDSO), the register used to indicate the "
13654 "system call number, and the register used to return the system call result."
13655 msgstr ""
13656
13657 #. type: tbl table
13658 #: build/C/man2/syscall.2:156
13659 #, no-wrap
13660 msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
13661 msgstr ""
13662
13663 #. type: tbl table
13664 #: build/C/man2/syscall.2:158
13665 #, no-wrap
13666 msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
13667 msgstr ""
13668
13669 #. type: tbl table
13670 #: build/C/man2/syscall.2:159
13671 #, no-wrap
13672 msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
13673 msgstr ""
13674
13675 #. type: tbl table
13676 #: build/C/man2/syscall.2:160
13677 #, no-wrap
13678 msgid "blackfin\texcpt 0x0\tP0\tR0\n"
13679 msgstr ""
13680
13681 #. type: tbl table
13682 #: build/C/man2/syscall.2:161
13683 #, no-wrap
13684 msgid "i386\tint $0x80\teax\teax\n"
13685 msgstr ""
13686
13687 #. type: tbl table
13688 #: build/C/man2/syscall.2:162
13689 #, no-wrap
13690 msgid "ia64\tbreak 0x100000\tr15\tr10/r8\n"
13691 msgstr ""
13692
13693 #. type: tbl table
13694 #: build/C/man2/syscall.2:163
13695 #, no-wrap
13696 msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
13697 msgstr ""
13698
13699 #. type: tbl table
13700 #: build/C/man2/syscall.2:164
13701 #, no-wrap
13702 msgid "s390\tsvc 0\tr1\tr2\tNR may be passed directly with\n"
13703 msgstr ""
13704
13705 #. type: tbl table
13706 #: build/C/man2/syscall.2:165
13707 #, no-wrap
13708 msgid "s390x\tsvc 0\tr1\tr2\t\"svc NR\" if NR is less than 256\n"
13709 msgstr ""
13710
13711 #. type: tbl table
13712 #: build/C/man2/syscall.2:166
13713 #, no-wrap
13714 msgid "sparc/32\tt 0x10\tg1\to0\n"
13715 msgstr ""
13716
13717 #. type: tbl table
13718 #: build/C/man2/syscall.2:167
13719 #, no-wrap
13720 msgid "sparc/64\tt 0x6d\tg1\to0\n"
13721 msgstr ""
13722
13723 #. type: tbl table
13724 #: build/C/man2/syscall.2:168
13725 #, no-wrap
13726 msgid "x86_64\tsyscall\trax\trax\n"
13727 msgstr ""
13728
13729 #. type: Plain text
13730 #: build/C/man2/syscall.2:176
13731 msgid "The second table shows the registers used to pass the system call arguments."
13732 msgstr ""
13733
13734 #. type: tbl table
13735 #: build/C/man2/syscall.2:181
13736 #, no-wrap
13737 msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\n"
13738 msgstr ""
13739
13740 #. type: tbl table
13741 #: build/C/man2/syscall.2:183
13742 #, no-wrap
13743 msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
13744 msgstr ""
13745
13746 #. type: tbl table
13747 #: build/C/man2/syscall.2:184
13748 #, no-wrap
13749 msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
13750 msgstr ""
13751
13752 #. type: tbl table
13753 #: build/C/man2/syscall.2:185
13754 #, no-wrap
13755 msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
13756 msgstr ""
13757
13758 #. type: tbl table
13759 #: build/C/man2/syscall.2:186
13760 #, no-wrap
13761 msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
13762 msgstr ""
13763
13764 #. type: tbl table
13765 #: build/C/man2/syscall.2:187
13766 #, no-wrap
13767 msgid "ia64\tr11\tr9\tr10\tr14\tr15\tr13\t-\n"
13768 msgstr ""
13769
13770 #. type: tbl table
13771 #: build/C/man2/syscall.2:188
13772 #, no-wrap
13773 msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
13774 msgstr ""
13775
13776 #. type: tbl table
13777 #: build/C/man2/syscall.2:189
13778 #, no-wrap
13779 msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13780 msgstr ""
13781
13782 #. type: tbl table
13783 #: build/C/man2/syscall.2:190
13784 #, no-wrap
13785 msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
13786 msgstr ""
13787
13788 #. type: tbl table
13789 #: build/C/man2/syscall.2:191
13790 #, no-wrap
13791 msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
13792 msgstr ""
13793
13794 #. type: tbl table
13795 #: build/C/man2/syscall.2:192
13796 #, no-wrap
13797 msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
13798 msgstr ""
13799
13800 #. type: tbl table
13801 #: build/C/man2/syscall.2:193
13802 #, no-wrap
13803 msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
13804 msgstr ""
13805
13806 #. type: Plain text
13807 #: build/C/man2/syscall.2:202
13808 msgid ""
13809 "Note that these tables don't cover the entire calling convention\\(emsome "
13810 "architectures may indiscriminately clobber other registers not listed here."
13811 msgstr ""
13812
13813 #. type: Plain text
13814 #: build/C/man2/syscall.2:209
13815 #, no-wrap
13816 msgid ""
13817 "#define _GNU_SOURCE\n"
13818 "#include E<lt>unistd.hE<gt>\n"
13819 "#include E<lt>sys/syscall.hE<gt>\n"
13820 "#include E<lt>sys/types.hE<gt>\n"
13821 "#include E<lt>signal.hE<gt>\n"
13822 msgstr ""
13823
13824 #. type: Plain text
13825 #: build/C/man2/syscall.2:214
13826 #, no-wrap
13827 msgid ""
13828 "int\n"
13829 "main(int argc, char *argv[])\n"
13830 "{\n"
13831 "    pid_t tid;\n"
13832 msgstr ""
13833
13834 #. type: Plain text
13835 #: build/C/man2/syscall.2:218
13836 #, no-wrap
13837 msgid ""
13838 "    tid = syscall(SYS_gettid);\n"
13839 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
13840 "}\n"
13841 msgstr ""
13842
13843 #. type: Plain text
13844 #: build/C/man2/syscall.2:223
13845 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2)"
13846 msgstr ""
13847
13848 #. type: TH
13849 #: build/C/man2/syscalls.2:31
13850 #, no-wrap
13851 msgid "SYSCALLS"
13852 msgstr ""
13853
13854 #. type: TH
13855 #: build/C/man2/syscalls.2:31
13856 #, no-wrap
13857 msgid "2013-04-17"
13858 msgstr ""
13859
13860 #. type: Plain text
13861 #: build/C/man2/syscalls.2:34
13862 msgid "syscalls - Linux system calls"
13863 msgstr ""
13864
13865 #. type: Plain text
13866 #: build/C/man2/syscalls.2:36
13867 msgid "Linux system calls."
13868 msgstr ""
13869
13870 #. type: Plain text
13871 #: build/C/man2/syscalls.2:39
13872 msgid ""
13873 "The system call is the fundamental interface between an application and the "
13874 "Linux kernel."
13875 msgstr ""
13876
13877 #. type: SS
13878 #: build/C/man2/syscalls.2:39
13879 #, no-wrap
13880 msgid "System calls and library wrapper functions"
13881 msgstr ""
13882
13883 #. type: Plain text
13884 #: build/C/man2/syscalls.2:49
13885 msgid ""
13886 "System calls are generally not invoked directly, but rather via wrapper "
13887 "functions in glibc (or perhaps some other library).  For details of direct "
13888 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
13889 "name of the wrapper function is the same as the name of the system call that "
13890 "it invokes.  For example, glibc contains a function B<truncate>()  which "
13891 "invokes the underlying \"truncate\" system call."
13892 msgstr ""
13893
13894 #. type: Plain text
13895 #: build/C/man2/syscalls.2:67
13896 msgid ""
13897 "Often the glibc wrapper function is quite thin, doing little work other than "
13898 "copying arguments to the right registers before invoking the system call, "
13899 "and then setting I<errno> appropriately after the system call has returned.  "
13900 "(These are the same steps that are performed by B<syscall>(2), which can be "
13901 "used to invoke system calls for which no wrapper function is provided.)  "
13902 "Note: system calls indicate a failure by returning a negative error number "
13903 "to the caller; when this happens, the wrapper function negates the returned "
13904 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
13905 "the caller of the wrapper."
13906 msgstr ""
13907
13908 #. type: Plain text
13909 #: build/C/man2/syscalls.2:79
13910 msgid ""
13911 "Sometimes, however, the wrapper function does some extra work before "
13912 "invoking the system call.  For example, nowadays there are (for reasons "
13913 "described below) two related system calls, B<truncate>(2)  and "
13914 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
13915 "of those system calls are provided by the kernel and determines which should "
13916 "be employed."
13917 msgstr ""
13918
13919 #. type: SS
13920 #: build/C/man2/syscalls.2:79
13921 #, no-wrap
13922 msgid "System call list"
13923 msgstr ""
13924
13925 #. type: Plain text
13926 #: build/C/man2/syscalls.2:87
13927 msgid ""
13928 "Below is a list of the Linux system calls.  In the list, the I<Kernel> "
13929 "column indicates the kernel version for those system calls that were new in "
13930 "Linux 2.2, or have appeared since that kernel version.  Note the following "
13931 "points:"
13932 msgstr ""
13933
13934 #. type: Plain text
13935 #: build/C/man2/syscalls.2:90
13936 msgid ""
13937 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
13938 "or earlier."
13939 msgstr ""
13940
13941 #. type: Plain text
13942 #: build/C/man2/syscalls.2:96
13943 msgid ""
13944 "Where a system call is marked \"1.2\" this means the system call probably "
13945 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
13946 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
13947 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
13948 msgstr ""
13949
13950 #.  Was kernel 2.0 started from a branch of 1.2.10?
13951 #.  At least from the timestamps of the tarballs of
13952 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
13953 #.  fact the diff doesn't seem very clear, the
13954 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
13955 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
13956 #.  timestamps of some files in 1.3.0 seem to be older
13957 #.  than those in 1.2.10.  All of this suggests
13958 #.  that there might not have been a clean branch point.
13959 #. type: Plain text
13960 #: build/C/man2/syscalls.2:112
13961 msgid ""
13962 "Where a system call is marked \"2.0\" this means the system call probably "
13963 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
13964 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
13965 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
13966 "series.)"
13967 msgstr ""
13968
13969 #. type: Plain text
13970 #: build/C/man2/syscalls.2:118
13971 msgid ""
13972 "Where a system call is marked \"2.2\" this means the system call probably "
13973 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
13974 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
13975 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
13976 msgstr ""
13977
13978 #. type: Plain text
13979 #: build/C/man2/syscalls.2:124
13980 msgid ""
13981 "Where a system call is marked \"2.4\" this means the system call probably "
13982 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
13983 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
13984 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
13985 msgstr ""
13986
13987 #. type: Plain text
13988 #: build/C/man2/syscalls.2:130
13989 msgid ""
13990 "Where a system call is marked \"2.6\" this means the system call probably "
13991 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
13992 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
13993 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
13994 msgstr ""
13995
13996 #. type: Plain text
13997 #: build/C/man2/syscalls.2:137
13998 msgid ""
13999 "Starting with kernel 2.6.0, the development model changed, and new system "
14000 "calls may appear in each 2.6.x release.  In this case, the exact version "
14001 "number where the system call appeared is shown.  This convention continues "
14002 "with the 3.x kernel series, which followed on from kernel 2.6.39."
14003 msgstr ""
14004
14005 #. type: Plain text
14006 #: build/C/man2/syscalls.2:145
14007 msgid ""
14008 "In some cases, a system call was added to a stable kernel series after it "
14009 "branched from the previous stable kernel series, and then backported into "
14010 "the earlier stable kernel series.  For example some system calls that "
14011 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
14012 "When this is so, the version where the system call appeared in both of the "
14013 "major kernel series is listed."
14014 msgstr ""
14015
14016 #
14017 #.  Looking at scripts/checksyscalls.sh in the kernel source is
14018 #.  instructive about x86 specifics.
14019 #. type: Plain text
14020 #: build/C/man2/syscalls.2:152
14021 msgid ""
14022 "The list of system calls that are available as at kernel 3.9 (or in a few "
14023 "cases only on older kernels) is as follows:"
14024 msgstr ""
14025
14026 #. type: tbl table
14027 #: build/C/man2/syscalls.2:157
14028 #, no-wrap
14029 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
14030 msgstr ""
14031
14032 #. type: tbl table
14033 #: build/C/man2/syscalls.2:159
14034 #, no-wrap
14035 msgid "B<_llseek>(2)\t1.2\n"
14036 msgstr ""
14037
14038 #. type: tbl table
14039 #: build/C/man2/syscalls.2:160
14040 #, no-wrap
14041 msgid "B<_newselect>(2)\t2.0\n"
14042 msgstr ""
14043
14044 #. type: tbl table
14045 #: build/C/man2/syscalls.2:161
14046 #, no-wrap
14047 msgid "B<_sysctl>(2)\t2.0\n"
14048 msgstr ""
14049
14050 #. type: tbl table
14051 #: build/C/man2/syscalls.2:162
14052 #, no-wrap
14053 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14054 msgstr ""
14055
14056 #. type: tbl table
14057 #: build/C/man2/syscalls.2:163
14058 #, no-wrap
14059 msgid "B<accept4>(2)\t2.6.28\n"
14060 msgstr ""
14061
14062 #. type: tbl table
14063 #: build/C/man2/syscalls.2:164
14064 #, no-wrap
14065 msgid "B<access>(2)\t1.0\n"
14066 msgstr ""
14067
14068 #. type: tbl table
14069 #: build/C/man2/syscalls.2:165
14070 #, no-wrap
14071 msgid "B<acct>(2)\t1.0\n"
14072 msgstr ""
14073
14074 #. type: tbl table
14075 #: build/C/man2/syscalls.2:166
14076 #, no-wrap
14077 msgid "B<add_key>(2)\t2.6.11\n"
14078 msgstr ""
14079
14080 #. type: tbl table
14081 #: build/C/man2/syscalls.2:167
14082 #, no-wrap
14083 msgid "B<adjtimex>(2)\t1.0\n"
14084 msgstr ""
14085
14086 #. type: tbl table
14087 #: build/C/man2/syscalls.2:168
14088 #, no-wrap
14089 msgid "B<alarm>(2)\t1.0\n"
14090 msgstr ""
14091
14092 #. type: tbl table
14093 #: build/C/man2/syscalls.2:169
14094 #, no-wrap
14095 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14096 msgstr ""
14097
14098 #. type: tbl table
14099 #: build/C/man2/syscalls.2:170
14100 #, no-wrap
14101 msgid "B<bdflush>(2)\t1.2\tT{\n"
14102 msgstr ""
14103
14104 #. type: tbl table
14105 #: build/C/man2/syscalls.2:171
14106 #, no-wrap
14107 msgid "Deprecated (does nothing)\n"
14108 msgstr ""
14109
14110 #. type: tbl table
14111 #: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:184 build/C/man2/syscalls.2:314 build/C/man2/syscalls.2:387 build/C/man2/syscalls.2:403 build/C/man2/syscalls.2:415
14112 #, no-wrap
14113 msgid ".br\n"
14114 msgstr ""
14115
14116 #. type: tbl table
14117 #: build/C/man2/syscalls.2:173
14118 #, no-wrap
14119 msgid "since 2.6\n"
14120 msgstr ""
14121
14122 #. type: tbl table
14123 #: build/C/man2/syscalls.2:174 build/C/man2/syscalls.2:186 build/C/man2/syscalls.2:316 build/C/man2/syscalls.2:389 build/C/man2/syscalls.2:405 build/C/man2/syscalls.2:417 build/C/man2/syscalls.2:545 build/C/man2/syscalls.2:590
14124 #, no-wrap
14125 msgid "T}\n"
14126 msgstr ""
14127
14128 #. type: tbl table
14129 #: build/C/man2/syscalls.2:175
14130 #, no-wrap
14131 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14132 msgstr ""
14133
14134 #. type: tbl table
14135 #: build/C/man2/syscalls.2:176
14136 #, no-wrap
14137 msgid "B<brk>(2)\t1.0\n"
14138 msgstr ""
14139
14140 #. type: tbl table
14141 #: build/C/man2/syscalls.2:177
14142 #, no-wrap
14143 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
14144 msgstr ""
14145
14146 #. type: tbl table
14147 #: build/C/man2/syscalls.2:178
14148 #, no-wrap
14149 msgid "B<capget>(2)\t2.2\n"
14150 msgstr ""
14151
14152 #. type: tbl table
14153 #: build/C/man2/syscalls.2:179
14154 #, no-wrap
14155 msgid "B<capset>(2)\t2.2\n"
14156 msgstr ""
14157
14158 #. type: tbl table
14159 #: build/C/man2/syscalls.2:180
14160 #, no-wrap
14161 msgid "B<chdir>(2)\t1.0\n"
14162 msgstr ""
14163
14164 #. type: tbl table
14165 #: build/C/man2/syscalls.2:181
14166 #, no-wrap
14167 msgid "B<chmod>(2)\t1.0\n"
14168 msgstr ""
14169
14170 #. type: tbl table
14171 #: build/C/man2/syscalls.2:182
14172 #, no-wrap
14173 msgid "B<chown>(2)\t2.2\tT{\n"
14174 msgstr ""
14175
14176 #. type: tbl table
14177 #: build/C/man2/syscalls.2:183 build/C/man2/syscalls.2:313
14178 #, no-wrap
14179 msgid "See B<chown>(2) for\n"
14180 msgstr ""
14181
14182 #. type: tbl table
14183 #: build/C/man2/syscalls.2:185 build/C/man2/syscalls.2:315
14184 #, no-wrap
14185 msgid "version details\n"
14186 msgstr ""
14187
14188 #. type: tbl table
14189 #: build/C/man2/syscalls.2:187
14190 #, no-wrap
14191 msgid "B<chown32>(2)\t2.4\n"
14192 msgstr ""
14193
14194 #. type: tbl table
14195 #: build/C/man2/syscalls.2:188
14196 #, no-wrap
14197 msgid "B<chroot>(2)\t1.0\n"
14198 msgstr ""
14199
14200 #. type: tbl table
14201 #: build/C/man2/syscalls.2:189
14202 #, no-wrap
14203 msgid "B<clock_adjtime>(2)\t2.6.39\n"
14204 msgstr ""
14205
14206 #. type: tbl table
14207 #: build/C/man2/syscalls.2:190
14208 #, no-wrap
14209 msgid "B<clock_getres>(2)\t2.6\n"
14210 msgstr ""
14211
14212 #. type: tbl table
14213 #: build/C/man2/syscalls.2:191
14214 #, no-wrap
14215 msgid "B<clock_gettime>(2)\t2.6\n"
14216 msgstr ""
14217
14218 #. type: tbl table
14219 #: build/C/man2/syscalls.2:192
14220 #, no-wrap
14221 msgid "B<clock_nanosleep>(2)\t2.6\n"
14222 msgstr ""
14223
14224 #. type: tbl table
14225 #: build/C/man2/syscalls.2:193
14226 #, no-wrap
14227 msgid "B<clock_settime>(2)\t2.6\n"
14228 msgstr ""
14229
14230 #. type: tbl table
14231 #: build/C/man2/syscalls.2:194
14232 #, no-wrap
14233 msgid "B<clone>(2)\t1.0\n"
14234 msgstr ""
14235
14236 #. type: tbl table
14237 #: build/C/man2/syscalls.2:195
14238 #, no-wrap
14239 msgid "B<close>(2)\t1.0\n"
14240 msgstr ""
14241
14242 #. type: tbl table
14243 #: build/C/man2/syscalls.2:196
14244 #, no-wrap
14245 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14246 msgstr ""
14247
14248 #. type: tbl table
14249 #: build/C/man2/syscalls.2:197
14250 #, no-wrap
14251 msgid "B<creat>(2)\t1.0\n"
14252 msgstr ""
14253
14254 #. type: tbl table
14255 #: build/C/man2/syscalls.2:198
14256 #, no-wrap
14257 msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
14258 msgstr ""
14259
14260 #. type: tbl table
14261 #: build/C/man2/syscalls.2:199
14262 #, no-wrap
14263 msgid "B<delete_module>(2)\t1.0\n"
14264 msgstr ""
14265
14266 #. type: tbl table
14267 #: build/C/man2/syscalls.2:200
14268 #, no-wrap
14269 msgid "B<dup>(2)\t1.0\n"
14270 msgstr ""
14271
14272 #. type: tbl table
14273 #: build/C/man2/syscalls.2:201
14274 #, no-wrap
14275 msgid "B<dup2>(2)\t1.0\n"
14276 msgstr ""
14277
14278 #. type: tbl table
14279 #: build/C/man2/syscalls.2:202
14280 #, no-wrap
14281 msgid "B<dup3>(2)\t2.6.27\n"
14282 msgstr ""
14283
14284 #. type: tbl table
14285 #: build/C/man2/syscalls.2:203
14286 #, no-wrap
14287 msgid "B<epoll_create>(2)\t2.6\n"
14288 msgstr ""
14289
14290 #. type: tbl table
14291 #: build/C/man2/syscalls.2:204
14292 #, no-wrap
14293 msgid "B<epoll_create1>(2)\t2.6.27\n"
14294 msgstr ""
14295
14296 #. type: tbl table
14297 #: build/C/man2/syscalls.2:205
14298 #, no-wrap
14299 msgid "B<epoll_ctl>(2)\t2.6\n"
14300 msgstr ""
14301
14302 #. type: tbl table
14303 #: build/C/man2/syscalls.2:206
14304 #, no-wrap
14305 msgid "B<epoll_pwait>(2)\t2.6.19\n"
14306 msgstr ""
14307
14308 #. type: tbl table
14309 #: build/C/man2/syscalls.2:207
14310 #, no-wrap
14311 msgid "B<epoll_wait>(2)\t2.6\n"
14312 msgstr ""
14313
14314 #. type: tbl table
14315 #: build/C/man2/syscalls.2:208
14316 #, no-wrap
14317 msgid "B<eventfd>(2)\t2.6.22\n"
14318 msgstr ""
14319
14320 #. type: tbl table
14321 #: build/C/man2/syscalls.2:209
14322 #, no-wrap
14323 msgid "B<eventfd2>(2)\t2.6.27\n"
14324 msgstr ""
14325
14326 #. type: tbl table
14327 #: build/C/man2/syscalls.2:210
14328 #, no-wrap
14329 msgid "B<execve>(2)\t1.0\n"
14330 msgstr ""
14331
14332 #. type: tbl table
14333 #: build/C/man2/syscalls.2:211
14334 #, no-wrap
14335 msgid "B<exit>(2)\t1.0\n"
14336 msgstr ""
14337
14338 #. type: tbl table
14339 #: build/C/man2/syscalls.2:212
14340 #, no-wrap
14341 msgid "B<exit_group>(2)\t2.6\n"
14342 msgstr ""
14343
14344 #. type: tbl table
14345 #: build/C/man2/syscalls.2:213
14346 #, no-wrap
14347 msgid "B<faccessat>(2)\t2.6.16\n"
14348 msgstr ""
14349
14350 #. type: tbl table
14351 #: build/C/man2/syscalls.2:214
14352 #, no-wrap
14353 msgid "B<fadvise64>(2)\t2.6\n"
14354 msgstr ""
14355
14356 #.  Implements \fBposix_fadvise\fP(2)
14357 #. type: tbl table
14358 #: build/C/man2/syscalls.2:216
14359 #, no-wrap
14360 msgid "B<fadvise64_64>(2)\t2.6\n"
14361 msgstr ""
14362
14363 #. type: tbl table
14364 #: build/C/man2/syscalls.2:217
14365 #, no-wrap
14366 msgid "B<fallocate>(2)\t2.6.23\n"
14367 msgstr ""
14368
14369 #. type: tbl table
14370 #: build/C/man2/syscalls.2:218
14371 #, no-wrap
14372 msgid "B<fanotify_init>(2)\t2.6.37\n"
14373 msgstr ""
14374
14375 #. type: tbl table
14376 #: build/C/man2/syscalls.2:219
14377 #, no-wrap
14378 msgid "B<fanotify_mark>(2)\t2.6.37\n"
14379 msgstr ""
14380
14381 #.  The fanotify calls were added in Linux 2.6.36,
14382 #.  but disabled while the API was finalized.
14383 #. type: tbl table
14384 #: build/C/man2/syscalls.2:222
14385 #, no-wrap
14386 msgid "B<fchdir>(2)\t1.0\n"
14387 msgstr ""
14388
14389 #. type: tbl table
14390 #: build/C/man2/syscalls.2:223
14391 #, no-wrap
14392 msgid "B<fchmod>(2)\t1.0\n"
14393 msgstr ""
14394
14395 #. type: tbl table
14396 #: build/C/man2/syscalls.2:224
14397 #, no-wrap
14398 msgid "B<fchmodat>(2)\t2.6.16\n"
14399 msgstr ""
14400
14401 #. type: tbl table
14402 #: build/C/man2/syscalls.2:225
14403 #, no-wrap
14404 msgid "B<fchown>(2)\t1.0\n"
14405 msgstr ""
14406
14407 #. type: tbl table
14408 #: build/C/man2/syscalls.2:226
14409 #, no-wrap
14410 msgid "B<fchown32>(2)\t2.4\n"
14411 msgstr ""
14412
14413 #. type: tbl table
14414 #: build/C/man2/syscalls.2:227
14415 #, no-wrap
14416 msgid "B<fchownat>(2)\t2.6.16\n"
14417 msgstr ""
14418
14419 #. type: tbl table
14420 #: build/C/man2/syscalls.2:228
14421 #, no-wrap
14422 msgid "B<fcntl>(2)\t1.0\n"
14423 msgstr ""
14424
14425 #. type: tbl table
14426 #: build/C/man2/syscalls.2:229
14427 #, no-wrap
14428 msgid "B<fcntl64>(2)\t2.4\n"
14429 msgstr ""
14430
14431 #. type: tbl table
14432 #: build/C/man2/syscalls.2:230
14433 #, no-wrap
14434 msgid "B<fdatasync>(2)\t2.0\n"
14435 msgstr ""
14436
14437 #. type: tbl table
14438 #: build/C/man2/syscalls.2:231
14439 #, no-wrap
14440 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
14441 msgstr ""
14442
14443 #. type: tbl table
14444 #: build/C/man2/syscalls.2:232
14445 #, no-wrap
14446 msgid "B<finit_module>(2)\t3.8\n"
14447 msgstr ""
14448
14449 #. type: tbl table
14450 #: build/C/man2/syscalls.2:233
14451 #, no-wrap
14452 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
14453 msgstr ""
14454
14455 #. type: tbl table
14456 #: build/C/man2/syscalls.2:234
14457 #, no-wrap
14458 msgid "B<flock>(2)\t2.0\n"
14459 msgstr ""
14460
14461 #. type: tbl table
14462 #: build/C/man2/syscalls.2:235
14463 #, no-wrap
14464 msgid "B<fork>(2)\t1.0\n"
14465 msgstr ""
14466
14467 #. type: tbl table
14468 #: build/C/man2/syscalls.2:236
14469 #, no-wrap
14470 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14471 msgstr ""
14472
14473 #. type: tbl table
14474 #: build/C/man2/syscalls.2:237
14475 #, no-wrap
14476 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
14477 msgstr ""
14478
14479 #. type: tbl table
14480 #: build/C/man2/syscalls.2:238
14481 #, no-wrap
14482 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
14483 msgstr ""
14484
14485 #. type: tbl table
14486 #: build/C/man2/syscalls.2:239
14487 #, no-wrap
14488 msgid "B<fstat>(2)\t1.0\n"
14489 msgstr ""
14490
14491 #. type: tbl table
14492 #: build/C/man2/syscalls.2:240
14493 #, no-wrap
14494 msgid "B<fstat64>(2)\t2.4\n"
14495 msgstr ""
14496
14497 #. type: tbl table
14498 #: build/C/man2/syscalls.2:241
14499 #, no-wrap
14500 msgid "B<fstatat64>(2)\t2.6.16\n"
14501 msgstr ""
14502
14503 #. type: tbl table
14504 #: build/C/man2/syscalls.2:242
14505 #, no-wrap
14506 msgid "B<fstatfs>(2)\t1.0\n"
14507 msgstr ""
14508
14509 #. type: tbl table
14510 #: build/C/man2/syscalls.2:243
14511 #, no-wrap
14512 msgid "B<fstatfs64>(2)\t2.6\n"
14513 msgstr ""
14514
14515 #. type: tbl table
14516 #: build/C/man2/syscalls.2:244
14517 #, no-wrap
14518 msgid "B<fsync>(2)\t1.0\t1.0\n"
14519 msgstr ""
14520
14521 #. type: tbl table
14522 #: build/C/man2/syscalls.2:245
14523 #, no-wrap
14524 msgid "B<ftruncate>(2)\t1.0\n"
14525 msgstr ""
14526
14527 #. type: tbl table
14528 #: build/C/man2/syscalls.2:246
14529 #, no-wrap
14530 msgid "B<ftruncate64>(2)\t2.4\n"
14531 msgstr ""
14532
14533 #. type: tbl table
14534 #: build/C/man2/syscalls.2:247
14535 #, no-wrap
14536 msgid "B<futex>(2)\t2.6\n"
14537 msgstr ""
14538
14539 #. type: tbl table
14540 #: build/C/man2/syscalls.2:248
14541 #, no-wrap
14542 msgid "B<futimesat>(2)\t2.6.16\n"
14543 msgstr ""
14544
14545 #. type: tbl table
14546 #: build/C/man2/syscalls.2:249
14547 #, no-wrap
14548 msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
14549 msgstr ""
14550
14551 #. type: tbl table
14552 #: build/C/man2/syscalls.2:250
14553 #, no-wrap
14554 msgid "B<get_mempolicy>(2)\t2.6.6\n"
14555 msgstr ""
14556
14557 #. type: tbl table
14558 #: build/C/man2/syscalls.2:251
14559 #, no-wrap
14560 msgid "B<get_robust_list>(2)\t2.6.17\n"
14561 msgstr ""
14562
14563 #. type: tbl table
14564 #: build/C/man2/syscalls.2:252
14565 #, no-wrap
14566 msgid "B<get_thread_area>(2)\t2.6\n"
14567 msgstr ""
14568
14569 #. type: tbl table
14570 #: build/C/man2/syscalls.2:253
14571 #, no-wrap
14572 msgid "B<getcpu>(2)\t2.6.19\n"
14573 msgstr ""
14574
14575 #. type: tbl table
14576 #: build/C/man2/syscalls.2:254
14577 #, no-wrap
14578 msgid "B<getcwd>(2)\t2.2\n"
14579 msgstr ""
14580
14581 #. type: tbl table
14582 #: build/C/man2/syscalls.2:255
14583 #, no-wrap
14584 msgid "B<getdents>(2)\t2.0\n"
14585 msgstr ""
14586
14587 #. type: tbl table
14588 #: build/C/man2/syscalls.2:256
14589 #, no-wrap
14590 msgid "B<getdents64>(2)\t2.4\n"
14591 msgstr ""
14592
14593 #. type: tbl table
14594 #: build/C/man2/syscalls.2:257
14595 #, no-wrap
14596 msgid "B<getegid>(2)\t1.0\n"
14597 msgstr ""
14598
14599 #. type: tbl table
14600 #: build/C/man2/syscalls.2:258
14601 #, no-wrap
14602 msgid "B<getegid32>(2)\t2.4\n"
14603 msgstr ""
14604
14605 #. type: tbl table
14606 #: build/C/man2/syscalls.2:259
14607 #, no-wrap
14608 msgid "B<geteuid>(2)\t1.0\n"
14609 msgstr ""
14610
14611 #. type: tbl table
14612 #: build/C/man2/syscalls.2:260
14613 #, no-wrap
14614 msgid "B<geteuid32>(2)\t2.4\n"
14615 msgstr ""
14616
14617 #. type: tbl table
14618 #: build/C/man2/syscalls.2:261
14619 #, no-wrap
14620 msgid "B<getgid>(2)\t1.0\n"
14621 msgstr ""
14622
14623 #. type: tbl table
14624 #: build/C/man2/syscalls.2:262
14625 #, no-wrap
14626 msgid "B<getgid32>(2)\t2.4\n"
14627 msgstr ""
14628
14629 #. type: tbl table
14630 #: build/C/man2/syscalls.2:263
14631 #, no-wrap
14632 msgid "B<getgroups>(2)\t1.0\n"
14633 msgstr ""
14634
14635 #. type: tbl table
14636 #: build/C/man2/syscalls.2:264
14637 #, no-wrap
14638 msgid "B<getgroups32>(2)\t2.4\n"
14639 msgstr ""
14640
14641 #. type: tbl table
14642 #: build/C/man2/syscalls.2:265
14643 #, no-wrap
14644 msgid "B<getitimer>(2)\t1.0\n"
14645 msgstr ""
14646
14647 #. type: tbl table
14648 #: build/C/man2/syscalls.2:266
14649 #, no-wrap
14650 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14651 msgstr ""
14652
14653 #. type: tbl table
14654 #: build/C/man2/syscalls.2:267
14655 #, no-wrap
14656 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
14657 msgstr ""
14658
14659 #. type: tbl table
14660 #: build/C/man2/syscalls.2:268
14661 #, no-wrap
14662 msgid "B<getpgid>(2)\t1.0\n"
14663 msgstr ""
14664
14665 #. type: tbl table
14666 #: build/C/man2/syscalls.2:269
14667 #, no-wrap
14668 msgid "B<getpgrp>(2)\t1.0\n"
14669 msgstr ""
14670
14671 #. type: tbl table
14672 #: build/C/man2/syscalls.2:270
14673 #, no-wrap
14674 msgid "B<getpid>(2)\t1.0\n"
14675 msgstr ""
14676
14677 #. type: tbl table
14678 #: build/C/man2/syscalls.2:271
14679 #, no-wrap
14680 msgid "B<getppid>(2)\t1.0\n"
14681 msgstr ""
14682
14683 #. type: tbl table
14684 #: build/C/man2/syscalls.2:272
14685 #, no-wrap
14686 msgid "B<getpriority>(2)\t1.0\n"
14687 msgstr ""
14688
14689 #. type: tbl table
14690 #: build/C/man2/syscalls.2:273
14691 #, no-wrap
14692 msgid "B<getresgid>(2)\t2.2\n"
14693 msgstr ""
14694
14695 #. type: tbl table
14696 #: build/C/man2/syscalls.2:274
14697 #, no-wrap
14698 msgid "B<getresgid32>(2)\t2.4\n"
14699 msgstr ""
14700
14701 #. type: tbl table
14702 #: build/C/man2/syscalls.2:275
14703 #, no-wrap
14704 msgid "B<getresuid>(2)\t2.2\n"
14705 msgstr ""
14706
14707 #. type: tbl table
14708 #: build/C/man2/syscalls.2:276
14709 #, no-wrap
14710 msgid "B<getresuid32>(2)\t2.4\n"
14711 msgstr ""
14712
14713 #. type: tbl table
14714 #: build/C/man2/syscalls.2:277
14715 #, no-wrap
14716 msgid "B<getrlimit>(2)\t1.0\n"
14717 msgstr ""
14718
14719 #. type: tbl table
14720 #: build/C/man2/syscalls.2:278
14721 #, no-wrap
14722 msgid "B<getrusage>(2)\t1.0\n"
14723 msgstr ""
14724
14725 #. type: tbl table
14726 #: build/C/man2/syscalls.2:279
14727 #, no-wrap
14728 msgid "B<getsid>(2)\t2.0\n"
14729 msgstr ""
14730
14731 #. type: tbl table
14732 #: build/C/man2/syscalls.2:280
14733 #, no-wrap
14734 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14735 msgstr ""
14736
14737 #. type: tbl table
14738 #: build/C/man2/syscalls.2:281
14739 #, no-wrap
14740 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14741 msgstr ""
14742
14743 #. type: tbl table
14744 #: build/C/man2/syscalls.2:282
14745 #, no-wrap
14746 msgid "B<gettid>(2)\t2.4.11\n"
14747 msgstr ""
14748
14749 #. type: tbl table
14750 #: build/C/man2/syscalls.2:283
14751 #, no-wrap
14752 msgid "B<gettimeofday>(2)\t1.0\n"
14753 msgstr ""
14754
14755 #. type: tbl table
14756 #: build/C/man2/syscalls.2:284
14757 #, no-wrap
14758 msgid "B<getuid>(2)\t1.0\n"
14759 msgstr ""
14760
14761 #. type: tbl table
14762 #: build/C/man2/syscalls.2:285
14763 #, no-wrap
14764 msgid "B<getuid32>(2)\t2.4\n"
14765 msgstr ""
14766
14767 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
14768 #. type: tbl table
14769 #: build/C/man2/syscalls.2:287
14770 #, no-wrap
14771 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
14772 msgstr ""
14773
14774 #. type: tbl table
14775 #: build/C/man2/syscalls.2:288
14776 #, no-wrap
14777 msgid "B<init_module>(2)\t1.0\n"
14778 msgstr ""
14779
14780 #. type: tbl table
14781 #: build/C/man2/syscalls.2:289
14782 #, no-wrap
14783 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
14784 msgstr ""
14785
14786 #. type: tbl table
14787 #: build/C/man2/syscalls.2:290
14788 #, no-wrap
14789 msgid "B<inotify_init>(2)\t2.6.13\n"
14790 msgstr ""
14791
14792 #. type: tbl table
14793 #: build/C/man2/syscalls.2:291
14794 #, no-wrap
14795 msgid "B<inotify_init1>(2)\t2.6.27\n"
14796 msgstr ""
14797
14798 #. type: tbl table
14799 #: build/C/man2/syscalls.2:292
14800 #, no-wrap
14801 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
14802 msgstr ""
14803
14804 #. type: tbl table
14805 #: build/C/man2/syscalls.2:293
14806 #, no-wrap
14807 msgid "B<io_cancel>(2)\t2.6\n"
14808 msgstr ""
14809
14810 #. type: tbl table
14811 #: build/C/man2/syscalls.2:294
14812 #, no-wrap
14813 msgid "B<io_destroy>(2)\t2.6\n"
14814 msgstr ""
14815
14816 #. type: tbl table
14817 #: build/C/man2/syscalls.2:295
14818 #, no-wrap
14819 msgid "B<io_getevents>(2)\t2.6\n"
14820 msgstr ""
14821
14822 #. type: tbl table
14823 #: build/C/man2/syscalls.2:296
14824 #, no-wrap
14825 msgid "B<io_setup>(2)\t2.6\n"
14826 msgstr ""
14827
14828 #. type: tbl table
14829 #: build/C/man2/syscalls.2:297
14830 #, no-wrap
14831 msgid "B<io_submit>(2)\t2.6\n"
14832 msgstr ""
14833
14834 #. type: tbl table
14835 #: build/C/man2/syscalls.2:298
14836 #, no-wrap
14837 msgid "B<ioctl>(2)\t1.0\n"
14838 msgstr ""
14839
14840 #. type: tbl table
14841 #: build/C/man2/syscalls.2:299
14842 #, no-wrap
14843 msgid "B<ioperm>(2)\t1.0\n"
14844 msgstr ""
14845
14846 #. type: tbl table
14847 #: build/C/man2/syscalls.2:300
14848 #, no-wrap
14849 msgid "B<iopl>(2)\t1.0\n"
14850 msgstr ""
14851
14852 #. type: tbl table
14853 #: build/C/man2/syscalls.2:301
14854 #, no-wrap
14855 msgid "B<ioprio_get>(2)\t2.6.13\n"
14856 msgstr ""
14857
14858 #. type: tbl table
14859 #: build/C/man2/syscalls.2:302
14860 #, no-wrap
14861 msgid "B<ioprio_set>(2)\t2.6.13\n"
14862 msgstr ""
14863
14864 #. type: tbl table
14865 #: build/C/man2/syscalls.2:303
14866 #, no-wrap
14867 msgid "B<ipc>(2)\t1.0\n"
14868 msgstr ""
14869
14870 #.  Implements System V IPC calls
14871 #. type: tbl table
14872 #: build/C/man2/syscalls.2:305
14873 #, no-wrap
14874 msgid "B<kcmp>(2)\t3.5\n"
14875 msgstr ""
14876
14877 #. type: tbl table
14878 #: build/C/man2/syscalls.2:306
14879 #, no-wrap
14880 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
14881 msgstr ""
14882
14883 #. type: tbl table
14884 #: build/C/man2/syscalls.2:307
14885 #, no-wrap
14886 msgid "B<kexec_load>(2)\t2.6.13\n"
14887 msgstr ""
14888
14889 #.  The entry in the syscall table was reserved starting in 2.6.7
14890 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
14891 #. type: tbl table
14892 #: build/C/man2/syscalls.2:310
14893 #, no-wrap
14894 msgid "B<keyctl>(2)\t2.6.11\n"
14895 msgstr ""
14896
14897 #. type: tbl table
14898 #: build/C/man2/syscalls.2:311
14899 #, no-wrap
14900 msgid "B<kill>(2)\t1.0\n"
14901 msgstr ""
14902
14903 #. type: tbl table
14904 #: build/C/man2/syscalls.2:312
14905 #, no-wrap
14906 msgid "B<lchown>(2)\t1.0\tT{\n"
14907 msgstr ""
14908
14909 #. type: tbl table
14910 #: build/C/man2/syscalls.2:317
14911 #, no-wrap
14912 msgid "B<lchown32>(2)\t2.4\n"
14913 msgstr ""
14914
14915 #. type: tbl table
14916 #: build/C/man2/syscalls.2:318
14917 #, no-wrap
14918 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14919 msgstr ""
14920
14921 #. type: tbl table
14922 #: build/C/man2/syscalls.2:319
14923 #, no-wrap
14924 msgid "B<link>(2)\t1.0\n"
14925 msgstr ""
14926
14927 #. type: tbl table
14928 #: build/C/man2/syscalls.2:320
14929 #, no-wrap
14930 msgid "B<linkat>(2)\t2.6.16\n"
14931 msgstr ""
14932
14933 #. type: tbl table
14934 #: build/C/man2/syscalls.2:321
14935 #, no-wrap
14936 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14937 msgstr ""
14938
14939 #. type: tbl table
14940 #: build/C/man2/syscalls.2:322
14941 #, no-wrap
14942 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
14943 msgstr ""
14944
14945 #. type: tbl table
14946 #: build/C/man2/syscalls.2:323
14947 #, no-wrap
14948 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
14949 msgstr ""
14950
14951 #. type: tbl table
14952 #: build/C/man2/syscalls.2:324
14953 #, no-wrap
14954 msgid "B<lookup_dcookie>(2)\t2.6\n"
14955 msgstr ""
14956
14957 #. type: tbl table
14958 #: build/C/man2/syscalls.2:325
14959 #, no-wrap
14960 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14961 msgstr ""
14962
14963 #. type: tbl table
14964 #: build/C/man2/syscalls.2:326
14965 #, no-wrap
14966 msgid "B<lseek>(2)\t1.0\n"
14967 msgstr ""
14968
14969 #. type: tbl table
14970 #: build/C/man2/syscalls.2:327
14971 #, no-wrap
14972 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14973 msgstr ""
14974
14975 #. type: tbl table
14976 #: build/C/man2/syscalls.2:328
14977 #, no-wrap
14978 msgid "B<lstat>(2)\t1.0\n"
14979 msgstr ""
14980
14981 #. type: tbl table
14982 #: build/C/man2/syscalls.2:329
14983 #, no-wrap
14984 msgid "B<lstat64>(2)\t2.4\n"
14985 msgstr ""
14986
14987 #. type: tbl table
14988 #: build/C/man2/syscalls.2:330
14989 #, no-wrap
14990 msgid "B<madvise>(2)\t2.4\n"
14991 msgstr ""
14992
14993 #. type: tbl table
14994 #: build/C/man2/syscalls.2:331
14995 #, no-wrap
14996 msgid "B<madvise1>(2)\t2.4\n"
14997 msgstr ""
14998
14999 #. type: tbl table
15000 #: build/C/man2/syscalls.2:332
15001 #, no-wrap
15002 msgid "B<mbind>(2)\t2.6.6\n"
15003 msgstr ""
15004
15005 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
15006 #. type: tbl table
15007 #: build/C/man2/syscalls.2:334
15008 #, no-wrap
15009 msgid "B<migrate_pages>(2)\t2.6.16\n"
15010 msgstr ""
15011
15012 #. type: tbl table
15013 #: build/C/man2/syscalls.2:335
15014 #, no-wrap
15015 msgid "B<mincore>(2)\t2.4\n"
15016 msgstr ""
15017
15018 #. type: tbl table
15019 #: build/C/man2/syscalls.2:336
15020 #, no-wrap
15021 msgid "B<mkdir>(2)\t1.0\n"
15022 msgstr ""
15023
15024 #. type: tbl table
15025 #: build/C/man2/syscalls.2:337
15026 #, no-wrap
15027 msgid "B<mkdirat>(2)\t2.6.16\n"
15028 msgstr ""
15029
15030 #. type: tbl table
15031 #: build/C/man2/syscalls.2:338
15032 #, no-wrap
15033 msgid "B<mknod>(2)\t1.0\n"
15034 msgstr ""
15035
15036 #. type: tbl table
15037 #: build/C/man2/syscalls.2:339
15038 #, no-wrap
15039 msgid "B<mknodat>(2)\t2.6.16\n"
15040 msgstr ""
15041
15042 #. type: tbl table
15043 #: build/C/man2/syscalls.2:340
15044 #, no-wrap
15045 msgid "B<mlock>(2)\t2.0\n"
15046 msgstr ""
15047
15048 #. type: tbl table
15049 #: build/C/man2/syscalls.2:341
15050 #, no-wrap
15051 msgid "B<mlockall>(2)\t2.0\n"
15052 msgstr ""
15053
15054 #. type: tbl table
15055 #: build/C/man2/syscalls.2:342
15056 #, no-wrap
15057 msgid "B<mmap>(2)\t1.0\n"
15058 msgstr ""
15059
15060 #. type: tbl table
15061 #: build/C/man2/syscalls.2:343
15062 #, no-wrap
15063 msgid "B<mmap2>(2)\t2.4\n"
15064 msgstr ""
15065
15066 #. type: tbl table
15067 #: build/C/man2/syscalls.2:344
15068 #, no-wrap
15069 msgid "B<modify_ldt>(2)\t1.0\n"
15070 msgstr ""
15071
15072 #. type: tbl table
15073 #: build/C/man2/syscalls.2:345
15074 #, no-wrap
15075 msgid "B<mount>(2)\t1.0\n"
15076 msgstr ""
15077
15078 #. type: tbl table
15079 #: build/C/man2/syscalls.2:346
15080 #, no-wrap
15081 msgid "B<move_pages>(2)\t2.6.18\n"
15082 msgstr ""
15083
15084 #. type: tbl table
15085 #: build/C/man2/syscalls.2:347
15086 #, no-wrap
15087 msgid "B<mprotect>(2)\t1.0\n"
15088 msgstr ""
15089
15090 #. type: tbl table
15091 #: build/C/man2/syscalls.2:348
15092 #, no-wrap
15093 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
15094 msgstr ""
15095
15096 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
15097 #. type: tbl table
15098 #: build/C/man2/syscalls.2:350
15099 #, no-wrap
15100 msgid "B<mq_notify>(2)\t2.6.6\n"
15101 msgstr ""
15102
15103 #. type: tbl table
15104 #: build/C/man2/syscalls.2:351
15105 #, no-wrap
15106 msgid "B<mq_open>(2)\t2.6.6\n"
15107 msgstr ""
15108
15109 #. type: tbl table
15110 #: build/C/man2/syscalls.2:352
15111 #, no-wrap
15112 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
15113 msgstr ""
15114
15115 #. type: tbl table
15116 #: build/C/man2/syscalls.2:353
15117 #, no-wrap
15118 msgid "B<mq_timedsend>(2)\t2.6.6\n"
15119 msgstr ""
15120
15121 #. type: tbl table
15122 #: build/C/man2/syscalls.2:354
15123 #, no-wrap
15124 msgid "B<mq_unlink>(2)\t2.6.6\n"
15125 msgstr ""
15126
15127 #. type: tbl table
15128 #: build/C/man2/syscalls.2:355
15129 #, no-wrap
15130 msgid "B<mremap>(2)\t2.0\n"
15131 msgstr ""
15132
15133 #. type: tbl table
15134 #: build/C/man2/syscalls.2:356
15135 #, no-wrap
15136 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15137 msgstr ""
15138
15139 #. type: tbl table
15140 #: build/C/man2/syscalls.2:357
15141 #, no-wrap
15142 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15143 msgstr ""
15144
15145 #. type: tbl table
15146 #: build/C/man2/syscalls.2:358
15147 #, no-wrap
15148 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15149 msgstr ""
15150
15151 #. type: tbl table
15152 #: build/C/man2/syscalls.2:359
15153 #, no-wrap
15154 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15155 msgstr ""
15156
15157 #. type: tbl table
15158 #: build/C/man2/syscalls.2:360
15159 #, no-wrap
15160 msgid "B<msync>(2)\t2.0\n"
15161 msgstr ""
15162
15163 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
15164 #.              PowerPC, but unimplemented?
15165 #. type: tbl table
15166 #: build/C/man2/syscalls.2:363
15167 #, no-wrap
15168 msgid "B<munlock>(2)\t2.0\n"
15169 msgstr ""
15170
15171 #. type: tbl table
15172 #: build/C/man2/syscalls.2:364
15173 #, no-wrap
15174 msgid "B<munlockall>(2)\t2.0\n"
15175 msgstr ""
15176
15177 #. type: tbl table
15178 #: build/C/man2/syscalls.2:365
15179 #, no-wrap
15180 msgid "B<munmap>(2)\t1.0\n"
15181 msgstr ""
15182
15183 #. type: tbl table
15184 #: build/C/man2/syscalls.2:366
15185 #, no-wrap
15186 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
15187 msgstr ""
15188
15189 #. type: tbl table
15190 #: build/C/man2/syscalls.2:367
15191 #, no-wrap
15192 msgid "B<nanosleep>(2)\t2.0\n"
15193 msgstr ""
15194
15195 #. type: tbl table
15196 #: build/C/man2/syscalls.2:368
15197 #, no-wrap
15198 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
15199 msgstr ""
15200
15201 #. type: tbl table
15202 #: build/C/man2/syscalls.2:369
15203 #, no-wrap
15204 msgid "B<nice>(2)\t1.0\n"
15205 msgstr ""
15206
15207 #. type: tbl table
15208 #: build/C/man2/syscalls.2:370
15209 #, no-wrap
15210 msgid "B<oldfstat>(2)\t1.0\n"
15211 msgstr ""
15212
15213 #. type: tbl table
15214 #: build/C/man2/syscalls.2:371
15215 #, no-wrap
15216 msgid "B<oldlstat>(2)\t1.0\n"
15217 msgstr ""
15218
15219 #. type: tbl table
15220 #: build/C/man2/syscalls.2:372
15221 #, no-wrap
15222 msgid "B<oldolduname>(2)\t1.0\n"
15223 msgstr ""
15224
15225 #. type: tbl table
15226 #: build/C/man2/syscalls.2:373
15227 #, no-wrap
15228 msgid "B<oldstat>(2)\t1.0\n"
15229 msgstr ""
15230
15231 #. type: tbl table
15232 #: build/C/man2/syscalls.2:374
15233 #, no-wrap
15234 msgid "B<olduname>(2)\t1.0\n"
15235 msgstr ""
15236
15237 #. type: tbl table
15238 #: build/C/man2/syscalls.2:375
15239 #, no-wrap
15240 msgid "B<open>(2)\t1.0\n"
15241 msgstr ""
15242
15243 #. type: tbl table
15244 #: build/C/man2/syscalls.2:376
15245 #, no-wrap
15246 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
15247 msgstr ""
15248
15249 #. type: tbl table
15250 #: build/C/man2/syscalls.2:377
15251 #, no-wrap
15252 msgid "B<openat>(2)\t2.6.16\n"
15253 msgstr ""
15254
15255 #. type: tbl table
15256 #: build/C/man2/syscalls.2:378
15257 #, no-wrap
15258 msgid "B<pause>(2)\t1.0\n"
15259 msgstr ""
15260
15261 #. type: tbl table
15262 #: build/C/man2/syscalls.2:379
15263 #, no-wrap
15264 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
15265 msgstr ""
15266
15267 #.  Alpha, PowerPC, ARM; not x86
15268 #. type: tbl table
15269 #: build/C/man2/syscalls.2:381
15270 #, no-wrap
15271 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
15272 msgstr ""
15273
15274 #.  , PowerPC, ARM; not x86
15275 #. type: tbl table
15276 #: build/C/man2/syscalls.2:383
15277 #, no-wrap
15278 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
15279 msgstr ""
15280
15281 #.  , PowerPC, ARM; not x86
15282 #. type: tbl table
15283 #: build/C/man2/syscalls.2:385
15284 #, no-wrap
15285 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
15286 msgstr ""
15287
15288 #. type: tbl table
15289 #: build/C/man2/syscalls.2:386
15290 #, no-wrap
15291 msgid "Was called perf_counter_open()\n"
15292 msgstr ""
15293
15294 #. type: tbl table
15295 #: build/C/man2/syscalls.2:388
15296 #, no-wrap
15297 msgid "in 2.6.31; renamed in 2.6.32\n"
15298 msgstr ""
15299
15300 #. type: tbl table
15301 #: build/C/man2/syscalls.2:390
15302 #, no-wrap
15303 msgid "B<personality>(2)\t1.2\n"
15304 msgstr ""
15305
15306 #. type: tbl table
15307 #: build/C/man2/syscalls.2:391
15308 #, no-wrap
15309 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
15310 msgstr ""
15311
15312 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
15313 #. type: tbl table
15314 #: build/C/man2/syscalls.2:393
15315 #, no-wrap
15316 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
15317 msgstr ""
15318
15319 #. type: tbl table
15320 #: build/C/man2/syscalls.2:394
15321 #, no-wrap
15322 msgid "B<pipe>(2)\t1.0\n"
15323 msgstr ""
15324
15325 #. type: tbl table
15326 #: build/C/man2/syscalls.2:395
15327 #, no-wrap
15328 msgid "B<pipe2>(2)\t2.6.27\n"
15329 msgstr ""
15330
15331 #. type: tbl table
15332 #: build/C/man2/syscalls.2:396
15333 #, no-wrap
15334 msgid "B<pivot_root>(2)\t2.4\n"
15335 msgstr ""
15336
15337 #. type: tbl table
15338 #: build/C/man2/syscalls.2:397
15339 #, no-wrap
15340 msgid "B<poll>(2)\t2.0.36; 2.2\n"
15341 msgstr ""
15342
15343 #. type: tbl table
15344 #: build/C/man2/syscalls.2:398
15345 #, no-wrap
15346 msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
15347 msgstr ""
15348
15349 #. type: tbl table
15350 #: build/C/man2/syscalls.2:399
15351 #, no-wrap
15352 msgid "B<ppoll>(2)\t2.6.16\n"
15353 msgstr ""
15354
15355 #. type: tbl table
15356 #: build/C/man2/syscalls.2:400
15357 #, no-wrap
15358 msgid "B<prctl>(2)\t2.2\n"
15359 msgstr ""
15360
15361 #. type: tbl table
15362 #: build/C/man2/syscalls.2:401
15363 #, no-wrap
15364 msgid "B<pread64>(2)\t\tT{\n"
15365 msgstr ""
15366
15367 #. type: tbl table
15368 #: build/C/man2/syscalls.2:402
15369 #, no-wrap
15370 msgid "Added as \"pread\" in 2.2;\n"
15371 msgstr ""
15372
15373 #. type: tbl table
15374 #: build/C/man2/syscalls.2:404
15375 #, no-wrap
15376 msgid "renamed \"pread64\" in 2.6\n"
15377 msgstr ""
15378
15379 #. type: tbl table
15380 #: build/C/man2/syscalls.2:406
15381 #, no-wrap
15382 msgid "B<preadv>(2)\t2.6.30\n"
15383 msgstr ""
15384
15385 #. type: tbl table
15386 #: build/C/man2/syscalls.2:407
15387 #, no-wrap
15388 msgid "B<prlimit>(2)\t2.6.36\n"
15389 msgstr ""
15390
15391 #. type: tbl table
15392 #: build/C/man2/syscalls.2:408
15393 #, no-wrap
15394 msgid "B<process_vm_readv>(2)\t3.2\n"
15395 msgstr ""
15396
15397 #. type: tbl table
15398 #: build/C/man2/syscalls.2:409
15399 #, no-wrap
15400 msgid "B<process_vm_writev>(2)\t3.2\n"
15401 msgstr ""
15402
15403 #. type: tbl table
15404 #: build/C/man2/syscalls.2:410
15405 #, no-wrap
15406 msgid "B<pselect6>(2)\t2.6.16\n"
15407 msgstr ""
15408
15409 #.  Implements \fBpselect\fP(2)
15410 #. type: tbl table
15411 #: build/C/man2/syscalls.2:412
15412 #, no-wrap
15413 msgid "B<ptrace>(2)\t1.0\n"
15414 msgstr ""
15415
15416 #. type: tbl table
15417 #: build/C/man2/syscalls.2:413
15418 #, no-wrap
15419 msgid "B<pwrite64>(2)\t\tT{\n"
15420 msgstr ""
15421
15422 #. type: tbl table
15423 #: build/C/man2/syscalls.2:414
15424 #, no-wrap
15425 msgid "Added as \"pwrite\" in 2.2;\n"
15426 msgstr ""
15427
15428 #. type: tbl table
15429 #: build/C/man2/syscalls.2:416
15430 #, no-wrap
15431 msgid "renamed \"pwrite64\" in 2.6\n"
15432 msgstr ""
15433
15434 #. type: tbl table
15435 #: build/C/man2/syscalls.2:418
15436 #, no-wrap
15437 msgid "B<pwritev>(2)\t2.6.30\n"
15438 msgstr ""
15439
15440 #. type: tbl table
15441 #: build/C/man2/syscalls.2:419
15442 #, no-wrap
15443 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
15444 msgstr ""
15445
15446 #. type: tbl table
15447 #: build/C/man2/syscalls.2:420
15448 #, no-wrap
15449 msgid "B<quotactl>(2)\t1.0\n"
15450 msgstr ""
15451
15452 #. type: tbl table
15453 #: build/C/man2/syscalls.2:421
15454 #, no-wrap
15455 msgid "B<read>(2)\t1.0\n"
15456 msgstr ""
15457
15458 #. type: tbl table
15459 #: build/C/man2/syscalls.2:422
15460 #, no-wrap
15461 msgid "B<readahead>(2)\t2.4.13\n"
15462 msgstr ""
15463
15464 #. type: tbl table
15465 #: build/C/man2/syscalls.2:423
15466 #, no-wrap
15467 msgid "B<readdir>(2)\t1.0\n"
15468 msgstr ""
15469
15470 #.  Supersedes \fBgetdents\fP(2)
15471 #. type: tbl table
15472 #: build/C/man2/syscalls.2:425
15473 #, no-wrap
15474 msgid "B<readlink>(2)\t1.0\n"
15475 msgstr ""
15476
15477 #. type: tbl table
15478 #: build/C/man2/syscalls.2:426
15479 #, no-wrap
15480 msgid "B<readlinkat>(2)\t2.6.16\n"
15481 msgstr ""
15482
15483 #. type: tbl table
15484 #: build/C/man2/syscalls.2:427
15485 #, no-wrap
15486 msgid "B<readv>(2)\t2.0\n"
15487 msgstr ""
15488
15489 #. type: tbl table
15490 #: build/C/man2/syscalls.2:428
15491 #, no-wrap
15492 msgid "B<reboot>(2)\t1.0\n"
15493 msgstr ""
15494
15495 #. type: tbl table
15496 #: build/C/man2/syscalls.2:429
15497 #, no-wrap
15498 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15499 msgstr ""
15500
15501 #. type: tbl table
15502 #: build/C/man2/syscalls.2:430
15503 #, no-wrap
15504 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15505 msgstr ""
15506
15507 #. type: tbl table
15508 #: build/C/man2/syscalls.2:431
15509 #, no-wrap
15510 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15511 msgstr ""
15512
15513 #. type: tbl table
15514 #: build/C/man2/syscalls.2:432
15515 #, no-wrap
15516 msgid "B<recvmmsg>(2)\t2.6.33\n"
15517 msgstr ""
15518
15519 #. type: tbl table
15520 #: build/C/man2/syscalls.2:433
15521 #, no-wrap
15522 msgid "B<remap_file_pages>(2)\t2.6\n"
15523 msgstr ""
15524
15525 #. type: tbl table
15526 #: build/C/man2/syscalls.2:434
15527 #, no-wrap
15528 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
15529 msgstr ""
15530
15531 #. type: tbl table
15532 #: build/C/man2/syscalls.2:435
15533 #, no-wrap
15534 msgid "B<rename>(2)\t1.0\n"
15535 msgstr ""
15536
15537 #. type: tbl table
15538 #: build/C/man2/syscalls.2:436
15539 #, no-wrap
15540 msgid "B<renameat>(2)\t2.6.16\n"
15541 msgstr ""
15542
15543 #. type: tbl table
15544 #: build/C/man2/syscalls.2:437
15545 #, no-wrap
15546 msgid "B<request_key>(2)\t2.6.11\n"
15547 msgstr ""
15548
15549 #. type: tbl table
15550 #: build/C/man2/syscalls.2:438
15551 #, no-wrap
15552 msgid "B<restart_syscall>(2)\t2.6\n"
15553 msgstr ""
15554
15555 #. type: tbl table
15556 #: build/C/man2/syscalls.2:439
15557 #, no-wrap
15558 msgid "B<rmdir>(2)\t1.0\n"
15559 msgstr ""
15560
15561 #. type: tbl table
15562 #: build/C/man2/syscalls.2:440
15563 #, no-wrap
15564 msgid "B<rt_sigaction>(2)\t2.2\n"
15565 msgstr ""
15566
15567 #. type: tbl table
15568 #: build/C/man2/syscalls.2:441
15569 #, no-wrap
15570 msgid "B<rt_sigpending>(2)\t2.2\n"
15571 msgstr ""
15572
15573 #. type: tbl table
15574 #: build/C/man2/syscalls.2:442
15575 #, no-wrap
15576 msgid "B<rt_sigprocmask>(2)\t2.2\n"
15577 msgstr ""
15578
15579 #. type: tbl table
15580 #: build/C/man2/syscalls.2:443
15581 #, no-wrap
15582 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
15583 msgstr ""
15584
15585 #. type: tbl table
15586 #: build/C/man2/syscalls.2:444
15587 #, no-wrap
15588 msgid "B<rt_sigreturn>(2)\t2.2\n"
15589 msgstr ""
15590
15591 #. type: tbl table
15592 #: build/C/man2/syscalls.2:445
15593 #, no-wrap
15594 msgid "B<rt_sigsuspend>(2)\t2.2\n"
15595 msgstr ""
15596
15597 #. type: tbl table
15598 #: build/C/man2/syscalls.2:446
15599 #, no-wrap
15600 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
15601 msgstr ""
15602
15603 #. type: tbl table
15604 #: build/C/man2/syscalls.2:447
15605 #, no-wrap
15606 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
15607 msgstr ""
15608
15609 #. type: tbl table
15610 #: build/C/man2/syscalls.2:448
15611 #, no-wrap
15612 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
15613 msgstr ""
15614
15615 #. type: tbl table
15616 #: build/C/man2/syscalls.2:449
15617 #, no-wrap
15618 msgid "B<sched_get_priority_max>(2)\t2.0\n"
15619 msgstr ""
15620
15621 #. type: tbl table
15622 #: build/C/man2/syscalls.2:450
15623 #, no-wrap
15624 msgid "B<sched_get_priority_min>(2)\t2.0\n"
15625 msgstr ""
15626
15627 #. type: tbl table
15628 #: build/C/man2/syscalls.2:451
15629 #, no-wrap
15630 msgid "B<sched_getaffinity>(2)\t2.6\n"
15631 msgstr ""
15632
15633 #. type: tbl table
15634 #: build/C/man2/syscalls.2:452
15635 #, no-wrap
15636 msgid "B<sched_getparam>(2)\t2.0\n"
15637 msgstr ""
15638
15639 #. type: tbl table
15640 #: build/C/man2/syscalls.2:453
15641 #, no-wrap
15642 msgid "B<sched_getscheduler>(2)\t2.0\n"
15643 msgstr ""
15644
15645 #. type: tbl table
15646 #: build/C/man2/syscalls.2:454
15647 #, no-wrap
15648 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
15649 msgstr ""
15650
15651 #. type: tbl table
15652 #: build/C/man2/syscalls.2:455
15653 #, no-wrap
15654 msgid "B<sched_setaffinity>(2)\t2.6\n"
15655 msgstr ""
15656
15657 #. type: tbl table
15658 #: build/C/man2/syscalls.2:456
15659 #, no-wrap
15660 msgid "B<sched_setparam>(2)\t2.0\n"
15661 msgstr ""
15662
15663 #. type: tbl table
15664 #: build/C/man2/syscalls.2:457
15665 #, no-wrap
15666 msgid "B<sched_setscheduler>(2)\t2.0\n"
15667 msgstr ""
15668
15669 #. type: tbl table
15670 #: build/C/man2/syscalls.2:458
15671 #, no-wrap
15672 msgid "B<sched_yield>(2)\t2.0\n"
15673 msgstr ""
15674
15675 #. type: tbl table
15676 #: build/C/man2/syscalls.2:459
15677 #, no-wrap
15678 msgid "B<select>(2)\t1.0\n"
15679 msgstr ""
15680
15681 #. type: tbl table
15682 #: build/C/man2/syscalls.2:460
15683 #, no-wrap
15684 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15685 msgstr ""
15686
15687 #. type: tbl table
15688 #: build/C/man2/syscalls.2:461
15689 #, no-wrap
15690 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15691 msgstr ""
15692
15693 #. type: tbl table
15694 #: build/C/man2/syscalls.2:462
15695 #, no-wrap
15696 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15697 msgstr ""
15698
15699 #. type: tbl table
15700 #: build/C/man2/syscalls.2:463
15701 #, no-wrap
15702 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
15703 msgstr ""
15704
15705 #. type: tbl table
15706 #: build/C/man2/syscalls.2:464
15707 #, no-wrap
15708 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15709 msgstr ""
15710
15711 #. type: tbl table
15712 #: build/C/man2/syscalls.2:465
15713 #, no-wrap
15714 msgid "B<sendfile>(2)\t2.2\n"
15715 msgstr ""
15716
15717 #. type: tbl table
15718 #: build/C/man2/syscalls.2:466
15719 #, no-wrap
15720 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
15721 msgstr ""
15722
15723 #. type: tbl table
15724 #: build/C/man2/syscalls.2:467
15725 #, no-wrap
15726 msgid "B<sendmmsg>(2)\t3.0\n"
15727 msgstr ""
15728
15729 #. type: tbl table
15730 #: build/C/man2/syscalls.2:468
15731 #, no-wrap
15732 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15733 msgstr ""
15734
15735 #. type: tbl table
15736 #: build/C/man2/syscalls.2:469
15737 #, no-wrap
15738 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15739 msgstr ""
15740
15741 #. type: tbl table
15742 #: build/C/man2/syscalls.2:470
15743 #, no-wrap
15744 msgid "B<set_mempolicy>(2)\t2.6.6\n"
15745 msgstr ""
15746
15747 #. type: tbl table
15748 #: build/C/man2/syscalls.2:471
15749 #, no-wrap
15750 msgid "B<set_robust_list>(2)\t2.6.17\n"
15751 msgstr ""
15752
15753 #. type: tbl table
15754 #: build/C/man2/syscalls.2:472
15755 #, no-wrap
15756 msgid "B<set_thread_area>(2)\t2.6\n"
15757 msgstr ""
15758
15759 #. type: tbl table
15760 #: build/C/man2/syscalls.2:473
15761 #, no-wrap
15762 msgid "B<set_tid_address>(2)\t2.6\n"
15763 msgstr ""
15764
15765 #.  See http://lkml.org/lkml/2005/8/1/83
15766 #.  "[PATCH] remove sys_set_zone_reclaim()"
15767 #. type: tbl table
15768 #: build/C/man2/syscalls.2:476
15769 #, no-wrap
15770 msgid "B<setdomainname>(2)\t1.0\n"
15771 msgstr ""
15772
15773 #. type: tbl table
15774 #: build/C/man2/syscalls.2:477
15775 #, no-wrap
15776 msgid "B<setfsgid>(2)\t1.2\n"
15777 msgstr ""
15778
15779 #. type: tbl table
15780 #: build/C/man2/syscalls.2:478
15781 #, no-wrap
15782 msgid "B<setfsgid32>(2)\t2.4\n"
15783 msgstr ""
15784
15785 #. type: tbl table
15786 #: build/C/man2/syscalls.2:479
15787 #, no-wrap
15788 msgid "B<setfsuid>(2)\t1.2\n"
15789 msgstr ""
15790
15791 #. type: tbl table
15792 #: build/C/man2/syscalls.2:480
15793 #, no-wrap
15794 msgid "B<setfsuid32>(2)\t2.4\n"
15795 msgstr ""
15796
15797 #. type: tbl table
15798 #: build/C/man2/syscalls.2:481
15799 #, no-wrap
15800 msgid "B<setgid>(2)\t1.0\n"
15801 msgstr ""
15802
15803 #. type: tbl table
15804 #: build/C/man2/syscalls.2:482
15805 #, no-wrap
15806 msgid "B<setgid32>(2)\t2.4\n"
15807 msgstr ""
15808
15809 #. type: tbl table
15810 #: build/C/man2/syscalls.2:483
15811 #, no-wrap
15812 msgid "B<setgroups>(2)\t1.0\n"
15813 msgstr ""
15814
15815 #. type: tbl table
15816 #: build/C/man2/syscalls.2:484
15817 #, no-wrap
15818 msgid "B<setgroups32>(2)\t2.4\n"
15819 msgstr ""
15820
15821 #. type: tbl table
15822 #: build/C/man2/syscalls.2:485
15823 #, no-wrap
15824 msgid "B<sethostname>(2)\t1.0\n"
15825 msgstr ""
15826
15827 #. type: tbl table
15828 #: build/C/man2/syscalls.2:486
15829 #, no-wrap
15830 msgid "B<setitimer>(2)\t1.0\n"
15831 msgstr ""
15832
15833 #. type: tbl table
15834 #: build/C/man2/syscalls.2:487
15835 #, no-wrap
15836 msgid "B<setns>(2)\t3.0\n"
15837 msgstr ""
15838
15839 #. type: tbl table
15840 #: build/C/man2/syscalls.2:488
15841 #, no-wrap
15842 msgid "B<setpgid>(2)\t1.0\n"
15843 msgstr ""
15844
15845 #. type: tbl table
15846 #: build/C/man2/syscalls.2:489
15847 #, no-wrap
15848 msgid "B<setpriority>(2)\t1.0\n"
15849 msgstr ""
15850
15851 #. type: tbl table
15852 #: build/C/man2/syscalls.2:490
15853 #, no-wrap
15854 msgid "B<setregid>(2)\t1.0\n"
15855 msgstr ""
15856
15857 #. type: tbl table
15858 #: build/C/man2/syscalls.2:491
15859 #, no-wrap
15860 msgid "B<setregid32>(2)\t2.4\n"
15861 msgstr ""
15862
15863 #. type: tbl table
15864 #: build/C/man2/syscalls.2:492
15865 #, no-wrap
15866 msgid "B<setresgid>(2)\t2.2\n"
15867 msgstr ""
15868
15869 #. type: tbl table
15870 #: build/C/man2/syscalls.2:493
15871 #, no-wrap
15872 msgid "B<setresgid32>(2)\t2.4\n"
15873 msgstr ""
15874
15875 #. type: tbl table
15876 #: build/C/man2/syscalls.2:494
15877 #, no-wrap
15878 msgid "B<setresuid>(2)\t2.2\n"
15879 msgstr ""
15880
15881 #. type: tbl table
15882 #: build/C/man2/syscalls.2:495
15883 #, no-wrap
15884 msgid "B<setresuid32>(2)\t2.4\n"
15885 msgstr ""
15886
15887 #. type: tbl table
15888 #: build/C/man2/syscalls.2:496
15889 #, no-wrap
15890 msgid "B<setreuid>(2)\t1.0\n"
15891 msgstr ""
15892
15893 #. type: tbl table
15894 #: build/C/man2/syscalls.2:497
15895 #, no-wrap
15896 msgid "B<setreuid32>(2)\t2.4\n"
15897 msgstr ""
15898
15899 #. type: tbl table
15900 #: build/C/man2/syscalls.2:498
15901 #, no-wrap
15902 msgid "B<setrlimit>(2)\t1.0\n"
15903 msgstr ""
15904
15905 #. type: tbl table
15906 #: build/C/man2/syscalls.2:499
15907 #, no-wrap
15908 msgid "B<setsid>(2)\t1.0\n"
15909 msgstr ""
15910
15911 #. type: tbl table
15912 #: build/C/man2/syscalls.2:500
15913 #, no-wrap
15914 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15915 msgstr ""
15916
15917 #. type: tbl table
15918 #: build/C/man2/syscalls.2:501
15919 #, no-wrap
15920 msgid "B<settimeofday>(2)\t1.0\n"
15921 msgstr ""
15922
15923 #. type: tbl table
15924 #: build/C/man2/syscalls.2:502
15925 #, no-wrap
15926 msgid "B<setuid>(2)\t1.0\n"
15927 msgstr ""
15928
15929 #. type: tbl table
15930 #: build/C/man2/syscalls.2:503
15931 #, no-wrap
15932 msgid "B<setuid32>(2)\t2.4\n"
15933 msgstr ""
15934
15935 #. type: tbl table
15936 #: build/C/man2/syscalls.2:504
15937 #, no-wrap
15938 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
15939 msgstr ""
15940
15941 #. type: tbl table
15942 #: build/C/man2/syscalls.2:505
15943 #, no-wrap
15944 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
15945 msgstr ""
15946
15947 #. type: tbl table
15948 #: build/C/man2/syscalls.2:506
15949 #, no-wrap
15950 msgid "B<sgetmask>(2)\t1.0\n"
15951 msgstr ""
15952
15953 #. type: tbl table
15954 #: build/C/man2/syscalls.2:507
15955 #, no-wrap
15956 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15957 msgstr ""
15958
15959 #. type: tbl table
15960 #: build/C/man2/syscalls.2:508
15961 #, no-wrap
15962 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15963 msgstr ""
15964
15965 #. type: tbl table
15966 #: build/C/man2/syscalls.2:509
15967 #, no-wrap
15968 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15969 msgstr ""
15970
15971 #. type: tbl table
15972 #: build/C/man2/syscalls.2:510
15973 #, no-wrap
15974 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15975 msgstr ""
15976
15977 #. type: tbl table
15978 #: build/C/man2/syscalls.2:511
15979 #, no-wrap
15980 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15981 msgstr ""
15982
15983 #. type: tbl table
15984 #: build/C/man2/syscalls.2:512
15985 #, no-wrap
15986 msgid "B<sigaction>(2)\t1.0\n"
15987 msgstr ""
15988
15989 #. type: tbl table
15990 #: build/C/man2/syscalls.2:513
15991 #, no-wrap
15992 msgid "B<sigaltstack>(2)\t2.2\n"
15993 msgstr ""
15994
15995 #. type: tbl table
15996 #: build/C/man2/syscalls.2:514
15997 #, no-wrap
15998 msgid "B<signal>(2)\t1.0\n"
15999 msgstr ""
16000
16001 #. type: tbl table
16002 #: build/C/man2/syscalls.2:515
16003 #, no-wrap
16004 msgid "B<signalfd>(2)\t2.6.22\n"
16005 msgstr ""
16006
16007 #. type: tbl table
16008 #: build/C/man2/syscalls.2:516
16009 #, no-wrap
16010 msgid "B<signalfd4>(2)\t2.6.27\n"
16011 msgstr ""
16012
16013 #. type: tbl table
16014 #: build/C/man2/syscalls.2:517
16015 #, no-wrap
16016 msgid "B<sigpending>(2)\t1.0\n"
16017 msgstr ""
16018
16019 #. type: tbl table
16020 #: build/C/man2/syscalls.2:518
16021 #, no-wrap
16022 msgid "B<sigprocmask>(2)\t1.0\n"
16023 msgstr ""
16024
16025 #. type: tbl table
16026 #: build/C/man2/syscalls.2:519
16027 #, no-wrap
16028 msgid "B<sigreturn>(2)\t1.0\n"
16029 msgstr ""
16030
16031 #. type: tbl table
16032 #: build/C/man2/syscalls.2:520
16033 #, no-wrap
16034 msgid "B<sigsuspend>(2)\t1.0\n"
16035 msgstr ""
16036
16037 #. type: tbl table
16038 #: build/C/man2/syscalls.2:521
16039 #, no-wrap
16040 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16041 msgstr ""
16042
16043 #. type: tbl table
16044 #: build/C/man2/syscalls.2:522
16045 #, no-wrap
16046 msgid "B<socketcall>(2)\t1.0\n"
16047 msgstr ""
16048
16049 #.  Implements BSD socket calls
16050 #. type: tbl table
16051 #: build/C/man2/syscalls.2:524
16052 #, no-wrap
16053 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16054 msgstr ""
16055
16056 #. type: tbl table
16057 #: build/C/man2/syscalls.2:525
16058 #, no-wrap
16059 msgid "B<splice>(2)\t2.6.17\n"
16060 msgstr ""
16061
16062 #. type: tbl table
16063 #: build/C/man2/syscalls.2:526
16064 #, no-wrap
16065 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
16066 msgstr ""
16067
16068 #. type: tbl table
16069 #: build/C/man2/syscalls.2:527
16070 #, no-wrap
16071 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
16072 msgstr ""
16073
16074 #. type: tbl table
16075 #: build/C/man2/syscalls.2:528
16076 #, no-wrap
16077 msgid "B<ssetmask>(2)\t1.0\n"
16078 msgstr ""
16079
16080 #. type: tbl table
16081 #: build/C/man2/syscalls.2:529
16082 #, no-wrap
16083 msgid "B<stat>(2)\t1.0\n"
16084 msgstr ""
16085
16086 #. type: tbl table
16087 #: build/C/man2/syscalls.2:530
16088 #, no-wrap
16089 msgid "B<stat64>(2)\t2.4\n"
16090 msgstr ""
16091
16092 #. type: tbl table
16093 #: build/C/man2/syscalls.2:531
16094 #, no-wrap
16095 msgid "B<statfs>(2)\t1.0\n"
16096 msgstr ""
16097
16098 #. type: tbl table
16099 #: build/C/man2/syscalls.2:532
16100 #, no-wrap
16101 msgid "B<statfs64>(2)\t2.6\n"
16102 msgstr ""
16103
16104 #. type: tbl table
16105 #: build/C/man2/syscalls.2:533
16106 #, no-wrap
16107 msgid "B<stime>(2)\t1.0\n"
16108 msgstr ""
16109
16110 #. type: tbl table
16111 #: build/C/man2/syscalls.2:534
16112 #, no-wrap
16113 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
16114 msgstr ""
16115
16116 #. type: tbl table
16117 #: build/C/man2/syscalls.2:535
16118 #, no-wrap
16119 msgid "\t\tCONFIG_PPC_64K_PAGES\n"
16120 msgstr ""
16121
16122 #. type: tbl table
16123 #: build/C/man2/syscalls.2:536
16124 #, no-wrap
16125 msgid "B<swapoff>(2)\t1.0\n"
16126 msgstr ""
16127
16128 #. type: tbl table
16129 #: build/C/man2/syscalls.2:537
16130 #, no-wrap
16131 msgid "B<swapon>(2)\t1.0\n"
16132 msgstr ""
16133
16134 #. type: tbl table
16135 #: build/C/man2/syscalls.2:538
16136 #, no-wrap
16137 msgid "B<symlink>(2)\t1.0\n"
16138 msgstr ""
16139
16140 #. type: tbl table
16141 #: build/C/man2/syscalls.2:539
16142 #, no-wrap
16143 msgid "B<symlinkat>(2)\t2.6.16\n"
16144 msgstr ""
16145
16146 #. type: tbl table
16147 #: build/C/man2/syscalls.2:540
16148 #, no-wrap
16149 msgid "B<sync>(2)\t1.0\n"
16150 msgstr ""
16151
16152 #. type: tbl table
16153 #: build/C/man2/syscalls.2:541
16154 #, no-wrap
16155 msgid "B<sync_file_range>(2)\t2.6.17\n"
16156 msgstr ""
16157
16158 #. type: tbl table
16159 #: build/C/man2/syscalls.2:542
16160 #, no-wrap
16161 msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
16162 msgstr ""
16163
16164 #. type: tbl table
16165 #: build/C/man2/syscalls.2:543
16166 #, no-wrap
16167 msgid "Architecture-specific\n"
16168 msgstr ""
16169
16170 #. type: tbl table
16171 #: build/C/man2/syscalls.2:544
16172 #, no-wrap
16173 msgid "variant of B<sync_file_range>(2)\n"
16174 msgstr ""
16175
16176 #.  PowerPC, ARM, tile
16177 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
16178 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
16179 #. type: tbl table
16180 #: build/C/man2/syscalls.2:549
16181 #, no-wrap
16182 msgid "B<syncfs>(2)\t2.6.39\n"
16183 msgstr ""
16184
16185 #. type: tbl table
16186 #: build/C/man2/syscalls.2:550
16187 #, no-wrap
16188 msgid "B<sysfs>(2)\t1.2\n"
16189 msgstr ""
16190
16191 #. type: tbl table
16192 #: build/C/man2/syscalls.2:551
16193 #, no-wrap
16194 msgid "B<sysinfo>(2)\t1.0\n"
16195 msgstr ""
16196
16197 #. type: tbl table
16198 #: build/C/man2/syscalls.2:552
16199 #, no-wrap
16200 msgid "B<syslog>(2)\t1.0\n"
16201 msgstr ""
16202
16203 #.  glibc interface is \fBklogctl\fP(3)
16204 #. type: tbl table
16205 #: build/C/man2/syscalls.2:554
16206 #, no-wrap
16207 msgid "B<tee>(2)\t2.6.17\n"
16208 msgstr ""
16209
16210 #. type: tbl table
16211 #: build/C/man2/syscalls.2:555
16212 #, no-wrap
16213 msgid "B<tgkill>(2)\t2.6\n"
16214 msgstr ""
16215
16216 #. type: tbl table
16217 #: build/C/man2/syscalls.2:556
16218 #, no-wrap
16219 msgid "B<time>(2)\t1.0\n"
16220 msgstr ""
16221
16222 #. type: tbl table
16223 #: build/C/man2/syscalls.2:557
16224 #, no-wrap
16225 msgid "B<timer_create>(2)\t2.6\n"
16226 msgstr ""
16227
16228 #. type: tbl table
16229 #: build/C/man2/syscalls.2:558
16230 #, no-wrap
16231 msgid "B<timer_delete>(2)\t2.6\n"
16232 msgstr ""
16233
16234 #. type: tbl table
16235 #: build/C/man2/syscalls.2:559
16236 #, no-wrap
16237 msgid "B<timer_getoverrun>(2)\t2.6\n"
16238 msgstr ""
16239
16240 #. type: tbl table
16241 #: build/C/man2/syscalls.2:560
16242 #, no-wrap
16243 msgid "B<timer_gettime>(2)\t2.6\n"
16244 msgstr ""
16245
16246 #. type: tbl table
16247 #: build/C/man2/syscalls.2:561
16248 #, no-wrap
16249 msgid "B<timer_settime>(2)\t2.6\n"
16250 msgstr ""
16251
16252 #. type: tbl table
16253 #: build/C/man2/syscalls.2:562
16254 #, no-wrap
16255 msgid "B<timerfd_create>(2)\t2.6.25\n"
16256 msgstr ""
16257
16258 #. type: tbl table
16259 #: build/C/man2/syscalls.2:563
16260 #, no-wrap
16261 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
16262 msgstr ""
16263
16264 #. type: tbl table
16265 #: build/C/man2/syscalls.2:564
16266 #, no-wrap
16267 msgid "B<timerfd_settime>(2)\t2.6.25\n"
16268 msgstr ""
16269
16270 #. type: tbl table
16271 #: build/C/man2/syscalls.2:565
16272 #, no-wrap
16273 msgid "B<times>(2)\t1.0\n"
16274 msgstr ""
16275
16276 #. type: tbl table
16277 #: build/C/man2/syscalls.2:566
16278 #, no-wrap
16279 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
16280 msgstr ""
16281
16282 #. type: tbl table
16283 #: build/C/man2/syscalls.2:567
16284 #, no-wrap
16285 msgid "B<truncate>(2)\t1.0\n"
16286 msgstr ""
16287
16288 #. type: tbl table
16289 #: build/C/man2/syscalls.2:568
16290 #, no-wrap
16291 msgid "B<truncate64>(2)\t2.4\n"
16292 msgstr ""
16293
16294 #. type: tbl table
16295 #: build/C/man2/syscalls.2:569
16296 #, no-wrap
16297 msgid "B<ugetrlimit>(2)\t2.4\n"
16298 msgstr ""
16299
16300 #. type: tbl table
16301 #: build/C/man2/syscalls.2:570
16302 #, no-wrap
16303 msgid "B<umask>(2)\t1.0\n"
16304 msgstr ""
16305
16306 #. type: tbl table
16307 #: build/C/man2/syscalls.2:571
16308 #, no-wrap
16309 msgid "B<umount>(2)\t1.0\n"
16310 msgstr ""
16311
16312 #.  sys_oldumount() -- __NR_umount
16313 #. type: tbl table
16314 #: build/C/man2/syscalls.2:573
16315 #, no-wrap
16316 msgid "B<umount2>(2)\t2.2\n"
16317 msgstr ""
16318
16319 #.  sys_umount() -- __NR_umount2
16320 #. type: tbl table
16321 #: build/C/man2/syscalls.2:575
16322 #, no-wrap
16323 msgid "B<uname>(2)\t1.0\n"
16324 msgstr ""
16325
16326 #. type: tbl table
16327 #: build/C/man2/syscalls.2:576
16328 #, no-wrap
16329 msgid "B<unlink>(2)\t1.0\n"
16330 msgstr ""
16331
16332 #. type: tbl table
16333 #: build/C/man2/syscalls.2:577
16334 #, no-wrap
16335 msgid "B<unlinkat>(2)\t2.6.16\n"
16336 msgstr ""
16337
16338 #. type: tbl table
16339 #: build/C/man2/syscalls.2:578
16340 #, no-wrap
16341 msgid "B<unshare>(2)\t2.6.16\n"
16342 msgstr ""
16343
16344 #. type: tbl table
16345 #: build/C/man2/syscalls.2:579
16346 #, no-wrap
16347 msgid "B<uselib>(2)\t1.0\n"
16348 msgstr ""
16349
16350 #. type: tbl table
16351 #: build/C/man2/syscalls.2:580
16352 #, no-wrap
16353 msgid "B<ustat>(2)\t1.0\n"
16354 msgstr ""
16355
16356 #. type: tbl table
16357 #: build/C/man2/syscalls.2:581
16358 #, no-wrap
16359 msgid "B<utime>(2)\t1.0\n"
16360 msgstr ""
16361
16362 #. type: tbl table
16363 #: build/C/man2/syscalls.2:582
16364 #, no-wrap
16365 msgid "B<utimensat>(2)\t2.6.22\n"
16366 msgstr ""
16367
16368 #. type: tbl table
16369 #: build/C/man2/syscalls.2:583
16370 #, no-wrap
16371 msgid "B<utimes>(2)\t2.2\n"
16372 msgstr ""
16373
16374 #. type: tbl table
16375 #: build/C/man2/syscalls.2:584
16376 #, no-wrap
16377 msgid "B<utrap_install>(2)\t2.2\tSparc\n"
16378 msgstr ""
16379
16380 #. type: tbl table
16381 #: build/C/man2/syscalls.2:585
16382 #, no-wrap
16383 msgid "B<vfork>(2)\t2.2\n"
16384 msgstr ""
16385
16386 #. type: tbl table
16387 #: build/C/man2/syscalls.2:586
16388 #, no-wrap
16389 msgid "B<vhangup>(2)\t1.0\n"
16390 msgstr ""
16391
16392 #. type: tbl table
16393 #: build/C/man2/syscalls.2:587
16394 #, no-wrap
16395 msgid "B<vm86old>(2)\t1.0\tT{\n"
16396 msgstr ""
16397
16398 #. type: tbl table
16399 #: build/C/man2/syscalls.2:588
16400 #, no-wrap
16401 msgid "Was \"vm86\"; renamed in\n"
16402 msgstr ""
16403
16404 #. type: tbl table
16405 #: build/C/man2/syscalls.2:589
16406 #, no-wrap
16407 msgid "2.0.28/2.2\n"
16408 msgstr ""
16409
16410 #. type: tbl table
16411 #: build/C/man2/syscalls.2:591
16412 #, no-wrap
16413 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
16414 msgstr ""
16415
16416 #. type: tbl table
16417 #: build/C/man2/syscalls.2:592
16418 #, no-wrap
16419 msgid "B<vmsplice>(2)\t2.6.17\n"
16420 msgstr ""
16421
16422 #. type: tbl table
16423 #: build/C/man2/syscalls.2:593
16424 #, no-wrap
16425 msgid "B<wait4>(2)\t1.0\n"
16426 msgstr ""
16427
16428 #. type: tbl table
16429 #: build/C/man2/syscalls.2:594
16430 #, no-wrap
16431 msgid "B<waitid>(2)\t2.6.10\n"
16432 msgstr ""
16433
16434 #. type: tbl table
16435 #: build/C/man2/syscalls.2:595
16436 #, no-wrap
16437 msgid "B<waitpid>(2)\t1.0\n"
16438 msgstr ""
16439
16440 #. type: tbl table
16441 #: build/C/man2/syscalls.2:596
16442 #, no-wrap
16443 msgid "B<write>(2)\t1.0\n"
16444 msgstr ""
16445
16446 #. type: tbl table
16447 #: build/C/man2/syscalls.2:597
16448 #, no-wrap
16449 msgid "B<writev>(2)\t2.0\n"
16450 msgstr ""
16451
16452 #. type: Plain text
16453 #: build/C/man2/syscalls.2:606
16454 msgid ""
16455 "On many platforms, including x86-32, socket calls are all multiplexed (via "
16456 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
16457 "IPC calls are multiplexed through B<ipc>(2)."
16458 msgstr ""
16459
16460 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
16461 #.  __NR_break is 17 on Linux 2.6.22/i386
16462 #.  __NR_ftime is 35 on Linux 2.6.22/i386
16463 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
16464 #.  __NR_gtty is 32 on Linux 2.6.22/i386
16465 #.  __NR_idle is 112 on Linux 2.6.22/i386
16466 #.  __NR_lock is 53 on Linux 2.6.22/i386
16467 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
16468 #.  __NR_mpx is 66 on Linux 2.6.22/i386
16469 #.  Slot has been reused
16470 #.  __NR_prof is 44 on Linux 2.6.22/i386
16471 #.  __NR_profil is 98 on Linux 2.6.22/i386
16472 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
16473 #.  __NR_security is 223 on Linux 2.4/i386
16474 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
16475 #.  on a couple of 2.6 architectures
16476 #.  __NR_stty is 31 on Linux 2.6.22/i386
16477 #.  The security call is for future use.
16478 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
16479 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
16480 #.  __NR_vserver is 273 on Linux 2.6.22/i386
16481 #. type: Plain text
16482 #: build/C/man2/syscalls.2:651
16483 msgid ""
16484 "Although slots are reserved for them in the system call table, the following "
16485 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
16486 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
16487 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
16488 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
16489 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
16490 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
16491 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
16492 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
16493 "for kernels patched to support STREAMS, and may never be in the standard "
16494 "kernel."
16495 msgstr ""
16496
16497 #. type: Plain text
16498 #: build/C/man2/syscalls.2:656
16499 msgid ""
16500 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
16501 "in 2.6.16; this system call was never available to user space."
16502 msgstr ""
16503
16504 #. type: Plain text
16505 #: build/C/man2/syscalls.2:673
16506 msgid ""
16507 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
16508 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
16509 "source in the routine I<sys_xxx>().  (The dispatch table for i386 can be "
16510 "found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many "
16511 "exceptions, however, mostly because older system calls were superseded by "
16512 "newer ones, and this has been treated somewhat unsystematically.  On "
16513 "platforms with proprietary operating-system emulation, such as parisc, "
16514 "sparc, sparc64 and alpha, there are many additional system calls; mips64 "
16515 "also contains a full set of 32-bit system calls."
16516 msgstr ""
16517
16518 #. type: Plain text
16519 #: build/C/man2/syscalls.2:692
16520 msgid ""
16521 "Over time, changes to the interfaces of some system calls have been "
16522 "necessary.  One reason for such changes was the need to increase the size of "
16523 "structures or scalar values passed to the system call.  Because of these "
16524 "changes, there are now various groups of related system calls (e.g., "
16525 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
16526 "which vary in details such as the size of their arguments.  (As noted "
16527 "earlier, applications are generally unaware of this: the glibc wrapper "
16528 "functions do some work to ensure that the right system call is invoked, and "
16529 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
16530 "calls that exist in multiple versions are the following:"
16531 msgstr ""
16532
16533 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
16534 #.  The stat system calls deal with three different data structures,
16535 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
16536 #. type: Plain text
16537 #: build/C/man2/syscalls.2:713
16538 msgid ""
16539 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
16540 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
16541 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
16542 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
16543 msgstr ""
16544
16545 #. type: Plain text
16546 #: build/C/man2/syscalls.2:724
16547 msgid ""
16548 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
16549 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
16550 "I<sys_newuname>()."
16551 msgstr ""
16552
16553 #. type: Plain text
16554 #: build/C/man2/syscalls.2:731
16555 msgid ""
16556 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
16557 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
16558 msgstr ""
16559
16560 #. type: Plain text
16561 #: build/C/man2/syscalls.2:742
16562 msgid ""
16563 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
16564 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
16565 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
16566 msgstr ""
16567
16568 #.  64-bit off_t changes: ftruncate64, *stat64,
16569 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
16570 #. type: Plain text
16571 #: build/C/man2/syscalls.2:754
16572 msgid ""
16573 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
16574 "support this change, a range of system calls were added (e.g., "
16575 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
16576 "superseding earlier calls of the same name without the \"32\" suffix."
16577 msgstr ""
16578
16579 #. type: Plain text
16580 #: build/C/man2/syscalls.2:771
16581 msgid ""
16582 "Linux 2.4 added support for applications on 32-bit architectures to access "
16583 "large files (i.e., files for which the sizes and file offsets can't be "
16584 "represented in 32 bits.)  To support this change, replacements were required "
16585 "for system calls that deal with file offsets and sizes.  Thus the following "
16586 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
16587 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
16588 "descriptors or symbolic links.  These system calls supersede the older "
16589 "system calls which, except in the case of the \"stat\" calls, have the same "
16590 "name without the \"64\" suffix."
16591 msgstr ""
16592
16593 #. type: Plain text
16594 #: build/C/man2/syscalls.2:775
16595 msgid ""
16596 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
16597 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
16598 "calls exist, the other versions are obsolete."
16599 msgstr ""
16600
16601 #. type: Plain text
16602 #: build/C/man2/syscalls.2:783
16603 msgid ""
16604 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
16605 "real-time signals (see B<signal>(7)).  These system calls supersede the "
16606 "older system calls of the same name without the \"rt_\" prefix."
16607 msgstr ""
16608
16609 #.  (used by libc 6)
16610 #.  .PP
16611 #.  Two system call numbers,
16612 #.  .IR __NR__llseek
16613 #.  and
16614 #.  .IR __NR__sysctl
16615 #.  have an additional underscore absent in
16616 #.  .IR sys_llseek ()
16617 #.  and
16618 #.  .IR sys_sysctl ().
16619 #
16620 #.  In kernel 2.1.81,
16621 #.  .BR lchown (2)
16622 #.  and
16623 #.  .BR chown (2)
16624 #.  were swapped; that is,
16625 #.  .BR lchown (2)
16626 #.  was added with the semantics that were then current for
16627 #.  .BR chown (2),
16628 #.  and the semantics of the latter call were changed to what
16629 #.  they are today.
16630 #. type: Plain text
16631 #: build/C/man2/syscalls.2:833
16632 msgid ""
16633 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
16634 "which caused problems in the way argument passing on the i386 used to be set "
16635 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
16636 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
16637 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
16638 "argument block) instead.  These days passing five arguments is not a problem "
16639 "any more, and there is a I<__NR__newselect> that corresponds directly to "
16640 "I<sys_select>()  and similarly I<__NR_mmap2>."
16641 msgstr ""
16642
16643 #. type: Plain text
16644 #: build/C/man2/syscalls.2:837
16645 msgid "B<syscall>(2), B<unimplemented>(2), B<libc>(7)"
16646 msgstr ""
16647
16648 #. type: TH
16649 #: build/C/man3/sysconf.3:27
16650 #, no-wrap
16651 msgid "SYSCONF"
16652 msgstr ""
16653
16654 #. type: TH
16655 #: build/C/man3/sysconf.3:27
16656 #, no-wrap
16657 msgid "2013-02-12"
16658 msgstr ""
16659
16660 #. type: Plain text
16661 #: build/C/man3/sysconf.3:30
16662 msgid "sysconf - get configuration information at run time"
16663 msgstr ""
16664
16665 #. type: Plain text
16666 #: build/C/man3/sysconf.3:35
16667 #, no-wrap
16668 msgid "B<long sysconf(int >I<name>B<);>\n"
16669 msgstr ""
16670
16671 #. type: Plain text
16672 #: build/C/man3/sysconf.3:40
16673 msgid ""
16674 "POSIX allows an application to test at compile or run time whether certain "
16675 "options are supported, or what the value is of certain configurable "
16676 "constants or limits."
16677 msgstr ""
16678
16679 #. type: Plain text
16680 #: build/C/man3/sysconf.3:46
16681 msgid ""
16682 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
16683 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
16684 msgstr ""
16685
16686 #. type: Plain text
16687 #: build/C/man3/sysconf.3:56
16688 msgid ""
16689 "At run time, one can ask for numerical values using the present function "
16690 "B<sysconf>().  One can ask for numerical values that may depend on the "
16691 "filesystem a file is in using the calls B<fpathconf>(3)  and "
16692 "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
16693 msgstr ""
16694
16695 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
16696 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
16697 #. type: Plain text
16698 #: build/C/man3/sysconf.3:61
16699 msgid ""
16700 "The values obtained from these functions are system configuration "
16701 "constants.  They do not change during the lifetime of a process."
16702 msgstr ""
16703
16704 #.  and 999 to indicate support for options no longer present in the latest
16705 #.  standard. (?)
16706 #. type: Plain text
16707 #: build/C/man3/sysconf.3:84
16708 msgid ""
16709 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
16710 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
16711 "time.  If it is defined to -1, then the option is not supported.  If it is "
16712 "defined to 0, then relevant functions and headers exist, but one has to ask "
16713 "at run time what degree of support is available.  If it is defined to a "
16714 "value other than -1 or 0, then the option is supported.  Usually the value "
16715 "(such as 200112L) indicates the year and month of the POSIX revision "
16716 "describing the option.  Glibc uses the value 1 to indicate support as long "
16717 "as the POSIX revision has not been published yet.  The B<sysconf>()  "
16718 "argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
16719 msgstr ""
16720
16721 #. type: Plain text
16722 #: build/C/man3/sysconf.3:104
16723 msgid ""
16724 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
16725 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
16726 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
16727 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
16728 "greater value might actually be supported.  If an application wants to take "
16729 "advantage of values which may change between systems, a call to B<sysconf>()  "
16730 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
16731 msgstr ""
16732
16733 #. type: SS
16734 #: build/C/man3/sysconf.3:104
16735 #, no-wrap
16736 msgid "POSIX.1 variables"
16737 msgstr ""
16738
16739 #. type: Plain text
16740 #: build/C/man3/sysconf.3:109
16741 msgid ""
16742 "We give the name of the variable, the name of the B<sysconf>()  argument "
16743 "used to inquire about its value, and a short description."
16744 msgstr ""
16745
16746 #.  [for the moment: only the things that are unconditionally present]
16747 #.  .TP
16748 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
16749 #.  (if _POSIX_ASYNCHRONOUS_IO)
16750 #.  Maximum number of I/O operations in a single list I/O call.
16751 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
16752 #.  .TP
16753 #.  .BR AIO_MAX " - " _SC_AIO_MAX
16754 #.  (if _POSIX_ASYNCHRONOUS_IO)
16755 #.  Maximum number of outstanding asynchronous I/O operations.
16756 #.  Must not be less than _POSIX_AIO_MAX.
16757 #.  .TP
16758 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
16759 #.  (if _POSIX_ASYNCHRONOUS_IO)
16760 #.  The maximum amount by which a process can decrease its
16761 #.  asynchronous I/O priority level from its own scheduling priority.
16762 #.  Must be nonnegative.
16763 #. type: Plain text
16764 #: build/C/man3/sysconf.3:128
16765 msgid "First, the POSIX.1 compatible values."
16766 msgstr ""
16767
16768 #. type: TP
16769 #: build/C/man3/sysconf.3:128
16770 #, no-wrap
16771 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
16772 msgstr ""
16773
16774 #. type: Plain text
16775 #: build/C/man3/sysconf.3:136
16776 msgid ""
16777 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
16778 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
16779 msgstr ""
16780
16781 #. type: TP
16782 #: build/C/man3/sysconf.3:136
16783 #, no-wrap
16784 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16785 msgstr ""
16786
16787 #. type: Plain text
16788 #: build/C/man3/sysconf.3:142
16789 msgid ""
16790 "The maximum number of simultaneous processes per user ID.  Must not be less "
16791 "than B<_POSIX_CHILD_MAX> (25)."
16792 msgstr ""
16793
16794 #. type: TP
16795 #: build/C/man3/sysconf.3:142
16796 #, no-wrap
16797 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16798 msgstr ""
16799
16800 #. type: Plain text
16801 #: build/C/man3/sysconf.3:150
16802 msgid ""
16803 "Maximum length of a hostname, not including the terminating null byte, as "
16804 "returned by B<gethostname>(2).  Must not be less than "
16805 "B<_POSIX_HOST_NAME_MAX> (255)."
16806 msgstr ""
16807
16808 #. type: TP
16809 #: build/C/man3/sysconf.3:150
16810 #, no-wrap
16811 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16812 msgstr ""
16813
16814 #. type: Plain text
16815 #: build/C/man3/sysconf.3:156
16816 msgid ""
16817 "Maximum length of a login name, including the terminating null byte.  Must "
16818 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
16819 msgstr ""
16820
16821 #. type: TP
16822 #: build/C/man3/sysconf.3:156
16823 #, no-wrap
16824 msgid "clock ticks - B<_SC_CLK_TCK>"
16825 msgstr ""
16826
16827 #. type: Plain text
16828 #: build/C/man3/sysconf.3:165
16829 msgid ""
16830 "The number of clock ticks per second.  The corresponding variable is "
16831 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
16832 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
16833 msgstr ""
16834
16835 #. type: TP
16836 #: build/C/man3/sysconf.3:165
16837 #, no-wrap
16838 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16839 msgstr ""
16840
16841 #. type: Plain text
16842 #: build/C/man3/sysconf.3:171
16843 msgid ""
16844 "The maximum number of files that a process can have open at any time.  Must "
16845 "not be less than B<_POSIX_OPEN_MAX> (20)."
16846 msgstr ""
16847
16848 #. type: TP
16849 #: build/C/man3/sysconf.3:171
16850 #, no-wrap
16851 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
16852 msgstr ""
16853
16854 #. type: Plain text
16855 #: build/C/man3/sysconf.3:176
16856 msgid ""
16857 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
16858 "PAGE_SIZE instead.)"
16859 msgstr ""
16860
16861 #. type: TP
16862 #: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
16863 #, no-wrap
16864 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16865 msgstr ""
16866
16867 #. type: Plain text
16868 #: build/C/man3/sysconf.3:185
16869 msgid ""
16870 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
16871 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
16872 msgstr ""
16873
16874 #. type: TP
16875 #: build/C/man3/sysconf.3:185
16876 #, no-wrap
16877 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16878 msgstr ""
16879
16880 #. type: Plain text
16881 #: build/C/man3/sysconf.3:194
16882 msgid ""
16883 "The maximum number of streams that a process can have open at any time.  If "
16884 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
16885 "not be less than B<_POSIX_STREAM_MAX> (8)."
16886 msgstr ""
16887
16888 #. type: TP
16889 #: build/C/man3/sysconf.3:194
16890 #, no-wrap
16891 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16892 msgstr ""
16893
16894 #. type: Plain text
16895 #: build/C/man3/sysconf.3:202
16896 msgid ""
16897 "The maximum number of symbolic links seen in a pathname before resolution "
16898 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
16899 msgstr ""
16900
16901 #. type: TP
16902 #: build/C/man3/sysconf.3:202
16903 #, no-wrap
16904 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16905 msgstr ""
16906
16907 #. type: Plain text
16908 #: build/C/man3/sysconf.3:209
16909 msgid ""
16910 "The maximum length of terminal device name, including the terminating null "
16911 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
16912 msgstr ""
16913
16914 #. type: TP
16915 #: build/C/man3/sysconf.3:209
16916 #, no-wrap
16917 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16918 msgstr ""
16919
16920 #. type: Plain text
16921 #: build/C/man3/sysconf.3:215
16922 msgid ""
16923 "The maximum number of bytes in a timezone name.  Must not be less than "
16924 "B<_POSIX_TZNAME_MAX> (6)."
16925 msgstr ""
16926
16927 #. type: TP
16928 #: build/C/man3/sysconf.3:215
16929 #, no-wrap
16930 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
16931 msgstr ""
16932
16933 #. type: Plain text
16934 #: build/C/man3/sysconf.3:223
16935 msgid ""
16936 "indicates the year and month the POSIX.1 standard was approved in the format "
16937 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
16938 msgstr ""
16939
16940 #. type: SS
16941 #: build/C/man3/sysconf.3:223
16942 #, no-wrap
16943 msgid "POSIX.2 variables"
16944 msgstr ""
16945
16946 #. type: Plain text
16947 #: build/C/man3/sysconf.3:225
16948 msgid "Next, the POSIX.2 values, giving limits for utilities."
16949 msgstr ""
16950
16951 #. type: TP
16952 #: build/C/man3/sysconf.3:225
16953 #, no-wrap
16954 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16955 msgstr ""
16956
16957 #. type: Plain text
16958 #: build/C/man3/sysconf.3:232
16959 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
16960 msgstr ""
16961
16962 #. type: TP
16963 #: build/C/man3/sysconf.3:232
16964 #, no-wrap
16965 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16966 msgstr ""
16967
16968 #. type: Plain text
16969 #: build/C/man3/sysconf.3:236
16970 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
16971 msgstr ""
16972
16973 #. type: TP
16974 #: build/C/man3/sysconf.3:236
16975 #, no-wrap
16976 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16977 msgstr ""
16978
16979 #. type: Plain text
16980 #: build/C/man3/sysconf.3:242
16981 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
16982 msgstr ""
16983
16984 #. type: TP
16985 #: build/C/man3/sysconf.3:242
16986 #, no-wrap
16987 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16988 msgstr ""
16989
16990 #. type: Plain text
16991 #: build/C/man3/sysconf.3:246
16992 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
16993 msgstr ""
16994
16995 #. type: TP
16996 #: build/C/man3/sysconf.3:246
16997 #, no-wrap
16998 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16999 msgstr ""
17000
17001 #. type: Plain text
17002 #: build/C/man3/sysconf.3:252
17003 msgid ""
17004 "indicates the maximum numbers of weights that can be assigned to an entry of "
17005 "the B<LC_COLLATE order> keyword in the locale definition file,"
17006 msgstr ""
17007
17008 #. type: TP
17009 #: build/C/man3/sysconf.3:252
17010 #, no-wrap
17011 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
17012 msgstr ""
17013
17014 #. type: Plain text
17015 #: build/C/man3/sysconf.3:257
17016 msgid ""
17017 "is the maximum number of expressions which can be nested within parentheses "
17018 "by B<expr>(1)."
17019 msgstr ""
17020
17021 #. type: TP
17022 #: build/C/man3/sysconf.3:257
17023 #, no-wrap
17024 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
17025 msgstr ""
17026
17027 #. type: Plain text
17028 #: build/C/man3/sysconf.3:263
17029 msgid ""
17030 "The maximum length of a utility's input line, either from standard input or "
17031 "from a file.  This includes space for a trailing newline."
17032 msgstr ""
17033
17034 #. type: Plain text
17035 #: build/C/man3/sysconf.3:269
17036 msgid ""
17037 "The maximum number of repeated occurrences of a regular expression when the "
17038 "interval notation B<\\e{m,n\\e}> is used."
17039 msgstr ""
17040
17041 #. type: TP
17042 #: build/C/man3/sysconf.3:269
17043 #, no-wrap
17044 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
17045 msgstr ""
17046
17047 #. type: Plain text
17048 #: build/C/man3/sysconf.3:273
17049 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
17050 msgstr ""
17051
17052 #. type: TP
17053 #: build/C/man3/sysconf.3:273
17054 #, no-wrap
17055 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
17056 msgstr ""
17057
17058 #. type: Plain text
17059 #: build/C/man3/sysconf.3:277
17060 msgid ""
17061 "indicates whether the POSIX.2 C language development facilities are "
17062 "supported."
17063 msgstr ""
17064
17065 #. type: TP
17066 #: build/C/man3/sysconf.3:277
17067 #, no-wrap
17068 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
17069 msgstr ""
17070
17071 #. type: Plain text
17072 #: build/C/man3/sysconf.3:281
17073 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
17074 msgstr ""
17075
17076 #. type: TP
17077 #: build/C/man3/sysconf.3:281
17078 #, no-wrap
17079 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
17080 msgstr ""
17081
17082 #. type: Plain text
17083 #: build/C/man3/sysconf.3:284
17084 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
17085 msgstr ""
17086
17087 #. type: TP
17088 #: build/C/man3/sysconf.3:284
17089 #, no-wrap
17090 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
17091 msgstr ""
17092
17093 #. type: Plain text
17094 #: build/C/man3/sysconf.3:289
17095 msgid ""
17096 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
17097 "supported."
17098 msgstr ""
17099
17100 #. type: TP
17101 #: build/C/man3/sysconf.3:289
17102 #, no-wrap
17103 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
17104 msgstr ""
17105
17106 #. type: Plain text
17107 #: build/C/man3/sysconf.3:293
17108 msgid ""
17109 "indicates whether the POSIX.2 software development utilities option is "
17110 "supported."
17111 msgstr ""
17112
17113 #. type: Plain text
17114 #: build/C/man3/sysconf.3:295
17115 msgid "These values also exist, but may not be standard."
17116 msgstr ""
17117
17118 #. type: TP
17119 #: build/C/man3/sysconf.3:295
17120 #, no-wrap
17121 msgid " - B<_SC_PHYS_PAGES>"
17122 msgstr ""
17123
17124 #. type: Plain text
17125 #: build/C/man3/sysconf.3:302
17126 msgid ""
17127 "The number of pages of physical memory.  Note that it is possible for the "
17128 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
17129 msgstr ""
17130
17131 #. type: TP
17132 #: build/C/man3/sysconf.3:302
17133 #, no-wrap
17134 msgid " - B<_SC_AVPHYS_PAGES>"
17135 msgstr ""
17136
17137 #. type: Plain text
17138 #: build/C/man3/sysconf.3:305
17139 msgid "The number of currently available pages of physical memory."
17140 msgstr ""
17141
17142 #. type: TP
17143 #: build/C/man3/sysconf.3:305
17144 #, no-wrap
17145 msgid " - B<_SC_NPROCESSORS_CONF>"
17146 msgstr ""
17147
17148 #. type: Plain text
17149 #: build/C/man3/sysconf.3:308
17150 msgid "The number of processors configured."
17151 msgstr ""
17152
17153 #. type: TP
17154 #: build/C/man3/sysconf.3:308
17155 #, no-wrap
17156 msgid " - B<_SC_NPROCESSORS_ONLN>"
17157 msgstr ""
17158
17159 #. type: Plain text
17160 #: build/C/man3/sysconf.3:311
17161 msgid "The number of processors currently online (available)."
17162 msgstr ""
17163
17164 #. type: Plain text
17165 #: build/C/man3/sysconf.3:324
17166 msgid ""
17167 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
17168 "Otherwise, the value returned is the value of the system resource and "
17169 "I<errno> is not changed.  In the case of options, a positive value is "
17170 "returned if a queried option is available, and -1 if it is not.  In the case "
17171 "of limits, -1 means that there is no definite limit."
17172 msgstr ""
17173
17174 #. type: Plain text
17175 #: build/C/man3/sysconf.3:332
17176 msgid ""
17177 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
17178 "the argument space for B<exec>(3)  is consumed by the user's environment "
17179 "variables."
17180 msgstr ""
17181
17182 #. type: Plain text
17183 #: build/C/man3/sysconf.3:343
17184 msgid ""
17185 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
17186 "B<pathconf>(3), B<posixoptions>(7)"
17187 msgstr ""
17188
17189 #. type: TH
17190 #: build/C/man2/sysctl.2:30
17191 #, no-wrap
17192 msgid "SYSCTL"
17193 msgstr ""
17194
17195 #. type: TH
17196 #: build/C/man2/sysctl.2:30
17197 #, no-wrap
17198 msgid "2012-12-22"
17199 msgstr ""
17200
17201 #. type: Plain text
17202 #: build/C/man2/sysctl.2:33
17203 msgid "sysctl - read/write system parameters"
17204 msgstr ""
17205
17206 #. type: Plain text
17207 #: build/C/man2/sysctl.2:38
17208 #, no-wrap
17209 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
17210 msgstr ""
17211
17212 #. type: Plain text
17213 #: build/C/man2/sysctl.2:40
17214 #, no-wrap
17215 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
17216 msgstr ""
17217
17218 #. type: Plain text
17219 #: build/C/man2/sysctl.2:47
17220 msgid "B<Do not use this system call!> See NOTES."
17221 msgstr ""
17222
17223 #. type: Plain text
17224 #: build/C/man2/sysctl.2:54
17225 msgid ""
17226 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
17227 "the hostname, or the maximum number of open files.  The argument has the "
17228 "form"
17229 msgstr ""
17230
17231 #. type: Plain text
17232 #: build/C/man2/sysctl.2:66
17233 #, no-wrap
17234 msgid ""
17235 "struct __sysctl_args {\n"
17236 "    int    *name;    /* integer vector describing variable */\n"
17237 "    int     nlen;    /* length of this vector */\n"
17238 "    void   *oldval;  /* 0 or address where to store old value */\n"
17239 "    size_t *oldlenp; /* available room for old value,\n"
17240 "                        overwritten by actual size of old value */\n"
17241 "    void   *newval;  /* 0 or address of new value */\n"
17242 "    size_t  newlen;  /* size of new value */\n"
17243 "};\n"
17244 msgstr ""
17245
17246 #. type: Plain text
17247 #: build/C/man2/sysctl.2:74
17248 msgid ""
17249 "This call does a search in a tree structure, possibly resembling a directory "
17250 "tree under I</proc/sys>, and if the requested item is found calls some "
17251 "appropriate routine to read or modify the value."
17252 msgstr ""
17253
17254 #. type: Plain text
17255 #: build/C/man2/sysctl.2:81
17256 msgid ""
17257 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
17258 "-1 is returned and I<errno> is set to indicate the error."
17259 msgstr ""
17260
17261 #. type: Plain text
17262 #: build/C/man2/sysctl.2:88
17263 msgid ""
17264 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
17265 "but allowed zero room in I<oldlenp>."
17266 msgstr ""
17267
17268 #. type: Plain text
17269 #: build/C/man2/sysctl.2:92
17270 msgid "I<name> was not found."
17271 msgstr ""
17272
17273 #. type: TP
17274 #: build/C/man2/sysctl.2:92
17275 #, no-wrap
17276 msgid "B<EACCES>, B<EPERM>"
17277 msgstr ""
17278
17279 #. type: Plain text
17280 #: build/C/man2/sysctl.2:100
17281 msgid ""
17282 "No search permission for one of the encountered \"directories\", or no read "
17283 "permission where I<oldval> was nonzero, or no write permission where "
17284 "I<newval> was nonzero."
17285 msgstr ""
17286
17287 #. type: Plain text
17288 #: build/C/man2/sysctl.2:114
17289 msgid ""
17290 "This call is Linux-specific, and should not be used in programs intended to "
17291 "be portable.  A B<sysctl>()  call has been present in Linux since version "
17292 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
17293 "and the object naming schemes differ between Linux and 4.4BSD, but the "
17294 "declaration of the B<sysctl>()  function is the same in both."
17295 msgstr ""
17296
17297 #.  See http://lwn.net/Articles/247243/
17298 #.  Though comments in suggest that it is needed by old glibc binaries,
17299 #.  so maybe it's not going away.
17300 #. type: Plain text
17301 #: build/C/man2/sysctl.2:131
17302 msgid ""
17303 "Glibc does not provide a wrapper for this system call; call it using "
17304 "B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has "
17305 "long been discouraged, and it is so unloved that B<it is likely to disappear "
17306 "in a future kernel version>.  Since Linux 2.6.24, uses of this system call "
17307 "result in warnings in the kernel log.  Remove it from your programs now; use "
17308 "the I</proc/sys> interface instead."
17309 msgstr ""
17310
17311 #. type: Plain text
17312 #: build/C/man2/sysctl.2:135
17313 msgid ""
17314 "This system call is available only if the kernel was configured with the "
17315 "B<CONFIG_SYSCTL_SYSCALL> option."
17316 msgstr ""
17317
17318 #. type: Plain text
17319 #: build/C/man2/sysctl.2:138
17320 msgid ""
17321 "The object names vary between kernel versions, making this system call "
17322 "worthless for applications."
17323 msgstr ""
17324
17325 #. type: Plain text
17326 #: build/C/man2/sysctl.2:140
17327 msgid "Not all available objects are properly documented."
17328 msgstr ""
17329
17330 #. type: Plain text
17331 #: build/C/man2/sysctl.2:143
17332 msgid ""
17333 "It is not yet possible to change operating system by writing to "
17334 "I</proc/sys/kernel/ostype>."
17335 msgstr ""
17336
17337 #. type: Plain text
17338 #: build/C/man2/sysctl.2:152
17339 #, no-wrap
17340 msgid ""
17341 "#define _GNU_SOURCE\n"
17342 "#include E<lt>unistd.hE<gt>\n"
17343 "#include E<lt>sys/syscall.hE<gt>\n"
17344 "#include E<lt>string.hE<gt>\n"
17345 "#include E<lt>stdio.hE<gt>\n"
17346 "#include E<lt>stdlib.hE<gt>\n"
17347 "#include E<lt>linux/sysctl.hE<gt>\n"
17348 msgstr ""
17349
17350 #. type: Plain text
17351 #: build/C/man2/sysctl.2:154
17352 #, no-wrap
17353 msgid "int _sysctl(struct __sysctl_args *args );\n"
17354 msgstr ""
17355
17356 #. type: Plain text
17357 #: build/C/man2/sysctl.2:156
17358 #, no-wrap
17359 msgid "#define OSNAMESZ 100\n"
17360 msgstr ""
17361
17362 #. type: Plain text
17363 #: build/C/man2/sysctl.2:164
17364 #, no-wrap
17365 msgid ""
17366 "int\n"
17367 "main(void)\n"
17368 "{\n"
17369 "    struct __sysctl_args args;\n"
17370 "    char osname[OSNAMESZ];\n"
17371 "    size_t osnamelth;\n"
17372 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
17373 msgstr ""
17374
17375 #. type: Plain text
17376 #: build/C/man2/sysctl.2:170
17377 #, no-wrap
17378 msgid ""
17379 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
17380 "    args.name = name;\n"
17381 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
17382 "    args.oldval = osname;\n"
17383 "    args.oldlenp = &osnamelth;\n"
17384 msgstr ""
17385
17386 #. type: Plain text
17387 #: build/C/man2/sysctl.2:172
17388 #, no-wrap
17389 msgid "    osnamelth = sizeof(osname);\n"
17390 msgstr ""
17391
17392 #. type: Plain text
17393 #: build/C/man2/sysctl.2:180
17394 #, no-wrap
17395 msgid ""
17396 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
17397 "        perror(\"_sysctl\");\n"
17398 "        exit(EXIT_FAILURE);\n"
17399 "    }\n"
17400 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
17401 "    exit(EXIT_SUCCESS);\n"
17402 "}\n"
17403 msgstr ""
17404
17405 #. type: Plain text
17406 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
17407 msgid "B<proc>(5)"
17408 msgstr ""
17409
17410 #. type: TH
17411 #: build/C/man2/sysinfo.2:14
17412 #, no-wrap
17413 msgid "SYSINFO"
17414 msgstr ""
17415
17416 #. type: TH
17417 #: build/C/man2/sysinfo.2:14
17418 #, no-wrap
17419 msgid "2012-05-05"
17420 msgstr ""
17421
17422 #. type: Plain text
17423 #: build/C/man2/sysinfo.2:17
17424 msgid "sysinfo - returns information on overall system statistics"
17425 msgstr ""
17426
17427 #. type: Plain text
17428 #: build/C/man2/sysinfo.2:21
17429 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
17430 msgstr ""
17431
17432 #. type: Plain text
17433 #: build/C/man2/sysinfo.2:25
17434 msgid ""
17435 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
17436 "following structure:"
17437 msgstr ""
17438
17439 #. type: Plain text
17440 #: build/C/man2/sysinfo.2:40
17441 #, no-wrap
17442 msgid ""
17443 "struct sysinfo {\n"
17444 "    long uptime;             /* Seconds since boot */\n"
17445 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17446 "    unsigned long totalram;  /* Total usable main memory size */\n"
17447 "    unsigned long freeram;   /* Available memory size */\n"
17448 "    unsigned long sharedram; /* Amount of shared memory */\n"
17449 "    unsigned long bufferram; /* Memory used by buffers */\n"
17450 "    unsigned long totalswap; /* Total swap space size */\n"
17451 "    unsigned long freeswap;  /* swap space still available */\n"
17452 "    unsigned short procs;    /* Number of current processes */\n"
17453 "    char _f[22];             /* Pads structure to 64 bytes */\n"
17454 "};\n"
17455 msgstr ""
17456
17457 #. type: Plain text
17458 #: build/C/man2/sysinfo.2:44
17459 msgid "and the sizes were given in bytes."
17460 msgstr ""
17461
17462 #. type: Plain text
17463 #: build/C/man2/sysinfo.2:47
17464 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
17465 msgstr ""
17466
17467 #. type: Plain text
17468 #: build/C/man2/sysinfo.2:65
17469 #, no-wrap
17470 msgid ""
17471 "struct sysinfo {\n"
17472 "    long uptime;             /* Seconds since boot */\n"
17473 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17474 "    unsigned long totalram;  /* Total usable main memory size */\n"
17475 "    unsigned long freeram;   /* Available memory size */\n"
17476 "    unsigned long sharedram; /* Amount of shared memory */\n"
17477 "    unsigned long bufferram; /* Memory used by buffers */\n"
17478 "    unsigned long totalswap; /* Total swap space size */\n"
17479 "    unsigned long freeswap;  /* swap space still available */\n"
17480 "    unsigned short procs;    /* Number of current processes */\n"
17481 "    unsigned long totalhigh; /* Total high memory size */\n"
17482 "    unsigned long freehigh;  /* Available high memory size */\n"
17483 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
17484 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
17485 "};\n"
17486 msgstr ""
17487
17488 #. type: Plain text
17489 #: build/C/man2/sysinfo.2:69
17490 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
17491 msgstr ""
17492
17493 #. type: Plain text
17494 #: build/C/man2/sysinfo.2:74
17495 msgid ""
17496 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
17497 "This is more portable than reading I</dev/kmem>."
17498 msgstr ""
17499
17500 #. type: Plain text
17501 #: build/C/man2/sysinfo.2:83
17502 msgid "pointer to I<struct\\ sysinfo> is invalid"
17503 msgstr ""
17504
17505 #. type: Plain text
17506 #: build/C/man2/sysinfo.2:94
17507 msgid ""
17508 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
17509 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
17510 msgstr ""
17511
17512 #. type: TH
17513 #: build/C/man3/tcgetpgrp.3:25
17514 #, no-wrap
17515 msgid "TCGETPGRP"
17516 msgstr ""
17517
17518 #. type: TH
17519 #: build/C/man3/tcgetpgrp.3:25
17520 #, no-wrap
17521 msgid "2003-01-28"
17522 msgstr ""
17523
17524 #. type: Plain text
17525 #: build/C/man3/tcgetpgrp.3:28
17526 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
17527 msgstr ""
17528
17529 #. type: Plain text
17530 #: build/C/man3/tcgetpgrp.3:32
17531 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
17532 msgstr ""
17533
17534 #. type: Plain text
17535 #: build/C/man3/tcgetpgrp.3:34
17536 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
17537 msgstr ""
17538
17539 #.  The process itself may be a background process.
17540 #. type: Plain text
17541 #: build/C/man3/tcgetpgrp.3:42
17542 msgid ""
17543 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
17544 "process group on the terminal associated to I<fd>, which must be the "
17545 "controlling terminal of the calling process."
17546 msgstr ""
17547
17548 #. type: Plain text
17549 #: build/C/man3/tcgetpgrp.3:55
17550 msgid ""
17551 "The function B<tcsetpgrp>()  makes the process group with process group ID "
17552 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
17553 "which must be the controlling terminal of the calling process, and still be "
17554 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
17555 "group belonging to the same session as the calling process."
17556 msgstr ""
17557
17558 #. type: Plain text
17559 #: build/C/man3/tcgetpgrp.3:64
17560 msgid ""
17561 "If B<tcsetpgrp>()  is called by a member of a background process group in "
17562 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
17563 "a B<SIGTTOU> signal is sent to all members of this background process group."
17564 msgstr ""
17565
17566 #. type: Plain text
17567 #: build/C/man3/tcgetpgrp.3:79
17568 msgid ""
17569 "When I<fd> refers to the controlling terminal of the calling process, the "
17570 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
17571 "terminal if there is one, and some value larger than 1 that is not presently "
17572 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
17573 "terminal of the calling process, -1 is returned, and I<errno> is set "
17574 "appropriately."
17575 msgstr ""
17576
17577 #. type: Plain text
17578 #: build/C/man3/tcgetpgrp.3:86
17579 msgid ""
17580 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
17581 "I<errno> is set appropriately."
17582 msgstr ""
17583
17584 #. type: Plain text
17585 #: build/C/man3/tcgetpgrp.3:95
17586 msgid "I<pgrp> has an unsupported value."
17587 msgstr ""
17588
17589 #. type: Plain text
17590 #: build/C/man3/tcgetpgrp.3:104
17591 msgid ""
17592 "The calling process does not have a controlling terminal, or it has one but "
17593 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
17594 "terminal is no longer associated with the session of the calling process."
17595 msgstr ""
17596
17597 #. type: Plain text
17598 #: build/C/man3/tcgetpgrp.3:109
17599 msgid ""
17600 "I<pgrp> has a supported value, but is not the process group ID of a process "
17601 "in the same session as the calling process."
17602 msgstr ""
17603
17604 #. type: Plain text
17605 #: build/C/man3/tcgetpgrp.3:117
17606 msgid ""
17607 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
17608 "ioctls."
17609 msgstr ""
17610
17611 #. type: SS
17612 #: build/C/man3/tcgetpgrp.3:117 build/C/man2/vfork.2:234
17613 #, no-wrap
17614 msgid "History"
17615 msgstr ""
17616
17617 #. type: Plain text
17618 #: build/C/man3/tcgetpgrp.3:120
17619 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
17620 msgstr ""
17621
17622 #. type: Plain text
17623 #: build/C/man3/tcgetpgrp.3:124
17624 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
17625 msgstr ""
17626
17627 #. type: TH
17628 #: build/C/man2/truncate.2:43
17629 #, no-wrap
17630 msgid "TRUNCATE"
17631 msgstr ""
17632
17633 #. type: TH
17634 #: build/C/man2/truncate.2:43
17635 #, no-wrap
17636 msgid "2013-04-01"
17637 msgstr ""
17638
17639 #. type: Plain text
17640 #: build/C/man2/truncate.2:46
17641 msgid "truncate, ftruncate - truncate a file to a specified length"
17642 msgstr ""
17643
17644 #. type: Plain text
17645 #: build/C/man2/truncate.2:52
17646 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
17647 msgstr ""
17648
17649 #. type: Plain text
17650 #: build/C/man2/truncate.2:54
17651 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
17652 msgstr ""
17653
17654 #. type: Plain text
17655 #: build/C/man2/truncate.2:63
17656 msgid "B<truncate>():"
17657 msgstr ""
17658
17659 #. type: Plain text
17660 #: build/C/man2/truncate.2:71
17661 msgid "B<ftruncate>():"
17662 msgstr ""
17663
17664 #. type: Plain text
17665 #: build/C/man2/truncate.2:76
17666 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
17667 msgstr ""
17668
17669 #. type: Plain text
17670 #: build/C/man2/truncate.2:91
17671 msgid ""
17672 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
17673 "named by I<path> or referenced by I<fd> to be truncated to a size of "
17674 "precisely I<length> bytes."
17675 msgstr ""
17676
17677 #. type: Plain text
17678 #: build/C/man2/truncate.2:95
17679 msgid ""
17680 "If the file previously was larger than this size, the extra data is lost.  "
17681 "If the file previously was shorter, it is extended, and the extended part "
17682 "reads as null bytes (\\(aq\\e0\\(aq)."
17683 msgstr ""
17684
17685 #. type: Plain text
17686 #: build/C/man2/truncate.2:97
17687 msgid "The file offset is not changed."
17688 msgstr ""
17689
17690 #. type: Plain text
17691 #: build/C/man2/truncate.2:104
17692 msgid ""
17693 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
17694 "time of last status change and time of last modification; see B<stat>(2))  "
17695 "for the file are updated, and the set-user-ID and set-group-ID permission "
17696 "bits may be cleared."
17697 msgstr ""
17698
17699 #. type: Plain text
17700 #: build/C/man2/truncate.2:110
17701 msgid ""
17702 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
17703 "the file must be writable."
17704 msgstr ""
17705
17706 #. type: Plain text
17707 #: build/C/man2/truncate.2:118
17708 msgid "For B<truncate>():"
17709 msgstr ""
17710
17711 #. type: Plain text
17712 #: build/C/man2/truncate.2:124
17713 msgid ""
17714 "Search permission is denied for a component of the path prefix, or the named "
17715 "file is not writable by the user.  (See also B<path_resolution>(7).)"
17716 msgstr ""
17717
17718 #. type: Plain text
17719 #: build/C/man2/truncate.2:128
17720 msgid "I<Path> points outside the process's allocated address space."
17721 msgstr ""
17722
17723 #. type: TP
17724 #: build/C/man2/truncate.2:128
17725 #, no-wrap
17726 msgid "B<EFBIG>"
17727 msgstr ""
17728
17729 #. type: Plain text
17730 #: build/C/man2/truncate.2:133
17731 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
17732 msgstr ""
17733
17734 #. type: Plain text
17735 #: build/C/man2/truncate.2:140
17736 msgid ""
17737 "While blocked waiting to complete, the call was interrupted by a signal "
17738 "handler; see B<fcntl>(2)  and B<signal>(7)."
17739 msgstr ""
17740
17741 #. type: Plain text
17742 #: build/C/man2/truncate.2:145
17743 msgid "The argument I<length> is negative or larger than the maximum file size."
17744 msgstr ""
17745
17746 #. type: Plain text
17747 #: build/C/man2/truncate.2:148
17748 msgid "An I/O error occurred updating the inode."
17749 msgstr ""
17750
17751 #. type: Plain text
17752 #: build/C/man2/truncate.2:151
17753 msgid "The named file is a directory."
17754 msgstr ""
17755
17756 #. type: Plain text
17757 #: build/C/man2/truncate.2:154
17758 msgid "Too many symbolic links were encountered in translating the pathname."
17759 msgstr ""
17760
17761 #. type: Plain text
17762 #: build/C/man2/truncate.2:158
17763 msgid ""
17764 "A component of a pathname exceeded 255 characters, or an entire pathname "
17765 "exceeded 1023 characters."
17766 msgstr ""
17767
17768 #. type: Plain text
17769 #: build/C/man2/truncate.2:161
17770 msgid "The named file does not exist."
17771 msgstr ""
17772
17773 #.  This happens for at least MSDOS and VFAT filesystems
17774 #.  on kernel 2.6.13
17775 #. type: Plain text
17776 #: build/C/man2/truncate.2:170
17777 msgid ""
17778 "The underlying filesystem does not support extending a file beyond its "
17779 "current size."
17780 msgstr ""
17781
17782 #. type: Plain text
17783 #: build/C/man2/truncate.2:176
17784 msgid "The file is a pure procedure (shared text) file that is being executed."
17785 msgstr ""
17786
17787 #. type: Plain text
17788 #: build/C/man2/truncate.2:183
17789 msgid ""
17790 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
17791 "wrong with I<path>, we now have things that can be wrong with the file "
17792 "descriptor, I<fd>:"
17793 msgstr ""
17794
17795 #. type: Plain text
17796 #: build/C/man2/truncate.2:187
17797 msgid "I<fd> is not a valid descriptor."
17798 msgstr ""
17799
17800 #. type: TP
17801 #: build/C/man2/truncate.2:187
17802 #, no-wrap
17803 msgid "B<EBADF> or B<EINVAL>"
17804 msgstr ""
17805
17806 #. type: Plain text
17807 #: build/C/man2/truncate.2:191
17808 msgid "I<fd> is not open for writing."
17809 msgstr ""
17810
17811 #. type: Plain text
17812 #: build/C/man2/truncate.2:195
17813 msgid "I<fd> does not reference a regular file."
17814 msgstr ""
17815
17816 #.  POSIX.1-1996 has
17817 #.  .BR ftruncate ().
17818 #.  POSIX.1-2001 also has
17819 #.  .BR truncate (),
17820 #.  as an XSI extension.
17821 #.  .LP
17822 #.  SVr4 documents additional
17823 #.  .BR truncate ()
17824 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
17825 #.  .BR ftruncate ()
17826 #.  an additional EAGAIN error condition.
17827 #. type: Plain text
17828 #: build/C/man2/truncate.2:208
17829 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
17830 msgstr ""
17831
17832 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
17833 #. type: Plain text
17834 #: build/C/man2/truncate.2:229
17835 msgid ""
17836 "The details in DESCRIPTION are for XSI-compliant systems.  For "
17837 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
17838 "B<ftruncate>()  when I<length> exceeds the file length (note that "
17839 "B<truncate>()  is not specified at all in such an environment): either "
17840 "returning an error, or extending the file.  Like most UNIX implementations, "
17841 "Linux follows the XSI requirement when dealing with native filesystems.  "
17842 "However, some nonnative filesystems do not permit B<truncate>()  and "
17843 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
17844 "notable example on Linux is VFAT."
17845 msgstr ""
17846
17847 #. type: Plain text
17848 #: build/C/man2/truncate.2:243
17849 msgid ""
17850 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
17851 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
17852 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
17853 "files.  However, these details can be ignored by applications using glibc, "
17854 "whose wrapper functions transparently employ the more recent system calls "
17855 "where they are available."
17856 msgstr ""
17857
17858 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
17859 #. type: Plain text
17860 #: build/C/man2/truncate.2:256
17861 msgid ""
17862 "A header file bug in glibc 2.12 meant that the minimum value of "
17863 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
17864 "200809L instead of 200112L.  This has been fixed in later glibc versions."
17865 msgstr ""
17866
17867 #. type: Plain text
17868 #: build/C/man2/truncate.2:260
17869 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17870 msgstr ""
17871
17872 #. type: TH
17873 #: build/C/man3/ualarm.3:24
17874 #, no-wrap
17875 msgid "UALARM"
17876 msgstr ""
17877
17878 #. type: Plain text
17879 #: build/C/man3/ualarm.3:27
17880 msgid "ualarm - schedule signal after given number of microseconds"
17881 msgstr ""
17882
17883 #. type: Plain text
17884 #: build/C/man3/ualarm.3:32
17885 #, no-wrap
17886 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17887 msgstr ""
17888
17889 #. type: Plain text
17890 #: build/C/man3/ualarm.3:40
17891 msgid "B<ualarm>():"
17892 msgstr ""
17893
17894 #. type: Plain text
17895 #: build/C/man3/ualarm.3:69
17896 msgid ""
17897 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
17898 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
17899 "may be lengthened slightly by any system activity or by the time spent "
17900 "processing the call or by the granularity of system timers."
17901 msgstr ""
17902
17903 #. type: Plain text
17904 #: build/C/man3/ualarm.3:73
17905 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
17906 msgstr ""
17907
17908 #. type: Plain text
17909 #: build/C/man3/ualarm.3:81
17910 msgid ""
17911 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
17912 "sent every I<interval> microseconds after the first."
17913 msgstr ""
17914
17915 #. type: Plain text
17916 #: build/C/man3/ualarm.3:84
17917 msgid ""
17918 "This function returns the number of microseconds remaining for any alarm "
17919 "that was previously set, or 0 if no alarm was pending."
17920 msgstr ""
17921
17922 #. type: Plain text
17923 #: build/C/man3/ualarm.3:88
17924 msgid "Interrupted by a signal."
17925 msgstr ""
17926
17927 #. type: Plain text
17928 #: build/C/man3/ualarm.3:92
17929 msgid ""
17930 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
17931 "is considered an error.)"
17932 msgstr ""
17933
17934 #. type: Plain text
17935 #: build/C/man3/ualarm.3:100
17936 msgid ""
17937 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
17938 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
17939 "POSIX do not define any errors."
17940 msgstr ""
17941
17942 #.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
17943 #. type: Plain text
17944 #: build/C/man3/ualarm.3:107
17945 msgid ""
17946 "POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  "
17947 "On Linux (and probably most other systems), the effect is to cancel any "
17948 "pending alarm."
17949 msgstr ""
17950
17951 #. type: Plain text
17952 #: build/C/man3/ualarm.3:120
17953 msgid ""
17954 "The type I<useconds_t> is an unsigned integer type capable of holding "
17955 "integers in the range [0,1000000].  On the original BSD implementation, and "
17956 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
17957 "typed as I<unsigned int>.  Programs will be more portable if they never "
17958 "mention I<useconds_t> explicitly."
17959 msgstr ""
17960
17961 #. type: Plain text
17962 #: build/C/man3/ualarm.3:134
17963 msgid ""
17964 "The interaction of this function with other timer functions such as "
17965 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
17966 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
17967 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
17968 msgstr ""
17969
17970 #. type: Plain text
17971 #: build/C/man3/ualarm.3:142
17972 msgid ""
17973 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
17974 "(B<timer_create>(2), etc.)  instead."
17975 msgstr ""
17976
17977 #. type: Plain text
17978 #: build/C/man3/ualarm.3:150
17979 msgid ""
17980 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17981 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
17982 msgstr ""
17983
17984 #. type: TH
17985 #: build/C/man2/umask.2:34
17986 #, no-wrap
17987 msgid "UMASK"
17988 msgstr ""
17989
17990 #. type: TH
17991 #: build/C/man2/umask.2:34
17992 #, no-wrap
17993 msgid "2008-01-09"
17994 msgstr ""
17995
17996 #. type: Plain text
17997 #: build/C/man2/umask.2:37
17998 msgid "umask - set file mode creation mask"
17999 msgstr ""
18000
18001 #. type: Plain text
18002 #: build/C/man2/umask.2:43
18003 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
18004 msgstr ""
18005
18006 #. type: Plain text
18007 #: build/C/man2/umask.2:50
18008 msgid ""
18009 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
18010 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
18011 "and returns the previous value of the mask."
18012 msgstr ""
18013
18014 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
18015 #.  but NOT the System V IPC *get() calls
18016 #. type: Plain text
18017 #: build/C/man2/umask.2:65
18018 msgid ""
18019 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
18020 "create files to modify the permissions placed on newly created files or "
18021 "directories.  Specifically, permissions in the umask are turned off from the "
18022 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
18023 msgstr ""
18024
18025 #. type: Plain text
18026 #: build/C/man2/umask.2:70
18027 msgid ""
18028 "The constants that should be used to specify I<mask> are described under "
18029 "B<stat>(2)."
18030 msgstr ""
18031
18032 #. type: Plain text
18033 #: build/C/man2/umask.2:79
18034 msgid ""
18035 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
18036 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
18037 "specified as:"
18038 msgstr ""
18039
18040 #. type: Plain text
18041 #: build/C/man2/umask.2:82
18042 #, no-wrap
18043 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
18044 msgstr ""
18045
18046 #. type: Plain text
18047 #: build/C/man2/umask.2:86
18048 msgid ""
18049 "(octal 0666) when creating a new file, the permissions on the resulting file "
18050 "will be:"
18051 msgstr ""
18052
18053 #. type: Plain text
18054 #: build/C/man2/umask.2:89
18055 #, no-wrap
18056 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
18057 msgstr ""
18058
18059 #. type: Plain text
18060 #: build/C/man2/umask.2:92
18061 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
18062 msgstr ""
18063
18064 #. type: Plain text
18065 #: build/C/man2/umask.2:95
18066 msgid ""
18067 "This system call always succeeds and the previous value of the mask is "
18068 "returned."
18069 msgstr ""
18070
18071 #. type: Plain text
18072 #: build/C/man2/umask.2:103
18073 msgid ""
18074 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
18075 "umask is left unchanged by B<execve>(2)."
18076 msgstr ""
18077
18078 #. type: Plain text
18079 #: build/C/man2/umask.2:118
18080 msgid ""
18081 "The umask setting also affects the permissions assigned to POSIX IPC objects "
18082 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
18083 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
18084 "not affect the permissions assigned to System V IPC objects created by the "
18085 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
18086 msgstr ""
18087
18088 #. type: Plain text
18089 #: build/C/man2/umask.2:124
18090 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
18091 msgstr ""
18092
18093 #. type: TH
18094 #: build/C/man2/uname.2:27
18095 #, no-wrap
18096 msgid "UNAME"
18097 msgstr ""
18098
18099 #. type: Plain text
18100 #: build/C/man2/uname.2:30
18101 msgid "uname - get name and information about current kernel"
18102 msgstr ""
18103
18104 #. type: Plain text
18105 #: build/C/man2/uname.2:32
18106 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
18107 msgstr ""
18108
18109 #. type: Plain text
18110 #: build/C/man2/uname.2:34
18111 msgid "B<int uname(struct utsname *>I<buf>B<);>"
18112 msgstr ""
18113
18114 #. type: Plain text
18115 #: build/C/man2/uname.2:42
18116 msgid ""
18117 "B<uname>()  returns system information in the structure pointed to by "
18118 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
18119 msgstr ""
18120
18121 #. type: Plain text
18122 #: build/C/man2/uname.2:56
18123 #, no-wrap
18124 msgid ""
18125 "struct utsname {\n"
18126 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
18127 "    char nodename[];   /* Name within \"some implementation-defined\n"
18128 "                          network\" */\n"
18129 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
18130 "    char version[];    /* Operating system version */\n"
18131 "    char machine[];    /* Hardware identifier */\n"
18132 "#ifdef _GNU_SOURCE\n"
18133 "    char domainname[]; /* NIS or YP domain name */\n"
18134 "#endif\n"
18135 "};\n"
18136 msgstr ""
18137
18138 #. type: Plain text
18139 #: build/C/man2/uname.2:63
18140 msgid ""
18141 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
18142 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
18143 msgstr ""
18144
18145 #. type: Plain text
18146 #: build/C/man2/uname.2:73
18147 msgid "I<buf> is not valid."
18148 msgstr ""
18149
18150 #. type: Plain text
18151 #: build/C/man2/uname.2:78
18152 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
18153 msgstr ""
18154
18155 #. type: Plain text
18156 #: build/C/man2/uname.2:82
18157 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
18158 msgstr ""
18159
18160 #. type: Plain text
18161 #: build/C/man2/uname.2:98
18162 msgid ""
18163 "This is a system call, and the operating system presumably knows its name, "
18164 "release and version.  It also knows what hardware it runs on.  So, four of "
18165 "the fields of the struct are meaningful.  On the other hand, the field "
18166 "I<nodename> is meaningless: it gives the name of the present machine in some "
18167 "undefined network, but typically machines are in more than one network and "
18168 "have several names.  Moreover, the kernel has no way of knowing about such "
18169 "things, so it has to be told what to answer here.  The same holds for the "
18170 "additional I<domainname> field."
18171 msgstr ""
18172
18173 #. type: Plain text
18174 #: build/C/man2/uname.2:116
18175 msgid ""
18176 "To this end Linux uses the system calls B<sethostname>(2)  and "
18177 "B<setdomainname>(2).  Note that there is no standard that says that the "
18178 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
18179 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
18180 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
18181 "same holds for B<setdomainname>(2)  and the I<domainname> field."
18182 msgstr ""
18183
18184 #. type: Plain text
18185 #: build/C/man2/uname.2:131
18186 msgid ""
18187 "The length of the fields in the struct varies.  Some operating systems or "
18188 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
18189 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
18190 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
18191 "257 is chosen in order to have room for an internet hostname."
18192 msgstr ""
18193
18194 #. type: Plain text
18195 #: build/C/man2/uname.2:138
18196 msgid ""
18197 "Part of the utsname information is also accessible via "
18198 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
18199 "I<domainname>}."
18200 msgstr ""
18201
18202 #. type: SS
18203 #: build/C/man2/uname.2:138
18204 #, no-wrap
18205 msgid "Underlying kernel interface"
18206 msgstr ""
18207
18208 #.  That was back before Linux 1.0
18209 #.  That was also back before Linux 1.0
18210 #. type: Plain text
18211 #: build/C/man2/uname.2:167
18212 msgid ""
18213 "Over time, increases in the size of the I<utsname> structure have led to "
18214 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
18215 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
18216 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
18217 "all fields; the second used 65; the third also uses 65 but adds the "
18218 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
18219 "details from applications, invoking the most recent version of the system "
18220 "call provided by the kernel."
18221 msgstr ""
18222
18223 #. type: Plain text
18224 #: build/C/man2/uname.2:171
18225 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
18226 msgstr ""
18227
18228 #. type: TH
18229 #: build/C/man2/uselib.2:31
18230 #, no-wrap
18231 msgid "USELIB"
18232 msgstr ""
18233
18234 #. type: TH
18235 #: build/C/man2/uselib.2:31
18236 #, no-wrap
18237 msgid "2005-01-09"
18238 msgstr ""
18239
18240 #. type: Plain text
18241 #: build/C/man2/uselib.2:34
18242 msgid "uselib - load shared library"
18243 msgstr ""
18244
18245 #. type: Plain text
18246 #: build/C/man2/uselib.2:38
18247 msgid "B<int uselib(const char *>I<library>B<);>"
18248 msgstr ""
18249
18250 #. type: Plain text
18251 #: build/C/man2/uselib.2:48
18252 msgid ""
18253 "The system call B<uselib>()  serves to load a shared library to be used by "
18254 "the calling process.  It is given a pathname.  The address where to load is "
18255 "found in the library itself.  The library can have any recognized binary "
18256 "format."
18257 msgstr ""
18258
18259 #. type: Plain text
18260 #: build/C/man2/uselib.2:59
18261 msgid ""
18262 "In addition to all of the error codes returned by B<open>(2)  and "
18263 "B<mmap>(2), the following may also be returned:"
18264 msgstr ""
18265
18266 #. type: Plain text
18267 #: build/C/man2/uselib.2:67
18268 msgid ""
18269 "The library specified by I<library> does not have read or execute "
18270 "permission, or the caller does not have search permission for one of the "
18271 "directories in the path prefix.  (See also B<path_resolution>(7).)"
18272 msgstr ""
18273
18274 #. type: Plain text
18275 #: build/C/man2/uselib.2:76
18276 msgid ""
18277 "The file specified by I<library> is not an executable of known type, e.g., "
18278 "does not have the correct magic numbers."
18279 msgstr ""
18280
18281 #. type: Plain text
18282 #: build/C/man2/uselib.2:80
18283 msgid ""
18284 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
18285 "to be portable."
18286 msgstr ""
18287
18288 #. type: Plain text
18289 #: build/C/man2/uselib.2:85
18290 msgid ""
18291 "B<uselib>()  was used by early libc startup code to load the shared "
18292 "libraries with names found in an array of names in the binary."
18293 msgstr ""
18294
18295 #.  libc 4.3.1f - changelog 1993-03-02
18296 #.  libc 4.3.4 - changelog 1993-04-21
18297 #. type: Plain text
18298 #: build/C/man2/uselib.2:95
18299 msgid ""
18300 "Since libc 4.3.2, startup code tries to prefix these names with "
18301 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
18302 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
18303 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
18304 msgstr ""
18305
18306 #. type: Plain text
18307 #: build/C/man2/uselib.2:100
18308 msgid ""
18309 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
18310 "dynamic library can load the remaining libraries needed (again using this "
18311 "call).  This is also the state of affairs in libc5."
18312 msgstr ""
18313
18314 #. type: Plain text
18315 #: build/C/man2/uselib.2:102
18316 msgid "glibc2 does not use this call."
18317 msgstr ""
18318
18319 #. type: Plain text
18320 #: build/C/man2/uselib.2:112
18321 msgid ""
18322 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
18323 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
18324 msgstr ""
18325
18326 #. type: TH
18327 #: build/C/man3/usleep.3:33
18328 #, no-wrap
18329 msgid "USLEEP"
18330 msgstr ""
18331
18332 #. type: Plain text
18333 #: build/C/man3/usleep.3:36
18334 msgid "usleep - suspend execution for microsecond intervals"
18335 msgstr ""
18336
18337 #. type: Plain text
18338 #: build/C/man3/usleep.3:41
18339 #, no-wrap
18340 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
18341 msgstr ""
18342
18343 #. type: Plain text
18344 #: build/C/man3/usleep.3:49
18345 msgid "B<usleep>():"
18346 msgstr ""
18347
18348 #. type: Plain text
18349 #: build/C/man3/usleep.3:75
18350 msgid ""
18351 "The B<usleep>()  function suspends execution of the calling thread for (at "
18352 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
18353 "system activity or by the time spent processing the call or by the "
18354 "granularity of system timers."
18355 msgstr ""
18356
18357 #. type: Plain text
18358 #: build/C/man3/usleep.3:82
18359 msgid ""
18360 "The B<usleep>()  function returns 0 on success.  On error, -1 is returned, "
18361 "with I<errno> set to indicate the cause of the error."
18362 msgstr ""
18363
18364 #. type: Plain text
18365 #: build/C/man3/usleep.3:87
18366 msgid "Interrupted by a signal; see B<signal>(7)."
18367 msgstr ""
18368
18369 #. type: Plain text
18370 #: build/C/man3/usleep.3:91
18371 msgid ""
18372 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
18373 "an error.)"
18374 msgstr ""
18375
18376 #. type: Plain text
18377 #: build/C/man3/usleep.3:98
18378 msgid ""
18379 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
18380 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
18381 "B<usleep>()."
18382 msgstr ""
18383
18384 #. type: Plain text
18385 #: build/C/man3/usleep.3:105
18386 msgid ""
18387 "On the original BSD implementation, and in glibc before version 2.2.2, the "
18388 "return type of this function is I<void>.  The POSIX version returns I<int>, "
18389 "and this is also the prototype used since glibc 2.2.2."
18390 msgstr ""
18391
18392 #. type: Plain text
18393 #: build/C/man3/usleep.3:109
18394 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
18395 msgstr ""
18396
18397 #. type: Plain text
18398 #: build/C/man3/usleep.3:117
18399 msgid ""
18400 "The type I<useconds_t> is an unsigned integer type capable of holding "
18401 "integers in the range [0,1000000].  Programs will be more portable if they "
18402 "never mention this type explicitly.  Use"
18403 msgstr ""
18404
18405 #. type: Plain text
18406 #: build/C/man3/usleep.3:125
18407 #, no-wrap
18408 msgid ""
18409 "#include E<lt>unistd.hE<gt>\n"
18410 "\\&...\n"
18411 "    unsigned int usecs;\n"
18412 "\\&...\n"
18413 "    usleep(usecs);\n"
18414 msgstr ""
18415
18416 #. type: Plain text
18417 #: build/C/man3/usleep.3:142
18418 msgid ""
18419 "The interaction of this function with the B<SIGALRM> signal, and with other "
18420 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
18421 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
18422 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
18423 "B<ualarm>(3)  is unspecified."
18424 msgstr ""
18425
18426 #. type: Plain text
18427 #: build/C/man3/usleep.3:151
18428 msgid ""
18429 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
18430 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
18431 msgstr ""
18432
18433 #. type: TH
18434 #: build/C/man2/vfork.2:28
18435 #, no-wrap
18436 msgid "VFORK"
18437 msgstr ""
18438
18439 #. type: TH
18440 #: build/C/man2/vfork.2:28
18441 #, no-wrap
18442 msgid "2012-08-05"
18443 msgstr ""
18444
18445 #. type: Plain text
18446 #: build/C/man2/vfork.2:31
18447 msgid "vfork - create a child process and block parent"
18448 msgstr ""
18449
18450 #. type: Plain text
18451 #: build/C/man2/vfork.2:37
18452 msgid "B<pid_t vfork(void);>"
18453 msgstr ""
18454
18455 #. type: Plain text
18456 #: build/C/man2/vfork.2:44
18457 msgid "B<vfork>():"
18458 msgstr ""
18459
18460 #. type: SS
18461 #: build/C/man2/vfork.2:63
18462 #, no-wrap
18463 msgid "Standard description"
18464 msgstr ""
18465
18466 #. type: Plain text
18467 #: build/C/man2/vfork.2:82
18468 msgid ""
18469 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
18470 "except that the behavior is undefined if the process created by B<vfork>()  "
18471 "either modifies any data other than a variable of type I<pid_t> used to "
18472 "store the return value from B<vfork>(), or returns from the function in "
18473 "which B<vfork>()  was called, or calls any other function before "
18474 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
18475 "functions."
18476 msgstr ""
18477
18478 #. type: SS
18479 #: build/C/man2/vfork.2:82
18480 #, no-wrap
18481 msgid "Linux description"
18482 msgstr ""
18483
18484 #. type: Plain text
18485 #: build/C/man2/vfork.2:89
18486 msgid ""
18487 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
18488 "process.  For details and return value and errors, see B<fork>(2)."
18489 msgstr ""
18490
18491 #. type: Plain text
18492 #: build/C/man2/vfork.2:98
18493 msgid ""
18494 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
18495 "processes without copying the page tables of the parent process.  It may be "
18496 "useful in performance-sensitive applications where a child is created which "
18497 "then immediately issues an B<execve>(2)."
18498 msgstr ""
18499
18500 #. type: Plain text
18501 #: build/C/man2/vfork.2:115
18502 msgid ""
18503 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
18504 "until the child terminates (either normally, by calling B<_exit>(2), or "
18505 "abnormally, after delivery of a fatal signal), or it makes a call to "
18506 "B<execve>(2).  Until that point, the child shares all memory with its "
18507 "parent, including the stack.  The child must not return from the current "
18508 "function or call B<exit>(3), but may call B<_exit>(2)."
18509 msgstr ""
18510
18511 #. type: Plain text
18512 #: build/C/man2/vfork.2:126
18513 msgid ""
18514 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
18515 "of various of the caller's process attributes (e.g., file descriptors, "
18516 "signal dispositions, and current working directory); the B<vfork>()  call "
18517 "differs only in the treatment of the virtual address space, as described "
18518 "above."
18519 msgstr ""
18520
18521 #. type: Plain text
18522 #: build/C/man2/vfork.2:132
18523 msgid ""
18524 "Signals sent to the parent arrive after the child releases the parent's "
18525 "memory (i.e., after the child terminates or calls B<execve>(2))."
18526 msgstr ""
18527
18528 #. type: SS
18529 #: build/C/man2/vfork.2:132
18530 #, no-wrap
18531 msgid "Historic description"
18532 msgstr ""
18533
18534 #. type: Plain text
18535 #: build/C/man2/vfork.2:159
18536 msgid ""
18537 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
18538 "only penalty incurred by B<fork>(2)  is the time and memory required to "
18539 "duplicate the parent's page tables, and to create a unique task structure "
18540 "for the child.  However, in the bad old days a B<fork>(2)  would require "
18541 "making a complete copy of the caller's data space, often needlessly, since "
18542 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
18543 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
18544 "copy the address space of the parent process, but borrowed the parent's "
18545 "memory and thread of control until a call to B<execve>(2)  or an exit "
18546 "occurred.  The parent process was suspended while the child was using its "
18547 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
18548 "data in the parent process depended on knowing which variables were held in "
18549 "a register."
18550 msgstr ""
18551
18552 #. type: Plain text
18553 #: build/C/man2/vfork.2:163
18554 msgid ""
18555 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
18556 "specification of B<vfork>()."
18557 msgstr ""
18558
18559 #.  In AIXv3.1 vfork is equivalent to fork.
18560 #. type: Plain text
18561 #: build/C/man2/vfork.2:174
18562 msgid ""
18563 "The requirements put on B<vfork>()  by the standards are weaker than those "
18564 "put on B<fork>(2), so an implementation where the two are synonymous is "
18565 "compliant.  In particular, the programmer cannot rely on the parent "
18566 "remaining blocked until the child either terminates or calls B<execve>(2), "
18567 "and cannot rely on any specific behavior with respect to shared memory."
18568 msgstr ""
18569
18570 #. type: Plain text
18571 #: build/C/man2/vfork.2:193
18572 msgid ""
18573 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
18574 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
18575 "proper system sharing mechanisms are implemented.  Users should not depend "
18576 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
18577 "made synonymous to B<fork>(2).\" However, even though modern memory "
18578 "management hardware has decreased the performance difference between "
18579 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
18580 "systems have retained B<vfork>():"
18581 msgstr ""
18582
18583 #. type: Plain text
18584 #: build/C/man2/vfork.2:197
18585 msgid ""
18586 "Some performance-critical applications require the small performance "
18587 "advantage conferred by B<vfork>()."
18588 msgstr ""
18589
18590 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
18591 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
18592 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
18593 #. type: Plain text
18594 #: build/C/man2/vfork.2:213
18595 msgid ""
18596 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
18597 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
18598 "removed B<vfork>()  from the standard; the POSIX rationale for the "
18599 "B<posix_spawn>(3)  function notes that that function, which provides "
18600 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
18601 "implementable on systems that lack an MMU.)"
18602 msgstr ""
18603
18604 #. type: Plain text
18605 #: build/C/man2/vfork.2:224
18606 msgid ""
18607 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
18608 "multithreaded program employing the NPTL threading library calls "
18609 "B<vfork>().  Fork handlers are called in this case in a program using the "
18610 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
18611 "Linux threading libraries.)"
18612 msgstr ""
18613
18614 #. type: Plain text
18615 #: build/C/man2/vfork.2:232
18616 msgid ""
18617 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
18618 "specified as:"
18619 msgstr ""
18620
18621 #. type: Plain text
18622 #: build/C/man2/vfork.2:234
18623 #, no-wrap
18624 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
18625 msgstr ""
18626
18627 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
18628 #.  present, but definitely on its way out'.
18629 #. type: Plain text
18630 #: build/C/man2/vfork.2:252
18631 msgid ""
18632 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
18633 "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
18634 "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In "
18635 "Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since "
18636 "2.2.0-pre9 (on i386, somewhat later on other architectures) it is an "
18637 "independent system call.  Support was added in glibc 2.0.112."
18638 msgstr ""
18639
18640 #
18641 #.  As far as I can tell, the following is not true in 2.6.19:
18642 #.  Currently (Linux 2.3.25),
18643 #.  .BR strace (1)
18644 #.  cannot follow
18645 #.  .BR vfork ()
18646 #.  and requires a kernel patch.
18647 #. type: Plain text
18648 #: build/C/man2/vfork.2:273
18649 msgid ""
18650 "Details of the signal handling are obscure and differ between systems.  The "
18651 "BSD man page states: \"To avoid a possible deadlock situation, processes "
18652 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
18653 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
18654 "attempts result in an end-of-file indication.\""
18655 msgstr ""
18656
18657 #. type: Plain text
18658 #: build/C/man2/vfork.2:279
18659 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
18660 msgstr ""
18661
18662 #. type: TH
18663 #: build/C/man2/vhangup.2:28
18664 #, no-wrap
18665 msgid "VHANGUP"
18666 msgstr ""
18667
18668 #. type: Plain text
18669 #: build/C/man2/vhangup.2:31
18670 msgid "vhangup - virtually hangup the current terminal"
18671 msgstr ""
18672
18673 #. type: Plain text
18674 #: build/C/man2/vhangup.2:35
18675 msgid "B<int vhangup(void);>"
18676 msgstr ""
18677
18678 #. type: Plain text
18679 #: build/C/man2/vhangup.2:44
18680 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
18681 msgstr ""
18682
18683 #. type: Plain text
18684 #: build/C/man2/vhangup.2:50
18685 msgid ""
18686 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
18687 "arranges for other users to have a ``clean'' terminal at login time."
18688 msgstr ""
18689
18690 #. type: Plain text
18691 #: build/C/man2/vhangup.2:63
18692 msgid ""
18693 "The calling process has insufficient privilege to call B<vhangup>(); the "
18694 "B<CAP_SYS_TTY_CONFIG> capability is required."
18695 msgstr ""
18696
18697 #. type: Plain text
18698 #: build/C/man2/vhangup.2:66
18699 msgid ""
18700 "This call is Linux-specific, and should not be used in programs intended to "
18701 "be portable."
18702 msgstr ""
18703
18704 #. type: Plain text
18705 #: build/C/man2/vhangup.2:69
18706 msgid "B<capabilities>(7), B<init>(8)"
18707 msgstr ""