OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.63
[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: 2014-04-13 10:27+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/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:32 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:11 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:32 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:11 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:33 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:12 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:35 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:14 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:78 build/C/man2/alarm.2:39 build/C/man2/brk.2:64 build/C/man2/chdir.2:59 build/C/man2/chmod.2:81 build/C/man2/chown.2:88 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:50 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:47 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:262 build/C/man2/alarm.2:59 build/C/man2/brk.2:114 build/C/man2/chdir.2:125 build/C/man2/chmod.2:330 build/C/man2/chown.2:308 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:127 build/C/man3/crypt.3:183 build/C/man3/daemon.3:96 build/C/man3/des_crypt.3:142 build/C/man2/dup.2:170 build/C/man3/encrypt.3:137 build/C/man3/euidaccess.3:80 build/C/man3/exec.3:199 build/C/man2/execve.2:456 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1162 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:119 build/C/man2/ioperm.2:104 build/C/man3/lockf.3:154 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:204 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:77 build/C/man2/swapon.2:159 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:116 build/C/man2/truncate.2:195 build/C/man3/ualarm.3:97 build/C/man2/umask.2:95 build/C/man2/uname.2:73 build/C/man2/uselib.2:76 build/C/man3/usleep.3:96 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:268 build/C/man2/alarm.2:61 build/C/man2/brk.2:122 build/C/man2/chdir.2:127 build/C/man2/chmod.2:337 build/C/man2/chown.2:325 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:188 build/C/man3/daemon.3:102 build/C/man2/dup.2:180 build/C/man3/encrypt.3:148 build/C/man3/euidaccess.3:86 build/C/man3/exec.3:205 build/C/man2/execve.2:464 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1212 build/C/man3/fexecve.3:99 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:134 build/C/man2/ioperm.2:108 build/C/man2/mkdir.2:211 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:165 build/C/man2/syscall.2:78 build/C/man2/syscalls.2:655 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:118 build/C/man2/truncate.2:208 build/C/man3/ualarm.3:105 build/C/man2/umask.2:97 build/C/man2/uname.2:82 build/C/man2/uselib.2:80 build/C/man3/usleep.3:114 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:421 build/C/man3/confstr.3:129 build/C/man3/encrypt.3:150 build/C/man2/execve.2:550 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:203 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:372 build/C/man2/alarm.2:86 build/C/man2/brk.2:164 build/C/man2/chdir.2:136 build/C/man2/chmod.2:347 build/C/man2/chown.2:469 build/C/man2/chroot.2:151 build/C/man2/close.2:131 build/C/man3/confstr.3:146 build/C/man3/crypt.3:249 build/C/man3/daemon.3:110 build/C/man3/des_crypt.3:145 build/C/man2/dup.2:207 build/C/man3/encrypt.3:174 build/C/man7/environ.7:248 build/C/man3/euidaccess.3:101 build/C/man3/exec.3:241 build/C/man2/execve.2:645 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1326 build/C/man3/fexecve.3:124 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:142 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:223 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:79 build/C/man2/swapon.2:199 build/C/man2/syscall.2:220 build/C/man2/syscalls.2:832 build/C/man3/sysconf.3:335 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:127 build/C/man2/truncate.2:256 build/C/man3/ualarm.3:147 build/C/man2/umask.2:118 build/C/man2/uname.2:167 build/C/man2/uselib.2:102 build/C/man3/usleep.3:147 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:383 build/C/man2/alarm.2:95 build/C/man2/brk.2:169 build/C/man2/chdir.2:140 build/C/man2/chmod.2:354 build/C/man2/chown.2:474 build/C/man2/chroot.2:154 build/C/man2/close.2:138 build/C/man3/confstr.3:150 build/C/man3/crypt.3:255 build/C/man3/daemon.3:113 build/C/man3/des_crypt.3:149 build/C/man2/dup.2:211 build/C/man3/encrypt.3:179 build/C/man7/environ.7:262 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:248 build/C/man2/execve.2:656 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1347 build/C/man3/fexecve.3:126 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:150 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:234 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:81 build/C/man2/swapon.2:203 build/C/man2/syscall.2:225 build/C/man2/syscalls.2:838 build/C/man3/sysconf.3:343 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:131 build/C/man2/truncate.2:260 build/C/man3/ualarm.3:155 build/C/man2/umask.2:124 build/C/man2/uname.2:171 build/C/man2/uselib.2:112 build/C/man3/usleep.3:156 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:390 build/C/man2/alarm.2:102 build/C/man2/brk.2:176 build/C/man2/chdir.2:147 build/C/man2/chmod.2:361 build/C/man2/chown.2:481 build/C/man2/chroot.2:161 build/C/man2/close.2:145 build/C/man3/confstr.3:157 build/C/man3/crypt.3:262 build/C/man3/daemon.3:120 build/C/man3/des_crypt.3:156 build/C/man2/dup.2:218 build/C/man3/encrypt.3:186 build/C/man7/environ.7:269 build/C/man3/euidaccess.3:119 build/C/man3/exec.3:255 build/C/man2/execve.2:663 build/C/man2/exit_group.2:58 build/C/man2/fcntl.2:1354 build/C/man3/fexecve.3:133 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:157 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:241 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:88 build/C/man2/swapon.2:210 build/C/man2/syscall.2:232 build/C/man2/syscalls.2:845 build/C/man3/sysconf.3:350 build/C/man2/sysctl.2:190 build/C/man2/sysinfo.2:103 build/C/man3/tcgetpgrp.3:138 build/C/man2/truncate.2:267 build/C/man3/ualarm.3:162 build/C/man2/umask.2:131 build/C/man2/uname.2:178 build/C/man2/uselib.2:119 build/C/man3/usleep.3:163 build/C/man2/vfork.2:286 build/C/man2/vhangup.2:76
308 msgid ""
309 "This page is part of release 3.63 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 build/C/man2/chmod.2:32 build/C/man2/chown.2:38 build/C/man2/mkdir.2:11
322 #, no-wrap
323 msgid "2014-02-21"
324 msgstr ""
325
326 #. type: Plain text
327 #: build/C/man2/access.2:46
328 msgid "access, faccessat - check 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/chown.2:44 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:54 build/C/man2/chown.2:53
345 #, no-wrap
346 msgid ""
347 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
348 "B<#include E<lt>unistd.hE<gt>>\n"
349 msgstr ""
350
351 #. type: Plain text
352 #: build/C/man2/access.2:57
353 #, no-wrap
354 msgid ""
355 "B<int faccessat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<mode>B<, "
356 "int >I<flags>B<);>\n"
357 msgstr ""
358
359 #. type: Plain text
360 #: build/C/man2/access.2:62 build/C/man2/brk.2:42 build/C/man2/chdir.2:46 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 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/mkdir.2:31 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
361 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
362 msgstr ""
363
364 #. type: Plain text
365 #: build/C/man2/access.2:65
366 msgid "B<faccessat>():"
367 msgstr ""
368
369 #. type: TP
370 #: build/C/man2/access.2:68 build/C/man2/chmod.2:71 build/C/man2/chown.2:79 build/C/man3/fexecve.3:44 build/C/man2/mkdir.2:37
371 #, no-wrap
372 msgid "Since glibc 2.10:"
373 msgstr ""
374
375 #. type: Plain text
376 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82 build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
377 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
378 msgstr ""
379
380 #. type: TP
381 #: build/C/man2/access.2:71 build/C/man2/chmod.2:74 build/C/man2/chown.2:82 build/C/man3/fexecve.3:47 build/C/man2/mkdir.2:40
382 #, no-wrap
383 msgid "Before glibc 2.10:"
384 msgstr ""
385
386 #. type: Plain text
387 #: build/C/man2/access.2:74 build/C/man2/chmod.2:77 build/C/man2/chown.2:85 build/C/man2/mkdir.2:43
388 msgid "_ATFILE_SOURCE"
389 msgstr ""
390
391 #. type: Plain text
392 #: build/C/man2/access.2:85
393 msgid ""
394 "B<access>()  checks whether the calling process can access the file "
395 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
396 msgstr ""
397
398 #.  F_OK is defined as 0 on every system that I know of.
399 #. type: Plain text
400 #: build/C/man2/access.2:99
401 msgid ""
402 "The I<mode> specifies the accessibility check(s) to be performed, and is "
403 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
404 "more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of "
405 "the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and "
406 "grants read, write, and execute permissions, respectively."
407 msgstr ""
408
409 #. type: Plain text
410 #: build/C/man2/access.2:108
411 msgid ""
412 "The check is done using the calling process's I<real> UID and GID, rather "
413 "than the effective IDs as is done when actually attempting an operation "
414 "(e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily "
415 "determine the invoking user's authority."
416 msgstr ""
417
418 #. type: Plain text
419 #: build/C/man2/access.2:114
420 msgid ""
421 "If the calling process is privileged (i.e., its real UID is zero), then an "
422 "B<X_OK> check is successful for a regular file if execute permission is "
423 "enabled for any of the file owner, group, or other."
424 msgstr ""
425
426 #. type: SS
427 #: build/C/man2/access.2:114 build/C/man2/access.2:326
428 #, no-wrap
429 msgid "faccessat ()"
430 msgstr ""
431
432 #. type: Plain text
433 #: build/C/man2/access.2:120
434 msgid ""
435 "The B<faccessat>()  system call operates in exactly the same way as "
436 "B<access>(), except for the differences described here."
437 msgstr ""
438
439 #. type: Plain text
440 #: build/C/man2/access.2:130
441 msgid ""
442 "If the pathname given in I<pathname> is relative, then it is interpreted "
443 "relative to the directory referred to by the file descriptor I<dirfd> "
444 "(rather than relative to the current working directory of the calling "
445 "process, as is done by B<access>()  for a relative pathname)."
446 msgstr ""
447
448 #. type: Plain text
449 #: build/C/man2/access.2:142
450 msgid ""
451 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
452 "then I<pathname> is interpreted relative to the current working directory of "
453 "the calling process (like B<access>())."
454 msgstr ""
455
456 #. type: Plain text
457 #: build/C/man2/access.2:148 build/C/man2/chmod.2:216 build/C/man2/chown.2:179 build/C/man2/mkdir.2:110
458 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
459 msgstr ""
460
461 #. type: Plain text
462 #: build/C/man2/access.2:151
463 msgid ""
464 "I<flags> is constructed by ORing together zero or more of the following "
465 "values:"
466 msgstr ""
467
468 #. type: TP
469 #: build/C/man2/access.2:151
470 #, no-wrap
471 msgid "B<AT_EACCESS>"
472 msgstr ""
473
474 #. type: Plain text
475 #: build/C/man2/access.2:158
476 msgid ""
477 "Perform access checks using the effective user and group IDs.  By default, "
478 "B<faccessat>()  uses the real IDs (like B<access>())."
479 msgstr ""
480
481 #. type: TP
482 #: build/C/man2/access.2:158 build/C/man2/chmod.2:219 build/C/man2/chown.2:203
483 #, no-wrap
484 msgid "B<AT_SYMLINK_NOFOLLOW>"
485 msgstr ""
486
487 #. type: Plain text
488 #: build/C/man2/access.2:164
489 msgid ""
490 "If I<pathname> is a symbolic link, do not dereference it: instead return "
491 "information about the link itself."
492 msgstr ""
493
494 #. type: Plain text
495 #: build/C/man2/access.2:169
496 msgid "See B<openat>(2)  for an explanation of the need for B<faccessat>()."
497 msgstr ""
498
499 #. type: SH
500 #: build/C/man2/access.2:169 build/C/man2/alarm.2:54 build/C/man2/brk.2:93 build/C/man2/chdir.2:70 build/C/man2/chmod.2:231 build/C/man2/chown.2:219 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:357 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1067 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:85 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:115 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
501 #, no-wrap
502 msgid "RETURN VALUE"
503 msgstr ""
504
505 #. type: Plain text
506 #: build/C/man2/access.2:185
507 msgid ""
508 "On success (all requested permissions granted, or I<mode> is B<F_OK> and the "
509 "file exists), zero is returned.  On error (at least one bit in I<mode> asked "
510 "for a permission that is denied, or I<mode> is B<F_OK> and the file does not "
511 "exist, or some other error occurred), -1 is returned, and I<errno> is set "
512 "appropriately."
513 msgstr ""
514
515 #. type: SH
516 #: build/C/man2/access.2:185 build/C/man2/chdir.2:75 build/C/man2/chmod.2:236 build/C/man2/chown.2:224 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:363 build/C/man2/fcntl.2:1100 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:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:122 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
517 #, no-wrap
518 msgid "ERRORS"
519 msgstr ""
520
521 #. type: Plain text
522 #: build/C/man2/access.2:190
523 msgid "B<access>()  and B<faccessat>()  shall fail if:"
524 msgstr ""
525
526 #. type: TP
527 #: build/C/man2/access.2:190 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117 build/C/man2/chmod.2:243 build/C/man2/chown.2:231 build/C/man2/chroot.2:98 build/C/man2/execve.2:371 build/C/man2/execve.2:378 build/C/man2/execve.2:381 build/C/man2/execve.2:384 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:123 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
528 #, no-wrap
529 msgid "B<EACCES>"
530 msgstr ""
531
532 #. type: Plain text
533 #: build/C/man2/access.2:197
534 msgid ""
535 "The requested access would be denied to the file, or search permission is "
536 "denied for one of the directories in the path prefix of I<pathname>.  (See "
537 "also B<path_resolution>(7).)"
538 msgstr ""
539
540 #. type: TP
541 #: build/C/man2/access.2:197 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255 build/C/man2/chown.2:240 build/C/man2/chroot.2:112 build/C/man2/execve.2:409 build/C/man2/mkdir.2:145 build/C/man2/truncate.2:151
542 #, no-wrap
543 msgid "B<ELOOP>"
544 msgstr ""
545
546 #. type: Plain text
547 #: build/C/man2/access.2:201 build/C/man2/chmod.2:259 build/C/man2/chown.2:244 build/C/man2/mkdir.2:149
548 msgid "Too many symbolic links were encountered in resolving I<pathname>."
549 msgstr ""
550
551 #. type: TP
552 #: build/C/man2/access.2:201 build/C/man2/chdir.2:98 build/C/man2/chmod.2:259 build/C/man2/chown.2:244 build/C/man2/chroot.2:116 build/C/man2/execve.2:417 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:153 build/C/man2/truncate.2:154
553 #, no-wrap
554 msgid "B<ENAMETOOLONG>"
555 msgstr ""
556
557 #. type: Plain text
558 #: build/C/man2/access.2:205 build/C/man2/chmod.2:263 build/C/man2/chown.2:248
559 msgid "I<pathname> is too long."
560 msgstr ""
561
562 #. type: TP
563 #: build/C/man2/access.2:205 build/C/man2/chdir.2:102 build/C/man2/chmod.2:263 build/C/man2/chown.2:248 build/C/man2/chown.2:274 build/C/man2/chroot.2:120 build/C/man2/execve.2:424 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:122 build/C/man2/mkdir.2:156 build/C/man2/swapon.2:144 build/C/man2/truncate.2:158
564 #, no-wrap
565 msgid "B<ENOENT>"
566 msgstr ""
567
568 #. type: Plain text
569 #: build/C/man2/access.2:210
570 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
571 msgstr ""
572
573 #. type: TP
574 #: build/C/man2/access.2:210 build/C/man2/access.2:252 build/C/man2/chdir.2:108 build/C/man2/chmod.2:269 build/C/man2/chmod.2:314 build/C/man2/chown.2:254 build/C/man2/chown.2:298 build/C/man2/chroot.2:126 build/C/man2/execve.2:438 build/C/man2/mkdir.2:173 build/C/man2/mkdir.2:194 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:161
575 #, no-wrap
576 msgid "B<ENOTDIR>"
577 msgstr ""
578
579 #. type: Plain text
580 #: build/C/man2/access.2:215 build/C/man2/mkdir.2:178
581 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
582 msgstr ""
583
584 #. type: TP
585 #: build/C/man2/access.2:215 build/C/man2/chmod.2:278 build/C/man2/chmod.2:296 build/C/man2/chown.2:261 build/C/man2/chown.2:280 build/C/man2/mkdir.2:183 build/C/man2/truncate.2:170
586 #, no-wrap
587 msgid "B<EROFS>"
588 msgstr ""
589
590 #. type: Plain text
591 #: build/C/man2/access.2:218
592 msgid "Write permission was requested for a file on a read-only filesystem."
593 msgstr ""
594
595 #. type: Plain text
596 #: build/C/man2/access.2:223
597 msgid "B<access>()  and B<faccessat>()  may fail if:"
598 msgstr ""
599
600 #. type: TP
601 #: build/C/man2/access.2:223 build/C/man2/chdir.2:87 build/C/man2/chmod.2:248 build/C/man2/chown.2:236 build/C/man2/chroot.2:105 build/C/man2/execve.2:388 build/C/man2/fcntl.2:1122 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:99 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:142 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
602 #, no-wrap
603 msgid "B<EFAULT>"
604 msgstr ""
605
606 #. type: Plain text
607 #: build/C/man2/access.2:227 build/C/man2/chmod.2:252 build/C/man2/chown.2:240 build/C/man2/mkdir.2:145
608 msgid "I<pathname> points outside your accessible address space."
609 msgstr ""
610
611 #. type: TP
612 #: build/C/man2/access.2:227 build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:294 build/C/man3/confstr.3:122 build/C/man3/crypt.3:124 build/C/man2/dup.2:151 build/C/man2/execve.2:396 build/C/man2/fcntl.2:1138 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:103 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/man2/swapon.2:126 build/C/man2/swapon.2:136 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
613 #, no-wrap
614 msgid "B<EINVAL>"
615 msgstr ""
616
617 #. type: Plain text
618 #: build/C/man2/access.2:231
619 msgid "I<mode> was incorrectly specified."
620 msgstr ""
621
622 #. type: TP
623 #: build/C/man2/access.2:231 build/C/man2/chdir.2:91 build/C/man2/chmod.2:252 build/C/man2/chmod.2:290 build/C/man2/chown.2:271 build/C/man2/chroot.2:109 build/C/man2/close.2:81 build/C/man2/execve.2:400 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:94 build/C/man2/truncate.2:145
624 #, no-wrap
625 msgid "B<EIO>"
626 msgstr ""
627
628 #. type: Plain text
629 #: build/C/man2/access.2:234 build/C/man2/chdir.2:94 build/C/man2/chmod.2:255 build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:403
630 msgid "An I/O error occurred."
631 msgstr ""
632
633 #. type: TP
634 #: build/C/man2/access.2:234 build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:251 build/C/man2/chroot.2:123 build/C/man2/execve.2:435 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:161 build/C/man2/swapon.2:149
635 #, no-wrap
636 msgid "B<ENOMEM>"
637 msgstr ""
638
639 #. type: Plain text
640 #: build/C/man2/access.2:237 build/C/man2/chdir.2:108 build/C/man2/chmod.2:269 build/C/man2/chown.2:254 build/C/man2/chroot.2:126 build/C/man2/execve.2:438 build/C/man2/mkdir.2:164
641 msgid "Insufficient kernel memory was available."
642 msgstr ""
643
644 #. type: TP
645 #: build/C/man2/access.2:237 build/C/man2/execve.2:453 build/C/man2/truncate.2:173
646 #, no-wrap
647 msgid "B<ETXTBSY>"
648 msgstr ""
649
650 #. type: Plain text
651 #: build/C/man2/access.2:241
652 msgid "Write access was requested to an executable which is being executed."
653 msgstr ""
654
655 #. type: Plain text
656 #: build/C/man2/access.2:244
657 msgid "The following additional errors can occur for B<faccessat>():"
658 msgstr ""
659
660 #. type: TP
661 #: build/C/man2/access.2:244 build/C/man2/chdir.2:121 build/C/man2/chmod.2:285 build/C/man2/chmod.2:306 build/C/man2/chown.2:268 build/C/man2/chown.2:290 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1108 build/C/man2/flock.2:117 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:95 build/C/man3/lockf.3:130 build/C/man2/mkdir.2:190 build/C/man3/tcgetpgrp.3:87 build/C/man2/truncate.2:183
662 #, no-wrap
663 msgid "B<EBADF>"
664 msgstr ""
665
666 #. type: Plain text
667 #: build/C/man2/access.2:248 build/C/man2/chmod.2:310 build/C/man2/chown.2:294 build/C/man2/mkdir.2:194
668 msgid "I<dirfd> is not a valid file descriptor."
669 msgstr ""
670
671 #. type: Plain text
672 #: build/C/man2/access.2:252 build/C/man2/chmod.2:314 build/C/man2/chown.2:298
673 msgid "Invalid flag specified in I<flags>."
674 msgstr ""
675
676 #. type: Plain text
677 #: build/C/man2/access.2:258 build/C/man2/chmod.2:320 build/C/man2/chown.2:304 build/C/man2/mkdir.2:200
678 msgid ""
679 "I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
680 "file other than a directory."
681 msgstr ""
682
683 #. type: SH
684 #: build/C/man2/access.2:258 build/C/man2/chmod.2:326 build/C/man2/chown.2:304 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/mkdir.2:200 build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:60
685 #, no-wrap
686 msgid "VERSIONS"
687 msgstr ""
688
689 #. type: Plain text
690 #: build/C/man2/access.2:262
691 msgid ""
692 "B<faccessat>()  was added to Linux in kernel 2.6.16; library support was "
693 "added to glibc in version 2.4."
694 msgstr ""
695
696 #. type: Plain text
697 #: build/C/man2/access.2:265
698 msgid "B<access>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
699 msgstr ""
700
701 #. type: Plain text
702 #: build/C/man2/access.2:268
703 msgid "B<faccessat>(): POSIX.1-2008."
704 msgstr ""
705
706 #. type: Plain text
707 #: build/C/man2/access.2:281
708 msgid ""
709 "B<Warning>: Using these calls to check if a user is authorized to, for "
710 "example, open a file before actually doing so using B<open>(2)  creates a "
711 "security hole, because the user might exploit the short time interval "
712 "between checking and opening the file to manipulate it.  B<For this reason, "
713 "the use of this system call should be avoided>.  (In the example just "
714 "described, a safer alternative would be to temporarily switch the process's "
715 "effective user ID to the real ID and then call B<open>(2).)"
716 msgstr ""
717
718 #. type: Plain text
719 #: build/C/man2/access.2:288
720 msgid ""
721 "B<access>()  always dereferences symbolic links.  If you need to check the "
722 "permissions on a symbolic link, use B<faccessat>(2)  with the flag "
723 "B<AT_SYMLINK_NOFOLLOW>."
724 msgstr ""
725
726 #. type: Plain text
727 #: build/C/man2/access.2:294
728 msgid ""
729 "These calls return an error if any of the access types in I<mode> is denied, "
730 "even if some of the other access types in I<mode> are permitted."
731 msgstr ""
732
733 #.  HPU-UX 11 and Tru64 5.1 do this.
734 #. type: Plain text
735 #: build/C/man2/access.2:301
736 msgid ""
737 "If the calling process has appropriate privileges (i.e., is superuser), "
738 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
739 "check even if none of the execute file permission bits are set.  Linux does "
740 "not do this."
741 msgstr ""
742
743 #. type: Plain text
744 #: build/C/man2/access.2:309
745 msgid ""
746 "A file is accessible only if the permissions on each of the directories in "
747 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
748 "directory is inaccessible, then the B<access>()  call will fail, regardless "
749 "of the permissions on the file itself."
750 msgstr ""
751
752 #. type: Plain text
753 #: build/C/man2/access.2:317
754 msgid ""
755 "Only access bits are checked, not the file type or contents.  Therefore, if "
756 "a directory is found to be writable, it probably means that files can be "
757 "created in the directory, and not that the directory can be written as a "
758 "file.  Similarly, a DOS file may be found to be \"executable,\" but the "
759 "B<execve>(2)  call will still fail."
760 msgstr ""
761
762 #. type: Plain text
763 #: build/C/man2/access.2:326
764 msgid ""
765 "These calls may not work correctly on NFSv2 filesystems with UID mapping "
766 "enabled, because UID mapping is done on the server and hidden from the "
767 "client, which checks permissions.  (NFS versions 3 and higher perform the "
768 "check on the server.)  Similar problems can occur to FUSE mounts."
769 msgstr ""
770
771 #. type: Plain text
772 #: build/C/man2/access.2:339
773 msgid ""
774 "The raw B<faccessat>()  system call takes only the first three arguments.  "
775 "The B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW> flags are actually implemented "
776 "within the glibc wrapper function for B<faccessat>().  If either of these "
777 "flags is specified, then the wrapper function employs B<fstatat>(2)  to "
778 "determine access permissions."
779 msgstr ""
780
781 #. type: SH
782 #: build/C/man2/access.2:339 build/C/man7/environ.7:210 build/C/man2/fcntl.2:1255 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
783 #, no-wrap
784 msgid "BUGS"
785 msgstr ""
786
787 #.  This behavior appears to have been an implementation accident.
788 #. type: Plain text
789 #: build/C/man2/access.2:362
790 msgid ""
791 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
792 "B<X_OK> tests for superuser.  If all categories of execute permission are "
793 "disabled for a nondirectory file, then the only B<access>()  test that "
794 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
795 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
796 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
797 "same way as kernel 2.4."
798 msgstr ""
799
800 #. type: Plain text
801 #: build/C/man2/access.2:372
802 msgid ""
803 "In kernels before 2.6.20, these calls ignored the effect of the B<MS_NOEXEC> "
804 "flag if it was used to B<mount>(2)  the underlying filesystem.  Since kernel "
805 "2.6.20, the B<MS_NOEXEC> is honored"
806 msgstr ""
807
808 #. type: Plain text
809 #: build/C/man2/access.2:383
810 msgid ""
811 "B<chmod>(2), B<chown>(2), B<open>(2), B<setgid>(2), B<setuid>(2), "
812 "B<stat>(2), B<euidaccess>(3), B<credentials>(7), B<path_resolution>(7), "
813 "B<symlink>(7)"
814 msgstr ""
815
816 #. type: TH
817 #: build/C/man2/alarm.2:30
818 #, no-wrap
819 msgid "ALARM"
820 msgstr ""
821
822 #. type: TH
823 #: build/C/man2/alarm.2:30
824 #, no-wrap
825 msgid "2014-02-23"
826 msgstr ""
827
828 #. type: Plain text
829 #: build/C/man2/alarm.2:33
830 msgid "alarm - set an alarm clock for delivery of a signal"
831 msgstr ""
832
833 #. type: Plain text
834 #: build/C/man2/alarm.2:38
835 #, no-wrap
836 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
837 msgstr ""
838
839 #. type: Plain text
840 #: build/C/man2/alarm.2:46
841 msgid ""
842 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
843 "process in I<seconds> seconds."
844 msgstr ""
845
846 #. type: Plain text
847 #: build/C/man2/alarm.2:50
848 msgid "If I<seconds> is zero, any pending alarm is canceled."
849 msgstr ""
850
851 #. type: Plain text
852 #: build/C/man2/alarm.2:54
853 msgid "In any event any previously set B<alarm>()  is canceled."
854 msgstr ""
855
856 #. type: Plain text
857 #: build/C/man2/alarm.2:59
858 msgid ""
859 "B<alarm>()  returns the number of seconds remaining until any previously "
860 "scheduled alarm was due to be delivered, or zero if there was no previously "
861 "scheduled alarm."
862 msgstr ""
863
864 #. type: Plain text
865 #: build/C/man2/alarm.2:61
866 msgid "SVr4, POSIX.1-2001, 4.3BSD."
867 msgstr ""
868
869 #. type: Plain text
870 #: build/C/man2/alarm.2:67
871 msgid ""
872 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
873 "interfere with use of the other."
874 msgstr ""
875
876 #. type: Plain text
877 #: build/C/man2/alarm.2:74
878 msgid ""
879 "Alarms created by B<alarm()> are preserved across B<execve>(2)  and are not "
880 "inherited by children created via B<fork>(2)."
881 msgstr ""
882
883 #. type: Plain text
884 #: build/C/man2/alarm.2:83
885 msgid ""
886 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
887 "and B<sleep>(3)  is a bad idea."
888 msgstr ""
889
890 #. type: Plain text
891 #: build/C/man2/alarm.2:86
892 msgid ""
893 "Scheduling delays can, as ever, cause the execution of the process to be "
894 "delayed by an arbitrary amount of time."
895 msgstr ""
896
897 #. type: Plain text
898 #: build/C/man2/alarm.2:95
899 msgid ""
900 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
901 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
902 msgstr ""
903
904 #. type: TH
905 #: build/C/man2/brk.2:29
906 #, no-wrap
907 msgid "BRK"
908 msgstr ""
909
910 #. type: TH
911 #: build/C/man2/brk.2:29 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:32 build/C/man3/gethostid.3:29
912 #, no-wrap
913 msgid "2010-09-20"
914 msgstr ""
915
916 #. type: Plain text
917 #: build/C/man2/brk.2:32
918 msgid "brk, sbrk - change data segment size"
919 msgstr ""
920
921 #. type: Plain text
922 #: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 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
923 msgid "B<#include E<lt>unistd.hE<gt>>"
924 msgstr ""
925
926 #. type: Plain text
927 #: build/C/man2/brk.2:36
928 msgid "B<int brk(void *>I<addr>B<);>"
929 msgstr ""
930
931 #. type: Plain text
932 #: build/C/man2/brk.2:38
933 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
934 msgstr ""
935
936 #. type: Plain text
937 #: build/C/man2/brk.2:46
938 msgid "B<brk>(), B<sbrk>():"
939 msgstr ""
940
941 #. type: TP
942 #: 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
943 #, no-wrap
944 msgid "Since glibc 2.12:"
945 msgstr ""
946
947 #. type: Plain text
948 #: build/C/man2/brk.2:56
949 #, no-wrap
950 msgid ""
951 "_BSD_SOURCE || _SVID_SOURCE ||\n"
952 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
953 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
954 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
955 msgstr ""
956
957 #. type: Plain text
958 #: build/C/man2/brk.2:61
959 msgid ""
960 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
961 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
962 msgstr ""
963
964 #. type: Plain text
965 #: build/C/man2/brk.2:76
966 msgid ""
967 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
968 "defines the end of the process's data segment (i.e., the program break is "
969 "the first location after the end of the uninitialized data segment).  "
970 "Increasing the program break has the effect of allocating memory to the "
971 "process; decreasing the break deallocates memory."
972 msgstr ""
973
974 #. type: Plain text
975 #: build/C/man2/brk.2:83
976 msgid ""
977 "B<brk>()  sets the end of the data segment to the value specified by "
978 "I<addr>, when that value is reasonable, the system has enough memory, and "
979 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
980 msgstr ""
981
982 #. type: Plain text
983 #: build/C/man2/brk.2:93
984 msgid ""
985 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
986 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
987 "location of the program break."
988 msgstr ""
989
990 #. type: Plain text
991 #: build/C/man2/brk.2:102
992 msgid ""
993 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
994 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
995 msgstr ""
996
997 #. type: Plain text
998 #: build/C/man2/brk.2:114
999 msgid ""
1000 "On success, B<sbrk>()  returns the previous program break.  (If the break "
1001 "was increased, then this value is a pointer to the start of the newly "
1002 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
1003 "is set to B<ENOMEM>."
1004 msgstr ""
1005
1006 #
1007 #.  .BR brk ()
1008 #.  and
1009 #.  .BR sbrk ()
1010 #.  are not defined in the C Standard and are deliberately excluded from the
1011 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
1012 #. type: Plain text
1013 #: build/C/man2/brk.2:122
1014 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
1015 msgstr ""
1016
1017 #. type: Plain text
1018 #: build/C/man2/brk.2:131
1019 msgid ""
1020 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
1021 "package is the portable and comfortable way of allocating memory."
1022 msgstr ""
1023
1024 #.  One sees
1025 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
1026 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
1027 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
1028 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
1029 #.  Tru64 5.1, glibc2.2).
1030 #. type: Plain text
1031 #: build/C/man2/brk.2:141
1032 msgid ""
1033 "Various systems use various types for the argument of B<sbrk>().  Common are "
1034 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
1035 msgstr ""
1036
1037 #. type: SS
1038 #: build/C/man2/brk.2:141 build/C/man2/vfork.2:213
1039 #, no-wrap
1040 msgid "Linux notes"
1041 msgstr ""
1042
1043 #. type: Plain text
1044 #: build/C/man2/brk.2:157
1045 msgid ""
1046 "The return value described above for B<brk>()  is the behavior provided by "
1047 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
1048 "other implementations, the return value from B<brk>()  is the same; this "
1049 "return value was also specified in SUSv2.)  However, the actual Linux system "
1050 "call returns the new program break on success.  On failure, the system call "
1051 "returns the current break.  The glibc wrapper function does some work (i.e., "
1052 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
1053 "return values described above."
1054 msgstr ""
1055
1056 #. type: Plain text
1057 #: build/C/man2/brk.2:164
1058 msgid ""
1059 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
1060 "B<brk>()  system call, and does some internal bookkeeping so that it can "
1061 "return the old break value."
1062 msgstr ""
1063
1064 #. type: Plain text
1065 #: build/C/man2/brk.2:169
1066 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
1067 msgstr ""
1068
1069 #. type: TH
1070 #: build/C/man2/chdir.2:33
1071 #, no-wrap
1072 msgid "CHDIR"
1073 msgstr ""
1074
1075 #. type: TH
1076 #: build/C/man2/chdir.2:33
1077 #, no-wrap
1078 msgid "2010-11-25"
1079 msgstr ""
1080
1081 #. type: Plain text
1082 #: build/C/man2/chdir.2:36
1083 msgid "chdir, fchdir - change working directory"
1084 msgstr ""
1085
1086 #. type: Plain text
1087 #: build/C/man2/chdir.2:40
1088 msgid "B<int chdir(const char *>I<path>B<);>"
1089 msgstr ""
1090
1091 #. type: Plain text
1092 #: build/C/man2/chdir.2:42
1093 msgid "B<int fchdir(int >I<fd>B<);>"
1094 msgstr ""
1095
1096 #. type: Plain text
1097 #: build/C/man2/chdir.2:49
1098 msgid "B<fchdir>():"
1099 msgstr ""
1100
1101 #. type: Plain text
1102 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:62 build/C/man2/chown.2:71 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:66 build/C/man2/truncate.2:74
1103 msgid ""
1104 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1105 "_XOPEN_SOURCE_EXTENDED"
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:64 build/C/man2/chown.2:73 build/C/man2/pread.2:50 build/C/man2/truncate.2:68
1110 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
1111 msgstr ""
1112
1113 #. type: Plain text
1114 #: build/C/man2/chdir.2:64
1115 msgid ""
1116 "B<chdir>()  changes the current working directory of the calling process to "
1117 "the directory specified in I<path>."
1118 msgstr ""
1119
1120 #. type: Plain text
1121 #: build/C/man2/chdir.2:70
1122 msgid ""
1123 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
1124 "directory is given as an open file descriptor."
1125 msgstr ""
1126
1127 #. type: Plain text
1128 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:236 build/C/man2/chown.2:224 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
1129 msgid ""
1130 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1131 "appropriately."
1132 msgstr ""
1133
1134 #. type: Plain text
1135 #: build/C/man2/chdir.2:81
1136 msgid ""
1137 "Depending on the filesystem, other errors can be returned.  The more general "
1138 "errors for B<chdir>()  are listed below:"
1139 msgstr ""
1140
1141 #. type: Plain text
1142 #: build/C/man2/chdir.2:87
1143 msgid ""
1144 "Search permission is denied for one of the components of I<path>.  (See also "
1145 "B<path_resolution>(7).)"
1146 msgstr ""
1147
1148 #. type: Plain text
1149 #: build/C/man2/chdir.2:91 build/C/man2/chroot.2:109
1150 msgid "I<path> points outside your accessible address space."
1151 msgstr ""
1152
1153 #. type: Plain text
1154 #: build/C/man2/chdir.2:98 build/C/man2/chroot.2:116
1155 msgid "Too many symbolic links were encountered in resolving I<path>."
1156 msgstr ""
1157
1158 #. type: Plain text
1159 #: build/C/man2/chdir.2:102 build/C/man2/chroot.2:120
1160 msgid "I<path> is too long."
1161 msgstr ""
1162
1163 #. type: Plain text
1164 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:266 build/C/man2/chown.2:251 build/C/man2/chroot.2:123
1165 msgid "The file does not exist."
1166 msgstr ""
1167
1168 #. type: Plain text
1169 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
1170 msgid "A component of I<path> is not a directory."
1171 msgstr ""
1172
1173 #. type: Plain text
1174 #: build/C/man2/chdir.2:117
1175 msgid "The general errors for B<fchdir>()  are listed below:"
1176 msgstr ""
1177
1178 #. type: Plain text
1179 #: build/C/man2/chdir.2:121
1180 msgid "Search permission was denied on the directory open on I<fd>."
1181 msgstr ""
1182
1183 #. type: Plain text
1184 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:91
1185 msgid "I<fd> is not a valid file descriptor."
1186 msgstr ""
1187
1188 #. type: Plain text
1189 #: build/C/man2/chdir.2:127
1190 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1191 msgstr ""
1192
1193 #. type: Plain text
1194 #: build/C/man2/chdir.2:130
1195 msgid ""
1196 "The current working directory is the starting point for interpreting "
1197 "relative pathnames (those not starting with \\(aq/\\(aq)."
1198 msgstr ""
1199
1200 #. type: Plain text
1201 #: build/C/man2/chdir.2:136
1202 msgid ""
1203 "A child process created via B<fork>(2)  inherits its parent's current "
1204 "working directory.  The current working directory is left unchanged by "
1205 "B<execve>(2)."
1206 msgstr ""
1207
1208 #. type: Plain text
1209 #: build/C/man2/chdir.2:140
1210 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1211 msgstr ""
1212
1213 #. type: TH
1214 #: build/C/man2/chmod.2:32
1215 #, no-wrap
1216 msgid "CHMOD"
1217 msgstr ""
1218
1219 #. type: Plain text
1220 #: build/C/man2/chmod.2:35
1221 msgid "chmod, fchmod, fchmodat - change permissions of a file"
1222 msgstr ""
1223
1224 #. type: Plain text
1225 #: build/C/man2/chmod.2:38
1226 #, no-wrap
1227 msgid "B<#include E<lt>sys/stat.hE<gt>>\n"
1228 msgstr ""
1229
1230 #. type: Plain text
1231 #: build/C/man2/chmod.2:40
1232 #, no-wrap
1233 msgid "B<int chmod(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
1234 msgstr ""
1235
1236 #. type: Plain text
1237 #: build/C/man2/chmod.2:42
1238 #, no-wrap
1239 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>\n"
1240 msgstr ""
1241
1242 #. type: Plain text
1243 #: build/C/man2/chmod.2:45
1244 #, no-wrap
1245 msgid ""
1246 "B<#include E<lt>fcntl.hE<gt>>           /* Definition of AT_* constants */\n"
1247 "B<#include E<lt>sys/stat.hE<gt>>\n"
1248 msgstr ""
1249
1250 #. type: Plain text
1251 #: build/C/man2/chmod.2:48
1252 #, no-wrap
1253 msgid ""
1254 "B<int fchmodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
1255 ">I<mode>B<, int >I<flags>B<);>\n"
1256 msgstr ""
1257
1258 #. type: Plain text
1259 #: build/C/man2/chmod.2:58
1260 msgid "B<fchmod>():"
1261 msgstr ""
1262
1263 #. type: Plain text
1264 #: build/C/man2/chmod.2:68
1265 msgid "B<fchmodat>():"
1266 msgstr ""
1267
1268 #. type: Plain text
1269 #: build/C/man2/chmod.2:88
1270 msgid ""
1271 "The B<chmod>()  and B<fchmod>()  system calls change the permissions of a "
1272 "file.  They differ only in how the file is specified:"
1273 msgstr ""
1274
1275 #. type: IP
1276 #: build/C/man2/chmod.2:88 build/C/man2/chmod.2:93 build/C/man2/chown.2:96 build/C/man2/chown.2:101 build/C/man2/chown.2:105 build/C/man2/chown.2:366 build/C/man2/chown.2:371 build/C/man2/chown.2:377 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:691 build/C/man2/syscalls.2:712 build/C/man2/syscalls.2:723 build/C/man2/syscalls.2:730 build/C/man2/syscalls.2:741 build/C/man2/syscalls.2:753 build/C/man2/syscalls.2:774 build/C/man2/syscalls.2:782 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
1277 #, no-wrap
1278 msgid "*"
1279 msgstr ""
1280
1281 #. type: Plain text
1282 #: build/C/man2/chmod.2:93
1283 msgid ""
1284 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1285 "given in I<pathname>, which is dereferenced if it is a symbolic link."
1286 msgstr ""
1287
1288 #. type: Plain text
1289 #: build/C/man2/chmod.2:97
1290 msgid ""
1291 "B<fchmod>()  changes the permissions of the file referred to by the open "
1292 "file descriptor I<fd>."
1293 msgstr ""
1294
1295 #. type: Plain text
1296 #: build/C/man2/chmod.2:102
1297 msgid ""
1298 "The new file permissions are specified in I<mode>, which is a bit mask "
1299 "created by ORing together zero or more of the following:"
1300 msgstr ""
1301
1302 #. type: TP
1303 #: build/C/man2/chmod.2:102
1304 #, no-wrap
1305 msgid "B<S_ISUID>  (04000)"
1306 msgstr ""
1307
1308 #. type: Plain text
1309 #: build/C/man2/chmod.2:106
1310 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1311 msgstr ""
1312
1313 #. type: TP
1314 #: build/C/man2/chmod.2:106
1315 #, no-wrap
1316 msgid "B<S_ISGID>  (02000)"
1317 msgstr ""
1318
1319 #. type: Plain text
1320 #: build/C/man2/chmod.2:116
1321 msgid ""
1322 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1323 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1324 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1325 msgstr ""
1326
1327 #. type: TP
1328 #: build/C/man2/chmod.2:116
1329 #, no-wrap
1330 msgid "B<S_ISVTX>  (01000)"
1331 msgstr ""
1332
1333 #. type: Plain text
1334 #: build/C/man2/chmod.2:120
1335 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1336 msgstr ""
1337
1338 #. type: TP
1339 #: build/C/man2/chmod.2:120
1340 #, no-wrap
1341 msgid "B<S_IRUSR>  (00400)"
1342 msgstr ""
1343
1344 #. type: Plain text
1345 #: build/C/man2/chmod.2:123
1346 msgid "read by owner"
1347 msgstr ""
1348
1349 #. type: TP
1350 #: build/C/man2/chmod.2:123
1351 #, no-wrap
1352 msgid "B<S_IWUSR>  (00200)"
1353 msgstr ""
1354
1355 #. type: Plain text
1356 #: build/C/man2/chmod.2:126
1357 msgid "write by owner"
1358 msgstr ""
1359
1360 #. type: TP
1361 #: build/C/man2/chmod.2:126
1362 #, no-wrap
1363 msgid "B<S_IXUSR>  (00100)"
1364 msgstr ""
1365
1366 #. type: Plain text
1367 #: build/C/man2/chmod.2:130
1368 msgid ""
1369 "execute/search by owner (\"search\" applies for directories, and means that "
1370 "entries within the directory can be accessed)"
1371 msgstr ""
1372
1373 #. type: TP
1374 #: build/C/man2/chmod.2:130
1375 #, no-wrap
1376 msgid "B<S_IRGRP>  (00040)"
1377 msgstr ""
1378
1379 #. type: Plain text
1380 #: build/C/man2/chmod.2:133
1381 msgid "read by group"
1382 msgstr ""
1383
1384 #. type: TP
1385 #: build/C/man2/chmod.2:133
1386 #, no-wrap
1387 msgid "B<S_IWGRP>  (00020)"
1388 msgstr ""
1389
1390 #. type: Plain text
1391 #: build/C/man2/chmod.2:136
1392 msgid "write by group"
1393 msgstr ""
1394
1395 #. type: TP
1396 #: build/C/man2/chmod.2:136
1397 #, no-wrap
1398 msgid "B<S_IXGRP>  (00010)"
1399 msgstr ""
1400
1401 #. type: Plain text
1402 #: build/C/man2/chmod.2:139
1403 msgid "execute/search by group"
1404 msgstr ""
1405
1406 #. type: TP
1407 #: build/C/man2/chmod.2:139
1408 #, no-wrap
1409 msgid "B<S_IROTH>  (00004)"
1410 msgstr ""
1411
1412 #. type: Plain text
1413 #: build/C/man2/chmod.2:142
1414 msgid "read by others"
1415 msgstr ""
1416
1417 #. type: TP
1418 #: build/C/man2/chmod.2:142
1419 #, no-wrap
1420 msgid "B<S_IWOTH>  (00002)"
1421 msgstr ""
1422
1423 #. type: Plain text
1424 #: build/C/man2/chmod.2:145
1425 msgid "write by others"
1426 msgstr ""
1427
1428 #. type: TP
1429 #: build/C/man2/chmod.2:145
1430 #, no-wrap
1431 msgid "B<S_IXOTH>  (00001)"
1432 msgstr ""
1433
1434 #. type: Plain text
1435 #: build/C/man2/chmod.2:148
1436 msgid "execute/search by others"
1437 msgstr ""
1438
1439 #. type: Plain text
1440 #: build/C/man2/chmod.2:153
1441 msgid ""
1442 "The effective UID of the calling process must match the owner of the file, "
1443 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1444 "capability)."
1445 msgstr ""
1446
1447 #. type: Plain text
1448 #: build/C/man2/chmod.2:162
1449 msgid ""
1450 "If the calling process is not privileged (Linux: does not have the "
1451 "B<CAP_FSETID> capability), and the group of the file does not match the "
1452 "effective group ID of the process or one of its supplementary group IDs, the "
1453 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1454 "returned."
1455 msgstr ""
1456
1457 #. type: Plain text
1458 #: build/C/man2/chmod.2:174
1459 msgid ""
1460 "As a security measure, depending on the filesystem, the set-user-ID and "
1461 "set-group-ID execution bits may be turned off if a file is written.  (On "
1462 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1463 "capability.)  On some filesystems, only the superuser can set the sticky "
1464 "bit, which may have a special meaning.  For the sticky bit, and for "
1465 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1466 msgstr ""
1467
1468 #. type: Plain text
1469 #: build/C/man2/chmod.2:182
1470 msgid ""
1471 "On NFS filesystems, restricting the permissions will immediately influence "
1472 "already open files, because the access control is done on the server, but "
1473 "open files are maintained by the client.  Widening the permissions may be "
1474 "delayed for other clients if attribute caching is enabled on them."
1475 msgstr ""
1476
1477 #. type: SS
1478 #: build/C/man2/chmod.2:182
1479 #, no-wrap
1480 msgid "fchmodat()"
1481 msgstr ""
1482
1483 #. type: Plain text
1484 #: build/C/man2/chmod.2:188
1485 msgid ""
1486 "The B<fchmodat>()  system call operates in exactly the same way as "
1487 "B<chmod>(), except for the differences described here."
1488 msgstr ""
1489
1490 #. type: Plain text
1491 #: build/C/man2/chmod.2:198
1492 msgid ""
1493 "If the pathname given in I<pathname> is relative, then it is interpreted "
1494 "relative to the directory referred to by the file descriptor I<dirfd> "
1495 "(rather than relative to the current working directory of the calling "
1496 "process, as is done by B<chmod>()  for a relative pathname)."
1497 msgstr ""
1498
1499 #. type: Plain text
1500 #: build/C/man2/chmod.2:210
1501 msgid ""
1502 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
1503 "then I<pathname> is interpreted relative to the current working directory of "
1504 "the calling process (like B<chmod>())."
1505 msgstr ""
1506
1507 #. type: Plain text
1508 #: build/C/man2/chmod.2:219
1509 msgid "I<flags> can either be 0, or include the following flag:"
1510 msgstr ""
1511
1512 #. type: Plain text
1513 #: build/C/man2/chmod.2:226
1514 msgid ""
1515 "If I<pathname> is a symbolic link, do not dereference it: instead operate on "
1516 "the link itself.  This flag is not currently implemented."
1517 msgstr ""
1518
1519 #. type: Plain text
1520 #: build/C/man2/chmod.2:231
1521 msgid "See B<openat>(2)  for an explanation of the need for B<fchmodat>()."
1522 msgstr ""
1523
1524 #. type: Plain text
1525 #: build/C/man2/chmod.2:239 build/C/man2/chown.2:227
1526 msgid ""
1527 "Depending on the filesystem, errors other than those listed below can be "
1528 "returned."
1529 msgstr ""
1530
1531 #. type: Plain text
1532 #: build/C/man2/chmod.2:243
1533 msgid "The more general errors for B<chmod>()  are listed below:"
1534 msgstr ""
1535
1536 #.  Also search permission is required on the final component,
1537 #.  maybe just to guarantee that it is a directory?
1538 #. type: Plain text
1539 #: build/C/man2/chmod.2:248 build/C/man2/chown.2:236 build/C/man2/chroot.2:105
1540 msgid ""
1541 "Search permission is denied on a component of the path prefix.  (See also "
1542 "B<path_resolution>(7).)"
1543 msgstr ""
1544
1545 #. type: Plain text
1546 #: build/C/man2/chmod.2:272 build/C/man2/chown.2:257 build/C/man2/truncate.2:164
1547 msgid "A component of the path prefix is not a directory."
1548 msgstr ""
1549
1550 #. type: TP
1551 #: build/C/man2/chmod.2:272 build/C/man2/chmod.2:293 build/C/man2/chown.2:257 build/C/man2/chown.2:277 build/C/man2/chroot.2:131 build/C/man3/crypt.3:169 build/C/man2/execve.2:443 build/C/man2/execve.2:449 build/C/man2/fcntl.2:1157 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:178 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:152 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:164 build/C/man2/vhangup.2:56
1552 #, no-wrap
1553 msgid "B<EPERM>"
1554 msgstr ""
1555
1556 #. type: Plain text
1557 #: build/C/man2/chmod.2:278
1558 msgid ""
1559 "The effective UID does not match the owner of the file, and the process is "
1560 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1561 msgstr ""
1562
1563 #. type: Plain text
1564 #: build/C/man2/chmod.2:281 build/C/man2/chown.2:264 build/C/man2/truncate.2:173
1565 msgid "The named file resides on a read-only filesystem."
1566 msgstr ""
1567
1568 #. type: Plain text
1569 #: build/C/man2/chmod.2:285
1570 msgid "The general errors for B<fchmod>()  are listed below:"
1571 msgstr ""
1572
1573 #. type: Plain text
1574 #: build/C/man2/chmod.2:290
1575 msgid "The file descriptor I<fd> is not valid."
1576 msgstr ""
1577
1578 #. type: Plain text
1579 #: build/C/man2/chmod.2:293 build/C/man2/chmod.2:296 build/C/man2/chmod.2:299 build/C/man2/chown.2:277 build/C/man2/chown.2:280 build/C/man2/chown.2:283
1580 msgid "See above."
1581 msgstr ""
1582
1583 #. type: Plain text
1584 #: build/C/man2/chmod.2:306
1585 msgid ""
1586 "The same errors that occur for B<chmod>()  can also occur for "
1587 "B<fchmodat>().  The following additional errors can occur for B<fchmodat>():"
1588 msgstr ""
1589
1590 #. type: TP
1591 #: build/C/man2/chmod.2:320
1592 #, no-wrap
1593 msgid "B<ENOTSUP>"
1594 msgstr ""
1595
1596 #. type: Plain text
1597 #: build/C/man2/chmod.2:326
1598 msgid "I<flags> specified B<AT_SYMLINK_NOFOLLOW>, which is not supported."
1599 msgstr ""
1600
1601 #. type: Plain text
1602 #: build/C/man2/chmod.2:330
1603 msgid ""
1604 "B<fchmodat>()  was added to Linux in kernel 2.6.16; library support was "
1605 "added to glibc in version 2.4."
1606 msgstr ""
1607
1608 #. type: Plain text
1609 #: build/C/man2/chmod.2:334
1610 msgid "B<chmod>(), B<fchmod>(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008."
1611 msgstr ""
1612
1613 #. type: Plain text
1614 #: build/C/man2/chmod.2:337
1615 msgid "B<fchmodat>(): POSIX.1-2008."
1616 msgstr ""
1617
1618 #. type: Plain text
1619 #: build/C/man2/chmod.2:347
1620 msgid ""
1621 "The GNU C library B<fchmodat>()  wrapper function implements the "
1622 "POSIX-specified interface described in this page.  This interface differs "
1623 "from the underlying Linux system call, which does I<not> have a I<flags> "
1624 "argument."
1625 msgstr ""
1626
1627 #. type: Plain text
1628 #: build/C/man2/chmod.2:354
1629 msgid ""
1630 "B<chown>(2), B<execve>(2), B<open>(2), B<stat>(2), B<path_resolution>(7), "
1631 "B<symlink>(7)"
1632 msgstr ""
1633
1634 #. type: TH
1635 #: build/C/man2/chown.2:38
1636 #, no-wrap
1637 msgid "CHOWN"
1638 msgstr ""
1639
1640 #. type: Plain text
1641 #: build/C/man2/chown.2:41
1642 msgid "chown, fchown, lchown, fchownat - change ownership of a file"
1643 msgstr ""
1644
1645 #. type: Plain text
1646 #: build/C/man2/chown.2:46
1647 #, no-wrap
1648 msgid ""
1649 "B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1650 ">I<group>B<);>\n"
1651 msgstr ""
1652
1653 #. type: Plain text
1654 #: build/C/man2/chown.2:48
1655 #, no-wrap
1656 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1657 msgstr ""
1658
1659 #. type: Plain text
1660 #: build/C/man2/chown.2:50
1661 #, no-wrap
1662 msgid ""
1663 "B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1664 ">I<group>B<);>\n"
1665 msgstr ""
1666
1667 #. type: Plain text
1668 #: build/C/man2/chown.2:56
1669 #, no-wrap
1670 msgid ""
1671 "B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
1672 "B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
1673 msgstr ""
1674
1675 #. type: Plain text
1676 #: build/C/man2/chown.2:66
1677 msgid "B<fchown>(), B<lchown>():"
1678 msgstr ""
1679
1680 #. type: Plain text
1681 #: build/C/man2/chown.2:76
1682 msgid "B<fchownat>():"
1683 msgstr ""
1684
1685 #. type: Plain text
1686 #: build/C/man2/chown.2:96
1687 msgid ""
1688 "These system calls change the owner and group of a file.  The B<chown>(), "
1689 "B<fchown>(), and B<lchown>()  system calls differ only in how the file is "
1690 "specified:"
1691 msgstr ""
1692
1693 #. type: Plain text
1694 #: build/C/man2/chown.2:101
1695 msgid ""
1696 "B<chown>()  changes the ownership of the file specified by I<pathname>, "
1697 "which is dereferenced if it is a symbolic link."
1698 msgstr ""
1699
1700 #. type: Plain text
1701 #: build/C/man2/chown.2:105
1702 msgid ""
1703 "B<fchown>()  changes the ownership of the file referred to by the open file "
1704 "descriptor I<fd>."
1705 msgstr ""
1706
1707 #. type: Plain text
1708 #: build/C/man2/chown.2:110
1709 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1710 msgstr ""
1711
1712 #. type: Plain text
1713 #: build/C/man2/chown.2:119
1714 msgid ""
1715 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1716 "change the owner of a file.  The owner of a file may change the group of the "
1717 "file to any group of which that owner is a member.  A privileged process "
1718 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1719 msgstr ""
1720
1721 #. type: Plain text
1722 #: build/C/man2/chown.2:125
1723 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1724 msgstr ""
1725
1726 #.  In Linux 2.0 kernels, superuser was like everyone else
1727 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1728 #.  Since 2.2.13, superuser is once more like everyone else.
1729 #. type: Plain text
1730 #: build/C/man2/chown.2:145
1731 msgid ""
1732 "When the owner or group of an executable file are changed by an unprivileged "
1733 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1734 "specify whether this also should happen when root does the B<chown>(); the "
1735 "Linux behavior depends on the kernel version.  In case of a "
1736 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1737 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1738 "B<chown>()."
1739 msgstr ""
1740
1741 #. type: SS
1742 #: build/C/man2/chown.2:145
1743 #, no-wrap
1744 msgid "fchownat()"
1745 msgstr ""
1746
1747 #. type: Plain text
1748 #: build/C/man2/chown.2:151
1749 msgid ""
1750 "The B<fchownat>()  system call operates in exactly the same way as "
1751 "B<chown>(), except for the differences described here."
1752 msgstr ""
1753
1754 #. type: Plain text
1755 #: build/C/man2/chown.2:161
1756 msgid ""
1757 "If the pathname given in I<pathname> is relative, then it is interpreted "
1758 "relative to the directory referred to by the file descriptor I<dirfd> "
1759 "(rather than relative to the current working directory of the calling "
1760 "process, as is done by B<chown>()  for a relative pathname)."
1761 msgstr ""
1762
1763 #. type: Plain text
1764 #: build/C/man2/chown.2:173
1765 msgid ""
1766 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
1767 "then I<pathname> is interpreted relative to the current working directory of "
1768 "the calling process (like B<chown>())."
1769 msgstr ""
1770
1771 #. type: Plain text
1772 #: build/C/man2/chown.2:184
1773 msgid ""
1774 "The I<flags> argument is a bit mask created by ORing together 0 or more of "
1775 "the following values;"
1776 msgstr ""
1777
1778 #. type: TP
1779 #: build/C/man2/chown.2:184
1780 #, no-wrap
1781 msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
1782 msgstr ""
1783
1784 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
1785 #.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
1786 #. type: Plain text
1787 #: build/C/man2/chown.2:202
1788 msgid ""
1789 "If I<pathname> is an empty string, operate on the file referred to by "
1790 "I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
1791 "flag).  In this case, I<dirfd> can refer to any type of file, not just a "
1792 "directory.  This flag is Linux-specific; define B<_GNU_SOURCE> to obtain its "
1793 "definition."
1794 msgstr ""
1795
1796 #. type: Plain text
1797 #: build/C/man2/chown.2:214
1798 msgid ""
1799 "If I<pathname> is a symbolic link, do not dereference it: instead operate on "
1800 "the link itself, like B<lchown>().  (By default, B<fchownat>()  dereferences "
1801 "symbolic links, like B<chown>().)"
1802 msgstr ""
1803
1804 #. type: Plain text
1805 #: build/C/man2/chown.2:219
1806 msgid "See B<openat>(2)  for an explanation of the need for B<fchownat>()."
1807 msgstr ""
1808
1809 #. type: Plain text
1810 #: build/C/man2/chown.2:231
1811 msgid "The more general errors for B<chown>()  are listed below."
1812 msgstr ""
1813
1814 #. type: Plain text
1815 #: build/C/man2/chown.2:261
1816 msgid ""
1817 "The calling process did not have the required permissions (see above) to "
1818 "change owner and/or group."
1819 msgstr ""
1820
1821 #. type: Plain text
1822 #: build/C/man2/chown.2:268
1823 msgid "The general errors for B<fchown>()  are listed below:"
1824 msgstr ""
1825
1826 #. type: Plain text
1827 #: build/C/man2/chown.2:271
1828 msgid "The descriptor is not valid."
1829 msgstr ""
1830
1831 #. type: Plain text
1832 #: build/C/man2/chown.2:274
1833 msgid "A low-level I/O error occurred while modifying the inode."
1834 msgstr ""
1835
1836 #. type: Plain text
1837 #: build/C/man2/chown.2:290
1838 msgid ""
1839 "The same errors that occur for B<chown>()  can also occur for "
1840 "B<fchownat>().  The following additional errors can occur for B<fchownat>():"
1841 msgstr ""
1842
1843 #. type: Plain text
1844 #: build/C/man2/chown.2:308
1845 msgid ""
1846 "B<fchownat>()  was added to Linux in kernel 2.6.16; library support was "
1847 "added to glibc in version 2.4."
1848 msgstr ""
1849
1850 #. type: Plain text
1851 #: build/C/man2/chown.2:313
1852 msgid ""
1853 "B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, "
1854 "POSIX.1-2008."
1855 msgstr ""
1856
1857 #.  chown():
1858 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1859 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1860 #.  fchown():
1861 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1862 #.  error conditions.
1863 #. type: Plain text
1864 #: build/C/man2/chown.2:322
1865 msgid ""
1866 "The 4.4BSD version can be used only by the superuser (that is, ordinary "
1867 "users cannot give away files)."
1868 msgstr ""
1869
1870 #. type: Plain text
1871 #: build/C/man2/chown.2:325
1872 msgid "B<fchownat>(): POSIX.1-2008."
1873 msgstr ""
1874
1875 #. type: Plain text
1876 #: build/C/man2/chown.2:344
1877 msgid ""
1878 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1879 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1880 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1881 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1882 "transparently deal with the variations across kernel versions."
1883 msgstr ""
1884
1885 #. type: Plain text
1886 #: build/C/man2/chown.2:366
1887 msgid ""
1888 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1889 "its owner is made the same as the filesystem user ID of the creating "
1890 "process.  The group of the file depends on a range of factors, including the "
1891 "type of filesystem, the options used to mount the filesystem, and whether or "
1892 "not the set-group-ID permission bit is enabled on the parent directory.  If "
1893 "the filesystem supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1894 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1895 "B<mount>(8)  options, then the rules are as follows:"
1896 msgstr ""
1897
1898 #. type: Plain text
1899 #: build/C/man2/chown.2:371
1900 msgid ""
1901 "If the filesystem is mounted with I<-o\\ grpid>, then the group of a new "
1902 "file is made the same as that of the parent directory."
1903 msgstr ""
1904
1905 #. type: Plain text
1906 #: build/C/man2/chown.2:377
1907 msgid ""
1908 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1909 "is disabled on the parent directory, then the group of a new file is made "
1910 "the same as the process's filesystem GID."
1911 msgstr ""
1912
1913 #. type: Plain text
1914 #: build/C/man2/chown.2:383
1915 msgid ""
1916 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1917 "is enabled on the parent directory, then the group of a new file is made the "
1918 "same as that of the parent directory."
1919 msgstr ""
1920
1921 #. type: Plain text
1922 #: build/C/man2/chown.2:393
1923 msgid ""
1924 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1925 "supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
1926 "these mount options follow the I<-o\\ nogrpid> rules."
1927 msgstr ""
1928
1929 #. type: Plain text
1930 #: build/C/man2/chown.2:406
1931 msgid ""
1932 "The B<chown>()  semantics are deliberately violated on NFS filesystems which "
1933 "have UID mapping enabled.  Additionally, the semantics of all system calls "
1934 "which access the file contents are violated, because B<chown>()  may cause "
1935 "immediate access revocation on already open files.  Client side caching may "
1936 "lead to a delay between the time where ownership have been changed to allow "
1937 "access for a user and the time where the file can actually be accessed by "
1938 "the user on other clients."
1939 msgstr ""
1940
1941 #. type: Plain text
1942 #: build/C/man2/chown.2:421
1943 msgid ""
1944 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1945 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1946 "symbolic links, and there is a new system call B<lchown>()  that does not "
1947 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1948 "semantics as the old B<chown>())  has got the same syscall number, and "
1949 "B<chown>()  got the newly introduced number."
1950 msgstr ""
1951
1952 #. type: Plain text
1953 #: build/C/man2/chown.2:430
1954 msgid ""
1955 "The following program changes the ownership of the file named in its second "
1956 "command-line argument to the value specified in its first command-line "
1957 "argument.  The new owner can be specified either as a numeric user ID, or as "
1958 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1959 "perform a lookup in the system password file)."
1960 msgstr ""
1961
1962 #. type: SS
1963 #: build/C/man2/chown.2:430
1964 #, no-wrap
1965 msgid "Program source"
1966 msgstr ""
1967
1968 #. type: Plain text
1969 #: build/C/man2/chown.2:436
1970 #, no-wrap
1971 msgid ""
1972 "#include E<lt>pwd.hE<gt>\n"
1973 "#include E<lt>stdio.hE<gt>\n"
1974 "#include E<lt>stdlib.hE<gt>\n"
1975 "#include E<lt>unistd.hE<gt>\n"
1976 msgstr ""
1977
1978 #. type: Plain text
1979 #: build/C/man2/chown.2:443
1980 #, no-wrap
1981 msgid ""
1982 "int\n"
1983 "main(int argc, char *argv[])\n"
1984 "{\n"
1985 "    uid_t uid;\n"
1986 "    struct passwd *pwd;\n"
1987 "    char *endptr;\n"
1988 msgstr ""
1989
1990 #. type: Plain text
1991 #: build/C/man2/chown.2:448
1992 #, no-wrap
1993 msgid ""
1994 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
1995 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
1996 "argv[0]);\n"
1997 "        exit(EXIT_FAILURE);\n"
1998 "    }\n"
1999 msgstr ""
2000
2001 #. type: Plain text
2002 #: build/C/man2/chown.2:450
2003 #, no-wrap
2004 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
2005 msgstr ""
2006
2007 #. type: Plain text
2008 #: build/C/man2/chown.2:457
2009 #, no-wrap
2010 msgid ""
2011 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
2012 "*/\n"
2013 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
2014 "        if (pwd == NULL) {\n"
2015 "            perror(\"getpwnam\");\n"
2016 "            exit(EXIT_FAILURE);\n"
2017 "        }\n"
2018 msgstr ""
2019
2020 #. type: Plain text
2021 #: build/C/man2/chown.2:460
2022 #, no-wrap
2023 msgid ""
2024 "        uid = pwd-E<gt>pw_uid;\n"
2025 "    }\n"
2026 msgstr ""
2027
2028 #. type: Plain text
2029 #: build/C/man2/chown.2:465
2030 #, no-wrap
2031 msgid ""
2032 "    if (chown(argv[2], uid, -1) == -1) {\n"
2033 "        perror(\"chown\");\n"
2034 "        exit(EXIT_FAILURE);\n"
2035 "    }\n"
2036 msgstr ""
2037
2038 #. type: Plain text
2039 #: build/C/man2/chown.2:468 build/C/man2/execve.2:571 build/C/man3/getopt.3:428 build/C/man3/getopt.3:513
2040 #, no-wrap
2041 msgid ""
2042 "    exit(EXIT_SUCCESS);\n"
2043 "}\n"
2044 msgstr ""
2045
2046 #. type: Plain text
2047 #: build/C/man2/chown.2:474
2048 msgid "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
2049 msgstr ""
2050
2051 #. type: TH
2052 #: build/C/man2/chroot.2:33
2053 #, no-wrap
2054 msgid "CHROOT"
2055 msgstr ""
2056
2057 #. type: Plain text
2058 #: build/C/man2/chroot.2:36
2059 msgid "chroot - change root directory"
2060 msgstr ""
2061
2062 #. type: Plain text
2063 #: build/C/man2/chroot.2:40
2064 msgid "B<int chroot(const char *>I<path>B<);>"
2065 msgstr ""
2066
2067 #. type: Plain text
2068 #: build/C/man2/chroot.2:47
2069 msgid "B<chroot>():"
2070 msgstr ""
2071
2072 #. type: TP
2073 #: build/C/man2/chroot.2:50
2074 #, no-wrap
2075 msgid "Since glibc 2.2.2:"
2076 msgstr ""
2077
2078 #. type: Plain text
2079 #: build/C/man2/chroot.2:57
2080 #, no-wrap
2081 msgid ""
2082 "_BSD_SOURCE ||\n"
2083 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2084 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2085 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2086 msgstr ""
2087
2088 #. type: Plain text
2089 #: build/C/man2/chroot.2:60
2090 msgid "Before glibc 2.2.2: none"
2091 msgstr ""
2092
2093 #. type: Plain text
2094 #: build/C/man2/chroot.2:69
2095 msgid ""
2096 "B<chroot>()  changes the root directory of the calling process to that "
2097 "specified in I<path>.  This directory will be used for pathnames beginning "
2098 "with I</>.  The root directory is inherited by all children of the calling "
2099 "process."
2100 msgstr ""
2101
2102 #. type: Plain text
2103 #: build/C/man2/chroot.2:74
2104 msgid ""
2105 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
2106 "may call B<chroot>()."
2107 msgstr ""
2108
2109 #. type: Plain text
2110 #: build/C/man2/chroot.2:77
2111 msgid ""
2112 "This call changes an ingredient in the pathname resolution process and does "
2113 "nothing else."
2114 msgstr ""
2115
2116 #. type: Plain text
2117 #: build/C/man2/chroot.2:83
2118 msgid ""
2119 "This call does not change the current working directory, so that after the "
2120 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
2121 "particular, the superuser can escape from a \"chroot jail\" by doing:"
2122 msgstr ""
2123
2124 #. type: Plain text
2125 #: build/C/man2/chroot.2:86
2126 #, no-wrap
2127 msgid "    mkdir foo; chroot foo; cd ..\n"
2128 msgstr ""
2129
2130 #. type: Plain text
2131 #: build/C/man2/chroot.2:90
2132 msgid ""
2133 "This call does not close open file descriptors, and such file descriptors "
2134 "may allow access to files outside the chroot tree."
2135 msgstr ""
2136
2137 #. type: Plain text
2138 #: build/C/man2/chroot.2:98
2139 msgid ""
2140 "Depending on the filesystem, other errors can be returned.  The more general "
2141 "errors are listed below:"
2142 msgstr ""
2143
2144 #. type: Plain text
2145 #: build/C/man2/chroot.2:134
2146 msgid "The caller has insufficient privilege."
2147 msgstr ""
2148
2149 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
2150 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
2151 #. type: Plain text
2152 #: build/C/man2/chroot.2:139
2153 msgid ""
2154 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
2155 "POSIX.1-2001."
2156 msgstr ""
2157
2158 #. type: Plain text
2159 #: build/C/man2/chroot.2:145
2160 msgid ""
2161 "A child process created via B<fork>(2)  inherits its parent's root "
2162 "directory.  The root directory is left unchanged by B<execve>(2)."
2163 msgstr ""
2164
2165 #.  FIXME . eventually say something about containers,
2166 #.  virtual servers, etc.?
2167 #. type: Plain text
2168 #: build/C/man2/chroot.2:151
2169 msgid "FreeBSD has a stronger B<jail>()  system call."
2170 msgstr ""
2171
2172 #. type: Plain text
2173 #: build/C/man2/chroot.2:154
2174 msgid "B<chdir>(2), B<path_resolution>(7)"
2175 msgstr ""
2176
2177 #. type: TH
2178 #: build/C/man2/close.2:35
2179 #, no-wrap
2180 msgid "CLOSE"
2181 msgstr ""
2182
2183 #. type: TH
2184 #: build/C/man2/close.2:35
2185 #, no-wrap
2186 msgid "2013-12-30"
2187 msgstr ""
2188
2189 #. type: Plain text
2190 #: build/C/man2/close.2:38
2191 msgid "close - close a file descriptor"
2192 msgstr ""
2193
2194 #. type: Plain text
2195 #: build/C/man2/close.2:43
2196 #, no-wrap
2197 msgid "B<int close(int >I<fd>B<);>\n"
2198 msgstr ""
2199
2200 #. type: Plain text
2201 #: build/C/man2/close.2:53
2202 msgid ""
2203 "B<close>()  closes a file descriptor, so that it no longer refers to any "
2204 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
2205 "file it was associated with, and owned by the process, are removed "
2206 "(regardless of the file descriptor that was used to obtain the lock)."
2207 msgstr ""
2208
2209 #. type: Plain text
2210 #: build/C/man2/close.2:64
2211 msgid ""
2212 "If I<fd> is the last file descriptor referring to the underlying open file "
2213 "description (see B<open>(2)), the resources associated with the open file "
2214 "description are freed; if the descriptor was the last reference to a file "
2215 "which has been removed using B<unlink>(2)  the file is deleted."
2216 msgstr ""
2217
2218 #. type: Plain text
2219 #: build/C/man2/close.2:70
2220 msgid ""
2221 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
2222 "is set appropriately."
2223 msgstr ""
2224
2225 #. type: Plain text
2226 #: build/C/man2/close.2:75
2227 msgid "I<fd> isn't a valid open file descriptor."
2228 msgstr ""
2229
2230 #. type: TP
2231 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1126 build/C/man2/flock.2:121 build/C/man2/truncate.2:133 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:83
2232 #, no-wrap
2233 msgid "B<EINTR>"
2234 msgstr ""
2235
2236 #. type: Plain text
2237 #: build/C/man2/close.2:81
2238 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
2239 msgstr ""
2240
2241 #. type: Plain text
2242 #: build/C/man2/close.2:87 build/C/man2/fork.2:208 build/C/man3/swab.3:79 build/C/man2/umask.2:97
2243 msgid "SVr4, 4.3BSD, POSIX.1-2001."
2244 msgstr ""
2245
2246 #. type: Plain text
2247 #: build/C/man2/close.2:107
2248 msgid ""
2249 "Not checking the return value of B<close>()  is a common but nevertheless "
2250 "serious programming error.  It is quite possible that errors on a previous "
2251 "B<write>(2)  operation are first reported at the final B<close>().  Not "
2252 "checking the return value when closing the file may lead to silent loss of "
2253 "data.  This can especially be observed with NFS and with disk quota.  Note "
2254 "that the return value should only be used for diagnostics.  In particular "
2255 "B<close>()  should not be retried after an B<EINTR> since this may cause a "
2256 "reused descriptor from another thread to be closed."
2257 msgstr ""
2258
2259 #. type: Plain text
2260 #: build/C/man2/close.2:116
2261 msgid ""
2262 "A successful close does not guarantee that the data has been successfully "
2263 "saved to disk, as the kernel defers writes.  It is not common for a "
2264 "filesystem to flush the buffers when the stream is closed.  If you need to "
2265 "be sure that the data is physically stored use B<fsync>(2).  (It will depend "
2266 "on the disk hardware at this point.)"
2267 msgstr ""
2268
2269 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
2270 #.  From: Fredrik Noring <noring@nocrew.org>
2271 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
2272 #.  in use by a system call is closed and then reused by e.g. an
2273 #.  independent open() in some unrelated thread, before the original system
2274 #.  call has restarted after ERESTARTSYS, the original system call will
2275 #.  later restart with the reused file descriptor. This is most likely a
2276 #.  serious programming error.
2277 #. type: Plain text
2278 #: build/C/man2/close.2:131
2279 msgid ""
2280 "It is probably unwise to close file descriptors while they may be in use by "
2281 "system calls in other threads in the same process.  Since a file descriptor "
2282 "may be reused, there are some obscure race conditions that may cause "
2283 "unintended side effects."
2284 msgstr ""
2285
2286 #. type: Plain text
2287 #: build/C/man2/close.2:138
2288 msgid ""
2289 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
2290 "B<fclose>(3)"
2291 msgstr ""
2292
2293 #. type: TH
2294 #: build/C/man3/confstr.3:31
2295 #, no-wrap
2296 msgid "CONFSTR"
2297 msgstr ""
2298
2299 #. type: TH
2300 #: build/C/man3/confstr.3:31
2301 #, no-wrap
2302 msgid "2012-05-10"
2303 msgstr ""
2304
2305 #. type: TH
2306 #: 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
2307 #, no-wrap
2308 msgid "GNU"
2309 msgstr ""
2310
2311 #. type: Plain text
2312 #: build/C/man3/confstr.3:34
2313 msgid "confstr - get configuration dependent string variables"
2314 msgstr ""
2315
2316 #. type: Plain text
2317 #: build/C/man3/confstr.3:39
2318 #, no-wrap
2319 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2320 msgstr ""
2321
2322 #. type: Plain text
2323 #: build/C/man3/confstr.3:48
2324 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
2325 msgstr ""
2326
2327 #. type: Plain text
2328 #: build/C/man3/confstr.3:51
2329 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
2330 msgstr ""
2331
2332 #. type: Plain text
2333 #: build/C/man3/confstr.3:56
2334 msgid ""
2335 "The I<name> argument is the system variable to be queried.  The following "
2336 "variables are supported:"
2337 msgstr ""
2338
2339 #. type: TP
2340 #: build/C/man3/confstr.3:56
2341 #, no-wrap
2342 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
2343 msgstr ""
2344
2345 #. type: Plain text
2346 #: build/C/man3/confstr.3:60
2347 msgid ""
2348 "A string which identifies the GNU C library version on this system (e.g, "
2349 "\"glibc 2.3.4\")."
2350 msgstr ""
2351
2352 #. type: TP
2353 #: build/C/man3/confstr.3:60
2354 #, no-wrap
2355 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
2356 msgstr ""
2357
2358 #. type: Plain text
2359 #: build/C/man3/confstr.3:64
2360 msgid ""
2361 "A string which identifies the POSIX implementation supplied by this C "
2362 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
2363 msgstr ""
2364
2365 #. type: TP
2366 #: build/C/man3/confstr.3:64
2367 #, no-wrap
2368 msgid "B<_CS_PATH>"
2369 msgstr ""
2370
2371 #. type: Plain text
2372 #: build/C/man3/confstr.3:70
2373 msgid ""
2374 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
2375 "standard utilities can be found."
2376 msgstr ""
2377
2378 #. type: Plain text
2379 #: build/C/man3/confstr.3:86
2380 msgid ""
2381 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
2382 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
2383 "null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing "
2384 "the return value of B<confstr>()  against I<len>."
2385 msgstr ""
2386
2387 #. type: Plain text
2388 #: build/C/man3/confstr.3:94
2389 msgid ""
2390 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
2391 "as defined below."
2392 msgstr ""
2393
2394 #. type: Plain text
2395 #: build/C/man3/confstr.3:106
2396 msgid ""
2397 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
2398 "number of bytes (including the terminating null byte)  that would be "
2399 "required to hold the entire value of that variable.  This value may be "
2400 "greater than I<len>, which means that the value in I<buf> is truncated."
2401 msgstr ""
2402
2403 #. type: Plain text
2404 #: build/C/man3/confstr.3:121
2405 msgid ""
2406 "If I<name> is a valid configuration variable, but that variable does not "
2407 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2408 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2409 "set to B<EINVAL>."
2410 msgstr ""
2411
2412 #. type: Plain text
2413 #: build/C/man3/confstr.3:127
2414 msgid "The value of I<name> is invalid."
2415 msgstr ""
2416
2417 #. type: Plain text
2418 #: 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:118
2419 msgid "POSIX.1-2001."
2420 msgstr ""
2421
2422 #. type: Plain text
2423 #: build/C/man3/confstr.3:132
2424 msgid ""
2425 "The following code fragment determines the path where to find the POSIX.2 "
2426 "system utilities:"
2427 msgstr ""
2428
2429 #. type: Plain text
2430 #: build/C/man3/confstr.3:138
2431 #, no-wrap
2432 msgid ""
2433 "char *pathbuf;\n"
2434 "size_t n;\n"
2435 msgstr ""
2436
2437 #. type: Plain text
2438 #: build/C/man3/confstr.3:144
2439 #, no-wrap
2440 msgid ""
2441 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2442 "pathbuf = malloc(n);\n"
2443 "if (pathbuf == NULL)\n"
2444 "    abort();\n"
2445 "confstr(_CS_PATH, pathbuf, n);\n"
2446 msgstr ""
2447
2448 #. type: Plain text
2449 #: build/C/man3/confstr.3:150
2450 msgid "B<sh>(1), B<exec>(3), B<system>(3)"
2451 msgstr ""
2452
2453 #. type: TH
2454 #: build/C/man3/crypt.3:36
2455 #, no-wrap
2456 msgid "CRYPT"
2457 msgstr ""
2458
2459 #. type: TH
2460 #: build/C/man3/crypt.3:36 build/C/man2/swapon.2:37
2461 #, no-wrap
2462 msgid "2014-02-26"
2463 msgstr ""
2464
2465 #. type: Plain text
2466 #: build/C/man3/crypt.3:39
2467 msgid "crypt, crypt_r - password and data encryption"
2468 msgstr ""
2469
2470 #. type: Plain text
2471 #: build/C/man3/crypt.3:42
2472 #, no-wrap
2473 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2474 msgstr ""
2475
2476 #. type: Plain text
2477 #: build/C/man3/crypt.3:46
2478 #, no-wrap
2479 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2480 msgstr ""
2481
2482 #. type: Plain text
2483 #: build/C/man3/crypt.3:48
2484 #, no-wrap
2485 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2486 msgstr ""
2487
2488 #. type: Plain text
2489 #: build/C/man3/crypt.3:50
2490 #, no-wrap
2491 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2492 msgstr ""
2493
2494 #. type: Plain text
2495 #: build/C/man3/crypt.3:53
2496 #, no-wrap
2497 msgid ""
2498 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2499 "B<              struct crypt_data *>I<data>B<);>\n"
2500 msgstr ""
2501
2502 #. type: Plain text
2503 #: build/C/man3/crypt.3:56
2504 msgid "Link with I<-lcrypt>."
2505 msgstr ""
2506
2507 #. type: Plain text
2508 #: build/C/man3/crypt.3:62
2509 msgid ""
2510 "B<crypt>()  is the password encryption function.  It is based on the Data "
2511 "Encryption Standard algorithm with variations intended (among other things) "
2512 "to discourage use of hardware implementations of a key search."
2513 msgstr ""
2514
2515 #. type: Plain text
2516 #: build/C/man3/crypt.3:65
2517 msgid "I<key> is a user's typed password."
2518 msgstr ""
2519
2520 #. type: Plain text
2521 #: build/C/man3/crypt.3:71
2522 msgid ""
2523 "I<salt> is a two-character string chosen from the set "
2524 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2525 "algorithm in one of 4096 different ways."
2526 msgstr ""
2527
2528 #. type: Plain text
2529 #: build/C/man3/crypt.3:82
2530 msgid ""
2531 "By taking the lowest 7 bits of each of the first eight characters of the "
2532 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2533 "repeatedly a constant string (usually a string consisting of all zeros).  "
2534 "The returned value points to the encrypted password, a series of 13 "
2535 "printable ASCII characters (the first two characters represent the salt "
2536 "itself).  The return value points to static data whose content is "
2537 "overwritten by each call."
2538 msgstr ""
2539
2540 #. type: Plain text
2541 #: build/C/man3/crypt.3:84
2542 msgid "Warning: The key space consists of"
2543 msgstr ""
2544
2545 #. type: Plain text
2546 #: build/C/man3/crypt.3:99
2547 msgid ""
2548 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2549 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2550 "is available which will search the portion of this key space that is "
2551 "generally used by humans for passwords.  Hence, password selection should, "
2552 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2553 "program that checks for crackable passwords during the selection process is "
2554 "recommended."
2555 msgstr ""
2556
2557 #. type: Plain text
2558 #: build/C/man3/crypt.3:108
2559 msgid ""
2560 "The DES algorithm itself has a few quirks which make the use of the "
2561 "B<crypt>()  interface a very poor choice for anything other than password "
2562 "authentication.  If you are planning on using the B<crypt>()  interface for "
2563 "a cryptography project, don't do it: get a good book on encryption and one "
2564 "of the widely available DES libraries."
2565 msgstr ""
2566
2567 #. type: Plain text
2568 #: build/C/man3/crypt.3:120
2569 msgid ""
2570 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2571 "to by I<data> is used to store result data and bookkeeping information.  "
2572 "Other than allocating it, the only thing that the caller should do with this "
2573 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2574 "to B<crypt_r>()."
2575 msgstr ""
2576
2577 #. type: Plain text
2578 #: build/C/man3/crypt.3:123
2579 msgid ""
2580 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2581 "is returned."
2582 msgstr ""
2583
2584 #. type: Plain text
2585 #: build/C/man3/crypt.3:128
2586 msgid "I<salt> has the wrong format."
2587 msgstr ""
2588
2589 #. type: TP
2590 #: build/C/man3/crypt.3:130 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:200
2591 #, no-wrap
2592 msgid "B<ENOSYS>"
2593 msgstr ""
2594
2595 #.  This level of detail is not necessary in this man page. . .
2596 #.  .PP
2597 #.  When encrypting a plain text P using DES with the key K results in the
2598 #.  encrypted text C, then the complementary plain text P' being encrypted
2599 #.  using the complementary key K' will result in the complementary encrypted
2600 #.  text C'.
2601 #.  .PP
2602 #.  Weak keys are keys which stay invariant under the DES key transformation.
2603 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2604 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2605 #.  .PP
2606 #.  There are six known half weak key pairs, which keys lead to the same
2607 #.  encrypted data.  Keys which are part of such key clusters should be
2608 #.  avoided.
2609 #.  Sorry, I could not find out what they are.
2610 #. "
2611 #.  .PP
2612 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2613 #.  .I codebook
2614 #.  mode that
2615 #.  .BR crypt ()
2616 #.  implements.  The
2617 #.  .BR crypt ()
2618 #.  interface should be used only for its intended purpose of password
2619 #.  verification, and should not be used as part of a data encryption tool.
2620 #.  .PP
2621 #.  The first and last three output bits of the fourth S-box can be
2622 #.  represented as function of their input bits.  Empiric studies have
2623 #.  shown that S-boxes partially compute the same output for similar input.
2624 #.  It is suspected that this may contain a back door which could allow the
2625 #.  NSA to decrypt DES encrypted data.
2626 #.  .PP
2627 #.  Making encrypted data computed using crypt() publicly available has
2628 #.  to be considered insecure for the given reasons.
2629 #. type: Plain text
2630 #: build/C/man3/crypt.3:169
2631 msgid ""
2632 "The B<crypt>()  function was not implemented, probably because of "
2633 "U.S.A. export restrictions."
2634 msgstr ""
2635
2636 #. type: Plain text
2637 #: build/C/man3/crypt.3:174
2638 msgid ""
2639 "I</proc/sys/crypto/fips_enabled> has a nonzero value, and an attempt was "
2640 "made to use a weak encryption type, such as DES."
2641 msgstr ""
2642
2643 #. type: SH
2644 #: build/C/man3/crypt.3:174 build/C/man3/daemon.3:91 build/C/man3/des_crypt.3:134 build/C/man3/encrypt.3:124 build/C/man3/euidaccess.3:73 build/C/man3/getlogin.3:140 build/C/man3/getusershell.3:93 build/C/man3/swab.3:72 build/C/man3/tcgetpgrp.3:109 build/C/man3/ualarm.3:92 build/C/man3/usleep.3:91
2645 #, no-wrap
2646 msgid "ATTRIBUTES"
2647 msgstr ""
2648
2649 #. type: SS
2650 #: build/C/man3/crypt.3:175 build/C/man3/daemon.3:92 build/C/man3/des_crypt.3:135 build/C/man3/encrypt.3:125 build/C/man3/euidaccess.3:74 build/C/man3/getlogin.3:141 build/C/man3/getusershell.3:94 build/C/man3/swab.3:73 build/C/man3/tcgetpgrp.3:110 build/C/man3/ualarm.3:93 build/C/man3/usleep.3:92
2651 #, no-wrap
2652 msgid "Multithreading (see pthreads(7))"
2653 msgstr ""
2654
2655 #. type: Plain text
2656 #: build/C/man3/crypt.3:179
2657 msgid "The B<crypt>()  function is not thread-safe."
2658 msgstr ""
2659
2660 #. type: Plain text
2661 #: build/C/man3/crypt.3:183
2662 msgid "The B<crypt_r>()  function is thread-safe."
2663 msgstr ""
2664
2665 #. type: Plain text
2666 #: build/C/man3/crypt.3:188
2667 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2668 msgstr ""
2669
2670 #. type: SS
2671 #: build/C/man3/crypt.3:189 build/C/man2/gethostname.2:140
2672 #, no-wrap
2673 msgid "Glibc notes"
2674 msgstr ""
2675
2676 #. type: Plain text
2677 #: build/C/man3/crypt.3:192
2678 msgid ""
2679 "The glibc2 version of this function supports additional encryption "
2680 "algorithms."
2681 msgstr ""
2682
2683 #. type: Plain text
2684 #: build/C/man3/crypt.3:197
2685 msgid ""
2686 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2687 "followed by a string terminated by \"$\":"
2688 msgstr ""
2689
2690 #. type: Plain text
2691 #: build/C/man3/crypt.3:200
2692 msgid "$I<id>$I<salt>$I<encrypted>"
2693 msgstr ""
2694
2695 #. type: Plain text
2696 #: build/C/man3/crypt.3:209
2697 msgid ""
2698 "then instead of using the DES machine, I<id> identifies the encryption "
2699 "method used and this then determines how the rest of the password string is "
2700 "interpreted.  The following values of I<id> are supported:"
2701 msgstr ""
2702
2703 #. type: tbl table
2704 #: build/C/man3/crypt.3:212
2705 #, no-wrap
2706 msgid "ID  | Method\n"
2707 msgstr ""
2708
2709 #. type: tbl table
2710 #: build/C/man3/crypt.3:213 build/C/man2/syscall.2:158 build/C/man2/syscall.2:183
2711 #, no-wrap
2712 msgid "_\n"
2713 msgstr ""
2714
2715 #. type: tbl table
2716 #: build/C/man3/crypt.3:214
2717 #, no-wrap
2718 msgid "1   | MD5\n"
2719 msgstr ""
2720
2721 #. type: tbl table
2722 #: build/C/man3/crypt.3:215
2723 #, no-wrap
2724 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2725 msgstr ""
2726
2727 #. type: tbl table
2728 #: build/C/man3/crypt.3:216
2729 #, no-wrap
2730 msgid "    | Linux distributions)\n"
2731 msgstr ""
2732
2733 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2734 #.  natively by glibc -- mtk, Jul 08
2735 #
2736 #.  md5 | Sun MD5
2737 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2738 #.  if any distros add the support.
2739 #. type: tbl table
2740 #: build/C/man3/crypt.3:223
2741 #, no-wrap
2742 msgid "5   | SHA-256 (since glibc 2.7)\n"
2743 msgstr ""
2744
2745 #. type: tbl table
2746 #: build/C/man3/crypt.3:224
2747 #, no-wrap
2748 msgid "6   | SHA-512 (since glibc 2.7)\n"
2749 msgstr ""
2750
2751 #. type: Plain text
2752 #: build/C/man3/crypt.3:231
2753 msgid ""
2754 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2755 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2756 msgstr ""
2757
2758 #. type: Plain text
2759 #: build/C/man3/crypt.3:236
2760 msgid ""
2761 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2762 "salt.  The encrypted part of the password string is the actual computed "
2763 "password.  The size of this string is fixed:"
2764 msgstr ""
2765
2766 #. type: tbl table
2767 #: build/C/man3/crypt.3:238
2768 #, no-wrap
2769 msgid "MD5     | 22 characters\n"
2770 msgstr ""
2771
2772 #. type: tbl table
2773 #: build/C/man3/crypt.3:239
2774 #, no-wrap
2775 msgid "SHA-256 | 43 characters\n"
2776 msgstr ""
2777
2778 #. type: tbl table
2779 #: build/C/man3/crypt.3:240
2780 #, no-wrap
2781 msgid "SHA-512 | 86 characters\n"
2782 msgstr ""
2783
2784 #. type: Plain text
2785 #: build/C/man3/crypt.3:249
2786 msgid ""
2787 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2788 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2789 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2790 msgstr ""
2791
2792 #. type: Plain text
2793 #: build/C/man3/crypt.3:255
2794 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2795 msgstr ""
2796
2797 #. type: TH
2798 #: build/C/man3/daemon.3:36
2799 #, no-wrap
2800 msgid "DAEMON"
2801 msgstr ""
2802
2803 #. type: TH
2804 #: build/C/man3/daemon.3:36
2805 #, no-wrap
2806 msgid "2013-10-28"
2807 msgstr ""
2808
2809 #. type: Plain text
2810 #: build/C/man3/daemon.3:39
2811 msgid "daemon - run in the background"
2812 msgstr ""
2813
2814 #. type: Plain text
2815 #: build/C/man3/daemon.3:43
2816 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2817 msgstr ""
2818
2819 #. type: Plain text
2820 #: build/C/man3/daemon.3:51
2821 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2822 msgstr ""
2823
2824 #. type: Plain text
2825 #: build/C/man3/daemon.3:56
2826 msgid ""
2827 "The B<daemon>()  function is for programs wishing to detach themselves from "
2828 "the controlling terminal and run in the background as system daemons."
2829 msgstr ""
2830
2831 #. type: Plain text
2832 #: build/C/man3/daemon.3:64
2833 msgid ""
2834 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2835 "working directory to the root directory (\"/\"); otherwise, the current "
2836 "working directory is left unchanged."
2837 msgstr ""
2838
2839 #. type: Plain text
2840 #: build/C/man3/daemon.3:73
2841 msgid ""
2842 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2843 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2844 "these file descriptors."
2845 msgstr ""
2846
2847 #.  not .IR in order not to underline _
2848 #. type: Plain text
2849 #: build/C/man3/daemon.3:91
2850 msgid ""
2851 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2852 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2853 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2854 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2855 "B<setsid>(2)."
2856 msgstr ""
2857
2858 #. type: Plain text
2859 #: build/C/man3/daemon.3:96
2860 msgid "The B<daemon>()  function is thread-safe."
2861 msgstr ""
2862
2863 #. type: Plain text
2864 #: build/C/man3/daemon.3:102
2865 msgid ""
2866 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2867 "B<daemon>()  function first appeared in 4.4BSD."
2868 msgstr ""
2869
2870 #. type: Plain text
2871 #: build/C/man3/daemon.3:110
2872 msgid ""
2873 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2874 "not a character device with the expected major and minor numbers.  In this "
2875 "case I<errno> need not be set."
2876 msgstr ""
2877
2878 #. type: Plain text
2879 #: build/C/man3/daemon.3:113
2880 msgid "B<fork>(2), B<setsid>(2)"
2881 msgstr ""
2882
2883 #. type: TH
2884 #: build/C/man3/des_crypt.3:14
2885 #, no-wrap
2886 msgid "DES_CRYPT"
2887 msgstr ""
2888
2889 #. type: TH
2890 #: build/C/man3/des_crypt.3:14
2891 #, no-wrap
2892 msgid "2013-09-18"
2893 msgstr ""
2894
2895 #. type: Plain text
2896 #: build/C/man3/des_crypt.3:18
2897 msgid ""
2898 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2899 "encryption"
2900 msgstr ""
2901
2902 #.  Sun version
2903 #.  .B #include <des_crypt.h>
2904 #. type: Plain text
2905 #: build/C/man3/des_crypt.3:23
2906 #, no-wrap
2907 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2908 msgstr ""
2909
2910 #. type: Plain text
2911 #: build/C/man3/des_crypt.3:26
2912 #, no-wrap
2913 msgid ""
2914 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2915 ">I<datalen>B<,>\n"
2916 "B<              unsigned >I<mode>B<);>\n"
2917 msgstr ""
2918
2919 #. type: Plain text
2920 #: build/C/man3/des_crypt.3:29
2921 #, no-wrap
2922 msgid ""
2923 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2924 ">I<datalen>B<,>\n"
2925 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2926 msgstr ""
2927
2928 #. type: Plain text
2929 #: build/C/man3/des_crypt.3:31
2930 #, no-wrap
2931 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2932 msgstr ""
2933
2934 #. type: Plain text
2935 #: build/C/man3/des_crypt.3:33
2936 #, no-wrap
2937 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2938 msgstr ""
2939
2940 #. type: Plain text
2941 #: build/C/man3/des_crypt.3:63
2942 msgid ""
2943 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2944 "Standard).  These routines are faster and more general purpose than "
2945 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2946 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2947 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2948 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2949 "CBC mode protects against insertions, deletions and substitutions of "
2950 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2951 "text."
2952 msgstr ""
2953
2954 #. type: Plain text
2955 #: build/C/man3/des_crypt.3:106
2956 msgid ""
2957 "Here is how to use these routines.  The first argument, I<key>, is the "
2958 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2959 "is in the low bit of each byte, use B<des_setparity>().  The second "
2960 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2961 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2962 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2963 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2964 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2965 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2966 "hardware, then the encryption is performed in software and the routine "
2967 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2968 "the 8-byte initialization vector for the chaining.  It is updated to the "
2969 "next initialization vector upon return."
2970 msgstr ""
2971
2972 #. type: TP
2973 #: build/C/man3/des_crypt.3:108
2974 #, no-wrap
2975 msgid "B<DESERR_NONE>"
2976 msgstr ""
2977
2978 #. type: Plain text
2979 #: build/C/man3/des_crypt.3:111
2980 msgid "No error."
2981 msgstr ""
2982
2983 #. type: TP
2984 #: build/C/man3/des_crypt.3:111
2985 #, no-wrap
2986 msgid "B<DESERR_NOHWDEVICE>"
2987 msgstr ""
2988
2989 #. type: Plain text
2990 #: build/C/man3/des_crypt.3:114
2991 msgid ""
2992 "Encryption succeeded, but done in software instead of the requested "
2993 "hardware."
2994 msgstr ""
2995
2996 #. type: TP
2997 #: build/C/man3/des_crypt.3:114
2998 #, no-wrap
2999 msgid "B<DESERR_HWERROR>"
3000 msgstr ""
3001
3002 #. type: Plain text
3003 #: build/C/man3/des_crypt.3:117
3004 msgid "An error occurred in the hardware or driver."
3005 msgstr ""
3006
3007 #. type: TP
3008 #: build/C/man3/des_crypt.3:117
3009 #, no-wrap
3010 msgid "B<DESERR_BADPARAM>"
3011 msgstr ""
3012
3013 #. type: Plain text
3014 #: build/C/man3/des_crypt.3:120
3015 msgid "Bad argument to routine."
3016 msgstr ""
3017
3018 #.  .BR DES_FAILED\c
3019 #.  .BR ( stat )
3020 #.  So far the Sun page
3021 #.  Some additions - aeb
3022 #. type: Plain text
3023 #: build/C/man3/des_crypt.3:131
3024 msgid ""
3025 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
3026 "only for the first two statuses."
3027 msgstr ""
3028
3029 #. type: Plain text
3030 #: build/C/man3/des_crypt.3:134
3031 msgid ""
3032 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
3033 "later."
3034 msgstr ""
3035
3036 #. type: Plain text
3037 #: build/C/man3/des_crypt.3:142
3038 msgid ""
3039 "The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are "
3040 "thread-safe."
3041 msgstr ""
3042
3043 #. type: Plain text
3044 #: build/C/man3/des_crypt.3:145
3045 msgid "4.3BSD.  Not in POSIX.1-2001."
3046 msgstr ""
3047
3048 #. type: Plain text
3049 #: build/C/man3/des_crypt.3:149
3050 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
3051 msgstr ""
3052
3053 #. type: TH
3054 #: build/C/man2/dup.2:36
3055 #, no-wrap
3056 msgid "DUP"
3057 msgstr ""
3058
3059 #. type: TH
3060 #: build/C/man2/dup.2:36
3061 #, no-wrap
3062 msgid "2012-02-14"
3063 msgstr ""
3064
3065 #. type: Plain text
3066 #: build/C/man2/dup.2:39
3067 msgid "dup, dup2, dup3 - duplicate a file descriptor"
3068 msgstr ""
3069
3070 #. type: Plain text
3071 #: build/C/man2/dup.2:45
3072 #, no-wrap
3073 msgid ""
3074 "B<int dup(int >I<oldfd>B<);>\n"
3075 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
3076 msgstr ""
3077
3078 #. type: Plain text
3079 #: build/C/man2/dup.2:49
3080 #, no-wrap
3081 msgid ""
3082 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3083 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
3084 "definitions */\n"
3085 "B<#include E<lt>unistd.hE<gt>>\n"
3086 msgstr ""
3087
3088 #. type: Plain text
3089 #: build/C/man2/dup.2:51
3090 #, no-wrap
3091 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
3092 msgstr ""
3093
3094 #. type: Plain text
3095 #: build/C/man2/dup.2:55
3096 msgid "These system calls create a copy of the file descriptor I<oldfd>."
3097 msgstr ""
3098
3099 #. type: Plain text
3100 #: build/C/man2/dup.2:58
3101 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
3102 msgstr ""
3103
3104 #. type: Plain text
3105 #: build/C/man2/dup.2:62
3106 msgid ""
3107 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
3108 "necessary, but note the following:"
3109 msgstr ""
3110
3111 #. type: Plain text
3112 #: build/C/man2/dup.2:68
3113 msgid ""
3114 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
3115 "I<newfd> is not closed."
3116 msgstr ""
3117
3118 #. type: Plain text
3119 #: build/C/man2/dup.2:79
3120 msgid ""
3121 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
3122 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
3123 msgstr ""
3124
3125 #. type: Plain text
3126 #: build/C/man2/dup.2:88
3127 msgid ""
3128 "After a successful return from one of these system calls, the old and new "
3129 "file descriptors may be used interchangeably.  They refer to the same open "
3130 "file description (see B<open>(2))  and thus share file offset and file "
3131 "status flags; for example, if the file offset is modified by using "
3132 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
3133 "other."
3134 msgstr ""
3135
3136 #. type: Plain text
3137 #: build/C/man2/dup.2:96
3138 msgid ""
3139 "The two descriptors do not share file descriptor flags (the close-on-exec "
3140 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
3141 "duplicate descriptor is off."
3142 msgstr ""
3143
3144 #. type: Plain text
3145 #: build/C/man2/dup.2:101
3146 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
3147 msgstr ""
3148
3149 #. type: Plain text
3150 #: build/C/man2/dup.2:110
3151 msgid ""
3152 "The caller can force the close-on-exec flag to be set for the new file "
3153 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
3154 "the same flag in B<open>(2)  for reasons why this may be useful."
3155 msgstr ""
3156
3157 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3158 #. type: Plain text
3159 #: build/C/man2/dup.2:120
3160 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
3161 msgstr ""
3162
3163 #. type: Plain text
3164 #: build/C/man2/dup.2:126
3165 msgid ""
3166 "On success, these system calls return the new descriptor.  On error, -1 is "
3167 "returned, and I<errno> is set appropriately."
3168 msgstr ""
3169
3170 #. type: Plain text
3171 #: build/C/man2/dup.2:133
3172 msgid ""
3173 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
3174 "range for file descriptors."
3175 msgstr ""
3176
3177 #. type: TP
3178 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
3179 #, no-wrap
3180 msgid "B<EBUSY>"
3181 msgstr ""
3182
3183 #. type: Plain text
3184 #: build/C/man2/dup.2:143
3185 msgid ""
3186 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
3187 "condition with B<open>(2)  and B<dup>()."
3188 msgstr ""
3189
3190 #. type: Plain text
3191 #: build/C/man2/dup.2:151
3192 msgid ""
3193 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
3194 "B<signal>(7)."
3195 msgstr ""
3196
3197 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3198 #. type: Plain text
3199 #: build/C/man2/dup.2:161
3200 msgid ""
3201 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
3202 "I<newfd>."
3203 msgstr ""
3204
3205 #. type: TP
3206 #: build/C/man2/dup.2:161 build/C/man2/execve.2:414 build/C/man2/fcntl.2:1148 build/C/man3/getlogin.3:105
3207 #, no-wrap
3208 msgid "B<EMFILE>"
3209 msgstr ""
3210
3211 #. type: Plain text
3212 #: build/C/man2/dup.2:165
3213 msgid ""
3214 "The process already has the maximum number of file descriptors open and "
3215 "tried to open a new one."
3216 msgstr ""
3217
3218 #. type: Plain text
3219 #: build/C/man2/dup.2:170
3220 msgid ""
3221 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
3222 "starting with version 2.9."
3223 msgstr ""
3224
3225 #. type: Plain text
3226 #: build/C/man2/dup.2:174
3227 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
3228 msgstr ""
3229
3230 #.  SVr4 documents additional
3231 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
3232 #.  The EBUSY return is Linux-specific.
3233 #. type: Plain text
3234 #: build/C/man2/dup.2:180
3235 msgid "B<dup3>()  is Linux-specific."
3236 msgstr ""
3237
3238 #. type: Plain text
3239 #: build/C/man2/dup.2:194
3240 msgid ""
3241 "The error returned by B<dup2>()  is different from that returned by "
3242 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
3243 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
3244 msgstr ""
3245
3246 #. type: Plain text
3247 #: build/C/man2/dup.2:207
3248 msgid ""
3249 "If I<newfd> was open, any errors that would have been reported at "
3250 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
3251 "B<dup3>()  without closing I<newfd> first."
3252 msgstr ""
3253
3254 #. type: Plain text
3255 #: build/C/man2/dup.2:211
3256 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
3257 msgstr ""
3258
3259 #. type: TH
3260 #: build/C/man3/encrypt.3:30
3261 #, no-wrap
3262 msgid "ENCRYPT"
3263 msgstr ""
3264
3265 #. type: TH
3266 #: build/C/man3/encrypt.3:30
3267 #, no-wrap
3268 msgid "2013-07-22"
3269 msgstr ""
3270
3271 #. type: Plain text
3272 #: build/C/man3/encrypt.3:33
3273 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
3274 msgstr ""
3275
3276 #. type: Plain text
3277 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
3278 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
3279 msgstr ""
3280
3281 #. type: Plain text
3282 #: build/C/man3/encrypt.3:39
3283 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
3284 msgstr ""
3285
3286 #. type: Plain text
3287 #: build/C/man3/encrypt.3:43
3288 msgid "B<#include E<lt>stdlib.hE<gt>>"
3289 msgstr ""
3290
3291 #. type: Plain text
3292 #: build/C/man3/encrypt.3:45
3293 msgid "B<void setkey(const char *>I<key>B<);>"
3294 msgstr ""
3295
3296 #. type: Plain text
3297 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
3298 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3299 msgstr ""
3300
3301 #. type: Plain text
3302 #: build/C/man3/encrypt.3:49
3303 msgid "B<#include E<lt>crypt.hE<gt>>"
3304 msgstr ""
3305
3306 #. type: Plain text
3307 #: build/C/man3/encrypt.3:51
3308 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
3309 msgstr ""
3310
3311 #. type: Plain text
3312 #: build/C/man3/encrypt.3:54
3313 msgid ""
3314 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
3315 "*>I<data>B<);>"
3316 msgstr ""
3317
3318 #. type: Plain text
3319 #: build/C/man3/encrypt.3:56
3320 msgid "Each of these requires linking with I<-lcrypt>."
3321 msgstr ""
3322
3323 #. type: Plain text
3324 #: build/C/man3/encrypt.3:68
3325 msgid ""
3326 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
3327 "function sets the key used by B<encrypt>().  The I<key> argument used here "
3328 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
3329 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
3330 "56 bits."
3331 msgstr ""
3332
3333 #. type: Plain text
3334 #: build/C/man3/encrypt.3:80
3335 msgid ""
3336 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
3337 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
3338 "I<block> is a bit vector representation of the actual value that is "
3339 "encoded.  The result is returned in that same vector."
3340 msgstr ""
3341
3342 #. type: Plain text
3343 #: build/C/man3/encrypt.3:90
3344 msgid ""
3345 "These two functions are not reentrant, that is, the key data is kept in "
3346 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
3347 "reentrant versions.  They use the following structure to hold the key data:"
3348 msgstr ""
3349
3350 #. type: Plain text
3351 #: build/C/man3/encrypt.3:105
3352 #, no-wrap
3353 msgid ""
3354 "struct crypt_data {\n"
3355 "    char     keysched[16 * 8];\n"
3356 "    char     sb0[32768];\n"
3357 "    char     sb1[32768];\n"
3358 "    char     sb2[32768];\n"
3359 "    char     sb3[32768];\n"
3360 "    char     crypt_3_buf[14];\n"
3361 "    char     current_salt[2];\n"
3362 "    long int current_saltbits;\n"
3363 "    int      direction;\n"
3364 "    int      initialized;\n"
3365 "};\n"
3366 msgstr ""
3367
3368 #. type: Plain text
3369 #: build/C/man3/encrypt.3:113
3370 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
3371 msgstr ""
3372
3373 #. type: Plain text
3374 #: build/C/man3/encrypt.3:115
3375 msgid "These functions do not return any value."
3376 msgstr ""
3377
3378 #. type: Plain text
3379 #: build/C/man3/encrypt.3:120
3380 msgid ""
3381 "Set I<errno> to zero before calling the above functions.  On success, it is "
3382 "unchanged."
3383 msgstr ""
3384
3385 #. type: Plain text
3386 #: build/C/man3/encrypt.3:124
3387 msgid ""
3388 "The function is not provided.  (For example because of former USA export "
3389 "restrictions.)"
3390 msgstr ""
3391
3392 #. type: Plain text
3393 #: build/C/man3/encrypt.3:131
3394 msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
3395 msgstr ""
3396
3397 #. type: Plain text
3398 #: build/C/man3/encrypt.3:137
3399 msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
3400 msgstr ""
3401
3402 #. type: Plain text
3403 #: build/C/man3/encrypt.3:148
3404 msgid ""
3405 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
3406 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
3407 "extensions."
3408 msgstr ""
3409
3410 #. type: Plain text
3411 #: build/C/man3/encrypt.3:150
3412 msgid "In glibc 2.2 these functions use the DES algorithm."
3413 msgstr ""
3414
3415 #. type: Plain text
3416 #: build/C/man3/encrypt.3:157
3417 msgid ""
3418 "You need to link with libcrypt to compile this example with glibc.  To do "
3419 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
3420 "bit pattern."
3421 msgstr ""
3422
3423 #. type: Plain text
3424 #: build/C/man3/encrypt.3:162
3425 #, no-wrap
3426 msgid ""
3427 "#define _XOPEN_SOURCE\n"
3428 "#include E<lt>unistd.hE<gt>\n"
3429 "#include E<lt>stdlib.hE<gt>\n"
3430 msgstr ""
3431
3432 #. type: Plain text
3433 #: build/C/man3/encrypt.3:168
3434 #, no-wrap
3435 msgid ""
3436 "int\n"
3437 "main(void)\n"
3438 "{\n"
3439 "    char key[64];      /* bit pattern for key */\n"
3440 "    char txt[64];      /* bit pattern for messages */\n"
3441 msgstr ""
3442
3443 #. type: Plain text
3444 #: build/C/man3/encrypt.3:173
3445 #, no-wrap
3446 msgid ""
3447 "    setkey(key);\n"
3448 "    encrypt(txt, 0);   /* encode */\n"
3449 "    encrypt(txt, 1);   /* decode */\n"
3450 "}\n"
3451 msgstr ""
3452
3453 #.  .BR fcrypt (3)
3454 #. type: Plain text
3455 #: build/C/man3/encrypt.3:179
3456 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3457 msgstr ""
3458
3459 #. type: TH
3460 #: build/C/man7/environ.7:34
3461 #, no-wrap
3462 msgid "ENVIRON"
3463 msgstr ""
3464
3465 #. type: TH
3466 #: build/C/man7/environ.7:34
3467 #, no-wrap
3468 msgid "2014-01-18"
3469 msgstr ""
3470
3471 #. type: Plain text
3472 #: build/C/man7/environ.7:37
3473 msgid "environ - user environment"
3474 msgstr ""
3475
3476 #. type: Plain text
3477 #: build/C/man7/environ.7:40
3478 #, no-wrap
3479 msgid "B<extern char **>I<environ>B<;>\n"
3480 msgstr ""
3481
3482 #. type: Plain text
3483 #: build/C/man7/environ.7:57
3484 msgid ""
3485 "The variable I<environ> points to an array of pointers to strings called the "
3486 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3487 "variable must be declared in the user program, but is declared in the header "
3488 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3489 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3490 "This array of strings is made available to the process by the B<exec>(3)  "
3491 "call that started the process."
3492 msgstr ""
3493
3494 #. type: Plain text
3495 #: build/C/man7/environ.7:62
3496 msgid ""
3497 "By convention the strings in I<environ> have the form "
3498 "\"I<name>B<=>I<value>\".  Common examples are:"
3499 msgstr ""
3500
3501 #. type: TP
3502 #: build/C/man7/environ.7:62
3503 #, no-wrap
3504 msgid "B<USER>"
3505 msgstr ""
3506
3507 #. type: Plain text
3508 #: build/C/man7/environ.7:65
3509 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3510 msgstr ""
3511
3512 #. type: TP
3513 #: build/C/man7/environ.7:65
3514 #, no-wrap
3515 msgid "B<LOGNAME>"
3516 msgstr ""
3517
3518 #. type: Plain text
3519 #: build/C/man7/environ.7:68
3520 msgid "The name of the logged-in user (used by some System-V derived programs)."
3521 msgstr ""
3522
3523 #. type: TP
3524 #: build/C/man7/environ.7:68
3525 #, no-wrap
3526 msgid "B<HOME>"
3527 msgstr ""
3528
3529 #. type: Plain text
3530 #: build/C/man7/environ.7:74
3531 msgid ""
3532 "A user's login directory, set by B<login>(1)  from the password file "
3533 "B<passwd>(5)."
3534 msgstr ""
3535
3536 #. type: TP
3537 #: build/C/man7/environ.7:74
3538 #, no-wrap
3539 msgid "B<LANG>"
3540 msgstr ""
3541
3542 #. type: Plain text
3543 #: build/C/man7/environ.7:92
3544 msgid ""
3545 "The name of a locale to use for locale categories when not overridden by "
3546 "B<LC_ALL> or more specific environment variables such as B<LC_COLLATE>, "
3547 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, and B<LC_TIME> "
3548 "(see B<locale>(7)  for further details of the B<LC_*> environment "
3549 "variables)."
3550 msgstr ""
3551
3552 #. type: TP
3553 #: build/C/man7/environ.7:92
3554 #, no-wrap
3555 msgid "B<PATH>"
3556 msgstr ""
3557
3558 #. type: Plain text
3559 #: build/C/man7/environ.7:107
3560 msgid ""
3561 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3562 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3563 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3564 "shells to find the target of a change directory command, B<MANPATH> used by "
3565 "B<man>(1)  to find manual pages, and so on)"
3566 msgstr ""
3567
3568 #. type: TP
3569 #: build/C/man7/environ.7:107
3570 #, no-wrap
3571 msgid "B<PWD>"
3572 msgstr ""
3573
3574 #. type: Plain text
3575 #: build/C/man7/environ.7:111
3576 msgid "The current working directory.  Set by some shells."
3577 msgstr ""
3578
3579 #. type: TP
3580 #: build/C/man7/environ.7:111
3581 #, no-wrap
3582 msgid "B<SHELL>"
3583 msgstr ""
3584
3585 #. type: Plain text
3586 #: build/C/man7/environ.7:114
3587 msgid "The pathname of the user's login shell."
3588 msgstr ""
3589
3590 #. type: TP
3591 #: build/C/man7/environ.7:114
3592 #, no-wrap
3593 msgid "B<TERM>"
3594 msgstr ""
3595
3596 #. type: Plain text
3597 #: build/C/man7/environ.7:117
3598 msgid "The terminal type for which output is to be prepared."
3599 msgstr ""
3600
3601 #. type: TP
3602 #: build/C/man7/environ.7:117
3603 #, no-wrap
3604 msgid "B<PAGER>"
3605 msgstr ""
3606
3607 #. type: Plain text
3608 #: build/C/man7/environ.7:120
3609 msgid "The user's preferred utility to display text files."
3610 msgstr ""
3611
3612 #. type: TP
3613 #: build/C/man7/environ.7:120
3614 #, no-wrap
3615 msgid "B<EDITOR>/B<VISUAL>"
3616 msgstr ""
3617
3618 #.  .TP
3619 #.  .B BROWSER
3620 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3621 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3622 #. type: Plain text
3623 #: build/C/man7/environ.7:127
3624 msgid "The user's preferred utility to edit text files."
3625 msgstr ""
3626
3627 #. type: Plain text
3628 #: build/C/man7/environ.7:145
3629 msgid ""
3630 "Further names may be placed in the environment by the I<export> command and "
3631 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3632 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3633 "an B<exec>(3).  A C program can manipulate its environment using the "
3634 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3635 msgstr ""
3636
3637 #. type: Plain text
3638 #: build/C/man7/environ.7:149
3639 msgid ""
3640 "Note that the behavior of many programs and library routines is influenced "
3641 "by the presence or value of certain environment variables.  A random "
3642 "collection:"
3643 msgstr ""
3644
3645 #. type: Plain text
3646 #: build/C/man7/environ.7:158
3647 msgid ""
3648 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3649 "B<LC_MESSAGES>, and so on influence locale handling; see B<catopen>(3), "
3650 "B<gettext>(3), and B<locale>(7)."
3651 msgstr ""
3652
3653 #. type: Plain text
3654 #: build/C/man7/environ.7:165
3655 msgid ""
3656 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3657 "other routines, and the temporary directory used by B<sort>(1)  and other "
3658 "programs."
3659 msgstr ""
3660
3661 #. type: Plain text
3662 #: build/C/man7/environ.7:169
3663 msgid ""
3664 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3665 "behavior of the dynamic loader/linker."
3666 msgstr ""
3667
3668 #. type: Plain text
3669 #: build/C/man7/environ.7:173
3670 msgid ""
3671 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3672 "prescriptions of POSIX."
3673 msgstr ""
3674
3675 #. type: Plain text
3676 #: build/C/man7/environ.7:179
3677 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3678 msgstr ""
3679
3680 #. type: Plain text
3681 #: build/C/man7/environ.7:185
3682 msgid ""
3683 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3684 "be used with B<gethostbyname>(3)."
3685 msgstr ""
3686
3687 #. type: Plain text
3688 #: build/C/man7/environ.7:196
3689 msgid ""
3690 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3691 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3692 "B<strftime>(3).  See also B<tzselect>(8)."
3693 msgstr ""
3694
3695 #. type: Plain text
3696 #: build/C/man7/environ.7:200
3697 msgid ""
3698 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3699 "the name of a file containing such information)."
3700 msgstr ""
3701
3702 #. type: Plain text
3703 #: build/C/man7/environ.7:203
3704 msgid ""
3705 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3706 "overriding the actual size."
3707 msgstr ""
3708
3709 #. type: Plain text
3710 #: build/C/man7/environ.7:208
3711 msgid ""
3712 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3713 "B<lpr>(1)."
3714 msgstr ""
3715
3716 #. type: Plain text
3717 #: build/C/man7/environ.7:210
3718 msgid "Etc."
3719 msgstr ""
3720
3721 #. type: Plain text
3722 #: build/C/man7/environ.7:215
3723 msgid ""
3724 "Clearly there is a security risk here.  Many a system command has been "
3725 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3726 "B<LD_LIBRARY_PATH>."
3727 msgstr ""
3728
3729 #. type: Plain text
3730 #: build/C/man7/environ.7:248
3731 msgid ""
3732 "There is also the risk of name space pollution.  Programs like I<make> and "
3733 "I<autoconf> allow overriding of default utility names from the environment "
3734 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3735 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3736 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3737 "environment variable gives options for the program instead of a pathname.  "
3738 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3739 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3740 "consider renaming their option to B<GZIP_OPT>."
3741 msgstr ""
3742
3743 #. type: Plain text
3744 #: build/C/man7/environ.7:262
3745 msgid ""
3746 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3747 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3748 "B<unsetenv>(3), B<locale>(7)"
3749 msgstr ""
3750
3751 #. type: TH
3752 #: build/C/man3/euidaccess.3:25
3753 #, no-wrap
3754 msgid "EUIDACCESS"
3755 msgstr ""
3756
3757 #. type: TH
3758 #: build/C/man3/euidaccess.3:25
3759 #, no-wrap
3760 msgid "2013-09-25"
3761 msgstr ""
3762
3763 #. type: Plain text
3764 #: build/C/man3/euidaccess.3:28
3765 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3766 msgstr ""
3767
3768 #. type: Plain text
3769 #: build/C/man3/euidaccess.3:32
3770 #, no-wrap
3771 msgid ""
3772 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3773 "B<#include E<lt>unistd.hE<gt>>\n"
3774 msgstr ""
3775
3776 #. type: Plain text
3777 #: build/C/man3/euidaccess.3:35
3778 #, no-wrap
3779 msgid ""
3780 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3781 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3782 msgstr ""
3783
3784 #. type: Plain text
3785 #: build/C/man3/euidaccess.3:47
3786 msgid ""
3787 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3788 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3789 "performs checks using the real user and group identifiers of the process, "
3790 "B<euidaccess>()  uses the effective identifiers."
3791 msgstr ""
3792
3793 #. type: Plain text
3794 #: build/C/man3/euidaccess.3:53
3795 msgid ""
3796 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK>, "
3797 "and B<F_OK>, with the same meanings as for B<access>(2)."
3798 msgstr ""
3799
3800 #. type: Plain text
3801 #: build/C/man3/euidaccess.3:58
3802 msgid ""
3803 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3804 "with some other systems."
3805 msgstr ""
3806
3807 #. type: Plain text
3808 #: build/C/man3/euidaccess.3:66
3809 msgid ""
3810 "On success (all requested permissions granted), zero is returned.  On error "
3811 "(at least one bit in I<mode> asked for a permission that is denied, or some "
3812 "other error occurred), -1 is returned, and I<errno> is set appropriately."
3813 msgstr ""
3814
3815 #. type: Plain text
3816 #: build/C/man3/euidaccess.3:69
3817 msgid "As for B<access>(2)."
3818 msgstr ""
3819
3820 #. type: Plain text
3821 #: build/C/man3/euidaccess.3:73
3822 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3823 msgstr ""
3824
3825 #. type: Plain text
3826 #: build/C/man3/euidaccess.3:80
3827 msgid "The B<euidaccess>()  and B<eaccess>()  functions are thread-safe."
3828 msgstr ""
3829
3830 #.  e.g., FreeBSD 6.1.
3831 #. type: Plain text
3832 #: build/C/man3/euidaccess.3:86
3833 msgid ""
3834 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3835 "function."
3836 msgstr ""
3837
3838 #. type: Plain text
3839 #: build/C/man3/euidaccess.3:93
3840 msgid ""
3841 "I<Warning>: Using this function to check a process's permissions on a file "
3842 "before performing some operation based on that information leads to race "
3843 "conditions: the file permissions may change between the two steps.  "
3844 "Generally, it is safer just to attempt the desired operation and handle any "
3845 "permission error that occurs."
3846 msgstr ""
3847
3848 #. type: Plain text
3849 #: build/C/man3/euidaccess.3:101
3850 msgid ""
3851 "This function always dereferences symbolic links.  If you need to check the "
3852 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
3853 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3854 msgstr ""
3855
3856 #. type: Plain text
3857 #: build/C/man3/euidaccess.3:112
3858 msgid ""
3859 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3860 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3861 "B<path_resolution>(7)"
3862 msgstr ""
3863
3864 #. type: TH
3865 #: build/C/man3/exec.3:41
3866 #, no-wrap
3867 msgid "EXEC"
3868 msgstr ""
3869
3870 #. type: TH
3871 #: build/C/man3/exec.3:41
3872 #, no-wrap
3873 msgid "2010-09-25"
3874 msgstr ""
3875
3876 #. type: Plain text
3877 #: build/C/man3/exec.3:44
3878 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3879 msgstr ""
3880
3881 #. type: Plain text
3882 #: build/C/man3/exec.3:48
3883 msgid "B<extern char **environ;>"
3884 msgstr ""
3885
3886 #. type: Plain text
3887 #: build/C/man3/exec.3:50
3888 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3889 msgstr ""
3890
3891 #. type: Plain text
3892 #: build/C/man3/exec.3:52
3893 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3894 msgstr ""
3895
3896 #. type: Plain text
3897 #: build/C/man3/exec.3:54
3898 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3899 msgstr ""
3900
3901 #. type: Plain text
3902 #: build/C/man3/exec.3:56
3903 msgid "B< ..., char * const >I<envp>B<[]);>"
3904 msgstr ""
3905
3906 #. type: Plain text
3907 #: build/C/man3/exec.3:58
3908 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3909 msgstr ""
3910
3911 #. type: Plain text
3912 #: build/C/man3/exec.3:60
3913 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3914 msgstr ""
3915
3916 #. type: Plain text
3917 #: build/C/man3/exec.3:62
3918 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3919 msgstr ""
3920
3921 #. type: Plain text
3922 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
3923 msgid "B< char *const >I<envp>B<[]);>"
3924 msgstr ""
3925
3926 #. type: Plain text
3927 #: build/C/man3/exec.3:72
3928 msgid "B<execvpe>(): _GNU_SOURCE"
3929 msgstr ""
3930
3931 #. type: Plain text
3932 #: build/C/man3/exec.3:82
3933 msgid ""
3934 "The B<exec>()  family of functions replaces the current process image with a "
3935 "new process image.  The functions described in this manual page are "
3936 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3937 "further details about the replacement of the current process image.)"
3938 msgstr ""
3939
3940 #. type: Plain text
3941 #: build/C/man3/exec.3:85
3942 msgid ""
3943 "The initial argument for these functions is the name of a file that is to be "
3944 "executed."
3945 msgstr ""
3946
3947 #. type: Plain text
3948 #: build/C/man3/exec.3:107
3949 msgid ""
3950 "The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
3951 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3952 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3953 "pointers to null-terminated strings that represent the argument list "
3954 "available to the executed program.  The first argument, by convention, "
3955 "should point to the filename associated with the file being executed.  The "
3956 "list of arguments I<must> be terminated by a null pointer, and, since these "
3957 "are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
3958 msgstr ""
3959
3960 #. type: Plain text
3961 #: build/C/man3/exec.3:120
3962 msgid ""
3963 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3964 "pointers to null-terminated strings that represent the argument list "
3965 "available to the new program.  The first argument, by convention, should "
3966 "point to the filename associated with the file being executed.  The array of "
3967 "pointers I<must> be terminated by a null pointer."
3968 msgstr ""
3969
3970 #. type: Plain text
3971 #: build/C/man3/exec.3:137
3972 msgid ""
3973 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3974 "environment of the executed program via the argument I<envp>.  The I<envp> "
3975 "argument is an array of pointers to null-terminated strings and I<must> be "
3976 "terminated by a null pointer.  The other functions take the environment for "
3977 "the new process image from the external variable I<environ> in the calling "
3978 "process."
3979 msgstr ""
3980
3981 #. type: SS
3982 #: build/C/man3/exec.3:137
3983 #, no-wrap
3984 msgid "Special semantics for execlp() and execvp()"
3985 msgstr ""
3986
3987 #. type: Plain text
3988 #: build/C/man3/exec.3:157
3989 msgid ""
3990 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
3991 "actions of the shell in searching for an executable file if the specified "
3992 "filename does not contain a slash (/) character.  The file is sought in the "
3993 "colon-separated list of directory pathnames specified in the B<PATH> "
3994 "environment variable.  If this variable isn't defined, the path list "
3995 "defaults to the current directory followed by the list of directories "
3996 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
3997 "returns the value \"/bin:/usr/bin\".)"
3998 msgstr ""
3999
4000 #. type: Plain text
4001 #: build/C/man3/exec.3:161
4002 msgid ""
4003 "If the specified filename includes a slash character, then B<PATH> is "
4004 "ignored, and the file at the specified pathname is executed."
4005 msgstr ""
4006
4007 #. type: Plain text
4008 #: build/C/man3/exec.3:163
4009 msgid "In addition, certain errors are treated specially."
4010 msgstr ""
4011
4012 #. type: Plain text
4013 #: build/C/man3/exec.3:174
4014 msgid ""
4015 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
4016 "the error B<EACCES>), these functions will continue searching the rest of "
4017 "the search path.  If no other file is found, however, they will return with "
4018 "I<errno> set to B<EACCES>."
4019 msgstr ""
4020
4021 #. type: Plain text
4022 #: build/C/man3/exec.3:183
4023 msgid ""
4024 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
4025 "with the error B<ENOEXEC>), these functions will execute the shell "
4026 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
4027 "attempt fails, no further searching is done.)"
4028 msgstr ""
4029
4030 #. type: Plain text
4031 #: build/C/man3/exec.3:190
4032 msgid ""
4033 "The B<exec>()  functions return only if an error has occurred.  The return "
4034 "value is -1, and I<errno> is set to indicate the error."
4035 msgstr ""
4036
4037 #. type: Plain text
4038 #: build/C/man3/exec.3:195
4039 msgid ""
4040 "All of these functions may fail and set I<errno> for any of the errors "
4041 "specified for B<execve>(2)."
4042 msgstr ""
4043
4044 #. type: Plain text
4045 #: build/C/man3/exec.3:199
4046 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
4047 msgstr ""
4048
4049 #. type: Plain text
4050 #: build/C/man3/exec.3:201
4051 msgid "POSIX.1-2001, POSIX.1-2008."
4052 msgstr ""
4053
4054 #. type: Plain text
4055 #: build/C/man3/exec.3:205
4056 msgid "The B<execvpe>()  function is a GNU extension."
4057 msgstr ""
4058
4059 #. type: Plain text
4060 #: build/C/man3/exec.3:215
4061 msgid ""
4062 "On some other systems, the default path (used when the environment does not "
4063 "contain the variable B<PATH>) has the current working directory listed after "
4064 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
4065 "the traditional \"current directory first\" default path."
4066 msgstr ""
4067
4068 #. type: Plain text
4069 #: build/C/man3/exec.3:229
4070 msgid ""
4071 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
4072 "attempting to execute the file is historic practice, but has not "
4073 "traditionally been documented and is not specified by the POSIX standard.  "
4074 "BSD (and possibly other systems) do an automatic sleep and retry if "
4075 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
4076 "immediately."
4077 msgstr ""
4078
4079 #. type: Plain text
4080 #: build/C/man3/exec.3:241
4081 msgid ""
4082 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
4083 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
4084 "which they returned.  They now return if any error other than the ones "
4085 "described above occurs."
4086 msgstr ""
4087
4088 #. type: Plain text
4089 #: build/C/man3/exec.3:248
4090 msgid ""
4091 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
4092 "B<environ>(7)"
4093 msgstr ""
4094
4095 #. type: TH
4096 #: build/C/man2/execve.2:37
4097 #, no-wrap
4098 msgid "EXECVE"
4099 msgstr ""
4100
4101 #. type: TH
4102 #: build/C/man2/execve.2:37
4103 #, no-wrap
4104 msgid "2014-01-08"
4105 msgstr ""
4106
4107 #. type: Plain text
4108 #: build/C/man2/execve.2:40
4109 msgid "execve - execute program"
4110 msgstr ""
4111
4112 #. type: Plain text
4113 #: build/C/man2/execve.2:44
4114 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
4115 msgstr ""
4116
4117 #. type: Plain text
4118 #: build/C/man2/execve.2:51
4119 msgid ""
4120 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
4121 "must be either a binary executable, or a script starting with a line of the "
4122 "form:"
4123 msgstr ""
4124
4125 #. type: Plain text
4126 #: build/C/man2/execve.2:55 build/C/man2/execve.2:267
4127 #, no-wrap
4128 msgid "B<#!> I<interpreter >[optional-arg]\n"
4129 msgstr ""
4130
4131 #. type: Plain text
4132 #: build/C/man2/execve.2:59
4133 msgid "For details of the latter case, see \"Interpreter scripts\" below."
4134 msgstr ""
4135
4136 #. type: Plain text
4137 #: build/C/man2/execve.2:68
4138 msgid ""
4139 "I<argv> is an array of argument strings passed to the new program.  By "
4140 "convention, the first of these strings should contain the filename "
4141 "associated with the file being executed.  I<envp> is an array of strings, "
4142 "conventionally of the form B<key=value>, which are passed as environment to "
4143 "the new program.  Both I<argv> and I<envp> must be terminated by a null "
4144 "pointer.  The argument vector and environment can be accessed by the called "
4145 "program's main function, when it is defined as:"
4146 msgstr ""
4147
4148 #. type: Plain text
4149 #: build/C/man2/execve.2:72
4150 #, no-wrap
4151 msgid "int main(int argc, char *argv[], char *envp[])\n"
4152 msgstr ""
4153
4154 #. type: Plain text
4155 #: build/C/man2/execve.2:79
4156 msgid ""
4157 "B<execve>()  does not return on success, and the text, data, bss, and stack "
4158 "of the calling process are overwritten by that of the program loaded."
4159 msgstr ""
4160
4161 #. type: Plain text
4162 #: build/C/man2/execve.2:83
4163 msgid ""
4164 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
4165 "successful B<execve>()."
4166 msgstr ""
4167
4168 #. type: Plain text
4169 #: build/C/man2/execve.2:98
4170 msgid ""
4171 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
4172 "and the underlying filesystem is not mounted I<nosuid> (the B<MS_NOSUID> "
4173 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
4174 "the effective user ID of the calling process is changed to that of the owner "
4175 "of the program file.  Similarly, when the set-group-ID bit of the program "
4176 "file is set the effective group ID of the calling process is set to the "
4177 "group of the program file."
4178 msgstr ""
4179
4180 #. type: Plain text
4181 #: build/C/man2/execve.2:103
4182 msgid ""
4183 "The effective user ID of the process is copied to the saved set-user-ID; "
4184 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
4185 "copying takes place after any effective ID changes that occur because of the "
4186 "set-user-ID and set-group-ID permission bits."
4187 msgstr ""
4188
4189 #. type: Plain text
4190 #: build/C/man2/execve.2:111
4191 msgid ""
4192 "If the executable is an a.out dynamically linked binary executable "
4193 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
4194 "called at the start of execution to bring needed shared libraries into "
4195 "memory and link the executable with them."
4196 msgstr ""
4197
4198 #. type: Plain text
4199 #: build/C/man2/execve.2:120
4200 msgid ""
4201 "If the executable is a dynamically linked ELF executable, the interpreter "
4202 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
4203 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
4204 "glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
4205 "typically I</lib/ld-linux.so.1>.)"
4206 msgstr ""
4207
4208 #. type: Plain text
4209 #: build/C/man2/execve.2:124
4210 msgid ""
4211 "All process attributes are preserved during an B<execve>(), except the "
4212 "following:"
4213 msgstr ""
4214
4215 #. type: Plain text
4216 #: build/C/man2/execve.2:128
4217 msgid ""
4218 "The dispositions of any signals that are being caught are reset to the "
4219 "default (B<signal>(7))."
4220 msgstr ""
4221
4222 #. type: Plain text
4223 #: build/C/man2/execve.2:131
4224 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
4225 msgstr ""
4226
4227 #. type: Plain text
4228 #: build/C/man2/execve.2:134
4229 msgid "Memory mappings are not preserved (B<mmap>(2))."
4230 msgstr ""
4231
4232 #. type: Plain text
4233 #: build/C/man2/execve.2:137
4234 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
4235 msgstr ""
4236
4237 #. type: Plain text
4238 #: build/C/man2/execve.2:140
4239 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
4240 msgstr ""
4241
4242 #. type: Plain text
4243 #: build/C/man2/execve.2:143
4244 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
4245 msgstr ""
4246
4247 #. type: Plain text
4248 #: build/C/man2/execve.2:146
4249 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
4250 msgstr ""
4251
4252 #. type: Plain text
4253 #: build/C/man2/execve.2:149
4254 msgid "POSIX timers are not preserved (B<timer_create>(2))."
4255 msgstr ""
4256
4257 #. type: Plain text
4258 #: build/C/man2/execve.2:152
4259 msgid "Any open directory streams are closed (B<opendir>(3))."
4260 msgstr ""
4261
4262 #. type: Plain text
4263 #: build/C/man2/execve.2:156
4264 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
4265 msgstr ""
4266
4267 #. type: Plain text
4268 #: build/C/man2/execve.2:160
4269 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
4270 msgstr ""
4271
4272 #. type: Plain text
4273 #: build/C/man2/execve.2:163
4274 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
4275 msgstr ""
4276
4277 #. type: Plain text
4278 #: build/C/man2/execve.2:169
4279 msgid ""
4280 "The process attributes in the preceding list are all specified in "
4281 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
4282 "preserved during an B<execve>():"
4283 msgstr ""
4284
4285 #. type: Plain text
4286 #: build/C/man2/execve.2:176
4287 msgid ""
4288 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
4289 "set-group ID program is being executed, in which case it is cleared."
4290 msgstr ""
4291
4292 #. type: Plain text
4293 #: build/C/man2/execve.2:181
4294 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
4295 msgstr ""
4296
4297 #. type: Plain text
4298 #: build/C/man2/execve.2:188
4299 msgid ""
4300 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
4301 "being executed, then the parent death signal set by B<prctl>(2)  "
4302 "B<PR_SET_PDEATHSIG> flag is cleared."
4303 msgstr ""
4304
4305 #. type: Plain text
4306 #: build/C/man2/execve.2:195
4307 msgid ""
4308 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
4309 "I<ps\\ -o comm>), is reset to the name of the new executable file."
4310 msgstr ""
4311
4312 #. type: Plain text
4313 #: build/C/man2/execve.2:202
4314 msgid ""
4315 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
4316 "B<capabilities>(7)."
4317 msgstr ""
4318
4319 #. type: Plain text
4320 #: build/C/man2/execve.2:207
4321 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
4322 msgstr ""
4323
4324 #. type: Plain text
4325 #: build/C/man2/execve.2:209 build/C/man2/fork.2:133
4326 msgid "Note the following further points:"
4327 msgstr ""
4328
4329 #. type: Plain text
4330 #: build/C/man2/execve.2:213
4331 msgid ""
4332 "All threads other than the calling thread are destroyed during an "
4333 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
4334 "not preserved."
4335 msgstr ""
4336
4337 #. type: Plain text
4338 #: build/C/man2/execve.2:216
4339 msgid ""
4340 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
4341 "start-up."
4342 msgstr ""
4343
4344 #. type: Plain text
4345 #: build/C/man2/execve.2:224
4346 msgid ""
4347 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
4348 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
4349 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
4350 "the disposition unchanged or reset it to the default; Linux does the former."
4351 msgstr ""
4352
4353 #. type: Plain text
4354 #: build/C/man2/execve.2:228
4355 msgid ""
4356 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
4357 "B<aio_write>(3))."
4358 msgstr ""
4359
4360 #. type: Plain text
4361 #: build/C/man2/execve.2:233
4362 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
4363 msgstr ""
4364
4365 #.  On Linux it appears that these file descriptors are
4366 #.  always open after an execve(), and it looks like
4367 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
4368 #. type: Plain text
4369 #: build/C/man2/execve.2:260
4370 msgid ""
4371 "By default, file descriptors remain open across an B<execve>().  File "
4372 "descriptors that are marked close-on-exec are closed; see the description of "
4373 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
4374 "cause the release of all record locks obtained on the underlying file by "
4375 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
4376 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
4377 "B<execve>(), and the process would gain privilege because the set-user_ID or "
4378 "set-group_ID permission bit was set on the executed file, then the system "
4379 "may open an unspecified file for each of these file descriptors.  As a "
4380 "general principle, no portable program, whether privileged or not, can "
4381 "assume that these three file descriptors will remain closed across an "
4382 "B<execve>()."
4383 msgstr ""
4384
4385 #. type: SS
4386 #: build/C/man2/execve.2:260
4387 #, no-wrap
4388 msgid "Interpreter scripts"
4389 msgstr ""
4390
4391 #. type: Plain text
4392 #: build/C/man2/execve.2:263
4393 msgid ""
4394 "An interpreter script is a text file that has execute permission enabled and "
4395 "whose first line is of the form:"
4396 msgstr ""
4397
4398 #. type: Plain text
4399 #: build/C/man2/execve.2:281
4400 msgid ""
4401 "The I<interpreter> must be a valid pathname for an executable which is not "
4402 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
4403 "interpreter script, then I<interpreter> will be invoked with the following "
4404 "arguments:"
4405 msgstr ""
4406
4407 #. type: Plain text
4408 #: build/C/man2/execve.2:285
4409 #, no-wrap
4410 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
4411 msgstr ""
4412
4413 #. type: Plain text
4414 #: build/C/man2/execve.2:296
4415 msgid ""
4416 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
4417 "B<execve>(), starting at I<argv>[1]."
4418 msgstr ""
4419
4420 #. type: Plain text
4421 #: build/C/man2/execve.2:301
4422 msgid ""
4423 "For portable use, I<optional-arg> should either be absent, or be specified "
4424 "as a single word (i.e., it should not contain white space); see NOTES below."
4425 msgstr ""
4426
4427 #. type: SS
4428 #: build/C/man2/execve.2:301
4429 #, no-wrap
4430 msgid "Limits on size of arguments and environment"
4431 msgstr ""
4432
4433 #. type: Plain text
4434 #: build/C/man2/execve.2:314
4435 msgid ""
4436 "Most UNIX implementations impose some limit on the total size of the "
4437 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
4438 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
4439 "this limit using the B<ARG_MAX> constant (either defined in "
4440 "I<E<lt>limits.hE<gt>> or available at run time using the call "
4441 "I<sysconf(_SC_ARG_MAX)>)."
4442 msgstr ""
4443
4444 #. type: Plain text
4445 #: build/C/man2/execve.2:321
4446 msgid ""
4447 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
4448 "and argument strings was limited to 32 pages (defined by the kernel constant "
4449 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
4450 "maximum size of 128 kB."
4451 msgstr ""
4452
4453 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
4454 #.  2.6.25, see:
4455 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
4456 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
4457 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
4458 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
4459 #.  Ollie: That doesn't include the lists of pointers, though,
4460 #.  so the actual usage is a bit higher (1 pointer per argument).
4461 #. type: Plain text
4462 #: build/C/man2/execve.2:357
4463 msgid ""
4464 "On kernel 2.6.23 and later, most architectures support a size limit derived "
4465 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
4466 "in force at the time of the B<execve>()  call.  (Architectures with no "
4467 "memory management unit are excepted: they maintain the limit that was in "
4468 "effect before kernel 2.6.23.)  This change allows programs to have a much "
4469 "larger argument and/or environment list.  For these architectures, the total "
4470 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
4471 "ensures that the new program always has some stack space.)  Since Linux "
4472 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
4473 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
4474 "have at least as much argument and environment space as was provided by "
4475 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
4476 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
4477 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
4478 "0x7FFFFFFF."
4479 msgstr ""
4480
4481 #. type: Plain text
4482 #: build/C/man2/execve.2:363
4483 msgid ""
4484 "On success, B<execve>()  does not return, on error -1 is returned, and "
4485 "I<errno> is set appropriately."
4486 msgstr ""
4487
4488 #. type: TP
4489 #: build/C/man2/execve.2:364
4490 #, no-wrap
4491 msgid "B<E2BIG>"
4492 msgstr ""
4493
4494 #. type: Plain text
4495 #: build/C/man2/execve.2:371
4496 msgid ""
4497 "The total number of bytes in the environment (I<envp>)  and argument list "
4498 "(I<argv>)  is too large."
4499 msgstr ""
4500
4501 #. type: Plain text
4502 #: build/C/man2/execve.2:378
4503 msgid ""
4504 "Search permission is denied on a component of the path prefix of I<filename> "
4505 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4506 msgstr ""
4507
4508 #. type: Plain text
4509 #: build/C/man2/execve.2:381
4510 msgid "The file or a script interpreter is not a regular file."
4511 msgstr ""
4512
4513 #. type: Plain text
4514 #: build/C/man2/execve.2:384
4515 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4516 msgstr ""
4517
4518 #. type: Plain text
4519 #: build/C/man2/execve.2:388
4520 msgid "The filesystem is mounted I<noexec>."
4521 msgstr ""
4522
4523 #. type: Plain text
4524 #: build/C/man2/execve.2:396
4525 msgid ""
4526 "I<filename> or one of the pointers in the vectors I<argv> or I<envp> points "
4527 "outside your accessible address space."
4528 msgstr ""
4529
4530 #. type: Plain text
4531 #: build/C/man2/execve.2:400
4532 msgid ""
4533 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4534 "more than one interpreter)."
4535 msgstr ""
4536
4537 #. type: TP
4538 #: build/C/man2/execve.2:403 build/C/man2/truncate.2:148
4539 #, no-wrap
4540 msgid "B<EISDIR>"
4541 msgstr ""
4542
4543 #. type: Plain text
4544 #: build/C/man2/execve.2:406
4545 msgid "An ELF interpreter was a directory."
4546 msgstr ""
4547
4548 #. type: TP
4549 #: build/C/man2/execve.2:406
4550 #, no-wrap
4551 msgid "B<ELIBBAD>"
4552 msgstr ""
4553
4554 #. type: Plain text
4555 #: build/C/man2/execve.2:409
4556 msgid "An ELF interpreter was not in a recognized format."
4557 msgstr ""
4558
4559 #. type: Plain text
4560 #: build/C/man2/execve.2:414
4561 msgid ""
4562 "Too many symbolic links were encountered in resolving I<filename> or the "
4563 "name of a script or ELF interpreter."
4564 msgstr ""
4565
4566 #. type: Plain text
4567 #: build/C/man2/execve.2:417
4568 msgid "The process has the maximum number of files open."
4569 msgstr ""
4570
4571 #. type: Plain text
4572 #: build/C/man2/execve.2:421
4573 msgid "I<filename> is too long."
4574 msgstr ""
4575
4576 #. type: TP
4577 #: build/C/man2/execve.2:421 build/C/man3/getlogin.3:108 build/C/man2/swapon.2:141 build/C/man2/uselib.2:67
4578 #, no-wrap
4579 msgid "B<ENFILE>"
4580 msgstr ""
4581
4582 #. type: Plain text
4583 #: build/C/man2/execve.2:424 build/C/man2/swapon.2:144 build/C/man2/uselib.2:70
4584 msgid "The system limit on the total number of open files has been reached."
4585 msgstr ""
4586
4587 #. type: Plain text
4588 #: build/C/man2/execve.2:430
4589 msgid ""
4590 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4591 "shared library needed for file or interpreter cannot be found."
4592 msgstr ""
4593
4594 #. type: TP
4595 #: build/C/man2/execve.2:430 build/C/man2/uselib.2:70
4596 #, no-wrap
4597 msgid "B<ENOEXEC>"
4598 msgstr ""
4599
4600 #. type: Plain text
4601 #: build/C/man2/execve.2:435
4602 msgid ""
4603 "An executable is not in a recognized format, is for the wrong architecture, "
4604 "or has some other format error that means it cannot be executed."
4605 msgstr ""
4606
4607 #. type: Plain text
4608 #: build/C/man2/execve.2:443
4609 msgid ""
4610 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4611 "is not a directory."
4612 msgstr ""
4613
4614 #. type: Plain text
4615 #: build/C/man2/execve.2:449
4616 msgid ""
4617 "The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
4618 "file has the set-user-ID or set-group-ID bit set."
4619 msgstr ""
4620
4621 #. type: Plain text
4622 #: build/C/man2/execve.2:453
4623 msgid ""
4624 "The process is being traced, the user is not the superuser and the file has "
4625 "the set-user-ID or set-group-ID bit set."
4626 msgstr ""
4627
4628 #. type: Plain text
4629 #: build/C/man2/execve.2:456
4630 msgid "Executable was open for writing by one or more processes."
4631 msgstr ""
4632
4633 #.  SVr4 documents additional error
4634 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4635 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4636 #.  EISDIR or ELIBBAD error conditions.
4637 #. type: Plain text
4638 #: build/C/man2/execve.2:464
4639 msgid ""
4640 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4641 "but is otherwise compatible."
4642 msgstr ""
4643
4644 #. type: Plain text
4645 #: build/C/man2/execve.2:467
4646 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4647 msgstr ""
4648
4649 #. type: Plain text
4650 #: build/C/man2/execve.2:469
4651 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4652 msgstr ""
4653
4654 #. type: Plain text
4655 #: build/C/man2/execve.2:480
4656 msgid ""
4657 "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
4658 "versions: some will refuse execution of set-user-ID and set-group-ID "
4659 "executables when this would give the user powers she did not have already "
4660 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4661 "set-group-ID bits and B<exec>()  successfully."
4662 msgstr ""
4663
4664 #. type: Plain text
4665 #: build/C/man2/execve.2:483
4666 msgid ""
4667 "A maximum line length of 127 characters is allowed for the first line in a "
4668 "#! executable shell script."
4669 msgstr ""
4670
4671 #.  e.g., Solaris 8
4672 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4673 #. type: Plain text
4674 #: build/C/man2/execve.2:502
4675 msgid ""
4676 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4677 "across implementations.  On Linux, the entire string following the "
4678 "I<interpreter> name is passed as a single argument to the interpreter, and "
4679 "this string can include white space.  However, behavior differs on some "
4680 "other systems.  Some systems use the first white space to terminate "
4681 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4682 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4683 "arguments."
4684 msgstr ""
4685
4686 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4687 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4688 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4689 #.  Bug rejected (because fix would constitute an ABI change).
4690 #. type: Plain text
4691 #: build/C/man2/execve.2:519
4692 msgid ""
4693 "On Linux, either I<argv> or I<envp> can be specified as NULL, which has the "
4694 "same effect as specifying these arguments as a pointer to a list containing "
4695 "a single null pointer.  B<Do not take advantage of this misfeature!> It is "
4696 "nonstandard and nonportable: on most other UNIX systems doing this will "
4697 "result in an error (B<EFAULT>)."
4698 msgstr ""
4699
4700 #
4701 #.  .SH BUGS
4702 #.  Some Linux versions have failed to check permissions on ELF
4703 #.  interpreters.  This is a security hole, because it allows users to
4704 #.  open any file, such as a rewinding tape device, for reading.  Some
4705 #.  Linux versions have also had other security holes in
4706 #.  .BR execve ()
4707 #.  that could be exploited for denial of service by a suitably crafted
4708 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4709 #. type: Plain text
4710 #: build/C/man2/execve.2:539
4711 msgid ""
4712 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4713 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4714 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4715 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4716 "for holding command-line arguments and environment variables has changed."
4717 msgstr ""
4718
4719 #. type: SS
4720 #: build/C/man2/execve.2:539
4721 #, no-wrap
4722 msgid "Historical"
4723 msgstr ""
4724
4725 #. type: Plain text
4726 #: build/C/man2/execve.2:550
4727 msgid ""
4728 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4729 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4730 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4731 "NULL."
4732 msgstr ""
4733
4734 #. type: Plain text
4735 #: build/C/man2/execve.2:553
4736 msgid ""
4737 "The following program is designed to be execed by the second program below.  "
4738 "It just echoes its command-line one per line."
4739 msgstr ""
4740
4741 #. type: Plain text
4742 #: build/C/man2/execve.2:557
4743 #, no-wrap
4744 msgid "/* myecho.c */\n"
4745 msgstr ""
4746
4747 #. type: Plain text
4748 #: build/C/man2/execve.2:560
4749 #, no-wrap
4750 msgid ""
4751 "#include E<lt>stdio.hE<gt>\n"
4752 "#include E<lt>stdlib.hE<gt>\n"
4753 msgstr ""
4754
4755 #. type: Plain text
4756 #: build/C/man2/execve.2:565
4757 #, no-wrap
4758 msgid ""
4759 "int\n"
4760 "main(int argc, char *argv[])\n"
4761 "{\n"
4762 "    int j;\n"
4763 msgstr ""
4764
4765 #. type: Plain text
4766 #: build/C/man2/execve.2:568
4767 #, no-wrap
4768 msgid ""
4769 "    for (j = 0; j E<lt> argc; j++)\n"
4770 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4771 msgstr ""
4772
4773 #. type: Plain text
4774 #: build/C/man2/execve.2:576
4775 msgid ""
4776 "This program can be used to exec the program named in its command-line "
4777 "argument:"
4778 msgstr ""
4779
4780 #. type: Plain text
4781 #: build/C/man2/execve.2:580
4782 #, no-wrap
4783 msgid "/* execve.c */\n"
4784 msgstr ""
4785
4786 #. type: Plain text
4787 #: build/C/man2/execve.2:584
4788 #, no-wrap
4789 msgid ""
4790 "#include E<lt>stdio.hE<gt>\n"
4791 "#include E<lt>stdlib.hE<gt>\n"
4792 "#include E<lt>unistd.hE<gt>\n"
4793 msgstr ""
4794
4795 #. type: Plain text
4796 #: build/C/man2/execve.2:590
4797 #, no-wrap
4798 msgid ""
4799 "int\n"
4800 "main(int argc, char *argv[])\n"
4801 "{\n"
4802 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4803 "    char *newenviron[] = { NULL };\n"
4804 msgstr ""
4805
4806 #. type: Plain text
4807 #: build/C/man2/execve.2:595
4808 #, no-wrap
4809 msgid ""
4810 "    if (argc != 2) {\n"
4811 "        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", "
4812 "argv[0]);\n"
4813 "        exit(EXIT_FAILURE);\n"
4814 "    }\n"
4815 msgstr ""
4816
4817 #. type: Plain text
4818 #: build/C/man2/execve.2:597
4819 #, no-wrap
4820 msgid "    newargv[0] = argv[1];\n"
4821 msgstr ""
4822
4823 #. type: Plain text
4824 #: build/C/man2/execve.2:602
4825 #, no-wrap
4826 msgid ""
4827 "    execve(argv[1], newargv, newenviron);\n"
4828 "    perror(\"execve\");   /* execve() only returns on error */\n"
4829 "    exit(EXIT_FAILURE);\n"
4830 "}\n"
4831 msgstr ""
4832
4833 #. type: Plain text
4834 #: build/C/man2/execve.2:606
4835 msgid "We can use the second program to exec the first as follows:"
4836 msgstr ""
4837
4838 #. type: Plain text
4839 #: build/C/man2/execve.2:615
4840 #, no-wrap
4841 msgid ""
4842 "$B< cc myecho.c -o myecho>\n"
4843 "$B< cc execve.c -o execve>\n"
4844 "$B< ./execve ./myecho>\n"
4845 "argv[0]: ./myecho\n"
4846 "argv[1]: hello\n"
4847 "argv[2]: world\n"
4848 msgstr ""
4849
4850 #. type: Plain text
4851 #: build/C/man2/execve.2:623
4852 msgid ""
4853 "We can also use these programs to demonstrate the use of a script "
4854 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4855 "I<myecho> program:"
4856 msgstr ""
4857
4858 #. type: Plain text
4859 #: build/C/man2/execve.2:630
4860 #, no-wrap
4861 msgid ""
4862 "$B< cat E<gt> script.sh>\n"
4863 "B<#! ./myecho script-arg>\n"
4864 "B<^D>\n"
4865 "$B< chmod +x script.sh>\n"
4866 msgstr ""
4867
4868 #. type: Plain text
4869 #: build/C/man2/execve.2:634
4870 msgid "We can then use our program to exec the script:"
4871 msgstr ""
4872
4873 #. type: Plain text
4874 #: build/C/man2/execve.2:643
4875 #, no-wrap
4876 msgid ""
4877 "$B< ./execve ./script.sh>\n"
4878 "argv[0]: ./myecho\n"
4879 "argv[1]: script-arg\n"
4880 "argv[2]: ./script.sh\n"
4881 "argv[3]: hello\n"
4882 "argv[4]: world\n"
4883 msgstr ""
4884
4885 #. type: Plain text
4886 #: build/C/man2/execve.2:656
4887 msgid ""
4888 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4889 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4890 "B<ld.so>(8)"
4891 msgstr ""
4892
4893 #. type: TH
4894 #: build/C/man2/exit_group.2:25
4895 #, no-wrap
4896 msgid "EXIT_GROUP"
4897 msgstr ""
4898
4899 #. type: TH
4900 #: build/C/man2/exit_group.2:25
4901 #, no-wrap
4902 msgid "2008-11-27"
4903 msgstr ""
4904
4905 #. type: Plain text
4906 #: build/C/man2/exit_group.2:28
4907 msgid "exit_group - exit all threads in a process"
4908 msgstr ""
4909
4910 #. type: Plain text
4911 #: build/C/man2/exit_group.2:31
4912 #, no-wrap
4913 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4914 msgstr ""
4915
4916 #. type: Plain text
4917 #: build/C/man2/exit_group.2:33
4918 #, no-wrap
4919 msgid "B<void exit_group(int >I<status>B<);>\n"
4920 msgstr ""
4921
4922 #. type: Plain text
4923 #: build/C/man2/exit_group.2:39
4924 msgid ""
4925 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4926 "only the calling thread, but all threads in the calling process's thread "
4927 "group."
4928 msgstr ""
4929
4930 #. type: Plain text
4931 #: build/C/man2/exit_group.2:41
4932 msgid "This system call does not return."
4933 msgstr ""
4934
4935 #. type: Plain text
4936 #: build/C/man2/exit_group.2:43
4937 msgid "This call is present since Linux 2.5.35."
4938 msgstr ""
4939
4940 #. type: Plain text
4941 #: build/C/man2/exit_group.2:45
4942 msgid "This call is Linux-specific."
4943 msgstr ""
4944
4945 #. type: Plain text
4946 #: build/C/man2/exit_group.2:49
4947 msgid ""
4948 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4949 "wrapper function is called."
4950 msgstr ""
4951
4952 #. type: Plain text
4953 #: build/C/man2/exit_group.2:51
4954 msgid "B<exit>(2)"
4955 msgstr ""
4956
4957 #. type: TH
4958 #: build/C/man2/fcntl.2:61
4959 #, no-wrap
4960 msgid "FCNTL"
4961 msgstr ""
4962
4963 #. type: TH
4964 #: build/C/man2/fcntl.2:61 build/C/man2/syscalls.2:31
4965 #, no-wrap
4966 msgid "2014-02-20"
4967 msgstr ""
4968
4969 #. type: Plain text
4970 #: build/C/man2/fcntl.2:64
4971 msgid "fcntl - manipulate file descriptor"
4972 msgstr ""
4973
4974 #. type: Plain text
4975 #: build/C/man2/fcntl.2:68
4976 #, no-wrap
4977 msgid ""
4978 "B<#include E<lt>unistd.hE<gt>>\n"
4979 "B<#include E<lt>fcntl.hE<gt>>\n"
4980 msgstr ""
4981
4982 #. type: Plain text
4983 #: build/C/man2/fcntl.2:70
4984 #, no-wrap
4985 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4986 msgstr ""
4987
4988 #. type: Plain text
4989 #: build/C/man2/fcntl.2:77
4990 msgid ""
4991 "B<fcntl>()  performs one of the operations described below on the open file "
4992 "descriptor I<fd>.  The operation is determined by I<cmd>."
4993 msgstr ""
4994
4995 #. type: Plain text
4996 #: build/C/man2/fcntl.2:91
4997 msgid ""
4998 "B<fcntl>()  can take an optional third argument.  Whether or not this "
4999 "argument is required is determined by I<cmd>.  The required argument type is "
5000 "indicated in parentheses after each I<cmd> name (in most cases, the required "
5001 "type is I<int>, and we identify the argument using the name I<arg>), or "
5002 "I<void> is specified if the argument is not required."
5003 msgstr ""
5004
5005 #. type: SS
5006 #: build/C/man2/fcntl.2:91
5007 #, no-wrap
5008 msgid "Duplicating a file descriptor"
5009 msgstr ""
5010
5011 #. type: TP
5012 #: build/C/man2/fcntl.2:92
5013 #, no-wrap
5014 msgid "B<F_DUPFD> (I<int>)"
5015 msgstr ""
5016
5017 #. type: Plain text
5018 #: build/C/man2/fcntl.2:102
5019 msgid ""
5020 "Find the lowest numbered available file descriptor greater than or equal to "
5021 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
5022 "which uses exactly the descriptor specified."
5023 msgstr ""
5024
5025 #. type: Plain text
5026 #: build/C/man2/fcntl.2:104
5027 msgid "On success, the new descriptor is returned."
5028 msgstr ""
5029
5030 #. type: Plain text
5031 #: build/C/man2/fcntl.2:108
5032 msgid "See B<dup>(2)  for further details."
5033 msgstr ""
5034
5035 #. type: TP
5036 #: build/C/man2/fcntl.2:108
5037 #, no-wrap
5038 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
5039 msgstr ""
5040
5041 #. type: Plain text
5042 #: build/C/man2/fcntl.2:125
5043 msgid ""
5044 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
5045 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
5046 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
5047 "For an explanation of why this flag is useful, see the description of "
5048 "B<O_CLOEXEC> in B<open>(2)."
5049 msgstr ""
5050
5051 #. type: SS
5052 #: build/C/man2/fcntl.2:125
5053 #, no-wrap
5054 msgid "File descriptor flags"
5055 msgstr ""
5056
5057 #. type: Plain text
5058 #: build/C/man2/fcntl.2:136
5059 msgid ""
5060 "The following commands manipulate the flags associated with a file "
5061 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
5062 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
5063 "remain open across an B<execve>(2), otherwise it will be closed."
5064 msgstr ""
5065
5066 #. type: TP
5067 #: build/C/man2/fcntl.2:136
5068 #, no-wrap
5069 msgid "B<F_GETFD> (I<void>)"
5070 msgstr ""
5071
5072 #. type: Plain text
5073 #: build/C/man2/fcntl.2:141
5074 msgid "Read the file descriptor flags; I<arg> is ignored."
5075 msgstr ""
5076
5077 #. type: TP
5078 #: build/C/man2/fcntl.2:141
5079 #, no-wrap
5080 msgid "B<F_SETFD> (I<int>)"
5081 msgstr ""
5082
5083 #. type: Plain text
5084 #: build/C/man2/fcntl.2:145
5085 msgid "Set the file descriptor flags to the value specified by I<arg>."
5086 msgstr ""
5087
5088 #. type: SS
5089 #: build/C/man2/fcntl.2:145
5090 #, no-wrap
5091 msgid "File status flags"
5092 msgstr ""
5093
5094 #.  or
5095 #.  .BR creat (2),
5096 #. type: Plain text
5097 #: build/C/man2/fcntl.2:160
5098 msgid ""
5099 "Each open file description has certain associated status flags, initialized "
5100 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
5101 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
5102 "to the same open file description, and thus share the same file status "
5103 "flags."
5104 msgstr ""
5105
5106 #. type: Plain text
5107 #: build/C/man2/fcntl.2:163
5108 msgid "The file status flags and their semantics are described in B<open>(2)."
5109 msgstr ""
5110
5111 #. type: TP
5112 #: build/C/man2/fcntl.2:163
5113 #, no-wrap
5114 msgid "B<F_GETFL> (I<void>)"
5115 msgstr ""
5116
5117 #. type: Plain text
5118 #: build/C/man2/fcntl.2:168
5119 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
5120 msgstr ""
5121
5122 #. type: TP
5123 #: build/C/man2/fcntl.2:168
5124 #, no-wrap
5125 msgid "B<F_SETFL> (I<int>)"
5126 msgstr ""
5127
5128 #. type: Plain text
5129 #: build/C/man2/fcntl.2:193
5130 msgid ""
5131 "Set the file status flags to the value specified by I<arg>.  File access "
5132 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
5133 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
5134 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
5135 "B<O_NOATIME>, and B<O_NONBLOCK> flags.  It is not possible to change the "
5136 "B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below."
5137 msgstr ""
5138
5139 #. type: SS
5140 #: build/C/man2/fcntl.2:193
5141 #, no-wrap
5142 msgid "Advisory locking"
5143 msgstr ""
5144
5145 #. type: Plain text
5146 #: build/C/man2/fcntl.2:204
5147 msgid ""
5148 "B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and "
5149 "test for the existence of record locks (also known as file-segment or "
5150 "file-region locks).  The third argument, I<lock>, is a pointer to a "
5151 "structure that has at least the following fields (in unspecified order)."
5152 msgstr ""
5153
5154 #. type: Plain text
5155 #: build/C/man2/fcntl.2:219
5156 #, no-wrap
5157 msgid ""
5158 "struct flock {\n"
5159 "    ...\n"
5160 "    short l_type;    /* Type of lock: F_RDLCK,\n"
5161 "                        F_WRLCK, F_UNLCK */\n"
5162 "    short l_whence;  /* How to interpret l_start:\n"
5163 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
5164 "    off_t l_start;   /* Starting offset for lock */\n"
5165 "    off_t l_len;     /* Number of bytes to lock */\n"
5166 "    pid_t l_pid;     /* PID of process blocking our lock\n"
5167 "                        (F_GETLK only) */\n"
5168 "    ...\n"
5169 "};\n"
5170 msgstr ""
5171
5172 #. type: Plain text
5173 #: build/C/man2/fcntl.2:227
5174 msgid ""
5175 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
5176 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
5177 "locked, but not bytes before the start of the file."
5178 msgstr ""
5179
5180 #. type: Plain text
5181 #: build/C/man2/fcntl.2:247
5182 msgid ""
5183 "I<l_start> is the starting offset for the lock, and is interpreted relative "
5184 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
5185 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
5186 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
5187 "a negative number provided the offset does not lie before the start of the "
5188 "file."
5189 msgstr ""
5190
5191 #. type: Plain text
5192 #: build/C/man2/fcntl.2:262
5193 msgid ""
5194 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
5195 "positive, then the range to be locked covers bytes I<l_start> up to and "
5196 "including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special "
5197 "meaning: lock all bytes starting at the location specified by I<l_whence> "
5198 "and I<l_start> through to the end of file, no matter how large the file "
5199 "grows."
5200 msgstr ""
5201
5202 #. type: Plain text
5203 #: build/C/man2/fcntl.2:275
5204 msgid ""
5205 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
5206 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
5207 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
5208 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
5209 msgstr ""
5210
5211 #. type: Plain text
5212 #: build/C/man2/fcntl.2:294
5213 msgid ""
5214 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
5215 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
5216 "(shared lock)  on a file region, but only one process may hold a write lock "
5217 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
5218 "and exclusive.  A single process can hold only one type of lock on a file "
5219 "region; if a new lock is applied to an already-locked region, then the "
5220 "existing lock is converted to the new lock type.  (Such conversions may "
5221 "involve splitting, shrinking, or coalescing with an existing lock if the "
5222 "byte range specified by the new lock does not precisely coincide with the "
5223 "range of the existing lock.)"
5224 msgstr ""
5225
5226 #. type: TP
5227 #: build/C/man2/fcntl.2:294
5228 #, no-wrap
5229 msgid "B<F_SETLK> (I<struct flock *>)"
5230 msgstr ""
5231
5232 #. type: Plain text
5233 #: build/C/man2/fcntl.2:317
5234 msgid ""
5235 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
5236 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
5237 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
5238 "lock is held by another process, this call returns -1 and sets I<errno> to "
5239 "B<EACCES> or B<EAGAIN>."
5240 msgstr ""
5241
5242 #. type: TP
5243 #: build/C/man2/fcntl.2:317
5244 #, no-wrap
5245 msgid "B<F_SETLKW> (I<struct flock *>)"
5246 msgstr ""
5247
5248 #. type: Plain text
5249 #: build/C/man2/fcntl.2:331
5250 msgid ""
5251 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
5252 "for that lock to be released.  If a signal is caught while waiting, then the "
5253 "call is interrupted and (after the signal handler has returned)  returns "
5254 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
5255 "B<signal>(7))."
5256 msgstr ""
5257
5258 #. type: TP
5259 #: build/C/man2/fcntl.2:331
5260 #, no-wrap
5261 msgid "B<F_GETLK> (I<struct flock *>)"
5262 msgstr ""
5263
5264 #. type: Plain text
5265 #: build/C/man2/fcntl.2:358
5266 msgid ""
5267 "On input to this call, I<lock> describes a lock we would like to place on "
5268 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
5269 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
5270 "other fields of the structure unchanged.  If one or more incompatible locks "
5271 "would prevent this lock being placed, then B<fcntl>()  returns details about "
5272 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
5273 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
5274 "that lock.  Note that the information returned by B<F_GETLK> may already be "
5275 "out of date by the time the caller inspects it."
5276 msgstr ""
5277
5278 #. type: Plain text
5279 #: build/C/man2/fcntl.2:366
5280 msgid ""
5281 "In order to place a read lock, I<fd> must be open for reading.  In order to "
5282 "place a write lock, I<fd> must be open for writing.  To place both types of "
5283 "lock, open a file read-write."
5284 msgstr ""
5285
5286 #.  (Additional file descriptors referring to the same file
5287 #.  may have been obtained by calls to
5288 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
5289 #. type: Plain text
5290 #: build/C/man2/fcntl.2:383
5291 msgid ""
5292 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
5293 "automatically released when the process terminates or if it closes I<any> "
5294 "file descriptor referring to a file on which locks are held.  This is bad: "
5295 "it means that a process can lose the locks on a file like I</etc/passwd> or "
5296 "I</etc/mtab> when for some reason a library function decides to open, read "
5297 "and close it."
5298 msgstr ""
5299
5300 #. type: Plain text
5301 #: build/C/man2/fcntl.2:388
5302 msgid ""
5303 "Record locks are not inherited by a child created via B<fork>(2), but are "
5304 "preserved across an B<execve>(2)."
5305 msgstr ""
5306
5307 #. type: Plain text
5308 #: build/C/man2/fcntl.2:397
5309 msgid ""
5310 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
5311 "record locking with routines in that package should be avoided; use "
5312 "B<read>(2)  and B<write>(2)  instead."
5313 msgstr ""
5314
5315 #. type: SS
5316 #: build/C/man2/fcntl.2:397 build/C/man2/fcntl.2:1311
5317 #, no-wrap
5318 msgid "Mandatory locking"
5319 msgstr ""
5320
5321 #. type: Plain text
5322 #: build/C/man2/fcntl.2:401
5323 msgid ""
5324 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
5325 "and are advisory by default."
5326 msgstr ""
5327
5328 #. type: Plain text
5329 #: build/C/man2/fcntl.2:404
5330 msgid ""
5331 "Advisory locks are not enforced and are useful only between cooperating "
5332 "processes."
5333 msgstr ""
5334
5335 #. type: Plain text
5336 #: build/C/man2/fcntl.2:423
5337 msgid ""
5338 "Mandatory locks are enforced for all processes.  If a process tries to "
5339 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
5340 "region that has an incompatible mandatory lock, then the result depends upon "
5341 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
5342 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
5343 "lock is removed or converted to a mode that is compatible with the access.  "
5344 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
5345 "error B<EAGAIN>."
5346 msgstr ""
5347
5348 #. type: Plain text
5349 #: build/C/man2/fcntl.2:440
5350 msgid ""
5351 "To make use of mandatory locks, mandatory locking must be enabled both on "
5352 "the filesystem that contains the file to be locked, and on the file itself.  "
5353 "Mandatory locking is enabled on a filesystem using the \"-o mand\" option to "
5354 "B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking "
5355 "is enabled on a file by disabling group execute permission on the file and "
5356 "enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
5357 msgstr ""
5358
5359 #. type: Plain text
5360 #: build/C/man2/fcntl.2:443
5361 msgid ""
5362 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
5363 "below."
5364 msgstr ""
5365
5366 #. type: SS
5367 #: build/C/man2/fcntl.2:443
5368 #, no-wrap
5369 msgid "Managing signals"
5370 msgstr ""
5371
5372 #. type: Plain text
5373 #: build/C/man2/fcntl.2:452
5374 msgid ""
5375 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
5376 "B<F_SETSIG> are used to manage I/O availability signals:"
5377 msgstr ""
5378
5379 #. type: TP
5380 #: build/C/man2/fcntl.2:452
5381 #, no-wrap
5382 msgid "B<F_GETOWN> (I<void>)"
5383 msgstr ""
5384
5385 #. type: Plain text
5386 #: build/C/man2/fcntl.2:465
5387 msgid ""
5388 "Return (as the function result)  the process ID or process group currently "
5389 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
5390 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
5391 "returned as negative values (but see BUGS below).  I<arg> is ignored."
5392 msgstr ""
5393
5394 #. type: TP
5395 #: build/C/man2/fcntl.2:465
5396 #, no-wrap
5397 msgid "B<F_SETOWN> (I<int>)"
5398 msgstr ""
5399
5400 #. type: Plain text
5401 #: build/C/man2/fcntl.2:482
5402 msgid ""
5403 "Set the process ID or process group ID that will receive B<SIGIO> and "
5404 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
5405 "I<arg>.  A process ID is specified as a positive value; a process group ID "
5406 "is specified as a negative value.  Most commonly, the calling process "
5407 "specifies itself as the owner (that is, I<arg> is specified as "
5408 "B<getpid>(2))."
5409 msgstr ""
5410
5411 #.  From glibc.info:
5412 #. type: Plain text
5413 #: build/C/man2/fcntl.2:499
5414 msgid ""
5415 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
5416 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
5417 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
5418 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
5419 "check fails, then the signal is silently discarded."
5420 msgstr ""
5421
5422 #. type: Plain text
5423 #: build/C/man2/fcntl.2:507
5424 msgid ""
5425 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
5426 "subject to the same permissions checks as are described for B<kill>(2), "
5427 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
5428 "below)."
5429 msgstr ""
5430
5431 #.  The following appears to be rubbish.  It doesn't seem to
5432 #.  be true according to the kernel source, and I can write
5433 #.  a program that gets a terminal-generated SIGIO even though
5434 #.  it is not the foreground process group of the terminal.
5435 #.  -- MTK, 8 Apr 05
5436 #
5437 #.  If the file descriptor
5438 #.  .I fd
5439 #.  refers to a terminal device, then SIGIO
5440 #.  signals are sent to the foreground process group of the terminal.
5441 #. type: Plain text
5442 #: build/C/man2/fcntl.2:531
5443 msgid ""
5444 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
5445 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
5446 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
5447 "B<select>(2)  would report the socket as having an \"exceptional "
5448 "condition\".)"
5449 msgstr ""
5450
5451 #. type: Plain text
5452 #: build/C/man2/fcntl.2:534
5453 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
5454 msgstr ""
5455
5456 #.  The relevant place in the (2.6) kernel source is the
5457 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
5458 #.  send_sigurg()/send_sigurg_to_task() bypasses
5459 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
5460 #.  to directly call send_group_sig_info()
5461 #.      -- MTK, Apr 2005 (kernel 2.6.11)
5462 #. type: Plain text
5463 #: build/C/man2/fcntl.2:574
5464 msgid ""
5465 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
5466 "running with a threading library that supports thread groups (e.g., NPTL), "
5467 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
5468 "of being a process ID identifying a whole process, it is a thread ID "
5469 "identifying a specific thread within a process.  Consequently, it may be "
5470 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
5471 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
5472 "Linux threading implementations, a main thread's thread ID is the same as "
5473 "its process ID.  This means that a single-threaded program can equally use "
5474 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
5475 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
5476 "for out-of-band data on a socket: this signal is always sent to either a "
5477 "process or a process group, depending on the value given to B<F_SETOWN>."
5478 msgstr ""
5479
5480 #. type: Plain text
5481 #: build/C/man2/fcntl.2:585
5482 msgid ""
5483 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
5484 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5485 "and B<SIGURG> signals at a particular thread."
5486 msgstr ""
5487
5488 #. type: TP
5489 #: build/C/man2/fcntl.2:585
5490 #, no-wrap
5491 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5492 msgstr ""
5493
5494 #. type: Plain text
5495 #: build/C/man2/fcntl.2:594
5496 msgid ""
5497 "Return the current file descriptor owner settings as defined by a previous "
5498 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5499 "pointed to by I<arg>, which has the following form:"
5500 msgstr ""
5501
5502 #. type: Plain text
5503 #: build/C/man2/fcntl.2:601
5504 #, no-wrap
5505 msgid ""
5506 "struct f_owner_ex {\n"
5507 "    int   type;\n"
5508 "    pid_t pid;\n"
5509 "};\n"
5510 msgstr ""
5511
5512 #. type: Plain text
5513 #: build/C/man2/fcntl.2:618
5514 msgid ""
5515 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5516 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5517 "representing a thread ID, process ID, or process group ID.  See "
5518 "B<F_SETOWN_EX> for more details."
5519 msgstr ""
5520
5521 #. type: TP
5522 #: build/C/man2/fcntl.2:618
5523 #, no-wrap
5524 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5525 msgstr ""
5526
5527 #. type: Plain text
5528 #: build/C/man2/fcntl.2:634
5529 msgid ""
5530 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5531 "to direct I/O availability signals to a specific thread, process, or process "
5532 "group.  The caller specifies the target of signals via I<arg>, which is a "
5533 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5534 "following values, which define how I<pid> is interpreted:"
5535 msgstr ""
5536
5537 #. type: TP
5538 #: build/C/man2/fcntl.2:635
5539 #, no-wrap
5540 msgid "B<F_OWNER_TID>"
5541 msgstr ""
5542
5543 #. type: Plain text
5544 #: build/C/man2/fcntl.2:644
5545 msgid ""
5546 "Send the signal to the thread whose thread ID (the value returned by a call "
5547 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5548 msgstr ""
5549
5550 #. type: TP
5551 #: build/C/man2/fcntl.2:644
5552 #, no-wrap
5553 msgid "B<F_OWNER_PID>"
5554 msgstr ""
5555
5556 #. type: Plain text
5557 #: build/C/man2/fcntl.2:649
5558 msgid "Send the signal to the process whose ID is specified in I<pid>."
5559 msgstr ""
5560
5561 #. type: TP
5562 #: build/C/man2/fcntl.2:649
5563 #, no-wrap
5564 msgid "B<F_OWNER_PGRP>"
5565 msgstr ""
5566
5567 #. type: Plain text
5568 #: build/C/man2/fcntl.2:657
5569 msgid ""
5570 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5571 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5572 "value here.)"
5573 msgstr ""
5574
5575 #. type: TP
5576 #: build/C/man2/fcntl.2:658
5577 #, no-wrap
5578 msgid "B<F_GETSIG> (I<void>)"
5579 msgstr ""
5580
5581 #. type: Plain text
5582 #: build/C/man2/fcntl.2:673
5583 msgid ""
5584 "Return (as the function result)  the signal sent when input or output "
5585 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5586 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5587 "additional info is available to the signal handler if installed with "
5588 "B<SA_SIGINFO>.  I<arg> is ignored."
5589 msgstr ""
5590
5591 #. type: TP
5592 #: build/C/man2/fcntl.2:673
5593 #, no-wrap
5594 msgid "B<F_SETSIG> (I<int>)"
5595 msgstr ""
5596
5597 #
5598 #.  The following was true only up until 2.6.11:
5599 #
5600 #.  Additionally, passing a nonzero value to
5601 #.  .B F_SETSIG
5602 #.  changes the signal recipient from a whole process to a specific thread
5603 #.  within a process.
5604 #.  See the description of
5605 #.  .B F_SETOWN
5606 #.  for more details.
5607 #. type: Plain text
5608 #: build/C/man2/fcntl.2:696
5609 msgid ""
5610 "Set the signal sent when input or output becomes possible to the value given "
5611 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5612 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5613 "case additional info is available to the signal handler if installed with "
5614 "B<SA_SIGINFO>."
5615 msgstr ""
5616
5617 #. type: Plain text
5618 #: build/C/man2/fcntl.2:724
5619 msgid ""
5620 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5621 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5622 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5623 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5624 "descriptor associated with the event.  Otherwise, there is no indication "
5625 "which file descriptors are pending, and you should use the usual mechanisms "
5626 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5627 "determine which file descriptors are available for I/O."
5628 msgstr ""
5629
5630 #. type: Plain text
5631 #: build/C/man2/fcntl.2:733
5632 msgid ""
5633 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5634 "events may be queued using the same signal numbers.  (Queuing is dependent "
5635 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5636 "set for the signal handler, as above."
5637 msgstr ""
5638
5639 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5640 #. type: Plain text
5641 #: build/C/man2/fcntl.2:746
5642 msgid ""
5643 "Note that Linux imposes a limit on the number of real-time signals that may "
5644 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5645 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5646 "signal is delivered to the entire process rather than to a specific thread."
5647 msgstr ""
5648
5649 #. type: Plain text
5650 #: build/C/man2/fcntl.2:753
5651 msgid ""
5652 "Using these mechanisms, a program can implement fully asynchronous I/O "
5653 "without using B<select>(2)  or B<poll>(2)  most of the time."
5654 msgstr ""
5655
5656 #. type: Plain text
5657 #: build/C/man2/fcntl.2:777
5658 msgid ""
5659 "The use of B<O_ASYNC> is specific to BSD and Linux.  The only use of "
5660 "B<F_GETOWN> and B<F_SETOWN> specified in POSIX.1 is in conjunction with the "
5661 "use of the B<SIGURG> signal on sockets.  (POSIX does not specify the "
5662 "B<SIGIO> signal.)  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and "
5663 "B<F_SETSIG> are Linux-specific.  POSIX has asynchronous I/O and the "
5664 "I<aio_sigevent> structure to achieve similar things; these are also "
5665 "available in Linux as part of the GNU C Library (Glibc)."
5666 msgstr ""
5667
5668 #. type: SS
5669 #: build/C/man2/fcntl.2:777
5670 #, no-wrap
5671 msgid "Leases"
5672 msgstr ""
5673
5674 #. type: Plain text
5675 #: build/C/man2/fcntl.2:792
5676 msgid ""
5677 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5678 "to establish a new lease, and retrieve the current lease, on the open file "
5679 "description referred to by the file descriptor I<fd>.  A file lease provides "
5680 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5681 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5682 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5683 "descriptor."
5684 msgstr ""
5685
5686 #. type: TP
5687 #: build/C/man2/fcntl.2:792
5688 #, no-wrap
5689 msgid "B<F_SETLEASE> (I<int>)"
5690 msgstr ""
5691
5692 #. type: Plain text
5693 #: build/C/man2/fcntl.2:797
5694 msgid ""
5695 "Set or remove a file lease according to which of the following values is "
5696 "specified in the integer I<arg>:"
5697 msgstr ""
5698
5699 #. type: TP
5700 #: build/C/man2/fcntl.2:798
5701 #, no-wrap
5702 msgid "B<F_RDLCK>"
5703 msgstr ""
5704
5705 #.  The following became true in kernel 2.6.10:
5706 #.  See the man-pages-2.09 Changelog for further info.
5707 #. type: Plain text
5708 #: build/C/man2/fcntl.2:807
5709 msgid ""
5710 "Take out a read lease.  This will cause the calling process to be notified "
5711 "when the file is opened for writing or is truncated.  A read lease can be "
5712 "placed only on a file descriptor that is opened read-only."
5713 msgstr ""
5714
5715 #. type: TP
5716 #: build/C/man2/fcntl.2:807
5717 #, no-wrap
5718 msgid "B<F_WRLCK>"
5719 msgstr ""
5720
5721 #. type: Plain text
5722 #: build/C/man2/fcntl.2:814
5723 msgid ""
5724 "Take out a write lease.  This will cause the caller to be notified when the "
5725 "file is opened for reading or writing or is truncated.  A write lease may be "
5726 "placed on a file only if there are no other open file descriptors for the "
5727 "file."
5728 msgstr ""
5729
5730 #. type: TP
5731 #: build/C/man2/fcntl.2:814
5732 #, no-wrap
5733 msgid "B<F_UNLCK>"
5734 msgstr ""
5735
5736 #. type: Plain text
5737 #: build/C/man2/fcntl.2:817
5738 msgid "Remove our lease from the file."
5739 msgstr ""
5740
5741 #. type: Plain text
5742 #: build/C/man2/fcntl.2:831
5743 msgid ""
5744 "Leases are associated with an open file description (see B<open>(2)).  This "
5745 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5746 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5747 "released using any of these descriptors.  Furthermore, the lease is released "
5748 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5749 "descriptors, or when all such descriptors have been closed."
5750 msgstr ""
5751
5752 #. type: Plain text
5753 #: build/C/man2/fcntl.2:838
5754 msgid ""
5755 "Leases may be taken out only on regular files.  An unprivileged process may "
5756 "take out a lease only on a file whose UID (owner) matches the filesystem UID "
5757 "of the process.  A process with the B<CAP_LEASE> capability may take out "
5758 "leases on arbitrary files."
5759 msgstr ""
5760
5761 #. type: TP
5762 #: build/C/man2/fcntl.2:838
5763 #, no-wrap
5764 msgid "B<F_GETLEASE> (I<void>)"
5765 msgstr ""
5766
5767 #. type: Plain text
5768 #: build/C/man2/fcntl.2:847
5769 msgid ""
5770 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5771 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5772 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5773 msgstr ""
5774
5775 #. type: Plain text
5776 #: build/C/man2/fcntl.2:878
5777 msgid ""
5778 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5779 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5780 "the system call is blocked by the kernel and the kernel notifies the lease "
5781 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5782 "should respond to receipt of this signal by doing whatever cleanup is "
5783 "required in preparation for the file to be accessed by another process "
5784 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5785 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5786 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5787 "the file, and the lease breaker is opening the file for reading, then it is "
5788 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5789 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5790 "B<F_RDLCK>."
5791 msgstr ""
5792
5793 #. type: Plain text
5794 #: build/C/man2/fcntl.2:883
5795 msgid ""
5796 "If the lease holder fails to downgrade or remove the lease within the number "
5797 "of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
5798 "forcibly removes or downgrades the lease holder's lease."
5799 msgstr ""
5800
5801 #. type: Plain text
5802 #: build/C/man2/fcntl.2:893
5803 msgid ""
5804 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5805 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5806 "compatible with the lease breaker)  until the lease holder voluntarily "
5807 "downgrades or removes the lease or the kernel forcibly does so after the "
5808 "lease break timer expires."
5809 msgstr ""
5810
5811 #. type: Plain text
5812 #: build/C/man2/fcntl.2:897
5813 msgid ""
5814 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5815 "assuming the lease breaker has not unblocked its system call, the kernel "
5816 "permits the lease breaker's system call to proceed."
5817 msgstr ""
5818
5819 #. type: Plain text
5820 #: build/C/man2/fcntl.2:918
5821 msgid ""
5822 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5823 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5824 "the other steps still occur as described above.  If the lease breaker is "
5825 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5826 "other steps still occur as described above.  If the lease breaker specifies "
5827 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5828 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5829 "described above."
5830 msgstr ""
5831
5832 #. type: Plain text
5833 #: build/C/man2/fcntl.2:939
5834 msgid ""
5835 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5836 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5837 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5838 "is established using B<SA_SIGINFO>, then the handler will receive a "
5839 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5840 "this argument will hold the descriptor of the leased file that has been "
5841 "accessed by another process.  (This is useful if the caller holds leases "
5842 "against multiple files)."
5843 msgstr ""
5844
5845 #. type: SS
5846 #: build/C/man2/fcntl.2:939
5847 #, no-wrap
5848 msgid "File and directory change notification (dnotify)"
5849 msgstr ""
5850
5851 #. type: TP
5852 #: build/C/man2/fcntl.2:940
5853 #, no-wrap
5854 msgid "B<F_NOTIFY> (I<int>)"
5855 msgstr ""
5856
5857 #. type: Plain text
5858 #: build/C/man2/fcntl.2:950
5859 msgid ""
5860 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5861 "I<fd> or any of the files that it contains is changed.  The events to be "
5862 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5863 "together zero or more of the following bits:"
5864 msgstr ""
5865
5866 #. type: TP
5867 #: build/C/man2/fcntl.2:953
5868 #, no-wrap
5869 msgid "B<DN_ACCESS>"
5870 msgstr ""
5871
5872 #. type: Plain text
5873 #: build/C/man2/fcntl.2:956
5874 msgid "A file was accessed (read, pread, readv)"
5875 msgstr ""
5876
5877 #. type: TP
5878 #: build/C/man2/fcntl.2:956
5879 #, no-wrap
5880 msgid "B<DN_MODIFY>"
5881 msgstr ""
5882
5883 #. type: Plain text
5884 #: build/C/man2/fcntl.2:959
5885 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5886 msgstr ""
5887
5888 #. type: TP
5889 #: build/C/man2/fcntl.2:959
5890 #, no-wrap
5891 msgid "B<DN_CREATE>"
5892 msgstr ""
5893
5894 #. type: Plain text
5895 #: build/C/man2/fcntl.2:962
5896 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5897 msgstr ""
5898
5899 #. type: TP
5900 #: build/C/man2/fcntl.2:962
5901 #, no-wrap
5902 msgid "B<DN_DELETE>"
5903 msgstr ""
5904
5905 #. type: Plain text
5906 #: build/C/man2/fcntl.2:965
5907 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5908 msgstr ""
5909
5910 #. type: TP
5911 #: build/C/man2/fcntl.2:965
5912 #, no-wrap
5913 msgid "B<DN_RENAME>"
5914 msgstr ""
5915
5916 #. type: Plain text
5917 #: build/C/man2/fcntl.2:968
5918 msgid "A file was renamed within this directory (rename)."
5919 msgstr ""
5920
5921 #. type: TP
5922 #: build/C/man2/fcntl.2:968
5923 #, no-wrap
5924 msgid "B<DN_ATTRIB>"
5925 msgstr ""
5926
5927 #. type: Plain text
5928 #: build/C/man2/fcntl.2:971
5929 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5930 msgstr ""
5931
5932 #. type: Plain text
5933 #: build/C/man2/fcntl.2:979
5934 msgid ""
5935 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5936 "must be defined before including I<any> header files.)"
5937 msgstr ""
5938
5939 #. type: Plain text
5940 #: build/C/man2/fcntl.2:987
5941 msgid ""
5942 "Directory notifications are normally \"one-shot\", and the application must "
5943 "reregister to receive further notifications.  Alternatively, if "
5944 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5945 "effect until explicitly removed."
5946 msgstr ""
5947
5948 #.  The following does seem a poor API-design choice...
5949 #. type: Plain text
5950 #: build/C/man2/fcntl.2:999
5951 msgid ""
5952 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5953 "being added to the set already monitored.  To disable notification of all "
5954 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5955 msgstr ""
5956
5957 #. type: Plain text
5958 #: build/C/man2/fcntl.2:1017
5959 msgid ""
5960 "Notification occurs via delivery of a signal.  The default signal is "
5961 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5962 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5963 "structure as its second argument (if the handler was established using "
5964 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5965 "descriptor which generated the notification (useful when establishing "
5966 "notification on multiple directories)."
5967 msgstr ""
5968
5969 #. type: Plain text
5970 #: build/C/man2/fcntl.2:1022
5971 msgid ""
5972 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5973 "notification, so that multiple notifications can be queued."
5974 msgstr ""
5975
5976 #. type: Plain text
5977 #: build/C/man2/fcntl.2:1031
5978 msgid ""
5979 "B<NOTE:> New applications should use the I<inotify> interface (available "
5980 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5981 "notifications of filesystem events.  See B<inotify>(7)."
5982 msgstr ""
5983
5984 #. type: SS
5985 #: build/C/man2/fcntl.2:1031
5986 #, no-wrap
5987 msgid "Changing the capacity of a pipe"
5988 msgstr ""
5989
5990 #. type: TP
5991 #: build/C/man2/fcntl.2:1032
5992 #, no-wrap
5993 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5994 msgstr ""
5995
5996 #. type: Plain text
5997 #: build/C/man2/fcntl.2:1063
5998 msgid ""
5999 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
6000 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
6001 "between the system page size and the limit defined in "
6002 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
6003 "capacity below the page size are silently rounded up to the page size.  "
6004 "Attempts by an unprivileged process to set the pipe capacity above the limit "
6005 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
6006 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
6007 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
6008 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
6009 "returns the actual size used.  Attempting to set the pipe capacity smaller "
6010 "than the amount of buffer space currently used to store data produces the "
6011 "error B<EBUSY>."
6012 msgstr ""
6013
6014 #. type: TP
6015 #: build/C/man2/fcntl.2:1063
6016 #, no-wrap
6017 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
6018 msgstr ""
6019
6020 #. type: Plain text
6021 #: build/C/man2/fcntl.2:1067
6022 msgid ""
6023 "Return (as the function result) the capacity of the pipe referred to by "
6024 "I<fd>."
6025 msgstr ""
6026
6027 #. type: Plain text
6028 #: build/C/man2/fcntl.2:1069
6029 msgid "For a successful call, the return value depends on the operation:"
6030 msgstr ""
6031
6032 #. type: TP
6033 #: build/C/man2/fcntl.2:1069
6034 #, no-wrap
6035 msgid "B<F_DUPFD>"
6036 msgstr ""
6037
6038 #. type: Plain text
6039 #: build/C/man2/fcntl.2:1072
6040 msgid "The new descriptor."
6041 msgstr ""
6042
6043 #. type: TP
6044 #: build/C/man2/fcntl.2:1072
6045 #, no-wrap
6046 msgid "B<F_GETFD>"
6047 msgstr ""
6048
6049 #. type: Plain text
6050 #: build/C/man2/fcntl.2:1075
6051 msgid "Value of file descriptor flags."
6052 msgstr ""
6053
6054 #. type: TP
6055 #: build/C/man2/fcntl.2:1075
6056 #, no-wrap
6057 msgid "B<F_GETFL>"
6058 msgstr ""
6059
6060 #. type: Plain text
6061 #: build/C/man2/fcntl.2:1078
6062 msgid "Value of file status flags."
6063 msgstr ""
6064
6065 #. type: TP
6066 #: build/C/man2/fcntl.2:1078
6067 #, no-wrap
6068 msgid "B<F_GETLEASE>"
6069 msgstr ""
6070
6071 #. type: Plain text
6072 #: build/C/man2/fcntl.2:1081
6073 msgid "Type of lease held on file descriptor."
6074 msgstr ""
6075
6076 #. type: TP
6077 #: build/C/man2/fcntl.2:1081
6078 #, no-wrap
6079 msgid "B<F_GETOWN>"
6080 msgstr ""
6081
6082 #. type: Plain text
6083 #: build/C/man2/fcntl.2:1084
6084 msgid "Value of descriptor owner."
6085 msgstr ""
6086
6087 #. type: TP
6088 #: build/C/man2/fcntl.2:1084
6089 #, no-wrap
6090 msgid "B<F_GETSIG>"
6091 msgstr ""
6092
6093 #. type: Plain text
6094 #: build/C/man2/fcntl.2:1090
6095 msgid ""
6096 "Value of signal sent when read or write becomes possible, or zero for "
6097 "traditional B<SIGIO> behavior."
6098 msgstr ""
6099
6100 #. type: TP
6101 #: build/C/man2/fcntl.2:1090
6102 #, no-wrap
6103 msgid "B<F_GETPIPE_SZ>"
6104 msgstr ""
6105
6106 #. type: Plain text
6107 #: build/C/man2/fcntl.2:1093
6108 msgid "The pipe capacity."
6109 msgstr ""
6110
6111 #. type: TP
6112 #: build/C/man2/fcntl.2:1093
6113 #, no-wrap
6114 msgid "All other commands"
6115 msgstr ""
6116
6117 #. type: Plain text
6118 #: build/C/man2/fcntl.2:1096
6119 msgid "Zero."
6120 msgstr ""
6121
6122 #. type: Plain text
6123 #: build/C/man2/fcntl.2:1100
6124 msgid "On error, -1 is returned, and I<errno> is set appropriately."
6125 msgstr ""
6126
6127 #. type: TP
6128 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:122
6129 #, no-wrap
6130 msgid "B<EACCES> or B<EAGAIN>"
6131 msgstr ""
6132
6133 #. type: Plain text
6134 #: build/C/man2/fcntl.2:1104
6135 msgid "Operation is prohibited by locks held by other processes."
6136 msgstr ""
6137
6138 #. type: TP
6139 #: build/C/man2/fcntl.2:1104 build/C/man2/fork.2:181 build/C/man2/fork.2:186
6140 #, no-wrap
6141 msgid "B<EAGAIN>"
6142 msgstr ""
6143
6144 #. type: Plain text
6145 #: build/C/man2/fcntl.2:1108
6146 msgid ""
6147 "The operation is prohibited because the file has been memory-mapped by "
6148 "another process."
6149 msgstr ""
6150
6151 #. type: Plain text
6152 #: build/C/man2/fcntl.2:1117
6153 msgid ""
6154 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
6155 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
6156 "lock requested."
6157 msgstr ""
6158
6159 #. type: TP
6160 #: build/C/man2/fcntl.2:1117 build/C/man3/lockf.3:142
6161 #, no-wrap
6162 msgid "B<EDEADLK>"
6163 msgstr ""
6164
6165 #. type: Plain text
6166 #: build/C/man2/fcntl.2:1122
6167 msgid ""
6168 "It was detected that the specified B<F_SETLKW> command would cause a "
6169 "deadlock."
6170 msgstr ""
6171
6172 #. type: Plain text
6173 #: build/C/man2/fcntl.2:1126
6174 msgid "I<lock> is outside your accessible address space."
6175 msgstr ""
6176
6177 #. type: Plain text
6178 #: build/C/man2/fcntl.2:1138
6179 msgid ""
6180 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
6181 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
6182 "before the lock was checked or acquired.  Most likely when locking a remote "
6183 "file (e.g., locking over NFS), but can sometimes happen locally."
6184 msgstr ""
6185
6186 #. type: Plain text
6187 #: build/C/man2/fcntl.2:1148
6188 msgid ""
6189 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
6190 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
6191 msgstr ""
6192
6193 #. type: Plain text
6194 #: build/C/man2/fcntl.2:1153
6195 msgid ""
6196 "For B<F_DUPFD>, the process already has the maximum number of file "
6197 "descriptors open."
6198 msgstr ""
6199
6200 #. type: TP
6201 #: build/C/man2/fcntl.2:1153 build/C/man2/flock.2:130 build/C/man3/lockf.3:151
6202 #, no-wrap
6203 msgid "B<ENOLCK>"
6204 msgstr ""
6205
6206 #. type: Plain text
6207 #: build/C/man2/fcntl.2:1157
6208 msgid ""
6209 "Too many segment locks open, lock table is full, or a remote locking "
6210 "protocol failed (e.g., locking over NFS)."
6211 msgstr ""
6212
6213 #. type: Plain text
6214 #: build/C/man2/fcntl.2:1162
6215 msgid ""
6216 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
6217 "attribute set."
6218 msgstr ""
6219
6220 #. type: Plain text
6221 #: build/C/man2/fcntl.2:1175
6222 msgid ""
6223 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
6224 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK>, and B<F_SETLKW> "
6225 "are specified in POSIX.1-2001."
6226 msgstr ""
6227
6228 #. type: Plain text
6229 #: build/C/man2/fcntl.2:1187
6230 msgid ""
6231 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
6232 "definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
6233 "greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
6234 msgstr ""
6235
6236 #. type: Plain text
6237 #: build/C/man2/fcntl.2:1195
6238 msgid ""
6239 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
6240 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
6241 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
6242 msgstr ""
6243
6244 #.  .PP
6245 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
6246 #. type: Plain text
6247 #: build/C/man2/fcntl.2:1212
6248 msgid ""
6249 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
6250 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
6251 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
6252 "definitions.)"
6253 msgstr ""
6254
6255 #. type: Plain text
6256 #: build/C/man2/fcntl.2:1233
6257 msgid ""
6258 "The original Linux B<fcntl>()  system call was not designed to handle large "
6259 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
6260 "system call was added in Linux 2.4.  The newer system call employs a "
6261 "different structure for file locking, I<flock64>, and corresponding "
6262 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
6263 "details can be ignored by applications using glibc, whose B<fcntl>()  "
6264 "wrapper function transparently employs the more recent system call where it "
6265 "is available."
6266 msgstr ""
6267
6268 #. type: Plain text
6269 #: build/C/man2/fcntl.2:1238
6270 msgid ""
6271 "The errors returned by B<dup2>(2)  are different from those returned by "
6272 "B<F_DUPFD>."
6273 msgstr ""
6274
6275 #. type: Plain text
6276 #: build/C/man2/fcntl.2:1244
6277 msgid ""
6278 "Since kernel 2.0, there is no interaction between the types of lock placed "
6279 "by B<flock>(2)  and B<fcntl>()."
6280 msgstr ""
6281
6282 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
6283 #.  documents it in fcntl(5).  mtk, May 2007
6284 #. type: Plain text
6285 #: build/C/man2/fcntl.2:1255
6286 msgid ""
6287 "Several systems have more fields in I<struct flock> such as, for example, "
6288 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
6289 "process holding the lock may live on a different machine."
6290 msgstr ""
6291
6292 #. type: SS
6293 #: build/C/man2/fcntl.2:1256
6294 #, no-wrap
6295 msgid "F_SETFL"
6296 msgstr ""
6297
6298 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
6299 #.  via fcntl(2), but currently Linux does not permit this
6300 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
6301 #. type: Plain text
6302 #: build/C/man2/fcntl.2:1268
6303 msgid ""
6304 "It is not possible to use B<F_SETFL> to change the state of the B<O_DSYNC> "
6305 "and B<O_SYNC> flags.  Attempts to change the state of these flags are "
6306 "silently ignored."
6307 msgstr ""
6308
6309 #. type: SS
6310 #: build/C/man2/fcntl.2:1268
6311 #, no-wrap
6312 msgid "F_GETOWN"
6313 msgstr ""
6314
6315 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
6316 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
6317 #.  indicate that ANY negative PGID value will cause F_GETOWN
6318 #.  to misinterpret the return as an error. Some other architectures
6319 #.  seem to have the same range check as i386.
6320 #. type: Plain text
6321 #: build/C/man2/fcntl.2:1294
6322 msgid ""
6323 "A limitation of the Linux system call conventions on some architectures "
6324 "(notably i386) means that if a (negative)  process group ID to be returned "
6325 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
6326 "wrongly interpreted by glibc as an error in the system call; that is, the "
6327 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
6328 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
6329 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
6330 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
6331 "B<F_GETOWN_EX>."
6332 msgstr ""
6333
6334 #. type: SS
6335 #: build/C/man2/fcntl.2:1294
6336 #, no-wrap
6337 msgid "F_SETOWN"
6338 msgstr ""
6339
6340 #. type: Plain text
6341 #: build/C/man2/fcntl.2:1311
6342 msgid ""
6343 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
6344 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
6345 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
6346 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
6347 "is one that the caller has permission to send signals to.  Despite this "
6348 "error return, the file descriptor owner is set, and signals will be sent to "
6349 "the owner."
6350 msgstr ""
6351
6352 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
6353 #. type: Plain text
6354 #: build/C/man2/fcntl.2:1326
6355 msgid ""
6356 "The implementation of mandatory locking in all known versions of Linux is "
6357 "subject to race conditions which render it unreliable: a B<write>(2)  call "
6358 "that overlaps with a lock may modify data after the mandatory lock is "
6359 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
6360 "data that were made only after a write lock was acquired.  Similar races "
6361 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
6362 "to rely on mandatory locking."
6363 msgstr ""
6364
6365 #. type: Plain text
6366 #: build/C/man2/fcntl.2:1334
6367 msgid ""
6368 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
6369 "B<capabilities>(7), B<feature_test_macros>(7)"
6370 msgstr ""
6371
6372 #. type: Plain text
6373 #: build/C/man2/fcntl.2:1347
6374 msgid ""
6375 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
6376 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
6377 "these files are directly under the I<Documentation/> directory, and "
6378 "I<mandatory-locking.txt> is called I<mandatory.txt>)"
6379 msgstr ""
6380
6381 #. type: TH
6382 #: build/C/man3/fexecve.3:25
6383 #, no-wrap
6384 msgid "FEXECVE"
6385 msgstr ""
6386
6387 #. type: TH
6388 #: build/C/man3/fexecve.3:25
6389 #, no-wrap
6390 msgid "2013-10-25"
6391 msgstr ""
6392
6393 #. type: Plain text
6394 #: build/C/man3/fexecve.3:28
6395 msgid "fexecve - execute program specified via file descriptor"
6396 msgstr ""
6397
6398 #. type: Plain text
6399 #: build/C/man3/fexecve.3:33
6400 #, no-wrap
6401 msgid ""
6402 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
6403 ">I<envp>B<[]);>\n"
6404 msgstr ""
6405
6406 #. type: Plain text
6407 #: build/C/man3/fexecve.3:41
6408 msgid "B<fexecve>():"
6409 msgstr ""
6410
6411 #. type: Plain text
6412 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
6413 msgid "_GNU_SOURCE"
6414 msgstr ""
6415
6416 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
6417 #.  but Linux doesn't support this flag yet.
6418 #. type: Plain text
6419 #: build/C/man3/fexecve.3:67
6420 msgid ""
6421 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
6422 "that the file to be executed is specified via a file descriptor, I<fd>, "
6423 "rather than via a pathname.  The file descriptor I<fd> must be opened "
6424 "read-only, and the caller must have permission to execute the file that it "
6425 "refers to."
6426 msgstr ""
6427
6428 #. type: Plain text
6429 #: build/C/man3/fexecve.3:74
6430 msgid ""
6431 "A successful call to B<fexecve>()  never returns.  On error, the function "
6432 "returns, with a result value of -1, and I<errno> is set appropriately."
6433 msgstr ""
6434
6435 #. type: Plain text
6436 #: build/C/man3/fexecve.3:78
6437 msgid "Errors are as for B<execve>(2), with the following additions:"
6438 msgstr ""
6439
6440 #. type: Plain text
6441 #: build/C/man3/fexecve.3:86
6442 msgid ""
6443 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
6444 "NULL."
6445 msgstr ""
6446
6447 #. type: Plain text
6448 #: build/C/man3/fexecve.3:91
6449 msgid "The I</proc> filesystem could not be accessed."
6450 msgstr ""
6451
6452 #. type: Plain text
6453 #: build/C/man3/fexecve.3:94
6454 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
6455 msgstr ""
6456
6457 #. type: Plain text
6458 #: build/C/man3/fexecve.3:99
6459 msgid ""
6460 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
6461 "widely available on other systems.  It is specified in POSIX.1-2008."
6462 msgstr ""
6463
6464 #. type: Plain text
6465 #: build/C/man3/fexecve.3:107
6466 msgid ""
6467 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so "
6468 "I</proc> needs to be mounted and available at the time of the call."
6469 msgstr ""
6470
6471 #. type: Plain text
6472 #: build/C/man3/fexecve.3:124
6473 msgid ""
6474 "The idea behind B<fexecve>()  is to allow the caller to verify (checksum) "
6475 "the contents of an executable before executing it.  Simply opening the file, "
6476 "checksumming the contents, and then doing an B<execve>(2)  would not "
6477 "suffice, since, between the two steps, the filename, or a directory prefix "
6478 "of the pathname, could have been exchanged (by, for example, modifying the "
6479 "target of a symbolic link).  B<fexecve>()  does not mitigate the problem "
6480 "that the I<contents> of a file could be changed between the checksumming and "
6481 "the call to B<fexecve>(); for that, the solution is to ensure that the "
6482 "permissions on the file prevent it from being modified by malicious users."
6483 msgstr ""
6484
6485 #. type: Plain text
6486 #: build/C/man3/fexecve.3:126
6487 msgid "B<execve>(2)"
6488 msgstr ""
6489
6490 #. type: TH
6491 #: build/C/man2/flock.2:35
6492 #, no-wrap
6493 msgid "FLOCK"
6494 msgstr ""
6495
6496 #. type: TH
6497 #: build/C/man2/flock.2:35
6498 #, no-wrap
6499 msgid "2013-02-11"
6500 msgstr ""
6501
6502 #. type: Plain text
6503 #: build/C/man2/flock.2:38
6504 msgid "flock - apply or remove an advisory lock on an open file"
6505 msgstr ""
6506
6507 #. type: Plain text
6508 #: build/C/man2/flock.2:40
6509 msgid "B<#include E<lt>sys/file.hE<gt>>"
6510 msgstr ""
6511
6512 #. type: Plain text
6513 #: build/C/man2/flock.2:42
6514 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6515 msgstr ""
6516
6517 #. type: Plain text
6518 #: build/C/man2/flock.2:48
6519 msgid ""
6520 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6521 "argument I<operation> is one of the following:"
6522 msgstr ""
6523
6524 #. type: TP
6525 #: build/C/man2/flock.2:49
6526 #, no-wrap
6527 msgid "B<LOCK_SH>"
6528 msgstr ""
6529
6530 #. type: Plain text
6531 #: build/C/man2/flock.2:54
6532 msgid ""
6533 "Place a shared lock.  More than one process may hold a shared lock for a "
6534 "given file at a given time."
6535 msgstr ""
6536
6537 #. type: TP
6538 #: build/C/man2/flock.2:54
6539 #, no-wrap
6540 msgid "B<LOCK_EX>"
6541 msgstr ""
6542
6543 #. type: Plain text
6544 #: build/C/man2/flock.2:59
6545 msgid ""
6546 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6547 "given file at a given time."
6548 msgstr ""
6549
6550 #. type: TP
6551 #: build/C/man2/flock.2:59
6552 #, no-wrap
6553 msgid "B<LOCK_UN>"
6554 msgstr ""
6555
6556 #. type: Plain text
6557 #: build/C/man2/flock.2:62
6558 msgid "Remove an existing lock held by this process."
6559 msgstr ""
6560
6561 #. type: Plain text
6562 #: build/C/man2/flock.2:71
6563 msgid ""
6564 "A call to B<flock>()  may block if an incompatible lock is held by another "
6565 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6566 "any of the above operations."
6567 msgstr ""
6568
6569 #. type: Plain text
6570 #: build/C/man2/flock.2:73
6571 msgid "A single file may not simultaneously have both shared and exclusive locks."
6572 msgstr ""
6573
6574 #. type: Plain text
6575 #: build/C/man2/flock.2:87
6576 msgid ""
6577 "Locks created by B<flock>()  are associated with an open file table entry.  "
6578 "This means that duplicate file descriptors (created by, for example, "
6579 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6580 "modified or released using any of these descriptors.  Furthermore, the lock "
6581 "is released either by an explicit B<LOCK_UN> operation on any of these "
6582 "duplicate descriptors, or when all such descriptors have been closed."
6583 msgstr ""
6584
6585 #. type: Plain text
6586 #: build/C/man2/flock.2:96
6587 msgid ""
6588 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6589 "descriptor for the same file, these descriptors are treated independently by "
6590 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6591 "may be denied by a lock that the calling process has already placed via "
6592 "another descriptor."
6593 msgstr ""
6594
6595 #. type: Plain text
6596 #: build/C/man2/flock.2:103
6597 msgid ""
6598 "A process may hold only one type of lock (shared or exclusive)  on a file.  "
6599 "Subsequent B<flock>()  calls on an already locked file will convert an "
6600 "existing lock to the new lock mode."
6601 msgstr ""
6602
6603 #. type: Plain text
6604 #: build/C/man2/flock.2:108
6605 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6606 msgstr ""
6607
6608 #. type: Plain text
6609 #: build/C/man2/flock.2:111
6610 msgid ""
6611 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6612 "which the file was opened."
6613 msgstr ""
6614
6615 #. type: Plain text
6616 #: build/C/man2/flock.2:121
6617 msgid "I<fd> is not an open file descriptor."
6618 msgstr ""
6619
6620 #. type: Plain text
6621 #: build/C/man2/flock.2:126
6622 msgid ""
6623 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6624 "signal caught by a handler; see B<signal>(7)."
6625 msgstr ""
6626
6627 #. type: Plain text
6628 #: build/C/man2/flock.2:130
6629 msgid "I<operation> is invalid."
6630 msgstr ""
6631
6632 #. type: Plain text
6633 #: build/C/man2/flock.2:133
6634 msgid "The kernel ran out of memory for allocating lock records."
6635 msgstr ""
6636
6637 #. type: TP
6638 #: build/C/man2/flock.2:133
6639 #, no-wrap
6640 msgid "B<EWOULDBLOCK>"
6641 msgstr ""
6642
6643 #. type: Plain text
6644 #: build/C/man2/flock.2:138
6645 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6646 msgstr ""
6647
6648 #. type: Plain text
6649 #: build/C/man2/flock.2:147
6650 msgid ""
6651 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6652 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6653 "UNIX systems."
6654 msgstr ""
6655
6656 #. type: Plain text
6657 #: build/C/man2/flock.2:154
6658 msgid ""
6659 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6660 "does work over NFS, given a sufficiently recent version of Linux and a "
6661 "server which supports locking."
6662 msgstr ""
6663
6664 #. type: Plain text
6665 #: build/C/man2/flock.2:169
6666 msgid ""
6667 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6668 "right rather than being emulated in the GNU C library as a call to "
6669 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6670 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6671 "B<flock>()  does not detect deadlock."
6672 msgstr ""
6673
6674 #. type: Plain text
6675 #: build/C/man2/flock.2:175
6676 msgid ""
6677 "B<flock>()  places advisory locks only; given suitable permissions on a "
6678 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6679 "the file."
6680 msgstr ""
6681
6682 #. type: Plain text
6683 #: build/C/man2/flock.2:188
6684 msgid ""
6685 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6686 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6687 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6688 "described in this manual page."
6689 msgstr ""
6690
6691 #.  Kernel 2.5.21 changed things a little: during lock conversion
6692 #.  it is now the highest priority process that will get the lock -- mtk
6693 #. type: Plain text
6694 #: build/C/man2/flock.2:201
6695 msgid ""
6696 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6697 "be atomic: the existing lock is first removed, and then a new lock is "
6698 "established.  Between these two steps, a pending lock request by another "
6699 "process may be granted, with the result that the conversion either blocks, "
6700 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6701 "and occurs on many other implementations.)"
6702 msgstr ""
6703
6704 #. type: Plain text
6705 #: build/C/man2/flock.2:210
6706 msgid ""
6707 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
6708 "B<open>(2), B<lockf>(3)"
6709 msgstr ""
6710
6711 #. type: Plain text
6712 #: build/C/man2/flock.2:215
6713 msgid ""
6714 "I<Documentation/filesystems/locks.txt> in the Linux kernel source tree "
6715 "(I<Documentation/locks.txt> in older kernels)"
6716 msgstr ""
6717
6718 #. type: TH
6719 #: build/C/man2/fork.2:39
6720 #, no-wrap
6721 msgid "FORK"
6722 msgstr ""
6723
6724 #. type: TH
6725 #: build/C/man2/fork.2:39 build/C/man2/ioperm.2:34
6726 #, no-wrap
6727 msgid "2013-03-12"
6728 msgstr ""
6729
6730 #. type: Plain text
6731 #: build/C/man2/fork.2:42
6732 msgid "fork - create a child process"
6733 msgstr ""
6734
6735 #. type: Plain text
6736 #: build/C/man2/fork.2:46
6737 msgid "B<pid_t fork(void);>"
6738 msgstr ""
6739
6740 #. type: Plain text
6741 #: build/C/man2/fork.2:52
6742 msgid ""
6743 "B<fork>()  creates a new process by duplicating the calling process.  The "
6744 "new process, referred to as the I<child>, is an exact duplicate of the "
6745 "calling process, referred to as the I<parent>, except for the following "
6746 "points:"
6747 msgstr ""
6748
6749 #. type: Plain text
6750 #: build/C/man2/fork.2:56
6751 msgid ""
6752 "The child has its own unique process ID, and this PID does not match the ID "
6753 "of any existing process group (B<setpgid>(2))."
6754 msgstr ""
6755
6756 #. type: Plain text
6757 #: build/C/man2/fork.2:58
6758 msgid "The child's parent process ID is the same as the parent's process ID."
6759 msgstr ""
6760
6761 #. type: Plain text
6762 #: build/C/man2/fork.2:62
6763 msgid ""
6764 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6765 "B<mlockall>(2))."
6766 msgstr ""
6767
6768 #. type: Plain text
6769 #: build/C/man2/fork.2:68
6770 msgid ""
6771 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6772 "(B<times>(2))  are reset to zero in the child."
6773 msgstr ""
6774
6775 #. type: Plain text
6776 #: build/C/man2/fork.2:71
6777 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6778 msgstr ""
6779
6780 #. type: Plain text
6781 #: build/C/man2/fork.2:74
6782 msgid ""
6783 "The child does not inherit semaphore adjustments from its parent "
6784 "(B<semop>(2))."
6785 msgstr ""
6786
6787 #. type: Plain text
6788 #: build/C/man2/fork.2:77
6789 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6790 msgstr ""
6791
6792 #. type: Plain text
6793 #: build/C/man2/fork.2:82
6794 msgid ""
6795 "The child does not inherit timers from its parent (B<setitimer>(2), "
6796 "B<alarm>(2), B<timer_create>(2))."
6797 msgstr ""
6798
6799 #. type: Plain text
6800 #: build/C/man2/fork.2:89
6801 msgid ""
6802 "The child does not inherit outstanding asynchronous I/O operations from its "
6803 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6804 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6805 msgstr ""
6806
6807 #. type: Plain text
6808 #: build/C/man2/fork.2:94
6809 msgid ""
6810 "The process attributes in the preceding list are all specified in "
6811 "POSIX.1-2001.  The parent and child also differ with respect to the "
6812 "following Linux-specific process attributes:"
6813 msgstr ""
6814
6815 #. type: Plain text
6816 #: build/C/man2/fork.2:101
6817 msgid ""
6818 "The child does not inherit directory change notifications (dnotify)  from "
6819 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6820 msgstr ""
6821
6822 #. type: Plain text
6823 #: build/C/man2/fork.2:107
6824 msgid ""
6825 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6826 "not receive a signal when its parent terminates."
6827 msgstr ""
6828
6829 #. type: Plain text
6830 #: build/C/man2/fork.2:114
6831 msgid ""
6832 "The default timer slack value is set to the parent's current timer slack "
6833 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6834 msgstr ""
6835
6836 #. type: Plain text
6837 #: build/C/man2/fork.2:120
6838 msgid ""
6839 "Memory mappings that have been marked with the B<madvise>(2)  "
6840 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6841 msgstr ""
6842
6843 #. type: Plain text
6844 #: build/C/man2/fork.2:125
6845 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6846 msgstr ""
6847
6848 #. type: Plain text
6849 #: build/C/man2/fork.2:131
6850 msgid ""
6851 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
6852 "the child; the child must turn on any bits that it requires using "
6853 "B<ioperm>(2)."
6854 msgstr ""
6855
6856 #. type: Plain text
6857 #: build/C/man2/fork.2:142
6858 msgid ""
6859 "The child process is created with a single thread\\(emthe one that called "
6860 "B<fork>().  The entire virtual address space of the parent is replicated in "
6861 "the child, including the states of mutexes, condition variables, and other "
6862 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6863 "dealing with problems that this can cause."
6864 msgstr ""
6865
6866 #. type: Plain text
6867 #: build/C/man2/fork.2:156
6868 msgid ""
6869 "The child inherits copies of the parent's set of open file descriptors.  "
6870 "Each file descriptor in the child refers to the same open file description "
6871 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6872 "means that the two descriptors share open file status flags, current file "
6873 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6874 "and B<F_SETSIG> in B<fcntl>(2))."
6875 msgstr ""
6876
6877 #. type: Plain text
6878 #: build/C/man2/fork.2:165
6879 msgid ""
6880 "The child inherits copies of the parent's set of open message queue "
6881 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6882 "the same open message queue description as the corresponding descriptor in "
6883 "the parent.  This means that the two descriptors share the same flags "
6884 "(I<mq_flags>)."
6885 msgstr ""
6886
6887 #. type: Plain text
6888 #: build/C/man2/fork.2:173
6889 msgid ""
6890 "The child inherits copies of the parent's set of open directory streams (see "
6891 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6892 "in the parent and child I<may> share the directory stream positioning; on "
6893 "Linux/glibc they do not."
6894 msgstr ""
6895
6896 #. type: Plain text
6897 #: build/C/man2/fork.2:180
6898 msgid ""
6899 "On success, the PID of the child process is returned in the parent, and 0 is "
6900 "returned in the child.  On failure, -1 is returned in the parent, no child "
6901 "process is created, and I<errno> is set appropriately."
6902 msgstr ""
6903
6904 #. type: Plain text
6905 #: build/C/man2/fork.2:186
6906 msgid ""
6907 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6908 "tables and allocate a task structure for the child."
6909 msgstr ""
6910
6911 #. type: Plain text
6912 #: build/C/man2/fork.2:196
6913 msgid ""
6914 "It was not possible to create a new process because the caller's "
6915 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6916 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6917 "capability."
6918 msgstr ""
6919
6920 #. type: Plain text
6921 #: build/C/man2/fork.2:200
6922 msgid ""
6923 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6924 "is tight."
6925 msgstr ""
6926
6927 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
6928 #. type: Plain text
6929 #: build/C/man2/fork.2:206
6930 msgid ""
6931 "B<fork>()  is not supported on this platform (for example, hardware without "
6932 "a Memory-Management Unit)."
6933 msgstr ""
6934
6935 #. type: Plain text
6936 #: build/C/man2/fork.2:215
6937 msgid ""
6938 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6939 "only penalty that it incurs is the time and memory required to duplicate the "
6940 "parent's page tables, and to create a unique task structure for the child."
6941 msgstr ""
6942
6943 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6944 #.  and does some magic to ensure that getpid(2) returns the right value.
6945 #. type: Plain text
6946 #: build/C/man2/fork.2:239
6947 msgid ""
6948 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6949 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6950 "threading implementation invokes B<clone>(2)  with flags that provide the "
6951 "same effect as the traditional system call.  (A call to B<fork>()  is "
6952 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6953 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6954 "established using B<pthread_atfork>(3)."
6955 msgstr ""
6956
6957 #. type: Plain text
6958 #: build/C/man2/fork.2:244
6959 msgid "See B<pipe>(2)  and B<wait>(2)."
6960 msgstr ""
6961
6962 #. type: Plain text
6963 #: build/C/man2/fork.2:255
6964 msgid ""
6965 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
6966 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6967 msgstr ""
6968
6969 #. type: TH
6970 #: build/C/man3/fpathconf.3:41
6971 #, no-wrap
6972 msgid "FPATHCONF"
6973 msgstr ""
6974
6975 #. type: TH
6976 #: build/C/man3/fpathconf.3:41
6977 #, no-wrap
6978 msgid "1993-04-04"
6979 msgstr ""
6980
6981 #. type: Plain text
6982 #: build/C/man3/fpathconf.3:44
6983 msgid "fpathconf, pathconf - get configuration values for files"
6984 msgstr ""
6985
6986 #. type: Plain text
6987 #: build/C/man3/fpathconf.3:49
6988 #, no-wrap
6989 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6990 msgstr ""
6991
6992 #. type: Plain text
6993 #: build/C/man3/fpathconf.3:51
6994 #, no-wrap
6995 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6996 msgstr ""
6997
6998 #. type: Plain text
6999 #: build/C/man3/fpathconf.3:58
7000 msgid ""
7001 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
7002 "open file descriptor I<fd>."
7003 msgstr ""
7004
7005 #. type: Plain text
7006 #: build/C/man3/fpathconf.3:64
7007 msgid ""
7008 "B<pathconf>()  gets a value for configuration option I<name> for the "
7009 "filename I<path>."
7010 msgstr ""
7011
7012 #. type: Plain text
7013 #: build/C/man3/fpathconf.3:73
7014 msgid ""
7015 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
7016 "values; if an application wants to take advantage of values which may "
7017 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
7018 "yield more liberal results."
7019 msgstr ""
7020
7021 #. type: Plain text
7022 #: build/C/man3/fpathconf.3:78
7023 msgid ""
7024 "Setting I<name> equal to one of the following constants returns the "
7025 "following configuration options:"
7026 msgstr ""
7027
7028 #. type: TP
7029 #: build/C/man3/fpathconf.3:78
7030 #, no-wrap
7031 msgid "B<_PC_LINK_MAX>"
7032 msgstr ""
7033
7034 #. type: Plain text
7035 #: build/C/man3/fpathconf.3:88
7036 msgid ""
7037 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
7038 "to a directory, then the value applies to the whole directory.  The "
7039 "corresponding macro is B<_POSIX_LINK_MAX>."
7040 msgstr ""
7041
7042 #. type: TP
7043 #: build/C/man3/fpathconf.3:88
7044 #, no-wrap
7045 msgid "B<_PC_MAX_CANON>"
7046 msgstr ""
7047
7048 #. type: Plain text
7049 #: build/C/man3/fpathconf.3:97
7050 msgid ""
7051 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
7052 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
7053 msgstr ""
7054
7055 #. type: TP
7056 #: build/C/man3/fpathconf.3:97
7057 #, no-wrap
7058 msgid "B<_PC_MAX_INPUT>"
7059 msgstr ""
7060
7061 #. type: Plain text
7062 #: build/C/man3/fpathconf.3:106
7063 msgid ""
7064 "returns the maximum length of an input line, where I<fd> or I<path> must "
7065 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
7066 msgstr ""
7067
7068 #. type: TP
7069 #: build/C/man3/fpathconf.3:106
7070 #, no-wrap
7071 msgid "B<_PC_NAME_MAX>"
7072 msgstr ""
7073
7074 #. type: Plain text
7075 #: build/C/man3/fpathconf.3:115
7076 msgid ""
7077 "returns the maximum length of a filename in the directory I<path> or I<fd> "
7078 "that the process is allowed to create.  The corresponding macro is "
7079 "B<_POSIX_NAME_MAX>."
7080 msgstr ""
7081
7082 #. type: TP
7083 #: build/C/man3/fpathconf.3:115
7084 #, no-wrap
7085 msgid "B<_PC_PATH_MAX>"
7086 msgstr ""
7087
7088 #. type: Plain text
7089 #: build/C/man3/fpathconf.3:124
7090 msgid ""
7091 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
7092 "the current working directory.  The corresponding macro is "
7093 "B<_POSIX_PATH_MAX>."
7094 msgstr ""
7095
7096 #. type: TP
7097 #: build/C/man3/fpathconf.3:124
7098 #, no-wrap
7099 msgid "B<_PC_PIPE_BUF>"
7100 msgstr ""
7101
7102 #. type: Plain text
7103 #: build/C/man3/fpathconf.3:133
7104 msgid ""
7105 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
7106 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
7107 "B<_POSIX_PIPE_BUF>."
7108 msgstr ""
7109
7110 #. type: TP
7111 #: build/C/man3/fpathconf.3:133
7112 #, no-wrap
7113 msgid "B<_PC_CHOWN_RESTRICTED>"
7114 msgstr ""
7115
7116 #. type: Plain text
7117 #: build/C/man3/fpathconf.3:146
7118 msgid ""
7119 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
7120 "I<fd> or I<path> refer to a directory, then this applies to all files in "
7121 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
7122 msgstr ""
7123
7124 #. type: TP
7125 #: build/C/man3/fpathconf.3:146
7126 #, no-wrap
7127 msgid "B<_PC_NO_TRUNC>"
7128 msgstr ""
7129
7130 #. type: Plain text
7131 #: build/C/man3/fpathconf.3:153
7132 msgid ""
7133 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
7134 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
7135 msgstr ""
7136
7137 #. type: TP
7138 #: build/C/man3/fpathconf.3:153
7139 #, no-wrap
7140 msgid "B<_PC_VDISABLE>"
7141 msgstr ""
7142
7143 #. type: Plain text
7144 #: build/C/man3/fpathconf.3:160
7145 msgid ""
7146 "returns nonzero if special character processing can be disabled, where I<fd> "
7147 "or I<path> must refer to a terminal."
7148 msgstr ""
7149
7150 #. type: Plain text
7151 #: build/C/man3/fpathconf.3:169
7152 msgid ""
7153 "The limit is returned, if one exists.  If the system does not have a limit "
7154 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
7155 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
7156 "of the error."
7157 msgstr ""
7158
7159 #. type: Plain text
7160 #: build/C/man3/fpathconf.3:177
7161 msgid ""
7162 "Files with name lengths longer than the value returned for I<name> equal to "
7163 "B<_PC_NAME_MAX> may exist in the given directory."
7164 msgstr ""
7165
7166 #. type: Plain text
7167 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
7168 msgid ""
7169 "Some returned values may be huge; they are not suitable for allocating "
7170 "memory."
7171 msgstr ""
7172
7173 #. type: Plain text
7174 #: build/C/man3/fpathconf.3:185
7175 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
7176 msgstr ""
7177
7178 #. type: TH
7179 #: build/C/man2/fsync.2:38
7180 #, no-wrap
7181 msgid "FSYNC"
7182 msgstr ""
7183
7184 #. type: TH
7185 #: build/C/man2/fsync.2:38
7186 #, no-wrap
7187 msgid "2012-02-27"
7188 msgstr ""
7189
7190 #. type: Plain text
7191 #: build/C/man2/fsync.2:41
7192 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
7193 msgstr ""
7194
7195 #. type: Plain text
7196 #: build/C/man2/fsync.2:45
7197 msgid "B<int fsync(int >I<fd>B<);>"
7198 msgstr ""
7199
7200 #. type: Plain text
7201 #: build/C/man2/fsync.2:47
7202 msgid "B<int fdatasync(int >I<fd>B<);>"
7203 msgstr ""
7204
7205 #. type: Plain text
7206 #: build/C/man2/fsync.2:55
7207 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
7208 msgstr ""
7209
7210 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
7211 #. type: Plain text
7212 #: build/C/man2/fsync.2:58
7213 #, no-wrap
7214 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
7215 msgstr ""
7216
7217 #. type: Plain text
7218 #: build/C/man2/fsync.2:61
7219 msgid ""
7220 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
7221 "E<gt>=\\ 500"
7222 msgstr ""
7223
7224 #. type: Plain text
7225 #: build/C/man2/fsync.2:74
7226 msgid ""
7227 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
7228 "modified buffer cache pages for) the file referred to by the file descriptor "
7229 "I<fd> to the disk device (or other permanent storage device) so that all "
7230 "changed information can be retrieved even after the system crashed or was "
7231 "rebooted.  This includes writing through or flushing a disk cache if "
7232 "present.  The call blocks until the device reports that the transfer has "
7233 "completed.  It also flushes metadata information associated with the file "
7234 "(see B<stat>(2))."
7235 msgstr ""
7236
7237 #. type: Plain text
7238 #: build/C/man2/fsync.2:82
7239 msgid ""
7240 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
7241 "directory containing the file has also reached disk.  For that an explicit "
7242 "B<fsync>()  on a file descriptor for the directory is also needed."
7243 msgstr ""
7244
7245 #. type: Plain text
7246 #: build/C/man2/fsync.2:103
7247 msgid ""
7248 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
7249 "metadata unless that metadata is needed in order to allow a subsequent data "
7250 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
7251 "I<st_mtime> (respectively, time of last access and time of last "
7252 "modification; see B<stat>(2))  do not require flushing because they are not "
7253 "necessary for a subsequent data read to be handled correctly.  On the other "
7254 "hand, a change to the file size (I<st_size>, as made by say "
7255 "B<ftruncate>(2)), would require a metadata flush."
7256 msgstr ""
7257
7258 #. type: Plain text
7259 #: build/C/man2/fsync.2:108
7260 msgid ""
7261 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
7262 "do not require all metadata to be synchronized with the disk."
7263 msgstr ""
7264
7265 #. type: Plain text
7266 #: build/C/man2/fsync.2:113
7267 msgid ""
7268 "On success, these system calls return zero.  On error, -1 is returned, and "
7269 "I<errno> is set appropriately."
7270 msgstr ""
7271
7272 #. type: Plain text
7273 #: build/C/man2/fsync.2:118
7274 msgid "I<fd> is not a valid open file descriptor."
7275 msgstr ""
7276
7277 #. type: Plain text
7278 #: build/C/man2/fsync.2:121
7279 msgid "An error occurred during synchronization."
7280 msgstr ""
7281
7282 #. type: TP
7283 #: build/C/man2/fsync.2:121
7284 #, no-wrap
7285 msgid "B<EROFS>, B<EINVAL>"
7286 msgstr ""
7287
7288 #. type: Plain text
7289 #: build/C/man2/fsync.2:125
7290 msgid "I<fd> is bound to a special file which does not support synchronization."
7291 msgstr ""
7292
7293 #. type: Plain text
7294 #: build/C/man2/fsync.2:127
7295 msgid "4.3BSD, POSIX.1-2001."
7296 msgstr ""
7297
7298 #. type: SH
7299 #: build/C/man2/fsync.2:127
7300 #, no-wrap
7301 msgid "AVAILABILITY"
7302 msgstr ""
7303
7304 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
7305 #.  -1: unavailable, 0: ask using sysconf().
7306 #.  glibc defines them to 1.
7307 #. type: Plain text
7308 #: build/C/man2/fsync.2:140
7309 msgid ""
7310 "On POSIX systems on which B<fdatasync>()  is available, "
7311 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
7312 "greater than 0.  (See also B<sysconf>(3).)"
7313 msgstr ""
7314
7315 #. type: Plain text
7316 #: build/C/man2/fsync.2:146
7317 msgid ""
7318 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
7319 "descriptor."
7320 msgstr ""
7321
7322 #. type: Plain text
7323 #: build/C/man2/fsync.2:152
7324 msgid ""
7325 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
7326 "so has no performance advantage."
7327 msgstr ""
7328
7329 #. type: Plain text
7330 #: build/C/man2/fsync.2:162
7331 msgid ""
7332 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
7333 "does not know how to flush disk caches.  In these cases disk caches need to "
7334 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
7335 "operation."
7336 msgstr ""
7337
7338 #. type: Plain text
7339 #: build/C/man2/fsync.2:171
7340 msgid ""
7341 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
7342 "B<mount>(8), B<sync>(8), B<update>(8)"
7343 msgstr ""
7344
7345 #. type: TH
7346 #: build/C/man3/get_nprocs_conf.3:26
7347 #, no-wrap
7348 msgid "GET_NPROCS"
7349 msgstr ""
7350
7351 #. type: TH
7352 #: build/C/man3/get_nprocs_conf.3:26
7353 #, no-wrap
7354 msgid "2012-03-20"
7355 msgstr ""
7356
7357 #. type: Plain text
7358 #: build/C/man3/get_nprocs_conf.3:29
7359 msgid "get_nprocs, get_nprocs_conf - get number of processors"
7360 msgstr ""
7361
7362 #. type: Plain text
7363 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
7364 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
7365 msgstr ""
7366
7367 #. type: Plain text
7368 #: build/C/man3/get_nprocs_conf.3:33
7369 msgid "B<int get_nprocs(void);>"
7370 msgstr ""
7371
7372 #. type: Plain text
7373 #: build/C/man3/get_nprocs_conf.3:35
7374 msgid "B<int get_nprocs_conf(void);>"
7375 msgstr ""
7376
7377 #. type: Plain text
7378 #: build/C/man3/get_nprocs_conf.3:39
7379 msgid ""
7380 "The function B<get_nprocs_conf>()  returns the number of processors "
7381 "configured by the operating system."
7382 msgstr ""
7383
7384 #. type: Plain text
7385 #: build/C/man3/get_nprocs_conf.3:46
7386 msgid ""
7387 "The function B<get_nprocs>()  returns the number of processors currently "
7388 "available in the system.  This may be less than the number returned by "
7389 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
7390 "hotpluggable systems)."
7391 msgstr ""
7392
7393 #. type: Plain text
7394 #: build/C/man3/get_nprocs_conf.3:48
7395 msgid "As given in DESCRIPTION."
7396 msgstr ""
7397
7398 #. type: Plain text
7399 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
7400 msgid "These functions are GNU extensions."
7401 msgstr ""
7402
7403 #.  glibc 2.15
7404 #. type: Plain text
7405 #: build/C/man3/get_nprocs_conf.3:57
7406 msgid ""
7407 "The current implementation of these functions is rather expensive, since "
7408 "they open and parse files in the I</sys> filesystem each time they are "
7409 "called."
7410 msgstr ""
7411
7412 #. type: Plain text
7413 #: build/C/man3/get_nprocs_conf.3:62
7414 msgid ""
7415 "The following B<sysconf>(3)  calls make use of the functions documented on "
7416 "this page to return the same information."
7417 msgstr ""
7418
7419 #. type: Plain text
7420 #: build/C/man3/get_nprocs_conf.3:66
7421 #, no-wrap
7422 msgid ""
7423 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
7424 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
7425 msgstr ""
7426
7427 #. type: Plain text
7428 #: build/C/man3/get_nprocs_conf.3:73
7429 msgid ""
7430 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
7431 "can be used."
7432 msgstr ""
7433
7434 #. type: Plain text
7435 #: build/C/man3/get_nprocs_conf.3:77
7436 #, no-wrap
7437 msgid ""
7438 "#include E<lt>stdio.hE<gt>\n"
7439 "#include E<lt>sys/sysinfo.hE<gt>\n"
7440 msgstr ""
7441
7442 #. type: Plain text
7443 #: build/C/man3/get_nprocs_conf.3:86
7444 #, no-wrap
7445 msgid ""
7446 "int\n"
7447 "main(int argc, char *argv[])\n"
7448 "{\n"
7449 "    printf(\"This system has %d processors configured and \"\n"
7450 "            \"%d processors available.\\en\",\n"
7451 "            get_nprocs_conf(), get_nprocs());\n"
7452 "    return 0;\n"
7453 "}\n"
7454 msgstr ""
7455
7456 #. type: TH
7457 #: build/C/man2/get_thread_area.2:8
7458 #, no-wrap
7459 msgid "GET_THREAD_AREA"
7460 msgstr ""
7461
7462 #. type: TH
7463 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
7464 #, no-wrap
7465 msgid "2012-07-13"
7466 msgstr ""
7467
7468 #. type: Plain text
7469 #: build/C/man2/get_thread_area.2:11
7470 msgid "get_thread_area - get a thread-local storage (TLS) area"
7471 msgstr ""
7472
7473 #. type: Plain text
7474 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
7475 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
7476 msgstr ""
7477
7478 #. type: Plain text
7479 #: build/C/man2/get_thread_area.2:17
7480 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7481 msgstr ""
7482
7483 #. type: Plain text
7484 #: 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
7485 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
7486 msgstr ""
7487
7488 #. type: Plain text
7489 #: build/C/man2/get_thread_area.2:29
7490 msgid ""
7491 "B<get_thread_area>()  returns an entry in the current thread's thread-local "
7492 "storage (TLS) array.  The index of the entry corresponds to the value of "
7493 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
7494 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
7495 "area pointed to by I<u_info>."
7496 msgstr ""
7497
7498 #. type: Plain text
7499 #: build/C/man2/get_thread_area.2:35
7500 msgid ""
7501 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
7502 "sets I<errno> appropriately."
7503 msgstr ""
7504
7505 #. type: Plain text
7506 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7507 msgid "I<u_info> is an invalid pointer."
7508 msgstr ""
7509
7510 #. type: Plain text
7511 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7512 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7513 msgstr ""
7514
7515 #. type: Plain text
7516 #: build/C/man2/get_thread_area.2:46
7517 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7518 msgstr ""
7519
7520 #. type: Plain text
7521 #: build/C/man2/get_thread_area.2:50
7522 msgid ""
7523 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
7524 "that are intended to be portable."
7525 msgstr ""
7526
7527 #. type: Plain text
7528 #: build/C/man2/get_thread_area.2:55
7529 msgid ""
7530 "Glibc does not provide a wrapper for this system call, since it is generally "
7531 "intended for use only by threading libraries.  In the unlikely event that "
7532 "you want to call it directly, use B<syscall>(2)."
7533 msgstr ""
7534
7535 #. type: Plain text
7536 #: build/C/man2/get_thread_area.2:58
7537 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7538 msgstr ""
7539
7540 #. type: TH
7541 #: build/C/man3/getcwd.3:32
7542 #, no-wrap
7543 msgid "GETCWD"
7544 msgstr ""
7545
7546 #. type: Plain text
7547 #: build/C/man3/getcwd.3:35
7548 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7549 msgstr ""
7550
7551 #. type: Plain text
7552 #: build/C/man3/getcwd.3:40
7553 #, no-wrap
7554 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7555 msgstr ""
7556
7557 #. type: Plain text
7558 #: build/C/man3/getcwd.3:42
7559 #, no-wrap
7560 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7561 msgstr ""
7562
7563 #. type: Plain text
7564 #: build/C/man3/getcwd.3:44
7565 #, no-wrap
7566 msgid "B<char *get_current_dir_name(void);>\n"
7567 msgstr ""
7568
7569 #. type: Plain text
7570 #: build/C/man3/getcwd.3:52
7571 msgid "B<get_current_dir_name>():"
7572 msgstr ""
7573
7574 #. type: Plain text
7575 #: build/C/man3/getcwd.3:57
7576 msgid "B<getwd>():"
7577 msgstr ""
7578
7579 #. type: Plain text
7580 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59 build/C/man2/vfork.2:54
7581 #, no-wrap
7582 msgid ""
7583 "_BSD_SOURCE ||\n"
7584 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7585 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7586 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7587 msgstr ""
7588
7589 #. type: Plain text
7590 #: 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
7591 msgid ""
7592 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7593 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7594 msgstr ""
7595
7596 #. type: Plain text
7597 #: build/C/man3/getcwd.3:82
7598 msgid ""
7599 "These functions return a null-terminated string containing an absolute "
7600 "pathname that is the current working directory of the calling process.  The "
7601 "pathname is returned as the function result and via the argument I<buf>, if "
7602 "present."
7603 msgstr ""
7604
7605 #. type: Plain text
7606 #: build/C/man3/getcwd.3:90
7607 msgid ""
7608 "The B<getcwd>()  function copies an absolute pathname of the current working "
7609 "directory to the array pointed to by I<buf>, which is of length I<size>."
7610 msgstr ""
7611
7612 #. type: Plain text
7613 #: build/C/man3/getcwd.3:100
7614 msgid ""
7615 "If the length of the absolute pathname of the current working directory, "
7616 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7617 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7618 "this error, and allocate a larger buffer if necessary."
7619 msgstr ""
7620
7621 #. type: Plain text
7622 #: build/C/man3/getcwd.3:118
7623 msgid ""
7624 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7625 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7626 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7627 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7628 "should B<free>(3)  the returned buffer."
7629 msgstr ""
7630
7631 #. type: Plain text
7632 #: build/C/man3/getcwd.3:131
7633 msgid ""
7634 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7635 "the absolute pathname of the current working directory.  If the environment "
7636 "variable B<PWD> is set, and its value is correct, then that value will be "
7637 "returned.  The caller should B<free>(3)  the returned buffer."
7638 msgstr ""
7639
7640 #. type: Plain text
7641 #: build/C/man3/getcwd.3:156
7642 msgid ""
7643 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7644 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7645 "the absolute pathname of the current working directory, including the "
7646 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7647 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7648 "may not be a compile-time constant; furthermore, its value may depend on the "
7649 "filesystem, see B<pathconf>(3).)  For portability and security reasons, use "
7650 "of B<getwd>()  is deprecated."
7651 msgstr ""
7652
7653 #. type: Plain text
7654 #: build/C/man3/getcwd.3:165
7655 msgid ""
7656 "On success, these functions return a pointer to a string containing the "
7657 "pathname of the current working directory.  In the case B<getcwd>()  and "
7658 "B<getwd>()  this is the same value as I<buf>."
7659 msgstr ""
7660
7661 #. type: Plain text
7662 #: build/C/man3/getcwd.3:172
7663 msgid ""
7664 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7665 "error.  The contents of the array pointed to by I<buf> are undefined on "
7666 "error."
7667 msgstr ""
7668
7669 #. type: Plain text
7670 #: build/C/man3/getcwd.3:176
7671 msgid "Permission to read or search a component of the filename was denied."
7672 msgstr ""
7673
7674 #. type: Plain text
7675 #: build/C/man3/getcwd.3:180
7676 msgid "I<buf> points to a bad address."
7677 msgstr ""
7678
7679 #. type: Plain text
7680 #: build/C/man3/getcwd.3:187
7681 msgid "The I<size> argument is zero and I<buf> is not a null pointer."
7682 msgstr ""
7683
7684 #. type: TP
7685 #: build/C/man3/getcwd.3:187
7686 #, no-wrap
7687 msgid "EINVAL"
7688 msgstr ""
7689
7690 #. type: Plain text
7691 #: build/C/man3/getcwd.3:192
7692 msgid "B<getwd>(): I<buf> is NULL."
7693 msgstr ""
7694
7695 #. type: TP
7696 #: build/C/man3/getcwd.3:192
7697 #, no-wrap
7698 msgid "ENAMETOOLONG"
7699 msgstr ""
7700
7701 #. type: Plain text
7702 #: build/C/man3/getcwd.3:198
7703 msgid ""
7704 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7705 "B<PATH_MAX> bytes."
7706 msgstr ""
7707
7708 #. type: Plain text
7709 #: build/C/man3/getcwd.3:201
7710 msgid "The current working directory has been unlinked."
7711 msgstr ""
7712
7713 #. type: TP
7714 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
7715 #, no-wrap
7716 msgid "B<ERANGE>"
7717 msgstr ""
7718
7719 #. type: Plain text
7720 #: build/C/man3/getcwd.3:208
7721 msgid ""
7722 "The I<size> argument is less than the length of the absolute pathname of the "
7723 "working directory, including the terminating null byte.  You need to "
7724 "allocate a bigger array and try again."
7725 msgstr ""
7726
7727 #. type: Plain text
7728 #: build/C/man3/getcwd.3:216
7729 msgid ""
7730 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7731 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7732 msgstr ""
7733
7734 #. type: Plain text
7735 #: build/C/man3/getcwd.3:227
7736 msgid ""
7737 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7738 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7739 "POSIX.1-2001 does not define any errors for B<getwd>()."
7740 msgstr ""
7741
7742 #. type: Plain text
7743 #: build/C/man3/getcwd.3:230
7744 msgid "B<get_current_dir_name>()  is a GNU extension."
7745 msgstr ""
7746
7747 #. type: Plain text
7748 #: build/C/man3/getcwd.3:241
7749 msgid ""
7750 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7751 "older systems it would query I</proc/self/cwd>.  If both system call and "
7752 "proc filesystem are missing, a generic implementation is called.  Only in "
7753 "that case can these calls fail under Linux with B<EACCES>."
7754 msgstr ""
7755
7756 #. type: Plain text
7757 #: build/C/man3/getcwd.3:249
7758 msgid ""
7759 "These functions are often used to save the location of the current working "
7760 "directory for the purpose of returning to it later.  Opening the current "
7761 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7762 "and more reliable alternative when sufficiently many file descriptors are "
7763 "available, especially on platforms other than Linux."
7764 msgstr ""
7765
7766 #. type: Plain text
7767 #: build/C/man3/getcwd.3:256
7768 msgid ""
7769 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7770 "B<malloc>(3)"
7771 msgstr ""
7772
7773 #. type: TH
7774 #: build/C/man2/getdomainname.2:29
7775 #, no-wrap
7776 msgid "GETDOMAINNAME"
7777 msgstr ""
7778
7779 #. type: TH
7780 #: build/C/man2/getdomainname.2:29
7781 #, no-wrap
7782 msgid "2012-10-25"
7783 msgstr ""
7784
7785 #. type: Plain text
7786 #: build/C/man2/getdomainname.2:32
7787 msgid "getdomainname, setdomainname - get/set NIS domain name"
7788 msgstr ""
7789
7790 #. type: Plain text
7791 #: build/C/man2/getdomainname.2:36
7792 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7793 msgstr ""
7794
7795 #. type: Plain text
7796 #: build/C/man2/getdomainname.2:38
7797 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7798 msgstr ""
7799
7800 #. type: Plain text
7801 #: build/C/man2/getdomainname.2:47
7802 msgid "B<getdomainname>(), B<setdomainname>():"
7803 msgstr ""
7804
7805 #. type: Plain text
7806 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7807 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7808 msgstr ""
7809
7810 #. type: Plain text
7811 #: build/C/man2/getdomainname.2:54
7812 msgid ""
7813 "These functions are used to access or to change the NIS domain name of the "
7814 "host system."
7815 msgstr ""
7816
7817 #. type: Plain text
7818 #: build/C/man2/getdomainname.2:65
7819 msgid ""
7820 "B<setdomainname>()  sets the domain name to the value given in the character "
7821 "array I<name>.  The I<len> argument specifies the number of bytes in "
7822 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7823 msgstr ""
7824
7825 #. type: Plain text
7826 #: build/C/man2/getdomainname.2:75
7827 msgid ""
7828 "B<getdomainname>()  returns the null-terminated domain name in the character "
7829 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7830 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7831 "first I<len> bytes (glibc) or gives an error (libc)."
7832 msgstr ""
7833
7834 #. type: Plain text
7835 #: build/C/man2/getdomainname.2:83
7836 msgid "B<setdomainname>()  can fail with the following errors:"
7837 msgstr ""
7838
7839 #. type: Plain text
7840 #: build/C/man2/getdomainname.2:87
7841 msgid "I<name> pointed outside of user address space."
7842 msgstr ""
7843
7844 #. type: Plain text
7845 #: build/C/man2/getdomainname.2:91
7846 msgid "I<len> was negative or too large."
7847 msgstr ""
7848
7849 #. type: Plain text
7850 #: build/C/man2/getdomainname.2:96
7851 msgid ""
7852 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7853 "capability)."
7854 msgstr ""
7855
7856 #. type: Plain text
7857 #: build/C/man2/getdomainname.2:99
7858 msgid "B<getdomainname>()  can fail with the following errors:"
7859 msgstr ""
7860
7861 #. type: Plain text
7862 #: build/C/man2/getdomainname.2:110
7863 msgid ""
7864 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7865 "than I<len> bytes."
7866 msgstr ""
7867
7868 #.  But they appear on most systems...
7869 #. type: Plain text
7870 #: build/C/man2/getdomainname.2:113
7871 msgid "POSIX does not specify these calls."
7872 msgstr ""
7873
7874 #. type: Plain text
7875 #: build/C/man2/getdomainname.2:117
7876 msgid ""
7877 "Since Linux 1.0, the limit on the length of a domain name, including the "
7878 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7879 msgstr ""
7880
7881 #. type: Plain text
7882 #: build/C/man2/getdomainname.2:127
7883 msgid ""
7884 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7885 "system call; instead, glibc implements B<getdomainname>()  as a library "
7886 "function that returns a copy of the I<domainname> field returned from a call "
7887 "to B<uname>(2)."
7888 msgstr ""
7889
7890 #. type: Plain text
7891 #: build/C/man2/getdomainname.2:131
7892 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7893 msgstr ""
7894
7895 #. type: TH
7896 #: build/C/man3/getdtablesize.3:27
7897 #, no-wrap
7898 msgid "GETDTABLESIZE"
7899 msgstr ""
7900
7901 #. type: TH
7902 #: build/C/man3/getdtablesize.3:27
7903 #, no-wrap
7904 msgid "2013-02-05"
7905 msgstr ""
7906
7907 #. type: Plain text
7908 #: build/C/man3/getdtablesize.3:30
7909 msgid "getdtablesize - get descriptor table size"
7910 msgstr ""
7911
7912 #. type: Plain text
7913 #: build/C/man3/getdtablesize.3:34
7914 msgid "B<int getdtablesize(void);>"
7915 msgstr ""
7916
7917 #. type: Plain text
7918 #: build/C/man3/getdtablesize.3:41
7919 msgid "B<getdtablesize>():"
7920 msgstr ""
7921
7922 #. type: Plain text
7923 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7924 #, no-wrap
7925 msgid ""
7926 "_BSD_SOURCE ||\n"
7927 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7928 msgstr ""
7929
7930 #. type: Plain text
7931 #: build/C/man3/getdtablesize.3:61
7932 msgid ""
7933 "B<getdtablesize>()  returns the maximum number of files a process can have "
7934 "open, one more than the largest possible value for a file descriptor."
7935 msgstr ""
7936
7937 #. type: Plain text
7938 #: build/C/man3/getdtablesize.3:63
7939 msgid "The current limit on the number of open files per process."
7940 msgstr ""
7941
7942 #. type: Plain text
7943 #: build/C/man3/getdtablesize.3:69
7944 msgid ""
7945 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7946 "B<getrlimit>(2); see NOTES below."
7947 msgstr ""
7948
7949 #. type: Plain text
7950 #: build/C/man3/getdtablesize.3:77
7951 msgid ""
7952 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7953 "It is not specified in POSIX.1-2001; portable applications should employ "
7954 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7955 msgstr ""
7956
7957 #. type: Plain text
7958 #: build/C/man3/getdtablesize.3:90
7959 msgid ""
7960 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7961 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7962 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7963 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7964 msgstr ""
7965
7966 #. type: Plain text
7967 #: build/C/man3/getdtablesize.3:95
7968 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7969 msgstr ""
7970
7971 #. type: TH
7972 #: build/C/man3/gethostid.3:29
7973 #, no-wrap
7974 msgid "GETHOSTID"
7975 msgstr ""
7976
7977 #. type: Plain text
7978 #: build/C/man3/gethostid.3:32
7979 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7980 msgstr ""
7981
7982 #. type: Plain text
7983 #: build/C/man3/gethostid.3:36
7984 msgid "B<long gethostid(void);>"
7985 msgstr ""
7986
7987 #. type: Plain text
7988 #: build/C/man3/gethostid.3:38
7989 msgid "B<int sethostid(long >I<hostid>B<);>"
7990 msgstr ""
7991
7992 #. type: Plain text
7993 #: build/C/man3/gethostid.3:47
7994 msgid "B<gethostid>():"
7995 msgstr ""
7996
7997 #. type: Plain text
7998 #: build/C/man3/gethostid.3:52
7999 msgid "B<sethostid>():"
8000 msgstr ""
8001
8002 #. type: Plain text
8003 #: build/C/man3/gethostid.3:67
8004 msgid ""
8005 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
8006 "identifier for the current machine.  The 32-bit identifier is intended to be "
8007 "unique among all UNIX systems in existence.  This normally resembles the "
8008 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
8009 "and thus usually never needs to be set."
8010 msgstr ""
8011
8012 #. type: Plain text
8013 #: build/C/man3/gethostid.3:71
8014 msgid "The B<sethostid>()  call is restricted to the superuser."
8015 msgstr ""
8016
8017 #. type: Plain text
8018 #: build/C/man3/gethostid.3:75
8019 msgid ""
8020 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
8021 "B<sethostid>()."
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man3/gethostid.3:81
8026 msgid ""
8027 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
8028 "I<errno> is set to indicate the error."
8029 msgstr ""
8030
8031 #. type: Plain text
8032 #: build/C/man3/gethostid.3:84
8033 msgid "B<sethostid>()  can fail with the following errors:"
8034 msgstr ""
8035
8036 #. type: Plain text
8037 #: build/C/man3/gethostid.3:88
8038 msgid ""
8039 "The caller did not have permission to write to the file used to store the "
8040 "host ID."
8041 msgstr ""
8042
8043 #. type: Plain text
8044 #: build/C/man3/gethostid.3:92
8045 msgid ""
8046 "The calling process's effective user or group ID is not the same as its "
8047 "corresponding real ID."
8048 msgstr ""
8049
8050 #. type: Plain text
8051 #: build/C/man3/gethostid.3:102
8052 msgid ""
8053 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
8054 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
8055 "B<gethostid>()  but not B<sethostid>()."
8056 msgstr ""
8057
8058 #.  libc5 used /etc/hostid; libc4 didn't have these functions
8059 #. type: Plain text
8060 #: build/C/man3/gethostid.3:111
8061 msgid ""
8062 "In the glibc implementation, the I<hostid> is stored in the file "
8063 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
8064 "was used.)"
8065 msgstr ""
8066
8067 #. type: Plain text
8068 #: build/C/man3/gethostid.3:122
8069 msgid ""
8070 "In the glibc implementation, if B<gethostid>()  cannot open the file "
8071 "containing the host ID, then it obtains the hostname using "
8072 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
8073 "to obtain the host's IPv4 address, and returns a value obtained by "
8074 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
8075 msgstr ""
8076
8077 #. type: Plain text
8078 #: build/C/man3/gethostid.3:124
8079 msgid "It is impossible to ensure that the identifier is globally unique."
8080 msgstr ""
8081
8082 #. type: Plain text
8083 #: build/C/man3/gethostid.3:127
8084 msgid "B<hostid>(1), B<gethostbyname>(3)"
8085 msgstr ""
8086
8087 #. type: TH
8088 #: build/C/man2/gethostname.2:32
8089 #, no-wrap
8090 msgid "GETHOSTNAME"
8091 msgstr ""
8092
8093 #. type: TH
8094 #: build/C/man2/gethostname.2:32
8095 #, no-wrap
8096 msgid "2010-09-26"
8097 msgstr ""
8098
8099 #. type: Plain text
8100 #: build/C/man2/gethostname.2:35
8101 msgid "gethostname, sethostname - get/set hostname"
8102 msgstr ""
8103
8104 #. type: Plain text
8105 #: build/C/man2/gethostname.2:39
8106 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
8107 msgstr ""
8108
8109 #. type: Plain text
8110 #: build/C/man2/gethostname.2:41
8111 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
8112 msgstr ""
8113
8114 #. type: Plain text
8115 #: build/C/man2/gethostname.2:50
8116 msgid "B<gethostname>():"
8117 msgstr ""
8118
8119 #. type: Plain text
8120 #: build/C/man2/gethostname.2:53
8121 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
8122 msgstr ""
8123
8124 #. type: Plain text
8125 #: build/C/man2/gethostname.2:55
8126 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
8127 msgstr ""
8128
8129 #. type: Plain text
8130 #: build/C/man2/gethostname.2:58
8131 msgid "B<sethostname>():"
8132 msgstr ""
8133
8134 #. type: Plain text
8135 #: build/C/man2/gethostname.2:66
8136 msgid ""
8137 "These system calls are used to access or to change the hostname of the "
8138 "current processor."
8139 msgstr ""
8140
8141 #. type: Plain text
8142 #: build/C/man2/gethostname.2:77
8143 msgid ""
8144 "B<sethostname>()  sets the hostname to the value given in the character "
8145 "array I<name>.  The I<len> argument specifies the number of bytes in "
8146 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
8147 msgstr ""
8148
8149 #. type: Plain text
8150 #: build/C/man2/gethostname.2:89
8151 msgid ""
8152 "B<gethostname>()  returns the null-terminated hostname in the character "
8153 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
8154 "hostname is too large to fit, then the name is truncated, and no error is "
8155 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
8156 "occurs, then it is unspecified whether the returned buffer includes a "
8157 "terminating null byte."
8158 msgstr ""
8159
8160 #. type: Plain text
8161 #: build/C/man2/gethostname.2:99
8162 msgid "I<name> is an invalid address."
8163 msgstr ""
8164
8165 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
8166 #.  unsigned type; can occur for the underlying system call.
8167 #. type: Plain text
8168 #: build/C/man2/gethostname.2:109
8169 msgid ""
8170 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
8171 "maximum allowed size."
8172 msgstr ""
8173
8174 #. type: Plain text
8175 #: build/C/man2/gethostname.2:117
8176 msgid ""
8177 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
8178 "version 2.1, glibc uses B<EINVAL> for this case.)"
8179 msgstr ""
8180
8181 #. type: Plain text
8182 #: build/C/man2/gethostname.2:124
8183 msgid ""
8184 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
8185 "capability."
8186 msgstr ""
8187
8188 #. type: Plain text
8189 #: build/C/man2/gethostname.2:130
8190 msgid ""
8191 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
8192 "specifies B<gethostname>()  but not B<sethostname>()."
8193 msgstr ""
8194
8195 #. type: Plain text
8196 #: build/C/man2/gethostname.2:140
8197 msgid ""
8198 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
8199 "guarantees that \"Host names (not including the terminating null byte) are "
8200 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
8201 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
8202 "imposed a limit of 8 bytes)."
8203 msgstr ""
8204
8205 #. type: Plain text
8206 #: build/C/man2/gethostname.2:163
8207 msgid ""
8208 "The GNU C library does not employ the B<gethostname>()  system call; "
8209 "instead, it implements B<gethostname>()  as a library function that calls "
8210 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
8211 "field into I<name>.  Having performed the copy, the function then checks if "
8212 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
8213 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
8214 "this case, a terminating null byte is not included in the returned I<name>."
8215 msgstr ""
8216
8217 #.  At least glibc 2.0 and 2.1, older versions not checked
8218 #. type: Plain text
8219 #: build/C/man2/gethostname.2:176
8220 msgid ""
8221 "Versions of glibc before 2.2 handle the case where the length of the "
8222 "I<nodename> was greater than or equal to I<len> differently: nothing is "
8223 "copied into I<name> and the function returns -1 with I<errno> set to "
8224 "B<ENAMETOOLONG>."
8225 msgstr ""
8226
8227 #. type: Plain text
8228 #: build/C/man2/gethostname.2:180
8229 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
8230 msgstr ""
8231
8232 #. type: TH
8233 #: build/C/man3/getlogin.3:28
8234 #, no-wrap
8235 msgid "GETLOGIN"
8236 msgstr ""
8237
8238 #. type: TH
8239 #: build/C/man3/getlogin.3:28
8240 #, no-wrap
8241 msgid "2013-04-19"
8242 msgstr ""
8243
8244 #. type: Plain text
8245 #: build/C/man3/getlogin.3:31
8246 msgid "getlogin, getlogin_r, cuserid - get username"
8247 msgstr ""
8248
8249 #. type: Plain text
8250 #: build/C/man3/getlogin.3:35
8251 msgid "B<char *getlogin(void);>"
8252 msgstr ""
8253
8254 #. type: Plain text
8255 #: build/C/man3/getlogin.3:37
8256 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
8257 msgstr ""
8258
8259 #. type: Plain text
8260 #: build/C/man3/getlogin.3:39
8261 msgid "B<#include E<lt>stdio.hE<gt>>"
8262 msgstr ""
8263
8264 #. type: Plain text
8265 #: build/C/man3/getlogin.3:41
8266 msgid "B<char *cuserid(char *>I<string>B<);>"
8267 msgstr ""
8268
8269 #. type: Plain text
8270 #: build/C/man3/getlogin.3:49
8271 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
8272 msgstr ""
8273
8274 #. type: Plain text
8275 #: build/C/man3/getlogin.3:52
8276 msgid "B<cuserid>(): _XOPEN_SOURCE"
8277 msgstr ""
8278
8279 #. type: Plain text
8280 #: build/C/man3/getlogin.3:61
8281 msgid ""
8282 "B<getlogin>()  returns a pointer to a string containing the name of the user "
8283 "logged in on the controlling terminal of the process, or a null pointer if "
8284 "this information cannot be determined.  The string is statically allocated "
8285 "and might be overwritten on subsequent calls to this function or to "
8286 "B<cuserid>()."
8287 msgstr ""
8288
8289 #. type: Plain text
8290 #: build/C/man3/getlogin.3:67
8291 msgid ""
8292 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
8293 "I<bufsize>."
8294 msgstr ""
8295
8296 #. type: Plain text
8297 #: build/C/man3/getlogin.3:79
8298 msgid ""
8299 "B<cuserid>()  returns a pointer to a string containing a username associated "
8300 "with the effective user ID of the process.  If I<string> is not a null "
8301 "pointer, it should be an array that can hold at least B<L_cuserid> "
8302 "characters; the string is returned in this array.  Otherwise, a pointer to a "
8303 "string in a static area is returned.  This string is statically allocated "
8304 "and might be overwritten on subsequent calls to this function or to "
8305 "B<getlogin>()."
8306 msgstr ""
8307
8308 #. type: Plain text
8309 #: build/C/man3/getlogin.3:83
8310 msgid ""
8311 "The macro B<L_cuserid> is an integer constant that indicates how long an "
8312 "array you might need to store a username.  B<L_cuserid> is declared in "
8313 "I<E<lt>stdio.hE<gt>>."
8314 msgstr ""
8315
8316 #. type: Plain text
8317 #: build/C/man3/getlogin.3:90
8318 msgid ""
8319 "These functions let your program identify positively the user who is running "
8320 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
8321 "(These can differ when set-user-ID programs are involved.)"
8322 msgstr ""
8323
8324 #. type: Plain text
8325 #: build/C/man3/getlogin.3:95
8326 msgid ""
8327 "For most purposes, it is more useful to use the environment variable "
8328 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
8329 "because the user can set B<LOGNAME> arbitrarily."
8330 msgstr ""
8331
8332 #. type: Plain text
8333 #: build/C/man3/getlogin.3:103
8334 msgid ""
8335 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
8336 "on failure, with I<errno> set to indicate the cause of the error.  "
8337 "B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
8338 msgstr ""
8339
8340 #. type: Plain text
8341 #: build/C/man3/getlogin.3:105
8342 msgid "POSIX specifies"
8343 msgstr ""
8344
8345 #. type: Plain text
8346 #: build/C/man3/getlogin.3:108
8347 msgid "The calling process already has the maximum allowed number of open files."
8348 msgstr ""
8349
8350 #. type: Plain text
8351 #: build/C/man3/getlogin.3:111
8352 msgid "The system already has the maximum allowed number of open files."
8353 msgstr ""
8354
8355 #. type: TP
8356 #: build/C/man3/getlogin.3:111
8357 #, no-wrap
8358 msgid "B<ENXIO>"
8359 msgstr ""
8360
8361 #. type: Plain text
8362 #: build/C/man3/getlogin.3:114
8363 msgid "The calling process has no controlling terminal."
8364 msgstr ""
8365
8366 #. type: Plain text
8367 #: build/C/man3/getlogin.3:120
8368 msgid ""
8369 "(getlogin_r)  The length of the username, including the terminating null "
8370 "byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
8371 msgstr ""
8372
8373 #. type: Plain text
8374 #: build/C/man3/getlogin.3:122
8375 msgid "Linux/glibc also has"
8376 msgstr ""
8377
8378 #. type: Plain text
8379 #: build/C/man3/getlogin.3:125
8380 msgid "There was no corresponding entry in the utmp-file."
8381 msgstr ""
8382
8383 #. type: Plain text
8384 #: build/C/man3/getlogin.3:128
8385 msgid "Insufficient memory to allocate passwd structure."
8386 msgstr ""
8387
8388 #. type: TP
8389 #: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:109 build/C/man2/ioctl.2:113 build/C/man3/tcgetpgrp.3:95
8390 #, no-wrap
8391 msgid "B<ENOTTY>"
8392 msgstr ""
8393
8394 #. type: Plain text
8395 #: build/C/man3/getlogin.3:132
8396 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
8397 msgstr ""
8398
8399 #. type: TP
8400 #: build/C/man3/getlogin.3:133
8401 #, no-wrap
8402 msgid "I</etc/passwd>"
8403 msgstr ""
8404
8405 #. type: Plain text
8406 #: build/C/man3/getlogin.3:136
8407 msgid "password database file"
8408 msgstr ""
8409
8410 #. type: TP
8411 #: build/C/man3/getlogin.3:136
8412 #, no-wrap
8413 msgid "I</var/run/utmp>"
8414 msgstr ""
8415
8416 #. type: Plain text
8417 #: build/C/man3/getlogin.3:140
8418 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
8419 msgstr ""
8420
8421 #. type: Plain text
8422 #: build/C/man3/getlogin.3:145
8423 msgid "The B<getlogin>()  function is not thread-safe."
8424 msgstr ""
8425
8426 #. type: Plain text
8427 #: build/C/man3/getlogin.3:149
8428 msgid "The B<getlogin_r>()  function is thread-safe."
8429 msgstr ""
8430
8431 #. type: Plain text
8432 #: build/C/man3/getlogin.3:154
8433 msgid ""
8434 "The B<cuserid>()  function is thread-safe with exceptions.  It is not "
8435 "thread-safe if called with a NULL parameter."
8436 msgstr ""
8437
8438 #. type: Plain text
8439 #: build/C/man3/getlogin.3:159
8440 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
8441 msgstr ""
8442
8443 #. type: Plain text
8444 #: build/C/man3/getlogin.3:170
8445 msgid ""
8446 "System V has a B<cuserid>()  function which uses the real user ID rather "
8447 "than the effective user ID.  The B<cuserid>()  function was included in the "
8448 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
8449 "SUSv2, but removed in POSIX.1-2001."
8450 msgstr ""
8451
8452 #. type: Plain text
8453 #: build/C/man3/getlogin.3:177
8454 msgid ""
8455 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
8456 "a session, even if it has no controlling terminal."
8457 msgstr ""
8458
8459 #. type: Plain text
8460 #: build/C/man3/getlogin.3:189
8461 msgid ""
8462 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
8463 "does not work at all, because some program messed up the utmp file.  Often, "
8464 "it gives only the first 8 characters of the login name.  The user currently "
8465 "logged in on the controlling terminal of our program need not be the user "
8466 "who started it.  Avoid B<getlogin>()  for security-related purposes."
8467 msgstr ""
8468
8469 #. type: Plain text
8470 #: build/C/man3/getlogin.3:199
8471 msgid ""
8472 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
8473 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
8474 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
8475 "redirected.)"
8476 msgstr ""
8477
8478 #. type: Plain text
8479 #: build/C/man3/getlogin.3:209
8480 msgid ""
8481 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
8482 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
8483 "that is what you meant.  B<Do not use> B<cuserid>()."
8484 msgstr ""
8485
8486 #. type: Plain text
8487 #: build/C/man3/getlogin.3:213
8488 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8489 msgstr ""
8490
8491 #. type: TH
8492 #: build/C/man3/getopt.3:41
8493 #, no-wrap
8494 msgid "GETOPT"
8495 msgstr ""
8496
8497 #. type: TH
8498 #: build/C/man3/getopt.3:41
8499 #, no-wrap
8500 msgid "2010-11-01"
8501 msgstr ""
8502
8503 #. type: Plain text
8504 #: build/C/man3/getopt.3:45
8505 msgid ""
8506 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
8507 "Parse command-line options"
8508 msgstr ""
8509
8510 #. type: Plain text
8511 #: build/C/man3/getopt.3:51
8512 #, no-wrap
8513 msgid ""
8514 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8515 "B<           const char *>I<optstring>B<);>\n"
8516 msgstr ""
8517
8518 #. type: Plain text
8519 #: build/C/man3/getopt.3:54
8520 #, no-wrap
8521 msgid ""
8522 "B<extern char *>I<optarg>B<;>\n"
8523 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8524 msgstr ""
8525
8526 #. type: Plain text
8527 #: build/C/man3/getopt.3:56
8528 #, no-wrap
8529 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8530 msgstr ""
8531
8532 #. type: Plain text
8533 #: build/C/man3/getopt.3:60
8534 #, no-wrap
8535 msgid ""
8536 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8537 "B<           const char *>I<optstring>B<,>\n"
8538 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8539 msgstr ""
8540
8541 #. type: Plain text
8542 #: build/C/man3/getopt.3:64
8543 #, no-wrap
8544 msgid ""
8545 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8546 "B<           const char *>I<optstring>B<,>\n"
8547 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8548 msgstr ""
8549
8550 #. type: Plain text
8551 #: build/C/man3/getopt.3:74
8552 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8553 msgstr ""
8554
8555 #. type: Plain text
8556 #: build/C/man3/getopt.3:78
8557 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8558 msgstr ""
8559
8560 #. type: Plain text
8561 #: build/C/man3/getopt.3:99
8562 msgid ""
8563 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
8564 "I<argc> and I<argv> are the argument count and array as passed to the "
8565 "I<main>()  function on program invocation.  An element of I<argv> that "
8566 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
8567 "element.  The characters of this element (aside from the initial "
8568 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
8569 "it returns successively each of the option characters from each of the "
8570 "option elements."
8571 msgstr ""
8572
8573 #. type: Plain text
8574 #: build/C/man3/getopt.3:108
8575 msgid ""
8576 "The variable I<optind> is the index of the next element to be processed in "
8577 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
8578 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
8579 "argument vector."
8580 msgstr ""
8581
8582 #. type: Plain text
8583 #: build/C/man3/getopt.3:118
8584 msgid ""
8585 "If B<getopt>()  finds another option character, it returns that character, "
8586 "updating the external variable I<optind> and a static variable I<nextchar> "
8587 "so that the next call to B<getopt>()  can resume the scan with the following "
8588 "option character or I<argv>-element."
8589 msgstr ""
8590
8591 #. type: Plain text
8592 #: build/C/man3/getopt.3:124
8593 msgid ""
8594 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8595 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8596 "an option."
8597 msgstr ""
8598
8599 #. type: Plain text
8600 #: build/C/man3/getopt.3:151
8601 msgid ""
8602 "I<optstring> is a string containing the legitimate option characters.  If "
8603 "such a character is followed by a colon, the option requires an argument, so "
8604 "B<getopt>()  places a pointer to the following text in the same "
8605 "I<argv>-element, or the text of the following I<argv>-element, in "
8606 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8607 "text in the current I<argv>-element (i.e., in the same word as the option "
8608 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8609 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8610 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8611 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8612 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8613 "not available with libraries before glibc 2."
8614 msgstr ""
8615
8616 #. type: Plain text
8617 #: build/C/man3/getopt.3:169
8618 msgid ""
8619 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8620 "that eventually all the nonoptions are at the end.  Two other modes are also "
8621 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8622 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8623 "as soon as a nonoption argument is encountered.  If the first character of "
8624 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8625 "as if it were the argument of an option with character code 1.  (This is "
8626 "used by programs that were written to expect options and other "
8627 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8628 "The special argument \"--\" forces an end of option-scanning regardless of "
8629 "the scanning mode."
8630 msgstr ""
8631
8632 #. type: Plain text
8633 #: build/C/man3/getopt.3:177
8634 msgid ""
8635 "If B<getopt>()  does not recognize an option character, it prints an error "
8636 "message to I<stderr>, stores the character in I<optopt>, and returns "
8637 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8638 "I<opterr> to 0."
8639 msgstr ""
8640
8641 #. type: Plain text
8642 #: build/C/man3/getopt.3:196
8643 msgid ""
8644 "If B<getopt>()  finds an option character in I<argv> that was not included "
8645 "in I<optstring>, or if it detects a missing option argument, it returns "
8646 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8647 "character.  If the first character (following any optional \\(aq+\\(aq or "
8648 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8649 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8650 "missing option argument.  If an error was detected, and the first character "
8651 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8652 "nonzero (which is the default), B<getopt>()  prints an error message."
8653 msgstr ""
8654
8655 #. type: SS
8656 #: build/C/man3/getopt.3:196
8657 #, no-wrap
8658 msgid "getopt_long() and getopt_long_only()"
8659 msgstr ""
8660
8661 #. type: Plain text
8662 #: build/C/man3/getopt.3:212
8663 msgid ""
8664 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8665 "accepts long options, started with two dashes.  (If the program accepts only "
8666 "long options, then I<optstring> should be specified as an empty string "
8667 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8668 "is unique or is an exact match for some defined option.  A long option may "
8669 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8670 msgstr ""
8671
8672 #. type: Plain text
8673 #: build/C/man3/getopt.3:219
8674 msgid ""
8675 "I<longopts> is a pointer to the first element of an array of I<struct "
8676 "option> declared in I<E<lt>getopt.hE<gt>> as"
8677 msgstr ""
8678
8679 #. type: Plain text
8680 #: build/C/man3/getopt.3:228
8681 #, no-wrap
8682 msgid ""
8683 "struct option {\n"
8684 "    const char *name;\n"
8685 "    int         has_arg;\n"
8686 "    int        *flag;\n"
8687 "    int         val;\n"
8688 "};\n"
8689 msgstr ""
8690
8691 #. type: Plain text
8692 #: build/C/man3/getopt.3:232
8693 msgid "The meanings of the different fields are:"
8694 msgstr ""
8695
8696 #. type: TP
8697 #: build/C/man3/getopt.3:232
8698 #, no-wrap
8699 msgid "I<name>"
8700 msgstr ""
8701
8702 #. type: Plain text
8703 #: build/C/man3/getopt.3:235
8704 msgid "is the name of the long option."
8705 msgstr ""
8706
8707 #. type: TP
8708 #: build/C/man3/getopt.3:235
8709 #, no-wrap
8710 msgid "I<has_arg>"
8711 msgstr ""
8712
8713 #. type: Plain text
8714 #: build/C/man3/getopt.3:241
8715 msgid ""
8716 "is: B<no_argument> (or 0) if the option does not take an argument; "
8717 "B<required_argument> (or 1) if the option requires an argument; or "
8718 "B<optional_argument> (or 2) if the option takes an optional argument."
8719 msgstr ""
8720
8721 #. type: TP
8722 #: build/C/man3/getopt.3:241
8723 #, no-wrap
8724 msgid "I<flag>"
8725 msgstr ""
8726
8727 #. type: Plain text
8728 #: build/C/man3/getopt.3:255
8729 msgid ""
8730 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8731 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8732 "may set I<val> to the equivalent short option character.)  Otherwise, "
8733 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8734 "to I<val> if the option is found, but left unchanged if the option is not "
8735 "found."
8736 msgstr ""
8737
8738 #. type: TP
8739 #: build/C/man3/getopt.3:255
8740 #, no-wrap
8741 msgid "I<val>"
8742 msgstr ""
8743
8744 #. type: Plain text
8745 #: build/C/man3/getopt.3:259
8746 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8747 msgstr ""
8748
8749 #. type: Plain text
8750 #: build/C/man3/getopt.3:261
8751 msgid "The last element of the array has to be filled with zeros."
8752 msgstr ""
8753
8754 #. type: Plain text
8755 #: build/C/man3/getopt.3:265
8756 msgid ""
8757 "If I<longindex> is not NULL, it points to a variable which is set to the "
8758 "index of the long option relative to I<longopts>."
8759 msgstr ""
8760
8761 #. type: Plain text
8762 #: build/C/man3/getopt.3:274
8763 msgid ""
8764 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8765 "\"--\" can indicate a long option.  If an option that starts with "
8766 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8767 "option, it is parsed as a short option instead."
8768 msgstr ""
8769
8770 #. type: Plain text
8771 #: build/C/man3/getopt.3:292
8772 msgid ""
8773 "If an option was successfully found, then B<getopt>()  returns the option "
8774 "character.  If all command-line options have been parsed, then B<getopt>()  "
8775 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8776 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8777 "option with a missing argument, then the return value depends on the first "
8778 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8779 "returned; otherwise \\(aq?\\(aq is returned."
8780 msgstr ""
8781
8782 #. type: Plain text
8783 #: build/C/man3/getopt.3:304
8784 msgid ""
8785 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8786 "character when a short option is recognized.  For a long option, they return "
8787 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8788 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8789 "extraneous parameter."
8790 msgstr ""
8791
8792 #. type: SH
8793 #: build/C/man3/getopt.3:304
8794 #, no-wrap
8795 msgid "ENVIRONMENT"
8796 msgstr ""
8797
8798 #. type: TP
8799 #: build/C/man3/getopt.3:305
8800 #, no-wrap
8801 msgid "B<POSIXLY_CORRECT>"
8802 msgstr ""
8803
8804 #. type: Plain text
8805 #: build/C/man3/getopt.3:309
8806 msgid ""
8807 "If this is set, then option processing stops as soon as a nonoption argument "
8808 "is encountered."
8809 msgstr ""
8810
8811 #. type: TP
8812 #: build/C/man3/getopt.3:309
8813 #, no-wrap
8814 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8815 msgstr ""
8816
8817 #. type: Plain text
8818 #: build/C/man3/getopt.3:318
8819 msgid ""
8820 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8821 "arguments are the results of wildcard expansion and so should not be "
8822 "considered as options.  This behavior was removed in B<bash>(1)  version "
8823 "2.01, but the support remains in glibc."
8824 msgstr ""
8825
8826 #. type: TP
8827 #: build/C/man3/getopt.3:319
8828 #, no-wrap
8829 msgid "B<getopt>():"
8830 msgstr ""
8831
8832 #. type: Plain text
8833 #: build/C/man3/getopt.3:329
8834 msgid ""
8835 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8836 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8837 "const, because we permute them.  We pretend they're const in the prototype "
8838 "to be compatible with other systems."
8839 msgstr ""
8840
8841 #. type: Plain text
8842 #: build/C/man3/getopt.3:333
8843 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8844 msgstr ""
8845
8846 #. type: Plain text
8847 #: build/C/man3/getopt.3:347
8848 msgid ""
8849 "On some older implementations, B<getopt>()  was declared in "
8850 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8851 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8852 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8853 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8854 msgstr ""
8855
8856 #. type: TP
8857 #: build/C/man3/getopt.3:347
8858 #, no-wrap
8859 msgid "B<getopt_long>() and B<getopt_long_only>():"
8860 msgstr ""
8861
8862 #. type: Plain text
8863 #: build/C/man3/getopt.3:369
8864 msgid ""
8865 "A program that scans multiple argument vectors, or rescans the same vector "
8866 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8867 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8868 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8869 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8870 "(Resetting to 0 forces the invocation of an internal initialization routine "
8871 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8872 "I<optstring>.)"
8873 msgstr ""
8874
8875 #. type: Plain text
8876 #: build/C/man3/getopt.3:376
8877 msgid ""
8878 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8879 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8880 "implementations) implements the correct behavior rather than that specified."
8881 msgstr ""
8882
8883 #. type: Plain text
8884 #: build/C/man3/getopt.3:384
8885 msgid ""
8886 "The following trivial example program uses B<getopt>()  to handle two "
8887 "program options: I<-n>, with no associated value; and I<-t val>, which "
8888 "expects an associated value."
8889 msgstr ""
8890
8891 #. type: Plain text
8892 #: build/C/man3/getopt.3:389
8893 #, no-wrap
8894 msgid ""
8895 "#include E<lt>unistd.hE<gt>\n"
8896 "#include E<lt>stdlib.hE<gt>\n"
8897 "#include E<lt>stdio.hE<gt>\n"
8898 msgstr ""
8899
8900 #. type: Plain text
8901 #: build/C/man3/getopt.3:395
8902 #, no-wrap
8903 msgid ""
8904 "int\n"
8905 "main(int argc, char *argv[])\n"
8906 "{\n"
8907 "    int flags, opt;\n"
8908 "    int nsecs, tfnd;\n"
8909 msgstr ""
8910
8911 #. type: Plain text
8912 #: build/C/man3/getopt.3:414
8913 #, no-wrap
8914 msgid ""
8915 "    nsecs = 0;\n"
8916 "    tfnd = 0;\n"
8917 "    flags = 0;\n"
8918 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8919 "        switch (opt) {\n"
8920 "        case \\(aqn\\(aq:\n"
8921 "            flags = 1;\n"
8922 "            break;\n"
8923 "        case \\(aqt\\(aq:\n"
8924 "            nsecs = atoi(optarg);\n"
8925 "            tfnd = 1;\n"
8926 "            break;\n"
8927 "        default: /* \\(aq?\\(aq */\n"
8928 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8929 "                    argv[0]);\n"
8930 "            exit(EXIT_FAILURE);\n"
8931 "        }\n"
8932 "    }\n"
8933 msgstr ""
8934
8935 #. type: Plain text
8936 #: build/C/man3/getopt.3:416
8937 #, no-wrap
8938 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8939 msgstr ""
8940
8941 #. type: Plain text
8942 #: build/C/man3/getopt.3:421
8943 #, no-wrap
8944 msgid ""
8945 "    if (optind E<gt>= argc) {\n"
8946 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8947 "        exit(EXIT_FAILURE);\n"
8948 "    }\n"
8949 msgstr ""
8950
8951 #. type: Plain text
8952 #: build/C/man3/getopt.3:423
8953 #, no-wrap
8954 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8955 msgstr ""
8956
8957 #. type: Plain text
8958 #: build/C/man3/getopt.3:425
8959 #, no-wrap
8960 msgid "    /* Other code omitted */\n"
8961 msgstr ""
8962
8963 #. type: Plain text
8964 #: build/C/man3/getopt.3:433
8965 msgid ""
8966 "The following example program illustrates the use of B<getopt_long>()  with "
8967 "most of its features."
8968 msgstr ""
8969
8970 #. type: Plain text
8971 #: build/C/man3/getopt.3:438
8972 #, no-wrap
8973 msgid ""
8974 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8975 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8976 "#include E<lt>getopt.hE<gt>\n"
8977 msgstr ""
8978
8979 #. type: Plain text
8980 #: build/C/man3/getopt.3:444
8981 #, no-wrap
8982 msgid ""
8983 "int\n"
8984 "main(int argc, char **argv)\n"
8985 "{\n"
8986 "    int c;\n"
8987 "    int digit_optind = 0;\n"
8988 msgstr ""
8989
8990 #. type: Plain text
8991 #: build/C/man3/getopt.3:457
8992 #, no-wrap
8993 msgid ""
8994 "    while (1) {\n"
8995 "        int this_option_optind = optind ? optind : 1;\n"
8996 "        int option_index = 0;\n"
8997 "        static struct option long_options[] = {\n"
8998 "            {\"add\",     required_argument, 0,  0 },\n"
8999 "            {\"append\",  no_argument,       0,  0 },\n"
9000 "            {\"delete\",  required_argument, 0,  0 },\n"
9001 "            {\"verbose\", no_argument,       0,  0 },\n"
9002 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
9003 "            {\"file\",    required_argument, 0,  0 },\n"
9004 "            {0,         0,                 0,  0 }\n"
9005 "        };\n"
9006 msgstr ""
9007
9008 #. type: Plain text
9009 #: build/C/man3/getopt.3:462
9010 #, no-wrap
9011 msgid ""
9012 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
9013 "                 long_options, &option_index);\n"
9014 "        if (c == -1)\n"
9015 "            break;\n"
9016 msgstr ""
9017
9018 #. type: Plain text
9019 #: build/C/man3/getopt.3:470
9020 #, no-wrap
9021 msgid ""
9022 "        switch (c) {\n"
9023 "        case 0:\n"
9024 "            printf(\"option %s\", long_options[option_index].name);\n"
9025 "            if (optarg)\n"
9026 "                printf(\" with arg %s\", optarg);\n"
9027 "            printf(\"\\en\");\n"
9028 "            break;\n"
9029 msgstr ""
9030
9031 #. type: Plain text
9032 #: build/C/man3/getopt.3:479
9033 #, no-wrap
9034 msgid ""
9035 "        case \\(aq0\\(aq:\n"
9036 "        case \\(aq1\\(aq:\n"
9037 "        case \\(aq2\\(aq:\n"
9038 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
9039 "              printf(\"digits occur in two different "
9040 "argv-elements.\\en\");\n"
9041 "            digit_optind = this_option_optind;\n"
9042 "            printf(\"option %c\\en\", c);\n"
9043 "            break;\n"
9044 msgstr ""
9045
9046 #. type: Plain text
9047 #: build/C/man3/getopt.3:483
9048 #, no-wrap
9049 msgid ""
9050 "        case \\(aqa\\(aq:\n"
9051 "            printf(\"option a\\en\");\n"
9052 "            break;\n"
9053 msgstr ""
9054
9055 #. type: Plain text
9056 #: build/C/man3/getopt.3:487
9057 #, no-wrap
9058 msgid ""
9059 "        case \\(aqb\\(aq:\n"
9060 "            printf(\"option b\\en\");\n"
9061 "            break;\n"
9062 msgstr ""
9063
9064 #. type: Plain text
9065 #: build/C/man3/getopt.3:491
9066 #, no-wrap
9067 msgid ""
9068 "        case \\(aqc\\(aq:\n"
9069 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
9070 "            break;\n"
9071 msgstr ""
9072
9073 #. type: Plain text
9074 #: build/C/man3/getopt.3:495
9075 #, no-wrap
9076 msgid ""
9077 "        case \\(aqd\\(aq:\n"
9078 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
9079 "            break;\n"
9080 msgstr ""
9081
9082 #. type: Plain text
9083 #: build/C/man3/getopt.3:498
9084 #, no-wrap
9085 msgid ""
9086 "        case \\(aq?\\(aq:\n"
9087 "            break;\n"
9088 msgstr ""
9089
9090 #. type: Plain text
9091 #: build/C/man3/getopt.3:503
9092 #, no-wrap
9093 msgid ""
9094 "        default:\n"
9095 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
9096 "        }\n"
9097 "    }\n"
9098 msgstr ""
9099
9100 #. type: Plain text
9101 #: build/C/man3/getopt.3:510
9102 #, no-wrap
9103 msgid ""
9104 "    if (optind E<lt> argc) {\n"
9105 "        printf(\"non-option ARGV-elements: \");\n"
9106 "        while (optind E<lt> argc)\n"
9107 "            printf(\"%s \", argv[optind++]);\n"
9108 "        printf(\"\\en\");\n"
9109 "    }\n"
9110 msgstr ""
9111
9112 #. type: Plain text
9113 #: build/C/man3/getopt.3:516
9114 msgid "B<getsubopt>(3)"
9115 msgstr ""
9116
9117 #. type: TH
9118 #: build/C/man2/getpagesize.2:25
9119 #, no-wrap
9120 msgid "GETPAGESIZE"
9121 msgstr ""
9122
9123 #. type: TH
9124 #: build/C/man2/getpagesize.2:25
9125 #, no-wrap
9126 msgid "2010-11-16"
9127 msgstr ""
9128
9129 #. type: Plain text
9130 #: build/C/man2/getpagesize.2:28
9131 msgid "getpagesize - get memory page size"
9132 msgstr ""
9133
9134 #. type: Plain text
9135 #: build/C/man2/getpagesize.2:32
9136 msgid "B<int getpagesize(void);>"
9137 msgstr ""
9138
9139 #. type: Plain text
9140 #: build/C/man2/getpagesize.2:39
9141 msgid "B<getpagesize>():"
9142 msgstr ""
9143
9144 #.  .SH HISTORY
9145 #.  This call first appeared in 4.2BSD.
9146 #. type: Plain text
9147 #: build/C/man2/getpagesize.2:64
9148 msgid ""
9149 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
9150 "where \"page\" is a fixed-length block, the unit for memory allocation and "
9151 "file mapping performed by B<mmap>(2)."
9152 msgstr ""
9153
9154 #. type: Plain text
9155 #: build/C/man2/getpagesize.2:71
9156 msgid ""
9157 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
9158 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
9159 msgstr ""
9160
9161 #. type: Plain text
9162 #: build/C/man2/getpagesize.2:76
9163 msgid ""
9164 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
9165 "B<getpagesize>():"
9166 msgstr ""
9167
9168 #. type: Plain text
9169 #: build/C/man2/getpagesize.2:81
9170 #, no-wrap
9171 msgid ""
9172 "#include E<lt>unistd.hE<gt>\n"
9173 "long sz = sysconf(_SC_PAGESIZE);\n"
9174 msgstr ""
9175
9176 #. type: Plain text
9177 #: build/C/man2/getpagesize.2:88
9178 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
9179 msgstr ""
9180
9181 #. type: Plain text
9182 #: build/C/man2/getpagesize.2:108
9183 msgid ""
9184 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
9185 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
9186 "value depends on the architecture and machine model.  Generally, one uses "
9187 "binaries that are dependent on the architecture but not on the machine "
9188 "model, in order to have a single binary distribution per architecture.  This "
9189 "means that a user program should not find B<PAGE_SIZE> at compile time from "
9190 "a header file, but use an actual system call, at least for those "
9191 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
9192 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
9193 "value, and does not use a system call.  Things are OK in glibc 2.1."
9194 msgstr ""
9195
9196 #. type: Plain text
9197 #: build/C/man2/getpagesize.2:111
9198 msgid "B<mmap>(2), B<sysconf>(3)"
9199 msgstr ""
9200
9201 #. type: TH
9202 #: build/C/man2/gettid.2:26
9203 #, no-wrap
9204 msgid "GETTID"
9205 msgstr ""
9206
9207 #. type: TH
9208 #: build/C/man2/gettid.2:26 build/C/man3/lockf.3:28
9209 #, no-wrap
9210 msgid "2014-02-11"
9211 msgstr ""
9212
9213 #. type: Plain text
9214 #: build/C/man2/gettid.2:29
9215 msgid "gettid - get thread identification"
9216 msgstr ""
9217
9218 #. type: Plain text
9219 #: build/C/man2/gettid.2:32
9220 #, no-wrap
9221 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
9222 msgstr ""
9223
9224 #. type: Plain text
9225 #: build/C/man2/gettid.2:34
9226 #, no-wrap
9227 msgid "B<pid_t gettid(void);>\n"
9228 msgstr ""
9229
9230 #. type: Plain text
9231 #: build/C/man2/gettid.2:50
9232 msgid ""
9233 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
9234 "process, the thread ID is equal to the process ID (PID, as returned by "
9235 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
9236 "but each one has a unique TID.  For further details, see the discussion of "
9237 "B<CLONE_THREAD> in B<clone>(2)."
9238 msgstr ""
9239
9240 #. type: Plain text
9241 #: build/C/man2/gettid.2:52
9242 msgid "On success, returns the thread ID of the calling process."
9243 msgstr ""
9244
9245 #. type: Plain text
9246 #: build/C/man2/gettid.2:54
9247 msgid "This call is always successful."
9248 msgstr ""
9249
9250 #. type: Plain text
9251 #: build/C/man2/gettid.2:58
9252 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
9253 msgstr ""
9254
9255 #. type: Plain text
9256 #: build/C/man2/gettid.2:62
9257 msgid ""
9258 "B<gettid>()  is Linux-specific and should not be used in programs that are "
9259 "intended to be portable."
9260 msgstr ""
9261
9262 #.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
9263 #.  "gettid() should have a wrapper"
9264 #. type: Plain text
9265 #: build/C/man2/gettid.2:67
9266 msgid ""
9267 "Glibc does not provide a wrapper for this system call; call it using "
9268 "B<syscall>(2)."
9269 msgstr ""
9270
9271 #. type: Plain text
9272 #: build/C/man2/gettid.2:71
9273 msgid ""
9274 "The thread ID returned by this call is not the same thing as a POSIX thread "
9275 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
9276 msgstr ""
9277
9278 #.  .BR kcmp (2),
9279 #.  .BR move_pages (2),
9280 #.  .BR migrate_pages (2),
9281 #.  .BR process_vm_readv (2),
9282 #.  .BR ptrace (2),
9283 #. type: Plain text
9284 #: build/C/man2/gettid.2:90
9285 msgid ""
9286 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
9287 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
9288 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
9289 "B<tgkill>(2), B<timer_create>(2)"
9290 msgstr ""
9291
9292 #. type: TH
9293 #: build/C/man3/getumask.3:28
9294 #, no-wrap
9295 msgid "GETUMASK"
9296 msgstr ""
9297
9298 #. type: TH
9299 #: build/C/man3/getumask.3:28
9300 #, no-wrap
9301 msgid "2010-09-10"
9302 msgstr ""
9303
9304 #. type: Plain text
9305 #: build/C/man3/getumask.3:31
9306 msgid "getumask - get file creation mask"
9307 msgstr ""
9308
9309 #. type: Plain text
9310 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50 build/C/man2/umask.2:39 build/C/man2/vfork.2:33
9311 msgid "B<#include E<lt>sys/types.hE<gt>>"
9312 msgstr ""
9313
9314 #. type: Plain text
9315 #: build/C/man3/getumask.3:37 build/C/man2/umask.2:41
9316 msgid "B<#include E<lt>sys/stat.hE<gt>>"
9317 msgstr ""
9318
9319 #. type: Plain text
9320 #: build/C/man3/getumask.3:39
9321 msgid "B<mode_t getumask(void);>"
9322 msgstr ""
9323
9324 #. type: Plain text
9325 #: build/C/man3/getumask.3:42
9326 msgid "This function returns the current file creation mask.  It is equivalent to"
9327 msgstr ""
9328
9329 #. type: Plain text
9330 #: build/C/man3/getumask.3:51
9331 #, no-wrap
9332 msgid ""
9333 "mode_t getumask(void)\n"
9334 "{\n"
9335 "    mode_t mask = umask( 0 );\n"
9336 "    umask(mask);\n"
9337 "    return mask;\n"
9338 "}\n"
9339 msgstr ""
9340
9341 #. type: Plain text
9342 #: build/C/man3/getumask.3:58
9343 msgid ""
9344 "except that it is documented to be thread-safe (that is, shares a lock with "
9345 "the B<umask>(2)  library call)."
9346 msgstr ""
9347
9348 #. type: Plain text
9349 #: build/C/man3/getumask.3:60
9350 msgid "This is a vaporware GNU extension."
9351 msgstr ""
9352
9353 #. type: Plain text
9354 #: build/C/man3/getumask.3:63
9355 msgid ""
9356 "This function is documented but not implemented yet in glibc, as at version "
9357 "2.9."
9358 msgstr ""
9359
9360 #. type: Plain text
9361 #: build/C/man3/getumask.3:65
9362 msgid "B<umask>(2)"
9363 msgstr ""
9364
9365 #. type: TH
9366 #: build/C/man3/getusershell.3:30
9367 #, no-wrap
9368 msgid "GETUSERSHELL"
9369 msgstr ""
9370
9371 #. type: TH
9372 #: build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
9373 #, no-wrap
9374 msgid "2013-06-21"
9375 msgstr ""
9376
9377 #. type: Plain text
9378 #: build/C/man3/getusershell.3:33
9379 msgid "getusershell, setusershell, endusershell - get permitted user shells"
9380 msgstr ""
9381
9382 #. type: Plain text
9383 #: build/C/man3/getusershell.3:38
9384 #, no-wrap
9385 msgid "B<char *getusershell(void);>\n"
9386 msgstr ""
9387
9388 #. type: Plain text
9389 #: build/C/man3/getusershell.3:40
9390 #, no-wrap
9391 msgid "B<void setusershell(void);>\n"
9392 msgstr ""
9393
9394 #. type: Plain text
9395 #: build/C/man3/getusershell.3:42
9396 #, no-wrap
9397 msgid "B<void endusershell(void);>\n"
9398 msgstr ""
9399
9400 #. type: Plain text
9401 #: build/C/man3/getusershell.3:53
9402 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
9403 msgstr ""
9404
9405 #. type: Plain text
9406 #: build/C/man3/getusershell.3:75
9407 msgid ""
9408 "The B<getusershell>()  function returns the next line from the file "
9409 "I</etc/shells>, opening the file if necessary.  The line should contain the "
9410 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
9411 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
9412 "listed in the file."
9413 msgstr ""
9414
9415 #. type: Plain text
9416 #: build/C/man3/getusershell.3:80
9417 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
9418 msgstr ""
9419
9420 #. type: Plain text
9421 #: build/C/man3/getusershell.3:85
9422 msgid "The B<endusershell>()  function closes I</etc/shells>."
9423 msgstr ""
9424
9425 #. type: Plain text
9426 #: build/C/man3/getusershell.3:89
9427 msgid "The B<getusershell>()  function returns NULL on end-of-file."
9428 msgstr ""
9429
9430 #. type: Plain text
9431 #: build/C/man3/getusershell.3:92
9432 #, no-wrap
9433 msgid "/etc/shells\n"
9434 msgstr ""
9435
9436 #. type: Plain text
9437 #: build/C/man3/getusershell.3:101
9438 msgid ""
9439 "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions "
9440 "are not thread-safe."
9441 msgstr ""
9442
9443 #. type: Plain text
9444 #: build/C/man3/getusershell.3:103
9445 msgid "4.3BSD."
9446 msgstr ""
9447
9448 #. type: Plain text
9449 #: build/C/man3/getusershell.3:105
9450 msgid "B<shells>(5)"
9451 msgstr ""
9452
9453 #. type: TH
9454 #: build/C/man2/idle.2:32
9455 #, no-wrap
9456 msgid "IDLE"
9457 msgstr ""
9458
9459 #. type: TH
9460 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
9461 #, no-wrap
9462 msgid "2012-12-31"
9463 msgstr ""
9464
9465 #. type: Plain text
9466 #: build/C/man2/idle.2:35
9467 msgid "idle - make process 0 idle"
9468 msgstr ""
9469
9470 #. type: Plain text
9471 #: build/C/man2/idle.2:39
9472 msgid "B<int idle(void);>"
9473 msgstr ""
9474
9475 #. type: Plain text
9476 #: build/C/man2/idle.2:46
9477 msgid ""
9478 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
9479 "process's pages as swappable, lowers its priority, and enters the main "
9480 "scheduling loop.  B<idle>()  never returns."
9481 msgstr ""
9482
9483 #. type: Plain text
9484 #: build/C/man2/idle.2:52
9485 msgid ""
9486 "Only process 0 may call B<idle>().  Any user process, even a process with "
9487 "superuser permission, will receive B<EPERM>."
9488 msgstr ""
9489
9490 #. type: Plain text
9491 #: build/C/man2/idle.2:55
9492 msgid ""
9493 "B<idle>()  never returns for process 0, and always returns -1 for a user "
9494 "process."
9495 msgstr ""
9496
9497 #. type: Plain text
9498 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
9499 msgid "Always, for a user process."
9500 msgstr ""
9501
9502 #. type: Plain text
9503 #: build/C/man2/idle.2:61
9504 msgid "Since Linux 2.3.13, this system call does not exist anymore."
9505 msgstr ""
9506
9507 #. type: Plain text
9508 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
9509 msgid ""
9510 "This function is Linux-specific, and should not be used in programs intended "
9511 "to be portable."
9512 msgstr ""
9513
9514 #. type: TH
9515 #: build/C/man2/ioctl.2:41
9516 #, no-wrap
9517 msgid "IOCTL"
9518 msgstr ""
9519
9520 #. type: TH
9521 #: build/C/man2/ioctl.2:41
9522 #, no-wrap
9523 msgid "2013-11-08"
9524 msgstr ""
9525
9526 #. type: Plain text
9527 #: build/C/man2/ioctl.2:44
9528 msgid "ioctl - control device"
9529 msgstr ""
9530
9531 #. type: Plain text
9532 #: build/C/man2/ioctl.2:46
9533 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
9534 msgstr ""
9535
9536 #.  POSIX says 'request' is int, but glibc has the above
9537 #.  See https://bugzilla.kernel.org/show_bug.cgi?id=42705
9538 #. type: Plain text
9539 #: build/C/man2/ioctl.2:50
9540 msgid "B<int ioctl(int >I<d>B<, unsigned long >I<request>B<, ...);>"
9541 msgstr ""
9542
9543 #. type: Plain text
9544 #: build/C/man2/ioctl.2:61
9545 msgid ""
9546 "The B<ioctl>()  function manipulates the underlying device parameters of "
9547 "special files.  In particular, many operating characteristics of character "
9548 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
9549 "requests.  The argument I<d> must be an open file descriptor."
9550 msgstr ""
9551
9552 #. type: Plain text
9553 #: build/C/man2/ioctl.2:69
9554 msgid ""
9555 "The second argument is a device-dependent request code.  The third argument "
9556 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
9557 "the days before B<void *> was valid C), and will be so named for this "
9558 "discussion."
9559 msgstr ""
9560
9561 #. type: Plain text
9562 #: build/C/man2/ioctl.2:85
9563 msgid ""
9564 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
9565 "parameter or I<out> parameter, and the size of the argument I<argp> in "
9566 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
9567 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
9568 msgstr ""
9569
9570 #. type: Plain text
9571 #: build/C/man2/ioctl.2:94
9572 msgid ""
9573 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
9574 "return value as an output parameter and return a nonnegative value on "
9575 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9576 msgstr ""
9577
9578 #. type: Plain text
9579 #: build/C/man2/ioctl.2:99
9580 msgid "I<d> is not a valid descriptor."
9581 msgstr ""
9582
9583 #. type: Plain text
9584 #: build/C/man2/ioctl.2:103
9585 msgid "I<argp> references an inaccessible memory area."
9586 msgstr ""
9587
9588 #. type: Plain text
9589 #: build/C/man2/ioctl.2:109
9590 msgid "I<Request> or I<argp> is not valid."
9591 msgstr ""
9592
9593 #. type: Plain text
9594 #: build/C/man2/ioctl.2:113
9595 msgid "I<d> is not associated with a character special device."
9596 msgstr ""
9597
9598 #. type: Plain text
9599 #: build/C/man2/ioctl.2:119
9600 msgid ""
9601 "The specified request does not apply to the kind of object that the "
9602 "descriptor I<d> references."
9603 msgstr ""
9604
9605 #. type: Plain text
9606 #: build/C/man2/ioctl.2:134
9607 msgid ""
9608 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
9609 "according to the device driver in question (the call is used as a catch-all "
9610 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
9611 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
9612 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9613 msgstr ""
9614
9615 #. type: Plain text
9616 #: build/C/man2/ioctl.2:142
9617 msgid ""
9618 "In order to use this call, one needs an open file descriptor.  Often the "
9619 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
9620 "by giving it the B<O_NONBLOCK> flag."
9621 msgstr ""
9622
9623 #.  .BR mt (4),
9624 #. type: Plain text
9625 #: build/C/man2/ioctl.2:150
9626 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9627 msgstr ""
9628
9629 #. type: TH
9630 #: build/C/man2/ioctl_list.2:30
9631 #, no-wrap
9632 msgid "IOCTL_LIST"
9633 msgstr ""
9634
9635 #. type: TH
9636 #: build/C/man2/ioctl_list.2:30
9637 #, no-wrap
9638 msgid "2013-09-17"
9639 msgstr ""
9640
9641 #. type: Plain text
9642 #: build/C/man2/ioctl_list.2:33
9643 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9644 msgstr ""
9645
9646 #. type: Plain text
9647 #: build/C/man2/ioctl_list.2:40
9648 msgid ""
9649 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9650 "1.3.27.  It contains 421 ioctls from "
9651 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9652 "value, its name, and its argument type are given."
9653 msgstr ""
9654
9655 #. type: Plain text
9656 #: build/C/man2/ioctl_list.2:48
9657 msgid ""
9658 "An argument type of I<const struct foo\\ *> means the argument is input to "
9659 "the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If "
9660 "the kernel uses the argument for both input and output, this is marked with "
9661 "I<//\\ I-O>."
9662 msgstr ""
9663
9664 #. type: Plain text
9665 #: build/C/man2/ioctl_list.2:53
9666 msgid ""
9667 "Some ioctls take more arguments or return more values than a single "
9668 "structure.  These are marked I<//\\ MORE> and documented further in a "
9669 "separate section."
9670 msgstr ""
9671
9672 #. type: Plain text
9673 #: build/C/man2/ioctl_list.2:55
9674 msgid "This list is very incomplete."
9675 msgstr ""
9676
9677 #. type: SS
9678 #: build/C/man2/ioctl_list.2:55
9679 #, no-wrap
9680 msgid "ioctl structure"
9681 msgstr ""
9682
9683 #.  added two sections - aeb
9684 #. type: Plain text
9685 #: build/C/man2/ioctl_list.2:60
9686 msgid ""
9687 "Ioctl command values are 32-bit constants.  In principle these constants are "
9688 "completely arbitrary, but people have tried to build some structure into "
9689 "them."
9690 msgstr ""
9691
9692 #. type: Plain text
9693 #: build/C/man2/ioctl_list.2:79
9694 msgid ""
9695 "The old Linux situation was that of mostly 16-bit constants, where the last "
9696 "byte is a serial number, and the preceding byte(s) give a type indicating "
9697 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9698 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9699 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9700 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9701 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9702 "driver."
9703 msgstr ""
9704
9705 #. type: Plain text
9706 #: build/C/man2/ioctl_list.2:87
9707 msgid ""
9708 "Later (0.98p5) some more information was built into the number.  One has 2 "
9709 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9710 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9711 "(collecting the ioctls in groups for a common purpose or a common driver), "
9712 "and an 8-bit serial number."
9713 msgstr ""
9714
9715 #. type: Plain text
9716 #: build/C/man2/ioctl_list.2:98
9717 msgid ""
9718 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9719 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9720 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9721 "data type."
9722 msgstr ""
9723
9724 #. type: Plain text
9725 #: build/C/man2/ioctl_list.2:103
9726 msgid ""
9727 "Note that the size bits are very unreliable: in lots of cases they are "
9728 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9729 "because of legacy values."
9730 msgstr ""
9731
9732 #. type: Plain text
9733 #: build/C/man2/ioctl_list.2:107
9734 msgid ""
9735 "Thus, it seems that the new structure only gave disadvantages: it does not "
9736 "help in checking, but it causes varying values for the various "
9737 "architectures."
9738 msgstr ""
9739
9740 #. type: Plain text
9741 #: build/C/man2/ioctl_list.2:113
9742 msgid ""
9743 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9744 "stored via the argument.  However, quite a few ioctls in fact return an "
9745 "output value.  This is not yet indicated below."
9746 msgstr ""
9747
9748 #. type: Plain text
9749 #: build/C/man2/ioctl_list.2:115
9750 msgid "// Main table."
9751 msgstr ""
9752
9753 #. type: Plain text
9754 #: build/C/man2/ioctl_list.2:117
9755 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9756 msgstr ""
9757
9758 #. type: tbl table
9759 #: build/C/man2/ioctl_list.2:119
9760 #, no-wrap
9761 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9762 msgstr ""
9763
9764 #. type: tbl table
9765 #: build/C/man2/ioctl_list.2:120
9766 #, no-wrap
9767 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9768 msgstr ""
9769
9770 #. type: tbl table
9771 #: build/C/man2/ioctl_list.2:121
9772 #, no-wrap
9773 msgid "0x00008903\tFIOGETOWN\tint *\n"
9774 msgstr ""
9775
9776 #. type: tbl table
9777 #: build/C/man2/ioctl_list.2:122
9778 #, no-wrap
9779 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9780 msgstr ""
9781
9782 #. type: tbl table
9783 #: build/C/man2/ioctl_list.2:123
9784 #, no-wrap
9785 msgid "0x00008905\tSIOCATMAR\tint *\n"
9786 msgstr ""
9787
9788 #. type: tbl table
9789 #: build/C/man2/ioctl_list.2:124
9790 #, no-wrap
9791 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9792 msgstr ""
9793
9794 #. type: Plain text
9795 #: build/C/man2/ioctl_list.2:128
9796 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9797 msgstr ""
9798
9799 #. type: tbl table
9800 #: build/C/man2/ioctl_list.2:130
9801 #, no-wrap
9802 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9803 msgstr ""
9804
9805 #. type: tbl table
9806 #: build/C/man2/ioctl_list.2:131
9807 #, no-wrap
9808 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9809 msgstr ""
9810
9811 #. type: tbl table
9812 #: build/C/man2/ioctl_list.2:132
9813 #, no-wrap
9814 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9815 msgstr ""
9816
9817 #. type: tbl table
9818 #: build/C/man2/ioctl_list.2:133
9819 #, no-wrap
9820 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9821 msgstr ""
9822
9823 #. type: tbl table
9824 #: build/C/man2/ioctl_list.2:134
9825 #, no-wrap
9826 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9827 msgstr ""
9828
9829 #. type: tbl table
9830 #: build/C/man2/ioctl_list.2:135
9831 #, no-wrap
9832 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9833 msgstr ""
9834
9835 #. type: tbl table
9836 #: build/C/man2/ioctl_list.2:136
9837 #, no-wrap
9838 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9839 msgstr ""
9840
9841 #. type: tbl table
9842 #: build/C/man2/ioctl_list.2:137
9843 #, no-wrap
9844 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9845 msgstr ""
9846
9847 #. type: tbl table
9848 #: build/C/man2/ioctl_list.2:138
9849 #, no-wrap
9850 msgid "0x00005409\tTCSBRK\tint\n"
9851 msgstr ""
9852
9853 #. type: tbl table
9854 #: build/C/man2/ioctl_list.2:139
9855 #, no-wrap
9856 msgid "0x0000540A\tTCXONC\tint\n"
9857 msgstr ""
9858
9859 #. type: tbl table
9860 #: build/C/man2/ioctl_list.2:140
9861 #, no-wrap
9862 msgid "0x0000540B\tTCFLSH\tint\n"
9863 msgstr ""
9864
9865 #. type: tbl table
9866 #: build/C/man2/ioctl_list.2:141
9867 #, no-wrap
9868 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9869 msgstr ""
9870
9871 #. type: tbl table
9872 #: build/C/man2/ioctl_list.2:142
9873 #, no-wrap
9874 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9875 msgstr ""
9876
9877 #. type: tbl table
9878 #: build/C/man2/ioctl_list.2:143
9879 #, no-wrap
9880 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9881 msgstr ""
9882
9883 #. type: tbl table
9884 #: build/C/man2/ioctl_list.2:144
9885 #, no-wrap
9886 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9887 msgstr ""
9888
9889 #. type: tbl table
9890 #: build/C/man2/ioctl_list.2:145
9891 #, no-wrap
9892 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9893 msgstr ""
9894
9895 #. type: tbl table
9896 #: build/C/man2/ioctl_list.2:146
9897 #, no-wrap
9898 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9899 msgstr ""
9900
9901 #. type: tbl table
9902 #: build/C/man2/ioctl_list.2:147
9903 #, no-wrap
9904 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9905 msgstr ""
9906
9907 #. type: tbl table
9908 #: build/C/man2/ioctl_list.2:148
9909 #, no-wrap
9910 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9911 msgstr ""
9912
9913 #. type: tbl table
9914 #: build/C/man2/ioctl_list.2:149
9915 #, no-wrap
9916 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9917 msgstr ""
9918
9919 #. type: tbl table
9920 #: build/C/man2/ioctl_list.2:150
9921 #, no-wrap
9922 msgid "0x00005415\tTIOCMGET\tint *\n"
9923 msgstr ""
9924
9925 #. type: tbl table
9926 #: build/C/man2/ioctl_list.2:151
9927 #, no-wrap
9928 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9929 msgstr ""
9930
9931 #. type: tbl table
9932 #: build/C/man2/ioctl_list.2:152
9933 #, no-wrap
9934 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9935 msgstr ""
9936
9937 #. type: tbl table
9938 #: build/C/man2/ioctl_list.2:153
9939 #, no-wrap
9940 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9941 msgstr ""
9942
9943 #. type: tbl table
9944 #: build/C/man2/ioctl_list.2:154
9945 #, no-wrap
9946 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9947 msgstr ""
9948
9949 #. type: tbl table
9950 #: build/C/man2/ioctl_list.2:155
9951 #, no-wrap
9952 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9953 msgstr ""
9954
9955 #. type: tbl table
9956 #: build/C/man2/ioctl_list.2:156
9957 #, no-wrap
9958 msgid "0x0000541B\tFIONREAD\tint *\n"
9959 msgstr ""
9960
9961 #. type: tbl table
9962 #: build/C/man2/ioctl_list.2:157
9963 #, no-wrap
9964 msgid "0x0000541B\tTIOCINQ\tint *\n"
9965 msgstr ""
9966
9967 #. type: tbl table
9968 #: build/C/man2/ioctl_list.2:158
9969 #, no-wrap
9970 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9971 msgstr ""
9972
9973 #. type: tbl table
9974 #: build/C/man2/ioctl_list.2:159
9975 #, no-wrap
9976 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9977 msgstr ""
9978
9979 #. type: tbl table
9980 #: build/C/man2/ioctl_list.2:160
9981 #, no-wrap
9982 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9983 msgstr ""
9984
9985 #. type: tbl table
9986 #: build/C/man2/ioctl_list.2:161
9987 #, no-wrap
9988 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9989 msgstr ""
9990
9991 #. type: tbl table
9992 #: build/C/man2/ioctl_list.2:162
9993 #, no-wrap
9994 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9995 msgstr ""
9996
9997 #. type: tbl table
9998 #: build/C/man2/ioctl_list.2:163
9999 #, no-wrap
10000 msgid "0x00005421\tFIONBIO\tconst int *\n"
10001 msgstr ""
10002
10003 #. type: tbl table
10004 #: build/C/man2/ioctl_list.2:164
10005 #, no-wrap
10006 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
10007 msgstr ""
10008
10009 #. type: tbl table
10010 #: build/C/man2/ioctl_list.2:165
10011 #, no-wrap
10012 msgid "0x00005423\tTIOCSETD\tconst int *\n"
10013 msgstr ""
10014
10015 #. type: tbl table
10016 #: build/C/man2/ioctl_list.2:166
10017 #, no-wrap
10018 msgid "0x00005424\tTIOCGETD\tint *\n"
10019 msgstr ""
10020
10021 #. type: tbl table
10022 #: build/C/man2/ioctl_list.2:167
10023 #, no-wrap
10024 msgid "0x00005425\tTCSBRKP\tint\n"
10025 msgstr ""
10026
10027 #. type: tbl table
10028 #: build/C/man2/ioctl_list.2:168
10029 #, no-wrap
10030 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
10031 msgstr ""
10032
10033 #. type: tbl table
10034 #: build/C/man2/ioctl_list.2:169
10035 #, no-wrap
10036 msgid "0x00005450\tFIONCLEX\tvoid\n"
10037 msgstr ""
10038
10039 #. type: tbl table
10040 #: build/C/man2/ioctl_list.2:170
10041 #, no-wrap
10042 msgid "0x00005451\tFIOCLEX\tvoid\n"
10043 msgstr ""
10044
10045 #. type: tbl table
10046 #: build/C/man2/ioctl_list.2:171
10047 #, no-wrap
10048 msgid "0x00005452\tFIOASYNC\tconst int *\n"
10049 msgstr ""
10050
10051 #. type: tbl table
10052 #: build/C/man2/ioctl_list.2:172
10053 #, no-wrap
10054 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
10055 msgstr ""
10056
10057 #. type: tbl table
10058 #: build/C/man2/ioctl_list.2:173
10059 #, no-wrap
10060 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
10061 msgstr ""
10062
10063 #. type: tbl table
10064 #: build/C/man2/ioctl_list.2:174
10065 #, no-wrap
10066 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
10067 msgstr ""
10068
10069 #. type: tbl table
10070 #: build/C/man2/ioctl_list.2:175
10071 #, no-wrap
10072 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
10073 msgstr ""
10074
10075 #. type: tbl table
10076 #: build/C/man2/ioctl_list.2:176
10077 #, no-wrap
10078 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
10079 msgstr ""
10080
10081 #. type: tbl table
10082 #: build/C/man2/ioctl_list.2:177
10083 #, no-wrap
10084 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
10085 msgstr ""
10086
10087 #. type: tbl table
10088 #: build/C/man2/ioctl_list.2:178
10089 #, no-wrap
10090 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
10091 msgstr ""
10092
10093 #. type: tbl table
10094 #: build/C/man2/ioctl_list.2:185
10095 #, no-wrap
10096 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
10097 msgstr ""
10098
10099 #. type: tbl table
10100 #: build/C/man2/ioctl_list.2:186
10101 #, no-wrap
10102 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
10103 msgstr ""
10104
10105 #. type: Plain text
10106 #: build/C/man2/ioctl_list.2:190
10107 msgid "// E<lt>include/linux/ax25.hE<gt>"
10108 msgstr ""
10109
10110 #. type: tbl table
10111 #: build/C/man2/ioctl_list.2:192
10112 #, no-wrap
10113 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
10114 msgstr ""
10115
10116 #. type: tbl table
10117 #: build/C/man2/ioctl_list.2:193
10118 #, no-wrap
10119 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
10120 msgstr ""
10121
10122 #. type: tbl table
10123 #: build/C/man2/ioctl_list.2:194
10124 #, no-wrap
10125 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
10126 msgstr ""
10127
10128 #. type: tbl table
10129 #: build/C/man2/ioctl_list.2:195
10130 #, no-wrap
10131 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
10132 msgstr ""
10133
10134 #. type: tbl table
10135 #: build/C/man2/ioctl_list.2:196
10136 #, no-wrap
10137 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
10138 msgstr ""
10139
10140 #. type: tbl table
10141 #: build/C/man2/ioctl_list.2:197
10142 #, no-wrap
10143 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
10144 msgstr ""
10145
10146 #. type: tbl table
10147 #: build/C/man2/ioctl_list.2:201
10148 #, no-wrap
10149 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
10150 msgstr ""
10151
10152 #. type: Plain text
10153 #: build/C/man2/ioctl_list.2:205
10154 msgid "// E<lt>include/linux/cdk.hE<gt>"
10155 msgstr ""
10156
10157 #. type: tbl table
10158 #: build/C/man2/ioctl_list.2:207
10159 #, no-wrap
10160 msgid "0x00007314\tSTL_BINTR\tvoid\n"
10161 msgstr ""
10162
10163 #. type: tbl table
10164 #: build/C/man2/ioctl_list.2:208
10165 #, no-wrap
10166 msgid "0x00007315\tSTL_BSTART\tvoid\n"
10167 msgstr ""
10168
10169 #. type: tbl table
10170 #: build/C/man2/ioctl_list.2:209
10171 #, no-wrap
10172 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
10173 msgstr ""
10174
10175 #. type: tbl table
10176 #: build/C/man2/ioctl_list.2:210
10177 #, no-wrap
10178 msgid "0x00007317\tSTL_BRESET\tvoid\n"
10179 msgstr ""
10180
10181 #. type: Plain text
10182 #: build/C/man2/ioctl_list.2:214
10183 msgid "// E<lt>include/linux/cdrom.hE<gt>"
10184 msgstr ""
10185
10186 #. type: tbl table
10187 #: build/C/man2/ioctl_list.2:216
10188 #, no-wrap
10189 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
10190 msgstr ""
10191
10192 #. type: tbl table
10193 #: build/C/man2/ioctl_list.2:217
10194 #, no-wrap
10195 msgid "0x00005302\tCDROMRESUME\tvoid\n"
10196 msgstr ""
10197
10198 #. type: tbl table
10199 #: build/C/man2/ioctl_list.2:218
10200 #, no-wrap
10201 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
10202 msgstr ""
10203
10204 #. type: tbl table
10205 #: build/C/man2/ioctl_list.2:219
10206 #, no-wrap
10207 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
10208 msgstr ""
10209
10210 #. type: tbl table
10211 #: build/C/man2/ioctl_list.2:220
10212 #, no-wrap
10213 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
10214 msgstr ""
10215
10216 #. type: tbl table
10217 #: build/C/man2/ioctl_list.2:224
10218 #, no-wrap
10219 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
10220 msgstr ""
10221
10222 #. type: tbl table
10223 #: build/C/man2/ioctl_list.2:228
10224 #, no-wrap
10225 msgid "0x00005307\tCDROMSTOP\tvoid\n"
10226 msgstr ""
10227
10228 #. type: tbl table
10229 #: build/C/man2/ioctl_list.2:229
10230 #, no-wrap
10231 msgid "0x00005308\tCDROMSTART\tvoid\n"
10232 msgstr ""
10233
10234 #. type: tbl table
10235 #: build/C/man2/ioctl_list.2:230
10236 #, no-wrap
10237 msgid "0x00005309\tCDROMEJECT\tvoid\n"
10238 msgstr ""
10239
10240 #. type: tbl table
10241 #: build/C/man2/ioctl_list.2:231
10242 #, no-wrap
10243 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
10244 msgstr ""
10245
10246 #. type: tbl table
10247 #: build/C/man2/ioctl_list.2:232
10248 #, no-wrap
10249 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
10250 msgstr ""
10251
10252 #. type: tbl table
10253 #: build/C/man2/ioctl_list.2:233
10254 #, no-wrap
10255 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
10256 msgstr ""
10257
10258 #. type: tbl table
10259 #: build/C/man2/ioctl_list.2:234
10260 #, no-wrap
10261 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
10262 msgstr ""
10263
10264 #. type: tbl table
10265 #: build/C/man2/ioctl_list.2:235
10266 #, no-wrap
10267 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
10268 msgstr ""
10269
10270 #. type: tbl table
10271 #: build/C/man2/ioctl_list.2:236
10272 #, no-wrap
10273 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
10274 msgstr ""
10275
10276 #. type: tbl table
10277 #: build/C/man2/ioctl_list.2:240
10278 #, no-wrap
10279 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
10280 msgstr ""
10281
10282 #. type: tbl table
10283 #: build/C/man2/ioctl_list.2:244
10284 #, no-wrap
10285 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
10286 msgstr ""
10287
10288 #. type: tbl table
10289 #: build/C/man2/ioctl_list.2:245
10290 #, no-wrap
10291 msgid "0x00005312\tCDROMRESET\tvoid\n"
10292 msgstr ""
10293
10294 #. type: tbl table
10295 #: build/C/man2/ioctl_list.2:246
10296 #, no-wrap
10297 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
10298 msgstr ""
10299
10300 #. type: tbl table
10301 #: build/C/man2/ioctl_list.2:247
10302 #, no-wrap
10303 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
10304 msgstr ""
10305
10306 #. type: tbl table
10307 #: build/C/man2/ioctl_list.2:248
10308 #, no-wrap
10309 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
10310 msgstr ""
10311
10312 #. type: tbl table
10313 #: build/C/man2/ioctl_list.2:249
10314 #, no-wrap
10315 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
10316 msgstr ""
10317
10318 #. type: Plain text
10319 #: build/C/man2/ioctl_list.2:253
10320 msgid "// E<lt>include/linux/cm206.hE<gt>"
10321 msgstr ""
10322
10323 #. type: tbl table
10324 #: build/C/man2/ioctl_list.2:255
10325 #, no-wrap
10326 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
10327 msgstr ""
10328
10329 #. type: tbl table
10330 #: build/C/man2/ioctl_list.2:256
10331 #, no-wrap
10332 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
10333 msgstr ""
10334
10335 #. type: Plain text
10336 #: build/C/man2/ioctl_list.2:260
10337 msgid "// E<lt>include/linux/cyclades.hE<gt>"
10338 msgstr ""
10339
10340 #. type: tbl table
10341 #: build/C/man2/ioctl_list.2:262
10342 #, no-wrap
10343 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
10344 msgstr ""
10345
10346 #. type: tbl table
10347 #: build/C/man2/ioctl_list.2:263
10348 #, no-wrap
10349 msgid "0x00435902\tCYGETTHRESH\tint *\n"
10350 msgstr ""
10351
10352 #. type: tbl table
10353 #: build/C/man2/ioctl_list.2:264
10354 #, no-wrap
10355 msgid "0x00435903\tCYSETTHRESH\tint\n"
10356 msgstr ""
10357
10358 #. type: tbl table
10359 #: build/C/man2/ioctl_list.2:265
10360 #, no-wrap
10361 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
10362 msgstr ""
10363
10364 #. type: tbl table
10365 #: build/C/man2/ioctl_list.2:266
10366 #, no-wrap
10367 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
10368 msgstr ""
10369
10370 #. type: tbl table
10371 #: build/C/man2/ioctl_list.2:267
10372 #, no-wrap
10373 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
10374 msgstr ""
10375
10376 #. type: tbl table
10377 #: build/C/man2/ioctl_list.2:268
10378 #, no-wrap
10379 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
10380 msgstr ""
10381
10382 #. type: tbl table
10383 #: build/C/man2/ioctl_list.2:269
10384 #, no-wrap
10385 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
10386 msgstr ""
10387
10388 #. type: tbl table
10389 #: build/C/man2/ioctl_list.2:270
10390 #, no-wrap
10391 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
10392 msgstr ""
10393
10394 #. type: Plain text
10395 #: build/C/man2/ioctl_list.2:274
10396 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
10397 msgstr ""
10398
10399 #. type: tbl table
10400 #: build/C/man2/ioctl_list.2:276
10401 #, no-wrap
10402 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
10403 msgstr ""
10404
10405 #. type: tbl table
10406 #: build/C/man2/ioctl_list.2:277
10407 #, no-wrap
10408 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
10409 msgstr ""
10410
10411 #. type: tbl table
10412 #: build/C/man2/ioctl_list.2:278
10413 #, no-wrap
10414 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
10415 msgstr ""
10416
10417 #. type: tbl table
10418 #: build/C/man2/ioctl_list.2:279
10419 #, no-wrap
10420 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
10421 msgstr ""
10422
10423 #. type: Plain text
10424 #: build/C/man2/ioctl_list.2:283
10425 msgid "// E<lt>include/linux/fd.hE<gt>"
10426 msgstr ""
10427
10428 #. type: tbl table
10429 #: build/C/man2/ioctl_list.2:285
10430 #, no-wrap
10431 msgid "0x00000000\tFDCLRPRM\tvoid\n"
10432 msgstr ""
10433
10434 #. type: tbl table
10435 #: build/C/man2/ioctl_list.2:286
10436 #, no-wrap
10437 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
10438 msgstr ""
10439
10440 #. type: tbl table
10441 #: build/C/man2/ioctl_list.2:287
10442 #, no-wrap
10443 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
10444 msgstr ""
10445
10446 #. type: tbl table
10447 #: build/C/man2/ioctl_list.2:288
10448 #, no-wrap
10449 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
10450 msgstr ""
10451
10452 #. type: tbl table
10453 #: build/C/man2/ioctl_list.2:289
10454 #, no-wrap
10455 msgid "0x00000004\tFDMSGON\tvoid\n"
10456 msgstr ""
10457
10458 #. type: tbl table
10459 #: build/C/man2/ioctl_list.2:290
10460 #, no-wrap
10461 msgid "0x00000005\tFDMSGOFF\tvoid\n"
10462 msgstr ""
10463
10464 #. type: tbl table
10465 #: build/C/man2/ioctl_list.2:291
10466 #, no-wrap
10467 msgid "0x00000006\tFDFMTBEG\tvoid\n"
10468 msgstr ""
10469
10470 #. type: tbl table
10471 #: build/C/man2/ioctl_list.2:292
10472 #, no-wrap
10473 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
10474 msgstr ""
10475
10476 #. type: tbl table
10477 #: build/C/man2/ioctl_list.2:293
10478 #, no-wrap
10479 msgid "0x00000008\tFDFMTEND\tvoid\n"
10480 msgstr ""
10481
10482 #. type: tbl table
10483 #: build/C/man2/ioctl_list.2:294
10484 #, no-wrap
10485 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
10486 msgstr ""
10487
10488 #. type: tbl table
10489 #: build/C/man2/ioctl_list.2:295
10490 #, no-wrap
10491 msgid "0x0000000B\tFDFLUSH\tvoid\n"
10492 msgstr ""
10493
10494 #. type: tbl table
10495 #: build/C/man2/ioctl_list.2:296
10496 #, no-wrap
10497 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10498 msgstr ""
10499
10500 #. type: tbl table
10501 #: build/C/man2/ioctl_list.2:297
10502 #, no-wrap
10503 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10504 msgstr ""
10505
10506 #. type: tbl table
10507 #: build/C/man2/ioctl_list.2:298
10508 #, no-wrap
10509 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10510 msgstr ""
10511
10512 #. type: tbl table
10513 #: build/C/man2/ioctl_list.2:299
10514 #, no-wrap
10515 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10516 msgstr ""
10517
10518 #. type: tbl table
10519 #: build/C/man2/ioctl_list.2:300
10520 #, no-wrap
10521 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10522 msgstr ""
10523
10524 #. type: tbl table
10525 #: build/C/man2/ioctl_list.2:301
10526 #, no-wrap
10527 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10528 msgstr ""
10529
10530 #. type: tbl table
10531 #: build/C/man2/ioctl_list.2:302
10532 #, no-wrap
10533 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10534 msgstr ""
10535
10536 #. type: tbl table
10537 #: build/C/man2/ioctl_list.2:303
10538 #, no-wrap
10539 msgid "0x00000018\tFDRESET\tint\n"
10540 msgstr ""
10541
10542 #. type: tbl table
10543 #: build/C/man2/ioctl_list.2:304
10544 #, no-wrap
10545 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10546 msgstr ""
10547
10548 #. type: tbl table
10549 #: build/C/man2/ioctl_list.2:305
10550 #, no-wrap
10551 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10552 msgstr ""
10553
10554 #. type: tbl table
10555 #: build/C/man2/ioctl_list.2:306
10556 #, no-wrap
10557 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10558 msgstr ""
10559
10560 #. type: tbl table
10561 #: build/C/man2/ioctl_list.2:310
10562 #, no-wrap
10563 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10564 msgstr ""
10565
10566 #. type: tbl table
10567 #: build/C/man2/ioctl_list.2:311
10568 #, no-wrap
10569 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10570 msgstr ""
10571
10572 #. type: Plain text
10573 #: build/C/man2/ioctl_list.2:315
10574 msgid "// E<lt>include/linux/fs.hE<gt>"
10575 msgstr ""
10576
10577 #. type: tbl table
10578 #: build/C/man2/ioctl_list.2:317
10579 #, no-wrap
10580 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10581 msgstr ""
10582
10583 #. type: tbl table
10584 #: build/C/man2/ioctl_list.2:318
10585 #, no-wrap
10586 msgid "0x0000125E\tBLKROGET\tint *\n"
10587 msgstr ""
10588
10589 #. type: tbl table
10590 #: build/C/man2/ioctl_list.2:319
10591 #, no-wrap
10592 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10593 msgstr ""
10594
10595 #. type: tbl table
10596 #: build/C/man2/ioctl_list.2:320
10597 #, no-wrap
10598 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10599 msgstr ""
10600
10601 #. type: tbl table
10602 #: build/C/man2/ioctl_list.2:321
10603 #, no-wrap
10604 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10605 msgstr ""
10606
10607 #. type: tbl table
10608 #: build/C/man2/ioctl_list.2:322
10609 #, no-wrap
10610 msgid "0x00001262\tBLKRASET\tint\n"
10611 msgstr ""
10612
10613 #. type: tbl table
10614 #: build/C/man2/ioctl_list.2:323
10615 #, no-wrap
10616 msgid "0x00001263\tBLKRAGET\tint *\n"
10617 msgstr ""
10618
10619 #. type: tbl table
10620 #: build/C/man2/ioctl_list.2:324
10621 #, no-wrap
10622 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10623 msgstr ""
10624
10625 #. type: tbl table
10626 #: build/C/man2/ioctl_list.2:325
10627 #, no-wrap
10628 msgid "0x00000002\tFIGETBSZ\tint *\n"
10629 msgstr ""
10630
10631 #. type: Plain text
10632 #: build/C/man2/ioctl_list.2:329
10633 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10634 msgstr ""
10635
10636 #. type: tbl table
10637 #: build/C/man2/ioctl_list.2:331
10638 #, no-wrap
10639 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10640 msgstr ""
10641
10642 #. type: tbl table
10643 #: build/C/man2/ioctl_list.2:332
10644 #, no-wrap
10645 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10646 msgstr ""
10647
10648 #. type: tbl table
10649 #: build/C/man2/ioctl_list.2:333
10650 #, no-wrap
10651 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10652 msgstr ""
10653
10654 #. type: tbl table
10655 #: build/C/man2/ioctl_list.2:334
10656 #, no-wrap
10657 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10658 msgstr ""
10659
10660 #. type: tbl table
10661 #: build/C/man2/ioctl_list.2:335
10662 #, no-wrap
10663 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10664 msgstr ""
10665
10666 #. type: tbl table
10667 #: build/C/man2/ioctl_list.2:336
10668 #, no-wrap
10669 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10670 msgstr ""
10671
10672 #. type: tbl table
10673 #: build/C/man2/ioctl_list.2:337
10674 #, no-wrap
10675 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10676 msgstr ""
10677
10678 #. type: tbl table
10679 #: build/C/man2/ioctl_list.2:338
10680 #, no-wrap
10681 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10682 msgstr ""
10683
10684 #. type: tbl table
10685 #: build/C/man2/ioctl_list.2:339
10686 #, no-wrap
10687 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10688 msgstr ""
10689
10690 #. type: tbl table
10691 #: build/C/man2/ioctl_list.2:340
10692 #, no-wrap
10693 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10694 msgstr ""
10695
10696 #. type: tbl table
10697 #: build/C/man2/ioctl_list.2:341
10698 #, no-wrap
10699 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10700 msgstr ""
10701
10702 #. type: tbl table
10703 #: build/C/man2/ioctl_list.2:342
10704 #, no-wrap
10705 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10706 msgstr ""
10707
10708 #. type: tbl table
10709 #: build/C/man2/ioctl_list.2:343
10710 #, no-wrap
10711 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10712 msgstr ""
10713
10714 #. type: tbl table
10715 #: build/C/man2/ioctl_list.2:344
10716 #, no-wrap
10717 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10718 msgstr ""
10719
10720 #. type: tbl table
10721 #: build/C/man2/ioctl_list.2:345
10722 #, no-wrap
10723 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10724 msgstr ""
10725
10726 #. type: Plain text
10727 #: build/C/man2/ioctl_list.2:349
10728 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10729 msgstr ""
10730
10731 #. type: tbl table
10732 #: build/C/man2/ioctl_list.2:351
10733 #, no-wrap
10734 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10735 msgstr ""
10736
10737 #. type: tbl table
10738 #: build/C/man2/ioctl_list.2:352
10739 #, no-wrap
10740 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10741 msgstr ""
10742
10743 #. type: tbl table
10744 #: build/C/man2/ioctl_list.2:353
10745 #, no-wrap
10746 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10747 msgstr ""
10748
10749 #. type: tbl table
10750 #: build/C/man2/ioctl_list.2:354
10751 #, no-wrap
10752 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10753 msgstr ""
10754
10755 #. type: tbl table
10756 #: build/C/man2/ioctl_list.2:355
10757 #, no-wrap
10758 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10759 msgstr ""
10760
10761 #. type: tbl table
10762 #: build/C/man2/ioctl_list.2:356
10763 #, no-wrap
10764 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10765 msgstr ""
10766
10767 #. type: Plain text
10768 #: build/C/man2/ioctl_list.2:360
10769 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10770 msgstr ""
10771
10772 #. type: tbl table
10773 #: build/C/man2/ioctl_list.2:362
10774 #, no-wrap
10775 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10776 msgstr ""
10777
10778 #. type: Plain text
10779 #: build/C/man2/ioctl_list.2:366
10780 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10781 msgstr ""
10782
10783 #. type: tbl table
10784 #: build/C/man2/ioctl_list.2:368
10785 #, no-wrap
10786 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10787 msgstr ""
10788
10789 #. type: tbl table
10790 #: build/C/man2/ioctl_list.2:369
10791 #, no-wrap
10792 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10793 msgstr ""
10794
10795 #. type: tbl table
10796 #: build/C/man2/ioctl_list.2:370
10797 #, no-wrap
10798 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10799 msgstr ""
10800
10801 #. type: tbl table
10802 #: build/C/man2/ioctl_list.2:371
10803 #, no-wrap
10804 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10805 msgstr ""
10806
10807 #. type: tbl table
10808 #: build/C/man2/ioctl_list.2:372
10809 #, no-wrap
10810 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10811 msgstr ""
10812
10813 #. type: tbl table
10814 #: build/C/man2/ioctl_list.2:373
10815 #, no-wrap
10816 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10817 msgstr ""
10818
10819 #. type: tbl table
10820 #: build/C/man2/ioctl_list.2:374
10821 #, no-wrap
10822 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10823 msgstr ""
10824
10825 #. type: tbl table
10826 #: build/C/man2/ioctl_list.2:375
10827 #, no-wrap
10828 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10829 msgstr ""
10830
10831 #. type: tbl table
10832 #: build/C/man2/ioctl_list.2:376
10833 #, no-wrap
10834 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10835 msgstr ""
10836
10837 #. type: tbl table
10838 #: build/C/man2/ioctl_list.2:377
10839 #, no-wrap
10840 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10841 msgstr ""
10842
10843 #. type: tbl table
10844 #: build/C/man2/ioctl_list.2:378
10845 #, no-wrap
10846 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10847 msgstr ""
10848
10849 #. type: tbl table
10850 #: build/C/man2/ioctl_list.2:379
10851 #, no-wrap
10852 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10853 msgstr ""
10854
10855 #. type: tbl table
10856 #: build/C/man2/ioctl_list.2:380
10857 #, no-wrap
10858 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10859 msgstr ""
10860
10861 #. type: tbl table
10862 #: build/C/man2/ioctl_list.2:381
10863 #, no-wrap
10864 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10865 msgstr ""
10866
10867 #. type: tbl table
10868 #: build/C/man2/ioctl_list.2:382
10869 #, no-wrap
10870 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10871 msgstr ""
10872
10873 #. type: Plain text
10874 #: build/C/man2/ioctl_list.2:386
10875 msgid "// E<lt>include/linux/ipx.hE<gt>"
10876 msgstr ""
10877
10878 #. type: tbl table
10879 #: build/C/man2/ioctl_list.2:388
10880 #, no-wrap
10881 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10882 msgstr ""
10883
10884 #. type: tbl table
10885 #: build/C/man2/ioctl_list.2:389
10886 #, no-wrap
10887 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10888 msgstr ""
10889
10890 #. type: tbl table
10891 #: build/C/man2/ioctl_list.2:390
10892 #, no-wrap
10893 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10894 msgstr ""
10895
10896 #. type: Plain text
10897 #: build/C/man2/ioctl_list.2:394
10898 msgid "// E<lt>include/linux/kd.hE<gt>"
10899 msgstr ""
10900
10901 #. type: tbl table
10902 #: build/C/man2/ioctl_list.2:396
10903 #, no-wrap
10904 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10905 msgstr ""
10906
10907 #. type: tbl table
10908 #: build/C/man2/ioctl_list.2:397
10909 #, no-wrap
10910 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10911 msgstr ""
10912
10913 #. type: tbl table
10914 #: build/C/man2/ioctl_list.2:401
10915 #, no-wrap
10916 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10917 msgstr ""
10918
10919 #. type: tbl table
10920 #: build/C/man2/ioctl_list.2:402
10921 #, no-wrap
10922 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10923 msgstr ""
10924
10925 #. type: tbl table
10926 #: build/C/man2/ioctl_list.2:406
10927 #, no-wrap
10928 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10929 msgstr ""
10930
10931 #. type: tbl table
10932 #: build/C/man2/ioctl_list.2:407
10933 #, no-wrap
10934 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10935 msgstr ""
10936
10937 #. type: tbl table
10938 #: build/C/man2/ioctl_list.2:411
10939 #, no-wrap
10940 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10941 msgstr ""
10942
10943 #. type: tbl table
10944 #: build/C/man2/ioctl_list.2:412
10945 #, no-wrap
10946 msgid "0x00004B30\tKDMKTONE\tint\n"
10947 msgstr ""
10948
10949 #. type: tbl table
10950 #: build/C/man2/ioctl_list.2:413
10951 #, no-wrap
10952 msgid "0x00004B31\tKDGETLED\tchar *\n"
10953 msgstr ""
10954
10955 #. type: tbl table
10956 #: build/C/man2/ioctl_list.2:414
10957 #, no-wrap
10958 msgid "0x00004B32\tKDSETLED\tint\n"
10959 msgstr ""
10960
10961 #. type: tbl table
10962 #: build/C/man2/ioctl_list.2:415
10963 #, no-wrap
10964 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10965 msgstr ""
10966
10967 #. type: tbl table
10968 #: build/C/man2/ioctl_list.2:416
10969 #, no-wrap
10970 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10971 msgstr ""
10972
10973 #. type: tbl table
10974 #: build/C/man2/ioctl_list.2:417
10975 #, no-wrap
10976 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10977 msgstr ""
10978
10979 #. type: tbl table
10980 #: build/C/man2/ioctl_list.2:418
10981 #, no-wrap
10982 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10983 msgstr ""
10984
10985 #. type: tbl table
10986 #: build/C/man2/ioctl_list.2:419
10987 #, no-wrap
10988 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10989 msgstr ""
10990
10991 #. type: tbl table
10992 #: build/C/man2/ioctl_list.2:420
10993 #, no-wrap
10994 msgid "0x00004B3A\tKDSETMODE\tint\n"
10995 msgstr ""
10996
10997 #. type: tbl table
10998 #: build/C/man2/ioctl_list.2:421
10999 #, no-wrap
11000 msgid "0x00004B3B\tKDGETMODE\tint *\n"
11001 msgstr ""
11002
11003 #. type: tbl table
11004 #: build/C/man2/ioctl_list.2:422
11005 #, no-wrap
11006 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
11007 msgstr ""
11008
11009 #. type: tbl table
11010 #: build/C/man2/ioctl_list.2:423
11011 #, no-wrap
11012 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
11013 msgstr ""
11014
11015 #. type: tbl table
11016 #: build/C/man2/ioctl_list.2:424
11017 #, no-wrap
11018 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
11019 msgstr ""
11020
11021 #. type: tbl table
11022 #: build/C/man2/ioctl_list.2:428
11023 #, no-wrap
11024 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
11025 msgstr ""
11026
11027 #. type: tbl table
11028 #: build/C/man2/ioctl_list.2:429
11029 #, no-wrap
11030 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
11031 msgstr ""
11032
11033 #. type: tbl table
11034 #: build/C/man2/ioctl_list.2:430
11035 #, no-wrap
11036 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
11037 msgstr ""
11038
11039 #. type: tbl table
11040 #: build/C/man2/ioctl_list.2:434
11041 #, no-wrap
11042 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
11043 msgstr ""
11044
11045 #. type: tbl table
11046 #: build/C/man2/ioctl_list.2:435
11047 #, no-wrap
11048 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
11049 msgstr ""
11050
11051 #. type: tbl table
11052 #: build/C/man2/ioctl_list.2:436
11053 #, no-wrap
11054 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
11055 msgstr ""
11056
11057 #. type: tbl table
11058 #: build/C/man2/ioctl_list.2:437
11059 #, no-wrap
11060 msgid "0x00004B44\tKDGKBMODE\tint *\n"
11061 msgstr ""
11062
11063 #. type: tbl table
11064 #: build/C/man2/ioctl_list.2:438
11065 #, no-wrap
11066 msgid "0x00004B45\tKDSKBMODE\tint\n"
11067 msgstr ""
11068
11069 #. type: tbl table
11070 #: build/C/man2/ioctl_list.2:439
11071 #, no-wrap
11072 msgid "0x00004B62\tKDGKBMETA\tint *\n"
11073 msgstr ""
11074
11075 #. type: tbl table
11076 #: build/C/man2/ioctl_list.2:440
11077 #, no-wrap
11078 msgid "0x00004B63\tKDSKBMETA\tint\n"
11079 msgstr ""
11080
11081 #. type: tbl table
11082 #: build/C/man2/ioctl_list.2:441
11083 #, no-wrap
11084 msgid "0x00004B64\tKDGKBLED\tint *\n"
11085 msgstr ""
11086
11087 #. type: tbl table
11088 #: build/C/man2/ioctl_list.2:442
11089 #, no-wrap
11090 msgid "0x00004B65\tKDSKBLED\tint\n"
11091 msgstr ""
11092
11093 #. type: tbl table
11094 #: build/C/man2/ioctl_list.2:443
11095 #, no-wrap
11096 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
11097 msgstr ""
11098
11099 #. type: tbl table
11100 #: build/C/man2/ioctl_list.2:444
11101 #, no-wrap
11102 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
11103 msgstr ""
11104
11105 #. type: tbl table
11106 #: build/C/man2/ioctl_list.2:445
11107 #, no-wrap
11108 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
11109 msgstr ""
11110
11111 #. type: tbl table
11112 #: build/C/man2/ioctl_list.2:446
11113 #, no-wrap
11114 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
11115 msgstr ""
11116
11117 #. type: tbl table
11118 #: build/C/man2/ioctl_list.2:447
11119 #, no-wrap
11120 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
11121 msgstr ""
11122
11123 #. type: tbl table
11124 #: build/C/man2/ioctl_list.2:448
11125 #, no-wrap
11126 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
11127 msgstr ""
11128
11129 #. type: tbl table
11130 #: build/C/man2/ioctl_list.2:449
11131 #, no-wrap
11132 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
11133 msgstr ""
11134
11135 #. type: tbl table
11136 #: build/C/man2/ioctl_list.2:450
11137 #, no-wrap
11138 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
11139 msgstr ""
11140
11141 #. type: tbl table
11142 #: build/C/man2/ioctl_list.2:451
11143 #, no-wrap
11144 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
11145 msgstr ""
11146
11147 #. type: Plain text
11148 #: build/C/man2/ioctl_list.2:455
11149 msgid "// E<lt>include/linux/lp.hE<gt>"
11150 msgstr ""
11151
11152 #. type: tbl table
11153 #: build/C/man2/ioctl_list.2:457
11154 #, no-wrap
11155 msgid "0x00000601\tLPCHAR\tint\n"
11156 msgstr ""
11157
11158 #. type: tbl table
11159 #: build/C/man2/ioctl_list.2:458
11160 #, no-wrap
11161 msgid "0x00000602\tLPTIME\tint\n"
11162 msgstr ""
11163
11164 #. type: tbl table
11165 #: build/C/man2/ioctl_list.2:459
11166 #, no-wrap
11167 msgid "0x00000604\tLPABORT\tint\n"
11168 msgstr ""
11169
11170 #. type: tbl table
11171 #: build/C/man2/ioctl_list.2:460
11172 #, no-wrap
11173 msgid "0x00000605\tLPSETIRQ\tint\n"
11174 msgstr ""
11175
11176 #. type: tbl table
11177 #: build/C/man2/ioctl_list.2:461
11178 #, no-wrap
11179 msgid "0x00000606\tLPGETIRQ\tint *\n"
11180 msgstr ""
11181
11182 #. type: tbl table
11183 #: build/C/man2/ioctl_list.2:462
11184 #, no-wrap
11185 msgid "0x00000608\tLPWAIT\tint\n"
11186 msgstr ""
11187
11188 #. type: tbl table
11189 #: build/C/man2/ioctl_list.2:463
11190 #, no-wrap
11191 msgid "0x00000609\tLPCAREFUL\tint\n"
11192 msgstr ""
11193
11194 #. type: tbl table
11195 #: build/C/man2/ioctl_list.2:464
11196 #, no-wrap
11197 msgid "0x0000060A\tLPABORTOPEN\tint\n"
11198 msgstr ""
11199
11200 #. type: tbl table
11201 #: build/C/man2/ioctl_list.2:465
11202 #, no-wrap
11203 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
11204 msgstr ""
11205
11206 #. type: tbl table
11207 #: build/C/man2/ioctl_list.2:466
11208 #, no-wrap
11209 msgid "0x0000060C\tLPRESET\tvoid\n"
11210 msgstr ""
11211
11212 #. type: tbl table
11213 #: build/C/man2/ioctl_list.2:467
11214 #, no-wrap
11215 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
11216 msgstr ""
11217
11218 #. type: Plain text
11219 #: build/C/man2/ioctl_list.2:471
11220 msgid "// E<lt>include/linux/mroute.hE<gt>"
11221 msgstr ""
11222
11223 #. type: tbl table
11224 #: build/C/man2/ioctl_list.2:473
11225 #, no-wrap
11226 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
11227 msgstr ""
11228
11229 #. type: tbl table
11230 #: build/C/man2/ioctl_list.2:474
11231 #, no-wrap
11232 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
11233 msgstr ""
11234
11235 #. type: Plain text
11236 #: build/C/man2/ioctl_list.2:478
11237 msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
11238 msgstr ""
11239
11240 #. type: tbl table
11241 #: build/C/man2/ioctl_list.2:480
11242 #, no-wrap
11243 msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
11244 msgstr ""
11245
11246 #. type: tbl table
11247 #: build/C/man2/ioctl_list.2:481
11248 #, no-wrap
11249 msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
11250 msgstr ""
11251
11252 #. type: tbl table
11253 #: build/C/man2/ioctl_list.2:482
11254 #, no-wrap
11255 msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
11256 msgstr ""
11257
11258 #. type: tbl table
11259 #: build/C/man2/ioctl_list.2:483
11260 #, no-wrap
11261 msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
11262 msgstr ""
11263
11264 #. type: Plain text
11265 #: build/C/man2/ioctl_list.2:487
11266 msgid "// E<lt>include/linux/mtio.hE<gt>"
11267 msgstr ""
11268
11269 #. type: tbl table
11270 #: build/C/man2/ioctl_list.2:489
11271 #, no-wrap
11272 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
11273 msgstr ""
11274
11275 #. type: tbl table
11276 #: build/C/man2/ioctl_list.2:490
11277 #, no-wrap
11278 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
11279 msgstr ""
11280
11281 #. type: tbl table
11282 #: build/C/man2/ioctl_list.2:491
11283 #, no-wrap
11284 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
11285 msgstr ""
11286
11287 #. type: tbl table
11288 #: build/C/man2/ioctl_list.2:492
11289 #, no-wrap
11290 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
11291 msgstr ""
11292
11293 #. type: tbl table
11294 #: build/C/man2/ioctl_list.2:493
11295 #, no-wrap
11296 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
11297 msgstr ""
11298
11299 #. type: Plain text
11300 #: build/C/man2/ioctl_list.2:497
11301 msgid "// E<lt>include/linux/netrom.hE<gt>"
11302 msgstr ""
11303
11304 #. type: tbl table
11305 #: build/C/man2/ioctl_list.2:499
11306 #, no-wrap
11307 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
11308 msgstr ""
11309
11310 #. type: tbl table
11311 #: build/C/man2/ioctl_list.2:500
11312 #, no-wrap
11313 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
11314 msgstr ""
11315
11316 #. type: tbl table
11317 #: build/C/man2/ioctl_list.2:501
11318 #, no-wrap
11319 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
11320 msgstr ""
11321
11322 #. type: tbl table
11323 #: build/C/man2/ioctl_list.2:502
11324 #, no-wrap
11325 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
11326 msgstr ""
11327
11328 #. type: Plain text
11329 #: build/C/man2/ioctl_list.2:506
11330 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
11331 msgstr ""
11332
11333 #. type: tbl table
11334 #: build/C/man2/ioctl_list.2:508
11335 #, no-wrap
11336 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
11337 msgstr ""
11338
11339 #. type: tbl table
11340 #: build/C/man2/ioctl_list.2:509
11341 #, no-wrap
11342 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
11343 msgstr ""
11344
11345 #. type: Plain text
11346 #: build/C/man2/ioctl_list.2:513
11347 msgid "// E<lt>include/linux/scc.hE<gt>"
11348 msgstr ""
11349
11350 #. type: tbl table
11351 #: build/C/man2/ioctl_list.2:515
11352 #, no-wrap
11353 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
11354 msgstr ""
11355
11356 #. type: tbl table
11357 #: build/C/man2/ioctl_list.2:516
11358 #, no-wrap
11359 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
11360 msgstr ""
11361
11362 #. type: tbl table
11363 #: build/C/man2/ioctl_list.2:517
11364 #, no-wrap
11365 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
11366 msgstr ""
11367
11368 #. type: tbl table
11369 #: build/C/man2/ioctl_list.2:518
11370 #, no-wrap
11371 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
11372 msgstr ""
11373
11374 #. type: tbl table
11375 #: build/C/man2/ioctl_list.2:519
11376 #, no-wrap
11377 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
11378 msgstr ""
11379
11380 #. type: Plain text
11381 #: build/C/man2/ioctl_list.2:523
11382 msgid "// E<lt>include/linux/scsi.hE<gt>"
11383 msgstr ""
11384
11385 #. type: tbl table
11386 #: build/C/man2/ioctl_list.2:525
11387 #, no-wrap
11388 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
11389 msgstr ""
11390
11391 #. type: tbl table
11392 #: build/C/man2/ioctl_list.2:526
11393 #, no-wrap
11394 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
11395 msgstr ""
11396
11397 #. type: tbl table
11398 #: build/C/man2/ioctl_list.2:527
11399 #, no-wrap
11400 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
11401 msgstr ""
11402
11403 #. type: tbl table
11404 #: build/C/man2/ioctl_list.2:531
11405 #, no-wrap
11406 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
11407 msgstr ""
11408
11409 #. type: Plain text
11410 #: build/C/man2/ioctl_list.2:535
11411 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
11412 msgstr ""
11413
11414 #. type: tbl table
11415 #: build/C/man2/ioctl_list.2:537
11416 #, no-wrap
11417 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
11418 msgstr ""
11419
11420 #. type: Plain text
11421 #: build/C/man2/ioctl_list.2:541
11422 msgid "// E<lt>include/linux/sockios.hE<gt>"
11423 msgstr ""
11424
11425 #. type: tbl table
11426 #: build/C/man2/ioctl_list.2:543
11427 #, no-wrap
11428 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
11429 msgstr ""
11430
11431 #. type: tbl table
11432 #: build/C/man2/ioctl_list.2:544
11433 #, no-wrap
11434 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
11435 msgstr ""
11436
11437 #. type: tbl table
11438 #: build/C/man2/ioctl_list.2:545
11439 #, no-wrap
11440 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
11441 msgstr ""
11442
11443 #. type: tbl table
11444 #: build/C/man2/ioctl_list.2:546
11445 #, no-wrap
11446 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
11447 msgstr ""
11448
11449 #. type: tbl table
11450 #: build/C/man2/ioctl_list.2:547
11451 #, no-wrap
11452 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
11453 msgstr ""
11454
11455 #. type: tbl table
11456 #: build/C/man2/ioctl_list.2:548
11457 #, no-wrap
11458 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
11459 msgstr ""
11460
11461 #. type: tbl table
11462 #: build/C/man2/ioctl_list.2:549
11463 #, no-wrap
11464 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
11465 msgstr ""
11466
11467 #. type: tbl table
11468 #: build/C/man2/ioctl_list.2:550
11469 #, no-wrap
11470 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
11471 msgstr ""
11472
11473 #. type: tbl table
11474 #: build/C/man2/ioctl_list.2:551
11475 #, no-wrap
11476 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
11477 msgstr ""
11478
11479 #. type: tbl table
11480 #: build/C/man2/ioctl_list.2:552
11481 #, no-wrap
11482 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11483 msgstr ""
11484
11485 #. type: tbl table
11486 #: build/C/man2/ioctl_list.2:553
11487 #, no-wrap
11488 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11489 msgstr ""
11490
11491 #. type: tbl table
11492 #: build/C/man2/ioctl_list.2:554
11493 #, no-wrap
11494 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11495 msgstr ""
11496
11497 #. type: tbl table
11498 #: build/C/man2/ioctl_list.2:555
11499 #, no-wrap
11500 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11501 msgstr ""
11502
11503 #. type: tbl table
11504 #: build/C/man2/ioctl_list.2:556
11505 #, no-wrap
11506 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11507 msgstr ""
11508
11509 #. type: tbl table
11510 #: build/C/man2/ioctl_list.2:557
11511 #, no-wrap
11512 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11513 msgstr ""
11514
11515 #. type: tbl table
11516 #: build/C/man2/ioctl_list.2:558
11517 #, no-wrap
11518 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11519 msgstr ""
11520
11521 #. type: tbl table
11522 #: build/C/man2/ioctl_list.2:559
11523 #, no-wrap
11524 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11525 msgstr ""
11526
11527 #. type: tbl table
11528 #: build/C/man2/ioctl_list.2:560
11529 #, no-wrap
11530 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11531 msgstr ""
11532
11533 #. type: tbl table
11534 #: build/C/man2/ioctl_list.2:561
11535 #, no-wrap
11536 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11537 msgstr ""
11538
11539 #. type: tbl table
11540 #: build/C/man2/ioctl_list.2:562
11541 #, no-wrap
11542 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11543 msgstr ""
11544
11545 #. type: tbl table
11546 #: build/C/man2/ioctl_list.2:563
11547 #, no-wrap
11548 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11549 msgstr ""
11550
11551 #. type: tbl table
11552 #: build/C/man2/ioctl_list.2:567
11553 #, no-wrap
11554 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11555 msgstr ""
11556
11557 #. type: tbl table
11558 #: build/C/man2/ioctl_list.2:568
11559 #, no-wrap
11560 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11561 msgstr ""
11562
11563 #. type: tbl table
11564 #: build/C/man2/ioctl_list.2:569
11565 #, no-wrap
11566 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
11567 msgstr ""
11568
11569 #. type: tbl table
11570 #: build/C/man2/ioctl_list.2:570
11571 #, no-wrap
11572 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11573 msgstr ""
11574
11575 #. type: tbl table
11576 #: build/C/man2/ioctl_list.2:571
11577 #, no-wrap
11578 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11579 msgstr ""
11580
11581 #. type: tbl table
11582 #: build/C/man2/ioctl_list.2:572
11583 #, no-wrap
11584 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11585 msgstr ""
11586
11587 #. type: tbl table
11588 #: build/C/man2/ioctl_list.2:573
11589 #, no-wrap
11590 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11591 msgstr ""
11592
11593 #. type: tbl table
11594 #: build/C/man2/ioctl_list.2:574
11595 #, no-wrap
11596 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11597 msgstr ""
11598
11599 #. type: tbl table
11600 #: build/C/man2/ioctl_list.2:575
11601 #, no-wrap
11602 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11603 msgstr ""
11604
11605 #. type: tbl table
11606 #: build/C/man2/ioctl_list.2:576
11607 #, no-wrap
11608 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11609 msgstr ""
11610
11611 #. type: tbl table
11612 #: build/C/man2/ioctl_list.2:577
11613 #, no-wrap
11614 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11615 msgstr ""
11616
11617 #. type: tbl table
11618 #: build/C/man2/ioctl_list.2:578
11619 #, no-wrap
11620 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11621 msgstr ""
11622
11623 #. type: tbl table
11624 #: build/C/man2/ioctl_list.2:579
11625 #, no-wrap
11626 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11627 msgstr ""
11628
11629 #. type: tbl table
11630 #: build/C/man2/ioctl_list.2:580
11631 #, no-wrap
11632 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11633 msgstr ""
11634
11635 #. type: tbl table
11636 #: build/C/man2/ioctl_list.2:581
11637 #, no-wrap
11638 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11639 msgstr ""
11640
11641 #. type: tbl table
11642 #: build/C/man2/ioctl_list.2:582
11643 #, no-wrap
11644 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11645 msgstr ""
11646
11647 #. type: tbl table
11648 #: build/C/man2/ioctl_list.2:583
11649 #, no-wrap
11650 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11651 msgstr ""
11652
11653 #. type: tbl table
11654 #: build/C/man2/ioctl_list.2:584
11655 #, no-wrap
11656 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11657 msgstr ""
11658
11659 #. type: tbl table
11660 #: build/C/man2/ioctl_list.2:585
11661 #, no-wrap
11662 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11663 msgstr ""
11664
11665 #. type: Plain text
11666 #: build/C/man2/ioctl_list.2:589
11667 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11668 msgstr ""
11669
11670 #. type: tbl table
11671 #: build/C/man2/ioctl_list.2:591
11672 #, no-wrap
11673 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11674 msgstr ""
11675
11676 #. type: tbl table
11677 #: build/C/man2/ioctl_list.2:592
11678 #, no-wrap
11679 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11680 msgstr ""
11681
11682 #. type: tbl table
11683 #: build/C/man2/ioctl_list.2:596
11684 #, no-wrap
11685 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11686 msgstr ""
11687
11688 #. type: tbl table
11689 #: build/C/man2/ioctl_list.2:597
11690 #, no-wrap
11691 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11692 msgstr ""
11693
11694 #. type: tbl table
11695 #: build/C/man2/ioctl_list.2:598
11696 #, no-wrap
11697 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11698 msgstr ""
11699
11700 #. type: tbl table
11701 #: build/C/man2/ioctl_list.2:599
11702 #, no-wrap
11703 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11704 msgstr ""
11705
11706 #. type: tbl table
11707 #: build/C/man2/ioctl_list.2:600
11708 #, no-wrap
11709 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11710 msgstr ""
11711
11712 #. type: tbl table
11713 #: build/C/man2/ioctl_list.2:604
11714 #, no-wrap
11715 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11716 msgstr ""
11717
11718 #. type: tbl table
11719 #: build/C/man2/ioctl_list.2:608
11720 #, no-wrap
11721 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11722 msgstr ""
11723
11724 #. type: tbl table
11725 #: build/C/man2/ioctl_list.2:609
11726 #, no-wrap
11727 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11728 msgstr ""
11729
11730 #. type: tbl table
11731 #: build/C/man2/ioctl_list.2:610
11732 #, no-wrap
11733 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11734 msgstr ""
11735
11736 #. type: tbl table
11737 #: build/C/man2/ioctl_list.2:611
11738 #, no-wrap
11739 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11740 msgstr ""
11741
11742 #. type: tbl table
11743 #: build/C/man2/ioctl_list.2:612
11744 #, no-wrap
11745 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11746 msgstr ""
11747
11748 #. type: tbl table
11749 #: build/C/man2/ioctl_list.2:613
11750 #, no-wrap
11751 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11752 msgstr ""
11753
11754 #. type: tbl table
11755 #: build/C/man2/ioctl_list.2:614
11756 #, no-wrap
11757 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11758 msgstr ""
11759
11760 #. type: tbl table
11761 #: build/C/man2/ioctl_list.2:615
11762 #, no-wrap
11763 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11764 msgstr ""
11765
11766 #. type: tbl table
11767 #: build/C/man2/ioctl_list.2:616
11768 #, no-wrap
11769 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11770 msgstr ""
11771
11772 #. type: tbl table
11773 #: build/C/man2/ioctl_list.2:617
11774 #, no-wrap
11775 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11776 msgstr ""
11777
11778 #. type: tbl table
11779 #: build/C/man2/ioctl_list.2:621
11780 #, no-wrap
11781 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11782 msgstr ""
11783
11784 #. type: tbl table
11785 #: build/C/man2/ioctl_list.2:625
11786 #, no-wrap
11787 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11788 msgstr ""
11789
11790 #. type: tbl table
11791 #: build/C/man2/ioctl_list.2:626
11792 #, no-wrap
11793 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11794 msgstr ""
11795
11796 #. type: tbl table
11797 #: build/C/man2/ioctl_list.2:627
11798 #, no-wrap
11799 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11800 msgstr ""
11801
11802 #. type: tbl table
11803 #: build/C/man2/ioctl_list.2:628
11804 #, no-wrap
11805 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11806 msgstr ""
11807
11808 #. type: tbl table
11809 #: build/C/man2/ioctl_list.2:629
11810 #, no-wrap
11811 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11812 msgstr ""
11813
11814 #. type: tbl table
11815 #: build/C/man2/ioctl_list.2:630
11816 #, no-wrap
11817 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11818 msgstr ""
11819
11820 #. type: tbl table
11821 #: build/C/man2/ioctl_list.2:631
11822 #, no-wrap
11823 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11824 msgstr ""
11825
11826 #. type: tbl table
11827 #: build/C/man2/ioctl_list.2:632
11828 #, no-wrap
11829 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11830 msgstr ""
11831
11832 #. type: tbl table
11833 #: build/C/man2/ioctl_list.2:633
11834 #, no-wrap
11835 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11836 msgstr ""
11837
11838 #. type: tbl table
11839 #: build/C/man2/ioctl_list.2:634
11840 #, no-wrap
11841 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11842 msgstr ""
11843
11844 #. type: tbl table
11845 #: build/C/man2/ioctl_list.2:635
11846 #, no-wrap
11847 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11848 msgstr ""
11849
11850 #. type: tbl table
11851 #: build/C/man2/ioctl_list.2:639
11852 #, no-wrap
11853 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11854 msgstr ""
11855
11856 #. type: tbl table
11857 #: build/C/man2/ioctl_list.2:643
11858 #, no-wrap
11859 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11860 msgstr ""
11861
11862 #. type: tbl table
11863 #: build/C/man2/ioctl_list.2:644
11864 #, no-wrap
11865 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11866 msgstr ""
11867
11868 #. type: tbl table
11869 #: build/C/man2/ioctl_list.2:645
11870 #, no-wrap
11871 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11872 msgstr ""
11873
11874 #. type: tbl table
11875 #: build/C/man2/ioctl_list.2:646
11876 #, no-wrap
11877 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11878 msgstr ""
11879
11880 #. type: tbl table
11881 #: build/C/man2/ioctl_list.2:647
11882 #, no-wrap
11883 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11884 msgstr ""
11885
11886 #. type: tbl table
11887 #: build/C/man2/ioctl_list.2:648
11888 #, no-wrap
11889 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11890 msgstr ""
11891
11892 #. type: tbl table
11893 #: build/C/man2/ioctl_list.2:649
11894 #, no-wrap
11895 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11896 msgstr ""
11897
11898 #. type: tbl table
11899 #: build/C/man2/ioctl_list.2:650
11900 #, no-wrap
11901 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11902 msgstr ""
11903
11904 #. type: tbl table
11905 #: build/C/man2/ioctl_list.2:651
11906 #, no-wrap
11907 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11908 msgstr ""
11909
11910 #. type: tbl table
11911 #: build/C/man2/ioctl_list.2:652
11912 #, no-wrap
11913 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11914 msgstr ""
11915
11916 #. type: tbl table
11917 #: build/C/man2/ioctl_list.2:653
11918 #, no-wrap
11919 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11920 msgstr ""
11921
11922 #. type: tbl table
11923 #: build/C/man2/ioctl_list.2:654
11924 #, no-wrap
11925 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11926 msgstr ""
11927
11928 #. type: tbl table
11929 #: build/C/man2/ioctl_list.2:658
11930 #, no-wrap
11931 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11932 msgstr ""
11933
11934 #. type: tbl table
11935 #: build/C/man2/ioctl_list.2:659
11936 #, no-wrap
11937 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11938 msgstr ""
11939
11940 #. type: tbl table
11941 #: build/C/man2/ioctl_list.2:660
11942 #, no-wrap
11943 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11944 msgstr ""
11945
11946 #. type: tbl table
11947 #: build/C/man2/ioctl_list.2:661
11948 #, no-wrap
11949 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11950 msgstr ""
11951
11952 #. type: tbl table
11953 #: build/C/man2/ioctl_list.2:662
11954 #, no-wrap
11955 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11956 msgstr ""
11957
11958 #. type: tbl table
11959 #: build/C/man2/ioctl_list.2:663
11960 #, no-wrap
11961 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11962 msgstr ""
11963
11964 #. type: tbl table
11965 #: build/C/man2/ioctl_list.2:664
11966 #, no-wrap
11967 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11968 msgstr ""
11969
11970 #. type: tbl table
11971 #: build/C/man2/ioctl_list.2:665
11972 #, no-wrap
11973 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11974 msgstr ""
11975
11976 #. type: tbl table
11977 #: build/C/man2/ioctl_list.2:666
11978 #, no-wrap
11979 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11980 msgstr ""
11981
11982 #. type: tbl table
11983 #: build/C/man2/ioctl_list.2:670
11984 #, no-wrap
11985 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11986 msgstr ""
11987
11988 #. type: tbl table
11989 #: build/C/man2/ioctl_list.2:671
11990 #, no-wrap
11991 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11992 msgstr ""
11993
11994 #. type: tbl table
11995 #: build/C/man2/ioctl_list.2:675
11996 #, no-wrap
11997 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11998 msgstr ""
11999
12000 #. type: tbl table
12001 #: build/C/man2/ioctl_list.2:676
12002 #, no-wrap
12003 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
12004 msgstr ""
12005
12006 #. type: tbl table
12007 #: build/C/man2/ioctl_list.2:680
12008 #, no-wrap
12009 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
12010 msgstr ""
12011
12012 #. type: tbl table
12013 #: build/C/man2/ioctl_list.2:681
12014 #, no-wrap
12015 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
12016 msgstr ""
12017
12018 #. type: tbl table
12019 #: build/C/man2/ioctl_list.2:685
12020 #, no-wrap
12021 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
12022 msgstr ""
12023
12024 #. type: tbl table
12025 #: build/C/man2/ioctl_list.2:686
12026 #, no-wrap
12027 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
12028 msgstr ""
12029
12030 #. type: tbl table
12031 #: build/C/man2/ioctl_list.2:687
12032 #, no-wrap
12033 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
12034 msgstr ""
12035
12036 #. type: tbl table
12037 #: build/C/man2/ioctl_list.2:688
12038 #, no-wrap
12039 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
12040 msgstr ""
12041
12042 #. type: tbl table
12043 #: build/C/man2/ioctl_list.2:689
12044 #, no-wrap
12045 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
12046 msgstr ""
12047
12048 #. type: tbl table
12049 #: build/C/man2/ioctl_list.2:690
12050 #, no-wrap
12051 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
12052 msgstr ""
12053
12054 #. type: tbl table
12055 #: build/C/man2/ioctl_list.2:691
12056 #, no-wrap
12057 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
12058 msgstr ""
12059
12060 #. type: tbl table
12061 #: build/C/man2/ioctl_list.2:692
12062 #, no-wrap
12063 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
12064 msgstr ""
12065
12066 #. type: tbl table
12067 #: build/C/man2/ioctl_list.2:693
12068 #, no-wrap
12069 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
12070 msgstr ""
12071
12072 #. type: tbl table
12073 #: build/C/man2/ioctl_list.2:694
12074 #, no-wrap
12075 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
12076 msgstr ""
12077
12078 #. type: tbl table
12079 #: build/C/man2/ioctl_list.2:695
12080 #, no-wrap
12081 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
12082 msgstr ""
12083
12084 #. type: tbl table
12085 #: build/C/man2/ioctl_list.2:696
12086 #, no-wrap
12087 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
12088 msgstr ""
12089
12090 #. type: tbl table
12091 #: build/C/man2/ioctl_list.2:697
12092 #, no-wrap
12093 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
12094 msgstr ""
12095
12096 #. type: tbl table
12097 #: build/C/man2/ioctl_list.2:698
12098 #, no-wrap
12099 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
12100 msgstr ""
12101
12102 #. type: tbl table
12103 #: build/C/man2/ioctl_list.2:699
12104 #, no-wrap
12105 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
12106 msgstr ""
12107
12108 #. type: tbl table
12109 #: build/C/man2/ioctl_list.2:700
12110 #, no-wrap
12111 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
12112 msgstr ""
12113
12114 #. type: tbl table
12115 #: build/C/man2/ioctl_list.2:701
12116 #, no-wrap
12117 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
12118 msgstr ""
12119
12120 #. type: tbl table
12121 #: build/C/man2/ioctl_list.2:702
12122 #, no-wrap
12123 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
12124 msgstr ""
12125
12126 #. type: tbl table
12127 #: build/C/man2/ioctl_list.2:703
12128 #, no-wrap
12129 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
12130 msgstr ""
12131
12132 #. type: tbl table
12133 #: build/C/man2/ioctl_list.2:704
12134 #, no-wrap
12135 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
12136 msgstr ""
12137
12138 #. type: tbl table
12139 #: build/C/man2/ioctl_list.2:705
12140 #, no-wrap
12141 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
12142 msgstr ""
12143
12144 #. type: tbl table
12145 #: build/C/man2/ioctl_list.2:706
12146 #, no-wrap
12147 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
12148 msgstr ""
12149
12150 #. type: tbl table
12151 #: build/C/man2/ioctl_list.2:707
12152 #, no-wrap
12153 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
12154 msgstr ""
12155
12156 #. type: tbl table
12157 #: build/C/man2/ioctl_list.2:708
12158 #, no-wrap
12159 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
12160 msgstr ""
12161
12162 #. type: tbl table
12163 #: build/C/man2/ioctl_list.2:709
12164 #, no-wrap
12165 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
12166 msgstr ""
12167
12168 #. type: tbl table
12169 #: build/C/man2/ioctl_list.2:710
12170 #, no-wrap
12171 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
12172 msgstr ""
12173
12174 #. type: tbl table
12175 #: build/C/man2/ioctl_list.2:711
12176 #, no-wrap
12177 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
12178 msgstr ""
12179
12180 #. type: tbl table
12181 #: build/C/man2/ioctl_list.2:715
12182 #, no-wrap
12183 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
12184 msgstr ""
12185
12186 #. type: tbl table
12187 #: build/C/man2/ioctl_list.2:716
12188 #, no-wrap
12189 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
12190 msgstr ""
12191
12192 #. type: tbl table
12193 #: build/C/man2/ioctl_list.2:717
12194 #, no-wrap
12195 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
12196 msgstr ""
12197
12198 #. type: tbl table
12199 #: build/C/man2/ioctl_list.2:718
12200 #, no-wrap
12201 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
12202 msgstr ""
12203
12204 #. type: tbl table
12205 #: build/C/man2/ioctl_list.2:719
12206 #, no-wrap
12207 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
12208 msgstr ""
12209
12210 #. type: tbl table
12211 #: build/C/man2/ioctl_list.2:720
12212 #, no-wrap
12213 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
12214 msgstr ""
12215
12216 #. type: tbl table
12217 #: build/C/man2/ioctl_list.2:721
12218 #, no-wrap
12219 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
12220 msgstr ""
12221
12222 #. type: tbl table
12223 #: build/C/man2/ioctl_list.2:722
12224 #, no-wrap
12225 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
12226 msgstr ""
12227
12228 #. type: tbl table
12229 #: build/C/man2/ioctl_list.2:723
12230 #, no-wrap
12231 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
12232 msgstr ""
12233
12234 #. type: tbl table
12235 #: build/C/man2/ioctl_list.2:724
12236 #, no-wrap
12237 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
12238 msgstr ""
12239
12240 #. type: tbl table
12241 #: build/C/man2/ioctl_list.2:725
12242 #, no-wrap
12243 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
12244 msgstr ""
12245
12246 #. type: tbl table
12247 #: build/C/man2/ioctl_list.2:726
12248 #, no-wrap
12249 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
12250 msgstr ""
12251
12252 #. type: tbl table
12253 #: build/C/man2/ioctl_list.2:727
12254 #, no-wrap
12255 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
12256 msgstr ""
12257
12258 #. type: tbl table
12259 #: build/C/man2/ioctl_list.2:728
12260 #, no-wrap
12261 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
12262 msgstr ""
12263
12264 #. type: tbl table
12265 #: build/C/man2/ioctl_list.2:729
12266 #, no-wrap
12267 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
12268 msgstr ""
12269
12270 #. type: tbl table
12271 #: build/C/man2/ioctl_list.2:730
12272 #, no-wrap
12273 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
12274 msgstr ""
12275
12276 #. type: tbl table
12277 #: build/C/man2/ioctl_list.2:731
12278 #, no-wrap
12279 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
12280 msgstr ""
12281
12282 #. type: tbl table
12283 #: build/C/man2/ioctl_list.2:732
12284 #, no-wrap
12285 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
12286 msgstr ""
12287
12288 #. type: tbl table
12289 #: build/C/man2/ioctl_list.2:733
12290 #, no-wrap
12291 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
12292 msgstr ""
12293
12294 #. type: tbl table
12295 #: build/C/man2/ioctl_list.2:734
12296 #, no-wrap
12297 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
12298 msgstr ""
12299
12300 #. type: tbl table
12301 #: build/C/man2/ioctl_list.2:735
12302 #, no-wrap
12303 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
12304 msgstr ""
12305
12306 #. type: Plain text
12307 #: build/C/man2/ioctl_list.2:739
12308 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
12309 msgstr ""
12310
12311 #. type: tbl table
12312 #: build/C/man2/ioctl_list.2:741
12313 #, no-wrap
12314 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12315 msgstr ""
12316
12317 #. type: tbl table
12318 #: build/C/man2/ioctl_list.2:742
12319 #, no-wrap
12320 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
12321 msgstr ""
12322
12323 #. type: tbl table
12324 #: build/C/man2/ioctl_list.2:743
12325 #, no-wrap
12326 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
12327 msgstr ""
12328
12329 #. type: tbl table
12330 #: build/C/man2/ioctl_list.2:744
12331 #, no-wrap
12332 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12333 msgstr ""
12334
12335 #. type: tbl table
12336 #: build/C/man2/ioctl_list.2:745
12337 #, no-wrap
12338 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
12339 msgstr ""
12340
12341 #. type: tbl table
12342 #: build/C/man2/ioctl_list.2:746
12343 #, no-wrap
12344 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
12345 msgstr ""
12346
12347 #. type: tbl table
12348 #: build/C/man2/ioctl_list.2:747
12349 #, no-wrap
12350 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
12351 msgstr ""
12352
12353 #. type: tbl table
12354 #: build/C/man2/ioctl_list.2:748
12355 #, no-wrap
12356 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
12357 msgstr ""
12358
12359 #. type: tbl table
12360 #: build/C/man2/ioctl_list.2:749
12361 #, no-wrap
12362 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
12363 msgstr ""
12364
12365 #. type: tbl table
12366 #: build/C/man2/ioctl_list.2:750
12367 #, no-wrap
12368 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
12369 msgstr ""
12370
12371 #. type: tbl table
12372 #: build/C/man2/ioctl_list.2:751
12373 #, no-wrap
12374 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
12375 msgstr ""
12376
12377 #. type: Plain text
12378 #: build/C/man2/ioctl_list.2:755
12379 msgid "// E<lt>include/linux/vt.hE<gt>"
12380 msgstr ""
12381
12382 #. type: tbl table
12383 #: build/C/man2/ioctl_list.2:757
12384 #, no-wrap
12385 msgid "0x00005600\tVT_OPENQRY\tint *\n"
12386 msgstr ""
12387
12388 #. type: tbl table
12389 #: build/C/man2/ioctl_list.2:758
12390 #, no-wrap
12391 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
12392 msgstr ""
12393
12394 #. type: tbl table
12395 #: build/C/man2/ioctl_list.2:759
12396 #, no-wrap
12397 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
12398 msgstr ""
12399
12400 #. type: tbl table
12401 #: build/C/man2/ioctl_list.2:760
12402 #, no-wrap
12403 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
12404 msgstr ""
12405
12406 #. type: tbl table
12407 #: build/C/man2/ioctl_list.2:761
12408 #, no-wrap
12409 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
12410 msgstr ""
12411
12412 #. type: tbl table
12413 #: build/C/man2/ioctl_list.2:762
12414 #, no-wrap
12415 msgid "0x00005605\tVT_RELDISP\tint\n"
12416 msgstr ""
12417
12418 #. type: tbl table
12419 #: build/C/man2/ioctl_list.2:763
12420 #, no-wrap
12421 msgid "0x00005606\tVT_ACTIVATE\tint\n"
12422 msgstr ""
12423
12424 #. type: tbl table
12425 #: build/C/man2/ioctl_list.2:764
12426 #, no-wrap
12427 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
12428 msgstr ""
12429
12430 #. type: tbl table
12431 #: build/C/man2/ioctl_list.2:765
12432 #, no-wrap
12433 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
12434 msgstr ""
12435
12436 #. type: tbl table
12437 #: build/C/man2/ioctl_list.2:766
12438 #, no-wrap
12439 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
12440 msgstr ""
12441
12442 #. type: tbl table
12443 #: build/C/man2/ioctl_list.2:767
12444 #, no-wrap
12445 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
12446 msgstr ""
12447
12448 #. type: Plain text
12449 #: build/C/man2/ioctl_list.2:774
12450 msgid ""
12451 "// More arguments.  Some ioctl's take a pointer to a structure which "
12452 "contains additional pointers.  These are documented here in alphabetical "
12453 "order."
12454 msgstr ""
12455
12456 #. type: Plain text
12457 #: build/C/man2/ioctl_list.2:782
12458 msgid ""
12459 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ "
12460 "*>.  The I<buf> field points to an output buffer of length I<nframes\\ * "
12461 "CD_FRAMESIZE_RAW>."
12462 msgstr ""
12463
12464 #. type: Plain text
12465 #: build/C/man2/ioctl_list.2:798
12466 msgid ""
12467 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
12468 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They "
12469 "use the same pointer as an output pointer to I<char []>.  The length varies "
12470 "by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
12471 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
12472 "value 2048)."
12473 msgstr ""
12474
12475 #. type: Plain text
12476 #: build/C/man2/ioctl_list.2:804
12477 #, no-wrap
12478 msgid ""
12479 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
12480 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12481 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12482 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12483 msgstr ""
12484
12485 #. type: Plain text
12486 #: build/C/man2/ioctl_list.2:818
12487 msgid ""
12488 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
12489 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  "
12490 "The I<ifr_data> field is a pointer to another structure as follows:"
12491 msgstr ""
12492
12493 #. type: Plain text
12494 #: build/C/man2/ioctl_list.2:826
12495 #, no-wrap
12496 msgid ""
12497 "    EQL_ENSLAVE         const struct slaving_request *\n"
12498 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12499 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12500 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12501 "    EQL_GETMASTERCFG    struct master_config *\n"
12502 "    EQL_SETMASTERCFG    const struct master_config *\n"
12503 msgstr ""
12504
12505 #. type: Plain text
12506 #: build/C/man2/ioctl_list.2:843
12507 msgid ""
12508 "B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & "
12509 "FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length "
12510 "I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an "
12511 "output buffer of length I<length>."
12512 msgstr ""
12513
12514 #. type: Plain text
12515 #: build/C/man2/ioctl_list.2:859
12516 msgid ""
12517 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a "
12518 "I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to "
12519 "a buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
12520 "and an input buffer for B<PIO_FONTX>."
12521 msgstr ""
12522
12523 #. type: Plain text
12524 #: build/C/man2/ioctl_list.2:875
12525 msgid ""
12526 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const "
12527 "struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of "
12528 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
12529 "and an input buffer for B<PIO_UNIMAP>."
12530 msgstr ""
12531
12532 #. type: Plain text
12533 #: build/C/man2/ioctl_list.2:879
12534 msgid ""
12535 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
12536 "ports.  They are essentially alternate interfaces to 'ioperm'."
12537 msgstr ""
12538
12539 #. type: Plain text
12540 #: build/C/man2/ioctl_list.2:885
12541 msgid ""
12542 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
12543 "port access.  They are not implemented in the kernel."
12544 msgstr ""
12545
12546 #. type: Plain text
12547 #: build/C/man2/ioctl_list.2:893
12548 msgid ""
12549 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a "
12550 "length.  It uses the same pointer as an output pointer to a I<char []> "
12551 "buffer of this length."
12552 msgstr ""
12553
12554 #. type: Plain text
12555 #: build/C/man2/ioctl_list.2:899
12556 msgid ""
12557 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
12558 "the protocol:"
12559 msgstr ""
12560
12561 #. type: Plain text
12562 #: build/C/man2/ioctl_list.2:904
12563 #, no-wrap
12564 msgid ""
12565 "    Most protocols      const struct rtentry *\n"
12566 "    AX.25               const struct ax25_route *\n"
12567 "    NET/ROM             const struct nr_route_struct *\n"
12568 msgstr ""
12569
12570 #. type: Plain text
12571 #: build/C/man2/ioctl_list.2:915
12572 msgid ""
12573 "B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to "
12574 "a buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
12575 "type I<struct ifreq []>."
12576 msgstr ""
12577
12578 #. type: Plain text
12579 #: build/C/man2/ioctl_list.2:918
12580 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12581 msgstr ""
12582
12583 #. type: Plain text
12584 #: build/C/man2/ioctl_list.2:922
12585 #, no-wrap
12586 msgid ""
12587 "    Most protocols      const struct ifreq *\n"
12588 "    AX.25               const char [AX25_ADDR_LEN]\n"
12589 msgstr ""
12590
12591 #. type: Plain text
12592 #: build/C/man2/ioctl_list.2:937
12593 msgid ""
12594 "B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several "
12595 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
12596 "N-byte pad.  I<struct selection> is implicitly defined in "
12597 "I<drivers/char/selection.c>"
12598 msgstr ""
12599
12600 #. type: Plain text
12601 #: build/C/man2/ioctl_list.2:946
12602 #, no-wrap
12603 msgid ""
12604 "    TIOCLINUX-2         1 + const struct selection *\n"
12605 "    TIOCLINUX-3         void\n"
12606 "    TIOCLINUX-4         void\n"
12607 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12608 "    TIOCLINUX-6         char *\n"
12609 "    TIOCLINUX-7         char *\n"
12610 "    TIOCLINUX-10        1 + const char *\n"
12611 msgstr ""
12612
12613 #. type: Plain text
12614 #: build/C/man2/ioctl_list.2:949
12615 msgid "// Duplicate ioctls"
12616 msgstr ""
12617
12618 #. type: Plain text
12619 #: build/C/man2/ioctl_list.2:954
12620 msgid ""
12621 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
12622 "B<SIOCPROTOPRIVATE>."
12623 msgstr ""
12624
12625 #. type: tbl table
12626 #: build/C/man2/ioctl_list.2:956
12627 #, no-wrap
12628 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12629 msgstr ""
12630
12631 #. type: tbl table
12632 #: build/C/man2/ioctl_list.2:957
12633 #, no-wrap
12634 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12635 msgstr ""
12636
12637 #. type: tbl table
12638 #: build/C/man2/ioctl_list.2:958
12639 #, no-wrap
12640 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12641 msgstr ""
12642
12643 #. type: tbl table
12644 #: build/C/man2/ioctl_list.2:959
12645 #, no-wrap
12646 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12647 msgstr ""
12648
12649 #. type: tbl table
12650 #: build/C/man2/ioctl_list.2:960
12651 #, no-wrap
12652 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12653 msgstr ""
12654
12655 #. type: tbl table
12656 #: build/C/man2/ioctl_list.2:961
12657 #, no-wrap
12658 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12659 msgstr ""
12660
12661 #. type: Plain text
12662 #: build/C/man2/ioctl_list.2:965
12663 msgid "B<ioctl>(2)"
12664 msgstr ""
12665
12666 #. type: TH
12667 #: build/C/man2/ioperm.2:34
12668 #, no-wrap
12669 msgid "IOPERM"
12670 msgstr ""
12671
12672 #. type: Plain text
12673 #: build/C/man2/ioperm.2:37
12674 msgid "ioperm - set port input/output permissions"
12675 msgstr ""
12676
12677 #. type: Plain text
12678 #: build/C/man2/ioperm.2:40
12679 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12680 msgstr ""
12681
12682 #. type: Plain text
12683 #: build/C/man2/ioperm.2:43
12684 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12685 msgstr ""
12686
12687 #. type: Plain text
12688 #: build/C/man2/ioperm.2:45
12689 msgid ""
12690 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12691 ">I<turn_on>B<);>"
12692 msgstr ""
12693
12694 #. type: Plain text
12695 #: build/C/man2/ioperm.2:59
12696 msgid ""
12697 "B<ioperm>()  sets the port access permission bits for the calling thread for "
12698 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
12699 "then permission for the specified bits is enabled; otherwise it is "
12700 "disabled.  If I<turn_on> is nonzero, the calling thread must be privileged "
12701 "(B<CAP_SYS_RAWIO>)."
12702 msgstr ""
12703
12704 #. type: Plain text
12705 #: build/C/man2/ioperm.2:68
12706 msgid ""
12707 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
12708 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
12709 "(with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be "
12710 "specified."
12711 msgstr ""
12712
12713 #. type: Plain text
12714 #: build/C/man2/ioperm.2:78
12715 msgid ""
12716 "Permissions are not inherited by the child created by B<fork>(2); following "
12717 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
12718 "Permissions are preserved across B<execve>(2); this is useful for giving "
12719 "port access permissions to unprivileged programs."
12720 msgstr ""
12721
12722 #. type: Plain text
12723 #: build/C/man2/ioperm.2:82
12724 msgid ""
12725 "This call is mostly for the i386 architecture.  On many other architectures "
12726 "it does not exist or will always return an error."
12727 msgstr ""
12728
12729 #. type: Plain text
12730 #: build/C/man2/ioperm.2:94
12731 msgid "Invalid values for I<from> or I<num>."
12732 msgstr ""
12733
12734 #. type: Plain text
12735 #: build/C/man2/ioperm.2:97
12736 msgid "(on PowerPC) This call is not supported."
12737 msgstr ""
12738
12739 #.  Could not allocate I/O bitmap.
12740 #. type: Plain text
12741 #: build/C/man2/ioperm.2:101
12742 msgid "Out of memory."
12743 msgstr ""
12744
12745 #. type: Plain text
12746 #: build/C/man2/ioperm.2:104
12747 msgid "The calling thread has insufficient privilege."
12748 msgstr ""
12749
12750 #. type: Plain text
12751 #: build/C/man2/ioperm.2:108
12752 msgid ""
12753 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12754 "to be portable."
12755 msgstr ""
12756
12757 #. type: Plain text
12758 #: build/C/man2/ioperm.2:112
12759 msgid ""
12760 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
12761 "on the system."
12762 msgstr ""
12763
12764 #. type: Plain text
12765 #: build/C/man2/ioperm.2:121
12766 msgid ""
12767 "Libc5 treats it as a system call and has a prototype in "
12768 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12769 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12770 "Avoid the latter, it is available on i386 only."
12771 msgstr ""
12772
12773 #. type: Plain text
12774 #: build/C/man2/ioperm.2:125
12775 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12776 msgstr ""
12777
12778 #. type: TH
12779 #: build/C/man3/lockf.3:28
12780 #, no-wrap
12781 msgid "LOCKF"
12782 msgstr ""
12783
12784 #. type: Plain text
12785 #: build/C/man3/lockf.3:31
12786 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12787 msgstr ""
12788
12789 #. type: Plain text
12790 #: build/C/man3/lockf.3:35
12791 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12792 msgstr ""
12793
12794 #. type: Plain text
12795 #: build/C/man3/lockf.3:42
12796 msgid "B<lockf>():"
12797 msgstr ""
12798
12799 #. type: Plain text
12800 #: build/C/man3/lockf.3:46
12801 msgid ""
12802 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12803 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12804 msgstr ""
12805
12806 #. type: Plain text
12807 #: build/C/man3/lockf.3:69
12808 msgid ""
12809 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12810 "is specified by I<fd>, a file descriptor open for writing, the action by "
12811 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12812 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12813 "where I<pos> is the current file position, and if I<len> is zero, the "
12814 "section extends from the current file position to infinity, encompassing the "
12815 "present and future end-of-file positions.  In all cases, the section may "
12816 "extend past current end-of-file."
12817 msgstr ""
12818
12819 #. type: Plain text
12820 #: build/C/man3/lockf.3:84
12821 msgid ""
12822 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12823 "Many other systems implement B<lockf>()  in this way, but note that "
12824 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12825 "locks unspecified.  A portable application should probably avoid mixing "
12826 "calls to these interfaces."
12827 msgstr ""
12828
12829 #. type: Plain text
12830 #: build/C/man3/lockf.3:86
12831 msgid "Valid operations are given below:"
12832 msgstr ""
12833
12834 #. type: TP
12835 #: build/C/man3/lockf.3:86
12836 #, no-wrap
12837 msgid "B<F_LOCK>"
12838 msgstr ""
12839
12840 #. type: Plain text
12841 #: build/C/man3/lockf.3:96
12842 msgid ""
12843 "Set an exclusive lock on the specified section of the file.  If (part of) "
12844 "this section is already locked, the call blocks until the previous lock is "
12845 "released.  If this section overlaps an earlier locked section, both are "
12846 "merged.  File locks are released as soon as the process holding the locks "
12847 "closes some file descriptor for the file.  A child process does not inherit "
12848 "these locks."
12849 msgstr ""
12850
12851 #. type: TP
12852 #: build/C/man3/lockf.3:96
12853 #, no-wrap
12854 msgid "B<F_TLOCK>"
12855 msgstr ""
12856
12857 #. type: Plain text
12858 #: build/C/man3/lockf.3:102
12859 msgid ""
12860 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12861 "the file is already locked."
12862 msgstr ""
12863
12864 #. type: TP
12865 #: build/C/man3/lockf.3:102
12866 #, no-wrap
12867 msgid "B<F_ULOCK>"
12868 msgstr ""
12869
12870 #. type: Plain text
12871 #: build/C/man3/lockf.3:106
12872 msgid ""
12873 "Unlock the indicated section of the file.  This may cause a locked section "
12874 "to be split into two locked sections."
12875 msgstr ""
12876
12877 #. type: TP
12878 #: build/C/man3/lockf.3:106
12879 #, no-wrap
12880 msgid "B<F_TEST>"
12881 msgstr ""
12882
12883 #. type: Plain text
12884 #: build/C/man3/lockf.3:116
12885 msgid ""
12886 "Test the lock: return 0 if the specified section is unlocked or locked by "
12887 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12888 "systems), if another process holds a lock."
12889 msgstr ""
12890
12891 #. type: Plain text
12892 #: build/C/man3/lockf.3:130
12893 msgid ""
12894 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12895 "operation is prohibited because the file has been memory-mapped by another "
12896 "process."
12897 msgstr ""
12898
12899 #. type: Plain text
12900 #: build/C/man3/lockf.3:142
12901 msgid ""
12902 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12903 "and I<fd> is not a writable file descriptor."
12904 msgstr ""
12905
12906 #. type: Plain text
12907 #: build/C/man3/lockf.3:147
12908 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12909 msgstr ""
12910
12911 #. type: Plain text
12912 #: build/C/man3/lockf.3:151
12913 msgid "An invalid operation was specified in I<cmd>."
12914 msgstr ""
12915
12916 #. type: Plain text
12917 #: build/C/man3/lockf.3:154
12918 msgid "Too many segment locks open, lock table is full."
12919 msgstr ""
12920
12921 #. type: Plain text
12922 #: build/C/man3/lockf.3:156
12923 msgid "SVr4, POSIX.1-2001."
12924 msgstr ""
12925
12926 #. type: Plain text
12927 #: build/C/man3/lockf.3:159
12928 msgid "B<fcntl>(2), B<flock>(2)"
12929 msgstr ""
12930
12931 #. type: Plain text
12932 #: build/C/man3/lockf.3:171
12933 msgid ""
12934 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
12935 "directory I<Documentation/filesystems> (on older kernels, these files are "
12936 "directly under the I<Documentation> directory, and I<mandatory-locking.txt> "
12937 "is called I<mandatory.txt>)"
12938 msgstr ""
12939
12940 #. type: TH
12941 #: build/C/man2/mincore.2:34
12942 #, no-wrap
12943 msgid "MINCORE"
12944 msgstr ""
12945
12946 #. type: TH
12947 #: build/C/man2/mincore.2:34
12948 #, no-wrap
12949 msgid "2008-04-22"
12950 msgstr ""
12951
12952 #. type: Plain text
12953 #: build/C/man2/mincore.2:37
12954 msgid "mincore - determine whether pages are resident in memory"
12955 msgstr ""
12956
12957 #. type: Plain text
12958 #: build/C/man2/mincore.2:41
12959 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12960 msgstr ""
12961
12962 #. type: Plain text
12963 #: build/C/man2/mincore.2:43
12964 msgid ""
12965 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12966 "*>I<vec>B<);>"
12967 msgstr ""
12968
12969 #. type: Plain text
12970 #: build/C/man2/mincore.2:51
12971 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12972 msgstr ""
12973
12974 #. type: Plain text
12975 #: build/C/man2/mincore.2:62
12976 msgid ""
12977 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12978 "process's virtual memory are resident in core (RAM), and so will not cause a "
12979 "disk access (page fault) if referenced.  The kernel returns residency "
12980 "information about the pages starting at the address I<addr>, and continuing "
12981 "for I<length> bytes."
12982 msgstr ""
12983
12984 #. type: Plain text
12985 #: build/C/man2/mincore.2:76
12986 msgid ""
12987 "The I<addr> argument must be a multiple of the system page size.  The "
12988 "I<length> argument need not be a multiple of the page size, but since "
12989 "residency information is returned for whole pages, I<length> is effectively "
12990 "rounded up to the next multiple of the page size.  One may obtain the page "
12991 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12992 msgstr ""
12993
12994 #. type: Plain text
12995 #: build/C/man2/mincore.2:94
12996 msgid ""
12997 "The I<vec> argument must point to an array containing at least "
12998 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
12999 "bit of each byte will be set if the corresponding page is currently resident "
13000 "in memory, and be clear otherwise.  (The settings of the other bits in each "
13001 "byte are undefined; these bits are reserved for possible later use.)  Of "
13002 "course the information returned in I<vec> is only a snapshot: pages that are "
13003 "not locked in memory can come and go at any moment, and the contents of "
13004 "I<vec> may already be stale by the time this call returns."
13005 msgstr ""
13006
13007 #. type: Plain text
13008 #: build/C/man2/mincore.2:101
13009 msgid ""
13010 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
13011 "I<errno> is set appropriately."
13012 msgstr ""
13013
13014 #. type: Plain text
13015 #: build/C/man2/mincore.2:104
13016 msgid "B<EAGAIN> kernel is temporarily out of resources."
13017 msgstr ""
13018
13019 #. type: Plain text
13020 #: build/C/man2/mincore.2:108
13021 msgid "I<vec> points to an invalid address."
13022 msgstr ""
13023
13024 #. type: Plain text
13025 #: build/C/man2/mincore.2:112
13026 msgid "I<addr> is not a multiple of the page size."
13027 msgstr ""
13028
13029 #. type: Plain text
13030 #: build/C/man2/mincore.2:124
13031 msgid ""
13032 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
13033 "negative value is specified for I<length>, since that value will be "
13034 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
13035 "error B<EINVAL> was returned for this condition."
13036 msgstr ""
13037
13038 #. type: Plain text
13039 #: build/C/man2/mincore.2:132
13040 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
13041 msgstr ""
13042
13043 #. type: Plain text
13044 #: build/C/man2/mincore.2:134
13045 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
13046 msgstr ""
13047
13048 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
13049 #.  AIX 5.1, SunOS 4.1
13050 #.  .SH HISTORY
13051 #.  The
13052 #.  .BR mincore ()
13053 #.  function first appeared in 4.4BSD.
13054 #. type: Plain text
13055 #: build/C/man2/mincore.2:144
13056 msgid ""
13057 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
13058 "all UNIX implementations."
13059 msgstr ""
13060
13061 #.  Linux (up to now, 2.6.5),
13062 #.  .B mincore
13063 #.  does not return correct information for MAP_PRIVATE mappings:
13064 #.  for a MAP_PRIVATE file mapping,
13065 #.  .B mincore
13066 #.  returns the residency of the file pages, rather than any
13067 #.  modified process-private pages that have been copied on write;
13068 #.  for a MAP_PRIVATE mapping of
13069 #.  .IR /dev/zero ,
13070 #.  .B mincore
13071 #.  always reports pages as nonresident;
13072 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
13073 #.  .B mincore
13074 #.  always fails with the error
13075 #.  .BR ENOMEM .
13076 #. type: Plain text
13077 #: build/C/man2/mincore.2:166
13078 msgid ""
13079 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
13080 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
13081 "B<remap_file_pages>(2))."
13082 msgstr ""
13083
13084 #. type: Plain text
13085 #: build/C/man2/mincore.2:169
13086 msgid "B<mlock>(2), B<mmap>(2)"
13087 msgstr ""
13088
13089 #. type: TH
13090 #: build/C/man2/mkdir.2:11
13091 #, no-wrap
13092 msgid "MKDIR"
13093 msgstr ""
13094
13095 #. type: Plain text
13096 #: build/C/man2/mkdir.2:14
13097 msgid "mkdir, mkdirat - create a directory"
13098 msgstr ""
13099
13100 #.  .B #include <unistd.h>
13101 #. type: Plain text
13102 #: build/C/man2/mkdir.2:19
13103 #, no-wrap
13104 msgid ""
13105 "B<#include E<lt>sys/stat.hE<gt>>\n"
13106 "B<#include E<lt>sys/types.hE<gt>>\n"
13107 msgstr ""
13108
13109 #. type: Plain text
13110 #: build/C/man2/mkdir.2:21
13111 #, no-wrap
13112 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
13113 msgstr ""
13114
13115 #. type: Plain text
13116 #: build/C/man2/mkdir.2:24
13117 #, no-wrap
13118 msgid ""
13119 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
13120 "B<#include E<lt>sys/stat.hE<gt>>\n"
13121 msgstr ""
13122
13123 #. type: Plain text
13124 #: build/C/man2/mkdir.2:26
13125 #, no-wrap
13126 msgid ""
13127 "B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
13128 ">I<mode>B<);>\n"
13129 msgstr ""
13130
13131 #. type: Plain text
13132 #: build/C/man2/mkdir.2:34
13133 msgid "B<mkdirat>():"
13134 msgstr ""
13135
13136 #. type: Plain text
13137 #: build/C/man2/mkdir.2:51
13138 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
13139 msgstr ""
13140
13141 #. type: Plain text
13142 #: build/C/man2/mkdir.2:61
13143 msgid ""
13144 "The argument I<mode> specifies the permissions to use.  It is modified by "
13145 "the process's I<umask> in the usual way: the permissions of the created "
13146 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
13147 "directory depend on the operating system.  For Linux, see below."
13148 msgstr ""
13149
13150 #. type: Plain text
13151 #: build/C/man2/mkdir.2:71
13152 msgid ""
13153 "The newly created directory will be owned by the effective user ID of the "
13154 "process.  If the directory containing the file has the set-group-ID bit set, "
13155 "or if the filesystem is mounted with BSD group semantics (I<mount -o "
13156 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
13157 "inherit the group ownership from its parent; otherwise it will be owned by "
13158 "the effective group ID of the process."
13159 msgstr ""
13160
13161 #. type: Plain text
13162 #: build/C/man2/mkdir.2:76
13163 msgid ""
13164 "If the parent directory has the set-group-ID bit set, then so will the newly "
13165 "created directory."
13166 msgstr ""
13167
13168 #. type: SS
13169 #: build/C/man2/mkdir.2:76
13170 #, no-wrap
13171 msgid "mkdirat()"
13172 msgstr ""
13173
13174 #. type: Plain text
13175 #: build/C/man2/mkdir.2:82
13176 msgid ""
13177 "The B<mkdirat>()  system call operates in exactly the same way as "
13178 "B<mkdir>(), except for the differences described here."
13179 msgstr ""
13180
13181 #. type: Plain text
13182 #: build/C/man2/mkdir.2:92
13183 msgid ""
13184 "If the pathname given in I<pathname> is relative, then it is interpreted "
13185 "relative to the directory referred to by the file descriptor I<dirfd> "
13186 "(rather than relative to the current working directory of the calling "
13187 "process, as is done by B<mkdir>()  for a relative pathname)."
13188 msgstr ""
13189
13190 #. type: Plain text
13191 #: build/C/man2/mkdir.2:104
13192 msgid ""
13193 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
13194 "then I<pathname> is interpreted relative to the current working directory of "
13195 "the calling process (like B<mkdir>())."
13196 msgstr ""
13197
13198 #. type: Plain text
13199 #: build/C/man2/mkdir.2:115
13200 msgid "See B<openat>(2)  for an explanation of the need for B<mkdirat>()."
13201 msgstr ""
13202
13203 #. type: Plain text
13204 #: build/C/man2/mkdir.2:122
13205 msgid ""
13206 "B<mkdir>()  and B<mkdirat>()  return zero on success, or -1 if an error "
13207 "occurred (in which case, I<errno> is set appropriately)."
13208 msgstr ""
13209
13210 #. type: Plain text
13211 #: build/C/man2/mkdir.2:131
13212 msgid ""
13213 "The parent directory does not allow write permission to the process, or one "
13214 "of the directories in I<pathname> did not allow search permission.  (See "
13215 "also B<path_resolution>(7).)"
13216 msgstr ""
13217
13218 #. type: TP
13219 #: build/C/man2/mkdir.2:131
13220 #, no-wrap
13221 msgid "B<EDQUOT>"
13222 msgstr ""
13223
13224 #. type: Plain text
13225 #: build/C/man2/mkdir.2:135
13226 msgid ""
13227 "The user's quota of disk blocks or inodes on the filesystem has been "
13228 "exhausted."
13229 msgstr ""
13230
13231 #. type: TP
13232 #: build/C/man2/mkdir.2:135
13233 #, no-wrap
13234 msgid "B<EEXIST>"
13235 msgstr ""
13236
13237 #. type: Plain text
13238 #: build/C/man2/mkdir.2:142
13239 msgid ""
13240 "I<pathname> already exists (not necessarily as a directory).  This includes "
13241 "the case where I<pathname> is a symbolic link, dangling or not."
13242 msgstr ""
13243
13244 #. type: TP
13245 #: build/C/man2/mkdir.2:149
13246 #, no-wrap
13247 msgid "B<EMLINK>"
13248 msgstr ""
13249
13250 #. type: Plain text
13251 #: build/C/man2/mkdir.2:153
13252 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
13253 msgstr ""
13254
13255 #. type: Plain text
13256 #: build/C/man2/mkdir.2:156
13257 msgid "I<pathname> was too long."
13258 msgstr ""
13259
13260 #. type: Plain text
13261 #: build/C/man2/mkdir.2:161
13262 msgid ""
13263 "A directory component in I<pathname> does not exist or is a dangling "
13264 "symbolic link."
13265 msgstr ""
13266
13267 #. type: TP
13268 #: build/C/man2/mkdir.2:164 build/C/man2/mkdir.2:169
13269 #, no-wrap
13270 msgid "B<ENOSPC>"
13271 msgstr ""
13272
13273 #. type: Plain text
13274 #: build/C/man2/mkdir.2:169
13275 msgid "The device containing I<pathname> has no room for the new directory."
13276 msgstr ""
13277
13278 #. type: Plain text
13279 #: build/C/man2/mkdir.2:173
13280 msgid ""
13281 "The new directory cannot be created because the user's disk quota is "
13282 "exhausted."
13283 msgstr ""
13284
13285 #. type: Plain text
13286 #: build/C/man2/mkdir.2:183
13287 msgid ""
13288 "The filesystem containing I<pathname> does not support the creation of "
13289 "directories."
13290 msgstr ""
13291
13292 #. type: Plain text
13293 #: build/C/man2/mkdir.2:187
13294 msgid "I<pathname> refers to a file on a read-only filesystem."
13295 msgstr ""
13296
13297 #. type: Plain text
13298 #: build/C/man2/mkdir.2:190
13299 msgid "The following additional errors can occur for B<mkdirat>():"
13300 msgstr ""
13301
13302 #. type: Plain text
13303 #: build/C/man2/mkdir.2:204
13304 msgid ""
13305 "B<mkdirat>()  was added to Linux in kernel 2.6.16; library support was added "
13306 "to glibc in version 2.4."
13307 msgstr ""
13308
13309 #.  SVr4 documents additional EIO, EMULTIHOP
13310 #. type: Plain text
13311 #: build/C/man2/mkdir.2:208
13312 msgid "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
13313 msgstr ""
13314
13315 #. type: Plain text
13316 #: build/C/man2/mkdir.2:211
13317 msgid "B<mkdirat>(): POSIX.1-2008."
13318 msgstr ""
13319
13320 #. type: Plain text
13321 #: build/C/man2/mkdir.2:219
13322 msgid ""
13323 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
13324 "honored.  That is, under Linux the created directory actually gets mode "
13325 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
13326 msgstr ""
13327
13328 #. type: Plain text
13329 #: build/C/man2/mkdir.2:223
13330 msgid ""
13331 "There are many infelicities in the protocol underlying NFS.  Some of these "
13332 "affect B<mkdir>()."
13333 msgstr ""
13334
13335 #. type: Plain text
13336 #: build/C/man2/mkdir.2:234
13337 msgid ""
13338 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
13339 "B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
13340 msgstr ""
13341
13342 #. type: TH
13343 #: build/C/man2/nice.2:31
13344 #, no-wrap
13345 msgid "NICE"
13346 msgstr ""
13347
13348 #. type: TH
13349 #: build/C/man2/nice.2:31 build/C/man2/vhangup.2:28
13350 #, no-wrap
13351 msgid "2007-07-26"
13352 msgstr ""
13353
13354 #. type: Plain text
13355 #: build/C/man2/nice.2:34
13356 msgid "nice - change process priority"
13357 msgstr ""
13358
13359 #. type: Plain text
13360 #: build/C/man2/nice.2:38
13361 msgid "B<int nice(int >I<inc>B<);>"
13362 msgstr ""
13363
13364 #. type: Plain text
13365 #: build/C/man2/nice.2:46
13366 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
13367 msgstr ""
13368
13369 #. type: Plain text
13370 #: build/C/man2/nice.2:56
13371 msgid ""
13372 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
13373 "nice value means a low priority.)  Only the super\\%user may specify a "
13374 "negative increment, or priority increase.  The range for nice values is "
13375 "described in B<getpriority>(2)."
13376 msgstr ""
13377
13378 #. type: Plain text
13379 #: build/C/man2/nice.2:61
13380 msgid ""
13381 "On success, the new nice value is returned (but see NOTES below).  On error, "
13382 "-1 is returned, and I<errno> is set appropriately."
13383 msgstr ""
13384
13385 #. type: Plain text
13386 #: build/C/man2/nice.2:75
13387 msgid ""
13388 "The calling process attempted to increase its priority by supplying a "
13389 "negative I<inc> but has insufficient privileges.  Under Linux the "
13390 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
13391 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
13392 msgstr ""
13393
13394 #. type: Plain text
13395 #: build/C/man2/nice.2:82
13396 msgid ""
13397 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
13398 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
13399 "additional B<EINVAL> error code."
13400 msgstr ""
13401
13402 #. type: Plain text
13403 #: build/C/man2/nice.2:92
13404 msgid ""
13405 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
13406 "value.  However, the Linux syscall and the B<nice>()  library function "
13407 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
13408 "success.  The new nice value can be found using B<getpriority>(2)."
13409 msgstr ""
13410
13411 #. type: Plain text
13412 #: build/C/man2/nice.2:105
13413 msgid ""
13414 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
13415 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
13416 "caller.  With this implementation, a successful call can legitimately return "
13417 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
13418 "check its value when B<nice>()  returns -1."
13419 msgstr ""
13420
13421 #. type: Plain text
13422 #: build/C/man2/nice.2:112
13423 msgid ""
13424 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
13425 "B<capabilities>(7)"
13426 msgstr ""
13427
13428 #. type: TH
13429 #: build/C/man2/pread.2:25
13430 #, no-wrap
13431 msgid "PREAD"
13432 msgstr ""
13433
13434 #. type: Plain text
13435 #: build/C/man2/pread.2:28
13436 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
13437 msgstr ""
13438
13439 #. type: Plain text
13440 #: build/C/man2/pread.2:33
13441 msgid ""
13442 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
13443 ">I<offset>B<);>"
13444 msgstr ""
13445
13446 #. type: Plain text
13447 #: build/C/man2/pread.2:36
13448 msgid ""
13449 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
13450 "off_t >I<offset>B<);>"
13451 msgstr ""
13452
13453 #. type: Plain text
13454 #: build/C/man2/pread.2:46
13455 msgid "B<pread>(), B<pwrite>():"
13456 msgstr ""
13457
13458 #. type: Plain text
13459 #: build/C/man2/pread.2:48
13460 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
13461 msgstr ""
13462
13463 #. type: Plain text
13464 #: build/C/man2/pread.2:64
13465 msgid ""
13466 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
13467 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
13468 "The file offset is not changed."
13469 msgstr ""
13470
13471 #. type: Plain text
13472 #: build/C/man2/pread.2:75
13473 msgid ""
13474 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
13475 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
13476 "changed."
13477 msgstr ""
13478
13479 #. type: Plain text
13480 #: build/C/man2/pread.2:79
13481 msgid "The file referenced by I<fd> must be capable of seeking."
13482 msgstr ""
13483
13484 #. type: Plain text
13485 #: build/C/man2/pread.2:89
13486 msgid ""
13487 "On success, the number of bytes read or written is returned (zero indicates "
13488 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
13489 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
13490 "indicate the error."
13491 msgstr ""
13492
13493 #. type: Plain text
13494 #: build/C/man2/pread.2:104
13495 msgid ""
13496 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
13497 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
13498 "specified for B<write>(2)  or B<lseek>(2)."
13499 msgstr ""
13500
13501 #. type: Plain text
13502 #: build/C/man2/pread.2:115
13503 msgid ""
13504 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
13505 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
13506 "library support (including emulation using B<lseek>(2)  on older kernels "
13507 "without the system calls) was added in glibc 2.1."
13508 msgstr ""
13509
13510 #. type: Plain text
13511 #: build/C/man2/pread.2:125
13512 msgid ""
13513 "The B<pread>()  and B<pwrite>()  system calls are especially useful in "
13514 "multithreaded applications.  They allow multiple threads to perform I/O on "
13515 "the same file descriptor without being affected by changes to the file "
13516 "offset by other threads."
13517 msgstr ""
13518
13519 #. type: Plain text
13520 #: build/C/man2/pread.2:141
13521 msgid ""
13522 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
13523 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
13524 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
13525 "functions transparently deal with the change."
13526 msgstr ""
13527
13528 #. type: Plain text
13529 #: build/C/man2/pread.2:146 build/C/man2/truncate.2:248
13530 msgid ""
13531 "On some 32-bit architectures, the calling signature for these system calls "
13532 "differ, for the reasons described in B<syscall>(2)."
13533 msgstr ""
13534
13535 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
13536 #. type: Plain text
13537 #: build/C/man2/pread.2:158
13538 msgid ""
13539 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
13540 "affect on the location at which B<pwrite>()  writes data.  However, on "
13541 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
13542 "the end of the file, regardless of the value of I<offset>."
13543 msgstr ""
13544
13545 #. type: Plain text
13546 #: build/C/man2/pread.2:163
13547 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
13548 msgstr ""
13549
13550 #. type: TH
13551 #: build/C/man2/set_thread_area.2:8
13552 #, no-wrap
13553 msgid "SET_THREAD_AREA"
13554 msgstr ""
13555
13556 #. type: Plain text
13557 #: build/C/man2/set_thread_area.2:11
13558 msgid "set_thread_area - set a thread local storage (TLS) area"
13559 msgstr ""
13560
13561 #. type: Plain text
13562 #: build/C/man2/set_thread_area.2:17
13563 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
13564 msgstr ""
13565
13566 #. type: Plain text
13567 #: build/C/man2/set_thread_area.2:33
13568 msgid ""
13569 "B<set_thread_area>()  sets an entry in the current thread's thread-local "
13570 "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
13571 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
13572 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
13573 "descriptor pointed to by I<u_info> into the thread's TLS array."
13574 msgstr ""
13575
13576 #. type: Plain text
13577 #: build/C/man2/set_thread_area.2:44
13578 msgid ""
13579 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
13580 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
13581 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
13582 "changed."
13583 msgstr ""
13584
13585 #. type: Plain text
13586 #: build/C/man2/set_thread_area.2:49
13587 msgid ""
13588 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
13589 "set appropriately."
13590 msgstr ""
13591
13592 #. type: TP
13593 #: build/C/man2/set_thread_area.2:56
13594 #, no-wrap
13595 msgid "B<ESRCH>"
13596 msgstr ""
13597
13598 #. type: Plain text
13599 #: build/C/man2/set_thread_area.2:59
13600 msgid "A free TLS entry could not be located."
13601 msgstr ""
13602
13603 #. type: Plain text
13604 #: build/C/man2/set_thread_area.2:63
13605 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
13606 msgstr ""
13607
13608 #. type: Plain text
13609 #: build/C/man2/set_thread_area.2:67
13610 msgid ""
13611 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
13612 "that are intended to be portable."
13613 msgstr ""
13614
13615 #. type: Plain text
13616 #: build/C/man2/set_thread_area.2:72
13617 msgid ""
13618 "Glibc does not provide a wrapper for this system call, since it is generally "
13619 "intended only for use by threading libraries.  In the unlikely event that "
13620 "you want to call it directly, use B<syscall>(2)."
13621 msgstr ""
13622
13623 #. type: Plain text
13624 #: build/C/man2/set_thread_area.2:74
13625 msgid "B<get_thread_area>(2)"
13626 msgstr ""
13627
13628 #. type: TH
13629 #: build/C/man2/setup.2:34
13630 #, no-wrap
13631 msgid "SETUP"
13632 msgstr ""
13633
13634 #. type: TH
13635 #: build/C/man2/setup.2:34 build/C/man2/uname.2:27
13636 #, no-wrap
13637 msgid "2008-12-03"
13638 msgstr ""
13639
13640 #. type: Plain text
13641 #: build/C/man2/setup.2:37
13642 msgid "setup - setup devices and filesystems, mount root filesystem"
13643 msgstr ""
13644
13645 #. type: Plain text
13646 #: build/C/man2/setup.2:41
13647 msgid "B<int setup(void);>"
13648 msgstr ""
13649
13650 #. type: Plain text
13651 #: build/C/man2/setup.2:47
13652 msgid ""
13653 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
13654 "initialization functions for devices and filesystems configured into the "
13655 "kernel and then mounts the root filesystem."
13656 msgstr ""
13657
13658 #. type: Plain text
13659 #: build/C/man2/setup.2:53
13660 msgid ""
13661 "No user process may call B<setup>().  Any user process, even a process with "
13662 "superuser permission, will receive B<EPERM>."
13663 msgstr ""
13664
13665 #. type: Plain text
13666 #: build/C/man2/setup.2:56
13667 msgid "B<setup>()  always returns -1 for a user process."
13668 msgstr ""
13669
13670 #. type: Plain text
13671 #: build/C/man2/setup.2:62
13672 msgid "Since Linux 2.1.121, no such function exists anymore."
13673 msgstr ""
13674
13675 #. type: Plain text
13676 #: build/C/man2/setup.2:65
13677 msgid ""
13678 "This function is Linux-specific, and should not be used in programs intended "
13679 "to be portable, or indeed in any programs at all."
13680 msgstr ""
13681
13682 #. type: Plain text
13683 #: build/C/man2/setup.2:72
13684 msgid ""
13685 "The calling sequence varied: at some times I<setup ()> has had a single "
13686 "argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
13687 msgstr ""
13688
13689 #. type: TH
13690 #: build/C/man5/shells.5:28
13691 #, no-wrap
13692 msgid "SHELLS"
13693 msgstr ""
13694
13695 #. type: Plain text
13696 #: build/C/man5/shells.5:31
13697 msgid "shells - pathnames of valid login shells"
13698 msgstr ""
13699
13700 #. type: Plain text
13701 #: build/C/man5/shells.5:37
13702 msgid ""
13703 "I</etc/shells> is a text file which contains the full pathnames of valid "
13704 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
13705 "queried by other programs."
13706 msgstr ""
13707
13708 #. type: Plain text
13709 #: build/C/man5/shells.5:43
13710 msgid ""
13711 "Be aware that there are programs which consult this file to find out if a "
13712 "user is a normal user; for example, FTP daemons traditionally disallow "
13713 "access to users with shells not included in this file."
13714 msgstr ""
13715
13716 #. type: Plain text
13717 #: build/C/man5/shells.5:45
13718 msgid "I</etc/shells>"
13719 msgstr ""
13720
13721 #. type: Plain text
13722 #: build/C/man5/shells.5:48
13723 msgid "I</etc/shells> may contain the following paths:"
13724 msgstr ""
13725
13726 #. type: Plain text
13727 #: build/C/man5/shells.5:51
13728 msgid "I</bin/sh>"
13729 msgstr ""
13730
13731 #. type: Plain text
13732 #: build/C/man5/shells.5:53
13733 msgid "I</bin/bash>"
13734 msgstr ""
13735
13736 #. type: Plain text
13737 #: build/C/man5/shells.5:55
13738 msgid "I</bin/csh>"
13739 msgstr ""
13740
13741 #. type: Plain text
13742 #: build/C/man5/shells.5:59
13743 msgid "B<chsh>(1), B<getusershell>(3)"
13744 msgstr ""
13745
13746 #. type: TH
13747 #: build/C/man3/sleep.3:26
13748 #, no-wrap
13749 msgid "SLEEP"
13750 msgstr ""
13751
13752 #. type: TH
13753 #: build/C/man3/sleep.3:26
13754 #, no-wrap
13755 msgid "2010-02-03"
13756 msgstr ""
13757
13758 #. type: Plain text
13759 #: build/C/man3/sleep.3:29
13760 msgid "sleep - sleep for the specified number of seconds"
13761 msgstr ""
13762
13763 #. type: Plain text
13764 #: build/C/man3/sleep.3:34
13765 #, no-wrap
13766 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13767 msgstr ""
13768
13769 #. type: Plain text
13770 #: build/C/man3/sleep.3:40
13771 msgid ""
13772 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13773 "elapsed or a signal arrives which is not ignored."
13774 msgstr ""
13775
13776 #. type: Plain text
13777 #: build/C/man3/sleep.3:44
13778 msgid ""
13779 "Zero if the requested time has elapsed, or the number of seconds left to "
13780 "sleep, if the call was interrupted by a signal handler."
13781 msgstr ""
13782
13783 #. type: Plain text
13784 #: build/C/man3/sleep.3:55
13785 msgid ""
13786 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13787 "and B<sleep>()  is a bad idea."
13788 msgstr ""
13789
13790 #. type: Plain text
13791 #: build/C/man3/sleep.3:61
13792 msgid ""
13793 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13794 "B<SIGALRM> while sleeping will cause undefined results."
13795 msgstr ""
13796
13797 #. type: Plain text
13798 #: build/C/man3/sleep.3:66
13799 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13800 msgstr ""
13801
13802 #. type: TH
13803 #: build/C/man3/swab.3:31
13804 #, no-wrap
13805 msgid "SWAB"
13806 msgstr ""
13807
13808 #. type: TH
13809 #: build/C/man3/swab.3:31
13810 #, no-wrap
13811 msgid "2014-02-25"
13812 msgstr ""
13813
13814 #. type: Plain text
13815 #: build/C/man3/swab.3:34
13816 msgid "swab - swap adjacent bytes"
13817 msgstr ""
13818
13819 #. type: Plain text
13820 #: build/C/man3/swab.3:38
13821 #, no-wrap
13822 msgid ""
13823 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13824 "B<#include E<lt>unistd.hE<gt>>\n"
13825 msgstr ""
13826
13827 #. type: Plain text
13828 #: build/C/man3/swab.3:40
13829 #, no-wrap
13830 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13831 msgstr ""
13832
13833 #. type: Plain text
13834 #: build/C/man3/swab.3:55
13835 msgid ""
13836 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13837 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13838 "bytes.  This function is used to exchange data between machines that have "
13839 "different low/high byte ordering."
13840 msgstr ""
13841
13842 #. type: Plain text
13843 #: build/C/man3/swab.3:68
13844 msgid ""
13845 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13846 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13847 "the last byte.  (In other words, I<n> should be even.)"
13848 msgstr ""
13849
13850 #. type: Plain text
13851 #: build/C/man3/swab.3:72
13852 msgid "The B<swab>()  function returns no value."
13853 msgstr ""
13854
13855 #. type: Plain text
13856 #: build/C/man3/swab.3:77
13857 msgid "The B<swab>()  function is thread-safe."
13858 msgstr ""
13859
13860 #. type: Plain text
13861 #: build/C/man3/swab.3:81
13862 msgid "B<bstring>(3)"
13863 msgstr ""
13864
13865 #. type: TH
13866 #: build/C/man2/swapon.2:37
13867 #, no-wrap
13868 msgid "SWAPON"
13869 msgstr ""
13870
13871 #. type: Plain text
13872 #: build/C/man2/swapon.2:40
13873 msgid "swapon, swapoff - start/stop swapping to file/device"
13874 msgstr ""
13875
13876 #. type: Plain text
13877 #: build/C/man2/swapon.2:44
13878 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
13879 msgstr ""
13880
13881 #. type: Plain text
13882 #: build/C/man2/swapon.2:46
13883 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13884 msgstr ""
13885
13886 #. type: Plain text
13887 #: build/C/man2/swapon.2:48
13888 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13889 msgstr ""
13890
13891 #. type: Plain text
13892 #: build/C/man2/swapon.2:50
13893 msgid "B<int swapoff(const char *>I<path>B<);>"
13894 msgstr ""
13895
13896 #. type: Plain text
13897 #: build/C/man2/swapon.2:57
13898 msgid ""
13899 "B<swapon>()  sets the swap area to the file or block device specified by "
13900 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13901 "by I<path>."
13902 msgstr ""
13903
13904 #. type: Plain text
13905 #: build/C/man2/swapon.2:67
13906 msgid ""
13907 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13908 "I<swapflags> argument, the new swap area will have a higher priority than "
13909 "default.  The priority is encoded within I<swapflags> as:"
13910 msgstr ""
13911
13912 #. type: Plain text
13913 #: build/C/man2/swapon.2:70
13914 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13915 msgstr ""
13916
13917 #. type: Plain text
13918 #: build/C/man2/swapon.2:82
13919 msgid ""
13920 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13921 "I<swapflags> argument, freed swap pages will be discarded before they are "
13922 "reused, if the swap device supports the discard or trim operation.  (This "
13923 "may improve performance on some Solid State Devices, but often it does not.)  "
13924 "See also NOTES."
13925 msgstr ""
13926
13927 #. type: Plain text
13928 #: build/C/man2/swapon.2:86
13929 msgid ""
13930 "These functions may be used only by a privileged process (one having the "
13931 "B<CAP_SYS_ADMIN> capability)."
13932 msgstr ""
13933
13934 #. type: SS
13935 #: build/C/man2/swapon.2:86
13936 #, no-wrap
13937 msgid "Priority"
13938 msgstr ""
13939
13940 #. type: Plain text
13941 #: build/C/man2/swapon.2:91
13942 msgid ""
13943 "Each swap area has a priority, either high or low.  The default priority is "
13944 "low.  Within the low-priority areas, newer areas are even lower priority "
13945 "than older areas."
13946 msgstr ""
13947
13948 #. type: Plain text
13949 #: build/C/man2/swapon.2:97
13950 msgid ""
13951 "All priorities set with I<swapflags> are high-priority, higher than "
13952 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13953 "numbers mean higher priority."
13954 msgstr ""
13955
13956 #. type: Plain text
13957 #: build/C/man2/swapon.2:105
13958 msgid ""
13959 "Swap pages are allocated from areas in priority order, highest priority "
13960 "first.  For areas with different priorities, a higher-priority area is "
13961 "exhausted before using a lower-priority area.  If two or more areas have the "
13962 "same priority, and it is the highest priority available, pages are allocated "
13963 "on a round-robin basis between them."
13964 msgstr ""
13965
13966 #. type: Plain text
13967 #: build/C/man2/swapon.2:108
13968 msgid ""
13969 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13970 "exceptions."
13971 msgstr ""
13972
13973 #. type: Plain text
13974 #: build/C/man2/swapon.2:121
13975 msgid ""
13976 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13977 "area."
13978 msgstr ""
13979
13980 #. type: Plain text
13981 #: build/C/man2/swapon.2:126
13982 msgid ""
13983 "The file I<path> exists, but refers neither to a regular file nor to a block "
13984 "device;"
13985 msgstr ""
13986
13987 #. type: Plain text
13988 #: build/C/man2/swapon.2:131
13989 msgid ""
13990 "(B<swapon>())  The indicated path does not contain a valid swap signature or "
13991 "resides on an in-memory filesystem such as tmpfs."
13992 msgstr ""
13993
13994 #. type: TP
13995 #: build/C/man2/swapon.2:131
13996 #, no-wrap
13997 msgid "B<EINVAL> (since Linux 3.4)"
13998 msgstr ""
13999
14000 #. type: Plain text
14001 #: build/C/man2/swapon.2:136
14002 msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
14003 msgstr ""
14004
14005 #. type: Plain text
14006 #: build/C/man2/swapon.2:141
14007 msgid "(B<swapoff>())  I<path> is not currently a swap area."
14008 msgstr ""
14009
14010 #. type: Plain text
14011 #: build/C/man2/swapon.2:149
14012 msgid "The file I<path> does not exist."
14013 msgstr ""
14014
14015 #. type: Plain text
14016 #: build/C/man2/swapon.2:152
14017 msgid "The system has insufficient memory to start swapping."
14018 msgstr ""
14019
14020 #. type: Plain text
14021 #: build/C/man2/swapon.2:159
14022 msgid ""
14023 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
14024 "the maximum number of swap files are already in use; see NOTES below."
14025 msgstr ""
14026
14027 #. type: Plain text
14028 #: build/C/man2/swapon.2:165
14029 msgid ""
14030 "These functions are Linux-specific and should not be used in programs "
14031 "intended to be portable.  The second I<swapflags> argument was introduced in "
14032 "Linux 1.3.2."
14033 msgstr ""
14034
14035 #. type: Plain text
14036 #: build/C/man2/swapon.2:168
14037 msgid "The partition or path must be prepared with B<mkswap>(8)."
14038 msgstr ""
14039
14040 #. type: Plain text
14041 #: build/C/man2/swapon.2:188
14042 msgid ""
14043 "There is an upper limit on the number of swap files that may be used, "
14044 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
14045 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
14046 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
14047 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
14048 "entries for the page migration features of B<mbind>(2)  and "
14049 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
14050 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
14051 msgstr ""
14052
14053 #.  To be precise: 2.6.35.5
14054 #. type: Plain text
14055 #: build/C/man2/swapon.2:199
14056 msgid ""
14057 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
14058 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
14059 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
14060 "set."
14061 msgstr ""
14062
14063 #. type: Plain text
14064 #: build/C/man2/swapon.2:203
14065 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
14066 msgstr ""
14067
14068 #. type: TH
14069 #: build/C/man2/syscall.2:40
14070 #, no-wrap
14071 msgid "SYSCALL"
14072 msgstr ""
14073
14074 #. type: TH
14075 #: build/C/man2/syscall.2:40
14076 #, no-wrap
14077 msgid "2014-01-11"
14078 msgstr ""
14079
14080 #. type: Plain text
14081 #: build/C/man2/syscall.2:43
14082 msgid "syscall - indirect system call"
14083 msgstr ""
14084
14085 #. type: Plain text
14086 #: build/C/man2/syscall.2:48
14087 #, no-wrap
14088 msgid ""
14089 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
14090 "B<#include E<lt>unistd.hE<gt>>\n"
14091 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
14092 msgstr ""
14093
14094 #. type: Plain text
14095 #: build/C/man2/syscall.2:50
14096 #, no-wrap
14097 msgid "B<int syscall(int >I<number>B<, ...);>\n"
14098 msgstr ""
14099
14100 #. type: Plain text
14101 #: build/C/man2/syscall.2:62
14102 msgid ""
14103 "B<syscall>()  is a small library function that invokes the system call whose "
14104 "assembly language interface has the specified I<number> with the specified "
14105 "arguments.  Employing B<syscall>()  is useful, for example, when invoking a "
14106 "system call that has no wrapper function in the C library."
14107 msgstr ""
14108
14109 #. type: Plain text
14110 #: build/C/man2/syscall.2:69
14111 msgid ""
14112 "B<syscall>()  saves CPU registers before making the system call, restores "
14113 "the registers upon return from the system call, and stores any error code "
14114 "returned by the system call in B<errno>(3)  if an error occurs."
14115 msgstr ""
14116
14117 #. type: Plain text
14118 #: build/C/man2/syscall.2:72
14119 msgid ""
14120 "Symbolic constants for system call numbers can be found in the header file "
14121 "I<E<lt>sys/syscall.hE<gt>>."
14122 msgstr ""
14123
14124 #. type: Plain text
14125 #: build/C/man2/syscall.2:78
14126 msgid ""
14127 "The return value is defined by the system call being invoked.  In general, a "
14128 "0 return value indicates success.  A -1 return value indicates an error, and "
14129 "an error code is stored in I<errno>."
14130 msgstr ""
14131
14132 #. type: Plain text
14133 #: build/C/man2/syscall.2:82
14134 msgid "B<syscall>()  first appeared in 4BSD."
14135 msgstr ""
14136
14137 #. type: SS
14138 #: build/C/man2/syscall.2:82
14139 #, no-wrap
14140 msgid "Architecture-specific requirements"
14141 msgstr ""
14142
14143 #. type: Plain text
14144 #: build/C/man2/syscall.2:93
14145 msgid ""
14146 "Each architecture ABI has its own requirements on how system call arguments "
14147 "are passed to the kernel.  For system calls that have a glibc wrapper (e.g., "
14148 "most system calls), glibc handles the details of copying arguments to the "
14149 "right registers in a manner suitable for the architecture.  However, when "
14150 "using B<syscall>()  to make a system call, the caller might need to handle "
14151 "architecture-dependent details; this requirement is most commonly "
14152 "encountered on certain 32-bit architectures."
14153 msgstr ""
14154
14155 #. type: Plain text
14156 #: build/C/man2/syscall.2:104
14157 msgid ""
14158 "For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value "
14159 "(e.g., I<long long>)  must be aligned to an even register pair.  Thus, using "
14160 "B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  "
14161 "system call would be invoked as follows on the ARM architecture with the "
14162 "EABI:"
14163 msgstr ""
14164
14165 #. type: Plain text
14166 #: build/C/man2/syscall.2:111
14167 #, no-wrap
14168 msgid ""
14169 "syscall(SYS_readahead, fd, 0,\n"
14170 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
14171 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
14172 "        count);\n"
14173 msgstr ""
14174
14175 #. type: Plain text
14176 #: build/C/man2/syscall.2:125
14177 msgid ""
14178 "Since the offset argument is 64 bits, and the first argument (I<fd>)  is "
14179 "passed in I<r0>, the caller must manually split and align the 64-bit value "
14180 "so that it is passed in the I<r2>/I<r3> register pair.  That means inserting "
14181 "a dummy value into I<r1> (the second argument of 0)."
14182 msgstr ""
14183
14184 #.  Mike Frysinger: this issue ends up forcing MIPS
14185 #.  O32 to take 7 arguments to syscall()
14186 #. type: Plain text
14187 #: build/C/man2/syscall.2:130
14188 msgid ""
14189 "Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the "
14190 "32-bit ABI, and on Xtensa."
14191 msgstr ""
14192
14193 #. type: Plain text
14194 #: build/C/man2/syscall.2:141
14195 msgid ""
14196 "The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), "
14197 "B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), "
14198 "B<sync_file_range>(2), and B<truncate64>(2)."
14199 msgstr ""
14200
14201 #. type: SS
14202 #: build/C/man2/syscall.2:141
14203 #, no-wrap
14204 msgid "Architecture calling conventions"
14205 msgstr ""
14206
14207 #. type: Plain text
14208 #: build/C/man2/syscall.2:145
14209 msgid ""
14210 "Every architecture has its own way of invoking and passing arguments to the "
14211 "kernel.  The details for various architectures are listed in the two tables "
14212 "below."
14213 msgstr ""
14214
14215 #. type: Plain text
14216 #: build/C/man2/syscall.2:152
14217 msgid ""
14218 "The first table lists the instruction used to transition to kernel mode, "
14219 "(which might not be the fastest or best way to transition to the kernel, so "
14220 "you might have to refer to B<vdso>(7)), the register used to indicate the "
14221 "system call number, and the register used to return the system call result."
14222 msgstr ""
14223
14224 #. type: tbl table
14225 #: build/C/man2/syscall.2:157
14226 #, no-wrap
14227 msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
14228 msgstr ""
14229
14230 #. type: tbl table
14231 #: build/C/man2/syscall.2:159
14232 #, no-wrap
14233 msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
14234 msgstr ""
14235
14236 #. type: tbl table
14237 #: build/C/man2/syscall.2:160
14238 #, no-wrap
14239 msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
14240 msgstr ""
14241
14242 #. type: tbl table
14243 #: build/C/man2/syscall.2:161
14244 #, no-wrap
14245 msgid "blackfin\texcpt 0x0\tP0\tR0\n"
14246 msgstr ""
14247
14248 #. type: tbl table
14249 #: build/C/man2/syscall.2:162
14250 #, no-wrap
14251 msgid "i386\tint $0x80\teax\teax\n"
14252 msgstr ""
14253
14254 #. type: tbl table
14255 #: build/C/man2/syscall.2:163
14256 #, no-wrap
14257 msgid "ia64\tbreak 0x100000\tr15\tr10/r8\tbool error/errno value\n"
14258 msgstr ""
14259
14260 #. type: tbl table
14261 #: build/C/man2/syscall.2:164
14262 #, no-wrap
14263 msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
14264 msgstr ""
14265
14266 #. type: tbl table
14267 #: build/C/man2/syscall.2:165
14268 #, no-wrap
14269 msgid "s390\tsvc 0\tr1\tr2\tNR may be passed directly with\n"
14270 msgstr ""
14271
14272 #. type: tbl table
14273 #: build/C/man2/syscall.2:166
14274 #, no-wrap
14275 msgid "s390x\tsvc 0\tr1\tr2\t\"svc NR\" if NR is less than 256\n"
14276 msgstr ""
14277
14278 #. type: tbl table
14279 #: build/C/man2/syscall.2:167
14280 #, no-wrap
14281 msgid "sparc/32\tt 0x10\tg1\to0\n"
14282 msgstr ""
14283
14284 #. type: tbl table
14285 #: build/C/man2/syscall.2:168
14286 #, no-wrap
14287 msgid "sparc/64\tt 0x6d\tg1\to0\n"
14288 msgstr ""
14289
14290 #. type: tbl table
14291 #: build/C/man2/syscall.2:169
14292 #, no-wrap
14293 msgid "x86_64\tsyscall\trax\trax\n"
14294 msgstr ""
14295
14296 #. type: Plain text
14297 #: build/C/man2/syscall.2:177
14298 msgid "The second table shows the registers used to pass the system call arguments."
14299 msgstr ""
14300
14301 #. type: tbl table
14302 #: build/C/man2/syscall.2:182
14303 #, no-wrap
14304 msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\n"
14305 msgstr ""
14306
14307 #. type: tbl table
14308 #: build/C/man2/syscall.2:184
14309 #, no-wrap
14310 msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
14311 msgstr ""
14312
14313 #. type: tbl table
14314 #: build/C/man2/syscall.2:185
14315 #, no-wrap
14316 msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
14317 msgstr ""
14318
14319 #. type: tbl table
14320 #: build/C/man2/syscall.2:186
14321 #, no-wrap
14322 msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
14323 msgstr ""
14324
14325 #. type: tbl table
14326 #: build/C/man2/syscall.2:187
14327 #, no-wrap
14328 msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
14329 msgstr ""
14330
14331 #. type: tbl table
14332 #: build/C/man2/syscall.2:188
14333 #, no-wrap
14334 msgid "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
14335 msgstr ""
14336
14337 #. type: tbl table
14338 #: build/C/man2/syscall.2:189
14339 #, no-wrap
14340 msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
14341 msgstr ""
14342
14343 #. type: tbl table
14344 #: build/C/man2/syscall.2:190
14345 #, no-wrap
14346 msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14347 msgstr ""
14348
14349 #. type: tbl table
14350 #: build/C/man2/syscall.2:191
14351 #, no-wrap
14352 msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14353 msgstr ""
14354
14355 #. type: tbl table
14356 #: build/C/man2/syscall.2:192
14357 #, no-wrap
14358 msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
14359 msgstr ""
14360
14361 #. type: tbl table
14362 #: build/C/man2/syscall.2:193
14363 #, no-wrap
14364 msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
14365 msgstr ""
14366
14367 #. type: tbl table
14368 #: build/C/man2/syscall.2:194
14369 #, no-wrap
14370 msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
14371 msgstr ""
14372
14373 #. type: Plain text
14374 #: build/C/man2/syscall.2:203
14375 msgid ""
14376 "Note that these tables don't cover the entire calling convention\\(emsome "
14377 "architectures may indiscriminately clobber other registers not listed here."
14378 msgstr ""
14379
14380 #. type: Plain text
14381 #: build/C/man2/syscall.2:210
14382 #, no-wrap
14383 msgid ""
14384 "#define _GNU_SOURCE\n"
14385 "#include E<lt>unistd.hE<gt>\n"
14386 "#include E<lt>sys/syscall.hE<gt>\n"
14387 "#include E<lt>sys/types.hE<gt>\n"
14388 "#include E<lt>signal.hE<gt>\n"
14389 msgstr ""
14390
14391 #. type: Plain text
14392 #: build/C/man2/syscall.2:215
14393 #, no-wrap
14394 msgid ""
14395 "int\n"
14396 "main(int argc, char *argv[])\n"
14397 "{\n"
14398 "    pid_t tid;\n"
14399 msgstr ""
14400
14401 #. type: Plain text
14402 #: build/C/man2/syscall.2:219
14403 #, no-wrap
14404 msgid ""
14405 "    tid = syscall(SYS_gettid);\n"
14406 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
14407 "}\n"
14408 msgstr ""
14409
14410 #. type: Plain text
14411 #: build/C/man2/syscall.2:225
14412 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<vdso>(7)"
14413 msgstr ""
14414
14415 #. type: TH
14416 #: build/C/man2/syscalls.2:31
14417 #, no-wrap
14418 msgid "SYSCALLS"
14419 msgstr ""
14420
14421 #. type: Plain text
14422 #: build/C/man2/syscalls.2:34
14423 msgid "syscalls - Linux system calls"
14424 msgstr ""
14425
14426 #. type: Plain text
14427 #: build/C/man2/syscalls.2:36
14428 msgid "Linux system calls."
14429 msgstr ""
14430
14431 #. type: Plain text
14432 #: build/C/man2/syscalls.2:39
14433 msgid ""
14434 "The system call is the fundamental interface between an application and the "
14435 "Linux kernel."
14436 msgstr ""
14437
14438 #. type: SS
14439 #: build/C/man2/syscalls.2:39
14440 #, no-wrap
14441 msgid "System calls and library wrapper functions"
14442 msgstr ""
14443
14444 #. type: Plain text
14445 #: build/C/man2/syscalls.2:49
14446 msgid ""
14447 "System calls are generally not invoked directly, but rather via wrapper "
14448 "functions in glibc (or perhaps some other library).  For details of direct "
14449 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
14450 "name of the wrapper function is the same as the name of the system call that "
14451 "it invokes.  For example, glibc contains a function B<truncate>()  which "
14452 "invokes the underlying \"truncate\" system call."
14453 msgstr ""
14454
14455 #. type: Plain text
14456 #: build/C/man2/syscalls.2:67
14457 msgid ""
14458 "Often the glibc wrapper function is quite thin, doing little work other than "
14459 "copying arguments to the right registers before invoking the system call, "
14460 "and then setting I<errno> appropriately after the system call has returned.  "
14461 "(These are the same steps that are performed by B<syscall>(2), which can be "
14462 "used to invoke system calls for which no wrapper function is provided.)  "
14463 "Note: system calls indicate a failure by returning a negative error number "
14464 "to the caller; when this happens, the wrapper function negates the returned "
14465 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
14466 "the caller of the wrapper."
14467 msgstr ""
14468
14469 #. type: Plain text
14470 #: build/C/man2/syscalls.2:79
14471 msgid ""
14472 "Sometimes, however, the wrapper function does some extra work before "
14473 "invoking the system call.  For example, nowadays there are (for reasons "
14474 "described below) two related system calls, B<truncate>(2)  and "
14475 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
14476 "of those system calls are provided by the kernel and determines which should "
14477 "be employed."
14478 msgstr ""
14479
14480 #. type: SS
14481 #: build/C/man2/syscalls.2:79
14482 #, no-wrap
14483 msgid "System call list"
14484 msgstr ""
14485
14486 #. type: Plain text
14487 #: build/C/man2/syscalls.2:87
14488 msgid ""
14489 "Below is a list of the Linux system calls.  In the list, the I<Kernel> "
14490 "column indicates the kernel version for those system calls that were new in "
14491 "Linux 2.2, or have appeared since that kernel version.  Note the following "
14492 "points:"
14493 msgstr ""
14494
14495 #. type: Plain text
14496 #: build/C/man2/syscalls.2:90
14497 msgid ""
14498 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
14499 "or earlier."
14500 msgstr ""
14501
14502 #. type: Plain text
14503 #: build/C/man2/syscalls.2:96
14504 msgid ""
14505 "Where a system call is marked \"1.2\" this means the system call probably "
14506 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
14507 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
14508 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
14509 msgstr ""
14510
14511 #.  Was kernel 2.0 started from a branch of 1.2.10?
14512 #.  At least from the timestamps of the tarballs of
14513 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
14514 #.  fact the diff doesn't seem very clear, the
14515 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
14516 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
14517 #.  timestamps of some files in 1.3.0 seem to be older
14518 #.  than those in 1.2.10.  All of this suggests
14519 #.  that there might not have been a clean branch point.
14520 #. type: Plain text
14521 #: build/C/man2/syscalls.2:112
14522 msgid ""
14523 "Where a system call is marked \"2.0\" this means the system call probably "
14524 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
14525 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
14526 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
14527 "series.)"
14528 msgstr ""
14529
14530 #. type: Plain text
14531 #: build/C/man2/syscalls.2:118
14532 msgid ""
14533 "Where a system call is marked \"2.2\" this means the system call probably "
14534 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
14535 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
14536 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
14537 msgstr ""
14538
14539 #. type: Plain text
14540 #: build/C/man2/syscalls.2:124
14541 msgid ""
14542 "Where a system call is marked \"2.4\" this means the system call probably "
14543 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
14544 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
14545 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
14546 msgstr ""
14547
14548 #. type: Plain text
14549 #: build/C/man2/syscalls.2:130
14550 msgid ""
14551 "Where a system call is marked \"2.6\" this means the system call probably "
14552 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
14553 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
14554 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
14555 msgstr ""
14556
14557 #. type: Plain text
14558 #: build/C/man2/syscalls.2:137
14559 msgid ""
14560 "Starting with kernel 2.6.0, the development model changed, and new system "
14561 "calls may appear in each 2.6.x release.  In this case, the exact version "
14562 "number where the system call appeared is shown.  This convention continues "
14563 "with the 3.x kernel series, which followed on from kernel 2.6.39."
14564 msgstr ""
14565
14566 #. type: Plain text
14567 #: build/C/man2/syscalls.2:145
14568 msgid ""
14569 "In some cases, a system call was added to a stable kernel series after it "
14570 "branched from the previous stable kernel series, and then backported into "
14571 "the earlier stable kernel series.  For example some system calls that "
14572 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
14573 "When this is so, the version where the system call appeared in both of the "
14574 "major kernel series is listed."
14575 msgstr ""
14576
14577 #
14578 #.  Looking at scripts/checksyscalls.sh in the kernel source is
14579 #.  instructive about x86 specifics.
14580 #. type: Plain text
14581 #: build/C/man2/syscalls.2:152
14582 msgid ""
14583 "The list of system calls that are available as at kernel 3.9 (or in a few "
14584 "cases only on older kernels) is as follows:"
14585 msgstr ""
14586
14587 #. type: tbl table
14588 #: build/C/man2/syscalls.2:157
14589 #, no-wrap
14590 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
14591 msgstr ""
14592
14593 #. type: tbl table
14594 #: build/C/man2/syscalls.2:159
14595 #, no-wrap
14596 msgid "B<_llseek>(2)\t1.2\n"
14597 msgstr ""
14598
14599 #. type: tbl table
14600 #: build/C/man2/syscalls.2:160
14601 #, no-wrap
14602 msgid "B<_newselect>(2)\t2.0\n"
14603 msgstr ""
14604
14605 #. type: tbl table
14606 #: build/C/man2/syscalls.2:161
14607 #, no-wrap
14608 msgid "B<_sysctl>(2)\t2.0\n"
14609 msgstr ""
14610
14611 #. type: tbl table
14612 #: build/C/man2/syscalls.2:162
14613 #, no-wrap
14614 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14615 msgstr ""
14616
14617 #. type: tbl table
14618 #: build/C/man2/syscalls.2:163
14619 #, no-wrap
14620 msgid "B<accept4>(2)\t2.6.28\n"
14621 msgstr ""
14622
14623 #. type: tbl table
14624 #: build/C/man2/syscalls.2:164
14625 #, no-wrap
14626 msgid "B<access>(2)\t1.0\n"
14627 msgstr ""
14628
14629 #. type: tbl table
14630 #: build/C/man2/syscalls.2:165
14631 #, no-wrap
14632 msgid "B<acct>(2)\t1.0\n"
14633 msgstr ""
14634
14635 #. type: tbl table
14636 #: build/C/man2/syscalls.2:166
14637 #, no-wrap
14638 msgid "B<add_key>(2)\t2.6.11\n"
14639 msgstr ""
14640
14641 #. type: tbl table
14642 #: build/C/man2/syscalls.2:167
14643 #, no-wrap
14644 msgid "B<adjtimex>(2)\t1.0\n"
14645 msgstr ""
14646
14647 #. type: tbl table
14648 #: build/C/man2/syscalls.2:168
14649 #, no-wrap
14650 msgid "B<alarm>(2)\t1.0\n"
14651 msgstr ""
14652
14653 #. type: tbl table
14654 #: build/C/man2/syscalls.2:169
14655 #, no-wrap
14656 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14657 msgstr ""
14658
14659 #. type: tbl table
14660 #: build/C/man2/syscalls.2:170
14661 #, no-wrap
14662 msgid "B<bdflush>(2)\t1.2\tT{\n"
14663 msgstr ""
14664
14665 #. type: tbl table
14666 #: build/C/man2/syscalls.2:171
14667 #, no-wrap
14668 msgid "Deprecated (does nothing)\n"
14669 msgstr ""
14670
14671 #. type: tbl table
14672 #: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:184 build/C/man2/syscalls.2:314 build/C/man2/syscalls.2:386 build/C/man2/syscalls.2:402 build/C/man2/syscalls.2:414
14673 #, no-wrap
14674 msgid ".br\n"
14675 msgstr ""
14676
14677 #. type: tbl table
14678 #: build/C/man2/syscalls.2:173
14679 #, no-wrap
14680 msgid "since 2.6\n"
14681 msgstr ""
14682
14683 #. type: tbl table
14684 #: build/C/man2/syscalls.2:174 build/C/man2/syscalls.2:186 build/C/man2/syscalls.2:316 build/C/man2/syscalls.2:388 build/C/man2/syscalls.2:404 build/C/man2/syscalls.2:416 build/C/man2/syscalls.2:544 build/C/man2/syscalls.2:589
14685 #, no-wrap
14686 msgid "T}\n"
14687 msgstr ""
14688
14689 #. type: tbl table
14690 #: build/C/man2/syscalls.2:175
14691 #, no-wrap
14692 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14693 msgstr ""
14694
14695 #. type: tbl table
14696 #: build/C/man2/syscalls.2:176
14697 #, no-wrap
14698 msgid "B<brk>(2)\t1.0\n"
14699 msgstr ""
14700
14701 #. type: tbl table
14702 #: build/C/man2/syscalls.2:177
14703 #, no-wrap
14704 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
14705 msgstr ""
14706
14707 #. type: tbl table
14708 #: build/C/man2/syscalls.2:178
14709 #, no-wrap
14710 msgid "B<capget>(2)\t2.2\n"
14711 msgstr ""
14712
14713 #. type: tbl table
14714 #: build/C/man2/syscalls.2:179
14715 #, no-wrap
14716 msgid "B<capset>(2)\t2.2\n"
14717 msgstr ""
14718
14719 #. type: tbl table
14720 #: build/C/man2/syscalls.2:180
14721 #, no-wrap
14722 msgid "B<chdir>(2)\t1.0\n"
14723 msgstr ""
14724
14725 #. type: tbl table
14726 #: build/C/man2/syscalls.2:181
14727 #, no-wrap
14728 msgid "B<chmod>(2)\t1.0\n"
14729 msgstr ""
14730
14731 #. type: tbl table
14732 #: build/C/man2/syscalls.2:182
14733 #, no-wrap
14734 msgid "B<chown>(2)\t2.2\tT{\n"
14735 msgstr ""
14736
14737 #. type: tbl table
14738 #: build/C/man2/syscalls.2:183 build/C/man2/syscalls.2:313
14739 #, no-wrap
14740 msgid "See B<chown>(2) for\n"
14741 msgstr ""
14742
14743 #. type: tbl table
14744 #: build/C/man2/syscalls.2:185 build/C/man2/syscalls.2:315
14745 #, no-wrap
14746 msgid "version details\n"
14747 msgstr ""
14748
14749 #. type: tbl table
14750 #: build/C/man2/syscalls.2:187
14751 #, no-wrap
14752 msgid "B<chown32>(2)\t2.4\n"
14753 msgstr ""
14754
14755 #. type: tbl table
14756 #: build/C/man2/syscalls.2:188
14757 #, no-wrap
14758 msgid "B<chroot>(2)\t1.0\n"
14759 msgstr ""
14760
14761 #. type: tbl table
14762 #: build/C/man2/syscalls.2:189
14763 #, no-wrap
14764 msgid "B<clock_adjtime>(2)\t2.6.39\n"
14765 msgstr ""
14766
14767 #. type: tbl table
14768 #: build/C/man2/syscalls.2:190
14769 #, no-wrap
14770 msgid "B<clock_getres>(2)\t2.6\n"
14771 msgstr ""
14772
14773 #. type: tbl table
14774 #: build/C/man2/syscalls.2:191
14775 #, no-wrap
14776 msgid "B<clock_gettime>(2)\t2.6\n"
14777 msgstr ""
14778
14779 #. type: tbl table
14780 #: build/C/man2/syscalls.2:192
14781 #, no-wrap
14782 msgid "B<clock_nanosleep>(2)\t2.6\n"
14783 msgstr ""
14784
14785 #. type: tbl table
14786 #: build/C/man2/syscalls.2:193
14787 #, no-wrap
14788 msgid "B<clock_settime>(2)\t2.6\n"
14789 msgstr ""
14790
14791 #. type: tbl table
14792 #: build/C/man2/syscalls.2:194
14793 #, no-wrap
14794 msgid "B<clone>(2)\t1.0\n"
14795 msgstr ""
14796
14797 #. type: tbl table
14798 #: build/C/man2/syscalls.2:195
14799 #, no-wrap
14800 msgid "B<close>(2)\t1.0\n"
14801 msgstr ""
14802
14803 #. type: tbl table
14804 #: build/C/man2/syscalls.2:196
14805 #, no-wrap
14806 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14807 msgstr ""
14808
14809 #. type: tbl table
14810 #: build/C/man2/syscalls.2:197
14811 #, no-wrap
14812 msgid "B<creat>(2)\t1.0\n"
14813 msgstr ""
14814
14815 #. type: tbl table
14816 #: build/C/man2/syscalls.2:198
14817 #, no-wrap
14818 msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
14819 msgstr ""
14820
14821 #. type: tbl table
14822 #: build/C/man2/syscalls.2:199
14823 #, no-wrap
14824 msgid "B<delete_module>(2)\t1.0\n"
14825 msgstr ""
14826
14827 #. type: tbl table
14828 #: build/C/man2/syscalls.2:200
14829 #, no-wrap
14830 msgid "B<dup>(2)\t1.0\n"
14831 msgstr ""
14832
14833 #. type: tbl table
14834 #: build/C/man2/syscalls.2:201
14835 #, no-wrap
14836 msgid "B<dup2>(2)\t1.0\n"
14837 msgstr ""
14838
14839 #. type: tbl table
14840 #: build/C/man2/syscalls.2:202
14841 #, no-wrap
14842 msgid "B<dup3>(2)\t2.6.27\n"
14843 msgstr ""
14844
14845 #. type: tbl table
14846 #: build/C/man2/syscalls.2:203
14847 #, no-wrap
14848 msgid "B<epoll_create>(2)\t2.6\n"
14849 msgstr ""
14850
14851 #. type: tbl table
14852 #: build/C/man2/syscalls.2:204
14853 #, no-wrap
14854 msgid "B<epoll_create1>(2)\t2.6.27\n"
14855 msgstr ""
14856
14857 #. type: tbl table
14858 #: build/C/man2/syscalls.2:205
14859 #, no-wrap
14860 msgid "B<epoll_ctl>(2)\t2.6\n"
14861 msgstr ""
14862
14863 #. type: tbl table
14864 #: build/C/man2/syscalls.2:206
14865 #, no-wrap
14866 msgid "B<epoll_pwait>(2)\t2.6.19\n"
14867 msgstr ""
14868
14869 #. type: tbl table
14870 #: build/C/man2/syscalls.2:207
14871 #, no-wrap
14872 msgid "B<epoll_wait>(2)\t2.6\n"
14873 msgstr ""
14874
14875 #. type: tbl table
14876 #: build/C/man2/syscalls.2:208
14877 #, no-wrap
14878 msgid "B<eventfd>(2)\t2.6.22\n"
14879 msgstr ""
14880
14881 #. type: tbl table
14882 #: build/C/man2/syscalls.2:209
14883 #, no-wrap
14884 msgid "B<eventfd2>(2)\t2.6.27\n"
14885 msgstr ""
14886
14887 #. type: tbl table
14888 #: build/C/man2/syscalls.2:210
14889 #, no-wrap
14890 msgid "B<execve>(2)\t1.0\n"
14891 msgstr ""
14892
14893 #. type: tbl table
14894 #: build/C/man2/syscalls.2:211
14895 #, no-wrap
14896 msgid "B<exit>(2)\t1.0\n"
14897 msgstr ""
14898
14899 #. type: tbl table
14900 #: build/C/man2/syscalls.2:212
14901 #, no-wrap
14902 msgid "B<exit_group>(2)\t2.6\n"
14903 msgstr ""
14904
14905 #. type: tbl table
14906 #: build/C/man2/syscalls.2:213
14907 #, no-wrap
14908 msgid "B<faccessat>(2)\t2.6.16\n"
14909 msgstr ""
14910
14911 #. type: tbl table
14912 #: build/C/man2/syscalls.2:214
14913 #, no-wrap
14914 msgid "B<fadvise64>(2)\t2.6\n"
14915 msgstr ""
14916
14917 #.  Implements \fBposix_fadvise\fP(2)
14918 #. type: tbl table
14919 #: build/C/man2/syscalls.2:216
14920 #, no-wrap
14921 msgid "B<fadvise64_64>(2)\t2.6\n"
14922 msgstr ""
14923
14924 #. type: tbl table
14925 #: build/C/man2/syscalls.2:217
14926 #, no-wrap
14927 msgid "B<fallocate>(2)\t2.6.23\n"
14928 msgstr ""
14929
14930 #. type: tbl table
14931 #: build/C/man2/syscalls.2:218
14932 #, no-wrap
14933 msgid "B<fanotify_init>(2)\t2.6.37\n"
14934 msgstr ""
14935
14936 #. type: tbl table
14937 #: build/C/man2/syscalls.2:219
14938 #, no-wrap
14939 msgid "B<fanotify_mark>(2)\t2.6.37\n"
14940 msgstr ""
14941
14942 #.  The fanotify calls were added in Linux 2.6.36,
14943 #.  but disabled while the API was finalized.
14944 #. type: tbl table
14945 #: build/C/man2/syscalls.2:222
14946 #, no-wrap
14947 msgid "B<fchdir>(2)\t1.0\n"
14948 msgstr ""
14949
14950 #. type: tbl table
14951 #: build/C/man2/syscalls.2:223
14952 #, no-wrap
14953 msgid "B<fchmod>(2)\t1.0\n"
14954 msgstr ""
14955
14956 #. type: tbl table
14957 #: build/C/man2/syscalls.2:224
14958 #, no-wrap
14959 msgid "B<fchmodat>(2)\t2.6.16\n"
14960 msgstr ""
14961
14962 #. type: tbl table
14963 #: build/C/man2/syscalls.2:225
14964 #, no-wrap
14965 msgid "B<fchown>(2)\t1.0\n"
14966 msgstr ""
14967
14968 #. type: tbl table
14969 #: build/C/man2/syscalls.2:226
14970 #, no-wrap
14971 msgid "B<fchown32>(2)\t2.4\n"
14972 msgstr ""
14973
14974 #. type: tbl table
14975 #: build/C/man2/syscalls.2:227
14976 #, no-wrap
14977 msgid "B<fchownat>(2)\t2.6.16\n"
14978 msgstr ""
14979
14980 #. type: tbl table
14981 #: build/C/man2/syscalls.2:228
14982 #, no-wrap
14983 msgid "B<fcntl>(2)\t1.0\n"
14984 msgstr ""
14985
14986 #. type: tbl table
14987 #: build/C/man2/syscalls.2:229
14988 #, no-wrap
14989 msgid "B<fcntl64>(2)\t2.4\n"
14990 msgstr ""
14991
14992 #. type: tbl table
14993 #: build/C/man2/syscalls.2:230
14994 #, no-wrap
14995 msgid "B<fdatasync>(2)\t2.0\n"
14996 msgstr ""
14997
14998 #. type: tbl table
14999 #: build/C/man2/syscalls.2:231
15000 #, no-wrap
15001 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
15002 msgstr ""
15003
15004 #. type: tbl table
15005 #: build/C/man2/syscalls.2:232
15006 #, no-wrap
15007 msgid "B<finit_module>(2)\t3.8\n"
15008 msgstr ""
15009
15010 #. type: tbl table
15011 #: build/C/man2/syscalls.2:233
15012 #, no-wrap
15013 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
15014 msgstr ""
15015
15016 #. type: tbl table
15017 #: build/C/man2/syscalls.2:234
15018 #, no-wrap
15019 msgid "B<flock>(2)\t2.0\n"
15020 msgstr ""
15021
15022 #. type: tbl table
15023 #: build/C/man2/syscalls.2:235
15024 #, no-wrap
15025 msgid "B<fork>(2)\t1.0\n"
15026 msgstr ""
15027
15028 #. type: tbl table
15029 #: build/C/man2/syscalls.2:236
15030 #, no-wrap
15031 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
15032 msgstr ""
15033
15034 #. type: tbl table
15035 #: build/C/man2/syscalls.2:237
15036 #, no-wrap
15037 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
15038 msgstr ""
15039
15040 #. type: tbl table
15041 #: build/C/man2/syscalls.2:238
15042 #, no-wrap
15043 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
15044 msgstr ""
15045
15046 #. type: tbl table
15047 #: build/C/man2/syscalls.2:239
15048 #, no-wrap
15049 msgid "B<fstat>(2)\t1.0\n"
15050 msgstr ""
15051
15052 #. type: tbl table
15053 #: build/C/man2/syscalls.2:240
15054 #, no-wrap
15055 msgid "B<fstat64>(2)\t2.4\n"
15056 msgstr ""
15057
15058 #. type: tbl table
15059 #: build/C/man2/syscalls.2:241
15060 #, no-wrap
15061 msgid "B<fstatat64>(2)\t2.6.16\n"
15062 msgstr ""
15063
15064 #. type: tbl table
15065 #: build/C/man2/syscalls.2:242
15066 #, no-wrap
15067 msgid "B<fstatfs>(2)\t1.0\n"
15068 msgstr ""
15069
15070 #. type: tbl table
15071 #: build/C/man2/syscalls.2:243
15072 #, no-wrap
15073 msgid "B<fstatfs64>(2)\t2.6\n"
15074 msgstr ""
15075
15076 #. type: tbl table
15077 #: build/C/man2/syscalls.2:244
15078 #, no-wrap
15079 msgid "B<fsync>(2)\t1.0\t1.0\n"
15080 msgstr ""
15081
15082 #. type: tbl table
15083 #: build/C/man2/syscalls.2:245
15084 #, no-wrap
15085 msgid "B<ftruncate>(2)\t1.0\n"
15086 msgstr ""
15087
15088 #. type: tbl table
15089 #: build/C/man2/syscalls.2:246
15090 #, no-wrap
15091 msgid "B<ftruncate64>(2)\t2.4\n"
15092 msgstr ""
15093
15094 #. type: tbl table
15095 #: build/C/man2/syscalls.2:247
15096 #, no-wrap
15097 msgid "B<futex>(2)\t2.6\n"
15098 msgstr ""
15099
15100 #. type: tbl table
15101 #: build/C/man2/syscalls.2:248
15102 #, no-wrap
15103 msgid "B<futimesat>(2)\t2.6.16\n"
15104 msgstr ""
15105
15106 #. type: tbl table
15107 #: build/C/man2/syscalls.2:249
15108 #, no-wrap
15109 msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
15110 msgstr ""
15111
15112 #. type: tbl table
15113 #: build/C/man2/syscalls.2:250
15114 #, no-wrap
15115 msgid "B<get_mempolicy>(2)\t2.6.6\n"
15116 msgstr ""
15117
15118 #. type: tbl table
15119 #: build/C/man2/syscalls.2:251
15120 #, no-wrap
15121 msgid "B<get_robust_list>(2)\t2.6.17\n"
15122 msgstr ""
15123
15124 #. type: tbl table
15125 #: build/C/man2/syscalls.2:252
15126 #, no-wrap
15127 msgid "B<get_thread_area>(2)\t2.6\n"
15128 msgstr ""
15129
15130 #. type: tbl table
15131 #: build/C/man2/syscalls.2:253
15132 #, no-wrap
15133 msgid "B<getcpu>(2)\t2.6.19\n"
15134 msgstr ""
15135
15136 #. type: tbl table
15137 #: build/C/man2/syscalls.2:254
15138 #, no-wrap
15139 msgid "B<getcwd>(2)\t2.2\n"
15140 msgstr ""
15141
15142 #. type: tbl table
15143 #: build/C/man2/syscalls.2:255
15144 #, no-wrap
15145 msgid "B<getdents>(2)\t2.0\n"
15146 msgstr ""
15147
15148 #. type: tbl table
15149 #: build/C/man2/syscalls.2:256
15150 #, no-wrap
15151 msgid "B<getdents64>(2)\t2.4\n"
15152 msgstr ""
15153
15154 #. type: tbl table
15155 #: build/C/man2/syscalls.2:257
15156 #, no-wrap
15157 msgid "B<getegid>(2)\t1.0\n"
15158 msgstr ""
15159
15160 #. type: tbl table
15161 #: build/C/man2/syscalls.2:258
15162 #, no-wrap
15163 msgid "B<getegid32>(2)\t2.4\n"
15164 msgstr ""
15165
15166 #. type: tbl table
15167 #: build/C/man2/syscalls.2:259
15168 #, no-wrap
15169 msgid "B<geteuid>(2)\t1.0\n"
15170 msgstr ""
15171
15172 #. type: tbl table
15173 #: build/C/man2/syscalls.2:260
15174 #, no-wrap
15175 msgid "B<geteuid32>(2)\t2.4\n"
15176 msgstr ""
15177
15178 #. type: tbl table
15179 #: build/C/man2/syscalls.2:261
15180 #, no-wrap
15181 msgid "B<getgid>(2)\t1.0\n"
15182 msgstr ""
15183
15184 #. type: tbl table
15185 #: build/C/man2/syscalls.2:262
15186 #, no-wrap
15187 msgid "B<getgid32>(2)\t2.4\n"
15188 msgstr ""
15189
15190 #. type: tbl table
15191 #: build/C/man2/syscalls.2:263
15192 #, no-wrap
15193 msgid "B<getgroups>(2)\t1.0\n"
15194 msgstr ""
15195
15196 #. type: tbl table
15197 #: build/C/man2/syscalls.2:264
15198 #, no-wrap
15199 msgid "B<getgroups32>(2)\t2.4\n"
15200 msgstr ""
15201
15202 #. type: tbl table
15203 #: build/C/man2/syscalls.2:265
15204 #, no-wrap
15205 msgid "B<getitimer>(2)\t1.0\n"
15206 msgstr ""
15207
15208 #. type: tbl table
15209 #: build/C/man2/syscalls.2:266
15210 #, no-wrap
15211 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15212 msgstr ""
15213
15214 #. type: tbl table
15215 #: build/C/man2/syscalls.2:267
15216 #, no-wrap
15217 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
15218 msgstr ""
15219
15220 #. type: tbl table
15221 #: build/C/man2/syscalls.2:268
15222 #, no-wrap
15223 msgid "B<getpgid>(2)\t1.0\n"
15224 msgstr ""
15225
15226 #. type: tbl table
15227 #: build/C/man2/syscalls.2:269
15228 #, no-wrap
15229 msgid "B<getpgrp>(2)\t1.0\n"
15230 msgstr ""
15231
15232 #. type: tbl table
15233 #: build/C/man2/syscalls.2:270
15234 #, no-wrap
15235 msgid "B<getpid>(2)\t1.0\n"
15236 msgstr ""
15237
15238 #. type: tbl table
15239 #: build/C/man2/syscalls.2:271
15240 #, no-wrap
15241 msgid "B<getppid>(2)\t1.0\n"
15242 msgstr ""
15243
15244 #. type: tbl table
15245 #: build/C/man2/syscalls.2:272
15246 #, no-wrap
15247 msgid "B<getpriority>(2)\t1.0\n"
15248 msgstr ""
15249
15250 #. type: tbl table
15251 #: build/C/man2/syscalls.2:273
15252 #, no-wrap
15253 msgid "B<getresgid>(2)\t2.2\n"
15254 msgstr ""
15255
15256 #. type: tbl table
15257 #: build/C/man2/syscalls.2:274
15258 #, no-wrap
15259 msgid "B<getresgid32>(2)\t2.4\n"
15260 msgstr ""
15261
15262 #. type: tbl table
15263 #: build/C/man2/syscalls.2:275
15264 #, no-wrap
15265 msgid "B<getresuid>(2)\t2.2\n"
15266 msgstr ""
15267
15268 #. type: tbl table
15269 #: build/C/man2/syscalls.2:276
15270 #, no-wrap
15271 msgid "B<getresuid32>(2)\t2.4\n"
15272 msgstr ""
15273
15274 #. type: tbl table
15275 #: build/C/man2/syscalls.2:277
15276 #, no-wrap
15277 msgid "B<getrlimit>(2)\t1.0\n"
15278 msgstr ""
15279
15280 #. type: tbl table
15281 #: build/C/man2/syscalls.2:278
15282 #, no-wrap
15283 msgid "B<getrusage>(2)\t1.0\n"
15284 msgstr ""
15285
15286 #. type: tbl table
15287 #: build/C/man2/syscalls.2:279
15288 #, no-wrap
15289 msgid "B<getsid>(2)\t2.0\n"
15290 msgstr ""
15291
15292 #. type: tbl table
15293 #: build/C/man2/syscalls.2:280
15294 #, no-wrap
15295 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15296 msgstr ""
15297
15298 #. type: tbl table
15299 #: build/C/man2/syscalls.2:281
15300 #, no-wrap
15301 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15302 msgstr ""
15303
15304 #. type: tbl table
15305 #: build/C/man2/syscalls.2:282
15306 #, no-wrap
15307 msgid "B<gettid>(2)\t2.4.11\n"
15308 msgstr ""
15309
15310 #. type: tbl table
15311 #: build/C/man2/syscalls.2:283
15312 #, no-wrap
15313 msgid "B<gettimeofday>(2)\t1.0\n"
15314 msgstr ""
15315
15316 #. type: tbl table
15317 #: build/C/man2/syscalls.2:284
15318 #, no-wrap
15319 msgid "B<getuid>(2)\t1.0\n"
15320 msgstr ""
15321
15322 #. type: tbl table
15323 #: build/C/man2/syscalls.2:285
15324 #, no-wrap
15325 msgid "B<getuid32>(2)\t2.4\n"
15326 msgstr ""
15327
15328 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
15329 #. type: tbl table
15330 #: build/C/man2/syscalls.2:287
15331 #, no-wrap
15332 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
15333 msgstr ""
15334
15335 #. type: tbl table
15336 #: build/C/man2/syscalls.2:288
15337 #, no-wrap
15338 msgid "B<init_module>(2)\t1.0\n"
15339 msgstr ""
15340
15341 #. type: tbl table
15342 #: build/C/man2/syscalls.2:289
15343 #, no-wrap
15344 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
15345 msgstr ""
15346
15347 #. type: tbl table
15348 #: build/C/man2/syscalls.2:290
15349 #, no-wrap
15350 msgid "B<inotify_init>(2)\t2.6.13\n"
15351 msgstr ""
15352
15353 #. type: tbl table
15354 #: build/C/man2/syscalls.2:291
15355 #, no-wrap
15356 msgid "B<inotify_init1>(2)\t2.6.27\n"
15357 msgstr ""
15358
15359 #. type: tbl table
15360 #: build/C/man2/syscalls.2:292
15361 #, no-wrap
15362 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
15363 msgstr ""
15364
15365 #. type: tbl table
15366 #: build/C/man2/syscalls.2:293
15367 #, no-wrap
15368 msgid "B<io_cancel>(2)\t2.6\n"
15369 msgstr ""
15370
15371 #. type: tbl table
15372 #: build/C/man2/syscalls.2:294
15373 #, no-wrap
15374 msgid "B<io_destroy>(2)\t2.6\n"
15375 msgstr ""
15376
15377 #. type: tbl table
15378 #: build/C/man2/syscalls.2:295
15379 #, no-wrap
15380 msgid "B<io_getevents>(2)\t2.6\n"
15381 msgstr ""
15382
15383 #. type: tbl table
15384 #: build/C/man2/syscalls.2:296
15385 #, no-wrap
15386 msgid "B<io_setup>(2)\t2.6\n"
15387 msgstr ""
15388
15389 #. type: tbl table
15390 #: build/C/man2/syscalls.2:297
15391 #, no-wrap
15392 msgid "B<io_submit>(2)\t2.6\n"
15393 msgstr ""
15394
15395 #. type: tbl table
15396 #: build/C/man2/syscalls.2:298
15397 #, no-wrap
15398 msgid "B<ioctl>(2)\t1.0\n"
15399 msgstr ""
15400
15401 #. type: tbl table
15402 #: build/C/man2/syscalls.2:299
15403 #, no-wrap
15404 msgid "B<ioperm>(2)\t1.0\n"
15405 msgstr ""
15406
15407 #. type: tbl table
15408 #: build/C/man2/syscalls.2:300
15409 #, no-wrap
15410 msgid "B<iopl>(2)\t1.0\n"
15411 msgstr ""
15412
15413 #. type: tbl table
15414 #: build/C/man2/syscalls.2:301
15415 #, no-wrap
15416 msgid "B<ioprio_get>(2)\t2.6.13\n"
15417 msgstr ""
15418
15419 #. type: tbl table
15420 #: build/C/man2/syscalls.2:302
15421 #, no-wrap
15422 msgid "B<ioprio_set>(2)\t2.6.13\n"
15423 msgstr ""
15424
15425 #. type: tbl table
15426 #: build/C/man2/syscalls.2:303
15427 #, no-wrap
15428 msgid "B<ipc>(2)\t1.0\n"
15429 msgstr ""
15430
15431 #.  Implements System V IPC calls
15432 #. type: tbl table
15433 #: build/C/man2/syscalls.2:305
15434 #, no-wrap
15435 msgid "B<kcmp>(2)\t3.5\n"
15436 msgstr ""
15437
15438 #. type: tbl table
15439 #: build/C/man2/syscalls.2:306
15440 #, no-wrap
15441 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
15442 msgstr ""
15443
15444 #. type: tbl table
15445 #: build/C/man2/syscalls.2:307
15446 #, no-wrap
15447 msgid "B<kexec_load>(2)\t2.6.13\n"
15448 msgstr ""
15449
15450 #.  The entry in the syscall table was reserved starting in 2.6.7
15451 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
15452 #. type: tbl table
15453 #: build/C/man2/syscalls.2:310
15454 #, no-wrap
15455 msgid "B<keyctl>(2)\t2.6.11\n"
15456 msgstr ""
15457
15458 #. type: tbl table
15459 #: build/C/man2/syscalls.2:311
15460 #, no-wrap
15461 msgid "B<kill>(2)\t1.0\n"
15462 msgstr ""
15463
15464 #. type: tbl table
15465 #: build/C/man2/syscalls.2:312
15466 #, no-wrap
15467 msgid "B<lchown>(2)\t1.0\tT{\n"
15468 msgstr ""
15469
15470 #. type: tbl table
15471 #: build/C/man2/syscalls.2:317
15472 #, no-wrap
15473 msgid "B<lchown32>(2)\t2.4\n"
15474 msgstr ""
15475
15476 #. type: tbl table
15477 #: build/C/man2/syscalls.2:318
15478 #, no-wrap
15479 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
15480 msgstr ""
15481
15482 #. type: tbl table
15483 #: build/C/man2/syscalls.2:319
15484 #, no-wrap
15485 msgid "B<link>(2)\t1.0\n"
15486 msgstr ""
15487
15488 #. type: tbl table
15489 #: build/C/man2/syscalls.2:320
15490 #, no-wrap
15491 msgid "B<linkat>(2)\t2.6.16\n"
15492 msgstr ""
15493
15494 #. type: tbl table
15495 #: build/C/man2/syscalls.2:321
15496 #, no-wrap
15497 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15498 msgstr ""
15499
15500 #. type: tbl table
15501 #: build/C/man2/syscalls.2:322
15502 #, no-wrap
15503 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
15504 msgstr ""
15505
15506 #. type: tbl table
15507 #: build/C/man2/syscalls.2:323
15508 #, no-wrap
15509 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
15510 msgstr ""
15511
15512 #. type: tbl table
15513 #: build/C/man2/syscalls.2:324
15514 #, no-wrap
15515 msgid "B<lookup_dcookie>(2)\t2.6\n"
15516 msgstr ""
15517
15518 #. type: tbl table
15519 #: build/C/man2/syscalls.2:325
15520 #, no-wrap
15521 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
15522 msgstr ""
15523
15524 #. type: tbl table
15525 #: build/C/man2/syscalls.2:326
15526 #, no-wrap
15527 msgid "B<lseek>(2)\t1.0\n"
15528 msgstr ""
15529
15530 #. type: tbl table
15531 #: build/C/man2/syscalls.2:327
15532 #, no-wrap
15533 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
15534 msgstr ""
15535
15536 #. type: tbl table
15537 #: build/C/man2/syscalls.2:328
15538 #, no-wrap
15539 msgid "B<lstat>(2)\t1.0\n"
15540 msgstr ""
15541
15542 #. type: tbl table
15543 #: build/C/man2/syscalls.2:329
15544 #, no-wrap
15545 msgid "B<lstat64>(2)\t2.4\n"
15546 msgstr ""
15547
15548 #. type: tbl table
15549 #: build/C/man2/syscalls.2:330
15550 #, no-wrap
15551 msgid "B<madvise>(2)\t2.4\n"
15552 msgstr ""
15553
15554 #. type: tbl table
15555 #: build/C/man2/syscalls.2:331
15556 #, no-wrap
15557 msgid "B<mbind>(2)\t2.6.6\n"
15558 msgstr ""
15559
15560 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
15561 #. type: tbl table
15562 #: build/C/man2/syscalls.2:333
15563 #, no-wrap
15564 msgid "B<migrate_pages>(2)\t2.6.16\n"
15565 msgstr ""
15566
15567 #. type: tbl table
15568 #: build/C/man2/syscalls.2:334
15569 #, no-wrap
15570 msgid "B<mincore>(2)\t2.4\n"
15571 msgstr ""
15572
15573 #. type: tbl table
15574 #: build/C/man2/syscalls.2:335
15575 #, no-wrap
15576 msgid "B<mkdir>(2)\t1.0\n"
15577 msgstr ""
15578
15579 #. type: tbl table
15580 #: build/C/man2/syscalls.2:336
15581 #, no-wrap
15582 msgid "B<mkdirat>(2)\t2.6.16\n"
15583 msgstr ""
15584
15585 #. type: tbl table
15586 #: build/C/man2/syscalls.2:337
15587 #, no-wrap
15588 msgid "B<mknod>(2)\t1.0\n"
15589 msgstr ""
15590
15591 #. type: tbl table
15592 #: build/C/man2/syscalls.2:338
15593 #, no-wrap
15594 msgid "B<mknodat>(2)\t2.6.16\n"
15595 msgstr ""
15596
15597 #. type: tbl table
15598 #: build/C/man2/syscalls.2:339
15599 #, no-wrap
15600 msgid "B<mlock>(2)\t2.0\n"
15601 msgstr ""
15602
15603 #. type: tbl table
15604 #: build/C/man2/syscalls.2:340
15605 #, no-wrap
15606 msgid "B<mlockall>(2)\t2.0\n"
15607 msgstr ""
15608
15609 #. type: tbl table
15610 #: build/C/man2/syscalls.2:341
15611 #, no-wrap
15612 msgid "B<mmap>(2)\t1.0\n"
15613 msgstr ""
15614
15615 #. type: tbl table
15616 #: build/C/man2/syscalls.2:342
15617 #, no-wrap
15618 msgid "B<mmap2>(2)\t2.4\n"
15619 msgstr ""
15620
15621 #. type: tbl table
15622 #: build/C/man2/syscalls.2:343
15623 #, no-wrap
15624 msgid "B<modify_ldt>(2)\t1.0\n"
15625 msgstr ""
15626
15627 #. type: tbl table
15628 #: build/C/man2/syscalls.2:344
15629 #, no-wrap
15630 msgid "B<mount>(2)\t1.0\n"
15631 msgstr ""
15632
15633 #. type: tbl table
15634 #: build/C/man2/syscalls.2:345
15635 #, no-wrap
15636 msgid "B<move_pages>(2)\t2.6.18\n"
15637 msgstr ""
15638
15639 #. type: tbl table
15640 #: build/C/man2/syscalls.2:346
15641 #, no-wrap
15642 msgid "B<mprotect>(2)\t1.0\n"
15643 msgstr ""
15644
15645 #. type: tbl table
15646 #: build/C/man2/syscalls.2:347
15647 #, no-wrap
15648 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
15649 msgstr ""
15650
15651 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
15652 #. type: tbl table
15653 #: build/C/man2/syscalls.2:349
15654 #, no-wrap
15655 msgid "B<mq_notify>(2)\t2.6.6\n"
15656 msgstr ""
15657
15658 #. type: tbl table
15659 #: build/C/man2/syscalls.2:350
15660 #, no-wrap
15661 msgid "B<mq_open>(2)\t2.6.6\n"
15662 msgstr ""
15663
15664 #. type: tbl table
15665 #: build/C/man2/syscalls.2:351
15666 #, no-wrap
15667 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
15668 msgstr ""
15669
15670 #. type: tbl table
15671 #: build/C/man2/syscalls.2:352
15672 #, no-wrap
15673 msgid "B<mq_timedsend>(2)\t2.6.6\n"
15674 msgstr ""
15675
15676 #. type: tbl table
15677 #: build/C/man2/syscalls.2:353
15678 #, no-wrap
15679 msgid "B<mq_unlink>(2)\t2.6.6\n"
15680 msgstr ""
15681
15682 #. type: tbl table
15683 #: build/C/man2/syscalls.2:354
15684 #, no-wrap
15685 msgid "B<mremap>(2)\t2.0\n"
15686 msgstr ""
15687
15688 #. type: tbl table
15689 #: build/C/man2/syscalls.2:355
15690 #, no-wrap
15691 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15692 msgstr ""
15693
15694 #. type: tbl table
15695 #: build/C/man2/syscalls.2:356
15696 #, no-wrap
15697 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15698 msgstr ""
15699
15700 #. type: tbl table
15701 #: build/C/man2/syscalls.2:357
15702 #, no-wrap
15703 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15704 msgstr ""
15705
15706 #. type: tbl table
15707 #: build/C/man2/syscalls.2:358
15708 #, no-wrap
15709 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15710 msgstr ""
15711
15712 #. type: tbl table
15713 #: build/C/man2/syscalls.2:359
15714 #, no-wrap
15715 msgid "B<msync>(2)\t2.0\n"
15716 msgstr ""
15717
15718 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
15719 #.              PowerPC, but unimplemented?
15720 #. type: tbl table
15721 #: build/C/man2/syscalls.2:362
15722 #, no-wrap
15723 msgid "B<munlock>(2)\t2.0\n"
15724 msgstr ""
15725
15726 #. type: tbl table
15727 #: build/C/man2/syscalls.2:363
15728 #, no-wrap
15729 msgid "B<munlockall>(2)\t2.0\n"
15730 msgstr ""
15731
15732 #. type: tbl table
15733 #: build/C/man2/syscalls.2:364
15734 #, no-wrap
15735 msgid "B<munmap>(2)\t1.0\n"
15736 msgstr ""
15737
15738 #. type: tbl table
15739 #: build/C/man2/syscalls.2:365
15740 #, no-wrap
15741 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
15742 msgstr ""
15743
15744 #. type: tbl table
15745 #: build/C/man2/syscalls.2:366
15746 #, no-wrap
15747 msgid "B<nanosleep>(2)\t2.0\n"
15748 msgstr ""
15749
15750 #. type: tbl table
15751 #: build/C/man2/syscalls.2:367
15752 #, no-wrap
15753 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
15754 msgstr ""
15755
15756 #. type: tbl table
15757 #: build/C/man2/syscalls.2:368
15758 #, no-wrap
15759 msgid "B<nice>(2)\t1.0\n"
15760 msgstr ""
15761
15762 #. type: tbl table
15763 #: build/C/man2/syscalls.2:369
15764 #, no-wrap
15765 msgid "B<oldfstat>(2)\t1.0\n"
15766 msgstr ""
15767
15768 #. type: tbl table
15769 #: build/C/man2/syscalls.2:370
15770 #, no-wrap
15771 msgid "B<oldlstat>(2)\t1.0\n"
15772 msgstr ""
15773
15774 #. type: tbl table
15775 #: build/C/man2/syscalls.2:371
15776 #, no-wrap
15777 msgid "B<oldolduname>(2)\t1.0\n"
15778 msgstr ""
15779
15780 #. type: tbl table
15781 #: build/C/man2/syscalls.2:372
15782 #, no-wrap
15783 msgid "B<oldstat>(2)\t1.0\n"
15784 msgstr ""
15785
15786 #. type: tbl table
15787 #: build/C/man2/syscalls.2:373
15788 #, no-wrap
15789 msgid "B<olduname>(2)\t1.0\n"
15790 msgstr ""
15791
15792 #. type: tbl table
15793 #: build/C/man2/syscalls.2:374
15794 #, no-wrap
15795 msgid "B<open>(2)\t1.0\n"
15796 msgstr ""
15797
15798 #. type: tbl table
15799 #: build/C/man2/syscalls.2:375
15800 #, no-wrap
15801 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
15802 msgstr ""
15803
15804 #. type: tbl table
15805 #: build/C/man2/syscalls.2:376
15806 #, no-wrap
15807 msgid "B<openat>(2)\t2.6.16\n"
15808 msgstr ""
15809
15810 #. type: tbl table
15811 #: build/C/man2/syscalls.2:377
15812 #, no-wrap
15813 msgid "B<pause>(2)\t1.0\n"
15814 msgstr ""
15815
15816 #. type: tbl table
15817 #: build/C/man2/syscalls.2:378
15818 #, no-wrap
15819 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
15820 msgstr ""
15821
15822 #.  Alpha, PowerPC, ARM; not x86
15823 #. type: tbl table
15824 #: build/C/man2/syscalls.2:380
15825 #, no-wrap
15826 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
15827 msgstr ""
15828
15829 #.  , PowerPC, ARM; not x86
15830 #. type: tbl table
15831 #: build/C/man2/syscalls.2:382
15832 #, no-wrap
15833 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
15834 msgstr ""
15835
15836 #.  , PowerPC, ARM; not x86
15837 #. type: tbl table
15838 #: build/C/man2/syscalls.2:384
15839 #, no-wrap
15840 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
15841 msgstr ""
15842
15843 #. type: tbl table
15844 #: build/C/man2/syscalls.2:385
15845 #, no-wrap
15846 msgid "Was called perf_counter_open()\n"
15847 msgstr ""
15848
15849 #. type: tbl table
15850 #: build/C/man2/syscalls.2:387
15851 #, no-wrap
15852 msgid "in 2.6.31; renamed in 2.6.32\n"
15853 msgstr ""
15854
15855 #. type: tbl table
15856 #: build/C/man2/syscalls.2:389
15857 #, no-wrap
15858 msgid "B<personality>(2)\t1.2\n"
15859 msgstr ""
15860
15861 #. type: tbl table
15862 #: build/C/man2/syscalls.2:390
15863 #, no-wrap
15864 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
15865 msgstr ""
15866
15867 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
15868 #. type: tbl table
15869 #: build/C/man2/syscalls.2:392
15870 #, no-wrap
15871 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
15872 msgstr ""
15873
15874 #. type: tbl table
15875 #: build/C/man2/syscalls.2:393
15876 #, no-wrap
15877 msgid "B<pipe>(2)\t1.0\n"
15878 msgstr ""
15879
15880 #. type: tbl table
15881 #: build/C/man2/syscalls.2:394
15882 #, no-wrap
15883 msgid "B<pipe2>(2)\t2.6.27\n"
15884 msgstr ""
15885
15886 #. type: tbl table
15887 #: build/C/man2/syscalls.2:395
15888 #, no-wrap
15889 msgid "B<pivot_root>(2)\t2.4\n"
15890 msgstr ""
15891
15892 #. type: tbl table
15893 #: build/C/man2/syscalls.2:396
15894 #, no-wrap
15895 msgid "B<poll>(2)\t2.0.36; 2.2\n"
15896 msgstr ""
15897
15898 #. type: tbl table
15899 #: build/C/man2/syscalls.2:397
15900 #, no-wrap
15901 msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
15902 msgstr ""
15903
15904 #. type: tbl table
15905 #: build/C/man2/syscalls.2:398
15906 #, no-wrap
15907 msgid "B<ppoll>(2)\t2.6.16\n"
15908 msgstr ""
15909
15910 #. type: tbl table
15911 #: build/C/man2/syscalls.2:399
15912 #, no-wrap
15913 msgid "B<prctl>(2)\t2.2\n"
15914 msgstr ""
15915
15916 #. type: tbl table
15917 #: build/C/man2/syscalls.2:400
15918 #, no-wrap
15919 msgid "B<pread64>(2)\t\tT{\n"
15920 msgstr ""
15921
15922 #. type: tbl table
15923 #: build/C/man2/syscalls.2:401
15924 #, no-wrap
15925 msgid "Added as \"pread\" in 2.2;\n"
15926 msgstr ""
15927
15928 #. type: tbl table
15929 #: build/C/man2/syscalls.2:403
15930 #, no-wrap
15931 msgid "renamed \"pread64\" in 2.6\n"
15932 msgstr ""
15933
15934 #. type: tbl table
15935 #: build/C/man2/syscalls.2:405
15936 #, no-wrap
15937 msgid "B<preadv>(2)\t2.6.30\n"
15938 msgstr ""
15939
15940 #. type: tbl table
15941 #: build/C/man2/syscalls.2:406
15942 #, no-wrap
15943 msgid "B<prlimit>(2)\t2.6.36\n"
15944 msgstr ""
15945
15946 #. type: tbl table
15947 #: build/C/man2/syscalls.2:407
15948 #, no-wrap
15949 msgid "B<process_vm_readv>(2)\t3.2\n"
15950 msgstr ""
15951
15952 #. type: tbl table
15953 #: build/C/man2/syscalls.2:408
15954 #, no-wrap
15955 msgid "B<process_vm_writev>(2)\t3.2\n"
15956 msgstr ""
15957
15958 #. type: tbl table
15959 #: build/C/man2/syscalls.2:409
15960 #, no-wrap
15961 msgid "B<pselect6>(2)\t2.6.16\n"
15962 msgstr ""
15963
15964 #.  Implements \fBpselect\fP(2)
15965 #. type: tbl table
15966 #: build/C/man2/syscalls.2:411
15967 #, no-wrap
15968 msgid "B<ptrace>(2)\t1.0\n"
15969 msgstr ""
15970
15971 #. type: tbl table
15972 #: build/C/man2/syscalls.2:412
15973 #, no-wrap
15974 msgid "B<pwrite64>(2)\t\tT{\n"
15975 msgstr ""
15976
15977 #. type: tbl table
15978 #: build/C/man2/syscalls.2:413
15979 #, no-wrap
15980 msgid "Added as \"pwrite\" in 2.2;\n"
15981 msgstr ""
15982
15983 #. type: tbl table
15984 #: build/C/man2/syscalls.2:415
15985 #, no-wrap
15986 msgid "renamed \"pwrite64\" in 2.6\n"
15987 msgstr ""
15988
15989 #. type: tbl table
15990 #: build/C/man2/syscalls.2:417
15991 #, no-wrap
15992 msgid "B<pwritev>(2)\t2.6.30\n"
15993 msgstr ""
15994
15995 #. type: tbl table
15996 #: build/C/man2/syscalls.2:418
15997 #, no-wrap
15998 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
15999 msgstr ""
16000
16001 #. type: tbl table
16002 #: build/C/man2/syscalls.2:419
16003 #, no-wrap
16004 msgid "B<quotactl>(2)\t1.0\n"
16005 msgstr ""
16006
16007 #. type: tbl table
16008 #: build/C/man2/syscalls.2:420
16009 #, no-wrap
16010 msgid "B<read>(2)\t1.0\n"
16011 msgstr ""
16012
16013 #. type: tbl table
16014 #: build/C/man2/syscalls.2:421
16015 #, no-wrap
16016 msgid "B<readahead>(2)\t2.4.13\n"
16017 msgstr ""
16018
16019 #. type: tbl table
16020 #: build/C/man2/syscalls.2:422
16021 #, no-wrap
16022 msgid "B<readdir>(2)\t1.0\n"
16023 msgstr ""
16024
16025 #.  Supersedes \fBgetdents\fP(2)
16026 #. type: tbl table
16027 #: build/C/man2/syscalls.2:424
16028 #, no-wrap
16029 msgid "B<readlink>(2)\t1.0\n"
16030 msgstr ""
16031
16032 #. type: tbl table
16033 #: build/C/man2/syscalls.2:425
16034 #, no-wrap
16035 msgid "B<readlinkat>(2)\t2.6.16\n"
16036 msgstr ""
16037
16038 #. type: tbl table
16039 #: build/C/man2/syscalls.2:426
16040 #, no-wrap
16041 msgid "B<readv>(2)\t2.0\n"
16042 msgstr ""
16043
16044 #. type: tbl table
16045 #: build/C/man2/syscalls.2:427
16046 #, no-wrap
16047 msgid "B<reboot>(2)\t1.0\n"
16048 msgstr ""
16049
16050 #. type: tbl table
16051 #: build/C/man2/syscalls.2:428
16052 #, no-wrap
16053 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16054 msgstr ""
16055
16056 #. type: tbl table
16057 #: build/C/man2/syscalls.2:429
16058 #, no-wrap
16059 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16060 msgstr ""
16061
16062 #. type: tbl table
16063 #: build/C/man2/syscalls.2:430
16064 #, no-wrap
16065 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16066 msgstr ""
16067
16068 #. type: tbl table
16069 #: build/C/man2/syscalls.2:431
16070 #, no-wrap
16071 msgid "B<recvmmsg>(2)\t2.6.33\n"
16072 msgstr ""
16073
16074 #. type: tbl table
16075 #: build/C/man2/syscalls.2:432
16076 #, no-wrap
16077 msgid "B<remap_file_pages>(2)\t2.6\n"
16078 msgstr ""
16079
16080 #. type: tbl table
16081 #: build/C/man2/syscalls.2:433
16082 #, no-wrap
16083 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
16084 msgstr ""
16085
16086 #. type: tbl table
16087 #: build/C/man2/syscalls.2:434
16088 #, no-wrap
16089 msgid "B<rename>(2)\t1.0\n"
16090 msgstr ""
16091
16092 #. type: tbl table
16093 #: build/C/man2/syscalls.2:435
16094 #, no-wrap
16095 msgid "B<renameat>(2)\t2.6.16\n"
16096 msgstr ""
16097
16098 #. type: tbl table
16099 #: build/C/man2/syscalls.2:436
16100 #, no-wrap
16101 msgid "B<request_key>(2)\t2.6.11\n"
16102 msgstr ""
16103
16104 #. type: tbl table
16105 #: build/C/man2/syscalls.2:437
16106 #, no-wrap
16107 msgid "B<restart_syscall>(2)\t2.6\n"
16108 msgstr ""
16109
16110 #. type: tbl table
16111 #: build/C/man2/syscalls.2:438
16112 #, no-wrap
16113 msgid "B<rmdir>(2)\t1.0\n"
16114 msgstr ""
16115
16116 #. type: tbl table
16117 #: build/C/man2/syscalls.2:439
16118 #, no-wrap
16119 msgid "B<rt_sigaction>(2)\t2.2\n"
16120 msgstr ""
16121
16122 #. type: tbl table
16123 #: build/C/man2/syscalls.2:440
16124 #, no-wrap
16125 msgid "B<rt_sigpending>(2)\t2.2\n"
16126 msgstr ""
16127
16128 #. type: tbl table
16129 #: build/C/man2/syscalls.2:441
16130 #, no-wrap
16131 msgid "B<rt_sigprocmask>(2)\t2.2\n"
16132 msgstr ""
16133
16134 #. type: tbl table
16135 #: build/C/man2/syscalls.2:442
16136 #, no-wrap
16137 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
16138 msgstr ""
16139
16140 #. type: tbl table
16141 #: build/C/man2/syscalls.2:443
16142 #, no-wrap
16143 msgid "B<rt_sigreturn>(2)\t2.2\n"
16144 msgstr ""
16145
16146 #. type: tbl table
16147 #: build/C/man2/syscalls.2:444
16148 #, no-wrap
16149 msgid "B<rt_sigsuspend>(2)\t2.2\n"
16150 msgstr ""
16151
16152 #. type: tbl table
16153 #: build/C/man2/syscalls.2:445
16154 #, no-wrap
16155 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
16156 msgstr ""
16157
16158 #. type: tbl table
16159 #: build/C/man2/syscalls.2:446
16160 #, no-wrap
16161 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
16162 msgstr ""
16163
16164 #. type: tbl table
16165 #: build/C/man2/syscalls.2:447
16166 #, no-wrap
16167 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
16168 msgstr ""
16169
16170 #. type: tbl table
16171 #: build/C/man2/syscalls.2:448
16172 #, no-wrap
16173 msgid "B<sched_get_priority_max>(2)\t2.0\n"
16174 msgstr ""
16175
16176 #. type: tbl table
16177 #: build/C/man2/syscalls.2:449
16178 #, no-wrap
16179 msgid "B<sched_get_priority_min>(2)\t2.0\n"
16180 msgstr ""
16181
16182 #. type: tbl table
16183 #: build/C/man2/syscalls.2:450
16184 #, no-wrap
16185 msgid "B<sched_getaffinity>(2)\t2.6\n"
16186 msgstr ""
16187
16188 #. type: tbl table
16189 #: build/C/man2/syscalls.2:451
16190 #, no-wrap
16191 msgid "B<sched_getparam>(2)\t2.0\n"
16192 msgstr ""
16193
16194 #. type: tbl table
16195 #: build/C/man2/syscalls.2:452
16196 #, no-wrap
16197 msgid "B<sched_getscheduler>(2)\t2.0\n"
16198 msgstr ""
16199
16200 #. type: tbl table
16201 #: build/C/man2/syscalls.2:453
16202 #, no-wrap
16203 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
16204 msgstr ""
16205
16206 #. type: tbl table
16207 #: build/C/man2/syscalls.2:454
16208 #, no-wrap
16209 msgid "B<sched_setaffinity>(2)\t2.6\n"
16210 msgstr ""
16211
16212 #. type: tbl table
16213 #: build/C/man2/syscalls.2:455
16214 #, no-wrap
16215 msgid "B<sched_setparam>(2)\t2.0\n"
16216 msgstr ""
16217
16218 #. type: tbl table
16219 #: build/C/man2/syscalls.2:456
16220 #, no-wrap
16221 msgid "B<sched_setscheduler>(2)\t2.0\n"
16222 msgstr ""
16223
16224 #. type: tbl table
16225 #: build/C/man2/syscalls.2:457
16226 #, no-wrap
16227 msgid "B<sched_yield>(2)\t2.0\n"
16228 msgstr ""
16229
16230 #. type: tbl table
16231 #: build/C/man2/syscalls.2:458
16232 #, no-wrap
16233 msgid "B<select>(2)\t1.0\n"
16234 msgstr ""
16235
16236 #. type: tbl table
16237 #: build/C/man2/syscalls.2:459
16238 #, no-wrap
16239 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16240 msgstr ""
16241
16242 #. type: tbl table
16243 #: build/C/man2/syscalls.2:460
16244 #, no-wrap
16245 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16246 msgstr ""
16247
16248 #. type: tbl table
16249 #: build/C/man2/syscalls.2:461
16250 #, no-wrap
16251 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16252 msgstr ""
16253
16254 #. type: tbl table
16255 #: build/C/man2/syscalls.2:462
16256 #, no-wrap
16257 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
16258 msgstr ""
16259
16260 #. type: tbl table
16261 #: build/C/man2/syscalls.2:463
16262 #, no-wrap
16263 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16264 msgstr ""
16265
16266 #. type: tbl table
16267 #: build/C/man2/syscalls.2:464
16268 #, no-wrap
16269 msgid "B<sendfile>(2)\t2.2\n"
16270 msgstr ""
16271
16272 #. type: tbl table
16273 #: build/C/man2/syscalls.2:465
16274 #, no-wrap
16275 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
16276 msgstr ""
16277
16278 #. type: tbl table
16279 #: build/C/man2/syscalls.2:466
16280 #, no-wrap
16281 msgid "B<sendmmsg>(2)\t3.0\n"
16282 msgstr ""
16283
16284 #. type: tbl table
16285 #: build/C/man2/syscalls.2:467
16286 #, no-wrap
16287 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16288 msgstr ""
16289
16290 #. type: tbl table
16291 #: build/C/man2/syscalls.2:468
16292 #, no-wrap
16293 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16294 msgstr ""
16295
16296 #. type: tbl table
16297 #: build/C/man2/syscalls.2:469
16298 #, no-wrap
16299 msgid "B<set_mempolicy>(2)\t2.6.6\n"
16300 msgstr ""
16301
16302 #. type: tbl table
16303 #: build/C/man2/syscalls.2:470
16304 #, no-wrap
16305 msgid "B<set_robust_list>(2)\t2.6.17\n"
16306 msgstr ""
16307
16308 #. type: tbl table
16309 #: build/C/man2/syscalls.2:471
16310 #, no-wrap
16311 msgid "B<set_thread_area>(2)\t2.6\n"
16312 msgstr ""
16313
16314 #. type: tbl table
16315 #: build/C/man2/syscalls.2:472
16316 #, no-wrap
16317 msgid "B<set_tid_address>(2)\t2.6\n"
16318 msgstr ""
16319
16320 #.  See http://lkml.org/lkml/2005/8/1/83
16321 #.  "[PATCH] remove sys_set_zone_reclaim()"
16322 #. type: tbl table
16323 #: build/C/man2/syscalls.2:475
16324 #, no-wrap
16325 msgid "B<setdomainname>(2)\t1.0\n"
16326 msgstr ""
16327
16328 #. type: tbl table
16329 #: build/C/man2/syscalls.2:476
16330 #, no-wrap
16331 msgid "B<setfsgid>(2)\t1.2\n"
16332 msgstr ""
16333
16334 #. type: tbl table
16335 #: build/C/man2/syscalls.2:477
16336 #, no-wrap
16337 msgid "B<setfsgid32>(2)\t2.4\n"
16338 msgstr ""
16339
16340 #. type: tbl table
16341 #: build/C/man2/syscalls.2:478
16342 #, no-wrap
16343 msgid "B<setfsuid>(2)\t1.2\n"
16344 msgstr ""
16345
16346 #. type: tbl table
16347 #: build/C/man2/syscalls.2:479
16348 #, no-wrap
16349 msgid "B<setfsuid32>(2)\t2.4\n"
16350 msgstr ""
16351
16352 #. type: tbl table
16353 #: build/C/man2/syscalls.2:480
16354 #, no-wrap
16355 msgid "B<setgid>(2)\t1.0\n"
16356 msgstr ""
16357
16358 #. type: tbl table
16359 #: build/C/man2/syscalls.2:481
16360 #, no-wrap
16361 msgid "B<setgid32>(2)\t2.4\n"
16362 msgstr ""
16363
16364 #. type: tbl table
16365 #: build/C/man2/syscalls.2:482
16366 #, no-wrap
16367 msgid "B<setgroups>(2)\t1.0\n"
16368 msgstr ""
16369
16370 #. type: tbl table
16371 #: build/C/man2/syscalls.2:483
16372 #, no-wrap
16373 msgid "B<setgroups32>(2)\t2.4\n"
16374 msgstr ""
16375
16376 #. type: tbl table
16377 #: build/C/man2/syscalls.2:484
16378 #, no-wrap
16379 msgid "B<sethostname>(2)\t1.0\n"
16380 msgstr ""
16381
16382 #. type: tbl table
16383 #: build/C/man2/syscalls.2:485
16384 #, no-wrap
16385 msgid "B<setitimer>(2)\t1.0\n"
16386 msgstr ""
16387
16388 #. type: tbl table
16389 #: build/C/man2/syscalls.2:486
16390 #, no-wrap
16391 msgid "B<setns>(2)\t3.0\n"
16392 msgstr ""
16393
16394 #. type: tbl table
16395 #: build/C/man2/syscalls.2:487
16396 #, no-wrap
16397 msgid "B<setpgid>(2)\t1.0\n"
16398 msgstr ""
16399
16400 #. type: tbl table
16401 #: build/C/man2/syscalls.2:488
16402 #, no-wrap
16403 msgid "B<setpriority>(2)\t1.0\n"
16404 msgstr ""
16405
16406 #. type: tbl table
16407 #: build/C/man2/syscalls.2:489
16408 #, no-wrap
16409 msgid "B<setregid>(2)\t1.0\n"
16410 msgstr ""
16411
16412 #. type: tbl table
16413 #: build/C/man2/syscalls.2:490
16414 #, no-wrap
16415 msgid "B<setregid32>(2)\t2.4\n"
16416 msgstr ""
16417
16418 #. type: tbl table
16419 #: build/C/man2/syscalls.2:491
16420 #, no-wrap
16421 msgid "B<setresgid>(2)\t2.2\n"
16422 msgstr ""
16423
16424 #. type: tbl table
16425 #: build/C/man2/syscalls.2:492
16426 #, no-wrap
16427 msgid "B<setresgid32>(2)\t2.4\n"
16428 msgstr ""
16429
16430 #. type: tbl table
16431 #: build/C/man2/syscalls.2:493
16432 #, no-wrap
16433 msgid "B<setresuid>(2)\t2.2\n"
16434 msgstr ""
16435
16436 #. type: tbl table
16437 #: build/C/man2/syscalls.2:494
16438 #, no-wrap
16439 msgid "B<setresuid32>(2)\t2.4\n"
16440 msgstr ""
16441
16442 #. type: tbl table
16443 #: build/C/man2/syscalls.2:495
16444 #, no-wrap
16445 msgid "B<setreuid>(2)\t1.0\n"
16446 msgstr ""
16447
16448 #. type: tbl table
16449 #: build/C/man2/syscalls.2:496
16450 #, no-wrap
16451 msgid "B<setreuid32>(2)\t2.4\n"
16452 msgstr ""
16453
16454 #. type: tbl table
16455 #: build/C/man2/syscalls.2:497
16456 #, no-wrap
16457 msgid "B<setrlimit>(2)\t1.0\n"
16458 msgstr ""
16459
16460 #. type: tbl table
16461 #: build/C/man2/syscalls.2:498
16462 #, no-wrap
16463 msgid "B<setsid>(2)\t1.0\n"
16464 msgstr ""
16465
16466 #. type: tbl table
16467 #: build/C/man2/syscalls.2:499
16468 #, no-wrap
16469 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16470 msgstr ""
16471
16472 #. type: tbl table
16473 #: build/C/man2/syscalls.2:500
16474 #, no-wrap
16475 msgid "B<settimeofday>(2)\t1.0\n"
16476 msgstr ""
16477
16478 #. type: tbl table
16479 #: build/C/man2/syscalls.2:501
16480 #, no-wrap
16481 msgid "B<setuid>(2)\t1.0\n"
16482 msgstr ""
16483
16484 #. type: tbl table
16485 #: build/C/man2/syscalls.2:502
16486 #, no-wrap
16487 msgid "B<setuid32>(2)\t2.4\n"
16488 msgstr ""
16489
16490 #. type: tbl table
16491 #: build/C/man2/syscalls.2:503
16492 #, no-wrap
16493 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
16494 msgstr ""
16495
16496 #. type: tbl table
16497 #: build/C/man2/syscalls.2:504
16498 #, no-wrap
16499 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
16500 msgstr ""
16501
16502 #. type: tbl table
16503 #: build/C/man2/syscalls.2:505
16504 #, no-wrap
16505 msgid "B<sgetmask>(2)\t1.0\n"
16506 msgstr ""
16507
16508 #. type: tbl table
16509 #: build/C/man2/syscalls.2:506
16510 #, no-wrap
16511 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16512 msgstr ""
16513
16514 #. type: tbl table
16515 #: build/C/man2/syscalls.2:507
16516 #, no-wrap
16517 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16518 msgstr ""
16519
16520 #. type: tbl table
16521 #: build/C/man2/syscalls.2:508
16522 #, no-wrap
16523 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16524 msgstr ""
16525
16526 #. type: tbl table
16527 #: build/C/man2/syscalls.2:509
16528 #, no-wrap
16529 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16530 msgstr ""
16531
16532 #. type: tbl table
16533 #: build/C/man2/syscalls.2:510
16534 #, no-wrap
16535 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16536 msgstr ""
16537
16538 #. type: tbl table
16539 #: build/C/man2/syscalls.2:511
16540 #, no-wrap
16541 msgid "B<sigaction>(2)\t1.0\n"
16542 msgstr ""
16543
16544 #. type: tbl table
16545 #: build/C/man2/syscalls.2:512
16546 #, no-wrap
16547 msgid "B<sigaltstack>(2)\t2.2\n"
16548 msgstr ""
16549
16550 #. type: tbl table
16551 #: build/C/man2/syscalls.2:513
16552 #, no-wrap
16553 msgid "B<signal>(2)\t1.0\n"
16554 msgstr ""
16555
16556 #. type: tbl table
16557 #: build/C/man2/syscalls.2:514
16558 #, no-wrap
16559 msgid "B<signalfd>(2)\t2.6.22\n"
16560 msgstr ""
16561
16562 #. type: tbl table
16563 #: build/C/man2/syscalls.2:515
16564 #, no-wrap
16565 msgid "B<signalfd4>(2)\t2.6.27\n"
16566 msgstr ""
16567
16568 #. type: tbl table
16569 #: build/C/man2/syscalls.2:516
16570 #, no-wrap
16571 msgid "B<sigpending>(2)\t1.0\n"
16572 msgstr ""
16573
16574 #. type: tbl table
16575 #: build/C/man2/syscalls.2:517
16576 #, no-wrap
16577 msgid "B<sigprocmask>(2)\t1.0\n"
16578 msgstr ""
16579
16580 #. type: tbl table
16581 #: build/C/man2/syscalls.2:518
16582 #, no-wrap
16583 msgid "B<sigreturn>(2)\t1.0\n"
16584 msgstr ""
16585
16586 #. type: tbl table
16587 #: build/C/man2/syscalls.2:519
16588 #, no-wrap
16589 msgid "B<sigsuspend>(2)\t1.0\n"
16590 msgstr ""
16591
16592 #. type: tbl table
16593 #: build/C/man2/syscalls.2:520
16594 #, no-wrap
16595 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16596 msgstr ""
16597
16598 #. type: tbl table
16599 #: build/C/man2/syscalls.2:521
16600 #, no-wrap
16601 msgid "B<socketcall>(2)\t1.0\n"
16602 msgstr ""
16603
16604 #.  Implements BSD socket calls
16605 #. type: tbl table
16606 #: build/C/man2/syscalls.2:523
16607 #, no-wrap
16608 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16609 msgstr ""
16610
16611 #. type: tbl table
16612 #: build/C/man2/syscalls.2:524
16613 #, no-wrap
16614 msgid "B<splice>(2)\t2.6.17\n"
16615 msgstr ""
16616
16617 #. type: tbl table
16618 #: build/C/man2/syscalls.2:525
16619 #, no-wrap
16620 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
16621 msgstr ""
16622
16623 #. type: tbl table
16624 #: build/C/man2/syscalls.2:526
16625 #, no-wrap
16626 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
16627 msgstr ""
16628
16629 #. type: tbl table
16630 #: build/C/man2/syscalls.2:527
16631 #, no-wrap
16632 msgid "B<ssetmask>(2)\t1.0\n"
16633 msgstr ""
16634
16635 #. type: tbl table
16636 #: build/C/man2/syscalls.2:528
16637 #, no-wrap
16638 msgid "B<stat>(2)\t1.0\n"
16639 msgstr ""
16640
16641 #. type: tbl table
16642 #: build/C/man2/syscalls.2:529
16643 #, no-wrap
16644 msgid "B<stat64>(2)\t2.4\n"
16645 msgstr ""
16646
16647 #. type: tbl table
16648 #: build/C/man2/syscalls.2:530
16649 #, no-wrap
16650 msgid "B<statfs>(2)\t1.0\n"
16651 msgstr ""
16652
16653 #. type: tbl table
16654 #: build/C/man2/syscalls.2:531
16655 #, no-wrap
16656 msgid "B<statfs64>(2)\t2.6\n"
16657 msgstr ""
16658
16659 #. type: tbl table
16660 #: build/C/man2/syscalls.2:532
16661 #, no-wrap
16662 msgid "B<stime>(2)\t1.0\n"
16663 msgstr ""
16664
16665 #. type: tbl table
16666 #: build/C/man2/syscalls.2:533
16667 #, no-wrap
16668 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
16669 msgstr ""
16670
16671 #. type: tbl table
16672 #: build/C/man2/syscalls.2:534
16673 #, no-wrap
16674 msgid "\t\tCONFIG_PPC_64K_PAGES\n"
16675 msgstr ""
16676
16677 #. type: tbl table
16678 #: build/C/man2/syscalls.2:535
16679 #, no-wrap
16680 msgid "B<swapoff>(2)\t1.0\n"
16681 msgstr ""
16682
16683 #. type: tbl table
16684 #: build/C/man2/syscalls.2:536
16685 #, no-wrap
16686 msgid "B<swapon>(2)\t1.0\n"
16687 msgstr ""
16688
16689 #. type: tbl table
16690 #: build/C/man2/syscalls.2:537
16691 #, no-wrap
16692 msgid "B<symlink>(2)\t1.0\n"
16693 msgstr ""
16694
16695 #. type: tbl table
16696 #: build/C/man2/syscalls.2:538
16697 #, no-wrap
16698 msgid "B<symlinkat>(2)\t2.6.16\n"
16699 msgstr ""
16700
16701 #. type: tbl table
16702 #: build/C/man2/syscalls.2:539
16703 #, no-wrap
16704 msgid "B<sync>(2)\t1.0\n"
16705 msgstr ""
16706
16707 #. type: tbl table
16708 #: build/C/man2/syscalls.2:540
16709 #, no-wrap
16710 msgid "B<sync_file_range>(2)\t2.6.17\n"
16711 msgstr ""
16712
16713 #. type: tbl table
16714 #: build/C/man2/syscalls.2:541
16715 #, no-wrap
16716 msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
16717 msgstr ""
16718
16719 #. type: tbl table
16720 #: build/C/man2/syscalls.2:542
16721 #, no-wrap
16722 msgid "Architecture-specific\n"
16723 msgstr ""
16724
16725 #. type: tbl table
16726 #: build/C/man2/syscalls.2:543
16727 #, no-wrap
16728 msgid "variant of B<sync_file_range>(2)\n"
16729 msgstr ""
16730
16731 #.  PowerPC, ARM, tile
16732 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
16733 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
16734 #. type: tbl table
16735 #: build/C/man2/syscalls.2:548
16736 #, no-wrap
16737 msgid "B<syncfs>(2)\t2.6.39\n"
16738 msgstr ""
16739
16740 #. type: tbl table
16741 #: build/C/man2/syscalls.2:549
16742 #, no-wrap
16743 msgid "B<sysfs>(2)\t1.2\n"
16744 msgstr ""
16745
16746 #. type: tbl table
16747 #: build/C/man2/syscalls.2:550
16748 #, no-wrap
16749 msgid "B<sysinfo>(2)\t1.0\n"
16750 msgstr ""
16751
16752 #. type: tbl table
16753 #: build/C/man2/syscalls.2:551
16754 #, no-wrap
16755 msgid "B<syslog>(2)\t1.0\n"
16756 msgstr ""
16757
16758 #.  glibc interface is \fBklogctl\fP(3)
16759 #. type: tbl table
16760 #: build/C/man2/syscalls.2:553
16761 #, no-wrap
16762 msgid "B<tee>(2)\t2.6.17\n"
16763 msgstr ""
16764
16765 #. type: tbl table
16766 #: build/C/man2/syscalls.2:554
16767 #, no-wrap
16768 msgid "B<tgkill>(2)\t2.6\n"
16769 msgstr ""
16770
16771 #. type: tbl table
16772 #: build/C/man2/syscalls.2:555
16773 #, no-wrap
16774 msgid "B<time>(2)\t1.0\n"
16775 msgstr ""
16776
16777 #. type: tbl table
16778 #: build/C/man2/syscalls.2:556
16779 #, no-wrap
16780 msgid "B<timer_create>(2)\t2.6\n"
16781 msgstr ""
16782
16783 #. type: tbl table
16784 #: build/C/man2/syscalls.2:557
16785 #, no-wrap
16786 msgid "B<timer_delete>(2)\t2.6\n"
16787 msgstr ""
16788
16789 #. type: tbl table
16790 #: build/C/man2/syscalls.2:558
16791 #, no-wrap
16792 msgid "B<timer_getoverrun>(2)\t2.6\n"
16793 msgstr ""
16794
16795 #. type: tbl table
16796 #: build/C/man2/syscalls.2:559
16797 #, no-wrap
16798 msgid "B<timer_gettime>(2)\t2.6\n"
16799 msgstr ""
16800
16801 #. type: tbl table
16802 #: build/C/man2/syscalls.2:560
16803 #, no-wrap
16804 msgid "B<timer_settime>(2)\t2.6\n"
16805 msgstr ""
16806
16807 #. type: tbl table
16808 #: build/C/man2/syscalls.2:561
16809 #, no-wrap
16810 msgid "B<timerfd_create>(2)\t2.6.25\n"
16811 msgstr ""
16812
16813 #. type: tbl table
16814 #: build/C/man2/syscalls.2:562
16815 #, no-wrap
16816 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
16817 msgstr ""
16818
16819 #. type: tbl table
16820 #: build/C/man2/syscalls.2:563
16821 #, no-wrap
16822 msgid "B<timerfd_settime>(2)\t2.6.25\n"
16823 msgstr ""
16824
16825 #. type: tbl table
16826 #: build/C/man2/syscalls.2:564
16827 #, no-wrap
16828 msgid "B<times>(2)\t1.0\n"
16829 msgstr ""
16830
16831 #. type: tbl table
16832 #: build/C/man2/syscalls.2:565
16833 #, no-wrap
16834 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
16835 msgstr ""
16836
16837 #. type: tbl table
16838 #: build/C/man2/syscalls.2:566
16839 #, no-wrap
16840 msgid "B<truncate>(2)\t1.0\n"
16841 msgstr ""
16842
16843 #. type: tbl table
16844 #: build/C/man2/syscalls.2:567
16845 #, no-wrap
16846 msgid "B<truncate64>(2)\t2.4\n"
16847 msgstr ""
16848
16849 #. type: tbl table
16850 #: build/C/man2/syscalls.2:568
16851 #, no-wrap
16852 msgid "B<ugetrlimit>(2)\t2.4\n"
16853 msgstr ""
16854
16855 #. type: tbl table
16856 #: build/C/man2/syscalls.2:569
16857 #, no-wrap
16858 msgid "B<umask>(2)\t1.0\n"
16859 msgstr ""
16860
16861 #. type: tbl table
16862 #: build/C/man2/syscalls.2:570
16863 #, no-wrap
16864 msgid "B<umount>(2)\t1.0\n"
16865 msgstr ""
16866
16867 #.  sys_oldumount() -- __NR_umount
16868 #. type: tbl table
16869 #: build/C/man2/syscalls.2:572
16870 #, no-wrap
16871 msgid "B<umount2>(2)\t2.2\n"
16872 msgstr ""
16873
16874 #.  sys_umount() -- __NR_umount2
16875 #. type: tbl table
16876 #: build/C/man2/syscalls.2:574
16877 #, no-wrap
16878 msgid "B<uname>(2)\t1.0\n"
16879 msgstr ""
16880
16881 #. type: tbl table
16882 #: build/C/man2/syscalls.2:575
16883 #, no-wrap
16884 msgid "B<unlink>(2)\t1.0\n"
16885 msgstr ""
16886
16887 #. type: tbl table
16888 #: build/C/man2/syscalls.2:576
16889 #, no-wrap
16890 msgid "B<unlinkat>(2)\t2.6.16\n"
16891 msgstr ""
16892
16893 #. type: tbl table
16894 #: build/C/man2/syscalls.2:577
16895 #, no-wrap
16896 msgid "B<unshare>(2)\t2.6.16\n"
16897 msgstr ""
16898
16899 #. type: tbl table
16900 #: build/C/man2/syscalls.2:578
16901 #, no-wrap
16902 msgid "B<uselib>(2)\t1.0\n"
16903 msgstr ""
16904
16905 #. type: tbl table
16906 #: build/C/man2/syscalls.2:579
16907 #, no-wrap
16908 msgid "B<ustat>(2)\t1.0\n"
16909 msgstr ""
16910
16911 #. type: tbl table
16912 #: build/C/man2/syscalls.2:580
16913 #, no-wrap
16914 msgid "B<utime>(2)\t1.0\n"
16915 msgstr ""
16916
16917 #. type: tbl table
16918 #: build/C/man2/syscalls.2:581
16919 #, no-wrap
16920 msgid "B<utimensat>(2)\t2.6.22\n"
16921 msgstr ""
16922
16923 #. type: tbl table
16924 #: build/C/man2/syscalls.2:582
16925 #, no-wrap
16926 msgid "B<utimes>(2)\t2.2\n"
16927 msgstr ""
16928
16929 #. type: tbl table
16930 #: build/C/man2/syscalls.2:583
16931 #, no-wrap
16932 msgid "B<utrap_install>(2)\t2.2\tSparc\n"
16933 msgstr ""
16934
16935 #. type: tbl table
16936 #: build/C/man2/syscalls.2:584
16937 #, no-wrap
16938 msgid "B<vfork>(2)\t2.2\n"
16939 msgstr ""
16940
16941 #. type: tbl table
16942 #: build/C/man2/syscalls.2:585
16943 #, no-wrap
16944 msgid "B<vhangup>(2)\t1.0\n"
16945 msgstr ""
16946
16947 #. type: tbl table
16948 #: build/C/man2/syscalls.2:586
16949 #, no-wrap
16950 msgid "B<vm86old>(2)\t1.0\tT{\n"
16951 msgstr ""
16952
16953 #. type: tbl table
16954 #: build/C/man2/syscalls.2:587
16955 #, no-wrap
16956 msgid "Was \"vm86\"; renamed in\n"
16957 msgstr ""
16958
16959 #. type: tbl table
16960 #: build/C/man2/syscalls.2:588
16961 #, no-wrap
16962 msgid "2.0.28/2.2\n"
16963 msgstr ""
16964
16965 #. type: tbl table
16966 #: build/C/man2/syscalls.2:590
16967 #, no-wrap
16968 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
16969 msgstr ""
16970
16971 #. type: tbl table
16972 #: build/C/man2/syscalls.2:591
16973 #, no-wrap
16974 msgid "B<vmsplice>(2)\t2.6.17\n"
16975 msgstr ""
16976
16977 #. type: tbl table
16978 #: build/C/man2/syscalls.2:592
16979 #, no-wrap
16980 msgid "B<wait4>(2)\t1.0\n"
16981 msgstr ""
16982
16983 #. type: tbl table
16984 #: build/C/man2/syscalls.2:593
16985 #, no-wrap
16986 msgid "B<waitid>(2)\t2.6.10\n"
16987 msgstr ""
16988
16989 #. type: tbl table
16990 #: build/C/man2/syscalls.2:594
16991 #, no-wrap
16992 msgid "B<waitpid>(2)\t1.0\n"
16993 msgstr ""
16994
16995 #. type: tbl table
16996 #: build/C/man2/syscalls.2:595
16997 #, no-wrap
16998 msgid "B<write>(2)\t1.0\n"
16999 msgstr ""
17000
17001 #. type: tbl table
17002 #: build/C/man2/syscalls.2:596
17003 #, no-wrap
17004 msgid "B<writev>(2)\t2.0\n"
17005 msgstr ""
17006
17007 #. type: Plain text
17008 #: build/C/man2/syscalls.2:605
17009 msgid ""
17010 "On many platforms, including x86-32, socket calls are all multiplexed (via "
17011 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
17012 "IPC calls are multiplexed through B<ipc>(2)."
17013 msgstr ""
17014
17015 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
17016 #.  __NR_break is 17 on Linux 2.6.22/i386
17017 #.  __NR_ftime is 35 on Linux 2.6.22/i386
17018 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
17019 #.  __NR_gtty is 32 on Linux 2.6.22/i386
17020 #.  __NR_idle is 112 on Linux 2.6.22/i386
17021 #.  __NR_lock is 53 on Linux 2.6.22/i386
17022 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
17023 #.  __NR_mpx is 66 on Linux 2.6.22/i386
17024 #.  Slot has been reused
17025 #.  __NR_prof is 44 on Linux 2.6.22/i386
17026 #.  __NR_profil is 98 on Linux 2.6.22/i386
17027 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
17028 #.  __NR_security is 223 on Linux 2.4/i386
17029 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
17030 #.  on a couple of 2.6 architectures
17031 #.  __NR_stty is 31 on Linux 2.6.22/i386
17032 #.  The security call is for future use.
17033 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
17034 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
17035 #.  __NR_vserver is 273 on Linux 2.6.22/i386
17036 #. type: Plain text
17037 #: build/C/man2/syscalls.2:650
17038 msgid ""
17039 "Although slots are reserved for them in the system call table, the following "
17040 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
17041 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
17042 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
17043 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
17044 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
17045 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
17046 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
17047 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
17048 "for kernels patched to support STREAMS, and may never be in the standard "
17049 "kernel."
17050 msgstr ""
17051
17052 #. type: Plain text
17053 #: build/C/man2/syscalls.2:655
17054 msgid ""
17055 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
17056 "in 2.6.16; this system call was never available to user space."
17057 msgstr ""
17058
17059 #. type: Plain text
17060 #: build/C/man2/syscalls.2:672
17061 msgid ""
17062 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
17063 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
17064 "source in the routine I<sys_xxx>().  (The dispatch table for i386 can be "
17065 "found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many "
17066 "exceptions, however, mostly because older system calls were superseded by "
17067 "newer ones, and this has been treated somewhat unsystematically.  On "
17068 "platforms with proprietary operating-system emulation, such as parisc, "
17069 "sparc, sparc64, and alpha, there are many additional system calls; mips64 "
17070 "also contains a full set of 32-bit system calls."
17071 msgstr ""
17072
17073 #. type: Plain text
17074 #: build/C/man2/syscalls.2:691
17075 msgid ""
17076 "Over time, changes to the interfaces of some system calls have been "
17077 "necessary.  One reason for such changes was the need to increase the size of "
17078 "structures or scalar values passed to the system call.  Because of these "
17079 "changes, there are now various groups of related system calls (e.g., "
17080 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
17081 "which vary in details such as the size of their arguments.  (As noted "
17082 "earlier, applications are generally unaware of this: the glibc wrapper "
17083 "functions do some work to ensure that the right system call is invoked, and "
17084 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
17085 "calls that exist in multiple versions are the following:"
17086 msgstr ""
17087
17088 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
17089 #.  The stat system calls deal with three different data structures,
17090 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
17091 #. type: Plain text
17092 #: build/C/man2/syscalls.2:712
17093 msgid ""
17094 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
17095 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
17096 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
17097 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
17098 msgstr ""
17099
17100 #. type: Plain text
17101 #: build/C/man2/syscalls.2:723
17102 msgid ""
17103 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
17104 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
17105 "I<sys_newuname>()."
17106 msgstr ""
17107
17108 #. type: Plain text
17109 #: build/C/man2/syscalls.2:730
17110 msgid ""
17111 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
17112 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
17113 msgstr ""
17114
17115 #. type: Plain text
17116 #: build/C/man2/syscalls.2:741
17117 msgid ""
17118 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
17119 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
17120 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
17121 msgstr ""
17122
17123 #.  64-bit off_t changes: ftruncate64, *stat64,
17124 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
17125 #. type: Plain text
17126 #: build/C/man2/syscalls.2:753
17127 msgid ""
17128 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
17129 "support this change, a range of system calls were added (e.g., "
17130 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
17131 "superseding earlier calls of the same name without the \"32\" suffix."
17132 msgstr ""
17133
17134 #. type: Plain text
17135 #: build/C/man2/syscalls.2:770
17136 msgid ""
17137 "Linux 2.4 added support for applications on 32-bit architectures to access "
17138 "large files (i.e., files for which the sizes and file offsets can't be "
17139 "represented in 32 bits.)  To support this change, replacements were required "
17140 "for system calls that deal with file offsets and sizes.  Thus the following "
17141 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
17142 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
17143 "descriptors or symbolic links.  These system calls supersede the older "
17144 "system calls which, except in the case of the \"stat\" calls, have the same "
17145 "name without the \"64\" suffix."
17146 msgstr ""
17147
17148 #. type: Plain text
17149 #: build/C/man2/syscalls.2:774
17150 msgid ""
17151 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
17152 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
17153 "calls exist, the other versions are obsolete."
17154 msgstr ""
17155
17156 #. type: Plain text
17157 #: build/C/man2/syscalls.2:782
17158 msgid ""
17159 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
17160 "real-time signals (see B<signal>(7)).  These system calls supersede the "
17161 "older system calls of the same name without the \"rt_\" prefix."
17162 msgstr ""
17163
17164 #.  (used by libc 6)
17165 #.  .PP
17166 #.  Two system call numbers,
17167 #.  .IR __NR__llseek
17168 #.  and
17169 #.  .IR __NR__sysctl
17170 #.  have an additional underscore absent in
17171 #.  .IR sys_llseek ()
17172 #.  and
17173 #.  .IR sys_sysctl ().
17174 #
17175 #.  In kernel 2.1.81,
17176 #.  .BR lchown (2)
17177 #.  and
17178 #.  .BR chown (2)
17179 #.  were swapped; that is,
17180 #.  .BR lchown (2)
17181 #.  was added with the semantics that were then current for
17182 #.  .BR chown (2),
17183 #.  and the semantics of the latter call were changed to what
17184 #.  they are today.
17185 #. type: Plain text
17186 #: build/C/man2/syscalls.2:832
17187 msgid ""
17188 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
17189 "which caused problems in the way argument passing on the i386 used to be set "
17190 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
17191 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
17192 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
17193 "argument block) instead.  These days passing five arguments is not a problem "
17194 "any more, and there is a I<__NR__newselect> that corresponds directly to "
17195 "I<sys_select>()  and similarly I<__NR_mmap2>."
17196 msgstr ""
17197
17198 #. type: Plain text
17199 #: build/C/man2/syscalls.2:838
17200 msgid "B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<libc>(7), B<vdso>(7)"
17201 msgstr ""
17202
17203 #. type: TH
17204 #: build/C/man3/sysconf.3:27
17205 #, no-wrap
17206 msgid "SYSCONF"
17207 msgstr ""
17208
17209 #. type: TH
17210 #: build/C/man3/sysconf.3:27
17211 #, no-wrap
17212 msgid "2013-02-12"
17213 msgstr ""
17214
17215 #. type: Plain text
17216 #: build/C/man3/sysconf.3:30
17217 msgid "sysconf - get configuration information at run time"
17218 msgstr ""
17219
17220 #. type: Plain text
17221 #: build/C/man3/sysconf.3:35
17222 #, no-wrap
17223 msgid "B<long sysconf(int >I<name>B<);>\n"
17224 msgstr ""
17225
17226 #. type: Plain text
17227 #: build/C/man3/sysconf.3:40
17228 msgid ""
17229 "POSIX allows an application to test at compile or run time whether certain "
17230 "options are supported, or what the value is of certain configurable "
17231 "constants or limits."
17232 msgstr ""
17233
17234 #. type: Plain text
17235 #: build/C/man3/sysconf.3:46
17236 msgid ""
17237 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
17238 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
17239 msgstr ""
17240
17241 #. type: Plain text
17242 #: build/C/man3/sysconf.3:56
17243 msgid ""
17244 "At run time, one can ask for numerical values using the present function "
17245 "B<sysconf>().  One can ask for numerical values that may depend on the "
17246 "filesystem a file is in using the calls B<fpathconf>(3)  and "
17247 "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
17248 msgstr ""
17249
17250 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
17251 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
17252 #. type: Plain text
17253 #: build/C/man3/sysconf.3:61
17254 msgid ""
17255 "The values obtained from these functions are system configuration "
17256 "constants.  They do not change during the lifetime of a process."
17257 msgstr ""
17258
17259 #.  and 999 to indicate support for options no longer present in the latest
17260 #.  standard. (?)
17261 #. type: Plain text
17262 #: build/C/man3/sysconf.3:84
17263 msgid ""
17264 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
17265 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
17266 "time.  If it is defined to -1, then the option is not supported.  If it is "
17267 "defined to 0, then relevant functions and headers exist, but one has to ask "
17268 "at run time what degree of support is available.  If it is defined to a "
17269 "value other than -1 or 0, then the option is supported.  Usually the value "
17270 "(such as 200112L) indicates the year and month of the POSIX revision "
17271 "describing the option.  Glibc uses the value 1 to indicate support as long "
17272 "as the POSIX revision has not been published yet.  The B<sysconf>()  "
17273 "argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
17274 msgstr ""
17275
17276 #. type: Plain text
17277 #: build/C/man3/sysconf.3:104
17278 msgid ""
17279 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
17280 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
17281 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
17282 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
17283 "greater value might actually be supported.  If an application wants to take "
17284 "advantage of values which may change between systems, a call to B<sysconf>()  "
17285 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
17286 msgstr ""
17287
17288 #. type: SS
17289 #: build/C/man3/sysconf.3:104
17290 #, no-wrap
17291 msgid "POSIX.1 variables"
17292 msgstr ""
17293
17294 #. type: Plain text
17295 #: build/C/man3/sysconf.3:109
17296 msgid ""
17297 "We give the name of the variable, the name of the B<sysconf>()  argument "
17298 "used to inquire about its value, and a short description."
17299 msgstr ""
17300
17301 #.  [for the moment: only the things that are unconditionally present]
17302 #.  .TP
17303 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
17304 #.  (if _POSIX_ASYNCHRONOUS_IO)
17305 #.  Maximum number of I/O operations in a single list I/O call.
17306 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
17307 #.  .TP
17308 #.  .BR AIO_MAX " - " _SC_AIO_MAX
17309 #.  (if _POSIX_ASYNCHRONOUS_IO)
17310 #.  Maximum number of outstanding asynchronous I/O operations.
17311 #.  Must not be less than _POSIX_AIO_MAX.
17312 #.  .TP
17313 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
17314 #.  (if _POSIX_ASYNCHRONOUS_IO)
17315 #.  The maximum amount by which a process can decrease its
17316 #.  asynchronous I/O priority level from its own scheduling priority.
17317 #.  Must be nonnegative.
17318 #. type: Plain text
17319 #: build/C/man3/sysconf.3:128
17320 msgid "First, the POSIX.1 compatible values."
17321 msgstr ""
17322
17323 #. type: TP
17324 #: build/C/man3/sysconf.3:128
17325 #, no-wrap
17326 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
17327 msgstr ""
17328
17329 #. type: Plain text
17330 #: build/C/man3/sysconf.3:136
17331 msgid ""
17332 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
17333 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
17334 msgstr ""
17335
17336 #. type: TP
17337 #: build/C/man3/sysconf.3:136
17338 #, no-wrap
17339 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
17340 msgstr ""
17341
17342 #. type: Plain text
17343 #: build/C/man3/sysconf.3:142
17344 msgid ""
17345 "The maximum number of simultaneous processes per user ID.  Must not be less "
17346 "than B<_POSIX_CHILD_MAX> (25)."
17347 msgstr ""
17348
17349 #. type: TP
17350 #: build/C/man3/sysconf.3:142
17351 #, no-wrap
17352 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
17353 msgstr ""
17354
17355 #. type: Plain text
17356 #: build/C/man3/sysconf.3:150
17357 msgid ""
17358 "Maximum length of a hostname, not including the terminating null byte, as "
17359 "returned by B<gethostname>(2).  Must not be less than "
17360 "B<_POSIX_HOST_NAME_MAX> (255)."
17361 msgstr ""
17362
17363 #. type: TP
17364 #: build/C/man3/sysconf.3:150
17365 #, no-wrap
17366 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
17367 msgstr ""
17368
17369 #. type: Plain text
17370 #: build/C/man3/sysconf.3:156
17371 msgid ""
17372 "Maximum length of a login name, including the terminating null byte.  Must "
17373 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
17374 msgstr ""
17375
17376 #. type: TP
17377 #: build/C/man3/sysconf.3:156
17378 #, no-wrap
17379 msgid "clock ticks - B<_SC_CLK_TCK>"
17380 msgstr ""
17381
17382 #. type: Plain text
17383 #: build/C/man3/sysconf.3:165
17384 msgid ""
17385 "The number of clock ticks per second.  The corresponding variable is "
17386 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
17387 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
17388 msgstr ""
17389
17390 #. type: TP
17391 #: build/C/man3/sysconf.3:165
17392 #, no-wrap
17393 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
17394 msgstr ""
17395
17396 #. type: Plain text
17397 #: build/C/man3/sysconf.3:171
17398 msgid ""
17399 "The maximum number of files that a process can have open at any time.  Must "
17400 "not be less than B<_POSIX_OPEN_MAX> (20)."
17401 msgstr ""
17402
17403 #. type: TP
17404 #: build/C/man3/sysconf.3:171
17405 #, no-wrap
17406 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
17407 msgstr ""
17408
17409 #. type: Plain text
17410 #: build/C/man3/sysconf.3:176
17411 msgid ""
17412 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
17413 "PAGE_SIZE instead.)"
17414 msgstr ""
17415
17416 #. type: TP
17417 #: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
17418 #, no-wrap
17419 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
17420 msgstr ""
17421
17422 #. type: Plain text
17423 #: build/C/man3/sysconf.3:185
17424 msgid ""
17425 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
17426 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
17427 msgstr ""
17428
17429 #. type: TP
17430 #: build/C/man3/sysconf.3:185
17431 #, no-wrap
17432 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
17433 msgstr ""
17434
17435 #. type: Plain text
17436 #: build/C/man3/sysconf.3:194
17437 msgid ""
17438 "The maximum number of streams that a process can have open at any time.  If "
17439 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
17440 "not be less than B<_POSIX_STREAM_MAX> (8)."
17441 msgstr ""
17442
17443 #. type: TP
17444 #: build/C/man3/sysconf.3:194
17445 #, no-wrap
17446 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
17447 msgstr ""
17448
17449 #. type: Plain text
17450 #: build/C/man3/sysconf.3:202
17451 msgid ""
17452 "The maximum number of symbolic links seen in a pathname before resolution "
17453 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
17454 msgstr ""
17455
17456 #. type: TP
17457 #: build/C/man3/sysconf.3:202
17458 #, no-wrap
17459 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
17460 msgstr ""
17461
17462 #. type: Plain text
17463 #: build/C/man3/sysconf.3:209
17464 msgid ""
17465 "The maximum length of terminal device name, including the terminating null "
17466 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
17467 msgstr ""
17468
17469 #. type: TP
17470 #: build/C/man3/sysconf.3:209
17471 #, no-wrap
17472 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
17473 msgstr ""
17474
17475 #. type: Plain text
17476 #: build/C/man3/sysconf.3:215
17477 msgid ""
17478 "The maximum number of bytes in a timezone name.  Must not be less than "
17479 "B<_POSIX_TZNAME_MAX> (6)."
17480 msgstr ""
17481
17482 #. type: TP
17483 #: build/C/man3/sysconf.3:215
17484 #, no-wrap
17485 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
17486 msgstr ""
17487
17488 #. type: Plain text
17489 #: build/C/man3/sysconf.3:223
17490 msgid ""
17491 "indicates the year and month the POSIX.1 standard was approved in the format "
17492 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
17493 msgstr ""
17494
17495 #. type: SS
17496 #: build/C/man3/sysconf.3:223
17497 #, no-wrap
17498 msgid "POSIX.2 variables"
17499 msgstr ""
17500
17501 #. type: Plain text
17502 #: build/C/man3/sysconf.3:225
17503 msgid "Next, the POSIX.2 values, giving limits for utilities."
17504 msgstr ""
17505
17506 #. type: TP
17507 #: build/C/man3/sysconf.3:225
17508 #, no-wrap
17509 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
17510 msgstr ""
17511
17512 #. type: Plain text
17513 #: build/C/man3/sysconf.3:232
17514 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
17515 msgstr ""
17516
17517 #. type: TP
17518 #: build/C/man3/sysconf.3:232
17519 #, no-wrap
17520 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
17521 msgstr ""
17522
17523 #. type: Plain text
17524 #: build/C/man3/sysconf.3:236
17525 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
17526 msgstr ""
17527
17528 #. type: TP
17529 #: build/C/man3/sysconf.3:236
17530 #, no-wrap
17531 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
17532 msgstr ""
17533
17534 #. type: Plain text
17535 #: build/C/man3/sysconf.3:242
17536 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
17537 msgstr ""
17538
17539 #. type: TP
17540 #: build/C/man3/sysconf.3:242
17541 #, no-wrap
17542 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
17543 msgstr ""
17544
17545 #. type: Plain text
17546 #: build/C/man3/sysconf.3:246
17547 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
17548 msgstr ""
17549
17550 #. type: TP
17551 #: build/C/man3/sysconf.3:246
17552 #, no-wrap
17553 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
17554 msgstr ""
17555
17556 #. type: Plain text
17557 #: build/C/man3/sysconf.3:252
17558 msgid ""
17559 "indicates the maximum numbers of weights that can be assigned to an entry of "
17560 "the B<LC_COLLATE order> keyword in the locale definition file,"
17561 msgstr ""
17562
17563 #. type: TP
17564 #: build/C/man3/sysconf.3:252
17565 #, no-wrap
17566 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
17567 msgstr ""
17568
17569 #. type: Plain text
17570 #: build/C/man3/sysconf.3:257
17571 msgid ""
17572 "is the maximum number of expressions which can be nested within parentheses "
17573 "by B<expr>(1)."
17574 msgstr ""
17575
17576 #. type: TP
17577 #: build/C/man3/sysconf.3:257
17578 #, no-wrap
17579 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
17580 msgstr ""
17581
17582 #. type: Plain text
17583 #: build/C/man3/sysconf.3:263
17584 msgid ""
17585 "The maximum length of a utility's input line, either from standard input or "
17586 "from a file.  This includes space for a trailing newline."
17587 msgstr ""
17588
17589 #. type: Plain text
17590 #: build/C/man3/sysconf.3:269
17591 msgid ""
17592 "The maximum number of repeated occurrences of a regular expression when the "
17593 "interval notation B<\\e{m,n\\e}> is used."
17594 msgstr ""
17595
17596 #. type: TP
17597 #: build/C/man3/sysconf.3:269
17598 #, no-wrap
17599 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
17600 msgstr ""
17601
17602 #. type: Plain text
17603 #: build/C/man3/sysconf.3:273
17604 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
17605 msgstr ""
17606
17607 #. type: TP
17608 #: build/C/man3/sysconf.3:273
17609 #, no-wrap
17610 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
17611 msgstr ""
17612
17613 #. type: Plain text
17614 #: build/C/man3/sysconf.3:277
17615 msgid ""
17616 "indicates whether the POSIX.2 C language development facilities are "
17617 "supported."
17618 msgstr ""
17619
17620 #. type: TP
17621 #: build/C/man3/sysconf.3:277
17622 #, no-wrap
17623 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
17624 msgstr ""
17625
17626 #. type: Plain text
17627 #: build/C/man3/sysconf.3:281
17628 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
17629 msgstr ""
17630
17631 #. type: TP
17632 #: build/C/man3/sysconf.3:281
17633 #, no-wrap
17634 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
17635 msgstr ""
17636
17637 #. type: Plain text
17638 #: build/C/man3/sysconf.3:284
17639 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
17640 msgstr ""
17641
17642 #. type: TP
17643 #: build/C/man3/sysconf.3:284
17644 #, no-wrap
17645 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
17646 msgstr ""
17647
17648 #. type: Plain text
17649 #: build/C/man3/sysconf.3:289
17650 msgid ""
17651 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
17652 "supported."
17653 msgstr ""
17654
17655 #. type: TP
17656 #: build/C/man3/sysconf.3:289
17657 #, no-wrap
17658 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
17659 msgstr ""
17660
17661 #. type: Plain text
17662 #: build/C/man3/sysconf.3:293
17663 msgid ""
17664 "indicates whether the POSIX.2 software development utilities option is "
17665 "supported."
17666 msgstr ""
17667
17668 #. type: Plain text
17669 #: build/C/man3/sysconf.3:295
17670 msgid "These values also exist, but may not be standard."
17671 msgstr ""
17672
17673 #. type: TP
17674 #: build/C/man3/sysconf.3:295
17675 #, no-wrap
17676 msgid " - B<_SC_PHYS_PAGES>"
17677 msgstr ""
17678
17679 #. type: Plain text
17680 #: build/C/man3/sysconf.3:302
17681 msgid ""
17682 "The number of pages of physical memory.  Note that it is possible for the "
17683 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
17684 msgstr ""
17685
17686 #. type: TP
17687 #: build/C/man3/sysconf.3:302
17688 #, no-wrap
17689 msgid " - B<_SC_AVPHYS_PAGES>"
17690 msgstr ""
17691
17692 #. type: Plain text
17693 #: build/C/man3/sysconf.3:305
17694 msgid "The number of currently available pages of physical memory."
17695 msgstr ""
17696
17697 #. type: TP
17698 #: build/C/man3/sysconf.3:305
17699 #, no-wrap
17700 msgid " - B<_SC_NPROCESSORS_CONF>"
17701 msgstr ""
17702
17703 #. type: Plain text
17704 #: build/C/man3/sysconf.3:308
17705 msgid "The number of processors configured."
17706 msgstr ""
17707
17708 #. type: TP
17709 #: build/C/man3/sysconf.3:308
17710 #, no-wrap
17711 msgid " - B<_SC_NPROCESSORS_ONLN>"
17712 msgstr ""
17713
17714 #. type: Plain text
17715 #: build/C/man3/sysconf.3:311
17716 msgid "The number of processors currently online (available)."
17717 msgstr ""
17718
17719 #. type: Plain text
17720 #: build/C/man3/sysconf.3:324
17721 msgid ""
17722 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
17723 "Otherwise, the value returned is the value of the system resource and "
17724 "I<errno> is not changed.  In the case of options, a positive value is "
17725 "returned if a queried option is available, and -1 if it is not.  In the case "
17726 "of limits, -1 means that there is no definite limit."
17727 msgstr ""
17728
17729 #. type: Plain text
17730 #: build/C/man3/sysconf.3:332
17731 msgid ""
17732 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
17733 "the argument space for B<exec>(3)  is consumed by the user's environment "
17734 "variables."
17735 msgstr ""
17736
17737 #. type: Plain text
17738 #: build/C/man3/sysconf.3:343
17739 msgid ""
17740 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
17741 "B<pathconf>(3), B<posixoptions>(7)"
17742 msgstr ""
17743
17744 #. type: TH
17745 #: build/C/man2/sysctl.2:30
17746 #, no-wrap
17747 msgid "SYSCTL"
17748 msgstr ""
17749
17750 #. type: TH
17751 #: build/C/man2/sysctl.2:30
17752 #, no-wrap
17753 msgid "2012-12-22"
17754 msgstr ""
17755
17756 #. type: Plain text
17757 #: build/C/man2/sysctl.2:33
17758 msgid "sysctl - read/write system parameters"
17759 msgstr ""
17760
17761 #. type: Plain text
17762 #: build/C/man2/sysctl.2:38
17763 #, no-wrap
17764 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
17765 msgstr ""
17766
17767 #. type: Plain text
17768 #: build/C/man2/sysctl.2:40
17769 #, no-wrap
17770 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
17771 msgstr ""
17772
17773 #. type: Plain text
17774 #: build/C/man2/sysctl.2:47
17775 msgid "B<Do not use this system call!> See NOTES."
17776 msgstr ""
17777
17778 #. type: Plain text
17779 #: build/C/man2/sysctl.2:54
17780 msgid ""
17781 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
17782 "the hostname, or the maximum number of open files.  The argument has the "
17783 "form"
17784 msgstr ""
17785
17786 #. type: Plain text
17787 #: build/C/man2/sysctl.2:66
17788 #, no-wrap
17789 msgid ""
17790 "struct __sysctl_args {\n"
17791 "    int    *name;    /* integer vector describing variable */\n"
17792 "    int     nlen;    /* length of this vector */\n"
17793 "    void   *oldval;  /* 0 or address where to store old value */\n"
17794 "    size_t *oldlenp; /* available room for old value,\n"
17795 "                        overwritten by actual size of old value */\n"
17796 "    void   *newval;  /* 0 or address of new value */\n"
17797 "    size_t  newlen;  /* size of new value */\n"
17798 "};\n"
17799 msgstr ""
17800
17801 #. type: Plain text
17802 #: build/C/man2/sysctl.2:74
17803 msgid ""
17804 "This call does a search in a tree structure, possibly resembling a directory "
17805 "tree under I</proc/sys>, and if the requested item is found calls some "
17806 "appropriate routine to read or modify the value."
17807 msgstr ""
17808
17809 #. type: Plain text
17810 #: build/C/man2/sysctl.2:81
17811 msgid ""
17812 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
17813 "-1 is returned and I<errno> is set to indicate the error."
17814 msgstr ""
17815
17816 #. type: Plain text
17817 #: build/C/man2/sysctl.2:88
17818 msgid ""
17819 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
17820 "but allowed zero room in I<oldlenp>."
17821 msgstr ""
17822
17823 #. type: Plain text
17824 #: build/C/man2/sysctl.2:92
17825 msgid "I<name> was not found."
17826 msgstr ""
17827
17828 #. type: TP
17829 #: build/C/man2/sysctl.2:92
17830 #, no-wrap
17831 msgid "B<EACCES>, B<EPERM>"
17832 msgstr ""
17833
17834 #. type: Plain text
17835 #: build/C/man2/sysctl.2:100
17836 msgid ""
17837 "No search permission for one of the encountered \"directories\", or no read "
17838 "permission where I<oldval> was nonzero, or no write permission where "
17839 "I<newval> was nonzero."
17840 msgstr ""
17841
17842 #. type: Plain text
17843 #: build/C/man2/sysctl.2:114
17844 msgid ""
17845 "This call is Linux-specific, and should not be used in programs intended to "
17846 "be portable.  A B<sysctl>()  call has been present in Linux since version "
17847 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
17848 "and the object naming schemes differ between Linux and 4.4BSD, but the "
17849 "declaration of the B<sysctl>()  function is the same in both."
17850 msgstr ""
17851
17852 #.  See http://lwn.net/Articles/247243/
17853 #.  Though comments in suggest that it is needed by old glibc binaries,
17854 #.  so maybe it's not going away.
17855 #. type: Plain text
17856 #: build/C/man2/sysctl.2:131
17857 msgid ""
17858 "Glibc does not provide a wrapper for this system call; call it using "
17859 "B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has "
17860 "long been discouraged, and it is so unloved that B<it is likely to disappear "
17861 "in a future kernel version>.  Since Linux 2.6.24, uses of this system call "
17862 "result in warnings in the kernel log.  Remove it from your programs now; use "
17863 "the I</proc/sys> interface instead."
17864 msgstr ""
17865
17866 #. type: Plain text
17867 #: build/C/man2/sysctl.2:135
17868 msgid ""
17869 "This system call is available only if the kernel was configured with the "
17870 "B<CONFIG_SYSCTL_SYSCALL> option."
17871 msgstr ""
17872
17873 #. type: Plain text
17874 #: build/C/man2/sysctl.2:138
17875 msgid ""
17876 "The object names vary between kernel versions, making this system call "
17877 "worthless for applications."
17878 msgstr ""
17879
17880 #. type: Plain text
17881 #: build/C/man2/sysctl.2:140
17882 msgid "Not all available objects are properly documented."
17883 msgstr ""
17884
17885 #. type: Plain text
17886 #: build/C/man2/sysctl.2:143
17887 msgid ""
17888 "It is not yet possible to change operating system by writing to "
17889 "I</proc/sys/kernel/ostype>."
17890 msgstr ""
17891
17892 #. type: Plain text
17893 #: build/C/man2/sysctl.2:152
17894 #, no-wrap
17895 msgid ""
17896 "#define _GNU_SOURCE\n"
17897 "#include E<lt>unistd.hE<gt>\n"
17898 "#include E<lt>sys/syscall.hE<gt>\n"
17899 "#include E<lt>string.hE<gt>\n"
17900 "#include E<lt>stdio.hE<gt>\n"
17901 "#include E<lt>stdlib.hE<gt>\n"
17902 "#include E<lt>linux/sysctl.hE<gt>\n"
17903 msgstr ""
17904
17905 #. type: Plain text
17906 #: build/C/man2/sysctl.2:154
17907 #, no-wrap
17908 msgid "int _sysctl(struct __sysctl_args *args );\n"
17909 msgstr ""
17910
17911 #. type: Plain text
17912 #: build/C/man2/sysctl.2:156
17913 #, no-wrap
17914 msgid "#define OSNAMESZ 100\n"
17915 msgstr ""
17916
17917 #. type: Plain text
17918 #: build/C/man2/sysctl.2:164
17919 #, no-wrap
17920 msgid ""
17921 "int\n"
17922 "main(void)\n"
17923 "{\n"
17924 "    struct __sysctl_args args;\n"
17925 "    char osname[OSNAMESZ];\n"
17926 "    size_t osnamelth;\n"
17927 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
17928 msgstr ""
17929
17930 #. type: Plain text
17931 #: build/C/man2/sysctl.2:170
17932 #, no-wrap
17933 msgid ""
17934 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
17935 "    args.name = name;\n"
17936 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
17937 "    args.oldval = osname;\n"
17938 "    args.oldlenp = &osnamelth;\n"
17939 msgstr ""
17940
17941 #. type: Plain text
17942 #: build/C/man2/sysctl.2:172
17943 #, no-wrap
17944 msgid "    osnamelth = sizeof(osname);\n"
17945 msgstr ""
17946
17947 #. type: Plain text
17948 #: build/C/man2/sysctl.2:180
17949 #, no-wrap
17950 msgid ""
17951 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
17952 "        perror(\"_sysctl\");\n"
17953 "        exit(EXIT_FAILURE);\n"
17954 "    }\n"
17955 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
17956 "    exit(EXIT_SUCCESS);\n"
17957 "}\n"
17958 msgstr ""
17959
17960 #. type: Plain text
17961 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
17962 msgid "B<proc>(5)"
17963 msgstr ""
17964
17965 #. type: TH
17966 #: build/C/man2/sysinfo.2:14
17967 #, no-wrap
17968 msgid "SYSINFO"
17969 msgstr ""
17970
17971 #. type: TH
17972 #: build/C/man2/sysinfo.2:14
17973 #, no-wrap
17974 msgid "2012-05-05"
17975 msgstr ""
17976
17977 #. type: Plain text
17978 #: build/C/man2/sysinfo.2:17
17979 msgid "sysinfo - returns information on overall system statistics"
17980 msgstr ""
17981
17982 #. type: Plain text
17983 #: build/C/man2/sysinfo.2:21
17984 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
17985 msgstr ""
17986
17987 #. type: Plain text
17988 #: build/C/man2/sysinfo.2:25
17989 msgid ""
17990 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
17991 "following structure:"
17992 msgstr ""
17993
17994 #. type: Plain text
17995 #: build/C/man2/sysinfo.2:40
17996 #, no-wrap
17997 msgid ""
17998 "struct sysinfo {\n"
17999 "    long uptime;             /* Seconds since boot */\n"
18000 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
18001 "    unsigned long totalram;  /* Total usable main memory size */\n"
18002 "    unsigned long freeram;   /* Available memory size */\n"
18003 "    unsigned long sharedram; /* Amount of shared memory */\n"
18004 "    unsigned long bufferram; /* Memory used by buffers */\n"
18005 "    unsigned long totalswap; /* Total swap space size */\n"
18006 "    unsigned long freeswap;  /* swap space still available */\n"
18007 "    unsigned short procs;    /* Number of current processes */\n"
18008 "    char _f[22];             /* Pads structure to 64 bytes */\n"
18009 "};\n"
18010 msgstr ""
18011
18012 #. type: Plain text
18013 #: build/C/man2/sysinfo.2:44
18014 msgid "and the sizes were given in bytes."
18015 msgstr ""
18016
18017 #. type: Plain text
18018 #: build/C/man2/sysinfo.2:47
18019 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
18020 msgstr ""
18021
18022 #. type: Plain text
18023 #: build/C/man2/sysinfo.2:65
18024 #, no-wrap
18025 msgid ""
18026 "struct sysinfo {\n"
18027 "    long uptime;             /* Seconds since boot */\n"
18028 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
18029 "    unsigned long totalram;  /* Total usable main memory size */\n"
18030 "    unsigned long freeram;   /* Available memory size */\n"
18031 "    unsigned long sharedram; /* Amount of shared memory */\n"
18032 "    unsigned long bufferram; /* Memory used by buffers */\n"
18033 "    unsigned long totalswap; /* Total swap space size */\n"
18034 "    unsigned long freeswap;  /* swap space still available */\n"
18035 "    unsigned short procs;    /* Number of current processes */\n"
18036 "    unsigned long totalhigh; /* Total high memory size */\n"
18037 "    unsigned long freehigh;  /* Available high memory size */\n"
18038 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
18039 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
18040 "};\n"
18041 msgstr ""
18042
18043 #. type: Plain text
18044 #: build/C/man2/sysinfo.2:69
18045 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
18046 msgstr ""
18047
18048 #. type: Plain text
18049 #: build/C/man2/sysinfo.2:74
18050 msgid ""
18051 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
18052 "This is more portable than reading I</dev/kmem>."
18053 msgstr ""
18054
18055 #. type: Plain text
18056 #: build/C/man2/sysinfo.2:83
18057 msgid "pointer to I<struct\\ sysinfo> is invalid"
18058 msgstr ""
18059
18060 #. type: Plain text
18061 #: build/C/man2/sysinfo.2:94
18062 msgid ""
18063 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
18064 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
18065 msgstr ""
18066
18067 #. type: TH
18068 #: build/C/man3/tcgetpgrp.3:25
18069 #, no-wrap
18070 msgid "TCGETPGRP"
18071 msgstr ""
18072
18073 #. type: TH
18074 #: build/C/man3/tcgetpgrp.3:25
18075 #, no-wrap
18076 msgid "2014-01-13"
18077 msgstr ""
18078
18079 #. type: Plain text
18080 #: build/C/man3/tcgetpgrp.3:28
18081 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
18082 msgstr ""
18083
18084 #. type: Plain text
18085 #: build/C/man3/tcgetpgrp.3:32
18086 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
18087 msgstr ""
18088
18089 #. type: Plain text
18090 #: build/C/man3/tcgetpgrp.3:34
18091 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
18092 msgstr ""
18093
18094 #.  The process itself may be a background process.
18095 #. type: Plain text
18096 #: build/C/man3/tcgetpgrp.3:42
18097 msgid ""
18098 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
18099 "process group on the terminal associated to I<fd>, which must be the "
18100 "controlling terminal of the calling process."
18101 msgstr ""
18102
18103 #. type: Plain text
18104 #: build/C/man3/tcgetpgrp.3:55
18105 msgid ""
18106 "The function B<tcsetpgrp>()  makes the process group with process group ID "
18107 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
18108 "which must be the controlling terminal of the calling process, and still be "
18109 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
18110 "group belonging to the same session as the calling process."
18111 msgstr ""
18112
18113 #. type: Plain text
18114 #: build/C/man3/tcgetpgrp.3:64
18115 msgid ""
18116 "If B<tcsetpgrp>()  is called by a member of a background process group in "
18117 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
18118 "a B<SIGTTOU> signal is sent to all members of this background process group."
18119 msgstr ""
18120
18121 #. type: Plain text
18122 #: build/C/man3/tcgetpgrp.3:79
18123 msgid ""
18124 "When I<fd> refers to the controlling terminal of the calling process, the "
18125 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
18126 "terminal if there is one, and some value larger than 1 that is not presently "
18127 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
18128 "terminal of the calling process, -1 is returned, and I<errno> is set "
18129 "appropriately."
18130 msgstr ""
18131
18132 #. type: Plain text
18133 #: build/C/man3/tcgetpgrp.3:86
18134 msgid ""
18135 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
18136 "I<errno> is set appropriately."
18137 msgstr ""
18138
18139 #. type: Plain text
18140 #: build/C/man3/tcgetpgrp.3:95
18141 msgid "I<pgrp> has an unsupported value."
18142 msgstr ""
18143
18144 #. type: Plain text
18145 #: build/C/man3/tcgetpgrp.3:104
18146 msgid ""
18147 "The calling process does not have a controlling terminal, or it has one but "
18148 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
18149 "terminal is no longer associated with the session of the calling process."
18150 msgstr ""
18151
18152 #. type: Plain text
18153 #: build/C/man3/tcgetpgrp.3:109
18154 msgid ""
18155 "I<pgrp> has a supported value, but is not the process group ID of a process "
18156 "in the same session as the calling process."
18157 msgstr ""
18158
18159 #. type: Plain text
18160 #: build/C/man3/tcgetpgrp.3:116
18161 msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
18162 msgstr ""
18163
18164 #. type: Plain text
18165 #: build/C/man3/tcgetpgrp.3:124
18166 msgid ""
18167 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
18168 "ioctls."
18169 msgstr ""
18170
18171 #. type: SS
18172 #: build/C/man3/tcgetpgrp.3:124 build/C/man2/vfork.2:234
18173 #, no-wrap
18174 msgid "History"
18175 msgstr ""
18176
18177 #. type: Plain text
18178 #: build/C/man3/tcgetpgrp.3:127
18179 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
18180 msgstr ""
18181
18182 #. type: Plain text
18183 #: build/C/man3/tcgetpgrp.3:131
18184 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
18185 msgstr ""
18186
18187 #. type: TH
18188 #: build/C/man2/truncate.2:43
18189 #, no-wrap
18190 msgid "TRUNCATE"
18191 msgstr ""
18192
18193 #. type: TH
18194 #: build/C/man2/truncate.2:43
18195 #, no-wrap
18196 msgid "2013-04-01"
18197 msgstr ""
18198
18199 #. type: Plain text
18200 #: build/C/man2/truncate.2:46
18201 msgid "truncate, ftruncate - truncate a file to a specified length"
18202 msgstr ""
18203
18204 #. type: Plain text
18205 #: build/C/man2/truncate.2:52
18206 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
18207 msgstr ""
18208
18209 #. type: Plain text
18210 #: build/C/man2/truncate.2:54
18211 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
18212 msgstr ""
18213
18214 #. type: Plain text
18215 #: build/C/man2/truncate.2:63
18216 msgid "B<truncate>():"
18217 msgstr ""
18218
18219 #. type: Plain text
18220 #: build/C/man2/truncate.2:71
18221 msgid "B<ftruncate>():"
18222 msgstr ""
18223
18224 #. type: Plain text
18225 #: build/C/man2/truncate.2:76
18226 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
18227 msgstr ""
18228
18229 #. type: Plain text
18230 #: build/C/man2/truncate.2:91
18231 msgid ""
18232 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
18233 "named by I<path> or referenced by I<fd> to be truncated to a size of "
18234 "precisely I<length> bytes."
18235 msgstr ""
18236
18237 #. type: Plain text
18238 #: build/C/man2/truncate.2:95
18239 msgid ""
18240 "If the file previously was larger than this size, the extra data is lost.  "
18241 "If the file previously was shorter, it is extended, and the extended part "
18242 "reads as null bytes (\\(aq\\e0\\(aq)."
18243 msgstr ""
18244
18245 #. type: Plain text
18246 #: build/C/man2/truncate.2:97
18247 msgid "The file offset is not changed."
18248 msgstr ""
18249
18250 #. type: Plain text
18251 #: build/C/man2/truncate.2:104
18252 msgid ""
18253 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
18254 "time of last status change and time of last modification; see B<stat>(2))  "
18255 "for the file are updated, and the set-user-ID and set-group-ID permission "
18256 "bits may be cleared."
18257 msgstr ""
18258
18259 #. type: Plain text
18260 #: build/C/man2/truncate.2:110
18261 msgid ""
18262 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
18263 "the file must be writable."
18264 msgstr ""
18265
18266 #. type: Plain text
18267 #: build/C/man2/truncate.2:118
18268 msgid "For B<truncate>():"
18269 msgstr ""
18270
18271 #. type: Plain text
18272 #: build/C/man2/truncate.2:124
18273 msgid ""
18274 "Search permission is denied for a component of the path prefix, or the named "
18275 "file is not writable by the user.  (See also B<path_resolution>(7).)"
18276 msgstr ""
18277
18278 #. type: Plain text
18279 #: build/C/man2/truncate.2:128
18280 msgid "I<Path> points outside the process's allocated address space."
18281 msgstr ""
18282
18283 #. type: TP
18284 #: build/C/man2/truncate.2:128
18285 #, no-wrap
18286 msgid "B<EFBIG>"
18287 msgstr ""
18288
18289 #. type: Plain text
18290 #: build/C/man2/truncate.2:133
18291 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
18292 msgstr ""
18293
18294 #. type: Plain text
18295 #: build/C/man2/truncate.2:140
18296 msgid ""
18297 "While blocked waiting to complete, the call was interrupted by a signal "
18298 "handler; see B<fcntl>(2)  and B<signal>(7)."
18299 msgstr ""
18300
18301 #. type: Plain text
18302 #: build/C/man2/truncate.2:145
18303 msgid "The argument I<length> is negative or larger than the maximum file size."
18304 msgstr ""
18305
18306 #. type: Plain text
18307 #: build/C/man2/truncate.2:148
18308 msgid "An I/O error occurred updating the inode."
18309 msgstr ""
18310
18311 #. type: Plain text
18312 #: build/C/man2/truncate.2:151
18313 msgid "The named file is a directory."
18314 msgstr ""
18315
18316 #. type: Plain text
18317 #: build/C/man2/truncate.2:154
18318 msgid "Too many symbolic links were encountered in translating the pathname."
18319 msgstr ""
18320
18321 #. type: Plain text
18322 #: build/C/man2/truncate.2:158
18323 msgid ""
18324 "A component of a pathname exceeded 255 characters, or an entire pathname "
18325 "exceeded 1023 characters."
18326 msgstr ""
18327
18328 #. type: Plain text
18329 #: build/C/man2/truncate.2:161
18330 msgid "The named file does not exist."
18331 msgstr ""
18332
18333 #.  This happens for at least MSDOS and VFAT filesystems
18334 #.  on kernel 2.6.13
18335 #. type: Plain text
18336 #: build/C/man2/truncate.2:170
18337 msgid ""
18338 "The underlying filesystem does not support extending a file beyond its "
18339 "current size."
18340 msgstr ""
18341
18342 #. type: Plain text
18343 #: build/C/man2/truncate.2:176
18344 msgid "The file is a pure procedure (shared text) file that is being executed."
18345 msgstr ""
18346
18347 #. type: Plain text
18348 #: build/C/man2/truncate.2:183
18349 msgid ""
18350 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
18351 "wrong with I<path>, we now have things that can be wrong with the file "
18352 "descriptor, I<fd>:"
18353 msgstr ""
18354
18355 #. type: Plain text
18356 #: build/C/man2/truncate.2:187
18357 msgid "I<fd> is not a valid descriptor."
18358 msgstr ""
18359
18360 #. type: TP
18361 #: build/C/man2/truncate.2:187
18362 #, no-wrap
18363 msgid "B<EBADF> or B<EINVAL>"
18364 msgstr ""
18365
18366 #. type: Plain text
18367 #: build/C/man2/truncate.2:191
18368 msgid "I<fd> is not open for writing."
18369 msgstr ""
18370
18371 #. type: Plain text
18372 #: build/C/man2/truncate.2:195
18373 msgid "I<fd> does not reference a regular file."
18374 msgstr ""
18375
18376 #.  POSIX.1-1996 has
18377 #.  .BR ftruncate ().
18378 #.  POSIX.1-2001 also has
18379 #.  .BR truncate (),
18380 #.  as an XSI extension.
18381 #.  .LP
18382 #.  SVr4 documents additional
18383 #.  .BR truncate ()
18384 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
18385 #.  .BR ftruncate ()
18386 #.  an additional EAGAIN error condition.
18387 #. type: Plain text
18388 #: build/C/man2/truncate.2:208
18389 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
18390 msgstr ""
18391
18392 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
18393 #. type: Plain text
18394 #: build/C/man2/truncate.2:229
18395 msgid ""
18396 "The details in DESCRIPTION are for XSI-compliant systems.  For "
18397 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
18398 "B<ftruncate>()  when I<length> exceeds the file length (note that "
18399 "B<truncate>()  is not specified at all in such an environment): either "
18400 "returning an error, or extending the file.  Like most UNIX implementations, "
18401 "Linux follows the XSI requirement when dealing with native filesystems.  "
18402 "However, some nonnative filesystems do not permit B<truncate>()  and "
18403 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
18404 "notable example on Linux is VFAT."
18405 msgstr ""
18406
18407 #. type: Plain text
18408 #: build/C/man2/truncate.2:243
18409 msgid ""
18410 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
18411 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
18412 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
18413 "files.  However, these details can be ignored by applications using glibc, "
18414 "whose wrapper functions transparently employ the more recent system calls "
18415 "where they are available."
18416 msgstr ""
18417
18418 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
18419 #. type: Plain text
18420 #: build/C/man2/truncate.2:256
18421 msgid ""
18422 "A header file bug in glibc 2.12 meant that the minimum value of "
18423 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
18424 "200809L instead of 200112L.  This has been fixed in later glibc versions."
18425 msgstr ""
18426
18427 #. type: Plain text
18428 #: build/C/man2/truncate.2:260
18429 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
18430 msgstr ""
18431
18432 #. type: TH
18433 #: build/C/man3/ualarm.3:24
18434 #, no-wrap
18435 msgid "UALARM"
18436 msgstr ""
18437
18438 #. type: TH
18439 #: build/C/man3/ualarm.3:24
18440 #, no-wrap
18441 msgid "2013-12-23"
18442 msgstr ""
18443
18444 #. type: Plain text
18445 #: build/C/man3/ualarm.3:27
18446 msgid "ualarm - schedule signal after given number of microseconds"
18447 msgstr ""
18448
18449 #. type: Plain text
18450 #: build/C/man3/ualarm.3:32
18451 #, no-wrap
18452 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
18453 msgstr ""
18454
18455 #. type: Plain text
18456 #: build/C/man3/ualarm.3:40
18457 msgid "B<ualarm>():"
18458 msgstr ""
18459
18460 #. type: Plain text
18461 #: build/C/man3/ualarm.3:69
18462 msgid ""
18463 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
18464 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
18465 "may be lengthened slightly by any system activity or by the time spent "
18466 "processing the call or by the granularity of system timers."
18467 msgstr ""
18468
18469 #. type: Plain text
18470 #: build/C/man3/ualarm.3:73
18471 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
18472 msgstr ""
18473
18474 #. type: Plain text
18475 #: build/C/man3/ualarm.3:81
18476 msgid ""
18477 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
18478 "sent every I<interval> microseconds after the first."
18479 msgstr ""
18480
18481 #. type: Plain text
18482 #: build/C/man3/ualarm.3:84
18483 msgid ""
18484 "This function returns the number of microseconds remaining for any alarm "
18485 "that was previously set, or 0 if no alarm was pending."
18486 msgstr ""
18487
18488 #. type: Plain text
18489 #: build/C/man3/ualarm.3:88
18490 msgid "Interrupted by a signal."
18491 msgstr ""
18492
18493 #. type: Plain text
18494 #: build/C/man3/ualarm.3:92
18495 msgid ""
18496 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
18497 "is considered an error.)"
18498 msgstr ""
18499
18500 #. type: Plain text
18501 #: build/C/man3/ualarm.3:97
18502 msgid "The B<ualarm>()  function is thread-safe."
18503 msgstr ""
18504
18505 #. type: Plain text
18506 #: build/C/man3/ualarm.3:105
18507 msgid ""
18508 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
18509 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
18510 "POSIX do not define any errors."
18511 msgstr ""
18512
18513 #.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
18514 #. type: Plain text
18515 #: build/C/man3/ualarm.3:112
18516 msgid ""
18517 "POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  "
18518 "On Linux (and probably most other systems), the effect is to cancel any "
18519 "pending alarm."
18520 msgstr ""
18521
18522 #. type: Plain text
18523 #: build/C/man3/ualarm.3:125
18524 msgid ""
18525 "The type I<useconds_t> is an unsigned integer type capable of holding "
18526 "integers in the range [0,1000000].  On the original BSD implementation, and "
18527 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
18528 "typed as I<unsigned int>.  Programs will be more portable if they never "
18529 "mention I<useconds_t> explicitly."
18530 msgstr ""
18531
18532 #. type: Plain text
18533 #: build/C/man3/ualarm.3:139
18534 msgid ""
18535 "The interaction of this function with other timer functions such as "
18536 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
18537 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
18538 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
18539 msgstr ""
18540
18541 #. type: Plain text
18542 #: build/C/man3/ualarm.3:147
18543 msgid ""
18544 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
18545 "(B<timer_create>(2), etc.)  instead."
18546 msgstr ""
18547
18548 #. type: Plain text
18549 #: build/C/man3/ualarm.3:155
18550 msgid ""
18551 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
18552 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
18553 msgstr ""
18554
18555 #. type: TH
18556 #: build/C/man2/umask.2:34
18557 #, no-wrap
18558 msgid "UMASK"
18559 msgstr ""
18560
18561 #. type: TH
18562 #: build/C/man2/umask.2:34
18563 #, no-wrap
18564 msgid "2008-01-09"
18565 msgstr ""
18566
18567 #. type: Plain text
18568 #: build/C/man2/umask.2:37
18569 msgid "umask - set file mode creation mask"
18570 msgstr ""
18571
18572 #. type: Plain text
18573 #: build/C/man2/umask.2:43
18574 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
18575 msgstr ""
18576
18577 #. type: Plain text
18578 #: build/C/man2/umask.2:50
18579 msgid ""
18580 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
18581 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
18582 "and returns the previous value of the mask."
18583 msgstr ""
18584
18585 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
18586 #.  but NOT the System V IPC *get() calls
18587 #. type: Plain text
18588 #: build/C/man2/umask.2:65
18589 msgid ""
18590 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
18591 "create files to modify the permissions placed on newly created files or "
18592 "directories.  Specifically, permissions in the umask are turned off from the "
18593 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
18594 msgstr ""
18595
18596 #. type: Plain text
18597 #: build/C/man2/umask.2:70
18598 msgid ""
18599 "The constants that should be used to specify I<mask> are described under "
18600 "B<stat>(2)."
18601 msgstr ""
18602
18603 #. type: Plain text
18604 #: build/C/man2/umask.2:79
18605 msgid ""
18606 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
18607 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
18608 "specified as:"
18609 msgstr ""
18610
18611 #. type: Plain text
18612 #: build/C/man2/umask.2:82
18613 #, no-wrap
18614 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
18615 msgstr ""
18616
18617 #. type: Plain text
18618 #: build/C/man2/umask.2:86
18619 msgid ""
18620 "(octal 0666) when creating a new file, the permissions on the resulting file "
18621 "will be:"
18622 msgstr ""
18623
18624 #. type: Plain text
18625 #: build/C/man2/umask.2:89
18626 #, no-wrap
18627 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
18628 msgstr ""
18629
18630 #. type: Plain text
18631 #: build/C/man2/umask.2:92
18632 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
18633 msgstr ""
18634
18635 #. type: Plain text
18636 #: build/C/man2/umask.2:95
18637 msgid ""
18638 "This system call always succeeds and the previous value of the mask is "
18639 "returned."
18640 msgstr ""
18641
18642 #. type: Plain text
18643 #: build/C/man2/umask.2:103
18644 msgid ""
18645 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
18646 "umask is left unchanged by B<execve>(2)."
18647 msgstr ""
18648
18649 #. type: Plain text
18650 #: build/C/man2/umask.2:118
18651 msgid ""
18652 "The umask setting also affects the permissions assigned to POSIX IPC objects "
18653 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
18654 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
18655 "not affect the permissions assigned to System V IPC objects created by the "
18656 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
18657 msgstr ""
18658
18659 #. type: Plain text
18660 #: build/C/man2/umask.2:124
18661 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
18662 msgstr ""
18663
18664 #. type: TH
18665 #: build/C/man2/uname.2:27
18666 #, no-wrap
18667 msgid "UNAME"
18668 msgstr ""
18669
18670 #. type: Plain text
18671 #: build/C/man2/uname.2:30
18672 msgid "uname - get name and information about current kernel"
18673 msgstr ""
18674
18675 #. type: Plain text
18676 #: build/C/man2/uname.2:32
18677 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
18678 msgstr ""
18679
18680 #. type: Plain text
18681 #: build/C/man2/uname.2:34
18682 msgid "B<int uname(struct utsname *>I<buf>B<);>"
18683 msgstr ""
18684
18685 #. type: Plain text
18686 #: build/C/man2/uname.2:42
18687 msgid ""
18688 "B<uname>()  returns system information in the structure pointed to by "
18689 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
18690 msgstr ""
18691
18692 #. type: Plain text
18693 #: build/C/man2/uname.2:56
18694 #, no-wrap
18695 msgid ""
18696 "struct utsname {\n"
18697 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
18698 "    char nodename[];   /* Name within \"some implementation-defined\n"
18699 "                          network\" */\n"
18700 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
18701 "    char version[];    /* Operating system version */\n"
18702 "    char machine[];    /* Hardware identifier */\n"
18703 "#ifdef _GNU_SOURCE\n"
18704 "    char domainname[]; /* NIS or YP domain name */\n"
18705 "#endif\n"
18706 "};\n"
18707 msgstr ""
18708
18709 #. type: Plain text
18710 #: build/C/man2/uname.2:63
18711 msgid ""
18712 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
18713 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
18714 msgstr ""
18715
18716 #. type: Plain text
18717 #: build/C/man2/uname.2:73
18718 msgid "I<buf> is not valid."
18719 msgstr ""
18720
18721 #. type: Plain text
18722 #: build/C/man2/uname.2:78
18723 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
18724 msgstr ""
18725
18726 #. type: Plain text
18727 #: build/C/man2/uname.2:82
18728 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
18729 msgstr ""
18730
18731 #. type: Plain text
18732 #: build/C/man2/uname.2:98
18733 msgid ""
18734 "This is a system call, and the operating system presumably knows its name, "
18735 "release and version.  It also knows what hardware it runs on.  So, four of "
18736 "the fields of the struct are meaningful.  On the other hand, the field "
18737 "I<nodename> is meaningless: it gives the name of the present machine in some "
18738 "undefined network, but typically machines are in more than one network and "
18739 "have several names.  Moreover, the kernel has no way of knowing about such "
18740 "things, so it has to be told what to answer here.  The same holds for the "
18741 "additional I<domainname> field."
18742 msgstr ""
18743
18744 #. type: Plain text
18745 #: build/C/man2/uname.2:116
18746 msgid ""
18747 "To this end Linux uses the system calls B<sethostname>(2)  and "
18748 "B<setdomainname>(2).  Note that there is no standard that says that the "
18749 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
18750 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
18751 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
18752 "same holds for B<setdomainname>(2)  and the I<domainname> field."
18753 msgstr ""
18754
18755 #. type: Plain text
18756 #: build/C/man2/uname.2:131
18757 msgid ""
18758 "The length of the fields in the struct varies.  Some operating systems or "
18759 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
18760 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
18761 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
18762 "257 is chosen in order to have room for an internet hostname."
18763 msgstr ""
18764
18765 #. type: Plain text
18766 #: build/C/man2/uname.2:138
18767 msgid ""
18768 "Part of the utsname information is also accessible via "
18769 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
18770 "I<domainname>}."
18771 msgstr ""
18772
18773 #. type: SS
18774 #: build/C/man2/uname.2:138
18775 #, no-wrap
18776 msgid "Underlying kernel interface"
18777 msgstr ""
18778
18779 #.  That was back before Linux 1.0
18780 #.  That was also back before Linux 1.0
18781 #. type: Plain text
18782 #: build/C/man2/uname.2:167
18783 msgid ""
18784 "Over time, increases in the size of the I<utsname> structure have led to "
18785 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
18786 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
18787 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
18788 "all fields; the second used 65; the third also uses 65 but adds the "
18789 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
18790 "details from applications, invoking the most recent version of the system "
18791 "call provided by the kernel."
18792 msgstr ""
18793
18794 #. type: Plain text
18795 #: build/C/man2/uname.2:171
18796 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
18797 msgstr ""
18798
18799 #. type: TH
18800 #: build/C/man2/uselib.2:31
18801 #, no-wrap
18802 msgid "USELIB"
18803 msgstr ""
18804
18805 #. type: TH
18806 #: build/C/man2/uselib.2:31
18807 #, no-wrap
18808 msgid "2005-01-09"
18809 msgstr ""
18810
18811 #. type: Plain text
18812 #: build/C/man2/uselib.2:34
18813 msgid "uselib - load shared library"
18814 msgstr ""
18815
18816 #. type: Plain text
18817 #: build/C/man2/uselib.2:38
18818 msgid "B<int uselib(const char *>I<library>B<);>"
18819 msgstr ""
18820
18821 #. type: Plain text
18822 #: build/C/man2/uselib.2:48
18823 msgid ""
18824 "The system call B<uselib>()  serves to load a shared library to be used by "
18825 "the calling process.  It is given a pathname.  The address where to load is "
18826 "found in the library itself.  The library can have any recognized binary "
18827 "format."
18828 msgstr ""
18829
18830 #. type: Plain text
18831 #: build/C/man2/uselib.2:59
18832 msgid ""
18833 "In addition to all of the error codes returned by B<open>(2)  and "
18834 "B<mmap>(2), the following may also be returned:"
18835 msgstr ""
18836
18837 #. type: Plain text
18838 #: build/C/man2/uselib.2:67
18839 msgid ""
18840 "The library specified by I<library> does not have read or execute "
18841 "permission, or the caller does not have search permission for one of the "
18842 "directories in the path prefix.  (See also B<path_resolution>(7).)"
18843 msgstr ""
18844
18845 #. type: Plain text
18846 #: build/C/man2/uselib.2:76
18847 msgid ""
18848 "The file specified by I<library> is not an executable of a known type; for "
18849 "example, it does not have the correct magic numbers."
18850 msgstr ""
18851
18852 #. type: Plain text
18853 #: build/C/man2/uselib.2:80
18854 msgid ""
18855 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
18856 "to be portable."
18857 msgstr ""
18858
18859 #. type: Plain text
18860 #: build/C/man2/uselib.2:85
18861 msgid ""
18862 "B<uselib>()  was used by early libc startup code to load the shared "
18863 "libraries with names found in an array of names in the binary."
18864 msgstr ""
18865
18866 #.  libc 4.3.1f - changelog 1993-03-02
18867 #.  libc 4.3.4 - changelog 1993-04-21
18868 #. type: Plain text
18869 #: build/C/man2/uselib.2:95
18870 msgid ""
18871 "Since libc 4.3.2, startup code tries to prefix these names with "
18872 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
18873 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
18874 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
18875 msgstr ""
18876
18877 #. type: Plain text
18878 #: build/C/man2/uselib.2:100
18879 msgid ""
18880 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
18881 "dynamic library can load the remaining libraries needed (again using this "
18882 "call).  This is also the state of affairs in libc5."
18883 msgstr ""
18884
18885 #. type: Plain text
18886 #: build/C/man2/uselib.2:102
18887 msgid "glibc2 does not use this call."
18888 msgstr ""
18889
18890 #. type: Plain text
18891 #: build/C/man2/uselib.2:112
18892 msgid ""
18893 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
18894 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
18895 msgstr ""
18896
18897 #. type: TH
18898 #: build/C/man3/usleep.3:33
18899 #, no-wrap
18900 msgid "USLEEP"
18901 msgstr ""
18902
18903 #. type: TH
18904 #: build/C/man3/usleep.3:33
18905 #, no-wrap
18906 msgid "2013-12-10"
18907 msgstr ""
18908
18909 #. type: Plain text
18910 #: build/C/man3/usleep.3:36
18911 msgid "usleep - suspend execution for microsecond intervals"
18912 msgstr ""
18913
18914 #. type: Plain text
18915 #: build/C/man3/usleep.3:41
18916 #, no-wrap
18917 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
18918 msgstr ""
18919
18920 #. type: Plain text
18921 #: build/C/man3/usleep.3:49
18922 msgid "B<usleep>():"
18923 msgstr ""
18924
18925 #. type: Plain text
18926 #: build/C/man3/usleep.3:75
18927 msgid ""
18928 "The B<usleep>()  function suspends execution of the calling thread for (at "
18929 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
18930 "system activity or by the time spent processing the call or by the "
18931 "granularity of system timers."
18932 msgstr ""
18933
18934 #. type: Plain text
18935 #: build/C/man3/usleep.3:82
18936 msgid ""
18937 "The B<usleep>()  function returns 0 on success.  On error, -1 is returned, "
18938 "with I<errno> set to indicate the cause of the error."
18939 msgstr ""
18940
18941 #. type: Plain text
18942 #: build/C/man3/usleep.3:87
18943 msgid "Interrupted by a signal; see B<signal>(7)."
18944 msgstr ""
18945
18946 #. type: Plain text
18947 #: build/C/man3/usleep.3:91
18948 msgid ""
18949 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
18950 "an error.)"
18951 msgstr ""
18952
18953 #. type: Plain text
18954 #: build/C/man3/usleep.3:96
18955 msgid "The B<usleep>()  function is thread-safe."
18956 msgstr ""
18957
18958 #. type: Plain text
18959 #: build/C/man3/usleep.3:103
18960 msgid ""
18961 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
18962 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
18963 "B<usleep>()."
18964 msgstr ""
18965
18966 #. type: Plain text
18967 #: build/C/man3/usleep.3:110
18968 msgid ""
18969 "On the original BSD implementation, and in glibc before version 2.2.2, the "
18970 "return type of this function is I<void>.  The POSIX version returns I<int>, "
18971 "and this is also the prototype used since glibc 2.2.2."
18972 msgstr ""
18973
18974 #. type: Plain text
18975 #: build/C/man3/usleep.3:114
18976 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
18977 msgstr ""
18978
18979 #. type: Plain text
18980 #: build/C/man3/usleep.3:122
18981 msgid ""
18982 "The type I<useconds_t> is an unsigned integer type capable of holding "
18983 "integers in the range [0,1000000].  Programs will be more portable if they "
18984 "never mention this type explicitly.  Use"
18985 msgstr ""
18986
18987 #. type: Plain text
18988 #: build/C/man3/usleep.3:130
18989 #, no-wrap
18990 msgid ""
18991 "#include E<lt>unistd.hE<gt>\n"
18992 "\\&...\n"
18993 "    unsigned int usecs;\n"
18994 "\\&...\n"
18995 "    usleep(usecs);\n"
18996 msgstr ""
18997
18998 #. type: Plain text
18999 #: build/C/man3/usleep.3:147
19000 msgid ""
19001 "The interaction of this function with the B<SIGALRM> signal, and with other "
19002 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
19003 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
19004 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
19005 "B<ualarm>(3)  is unspecified."
19006 msgstr ""
19007
19008 #. type: Plain text
19009 #: build/C/man3/usleep.3:156
19010 msgid ""
19011 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
19012 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
19013 msgstr ""
19014
19015 #. type: TH
19016 #: build/C/man2/vfork.2:28
19017 #, no-wrap
19018 msgid "VFORK"
19019 msgstr ""
19020
19021 #. type: TH
19022 #: build/C/man2/vfork.2:28
19023 #, no-wrap
19024 msgid "2012-08-05"
19025 msgstr ""
19026
19027 #. type: Plain text
19028 #: build/C/man2/vfork.2:31
19029 msgid "vfork - create a child process and block parent"
19030 msgstr ""
19031
19032 #. type: Plain text
19033 #: build/C/man2/vfork.2:37
19034 msgid "B<pid_t vfork(void);>"
19035 msgstr ""
19036
19037 #. type: Plain text
19038 #: build/C/man2/vfork.2:44
19039 msgid "B<vfork>():"
19040 msgstr ""
19041
19042 #. type: SS
19043 #: build/C/man2/vfork.2:63
19044 #, no-wrap
19045 msgid "Standard description"
19046 msgstr ""
19047
19048 #. type: Plain text
19049 #: build/C/man2/vfork.2:82
19050 msgid ""
19051 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
19052 "except that the behavior is undefined if the process created by B<vfork>()  "
19053 "either modifies any data other than a variable of type I<pid_t> used to "
19054 "store the return value from B<vfork>(), or returns from the function in "
19055 "which B<vfork>()  was called, or calls any other function before "
19056 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
19057 "functions."
19058 msgstr ""
19059
19060 #. type: SS
19061 #: build/C/man2/vfork.2:82
19062 #, no-wrap
19063 msgid "Linux description"
19064 msgstr ""
19065
19066 #. type: Plain text
19067 #: build/C/man2/vfork.2:89
19068 msgid ""
19069 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
19070 "process.  For details and return value and errors, see B<fork>(2)."
19071 msgstr ""
19072
19073 #. type: Plain text
19074 #: build/C/man2/vfork.2:98
19075 msgid ""
19076 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
19077 "processes without copying the page tables of the parent process.  It may be "
19078 "useful in performance-sensitive applications where a child is created which "
19079 "then immediately issues an B<execve>(2)."
19080 msgstr ""
19081
19082 #. type: Plain text
19083 #: build/C/man2/vfork.2:115
19084 msgid ""
19085 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
19086 "until the child terminates (either normally, by calling B<_exit>(2), or "
19087 "abnormally, after delivery of a fatal signal), or it makes a call to "
19088 "B<execve>(2).  Until that point, the child shares all memory with its "
19089 "parent, including the stack.  The child must not return from the current "
19090 "function or call B<exit>(3), but may call B<_exit>(2)."
19091 msgstr ""
19092
19093 #. type: Plain text
19094 #: build/C/man2/vfork.2:126
19095 msgid ""
19096 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
19097 "of various of the caller's process attributes (e.g., file descriptors, "
19098 "signal dispositions, and current working directory); the B<vfork>()  call "
19099 "differs only in the treatment of the virtual address space, as described "
19100 "above."
19101 msgstr ""
19102
19103 #. type: Plain text
19104 #: build/C/man2/vfork.2:132
19105 msgid ""
19106 "Signals sent to the parent arrive after the child releases the parent's "
19107 "memory (i.e., after the child terminates or calls B<execve>(2))."
19108 msgstr ""
19109
19110 #. type: SS
19111 #: build/C/man2/vfork.2:132
19112 #, no-wrap
19113 msgid "Historic description"
19114 msgstr ""
19115
19116 #. type: Plain text
19117 #: build/C/man2/vfork.2:159
19118 msgid ""
19119 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
19120 "only penalty incurred by B<fork>(2)  is the time and memory required to "
19121 "duplicate the parent's page tables, and to create a unique task structure "
19122 "for the child.  However, in the bad old days a B<fork>(2)  would require "
19123 "making a complete copy of the caller's data space, often needlessly, since "
19124 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
19125 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
19126 "copy the address space of the parent process, but borrowed the parent's "
19127 "memory and thread of control until a call to B<execve>(2)  or an exit "
19128 "occurred.  The parent process was suspended while the child was using its "
19129 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
19130 "data in the parent process depended on knowing which variables were held in "
19131 "a register."
19132 msgstr ""
19133
19134 #. type: Plain text
19135 #: build/C/man2/vfork.2:163
19136 msgid ""
19137 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
19138 "specification of B<vfork>()."
19139 msgstr ""
19140
19141 #.  In AIXv3.1 vfork is equivalent to fork.
19142 #. type: Plain text
19143 #: build/C/man2/vfork.2:174
19144 msgid ""
19145 "The requirements put on B<vfork>()  by the standards are weaker than those "
19146 "put on B<fork>(2), so an implementation where the two are synonymous is "
19147 "compliant.  In particular, the programmer cannot rely on the parent "
19148 "remaining blocked until the child either terminates or calls B<execve>(2), "
19149 "and cannot rely on any specific behavior with respect to shared memory."
19150 msgstr ""
19151
19152 #. type: Plain text
19153 #: build/C/man2/vfork.2:193
19154 msgid ""
19155 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
19156 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
19157 "proper system sharing mechanisms are implemented.  Users should not depend "
19158 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
19159 "made synonymous to B<fork>(2).\" However, even though modern memory "
19160 "management hardware has decreased the performance difference between "
19161 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
19162 "systems have retained B<vfork>():"
19163 msgstr ""
19164
19165 #. type: Plain text
19166 #: build/C/man2/vfork.2:197
19167 msgid ""
19168 "Some performance-critical applications require the small performance "
19169 "advantage conferred by B<vfork>()."
19170 msgstr ""
19171
19172 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
19173 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
19174 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
19175 #. type: Plain text
19176 #: build/C/man2/vfork.2:213
19177 msgid ""
19178 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
19179 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
19180 "removed B<vfork>()  from the standard; the POSIX rationale for the "
19181 "B<posix_spawn>(3)  function notes that that function, which provides "
19182 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
19183 "implementable on systems that lack an MMU.)"
19184 msgstr ""
19185
19186 #. type: Plain text
19187 #: build/C/man2/vfork.2:224
19188 msgid ""
19189 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
19190 "multithreaded program employing the NPTL threading library calls "
19191 "B<vfork>().  Fork handlers are called in this case in a program using the "
19192 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
19193 "Linux threading libraries.)"
19194 msgstr ""
19195
19196 #. type: Plain text
19197 #: build/C/man2/vfork.2:232
19198 msgid ""
19199 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
19200 "specified as:"
19201 msgstr ""
19202
19203 #. type: Plain text
19204 #: build/C/man2/vfork.2:234
19205 #, no-wrap
19206 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
19207 msgstr ""
19208
19209 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
19210 #.  present, but definitely on its way out'.
19211 #. type: Plain text
19212 #: build/C/man2/vfork.2:252
19213 msgid ""
19214 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
19215 "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
19216 "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In "
19217 "Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since "
19218 "2.2.0-pre9 (on i386, somewhat later on other architectures) it is an "
19219 "independent system call.  Support was added in glibc 2.0.112."
19220 msgstr ""
19221
19222 #
19223 #.  As far as I can tell, the following is not true in 2.6.19:
19224 #.  Currently (Linux 2.3.25),
19225 #.  .BR strace (1)
19226 #.  cannot follow
19227 #.  .BR vfork ()
19228 #.  and requires a kernel patch.
19229 #. type: Plain text
19230 #: build/C/man2/vfork.2:273
19231 msgid ""
19232 "Details of the signal handling are obscure and differ between systems.  The "
19233 "BSD man page states: \"To avoid a possible deadlock situation, processes "
19234 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
19235 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
19236 "attempts result in an end-of-file indication.\""
19237 msgstr ""
19238
19239 #. type: Plain text
19240 #: build/C/man2/vfork.2:279
19241 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
19242 msgstr ""
19243
19244 #. type: TH
19245 #: build/C/man2/vhangup.2:28
19246 #, no-wrap
19247 msgid "VHANGUP"
19248 msgstr ""
19249
19250 #. type: Plain text
19251 #: build/C/man2/vhangup.2:31
19252 msgid "vhangup - virtually hangup the current terminal"
19253 msgstr ""
19254
19255 #. type: Plain text
19256 #: build/C/man2/vhangup.2:35
19257 msgid "B<int vhangup(void);>"
19258 msgstr ""
19259
19260 #. type: Plain text
19261 #: build/C/man2/vhangup.2:44
19262 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
19263 msgstr ""
19264
19265 #. type: Plain text
19266 #: build/C/man2/vhangup.2:50
19267 msgid ""
19268 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
19269 "arranges for other users to have a ``clean'' terminal at login time."
19270 msgstr ""
19271
19272 #. type: Plain text
19273 #: build/C/man2/vhangup.2:63
19274 msgid ""
19275 "The calling process has insufficient privilege to call B<vhangup>(); the "
19276 "B<CAP_SYS_TTY_CONFIG> capability is required."
19277 msgstr ""
19278
19279 #. type: Plain text
19280 #: build/C/man2/vhangup.2:66
19281 msgid ""
19282 "This call is Linux-specific, and should not be used in programs intended to "
19283 "be portable."
19284 msgstr ""
19285
19286 #. type: Plain text
19287 #: build/C/man2/vhangup.2:69
19288 msgid "B<capabilities>(7), B<init>(8)"
19289 msgstr ""