OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.64
[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-17 13:14+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:313 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:330 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:657 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:426 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:210 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:474 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:227 build/C/man2/syscalls.2:834 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:479 build/C/man2/chroot.2:154 build/C/man2/close.2:138 build/C/man3/confstr.3:154 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:186 build/C/man2/fsync.2:170 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:232 build/C/man2/syscalls.2:840 build/C/man3/sysconf.3:344 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:486 build/C/man2/chroot.2:161 build/C/man2/close.2:145 build/C/man3/confstr.3:161 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:193 build/C/man2/fsync.2:177 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:239 build/C/man2/syscalls.2:847 build/C/man3/sysconf.3:351 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.64 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/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:208
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:224 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:229 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:236 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:245 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:249 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:249 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:253
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:253 build/C/man2/chown.2:279 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:259 build/C/man2/chown.2:303 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:266 build/C/man2/chown.2:285 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:241 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:245 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:299 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:276 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:256 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:259 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:273 build/C/man2/chown.2:295 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:299 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:303
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:309 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:309 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:229 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:256 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:371 build/C/man2/chown.2:376 build/C/man2/chown.2:382 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:693 build/C/man2/syscalls.2:714 build/C/man2/syscalls.2:725 build/C/man2/syscalls.2:732 build/C/man2/syscalls.2:743 build/C/man2/syscalls.2:755 build/C/man2/syscalls.2:776 build/C/man2/syscalls.2:784 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:232
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:241 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:262 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:262 build/C/man2/chown.2:282 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:269 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:282 build/C/man2/chown.2:285 build/C/man2/chown.2:288
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: TH
1641 #: build/C/man2/chown.2:38
1642 #, no-wrap
1643 msgid "2014-03-19"
1644 msgstr ""
1645
1646 #. type: Plain text
1647 #: build/C/man2/chown.2:41
1648 msgid "chown, fchown, lchown, fchownat - change ownership of a file"
1649 msgstr ""
1650
1651 #. type: Plain text
1652 #: build/C/man2/chown.2:46
1653 #, no-wrap
1654 msgid ""
1655 "B<int chown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1656 ">I<group>B<);>\n"
1657 msgstr ""
1658
1659 #. type: Plain text
1660 #: build/C/man2/chown.2:48
1661 #, no-wrap
1662 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>\n"
1663 msgstr ""
1664
1665 #. type: Plain text
1666 #: build/C/man2/chown.2:50
1667 #, no-wrap
1668 msgid ""
1669 "B<int lchown(const char *>I<pathname>B<, uid_t >I<owner>B<, gid_t "
1670 ">I<group>B<);>\n"
1671 msgstr ""
1672
1673 #. type: Plain text
1674 #: build/C/man2/chown.2:56
1675 #, no-wrap
1676 msgid ""
1677 "B<int fchownat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
1678 "B<             uid_t >I<owner>B<, gid_t >I<group>B<, int >I<flags>B<);>\n"
1679 msgstr ""
1680
1681 #. type: Plain text
1682 #: build/C/man2/chown.2:66
1683 msgid "B<fchown>(), B<lchown>():"
1684 msgstr ""
1685
1686 #. type: Plain text
1687 #: build/C/man2/chown.2:76
1688 msgid "B<fchownat>():"
1689 msgstr ""
1690
1691 #. type: Plain text
1692 #: build/C/man2/chown.2:96
1693 msgid ""
1694 "These system calls change the owner and group of a file.  The B<chown>(), "
1695 "B<fchown>(), and B<lchown>()  system calls differ only in how the file is "
1696 "specified:"
1697 msgstr ""
1698
1699 #. type: Plain text
1700 #: build/C/man2/chown.2:101
1701 msgid ""
1702 "B<chown>()  changes the ownership of the file specified by I<pathname>, "
1703 "which is dereferenced if it is a symbolic link."
1704 msgstr ""
1705
1706 #. type: Plain text
1707 #: build/C/man2/chown.2:105
1708 msgid ""
1709 "B<fchown>()  changes the ownership of the file referred to by the open file "
1710 "descriptor I<fd>."
1711 msgstr ""
1712
1713 #. type: Plain text
1714 #: build/C/man2/chown.2:110
1715 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1716 msgstr ""
1717
1718 #. type: Plain text
1719 #: build/C/man2/chown.2:119
1720 msgid ""
1721 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1722 "change the owner of a file.  The owner of a file may change the group of the "
1723 "file to any group of which that owner is a member.  A privileged process "
1724 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1725 msgstr ""
1726
1727 #. type: Plain text
1728 #: build/C/man2/chown.2:125
1729 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1730 msgstr ""
1731
1732 #.  In Linux 2.0 kernels, superuser was like everyone else
1733 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1734 #.  Since 2.2.13, superuser is once more like everyone else.
1735 #. type: Plain text
1736 #: build/C/man2/chown.2:145
1737 msgid ""
1738 "When the owner or group of an executable file are changed by an unprivileged "
1739 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1740 "specify whether this also should happen when root does the B<chown>(); the "
1741 "Linux behavior depends on the kernel version.  In case of a "
1742 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1743 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1744 "B<chown>()."
1745 msgstr ""
1746
1747 #. type: SS
1748 #: build/C/man2/chown.2:145
1749 #, no-wrap
1750 msgid "fchownat()"
1751 msgstr ""
1752
1753 #. type: Plain text
1754 #: build/C/man2/chown.2:151
1755 msgid ""
1756 "The B<fchownat>()  system call operates in exactly the same way as "
1757 "B<chown>(), except for the differences described here."
1758 msgstr ""
1759
1760 #. type: Plain text
1761 #: build/C/man2/chown.2:161
1762 msgid ""
1763 "If the pathname given in I<pathname> is relative, then it is interpreted "
1764 "relative to the directory referred to by the file descriptor I<dirfd> "
1765 "(rather than relative to the current working directory of the calling "
1766 "process, as is done by B<chown>()  for a relative pathname)."
1767 msgstr ""
1768
1769 #. type: Plain text
1770 #: build/C/man2/chown.2:173
1771 msgid ""
1772 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
1773 "then I<pathname> is interpreted relative to the current working directory of "
1774 "the calling process (like B<chown>())."
1775 msgstr ""
1776
1777 #. type: Plain text
1778 #: build/C/man2/chown.2:184
1779 msgid ""
1780 "The I<flags> argument is a bit mask created by ORing together 0 or more of "
1781 "the following values;"
1782 msgstr ""
1783
1784 #. type: TP
1785 #: build/C/man2/chown.2:184
1786 #, no-wrap
1787 msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
1788 msgstr ""
1789
1790 #.  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
1791 #.  Before glibc 2.16, defining _ATFILE_SOURCE sufficed
1792 #. type: Plain text
1793 #: build/C/man2/chown.2:207
1794 msgid ""
1795 "If I<pathname> is an empty string, operate on the file referred to by "
1796 "I<dirfd> (which may have been obtained using the B<open>(2)  B<O_PATH> "
1797 "flag).  In this case, I<dirfd> can refer to any type of file, not just a "
1798 "directory.  If I<dirfd> is B<AT_FDCWD>, the call operates on the current "
1799 "working directory.  This flag is Linux-specific; define B<_GNU_SOURCE> to "
1800 "obtain its definition."
1801 msgstr ""
1802
1803 #. type: Plain text
1804 #: build/C/man2/chown.2:219
1805 msgid ""
1806 "If I<pathname> is a symbolic link, do not dereference it: instead operate on "
1807 "the link itself, like B<lchown>().  (By default, B<fchownat>()  dereferences "
1808 "symbolic links, like B<chown>().)"
1809 msgstr ""
1810
1811 #. type: Plain text
1812 #: build/C/man2/chown.2:224
1813 msgid "See B<openat>(2)  for an explanation of the need for B<fchownat>()."
1814 msgstr ""
1815
1816 #. type: Plain text
1817 #: build/C/man2/chown.2:236
1818 msgid "The more general errors for B<chown>()  are listed below."
1819 msgstr ""
1820
1821 #. type: Plain text
1822 #: build/C/man2/chown.2:266
1823 msgid ""
1824 "The calling process did not have the required permissions (see above) to "
1825 "change owner and/or group."
1826 msgstr ""
1827
1828 #. type: Plain text
1829 #: build/C/man2/chown.2:273
1830 msgid "The general errors for B<fchown>()  are listed below:"
1831 msgstr ""
1832
1833 #. type: Plain text
1834 #: build/C/man2/chown.2:276
1835 msgid "The descriptor is not valid."
1836 msgstr ""
1837
1838 #. type: Plain text
1839 #: build/C/man2/chown.2:279
1840 msgid "A low-level I/O error occurred while modifying the inode."
1841 msgstr ""
1842
1843 #. type: Plain text
1844 #: build/C/man2/chown.2:295
1845 msgid ""
1846 "The same errors that occur for B<chown>()  can also occur for "
1847 "B<fchownat>().  The following additional errors can occur for B<fchownat>():"
1848 msgstr ""
1849
1850 #. type: Plain text
1851 #: build/C/man2/chown.2:313
1852 msgid ""
1853 "B<fchownat>()  was added to Linux in kernel 2.6.16; library support was "
1854 "added to glibc in version 2.4."
1855 msgstr ""
1856
1857 #. type: Plain text
1858 #: build/C/man2/chown.2:318
1859 msgid ""
1860 "B<chown>(), B<fchown>(), B<lchown>(): 4.4BSD, SVr4, POSIX.1-2001, "
1861 "POSIX.1-2008."
1862 msgstr ""
1863
1864 #.  chown():
1865 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1866 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1867 #.  fchown():
1868 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1869 #.  error conditions.
1870 #. type: Plain text
1871 #: build/C/man2/chown.2:327
1872 msgid ""
1873 "The 4.4BSD version can be used only by the superuser (that is, ordinary "
1874 "users cannot give away files)."
1875 msgstr ""
1876
1877 #. type: Plain text
1878 #: build/C/man2/chown.2:330
1879 msgid "B<fchownat>(): POSIX.1-2008."
1880 msgstr ""
1881
1882 #. type: Plain text
1883 #: build/C/man2/chown.2:349
1884 msgid ""
1885 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1886 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1887 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1888 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1889 "transparently deal with the variations across kernel versions."
1890 msgstr ""
1891
1892 #. type: Plain text
1893 #: build/C/man2/chown.2:371
1894 msgid ""
1895 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1896 "its owner is made the same as the filesystem user ID of the creating "
1897 "process.  The group of the file depends on a range of factors, including the "
1898 "type of filesystem, the options used to mount the filesystem, and whether or "
1899 "not the set-group-ID permission bit is enabled on the parent directory.  If "
1900 "the filesystem supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1901 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1902 "B<mount>(8)  options, then the rules are as follows:"
1903 msgstr ""
1904
1905 #. type: Plain text
1906 #: build/C/man2/chown.2:376
1907 msgid ""
1908 "If the filesystem is mounted with I<-o\\ grpid>, then the group of a new "
1909 "file is made the same as that of the parent directory."
1910 msgstr ""
1911
1912 #. type: Plain text
1913 #: build/C/man2/chown.2:382
1914 msgid ""
1915 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1916 "is disabled on the parent directory, then the group of a new file is made "
1917 "the same as the process's filesystem GID."
1918 msgstr ""
1919
1920 #. type: Plain text
1921 #: build/C/man2/chown.2:388
1922 msgid ""
1923 "If the filesystem is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1924 "is enabled on the parent directory, then the group of a new file is made the "
1925 "same as that of the parent directory."
1926 msgstr ""
1927
1928 #. type: Plain text
1929 #: build/C/man2/chown.2:398
1930 msgid ""
1931 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1932 "supported by ext2, ext3, ext4, and XFS.  Filesystems that don't support "
1933 "these mount options follow the I<-o\\ nogrpid> rules."
1934 msgstr ""
1935
1936 #. type: Plain text
1937 #: build/C/man2/chown.2:411
1938 msgid ""
1939 "The B<chown>()  semantics are deliberately violated on NFS filesystems which "
1940 "have UID mapping enabled.  Additionally, the semantics of all system calls "
1941 "which access the file contents are violated, because B<chown>()  may cause "
1942 "immediate access revocation on already open files.  Client side caching may "
1943 "lead to a delay between the time where ownership have been changed to allow "
1944 "access for a user and the time where the file can actually be accessed by "
1945 "the user on other clients."
1946 msgstr ""
1947
1948 #. type: Plain text
1949 #: build/C/man2/chown.2:426
1950 msgid ""
1951 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1952 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1953 "symbolic links, and there is a new system call B<lchown>()  that does not "
1954 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1955 "semantics as the old B<chown>())  has got the same syscall number, and "
1956 "B<chown>()  got the newly introduced number."
1957 msgstr ""
1958
1959 #. type: Plain text
1960 #: build/C/man2/chown.2:435
1961 msgid ""
1962 "The following program changes the ownership of the file named in its second "
1963 "command-line argument to the value specified in its first command-line "
1964 "argument.  The new owner can be specified either as a numeric user ID, or as "
1965 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1966 "perform a lookup in the system password file)."
1967 msgstr ""
1968
1969 #. type: SS
1970 #: build/C/man2/chown.2:435
1971 #, no-wrap
1972 msgid "Program source"
1973 msgstr ""
1974
1975 #. type: Plain text
1976 #: build/C/man2/chown.2:441
1977 #, no-wrap
1978 msgid ""
1979 "#include E<lt>pwd.hE<gt>\n"
1980 "#include E<lt>stdio.hE<gt>\n"
1981 "#include E<lt>stdlib.hE<gt>\n"
1982 "#include E<lt>unistd.hE<gt>\n"
1983 msgstr ""
1984
1985 #. type: Plain text
1986 #: build/C/man2/chown.2:448
1987 #, no-wrap
1988 msgid ""
1989 "int\n"
1990 "main(int argc, char *argv[])\n"
1991 "{\n"
1992 "    uid_t uid;\n"
1993 "    struct passwd *pwd;\n"
1994 "    char *endptr;\n"
1995 msgstr ""
1996
1997 #. type: Plain text
1998 #: build/C/man2/chown.2:453
1999 #, no-wrap
2000 msgid ""
2001 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
2002 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
2003 "argv[0]);\n"
2004 "        exit(EXIT_FAILURE);\n"
2005 "    }\n"
2006 msgstr ""
2007
2008 #. type: Plain text
2009 #: build/C/man2/chown.2:455
2010 #, no-wrap
2011 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
2012 msgstr ""
2013
2014 #. type: Plain text
2015 #: build/C/man2/chown.2:462
2016 #, no-wrap
2017 msgid ""
2018 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
2019 "*/\n"
2020 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
2021 "        if (pwd == NULL) {\n"
2022 "            perror(\"getpwnam\");\n"
2023 "            exit(EXIT_FAILURE);\n"
2024 "        }\n"
2025 msgstr ""
2026
2027 #. type: Plain text
2028 #: build/C/man2/chown.2:465
2029 #, no-wrap
2030 msgid ""
2031 "        uid = pwd-E<gt>pw_uid;\n"
2032 "    }\n"
2033 msgstr ""
2034
2035 #. type: Plain text
2036 #: build/C/man2/chown.2:470
2037 #, no-wrap
2038 msgid ""
2039 "    if (chown(argv[2], uid, -1) == -1) {\n"
2040 "        perror(\"chown\");\n"
2041 "        exit(EXIT_FAILURE);\n"
2042 "    }\n"
2043 msgstr ""
2044
2045 #. type: Plain text
2046 #: build/C/man2/chown.2:473 build/C/man2/execve.2:571 build/C/man3/getopt.3:428 build/C/man3/getopt.3:513
2047 #, no-wrap
2048 msgid ""
2049 "    exit(EXIT_SUCCESS);\n"
2050 "}\n"
2051 msgstr ""
2052
2053 #. type: Plain text
2054 #: build/C/man2/chown.2:479
2055 msgid "B<chmod>(2), B<flock>(2), B<path_resolution>(7), B<symlink>(7)"
2056 msgstr ""
2057
2058 #. type: TH
2059 #: build/C/man2/chroot.2:33
2060 #, no-wrap
2061 msgid "CHROOT"
2062 msgstr ""
2063
2064 #. type: Plain text
2065 #: build/C/man2/chroot.2:36
2066 msgid "chroot - change root directory"
2067 msgstr ""
2068
2069 #. type: Plain text
2070 #: build/C/man2/chroot.2:40
2071 msgid "B<int chroot(const char *>I<path>B<);>"
2072 msgstr ""
2073
2074 #. type: Plain text
2075 #: build/C/man2/chroot.2:47
2076 msgid "B<chroot>():"
2077 msgstr ""
2078
2079 #. type: TP
2080 #: build/C/man2/chroot.2:50
2081 #, no-wrap
2082 msgid "Since glibc 2.2.2:"
2083 msgstr ""
2084
2085 #. type: Plain text
2086 #: build/C/man2/chroot.2:57
2087 #, no-wrap
2088 msgid ""
2089 "_BSD_SOURCE ||\n"
2090 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
2091 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
2092 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
2093 msgstr ""
2094
2095 #. type: Plain text
2096 #: build/C/man2/chroot.2:60
2097 msgid "Before glibc 2.2.2: none"
2098 msgstr ""
2099
2100 #. type: Plain text
2101 #: build/C/man2/chroot.2:69
2102 msgid ""
2103 "B<chroot>()  changes the root directory of the calling process to that "
2104 "specified in I<path>.  This directory will be used for pathnames beginning "
2105 "with I</>.  The root directory is inherited by all children of the calling "
2106 "process."
2107 msgstr ""
2108
2109 #. type: Plain text
2110 #: build/C/man2/chroot.2:74
2111 msgid ""
2112 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
2113 "may call B<chroot>()."
2114 msgstr ""
2115
2116 #. type: Plain text
2117 #: build/C/man2/chroot.2:77
2118 msgid ""
2119 "This call changes an ingredient in the pathname resolution process and does "
2120 "nothing else."
2121 msgstr ""
2122
2123 #. type: Plain text
2124 #: build/C/man2/chroot.2:83
2125 msgid ""
2126 "This call does not change the current working directory, so that after the "
2127 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
2128 "particular, the superuser can escape from a \"chroot jail\" by doing:"
2129 msgstr ""
2130
2131 #. type: Plain text
2132 #: build/C/man2/chroot.2:86
2133 #, no-wrap
2134 msgid "    mkdir foo; chroot foo; cd ..\n"
2135 msgstr ""
2136
2137 #. type: Plain text
2138 #: build/C/man2/chroot.2:90
2139 msgid ""
2140 "This call does not close open file descriptors, and such file descriptors "
2141 "may allow access to files outside the chroot tree."
2142 msgstr ""
2143
2144 #. type: Plain text
2145 #: build/C/man2/chroot.2:98
2146 msgid ""
2147 "Depending on the filesystem, other errors can be returned.  The more general "
2148 "errors are listed below:"
2149 msgstr ""
2150
2151 #. type: Plain text
2152 #: build/C/man2/chroot.2:134
2153 msgid "The caller has insufficient privilege."
2154 msgstr ""
2155
2156 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
2157 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
2158 #. type: Plain text
2159 #: build/C/man2/chroot.2:139
2160 msgid ""
2161 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
2162 "POSIX.1-2001."
2163 msgstr ""
2164
2165 #. type: Plain text
2166 #: build/C/man2/chroot.2:145
2167 msgid ""
2168 "A child process created via B<fork>(2)  inherits its parent's root "
2169 "directory.  The root directory is left unchanged by B<execve>(2)."
2170 msgstr ""
2171
2172 #.  FIXME . eventually say something about containers,
2173 #.  virtual servers, etc.?
2174 #. type: Plain text
2175 #: build/C/man2/chroot.2:151
2176 msgid "FreeBSD has a stronger B<jail>()  system call."
2177 msgstr ""
2178
2179 #. type: Plain text
2180 #: build/C/man2/chroot.2:154
2181 msgid "B<chdir>(2), B<path_resolution>(7)"
2182 msgstr ""
2183
2184 #. type: TH
2185 #: build/C/man2/close.2:35
2186 #, no-wrap
2187 msgid "CLOSE"
2188 msgstr ""
2189
2190 #. type: TH
2191 #: build/C/man2/close.2:35
2192 #, no-wrap
2193 msgid "2013-12-30"
2194 msgstr ""
2195
2196 #. type: Plain text
2197 #: build/C/man2/close.2:38
2198 msgid "close - close a file descriptor"
2199 msgstr ""
2200
2201 #. type: Plain text
2202 #: build/C/man2/close.2:43
2203 #, no-wrap
2204 msgid "B<int close(int >I<fd>B<);>\n"
2205 msgstr ""
2206
2207 #. type: Plain text
2208 #: build/C/man2/close.2:53
2209 msgid ""
2210 "B<close>()  closes a file descriptor, so that it no longer refers to any "
2211 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
2212 "file it was associated with, and owned by the process, are removed "
2213 "(regardless of the file descriptor that was used to obtain the lock)."
2214 msgstr ""
2215
2216 #. type: Plain text
2217 #: build/C/man2/close.2:64
2218 msgid ""
2219 "If I<fd> is the last file descriptor referring to the underlying open file "
2220 "description (see B<open>(2)), the resources associated with the open file "
2221 "description are freed; if the descriptor was the last reference to a file "
2222 "which has been removed using B<unlink>(2), the file is deleted."
2223 msgstr ""
2224
2225 #. type: Plain text
2226 #: build/C/man2/close.2:70
2227 msgid ""
2228 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
2229 "is set appropriately."
2230 msgstr ""
2231
2232 #. type: Plain text
2233 #: build/C/man2/close.2:75
2234 msgid "I<fd> isn't a valid open file descriptor."
2235 msgstr ""
2236
2237 #. type: TP
2238 #: 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
2239 #, no-wrap
2240 msgid "B<EINTR>"
2241 msgstr ""
2242
2243 #. type: Plain text
2244 #: build/C/man2/close.2:81
2245 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
2246 msgstr ""
2247
2248 #. type: Plain text
2249 #: build/C/man2/close.2:87 build/C/man2/fork.2:208 build/C/man3/swab.3:79 build/C/man2/umask.2:97
2250 msgid "SVr4, 4.3BSD, POSIX.1-2001."
2251 msgstr ""
2252
2253 #. type: Plain text
2254 #: build/C/man2/close.2:107
2255 msgid ""
2256 "Not checking the return value of B<close>()  is a common but nevertheless "
2257 "serious programming error.  It is quite possible that errors on a previous "
2258 "B<write>(2)  operation are first reported at the final B<close>().  Not "
2259 "checking the return value when closing the file may lead to silent loss of "
2260 "data.  This can especially be observed with NFS and with disk quota.  Note "
2261 "that the return value should only be used for diagnostics.  In particular "
2262 "B<close>()  should not be retried after an B<EINTR> since this may cause a "
2263 "reused descriptor from another thread to be closed."
2264 msgstr ""
2265
2266 #. type: Plain text
2267 #: build/C/man2/close.2:116
2268 msgid ""
2269 "A successful close does not guarantee that the data has been successfully "
2270 "saved to disk, as the kernel defers writes.  It is not common for a "
2271 "filesystem to flush the buffers when the stream is closed.  If you need to "
2272 "be sure that the data is physically stored, use B<fsync>(2).  (It will "
2273 "depend on the disk hardware at this point.)"
2274 msgstr ""
2275
2276 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
2277 #.  From: Fredrik Noring <noring@nocrew.org>
2278 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
2279 #.  in use by a system call is closed and then reused by e.g. an
2280 #.  independent open() in some unrelated thread, before the original system
2281 #.  call has restarted after ERESTARTSYS, the original system call will
2282 #.  later restart with the reused file descriptor. This is most likely a
2283 #.  serious programming error.
2284 #. type: Plain text
2285 #: build/C/man2/close.2:131
2286 msgid ""
2287 "It is probably unwise to close file descriptors while they may be in use by "
2288 "system calls in other threads in the same process.  Since a file descriptor "
2289 "may be reused, there are some obscure race conditions that may cause "
2290 "unintended side effects."
2291 msgstr ""
2292
2293 #. type: Plain text
2294 #: build/C/man2/close.2:138
2295 msgid ""
2296 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
2297 "B<fclose>(3)"
2298 msgstr ""
2299
2300 #. type: TH
2301 #: build/C/man3/confstr.3:31
2302 #, no-wrap
2303 msgid "CONFSTR"
2304 msgstr ""
2305
2306 #. type: TH
2307 #: build/C/man3/confstr.3:31 build/C/man3/fpathconf.3:41 build/C/man3/sysconf.3:27
2308 #, no-wrap
2309 msgid "2014-03-20"
2310 msgstr ""
2311
2312 #. type: TH
2313 #: 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
2314 #, no-wrap
2315 msgid "GNU"
2316 msgstr ""
2317
2318 #. type: Plain text
2319 #: build/C/man3/confstr.3:34
2320 msgid "confstr - get configuration dependent string variables"
2321 msgstr ""
2322
2323 #. type: Plain text
2324 #: build/C/man3/confstr.3:39
2325 #, no-wrap
2326 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
2327 msgstr ""
2328
2329 #. type: Plain text
2330 #: build/C/man3/confstr.3:48
2331 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
2332 msgstr ""
2333
2334 #. type: Plain text
2335 #: build/C/man3/confstr.3:51
2336 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
2337 msgstr ""
2338
2339 #. type: Plain text
2340 #: build/C/man3/confstr.3:56
2341 msgid ""
2342 "The I<name> argument is the system variable to be queried.  The following "
2343 "variables are supported:"
2344 msgstr ""
2345
2346 #. type: TP
2347 #: build/C/man3/confstr.3:56
2348 #, no-wrap
2349 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
2350 msgstr ""
2351
2352 #. type: Plain text
2353 #: build/C/man3/confstr.3:60
2354 msgid ""
2355 "A string which identifies the GNU C library version on this system (e.g, "
2356 "\"glibc 2.3.4\")."
2357 msgstr ""
2358
2359 #. type: TP
2360 #: build/C/man3/confstr.3:60
2361 #, no-wrap
2362 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
2363 msgstr ""
2364
2365 #. type: Plain text
2366 #: build/C/man3/confstr.3:64
2367 msgid ""
2368 "A string which identifies the POSIX implementation supplied by this C "
2369 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
2370 msgstr ""
2371
2372 #. type: TP
2373 #: build/C/man3/confstr.3:64
2374 #, no-wrap
2375 msgid "B<_CS_PATH>"
2376 msgstr ""
2377
2378 #. type: Plain text
2379 #: build/C/man3/confstr.3:70
2380 msgid ""
2381 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
2382 "standard utilities can be found."
2383 msgstr ""
2384
2385 #. type: Plain text
2386 #: build/C/man3/confstr.3:86
2387 msgid ""
2388 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
2389 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
2390 "null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing "
2391 "the return value of B<confstr>()  against I<len>."
2392 msgstr ""
2393
2394 #. type: Plain text
2395 #: build/C/man3/confstr.3:94
2396 msgid ""
2397 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
2398 "as defined below."
2399 msgstr ""
2400
2401 #. type: Plain text
2402 #: build/C/man3/confstr.3:106
2403 msgid ""
2404 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
2405 "number of bytes (including the terminating null byte)  that would be "
2406 "required to hold the entire value of that variable.  This value may be "
2407 "greater than I<len>, which means that the value in I<buf> is truncated."
2408 msgstr ""
2409
2410 #. type: Plain text
2411 #: build/C/man3/confstr.3:121
2412 msgid ""
2413 "If I<name> is a valid configuration variable, but that variable does not "
2414 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2415 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2416 "set to B<EINVAL>."
2417 msgstr ""
2418
2419 #. type: Plain text
2420 #: build/C/man3/confstr.3:127
2421 msgid "The value of I<name> is invalid."
2422 msgstr ""
2423
2424 #. type: Plain text
2425 #: 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
2426 msgid "POSIX.1-2001."
2427 msgstr ""
2428
2429 #. type: Plain text
2430 #: build/C/man3/confstr.3:132
2431 msgid ""
2432 "The following code fragment determines the path where to find the POSIX.2 "
2433 "system utilities:"
2434 msgstr ""
2435
2436 #. type: Plain text
2437 #: build/C/man3/confstr.3:138
2438 #, no-wrap
2439 msgid ""
2440 "char *pathbuf;\n"
2441 "size_t n;\n"
2442 msgstr ""
2443
2444 #. type: Plain text
2445 #: build/C/man3/confstr.3:144
2446 #, no-wrap
2447 msgid ""
2448 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2449 "pathbuf = malloc(n);\n"
2450 "if (pathbuf == NULL)\n"
2451 "    abort();\n"
2452 "confstr(_CS_PATH, pathbuf, n);\n"
2453 msgstr ""
2454
2455 #. type: Plain text
2456 #: build/C/man3/confstr.3:154
2457 msgid ""
2458 "B<getconf>(1), B<sh>(1), B<exec>(3), B<fpathconf>(3)  B<sysconf>(3)  "
2459 "B<pathconf>(3)  B<system>(3)"
2460 msgstr ""
2461
2462 #. type: TH
2463 #: build/C/man3/crypt.3:36
2464 #, no-wrap
2465 msgid "CRYPT"
2466 msgstr ""
2467
2468 #. type: TH
2469 #: build/C/man3/crypt.3:36 build/C/man2/swapon.2:37
2470 #, no-wrap
2471 msgid "2014-02-26"
2472 msgstr ""
2473
2474 #. type: Plain text
2475 #: build/C/man3/crypt.3:39
2476 msgid "crypt, crypt_r - password and data encryption"
2477 msgstr ""
2478
2479 #. type: Plain text
2480 #: build/C/man3/crypt.3:42
2481 #, no-wrap
2482 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2483 msgstr ""
2484
2485 #. type: Plain text
2486 #: build/C/man3/crypt.3:46
2487 #, no-wrap
2488 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2489 msgstr ""
2490
2491 #. type: Plain text
2492 #: build/C/man3/crypt.3:48
2493 #, no-wrap
2494 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2495 msgstr ""
2496
2497 #. type: Plain text
2498 #: build/C/man3/crypt.3:50
2499 #, no-wrap
2500 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2501 msgstr ""
2502
2503 #. type: Plain text
2504 #: build/C/man3/crypt.3:53
2505 #, no-wrap
2506 msgid ""
2507 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2508 "B<              struct crypt_data *>I<data>B<);>\n"
2509 msgstr ""
2510
2511 #. type: Plain text
2512 #: build/C/man3/crypt.3:56
2513 msgid "Link with I<-lcrypt>."
2514 msgstr ""
2515
2516 #. type: Plain text
2517 #: build/C/man3/crypt.3:62
2518 msgid ""
2519 "B<crypt>()  is the password encryption function.  It is based on the Data "
2520 "Encryption Standard algorithm with variations intended (among other things) "
2521 "to discourage use of hardware implementations of a key search."
2522 msgstr ""
2523
2524 #. type: Plain text
2525 #: build/C/man3/crypt.3:65
2526 msgid "I<key> is a user's typed password."
2527 msgstr ""
2528
2529 #. type: Plain text
2530 #: build/C/man3/crypt.3:71
2531 msgid ""
2532 "I<salt> is a two-character string chosen from the set "
2533 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2534 "algorithm in one of 4096 different ways."
2535 msgstr ""
2536
2537 #. type: Plain text
2538 #: build/C/man3/crypt.3:82
2539 msgid ""
2540 "By taking the lowest 7 bits of each of the first eight characters of the "
2541 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2542 "repeatedly a constant string (usually a string consisting of all zeros).  "
2543 "The returned value points to the encrypted password, a series of 13 "
2544 "printable ASCII characters (the first two characters represent the salt "
2545 "itself).  The return value points to static data whose content is "
2546 "overwritten by each call."
2547 msgstr ""
2548
2549 #. type: Plain text
2550 #: build/C/man3/crypt.3:84
2551 msgid "Warning: The key space consists of"
2552 msgstr ""
2553
2554 #. type: Plain text
2555 #: build/C/man3/crypt.3:99
2556 msgid ""
2557 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2558 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2559 "is available which will search the portion of this key space that is "
2560 "generally used by humans for passwords.  Hence, password selection should, "
2561 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2562 "program that checks for crackable passwords during the selection process is "
2563 "recommended."
2564 msgstr ""
2565
2566 #. type: Plain text
2567 #: build/C/man3/crypt.3:108
2568 msgid ""
2569 "The DES algorithm itself has a few quirks which make the use of the "
2570 "B<crypt>()  interface a very poor choice for anything other than password "
2571 "authentication.  If you are planning on using the B<crypt>()  interface for "
2572 "a cryptography project, don't do it: get a good book on encryption and one "
2573 "of the widely available DES libraries."
2574 msgstr ""
2575
2576 #. type: Plain text
2577 #: build/C/man3/crypt.3:120
2578 msgid ""
2579 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2580 "to by I<data> is used to store result data and bookkeeping information.  "
2581 "Other than allocating it, the only thing that the caller should do with this "
2582 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2583 "to B<crypt_r>()."
2584 msgstr ""
2585
2586 #. type: Plain text
2587 #: build/C/man3/crypt.3:123
2588 msgid ""
2589 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2590 "is returned."
2591 msgstr ""
2592
2593 #. type: Plain text
2594 #: build/C/man3/crypt.3:128
2595 msgid "I<salt> has the wrong format."
2596 msgstr ""
2597
2598 #. type: TP
2599 #: build/C/man3/crypt.3:130 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:200
2600 #, no-wrap
2601 msgid "B<ENOSYS>"
2602 msgstr ""
2603
2604 #.  This level of detail is not necessary in this man page. . .
2605 #.  .PP
2606 #.  When encrypting a plain text P using DES with the key K results in the
2607 #.  encrypted text C, then the complementary plain text P' being encrypted
2608 #.  using the complementary key K' will result in the complementary encrypted
2609 #.  text C'.
2610 #.  .PP
2611 #.  Weak keys are keys which stay invariant under the DES key transformation.
2612 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2613 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2614 #.  .PP
2615 #.  There are six known half weak key pairs, which keys lead to the same
2616 #.  encrypted data.  Keys which are part of such key clusters should be
2617 #.  avoided.
2618 #.  Sorry, I could not find out what they are.
2619 #. "
2620 #.  .PP
2621 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2622 #.  .I codebook
2623 #.  mode that
2624 #.  .BR crypt ()
2625 #.  implements.  The
2626 #.  .BR crypt ()
2627 #.  interface should be used only for its intended purpose of password
2628 #.  verification, and should not be used as part of a data encryption tool.
2629 #.  .PP
2630 #.  The first and last three output bits of the fourth S-box can be
2631 #.  represented as function of their input bits.  Empiric studies have
2632 #.  shown that S-boxes partially compute the same output for similar input.
2633 #.  It is suspected that this may contain a back door which could allow the
2634 #.  NSA to decrypt DES encrypted data.
2635 #.  .PP
2636 #.  Making encrypted data computed using crypt() publicly available has
2637 #.  to be considered insecure for the given reasons.
2638 #. type: Plain text
2639 #: build/C/man3/crypt.3:169
2640 msgid ""
2641 "The B<crypt>()  function was not implemented, probably because of "
2642 "U.S.A. export restrictions."
2643 msgstr ""
2644
2645 #. type: Plain text
2646 #: build/C/man3/crypt.3:174
2647 msgid ""
2648 "I</proc/sys/crypto/fips_enabled> has a nonzero value, and an attempt was "
2649 "made to use a weak encryption type, such as DES."
2650 msgstr ""
2651
2652 #. type: SH
2653 #: 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
2654 #, no-wrap
2655 msgid "ATTRIBUTES"
2656 msgstr ""
2657
2658 #. type: SS
2659 #: 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
2660 #, no-wrap
2661 msgid "Multithreading (see pthreads(7))"
2662 msgstr ""
2663
2664 #. type: Plain text
2665 #: build/C/man3/crypt.3:179
2666 msgid "The B<crypt>()  function is not thread-safe."
2667 msgstr ""
2668
2669 #. type: Plain text
2670 #: build/C/man3/crypt.3:183
2671 msgid "The B<crypt_r>()  function is thread-safe."
2672 msgstr ""
2673
2674 #. type: Plain text
2675 #: build/C/man3/crypt.3:188
2676 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2677 msgstr ""
2678
2679 #. type: SS
2680 #: build/C/man3/crypt.3:189 build/C/man2/gethostname.2:140
2681 #, no-wrap
2682 msgid "Glibc notes"
2683 msgstr ""
2684
2685 #. type: Plain text
2686 #: build/C/man3/crypt.3:192
2687 msgid ""
2688 "The glibc2 version of this function supports additional encryption "
2689 "algorithms."
2690 msgstr ""
2691
2692 #. type: Plain text
2693 #: build/C/man3/crypt.3:197
2694 msgid ""
2695 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2696 "followed by a string terminated by \"$\":"
2697 msgstr ""
2698
2699 #. type: Plain text
2700 #: build/C/man3/crypt.3:200
2701 msgid "$I<id>$I<salt>$I<encrypted>"
2702 msgstr ""
2703
2704 #. type: Plain text
2705 #: build/C/man3/crypt.3:209
2706 msgid ""
2707 "then instead of using the DES machine, I<id> identifies the encryption "
2708 "method used and this then determines how the rest of the password string is "
2709 "interpreted.  The following values of I<id> are supported:"
2710 msgstr ""
2711
2712 #. type: tbl table
2713 #: build/C/man3/crypt.3:212
2714 #, no-wrap
2715 msgid "ID  | Method\n"
2716 msgstr ""
2717
2718 #. type: tbl table
2719 #: build/C/man3/crypt.3:213 build/C/man2/syscall.2:158 build/C/man2/syscall.2:190
2720 #, no-wrap
2721 msgid "_\n"
2722 msgstr ""
2723
2724 #. type: tbl table
2725 #: build/C/man3/crypt.3:214
2726 #, no-wrap
2727 msgid "1   | MD5\n"
2728 msgstr ""
2729
2730 #. type: tbl table
2731 #: build/C/man3/crypt.3:215
2732 #, no-wrap
2733 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2734 msgstr ""
2735
2736 #. type: tbl table
2737 #: build/C/man3/crypt.3:216
2738 #, no-wrap
2739 msgid "    | Linux distributions)\n"
2740 msgstr ""
2741
2742 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2743 #.  natively by glibc -- mtk, Jul 08
2744 #
2745 #.  md5 | Sun MD5
2746 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2747 #.  if any distros add the support.
2748 #. type: tbl table
2749 #: build/C/man3/crypt.3:223
2750 #, no-wrap
2751 msgid "5   | SHA-256 (since glibc 2.7)\n"
2752 msgstr ""
2753
2754 #. type: tbl table
2755 #: build/C/man3/crypt.3:224
2756 #, no-wrap
2757 msgid "6   | SHA-512 (since glibc 2.7)\n"
2758 msgstr ""
2759
2760 #. type: Plain text
2761 #: build/C/man3/crypt.3:231
2762 msgid ""
2763 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2764 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2765 msgstr ""
2766
2767 #. type: Plain text
2768 #: build/C/man3/crypt.3:236
2769 msgid ""
2770 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2771 "salt.  The encrypted part of the password string is the actual computed "
2772 "password.  The size of this string is fixed:"
2773 msgstr ""
2774
2775 #. type: tbl table
2776 #: build/C/man3/crypt.3:238
2777 #, no-wrap
2778 msgid "MD5     | 22 characters\n"
2779 msgstr ""
2780
2781 #. type: tbl table
2782 #: build/C/man3/crypt.3:239
2783 #, no-wrap
2784 msgid "SHA-256 | 43 characters\n"
2785 msgstr ""
2786
2787 #. type: tbl table
2788 #: build/C/man3/crypt.3:240
2789 #, no-wrap
2790 msgid "SHA-512 | 86 characters\n"
2791 msgstr ""
2792
2793 #. type: Plain text
2794 #: build/C/man3/crypt.3:249
2795 msgid ""
2796 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2797 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2798 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2799 msgstr ""
2800
2801 #. type: Plain text
2802 #: build/C/man3/crypt.3:255
2803 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2804 msgstr ""
2805
2806 #. type: TH
2807 #: build/C/man3/daemon.3:36
2808 #, no-wrap
2809 msgid "DAEMON"
2810 msgstr ""
2811
2812 #. type: TH
2813 #: build/C/man3/daemon.3:36
2814 #, no-wrap
2815 msgid "2013-10-28"
2816 msgstr ""
2817
2818 #. type: Plain text
2819 #: build/C/man3/daemon.3:39
2820 msgid "daemon - run in the background"
2821 msgstr ""
2822
2823 #. type: Plain text
2824 #: build/C/man3/daemon.3:43
2825 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2826 msgstr ""
2827
2828 #. type: Plain text
2829 #: build/C/man3/daemon.3:51
2830 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2831 msgstr ""
2832
2833 #. type: Plain text
2834 #: build/C/man3/daemon.3:56
2835 msgid ""
2836 "The B<daemon>()  function is for programs wishing to detach themselves from "
2837 "the controlling terminal and run in the background as system daemons."
2838 msgstr ""
2839
2840 #. type: Plain text
2841 #: build/C/man3/daemon.3:64
2842 msgid ""
2843 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2844 "working directory to the root directory (\"/\"); otherwise, the current "
2845 "working directory is left unchanged."
2846 msgstr ""
2847
2848 #. type: Plain text
2849 #: build/C/man3/daemon.3:73
2850 msgid ""
2851 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2852 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2853 "these file descriptors."
2854 msgstr ""
2855
2856 #.  not .IR in order not to underline _
2857 #. type: Plain text
2858 #: build/C/man3/daemon.3:91
2859 msgid ""
2860 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2861 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2862 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2863 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2864 "B<setsid>(2)."
2865 msgstr ""
2866
2867 #. type: Plain text
2868 #: build/C/man3/daemon.3:96
2869 msgid "The B<daemon>()  function is thread-safe."
2870 msgstr ""
2871
2872 #. type: Plain text
2873 #: build/C/man3/daemon.3:102
2874 msgid ""
2875 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2876 "B<daemon>()  function first appeared in 4.4BSD."
2877 msgstr ""
2878
2879 #. type: Plain text
2880 #: build/C/man3/daemon.3:110
2881 msgid ""
2882 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2883 "not a character device with the expected major and minor numbers.  In this "
2884 "case, I<errno> need not be set."
2885 msgstr ""
2886
2887 #. type: Plain text
2888 #: build/C/man3/daemon.3:113
2889 msgid "B<fork>(2), B<setsid>(2)"
2890 msgstr ""
2891
2892 #. type: TH
2893 #: build/C/man3/des_crypt.3:14
2894 #, no-wrap
2895 msgid "DES_CRYPT"
2896 msgstr ""
2897
2898 #. type: TH
2899 #: build/C/man3/des_crypt.3:14
2900 #, no-wrap
2901 msgid "2013-09-18"
2902 msgstr ""
2903
2904 #. type: Plain text
2905 #: build/C/man3/des_crypt.3:18
2906 msgid ""
2907 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2908 "encryption"
2909 msgstr ""
2910
2911 #.  Sun version
2912 #.  .B #include <des_crypt.h>
2913 #. type: Plain text
2914 #: build/C/man3/des_crypt.3:23
2915 #, no-wrap
2916 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2917 msgstr ""
2918
2919 #. type: Plain text
2920 #: build/C/man3/des_crypt.3:26
2921 #, no-wrap
2922 msgid ""
2923 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2924 ">I<datalen>B<,>\n"
2925 "B<              unsigned >I<mode>B<);>\n"
2926 msgstr ""
2927
2928 #. type: Plain text
2929 #: build/C/man3/des_crypt.3:29
2930 #, no-wrap
2931 msgid ""
2932 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2933 ">I<datalen>B<,>\n"
2934 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2935 msgstr ""
2936
2937 #. type: Plain text
2938 #: build/C/man3/des_crypt.3:31
2939 #, no-wrap
2940 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2941 msgstr ""
2942
2943 #. type: Plain text
2944 #: build/C/man3/des_crypt.3:33
2945 #, no-wrap
2946 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2947 msgstr ""
2948
2949 #. type: Plain text
2950 #: build/C/man3/des_crypt.3:63
2951 msgid ""
2952 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2953 "Standard).  These routines are faster and more general purpose than "
2954 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2955 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2956 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2957 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2958 "CBC mode protects against insertions, deletions and substitutions of "
2959 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2960 "text."
2961 msgstr ""
2962
2963 #. type: Plain text
2964 #: build/C/man3/des_crypt.3:106
2965 msgid ""
2966 "Here is how to use these routines.  The first argument, I<key>, is the "
2967 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2968 "is in the low bit of each byte, use B<des_setparity>().  The second "
2969 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2970 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2971 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2972 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2973 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2974 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2975 "hardware, then the encryption is performed in software and the routine "
2976 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2977 "the 8-byte initialization vector for the chaining.  It is updated to the "
2978 "next initialization vector upon return."
2979 msgstr ""
2980
2981 #. type: TP
2982 #: build/C/man3/des_crypt.3:108
2983 #, no-wrap
2984 msgid "B<DESERR_NONE>"
2985 msgstr ""
2986
2987 #. type: Plain text
2988 #: build/C/man3/des_crypt.3:111
2989 msgid "No error."
2990 msgstr ""
2991
2992 #. type: TP
2993 #: build/C/man3/des_crypt.3:111
2994 #, no-wrap
2995 msgid "B<DESERR_NOHWDEVICE>"
2996 msgstr ""
2997
2998 #. type: Plain text
2999 #: build/C/man3/des_crypt.3:114
3000 msgid ""
3001 "Encryption succeeded, but done in software instead of the requested "
3002 "hardware."
3003 msgstr ""
3004
3005 #. type: TP
3006 #: build/C/man3/des_crypt.3:114
3007 #, no-wrap
3008 msgid "B<DESERR_HWERROR>"
3009 msgstr ""
3010
3011 #. type: Plain text
3012 #: build/C/man3/des_crypt.3:117
3013 msgid "An error occurred in the hardware or driver."
3014 msgstr ""
3015
3016 #. type: TP
3017 #: build/C/man3/des_crypt.3:117
3018 #, no-wrap
3019 msgid "B<DESERR_BADPARAM>"
3020 msgstr ""
3021
3022 #. type: Plain text
3023 #: build/C/man3/des_crypt.3:120
3024 msgid "Bad argument to routine."
3025 msgstr ""
3026
3027 #.  .BR DES_FAILED\c
3028 #.  .BR ( stat )
3029 #.  So far the Sun page
3030 #.  Some additions - aeb
3031 #. type: Plain text
3032 #: build/C/man3/des_crypt.3:131
3033 msgid ""
3034 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
3035 "only for the first two statuses."
3036 msgstr ""
3037
3038 #. type: Plain text
3039 #: build/C/man3/des_crypt.3:134
3040 msgid ""
3041 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
3042 "later."
3043 msgstr ""
3044
3045 #. type: Plain text
3046 #: build/C/man3/des_crypt.3:142
3047 msgid ""
3048 "The B<ecb_crypt>(), B<cbc_crypt>(), and B<des_setparity>()  functions are "
3049 "thread-safe."
3050 msgstr ""
3051
3052 #. type: Plain text
3053 #: build/C/man3/des_crypt.3:145
3054 msgid "4.3BSD.  Not in POSIX.1-2001."
3055 msgstr ""
3056
3057 #. type: Plain text
3058 #: build/C/man3/des_crypt.3:149
3059 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
3060 msgstr ""
3061
3062 #. type: TH
3063 #: build/C/man2/dup.2:36
3064 #, no-wrap
3065 msgid "DUP"
3066 msgstr ""
3067
3068 #. type: TH
3069 #: build/C/man2/dup.2:36
3070 #, no-wrap
3071 msgid "2012-02-14"
3072 msgstr ""
3073
3074 #. type: Plain text
3075 #: build/C/man2/dup.2:39
3076 msgid "dup, dup2, dup3 - duplicate a file descriptor"
3077 msgstr ""
3078
3079 #. type: Plain text
3080 #: build/C/man2/dup.2:45
3081 #, no-wrap
3082 msgid ""
3083 "B<int dup(int >I<oldfd>B<);>\n"
3084 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
3085 msgstr ""
3086
3087 #. type: Plain text
3088 #: build/C/man2/dup.2:49
3089 #, no-wrap
3090 msgid ""
3091 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3092 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
3093 "definitions */\n"
3094 "B<#include E<lt>unistd.hE<gt>>\n"
3095 msgstr ""
3096
3097 #. type: Plain text
3098 #: build/C/man2/dup.2:51
3099 #, no-wrap
3100 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
3101 msgstr ""
3102
3103 #. type: Plain text
3104 #: build/C/man2/dup.2:55
3105 msgid "These system calls create a copy of the file descriptor I<oldfd>."
3106 msgstr ""
3107
3108 #. type: Plain text
3109 #: build/C/man2/dup.2:58
3110 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
3111 msgstr ""
3112
3113 #. type: Plain text
3114 #: build/C/man2/dup.2:62
3115 msgid ""
3116 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
3117 "necessary, but note the following:"
3118 msgstr ""
3119
3120 #. type: Plain text
3121 #: build/C/man2/dup.2:68
3122 msgid ""
3123 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
3124 "I<newfd> is not closed."
3125 msgstr ""
3126
3127 #. type: Plain text
3128 #: build/C/man2/dup.2:79
3129 msgid ""
3130 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
3131 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
3132 msgstr ""
3133
3134 #. type: Plain text
3135 #: build/C/man2/dup.2:88
3136 msgid ""
3137 "After a successful return from one of these system calls, the old and new "
3138 "file descriptors may be used interchangeably.  They refer to the same open "
3139 "file description (see B<open>(2))  and thus share file offset and file "
3140 "status flags; for example, if the file offset is modified by using "
3141 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
3142 "other."
3143 msgstr ""
3144
3145 #. type: Plain text
3146 #: build/C/man2/dup.2:96
3147 msgid ""
3148 "The two descriptors do not share file descriptor flags (the close-on-exec "
3149 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
3150 "duplicate descriptor is off."
3151 msgstr ""
3152
3153 #. type: Plain text
3154 #: build/C/man2/dup.2:101
3155 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
3156 msgstr ""
3157
3158 #. type: Plain text
3159 #: build/C/man2/dup.2:110
3160 msgid ""
3161 "The caller can force the close-on-exec flag to be set for the new file "
3162 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
3163 "the same flag in B<open>(2)  for reasons why this may be useful."
3164 msgstr ""
3165
3166 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3167 #. type: Plain text
3168 #: build/C/man2/dup.2:120
3169 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
3170 msgstr ""
3171
3172 #. type: Plain text
3173 #: build/C/man2/dup.2:126
3174 msgid ""
3175 "On success, these system calls return the new descriptor.  On error, -1 is "
3176 "returned, and I<errno> is set appropriately."
3177 msgstr ""
3178
3179 #. type: Plain text
3180 #: build/C/man2/dup.2:133
3181 msgid ""
3182 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
3183 "range for file descriptors."
3184 msgstr ""
3185
3186 #. type: TP
3187 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
3188 #, no-wrap
3189 msgid "B<EBUSY>"
3190 msgstr ""
3191
3192 #. type: Plain text
3193 #: build/C/man2/dup.2:143
3194 msgid ""
3195 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
3196 "condition with B<open>(2)  and B<dup>()."
3197 msgstr ""
3198
3199 #. type: Plain text
3200 #: build/C/man2/dup.2:151
3201 msgid ""
3202 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
3203 "B<signal>(7)."
3204 msgstr ""
3205
3206 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
3207 #. type: Plain text
3208 #: build/C/man2/dup.2:161
3209 msgid ""
3210 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
3211 "I<newfd>."
3212 msgstr ""
3213
3214 #. type: TP
3215 #: build/C/man2/dup.2:161 build/C/man2/execve.2:414 build/C/man2/fcntl.2:1148 build/C/man3/getlogin.3:105
3216 #, no-wrap
3217 msgid "B<EMFILE>"
3218 msgstr ""
3219
3220 #. type: Plain text
3221 #: build/C/man2/dup.2:165
3222 msgid ""
3223 "The process already has the maximum number of file descriptors open and "
3224 "tried to open a new one."
3225 msgstr ""
3226
3227 #. type: Plain text
3228 #: build/C/man2/dup.2:170
3229 msgid ""
3230 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
3231 "starting with version 2.9."
3232 msgstr ""
3233
3234 #. type: Plain text
3235 #: build/C/man2/dup.2:174
3236 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
3237 msgstr ""
3238
3239 #.  SVr4 documents additional
3240 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
3241 #.  The EBUSY return is Linux-specific.
3242 #. type: Plain text
3243 #: build/C/man2/dup.2:180
3244 msgid "B<dup3>()  is Linux-specific."
3245 msgstr ""
3246
3247 #. type: Plain text
3248 #: build/C/man2/dup.2:194
3249 msgid ""
3250 "The error returned by B<dup2>()  is different from that returned by "
3251 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
3252 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
3253 msgstr ""
3254
3255 #. type: Plain text
3256 #: build/C/man2/dup.2:207
3257 msgid ""
3258 "If I<newfd> was open, any errors that would have been reported at "
3259 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
3260 "B<dup3>()  without closing I<newfd> first."
3261 msgstr ""
3262
3263 #. type: Plain text
3264 #: build/C/man2/dup.2:211
3265 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
3266 msgstr ""
3267
3268 #. type: TH
3269 #: build/C/man3/encrypt.3:30
3270 #, no-wrap
3271 msgid "ENCRYPT"
3272 msgstr ""
3273
3274 #. type: TH
3275 #: build/C/man3/encrypt.3:30
3276 #, no-wrap
3277 msgid "2013-07-22"
3278 msgstr ""
3279
3280 #. type: Plain text
3281 #: build/C/man3/encrypt.3:33
3282 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
3283 msgstr ""
3284
3285 #. type: Plain text
3286 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
3287 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
3288 msgstr ""
3289
3290 #. type: Plain text
3291 #: build/C/man3/encrypt.3:39
3292 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
3293 msgstr ""
3294
3295 #. type: Plain text
3296 #: build/C/man3/encrypt.3:43
3297 msgid "B<#include E<lt>stdlib.hE<gt>>"
3298 msgstr ""
3299
3300 #. type: Plain text
3301 #: build/C/man3/encrypt.3:45
3302 msgid "B<void setkey(const char *>I<key>B<);>"
3303 msgstr ""
3304
3305 #. type: Plain text
3306 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
3307 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
3308 msgstr ""
3309
3310 #. type: Plain text
3311 #: build/C/man3/encrypt.3:49
3312 msgid "B<#include E<lt>crypt.hE<gt>>"
3313 msgstr ""
3314
3315 #. type: Plain text
3316 #: build/C/man3/encrypt.3:51
3317 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
3318 msgstr ""
3319
3320 #. type: Plain text
3321 #: build/C/man3/encrypt.3:54
3322 msgid ""
3323 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
3324 "*>I<data>B<);>"
3325 msgstr ""
3326
3327 #. type: Plain text
3328 #: build/C/man3/encrypt.3:56
3329 msgid "Each of these requires linking with I<-lcrypt>."
3330 msgstr ""
3331
3332 #. type: Plain text
3333 #: build/C/man3/encrypt.3:68
3334 msgid ""
3335 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
3336 "function sets the key used by B<encrypt>().  The I<key> argument used here "
3337 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
3338 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
3339 "56 bits."
3340 msgstr ""
3341
3342 #. type: Plain text
3343 #: build/C/man3/encrypt.3:80
3344 msgid ""
3345 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
3346 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
3347 "I<block> is a bit vector representation of the actual value that is "
3348 "encoded.  The result is returned in that same vector."
3349 msgstr ""
3350
3351 #. type: Plain text
3352 #: build/C/man3/encrypt.3:90
3353 msgid ""
3354 "These two functions are not reentrant, that is, the key data is kept in "
3355 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
3356 "reentrant versions.  They use the following structure to hold the key data:"
3357 msgstr ""
3358
3359 #. type: Plain text
3360 #: build/C/man3/encrypt.3:105
3361 #, no-wrap
3362 msgid ""
3363 "struct crypt_data {\n"
3364 "    char     keysched[16 * 8];\n"
3365 "    char     sb0[32768];\n"
3366 "    char     sb1[32768];\n"
3367 "    char     sb2[32768];\n"
3368 "    char     sb3[32768];\n"
3369 "    char     crypt_3_buf[14];\n"
3370 "    char     current_salt[2];\n"
3371 "    long int current_saltbits;\n"
3372 "    int      direction;\n"
3373 "    int      initialized;\n"
3374 "};\n"
3375 msgstr ""
3376
3377 #. type: Plain text
3378 #: build/C/man3/encrypt.3:113
3379 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
3380 msgstr ""
3381
3382 #. type: Plain text
3383 #: build/C/man3/encrypt.3:115
3384 msgid "These functions do not return any value."
3385 msgstr ""
3386
3387 #. type: Plain text
3388 #: build/C/man3/encrypt.3:120
3389 msgid ""
3390 "Set I<errno> to zero before calling the above functions.  On success, it is "
3391 "unchanged."
3392 msgstr ""
3393
3394 #. type: Plain text
3395 #: build/C/man3/encrypt.3:124
3396 msgid ""
3397 "The function is not provided.  (For example because of former USA export "
3398 "restrictions.)"
3399 msgstr ""
3400
3401 #. type: Plain text
3402 #: build/C/man3/encrypt.3:131
3403 msgid "The B<encrypt>()  and B<setkey>()  functions are not thread-safe."
3404 msgstr ""
3405
3406 #. type: Plain text
3407 #: build/C/man3/encrypt.3:137
3408 msgid "The B<encrypt_r>()  and B<setkey_r>()  functions are thread-safe."
3409 msgstr ""
3410
3411 #. type: Plain text
3412 #: build/C/man3/encrypt.3:148
3413 msgid ""
3414 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
3415 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
3416 "extensions."
3417 msgstr ""
3418
3419 #. type: Plain text
3420 #: build/C/man3/encrypt.3:150
3421 msgid "In glibc 2.2 these functions use the DES algorithm."
3422 msgstr ""
3423
3424 #. type: Plain text
3425 #: build/C/man3/encrypt.3:157
3426 msgid ""
3427 "You need to link with libcrypt to compile this example with glibc.  To do "
3428 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
3429 "bit pattern."
3430 msgstr ""
3431
3432 #. type: Plain text
3433 #: build/C/man3/encrypt.3:162
3434 #, no-wrap
3435 msgid ""
3436 "#define _XOPEN_SOURCE\n"
3437 "#include E<lt>unistd.hE<gt>\n"
3438 "#include E<lt>stdlib.hE<gt>\n"
3439 msgstr ""
3440
3441 #. type: Plain text
3442 #: build/C/man3/encrypt.3:168
3443 #, no-wrap
3444 msgid ""
3445 "int\n"
3446 "main(void)\n"
3447 "{\n"
3448 "    char key[64];      /* bit pattern for key */\n"
3449 "    char txt[64];      /* bit pattern for messages */\n"
3450 msgstr ""
3451
3452 #. type: Plain text
3453 #: build/C/man3/encrypt.3:173
3454 #, no-wrap
3455 msgid ""
3456 "    setkey(key);\n"
3457 "    encrypt(txt, 0);   /* encode */\n"
3458 "    encrypt(txt, 1);   /* decode */\n"
3459 "}\n"
3460 msgstr ""
3461
3462 #.  .BR fcrypt (3)
3463 #. type: Plain text
3464 #: build/C/man3/encrypt.3:179
3465 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3466 msgstr ""
3467
3468 #. type: TH
3469 #: build/C/man7/environ.7:34
3470 #, no-wrap
3471 msgid "ENVIRON"
3472 msgstr ""
3473
3474 #. type: TH
3475 #: build/C/man7/environ.7:34
3476 #, no-wrap
3477 msgid "2014-01-18"
3478 msgstr ""
3479
3480 #. type: Plain text
3481 #: build/C/man7/environ.7:37
3482 msgid "environ - user environment"
3483 msgstr ""
3484
3485 #. type: Plain text
3486 #: build/C/man7/environ.7:40
3487 #, no-wrap
3488 msgid "B<extern char **>I<environ>B<;>\n"
3489 msgstr ""
3490
3491 #. type: Plain text
3492 #: build/C/man7/environ.7:57
3493 msgid ""
3494 "The variable I<environ> points to an array of pointers to strings called the "
3495 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3496 "variable must be declared in the user program, but is declared in the header "
3497 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3498 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3499 "This array of strings is made available to the process by the B<exec>(3)  "
3500 "call that started the process."
3501 msgstr ""
3502
3503 #. type: Plain text
3504 #: build/C/man7/environ.7:62
3505 msgid ""
3506 "By convention the strings in I<environ> have the form "
3507 "\"I<name>B<=>I<value>\".  Common examples are:"
3508 msgstr ""
3509
3510 #. type: TP
3511 #: build/C/man7/environ.7:62
3512 #, no-wrap
3513 msgid "B<USER>"
3514 msgstr ""
3515
3516 #. type: Plain text
3517 #: build/C/man7/environ.7:65
3518 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3519 msgstr ""
3520
3521 #. type: TP
3522 #: build/C/man7/environ.7:65
3523 #, no-wrap
3524 msgid "B<LOGNAME>"
3525 msgstr ""
3526
3527 #. type: Plain text
3528 #: build/C/man7/environ.7:68
3529 msgid "The name of the logged-in user (used by some System-V derived programs)."
3530 msgstr ""
3531
3532 #. type: TP
3533 #: build/C/man7/environ.7:68
3534 #, no-wrap
3535 msgid "B<HOME>"
3536 msgstr ""
3537
3538 #. type: Plain text
3539 #: build/C/man7/environ.7:74
3540 msgid ""
3541 "A user's login directory, set by B<login>(1)  from the password file "
3542 "B<passwd>(5)."
3543 msgstr ""
3544
3545 #. type: TP
3546 #: build/C/man7/environ.7:74
3547 #, no-wrap
3548 msgid "B<LANG>"
3549 msgstr ""
3550
3551 #. type: Plain text
3552 #: build/C/man7/environ.7:92
3553 msgid ""
3554 "The name of a locale to use for locale categories when not overridden by "
3555 "B<LC_ALL> or more specific environment variables such as B<LC_COLLATE>, "
3556 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, and B<LC_TIME> "
3557 "(see B<locale>(7)  for further details of the B<LC_*> environment "
3558 "variables)."
3559 msgstr ""
3560
3561 #. type: TP
3562 #: build/C/man7/environ.7:92
3563 #, no-wrap
3564 msgid "B<PATH>"
3565 msgstr ""
3566
3567 #. type: Plain text
3568 #: build/C/man7/environ.7:107
3569 msgid ""
3570 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3571 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3572 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3573 "shells to find the target of a change directory command, B<MANPATH> used by "
3574 "B<man>(1)  to find manual pages, and so on)"
3575 msgstr ""
3576
3577 #. type: TP
3578 #: build/C/man7/environ.7:107
3579 #, no-wrap
3580 msgid "B<PWD>"
3581 msgstr ""
3582
3583 #. type: Plain text
3584 #: build/C/man7/environ.7:111
3585 msgid "The current working directory.  Set by some shells."
3586 msgstr ""
3587
3588 #. type: TP
3589 #: build/C/man7/environ.7:111
3590 #, no-wrap
3591 msgid "B<SHELL>"
3592 msgstr ""
3593
3594 #. type: Plain text
3595 #: build/C/man7/environ.7:114
3596 msgid "The pathname of the user's login shell."
3597 msgstr ""
3598
3599 #. type: TP
3600 #: build/C/man7/environ.7:114
3601 #, no-wrap
3602 msgid "B<TERM>"
3603 msgstr ""
3604
3605 #. type: Plain text
3606 #: build/C/man7/environ.7:117
3607 msgid "The terminal type for which output is to be prepared."
3608 msgstr ""
3609
3610 #. type: TP
3611 #: build/C/man7/environ.7:117
3612 #, no-wrap
3613 msgid "B<PAGER>"
3614 msgstr ""
3615
3616 #. type: Plain text
3617 #: build/C/man7/environ.7:120
3618 msgid "The user's preferred utility to display text files."
3619 msgstr ""
3620
3621 #. type: TP
3622 #: build/C/man7/environ.7:120
3623 #, no-wrap
3624 msgid "B<EDITOR>/B<VISUAL>"
3625 msgstr ""
3626
3627 #.  .TP
3628 #.  .B BROWSER
3629 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3630 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3631 #. type: Plain text
3632 #: build/C/man7/environ.7:127
3633 msgid "The user's preferred utility to edit text files."
3634 msgstr ""
3635
3636 #. type: Plain text
3637 #: build/C/man7/environ.7:145
3638 msgid ""
3639 "Further names may be placed in the environment by the I<export> command and "
3640 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3641 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3642 "an B<exec>(3).  A C program can manipulate its environment using the "
3643 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3644 msgstr ""
3645
3646 #. type: Plain text
3647 #: build/C/man7/environ.7:149
3648 msgid ""
3649 "Note that the behavior of many programs and library routines is influenced "
3650 "by the presence or value of certain environment variables.  A random "
3651 "collection:"
3652 msgstr ""
3653
3654 #. type: Plain text
3655 #: build/C/man7/environ.7:158
3656 msgid ""
3657 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3658 "B<LC_MESSAGES>, and so on influence locale handling; see B<catopen>(3), "
3659 "B<gettext>(3), and B<locale>(7)."
3660 msgstr ""
3661
3662 #. type: Plain text
3663 #: build/C/man7/environ.7:165
3664 msgid ""
3665 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3666 "other routines, and the temporary directory used by B<sort>(1)  and other "
3667 "programs."
3668 msgstr ""
3669
3670 #. type: Plain text
3671 #: build/C/man7/environ.7:169
3672 msgid ""
3673 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3674 "behavior of the dynamic loader/linker."
3675 msgstr ""
3676
3677 #. type: Plain text
3678 #: build/C/man7/environ.7:173
3679 msgid ""
3680 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3681 "prescriptions of POSIX."
3682 msgstr ""
3683
3684 #. type: Plain text
3685 #: build/C/man7/environ.7:179
3686 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3687 msgstr ""
3688
3689 #. type: Plain text
3690 #: build/C/man7/environ.7:185
3691 msgid ""
3692 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3693 "be used with B<gethostbyname>(3)."
3694 msgstr ""
3695
3696 #. type: Plain text
3697 #: build/C/man7/environ.7:196
3698 msgid ""
3699 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3700 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3701 "B<strftime>(3).  See also B<tzselect>(8)."
3702 msgstr ""
3703
3704 #. type: Plain text
3705 #: build/C/man7/environ.7:200
3706 msgid ""
3707 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3708 "the name of a file containing such information)."
3709 msgstr ""
3710
3711 #. type: Plain text
3712 #: build/C/man7/environ.7:203
3713 msgid ""
3714 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3715 "overriding the actual size."
3716 msgstr ""
3717
3718 #. type: Plain text
3719 #: build/C/man7/environ.7:208
3720 msgid ""
3721 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3722 "B<lpr>(1)."
3723 msgstr ""
3724
3725 #. type: Plain text
3726 #: build/C/man7/environ.7:210
3727 msgid "Etc."
3728 msgstr ""
3729
3730 #. type: Plain text
3731 #: build/C/man7/environ.7:215
3732 msgid ""
3733 "Clearly there is a security risk here.  Many a system command has been "
3734 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3735 "B<LD_LIBRARY_PATH>."
3736 msgstr ""
3737
3738 #. type: Plain text
3739 #: build/C/man7/environ.7:248
3740 msgid ""
3741 "There is also the risk of name space pollution.  Programs like I<make> and "
3742 "I<autoconf> allow overriding of default utility names from the environment "
3743 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3744 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3745 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3746 "environment variable gives options for the program instead of a pathname.  "
3747 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3748 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3749 "consider renaming their option to B<GZIP_OPT>."
3750 msgstr ""
3751
3752 #. type: Plain text
3753 #: build/C/man7/environ.7:262
3754 msgid ""
3755 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3756 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3757 "B<unsetenv>(3), B<locale>(7)"
3758 msgstr ""
3759
3760 #. type: TH
3761 #: build/C/man3/euidaccess.3:25
3762 #, no-wrap
3763 msgid "EUIDACCESS"
3764 msgstr ""
3765
3766 #. type: TH
3767 #: build/C/man3/euidaccess.3:25
3768 #, no-wrap
3769 msgid "2013-09-25"
3770 msgstr ""
3771
3772 #. type: Plain text
3773 #: build/C/man3/euidaccess.3:28
3774 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3775 msgstr ""
3776
3777 #. type: Plain text
3778 #: build/C/man3/euidaccess.3:32
3779 #, no-wrap
3780 msgid ""
3781 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3782 "B<#include E<lt>unistd.hE<gt>>\n"
3783 msgstr ""
3784
3785 #. type: Plain text
3786 #: build/C/man3/euidaccess.3:35
3787 #, no-wrap
3788 msgid ""
3789 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3790 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3791 msgstr ""
3792
3793 #. type: Plain text
3794 #: build/C/man3/euidaccess.3:47
3795 msgid ""
3796 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3797 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3798 "performs checks using the real user and group identifiers of the process, "
3799 "B<euidaccess>()  uses the effective identifiers."
3800 msgstr ""
3801
3802 #. type: Plain text
3803 #: build/C/man3/euidaccess.3:53
3804 msgid ""
3805 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK>, "
3806 "and B<F_OK>, with the same meanings as for B<access>(2)."
3807 msgstr ""
3808
3809 #. type: Plain text
3810 #: build/C/man3/euidaccess.3:58
3811 msgid ""
3812 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3813 "with some other systems."
3814 msgstr ""
3815
3816 #. type: Plain text
3817 #: build/C/man3/euidaccess.3:66
3818 msgid ""
3819 "On success (all requested permissions granted), zero is returned.  On error "
3820 "(at least one bit in I<mode> asked for a permission that is denied, or some "
3821 "other error occurred), -1 is returned, and I<errno> is set appropriately."
3822 msgstr ""
3823
3824 #. type: Plain text
3825 #: build/C/man3/euidaccess.3:69
3826 msgid "As for B<access>(2)."
3827 msgstr ""
3828
3829 #. type: Plain text
3830 #: build/C/man3/euidaccess.3:73
3831 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3832 msgstr ""
3833
3834 #. type: Plain text
3835 #: build/C/man3/euidaccess.3:80
3836 msgid "The B<euidaccess>()  and B<eaccess>()  functions are thread-safe."
3837 msgstr ""
3838
3839 #.  e.g., FreeBSD 6.1.
3840 #. type: Plain text
3841 #: build/C/man3/euidaccess.3:86
3842 msgid ""
3843 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3844 "function."
3845 msgstr ""
3846
3847 #. type: Plain text
3848 #: build/C/man3/euidaccess.3:93
3849 msgid ""
3850 "I<Warning>: Using this function to check a process's permissions on a file "
3851 "before performing some operation based on that information leads to race "
3852 "conditions: the file permissions may change between the two steps.  "
3853 "Generally, it is safer just to attempt the desired operation and handle any "
3854 "permission error that occurs."
3855 msgstr ""
3856
3857 #. type: Plain text
3858 #: build/C/man3/euidaccess.3:101
3859 msgid ""
3860 "This function always dereferences symbolic links.  If you need to check the "
3861 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
3862 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3863 msgstr ""
3864
3865 #. type: Plain text
3866 #: build/C/man3/euidaccess.3:112
3867 msgid ""
3868 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3869 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3870 "B<path_resolution>(7)"
3871 msgstr ""
3872
3873 #. type: TH
3874 #: build/C/man3/exec.3:41
3875 #, no-wrap
3876 msgid "EXEC"
3877 msgstr ""
3878
3879 #. type: TH
3880 #: build/C/man3/exec.3:41
3881 #, no-wrap
3882 msgid "2010-09-25"
3883 msgstr ""
3884
3885 #. type: Plain text
3886 #: build/C/man3/exec.3:44
3887 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3888 msgstr ""
3889
3890 #. type: Plain text
3891 #: build/C/man3/exec.3:48
3892 msgid "B<extern char **environ;>"
3893 msgstr ""
3894
3895 #. type: Plain text
3896 #: build/C/man3/exec.3:50
3897 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3898 msgstr ""
3899
3900 #. type: Plain text
3901 #: build/C/man3/exec.3:52
3902 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3903 msgstr ""
3904
3905 #. type: Plain text
3906 #: build/C/man3/exec.3:54
3907 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3908 msgstr ""
3909
3910 #. type: Plain text
3911 #: build/C/man3/exec.3:56
3912 msgid "B< ..., char * const >I<envp>B<[]);>"
3913 msgstr ""
3914
3915 #. type: Plain text
3916 #: build/C/man3/exec.3:58
3917 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3918 msgstr ""
3919
3920 #. type: Plain text
3921 #: build/C/man3/exec.3:60
3922 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3923 msgstr ""
3924
3925 #. type: Plain text
3926 #: build/C/man3/exec.3:62
3927 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3928 msgstr ""
3929
3930 #. type: Plain text
3931 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
3932 msgid "B< char *const >I<envp>B<[]);>"
3933 msgstr ""
3934
3935 #. type: Plain text
3936 #: build/C/man3/exec.3:72
3937 msgid "B<execvpe>(): _GNU_SOURCE"
3938 msgstr ""
3939
3940 #. type: Plain text
3941 #: build/C/man3/exec.3:82
3942 msgid ""
3943 "The B<exec>()  family of functions replaces the current process image with a "
3944 "new process image.  The functions described in this manual page are "
3945 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3946 "further details about the replacement of the current process image.)"
3947 msgstr ""
3948
3949 #. type: Plain text
3950 #: build/C/man3/exec.3:85
3951 msgid ""
3952 "The initial argument for these functions is the name of a file that is to be "
3953 "executed."
3954 msgstr ""
3955
3956 #. type: Plain text
3957 #: build/C/man3/exec.3:107
3958 msgid ""
3959 "The I<const char\\ *arg> and subsequent ellipses in the B<execl>(), "
3960 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3961 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3962 "pointers to null-terminated strings that represent the argument list "
3963 "available to the executed program.  The first argument, by convention, "
3964 "should point to the filename associated with the file being executed.  The "
3965 "list of arguments I<must> be terminated by a null pointer, and, since these "
3966 "are variadic functions, this pointer must be cast I<(char\\ *) NULL>."
3967 msgstr ""
3968
3969 #. type: Plain text
3970 #: build/C/man3/exec.3:120
3971 msgid ""
3972 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3973 "pointers to null-terminated strings that represent the argument list "
3974 "available to the new program.  The first argument, by convention, should "
3975 "point to the filename associated with the file being executed.  The array of "
3976 "pointers I<must> be terminated by a null pointer."
3977 msgstr ""
3978
3979 #. type: Plain text
3980 #: build/C/man3/exec.3:137
3981 msgid ""
3982 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3983 "environment of the executed program via the argument I<envp>.  The I<envp> "
3984 "argument is an array of pointers to null-terminated strings and I<must> be "
3985 "terminated by a null pointer.  The other functions take the environment for "
3986 "the new process image from the external variable I<environ> in the calling "
3987 "process."
3988 msgstr ""
3989
3990 #. type: SS
3991 #: build/C/man3/exec.3:137
3992 #, no-wrap
3993 msgid "Special semantics for execlp() and execvp()"
3994 msgstr ""
3995
3996 #. type: Plain text
3997 #: build/C/man3/exec.3:157
3998 msgid ""
3999 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
4000 "actions of the shell in searching for an executable file if the specified "
4001 "filename does not contain a slash (/) character.  The file is sought in the "
4002 "colon-separated list of directory pathnames specified in the B<PATH> "
4003 "environment variable.  If this variable isn't defined, the path list "
4004 "defaults to the current directory followed by the list of directories "
4005 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
4006 "returns the value \"/bin:/usr/bin\".)"
4007 msgstr ""
4008
4009 #. type: Plain text
4010 #: build/C/man3/exec.3:161
4011 msgid ""
4012 "If the specified filename includes a slash character, then B<PATH> is "
4013 "ignored, and the file at the specified pathname is executed."
4014 msgstr ""
4015
4016 #. type: Plain text
4017 #: build/C/man3/exec.3:163
4018 msgid "In addition, certain errors are treated specially."
4019 msgstr ""
4020
4021 #. type: Plain text
4022 #: build/C/man3/exec.3:174
4023 msgid ""
4024 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
4025 "the error B<EACCES>), these functions will continue searching the rest of "
4026 "the search path.  If no other file is found, however, they will return with "
4027 "I<errno> set to B<EACCES>."
4028 msgstr ""
4029
4030 #. type: Plain text
4031 #: build/C/man3/exec.3:183
4032 msgid ""
4033 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
4034 "with the error B<ENOEXEC>), these functions will execute the shell "
4035 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
4036 "attempt fails, no further searching is done.)"
4037 msgstr ""
4038
4039 #. type: Plain text
4040 #: build/C/man3/exec.3:190
4041 msgid ""
4042 "The B<exec>()  functions return only if an error has occurred.  The return "
4043 "value is -1, and I<errno> is set to indicate the error."
4044 msgstr ""
4045
4046 #. type: Plain text
4047 #: build/C/man3/exec.3:195
4048 msgid ""
4049 "All of these functions may fail and set I<errno> for any of the errors "
4050 "specified for B<execve>(2)."
4051 msgstr ""
4052
4053 #. type: Plain text
4054 #: build/C/man3/exec.3:199
4055 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
4056 msgstr ""
4057
4058 #. type: Plain text
4059 #: build/C/man3/exec.3:201
4060 msgid "POSIX.1-2001, POSIX.1-2008."
4061 msgstr ""
4062
4063 #. type: Plain text
4064 #: build/C/man3/exec.3:205
4065 msgid "The B<execvpe>()  function is a GNU extension."
4066 msgstr ""
4067
4068 #. type: Plain text
4069 #: build/C/man3/exec.3:215
4070 msgid ""
4071 "On some other systems, the default path (used when the environment does not "
4072 "contain the variable B<PATH>) has the current working directory listed after "
4073 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
4074 "the traditional \"current directory first\" default path."
4075 msgstr ""
4076
4077 #. type: Plain text
4078 #: build/C/man3/exec.3:229
4079 msgid ""
4080 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
4081 "attempting to execute the file is historic practice, but has not "
4082 "traditionally been documented and is not specified by the POSIX standard.  "
4083 "BSD (and possibly other systems) do an automatic sleep and retry if "
4084 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
4085 "immediately."
4086 msgstr ""
4087
4088 #. type: Plain text
4089 #: build/C/man3/exec.3:241
4090 msgid ""
4091 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
4092 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
4093 "which they returned.  They now return if any error other than the ones "
4094 "described above occurs."
4095 msgstr ""
4096
4097 #. type: Plain text
4098 #: build/C/man3/exec.3:248
4099 msgid ""
4100 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
4101 "B<environ>(7)"
4102 msgstr ""
4103
4104 #. type: TH
4105 #: build/C/man2/execve.2:37
4106 #, no-wrap
4107 msgid "EXECVE"
4108 msgstr ""
4109
4110 #. type: TH
4111 #: build/C/man2/execve.2:37
4112 #, no-wrap
4113 msgid "2014-01-08"
4114 msgstr ""
4115
4116 #. type: Plain text
4117 #: build/C/man2/execve.2:40
4118 msgid "execve - execute program"
4119 msgstr ""
4120
4121 #. type: Plain text
4122 #: build/C/man2/execve.2:44
4123 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
4124 msgstr ""
4125
4126 #. type: Plain text
4127 #: build/C/man2/execve.2:51
4128 msgid ""
4129 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
4130 "must be either a binary executable, or a script starting with a line of the "
4131 "form:"
4132 msgstr ""
4133
4134 #. type: Plain text
4135 #: build/C/man2/execve.2:55 build/C/man2/execve.2:267
4136 #, no-wrap
4137 msgid "B<#!> I<interpreter >[optional-arg]\n"
4138 msgstr ""
4139
4140 #. type: Plain text
4141 #: build/C/man2/execve.2:59
4142 msgid "For details of the latter case, see \"Interpreter scripts\" below."
4143 msgstr ""
4144
4145 #. type: Plain text
4146 #: build/C/man2/execve.2:68
4147 msgid ""
4148 "I<argv> is an array of argument strings passed to the new program.  By "
4149 "convention, the first of these strings should contain the filename "
4150 "associated with the file being executed.  I<envp> is an array of strings, "
4151 "conventionally of the form B<key=value>, which are passed as environment to "
4152 "the new program.  Both I<argv> and I<envp> must be terminated by a null "
4153 "pointer.  The argument vector and environment can be accessed by the called "
4154 "program's main function, when it is defined as:"
4155 msgstr ""
4156
4157 #. type: Plain text
4158 #: build/C/man2/execve.2:72
4159 #, no-wrap
4160 msgid "int main(int argc, char *argv[], char *envp[])\n"
4161 msgstr ""
4162
4163 #. type: Plain text
4164 #: build/C/man2/execve.2:79
4165 msgid ""
4166 "B<execve>()  does not return on success, and the text, data, bss, and stack "
4167 "of the calling process are overwritten by that of the program loaded."
4168 msgstr ""
4169
4170 #. type: Plain text
4171 #: build/C/man2/execve.2:83
4172 msgid ""
4173 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
4174 "successful B<execve>()."
4175 msgstr ""
4176
4177 #. type: Plain text
4178 #: build/C/man2/execve.2:98
4179 msgid ""
4180 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
4181 "and the underlying filesystem is not mounted I<nosuid> (the B<MS_NOSUID> "
4182 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
4183 "the effective user ID of the calling process is changed to that of the owner "
4184 "of the program file.  Similarly, when the set-group-ID bit of the program "
4185 "file is set the effective group ID of the calling process is set to the "
4186 "group of the program file."
4187 msgstr ""
4188
4189 #. type: Plain text
4190 #: build/C/man2/execve.2:103
4191 msgid ""
4192 "The effective user ID of the process is copied to the saved set-user-ID; "
4193 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
4194 "copying takes place after any effective ID changes that occur because of the "
4195 "set-user-ID and set-group-ID permission bits."
4196 msgstr ""
4197
4198 #. type: Plain text
4199 #: build/C/man2/execve.2:111
4200 msgid ""
4201 "If the executable is an a.out dynamically linked binary executable "
4202 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
4203 "called at the start of execution to bring needed shared libraries into "
4204 "memory and link the executable with them."
4205 msgstr ""
4206
4207 #. type: Plain text
4208 #: build/C/man2/execve.2:120
4209 msgid ""
4210 "If the executable is a dynamically linked ELF executable, the interpreter "
4211 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
4212 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
4213 "glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
4214 "typically I</lib/ld-linux.so.1>.)"
4215 msgstr ""
4216
4217 #. type: Plain text
4218 #: build/C/man2/execve.2:124
4219 msgid ""
4220 "All process attributes are preserved during an B<execve>(), except the "
4221 "following:"
4222 msgstr ""
4223
4224 #. type: Plain text
4225 #: build/C/man2/execve.2:128
4226 msgid ""
4227 "The dispositions of any signals that are being caught are reset to the "
4228 "default (B<signal>(7))."
4229 msgstr ""
4230
4231 #. type: Plain text
4232 #: build/C/man2/execve.2:131
4233 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
4234 msgstr ""
4235
4236 #. type: Plain text
4237 #: build/C/man2/execve.2:134
4238 msgid "Memory mappings are not preserved (B<mmap>(2))."
4239 msgstr ""
4240
4241 #. type: Plain text
4242 #: build/C/man2/execve.2:137
4243 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
4244 msgstr ""
4245
4246 #. type: Plain text
4247 #: build/C/man2/execve.2:140
4248 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
4249 msgstr ""
4250
4251 #. type: Plain text
4252 #: build/C/man2/execve.2:143
4253 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
4254 msgstr ""
4255
4256 #. type: Plain text
4257 #: build/C/man2/execve.2:146
4258 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
4259 msgstr ""
4260
4261 #. type: Plain text
4262 #: build/C/man2/execve.2:149
4263 msgid "POSIX timers are not preserved (B<timer_create>(2))."
4264 msgstr ""
4265
4266 #. type: Plain text
4267 #: build/C/man2/execve.2:152
4268 msgid "Any open directory streams are closed (B<opendir>(3))."
4269 msgstr ""
4270
4271 #. type: Plain text
4272 #: build/C/man2/execve.2:156
4273 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
4274 msgstr ""
4275
4276 #. type: Plain text
4277 #: build/C/man2/execve.2:160
4278 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
4279 msgstr ""
4280
4281 #. type: Plain text
4282 #: build/C/man2/execve.2:163
4283 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
4284 msgstr ""
4285
4286 #. type: Plain text
4287 #: build/C/man2/execve.2:169
4288 msgid ""
4289 "The process attributes in the preceding list are all specified in "
4290 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
4291 "preserved during an B<execve>():"
4292 msgstr ""
4293
4294 #. type: Plain text
4295 #: build/C/man2/execve.2:176
4296 msgid ""
4297 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
4298 "set-group ID program is being executed, in which case it is cleared."
4299 msgstr ""
4300
4301 #. type: Plain text
4302 #: build/C/man2/execve.2:181
4303 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
4304 msgstr ""
4305
4306 #. type: Plain text
4307 #: build/C/man2/execve.2:188
4308 msgid ""
4309 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
4310 "being executed, then the parent death signal set by B<prctl>(2)  "
4311 "B<PR_SET_PDEATHSIG> flag is cleared."
4312 msgstr ""
4313
4314 #. type: Plain text
4315 #: build/C/man2/execve.2:195
4316 msgid ""
4317 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
4318 "I<ps\\ -o comm>), is reset to the name of the new executable file."
4319 msgstr ""
4320
4321 #. type: Plain text
4322 #: build/C/man2/execve.2:202
4323 msgid ""
4324 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
4325 "B<capabilities>(7)."
4326 msgstr ""
4327
4328 #. type: Plain text
4329 #: build/C/man2/execve.2:207
4330 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
4331 msgstr ""
4332
4333 #. type: Plain text
4334 #: build/C/man2/execve.2:209 build/C/man2/fork.2:133
4335 msgid "Note the following further points:"
4336 msgstr ""
4337
4338 #. type: Plain text
4339 #: build/C/man2/execve.2:213
4340 msgid ""
4341 "All threads other than the calling thread are destroyed during an "
4342 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
4343 "not preserved."
4344 msgstr ""
4345
4346 #. type: Plain text
4347 #: build/C/man2/execve.2:216
4348 msgid ""
4349 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
4350 "start-up."
4351 msgstr ""
4352
4353 #. type: Plain text
4354 #: build/C/man2/execve.2:224
4355 msgid ""
4356 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
4357 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
4358 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
4359 "the disposition unchanged or reset it to the default; Linux does the former."
4360 msgstr ""
4361
4362 #. type: Plain text
4363 #: build/C/man2/execve.2:228
4364 msgid ""
4365 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
4366 "B<aio_write>(3))."
4367 msgstr ""
4368
4369 #. type: Plain text
4370 #: build/C/man2/execve.2:233
4371 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
4372 msgstr ""
4373
4374 #.  On Linux it appears that these file descriptors are
4375 #.  always open after an execve(), and it looks like
4376 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
4377 #. type: Plain text
4378 #: build/C/man2/execve.2:260
4379 msgid ""
4380 "By default, file descriptors remain open across an B<execve>().  File "
4381 "descriptors that are marked close-on-exec are closed; see the description of "
4382 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
4383 "cause the release of all record locks obtained on the underlying file by "
4384 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
4385 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
4386 "B<execve>(), and the process would gain privilege because the set-user_ID or "
4387 "set-group_ID permission bit was set on the executed file, then the system "
4388 "may open an unspecified file for each of these file descriptors.  As a "
4389 "general principle, no portable program, whether privileged or not, can "
4390 "assume that these three file descriptors will remain closed across an "
4391 "B<execve>()."
4392 msgstr ""
4393
4394 #. type: SS
4395 #: build/C/man2/execve.2:260
4396 #, no-wrap
4397 msgid "Interpreter scripts"
4398 msgstr ""
4399
4400 #. type: Plain text
4401 #: build/C/man2/execve.2:263
4402 msgid ""
4403 "An interpreter script is a text file that has execute permission enabled and "
4404 "whose first line is of the form:"
4405 msgstr ""
4406
4407 #. type: Plain text
4408 #: build/C/man2/execve.2:281
4409 msgid ""
4410 "The I<interpreter> must be a valid pathname for an executable which is not "
4411 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
4412 "interpreter script, then I<interpreter> will be invoked with the following "
4413 "arguments:"
4414 msgstr ""
4415
4416 #. type: Plain text
4417 #: build/C/man2/execve.2:285
4418 #, no-wrap
4419 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
4420 msgstr ""
4421
4422 #. type: Plain text
4423 #: build/C/man2/execve.2:296
4424 msgid ""
4425 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
4426 "B<execve>(), starting at I<argv>[1]."
4427 msgstr ""
4428
4429 #. type: Plain text
4430 #: build/C/man2/execve.2:301
4431 msgid ""
4432 "For portable use, I<optional-arg> should either be absent, or be specified "
4433 "as a single word (i.e., it should not contain white space); see NOTES below."
4434 msgstr ""
4435
4436 #. type: SS
4437 #: build/C/man2/execve.2:301
4438 #, no-wrap
4439 msgid "Limits on size of arguments and environment"
4440 msgstr ""
4441
4442 #. type: Plain text
4443 #: build/C/man2/execve.2:314
4444 msgid ""
4445 "Most UNIX implementations impose some limit on the total size of the "
4446 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
4447 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
4448 "this limit using the B<ARG_MAX> constant (either defined in "
4449 "I<E<lt>limits.hE<gt>> or available at run time using the call "
4450 "I<sysconf(_SC_ARG_MAX)>)."
4451 msgstr ""
4452
4453 #. type: Plain text
4454 #: build/C/man2/execve.2:321
4455 msgid ""
4456 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
4457 "and argument strings was limited to 32 pages (defined by the kernel constant "
4458 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
4459 "maximum size of 128 kB."
4460 msgstr ""
4461
4462 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
4463 #.  2.6.25, see:
4464 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
4465 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
4466 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
4467 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
4468 #.  Ollie: That doesn't include the lists of pointers, though,
4469 #.  so the actual usage is a bit higher (1 pointer per argument).
4470 #. type: Plain text
4471 #: build/C/man2/execve.2:357
4472 msgid ""
4473 "On kernel 2.6.23 and later, most architectures support a size limit derived "
4474 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
4475 "in force at the time of the B<execve>()  call.  (Architectures with no "
4476 "memory management unit are excepted: they maintain the limit that was in "
4477 "effect before kernel 2.6.23.)  This change allows programs to have a much "
4478 "larger argument and/or environment list.  For these architectures, the total "
4479 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
4480 "ensures that the new program always has some stack space.)  Since Linux "
4481 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
4482 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
4483 "have at least as much argument and environment space as was provided by "
4484 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
4485 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
4486 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
4487 "0x7FFFFFFF."
4488 msgstr ""
4489
4490 #. type: Plain text
4491 #: build/C/man2/execve.2:363
4492 msgid ""
4493 "On success, B<execve>()  does not return, on error -1 is returned, and "
4494 "I<errno> is set appropriately."
4495 msgstr ""
4496
4497 #. type: TP
4498 #: build/C/man2/execve.2:364
4499 #, no-wrap
4500 msgid "B<E2BIG>"
4501 msgstr ""
4502
4503 #. type: Plain text
4504 #: build/C/man2/execve.2:371
4505 msgid ""
4506 "The total number of bytes in the environment (I<envp>)  and argument list "
4507 "(I<argv>)  is too large."
4508 msgstr ""
4509
4510 #. type: Plain text
4511 #: build/C/man2/execve.2:378
4512 msgid ""
4513 "Search permission is denied on a component of the path prefix of I<filename> "
4514 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4515 msgstr ""
4516
4517 #. type: Plain text
4518 #: build/C/man2/execve.2:381
4519 msgid "The file or a script interpreter is not a regular file."
4520 msgstr ""
4521
4522 #. type: Plain text
4523 #: build/C/man2/execve.2:384
4524 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4525 msgstr ""
4526
4527 #. type: Plain text
4528 #: build/C/man2/execve.2:388
4529 msgid "The filesystem is mounted I<noexec>."
4530 msgstr ""
4531
4532 #. type: Plain text
4533 #: build/C/man2/execve.2:396
4534 msgid ""
4535 "I<filename> or one of the pointers in the vectors I<argv> or I<envp> points "
4536 "outside your accessible address space."
4537 msgstr ""
4538
4539 #. type: Plain text
4540 #: build/C/man2/execve.2:400
4541 msgid ""
4542 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4543 "more than one interpreter)."
4544 msgstr ""
4545
4546 #. type: TP
4547 #: build/C/man2/execve.2:403 build/C/man2/truncate.2:148
4548 #, no-wrap
4549 msgid "B<EISDIR>"
4550 msgstr ""
4551
4552 #. type: Plain text
4553 #: build/C/man2/execve.2:406
4554 msgid "An ELF interpreter was a directory."
4555 msgstr ""
4556
4557 #. type: TP
4558 #: build/C/man2/execve.2:406
4559 #, no-wrap
4560 msgid "B<ELIBBAD>"
4561 msgstr ""
4562
4563 #. type: Plain text
4564 #: build/C/man2/execve.2:409
4565 msgid "An ELF interpreter was not in a recognized format."
4566 msgstr ""
4567
4568 #. type: Plain text
4569 #: build/C/man2/execve.2:414
4570 msgid ""
4571 "Too many symbolic links were encountered in resolving I<filename> or the "
4572 "name of a script or ELF interpreter."
4573 msgstr ""
4574
4575 #. type: Plain text
4576 #: build/C/man2/execve.2:417
4577 msgid "The process has the maximum number of files open."
4578 msgstr ""
4579
4580 #. type: Plain text
4581 #: build/C/man2/execve.2:421
4582 msgid "I<filename> is too long."
4583 msgstr ""
4584
4585 #. type: TP
4586 #: build/C/man2/execve.2:421 build/C/man3/getlogin.3:108 build/C/man2/swapon.2:141 build/C/man2/uselib.2:67
4587 #, no-wrap
4588 msgid "B<ENFILE>"
4589 msgstr ""
4590
4591 #. type: Plain text
4592 #: build/C/man2/execve.2:424 build/C/man2/swapon.2:144 build/C/man2/uselib.2:70
4593 msgid "The system limit on the total number of open files has been reached."
4594 msgstr ""
4595
4596 #. type: Plain text
4597 #: build/C/man2/execve.2:430
4598 msgid ""
4599 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4600 "shared library needed for file or interpreter cannot be found."
4601 msgstr ""
4602
4603 #. type: TP
4604 #: build/C/man2/execve.2:430 build/C/man2/uselib.2:70
4605 #, no-wrap
4606 msgid "B<ENOEXEC>"
4607 msgstr ""
4608
4609 #. type: Plain text
4610 #: build/C/man2/execve.2:435
4611 msgid ""
4612 "An executable is not in a recognized format, is for the wrong architecture, "
4613 "or has some other format error that means it cannot be executed."
4614 msgstr ""
4615
4616 #. type: Plain text
4617 #: build/C/man2/execve.2:443
4618 msgid ""
4619 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4620 "is not a directory."
4621 msgstr ""
4622
4623 #. type: Plain text
4624 #: build/C/man2/execve.2:449
4625 msgid ""
4626 "The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
4627 "file has the set-user-ID or set-group-ID bit set."
4628 msgstr ""
4629
4630 #. type: Plain text
4631 #: build/C/man2/execve.2:453
4632 msgid ""
4633 "The process is being traced, the user is not the superuser and the file has "
4634 "the set-user-ID or set-group-ID bit set."
4635 msgstr ""
4636
4637 #. type: Plain text
4638 #: build/C/man2/execve.2:456
4639 msgid "Executable was open for writing by one or more processes."
4640 msgstr ""
4641
4642 #.  SVr4 documents additional error
4643 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4644 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4645 #.  EISDIR or ELIBBAD error conditions.
4646 #. type: Plain text
4647 #: build/C/man2/execve.2:464
4648 msgid ""
4649 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4650 "but is otherwise compatible."
4651 msgstr ""
4652
4653 #. type: Plain text
4654 #: build/C/man2/execve.2:467
4655 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4656 msgstr ""
4657
4658 #. type: Plain text
4659 #: build/C/man2/execve.2:469
4660 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4661 msgstr ""
4662
4663 #. type: Plain text
4664 #: build/C/man2/execve.2:480
4665 msgid ""
4666 "The result of mounting a filesystem I<nosuid> varies across Linux kernel "
4667 "versions: some will refuse execution of set-user-ID and set-group-ID "
4668 "executables when this would give the user powers she did not have already "
4669 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4670 "set-group-ID bits and B<exec>()  successfully."
4671 msgstr ""
4672
4673 #. type: Plain text
4674 #: build/C/man2/execve.2:483
4675 msgid ""
4676 "A maximum line length of 127 characters is allowed for the first line in a "
4677 "#! executable shell script."
4678 msgstr ""
4679
4680 #.  e.g., Solaris 8
4681 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4682 #. type: Plain text
4683 #: build/C/man2/execve.2:502
4684 msgid ""
4685 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4686 "across implementations.  On Linux, the entire string following the "
4687 "I<interpreter> name is passed as a single argument to the interpreter, and "
4688 "this string can include white space.  However, behavior differs on some "
4689 "other systems.  Some systems use the first white space to terminate "
4690 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4691 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4692 "arguments."
4693 msgstr ""
4694
4695 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4696 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4697 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4698 #.  Bug rejected (because fix would constitute an ABI change).
4699 #. type: Plain text
4700 #: build/C/man2/execve.2:519
4701 msgid ""
4702 "On Linux, either I<argv> or I<envp> can be specified as NULL, which has the "
4703 "same effect as specifying these arguments as a pointer to a list containing "
4704 "a single null pointer.  B<Do not take advantage of this misfeature!> It is "
4705 "nonstandard and nonportable: on most other UNIX systems doing this will "
4706 "result in an error (B<EFAULT>)."
4707 msgstr ""
4708
4709 #
4710 #.  .SH BUGS
4711 #.  Some Linux versions have failed to check permissions on ELF
4712 #.  interpreters.  This is a security hole, because it allows users to
4713 #.  open any file, such as a rewinding tape device, for reading.  Some
4714 #.  Linux versions have also had other security holes in
4715 #.  .BR execve ()
4716 #.  that could be exploited for denial of service by a suitably crafted
4717 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4718 #. type: Plain text
4719 #: build/C/man2/execve.2:539
4720 msgid ""
4721 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4722 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4723 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4724 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4725 "for holding command-line arguments and environment variables has changed."
4726 msgstr ""
4727
4728 #. type: SS
4729 #: build/C/man2/execve.2:539
4730 #, no-wrap
4731 msgid "Historical"
4732 msgstr ""
4733
4734 #. type: Plain text
4735 #: build/C/man2/execve.2:550
4736 msgid ""
4737 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4738 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4739 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4740 "NULL."
4741 msgstr ""
4742
4743 #. type: Plain text
4744 #: build/C/man2/execve.2:553
4745 msgid ""
4746 "The following program is designed to be execed by the second program below.  "
4747 "It just echoes its command-line one per line."
4748 msgstr ""
4749
4750 #. type: Plain text
4751 #: build/C/man2/execve.2:557
4752 #, no-wrap
4753 msgid "/* myecho.c */\n"
4754 msgstr ""
4755
4756 #. type: Plain text
4757 #: build/C/man2/execve.2:560
4758 #, no-wrap
4759 msgid ""
4760 "#include E<lt>stdio.hE<gt>\n"
4761 "#include E<lt>stdlib.hE<gt>\n"
4762 msgstr ""
4763
4764 #. type: Plain text
4765 #: build/C/man2/execve.2:565
4766 #, no-wrap
4767 msgid ""
4768 "int\n"
4769 "main(int argc, char *argv[])\n"
4770 "{\n"
4771 "    int j;\n"
4772 msgstr ""
4773
4774 #. type: Plain text
4775 #: build/C/man2/execve.2:568
4776 #, no-wrap
4777 msgid ""
4778 "    for (j = 0; j E<lt> argc; j++)\n"
4779 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4780 msgstr ""
4781
4782 #. type: Plain text
4783 #: build/C/man2/execve.2:576
4784 msgid ""
4785 "This program can be used to exec the program named in its command-line "
4786 "argument:"
4787 msgstr ""
4788
4789 #. type: Plain text
4790 #: build/C/man2/execve.2:580
4791 #, no-wrap
4792 msgid "/* execve.c */\n"
4793 msgstr ""
4794
4795 #. type: Plain text
4796 #: build/C/man2/execve.2:584
4797 #, no-wrap
4798 msgid ""
4799 "#include E<lt>stdio.hE<gt>\n"
4800 "#include E<lt>stdlib.hE<gt>\n"
4801 "#include E<lt>unistd.hE<gt>\n"
4802 msgstr ""
4803
4804 #. type: Plain text
4805 #: build/C/man2/execve.2:590
4806 #, no-wrap
4807 msgid ""
4808 "int\n"
4809 "main(int argc, char *argv[])\n"
4810 "{\n"
4811 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4812 "    char *newenviron[] = { NULL };\n"
4813 msgstr ""
4814
4815 #. type: Plain text
4816 #: build/C/man2/execve.2:595
4817 #, no-wrap
4818 msgid ""
4819 "    if (argc != 2) {\n"
4820 "        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", "
4821 "argv[0]);\n"
4822 "        exit(EXIT_FAILURE);\n"
4823 "    }\n"
4824 msgstr ""
4825
4826 #. type: Plain text
4827 #: build/C/man2/execve.2:597
4828 #, no-wrap
4829 msgid "    newargv[0] = argv[1];\n"
4830 msgstr ""
4831
4832 #. type: Plain text
4833 #: build/C/man2/execve.2:602
4834 #, no-wrap
4835 msgid ""
4836 "    execve(argv[1], newargv, newenviron);\n"
4837 "    perror(\"execve\");   /* execve() only returns on error */\n"
4838 "    exit(EXIT_FAILURE);\n"
4839 "}\n"
4840 msgstr ""
4841
4842 #. type: Plain text
4843 #: build/C/man2/execve.2:606
4844 msgid "We can use the second program to exec the first as follows:"
4845 msgstr ""
4846
4847 #. type: Plain text
4848 #: build/C/man2/execve.2:615
4849 #, no-wrap
4850 msgid ""
4851 "$B< cc myecho.c -o myecho>\n"
4852 "$B< cc execve.c -o execve>\n"
4853 "$B< ./execve ./myecho>\n"
4854 "argv[0]: ./myecho\n"
4855 "argv[1]: hello\n"
4856 "argv[2]: world\n"
4857 msgstr ""
4858
4859 #. type: Plain text
4860 #: build/C/man2/execve.2:623
4861 msgid ""
4862 "We can also use these programs to demonstrate the use of a script "
4863 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4864 "I<myecho> program:"
4865 msgstr ""
4866
4867 #. type: Plain text
4868 #: build/C/man2/execve.2:630
4869 #, no-wrap
4870 msgid ""
4871 "$B< cat E<gt> script.sh>\n"
4872 "B<#! ./myecho script-arg>\n"
4873 "B<^D>\n"
4874 "$B< chmod +x script.sh>\n"
4875 msgstr ""
4876
4877 #. type: Plain text
4878 #: build/C/man2/execve.2:634
4879 msgid "We can then use our program to exec the script:"
4880 msgstr ""
4881
4882 #. type: Plain text
4883 #: build/C/man2/execve.2:643
4884 #, no-wrap
4885 msgid ""
4886 "$B< ./execve ./script.sh>\n"
4887 "argv[0]: ./myecho\n"
4888 "argv[1]: script-arg\n"
4889 "argv[2]: ./script.sh\n"
4890 "argv[3]: hello\n"
4891 "argv[4]: world\n"
4892 msgstr ""
4893
4894 #. type: Plain text
4895 #: build/C/man2/execve.2:656
4896 msgid ""
4897 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4898 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4899 "B<ld.so>(8)"
4900 msgstr ""
4901
4902 #. type: TH
4903 #: build/C/man2/exit_group.2:25
4904 #, no-wrap
4905 msgid "EXIT_GROUP"
4906 msgstr ""
4907
4908 #. type: TH
4909 #: build/C/man2/exit_group.2:25
4910 #, no-wrap
4911 msgid "2008-11-27"
4912 msgstr ""
4913
4914 #. type: Plain text
4915 #: build/C/man2/exit_group.2:28
4916 msgid "exit_group - exit all threads in a process"
4917 msgstr ""
4918
4919 #. type: Plain text
4920 #: build/C/man2/exit_group.2:31
4921 #, no-wrap
4922 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4923 msgstr ""
4924
4925 #. type: Plain text
4926 #: build/C/man2/exit_group.2:33
4927 #, no-wrap
4928 msgid "B<void exit_group(int >I<status>B<);>\n"
4929 msgstr ""
4930
4931 #. type: Plain text
4932 #: build/C/man2/exit_group.2:39
4933 msgid ""
4934 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4935 "only the calling thread, but all threads in the calling process's thread "
4936 "group."
4937 msgstr ""
4938
4939 #. type: Plain text
4940 #: build/C/man2/exit_group.2:41
4941 msgid "This system call does not return."
4942 msgstr ""
4943
4944 #. type: Plain text
4945 #: build/C/man2/exit_group.2:43
4946 msgid "This call is present since Linux 2.5.35."
4947 msgstr ""
4948
4949 #. type: Plain text
4950 #: build/C/man2/exit_group.2:45
4951 msgid "This call is Linux-specific."
4952 msgstr ""
4953
4954 #. type: Plain text
4955 #: build/C/man2/exit_group.2:49
4956 msgid ""
4957 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4958 "wrapper function is called."
4959 msgstr ""
4960
4961 #. type: Plain text
4962 #: build/C/man2/exit_group.2:51
4963 msgid "B<exit>(2)"
4964 msgstr ""
4965
4966 #. type: TH
4967 #: build/C/man2/fcntl.2:61
4968 #, no-wrap
4969 msgid "FCNTL"
4970 msgstr ""
4971
4972 #. type: TH
4973 #: build/C/man2/fcntl.2:61
4974 #, no-wrap
4975 msgid "2014-02-20"
4976 msgstr ""
4977
4978 #. type: Plain text
4979 #: build/C/man2/fcntl.2:64
4980 msgid "fcntl - manipulate file descriptor"
4981 msgstr ""
4982
4983 #. type: Plain text
4984 #: build/C/man2/fcntl.2:68
4985 #, no-wrap
4986 msgid ""
4987 "B<#include E<lt>unistd.hE<gt>>\n"
4988 "B<#include E<lt>fcntl.hE<gt>>\n"
4989 msgstr ""
4990
4991 #. type: Plain text
4992 #: build/C/man2/fcntl.2:70
4993 #, no-wrap
4994 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4995 msgstr ""
4996
4997 #. type: Plain text
4998 #: build/C/man2/fcntl.2:77
4999 msgid ""
5000 "B<fcntl>()  performs one of the operations described below on the open file "
5001 "descriptor I<fd>.  The operation is determined by I<cmd>."
5002 msgstr ""
5003
5004 #. type: Plain text
5005 #: build/C/man2/fcntl.2:91
5006 msgid ""
5007 "B<fcntl>()  can take an optional third argument.  Whether or not this "
5008 "argument is required is determined by I<cmd>.  The required argument type is "
5009 "indicated in parentheses after each I<cmd> name (in most cases, the required "
5010 "type is I<int>, and we identify the argument using the name I<arg>), or "
5011 "I<void> is specified if the argument is not required."
5012 msgstr ""
5013
5014 #. type: SS
5015 #: build/C/man2/fcntl.2:91
5016 #, no-wrap
5017 msgid "Duplicating a file descriptor"
5018 msgstr ""
5019
5020 #. type: TP
5021 #: build/C/man2/fcntl.2:92
5022 #, no-wrap
5023 msgid "B<F_DUPFD> (I<int>)"
5024 msgstr ""
5025
5026 #. type: Plain text
5027 #: build/C/man2/fcntl.2:102
5028 msgid ""
5029 "Find the lowest numbered available file descriptor greater than or equal to "
5030 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
5031 "which uses exactly the descriptor specified."
5032 msgstr ""
5033
5034 #. type: Plain text
5035 #: build/C/man2/fcntl.2:104
5036 msgid "On success, the new descriptor is returned."
5037 msgstr ""
5038
5039 #. type: Plain text
5040 #: build/C/man2/fcntl.2:108
5041 msgid "See B<dup>(2)  for further details."
5042 msgstr ""
5043
5044 #. type: TP
5045 #: build/C/man2/fcntl.2:108
5046 #, no-wrap
5047 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
5048 msgstr ""
5049
5050 #. type: Plain text
5051 #: build/C/man2/fcntl.2:125
5052 msgid ""
5053 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
5054 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
5055 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
5056 "For an explanation of why this flag is useful, see the description of "
5057 "B<O_CLOEXEC> in B<open>(2)."
5058 msgstr ""
5059
5060 #. type: SS
5061 #: build/C/man2/fcntl.2:125
5062 #, no-wrap
5063 msgid "File descriptor flags"
5064 msgstr ""
5065
5066 #. type: Plain text
5067 #: build/C/man2/fcntl.2:136
5068 msgid ""
5069 "The following commands manipulate the flags associated with a file "
5070 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
5071 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
5072 "remain open across an B<execve>(2), otherwise it will be closed."
5073 msgstr ""
5074
5075 #. type: TP
5076 #: build/C/man2/fcntl.2:136
5077 #, no-wrap
5078 msgid "B<F_GETFD> (I<void>)"
5079 msgstr ""
5080
5081 #. type: Plain text
5082 #: build/C/man2/fcntl.2:141
5083 msgid "Read the file descriptor flags; I<arg> is ignored."
5084 msgstr ""
5085
5086 #. type: TP
5087 #: build/C/man2/fcntl.2:141
5088 #, no-wrap
5089 msgid "B<F_SETFD> (I<int>)"
5090 msgstr ""
5091
5092 #. type: Plain text
5093 #: build/C/man2/fcntl.2:145
5094 msgid "Set the file descriptor flags to the value specified by I<arg>."
5095 msgstr ""
5096
5097 #. type: SS
5098 #: build/C/man2/fcntl.2:145
5099 #, no-wrap
5100 msgid "File status flags"
5101 msgstr ""
5102
5103 #.  or
5104 #.  .BR creat (2),
5105 #. type: Plain text
5106 #: build/C/man2/fcntl.2:160
5107 msgid ""
5108 "Each open file description has certain associated status flags, initialized "
5109 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
5110 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
5111 "to the same open file description, and thus share the same file status "
5112 "flags."
5113 msgstr ""
5114
5115 #. type: Plain text
5116 #: build/C/man2/fcntl.2:163
5117 msgid "The file status flags and their semantics are described in B<open>(2)."
5118 msgstr ""
5119
5120 #. type: TP
5121 #: build/C/man2/fcntl.2:163
5122 #, no-wrap
5123 msgid "B<F_GETFL> (I<void>)"
5124 msgstr ""
5125
5126 #. type: Plain text
5127 #: build/C/man2/fcntl.2:168
5128 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
5129 msgstr ""
5130
5131 #. type: TP
5132 #: build/C/man2/fcntl.2:168
5133 #, no-wrap
5134 msgid "B<F_SETFL> (I<int>)"
5135 msgstr ""
5136
5137 #. type: Plain text
5138 #: build/C/man2/fcntl.2:193
5139 msgid ""
5140 "Set the file status flags to the value specified by I<arg>.  File access "
5141 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
5142 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
5143 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
5144 "B<O_NOATIME>, and B<O_NONBLOCK> flags.  It is not possible to change the "
5145 "B<O_DSYNC> and B<O_SYNC> flags; see BUGS, below."
5146 msgstr ""
5147
5148 #. type: SS
5149 #: build/C/man2/fcntl.2:193
5150 #, no-wrap
5151 msgid "Advisory locking"
5152 msgstr ""
5153
5154 #. type: Plain text
5155 #: build/C/man2/fcntl.2:204
5156 msgid ""
5157 "B<F_SETLK>, B<F_SETLKW>, and B<F_GETLK> are used to acquire, release, and "
5158 "test for the existence of record locks (also known as file-segment or "
5159 "file-region locks).  The third argument, I<lock>, is a pointer to a "
5160 "structure that has at least the following fields (in unspecified order)."
5161 msgstr ""
5162
5163 #. type: Plain text
5164 #: build/C/man2/fcntl.2:219
5165 #, no-wrap
5166 msgid ""
5167 "struct flock {\n"
5168 "    ...\n"
5169 "    short l_type;    /* Type of lock: F_RDLCK,\n"
5170 "                        F_WRLCK, F_UNLCK */\n"
5171 "    short l_whence;  /* How to interpret l_start:\n"
5172 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
5173 "    off_t l_start;   /* Starting offset for lock */\n"
5174 "    off_t l_len;     /* Number of bytes to lock */\n"
5175 "    pid_t l_pid;     /* PID of process blocking our lock\n"
5176 "                        (F_GETLK only) */\n"
5177 "    ...\n"
5178 "};\n"
5179 msgstr ""
5180
5181 #. type: Plain text
5182 #: build/C/man2/fcntl.2:227
5183 msgid ""
5184 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
5185 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
5186 "locked, but not bytes before the start of the file."
5187 msgstr ""
5188
5189 #. type: Plain text
5190 #: build/C/man2/fcntl.2:247
5191 msgid ""
5192 "I<l_start> is the starting offset for the lock, and is interpreted relative "
5193 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
5194 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
5195 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
5196 "a negative number provided the offset does not lie before the start of the "
5197 "file."
5198 msgstr ""
5199
5200 #. type: Plain text
5201 #: build/C/man2/fcntl.2:262
5202 msgid ""
5203 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
5204 "positive, then the range to be locked covers bytes I<l_start> up to and "
5205 "including I<l_start>+I<l_len>-1.  Specifying 0 for I<l_len> has the special "
5206 "meaning: lock all bytes starting at the location specified by I<l_whence> "
5207 "and I<l_start> through to the end of file, no matter how large the file "
5208 "grows."
5209 msgstr ""
5210
5211 #. type: Plain text
5212 #: build/C/man2/fcntl.2:275
5213 msgid ""
5214 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
5215 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
5216 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
5217 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
5218 msgstr ""
5219
5220 #. type: Plain text
5221 #: build/C/man2/fcntl.2:294
5222 msgid ""
5223 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
5224 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
5225 "(shared lock)  on a file region, but only one process may hold a write lock "
5226 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
5227 "and exclusive.  A single process can hold only one type of lock on a file "
5228 "region; if a new lock is applied to an already-locked region, then the "
5229 "existing lock is converted to the new lock type.  (Such conversions may "
5230 "involve splitting, shrinking, or coalescing with an existing lock if the "
5231 "byte range specified by the new lock does not precisely coincide with the "
5232 "range of the existing lock.)"
5233 msgstr ""
5234
5235 #. type: TP
5236 #: build/C/man2/fcntl.2:294
5237 #, no-wrap
5238 msgid "B<F_SETLK> (I<struct flock *>)"
5239 msgstr ""
5240
5241 #. type: Plain text
5242 #: build/C/man2/fcntl.2:317
5243 msgid ""
5244 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
5245 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
5246 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
5247 "lock is held by another process, this call returns -1 and sets I<errno> to "
5248 "B<EACCES> or B<EAGAIN>."
5249 msgstr ""
5250
5251 #. type: TP
5252 #: build/C/man2/fcntl.2:317
5253 #, no-wrap
5254 msgid "B<F_SETLKW> (I<struct flock *>)"
5255 msgstr ""
5256
5257 #. type: Plain text
5258 #: build/C/man2/fcntl.2:331
5259 msgid ""
5260 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
5261 "for that lock to be released.  If a signal is caught while waiting, then the "
5262 "call is interrupted and (after the signal handler has returned)  returns "
5263 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
5264 "B<signal>(7))."
5265 msgstr ""
5266
5267 #. type: TP
5268 #: build/C/man2/fcntl.2:331
5269 #, no-wrap
5270 msgid "B<F_GETLK> (I<struct flock *>)"
5271 msgstr ""
5272
5273 #. type: Plain text
5274 #: build/C/man2/fcntl.2:358
5275 msgid ""
5276 "On input to this call, I<lock> describes a lock we would like to place on "
5277 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
5278 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
5279 "other fields of the structure unchanged.  If one or more incompatible locks "
5280 "would prevent this lock being placed, then B<fcntl>()  returns details about "
5281 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
5282 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
5283 "that lock.  Note that the information returned by B<F_GETLK> may already be "
5284 "out of date by the time the caller inspects it."
5285 msgstr ""
5286
5287 #. type: Plain text
5288 #: build/C/man2/fcntl.2:366
5289 msgid ""
5290 "In order to place a read lock, I<fd> must be open for reading.  In order to "
5291 "place a write lock, I<fd> must be open for writing.  To place both types of "
5292 "lock, open a file read-write."
5293 msgstr ""
5294
5295 #.  (Additional file descriptors referring to the same file
5296 #.  may have been obtained by calls to
5297 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
5298 #. type: Plain text
5299 #: build/C/man2/fcntl.2:383
5300 msgid ""
5301 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
5302 "automatically released when the process terminates or if it closes I<any> "
5303 "file descriptor referring to a file on which locks are held.  This is bad: "
5304 "it means that a process can lose the locks on a file like I</etc/passwd> or "
5305 "I</etc/mtab> when for some reason a library function decides to open, read "
5306 "and close it."
5307 msgstr ""
5308
5309 #. type: Plain text
5310 #: build/C/man2/fcntl.2:388
5311 msgid ""
5312 "Record locks are not inherited by a child created via B<fork>(2), but are "
5313 "preserved across an B<execve>(2)."
5314 msgstr ""
5315
5316 #. type: Plain text
5317 #: build/C/man2/fcntl.2:397
5318 msgid ""
5319 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
5320 "record locking with routines in that package should be avoided; use "
5321 "B<read>(2)  and B<write>(2)  instead."
5322 msgstr ""
5323
5324 #. type: SS
5325 #: build/C/man2/fcntl.2:397 build/C/man2/fcntl.2:1311
5326 #, no-wrap
5327 msgid "Mandatory locking"
5328 msgstr ""
5329
5330 #. type: Plain text
5331 #: build/C/man2/fcntl.2:401
5332 msgid ""
5333 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
5334 "and are advisory by default."
5335 msgstr ""
5336
5337 #. type: Plain text
5338 #: build/C/man2/fcntl.2:404
5339 msgid ""
5340 "Advisory locks are not enforced and are useful only between cooperating "
5341 "processes."
5342 msgstr ""
5343
5344 #. type: Plain text
5345 #: build/C/man2/fcntl.2:423
5346 msgid ""
5347 "Mandatory locks are enforced for all processes.  If a process tries to "
5348 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
5349 "region that has an incompatible mandatory lock, then the result depends upon "
5350 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
5351 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
5352 "lock is removed or converted to a mode that is compatible with the access.  "
5353 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
5354 "error B<EAGAIN>."
5355 msgstr ""
5356
5357 #. type: Plain text
5358 #: build/C/man2/fcntl.2:440
5359 msgid ""
5360 "To make use of mandatory locks, mandatory locking must be enabled both on "
5361 "the filesystem that contains the file to be locked, and on the file itself.  "
5362 "Mandatory locking is enabled on a filesystem using the \"-o mand\" option to "
5363 "B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  Mandatory locking "
5364 "is enabled on a file by disabling group execute permission on the file and "
5365 "enabling the set-group-ID permission bit (see B<chmod>(1)  and B<chmod>(2))."
5366 msgstr ""
5367
5368 #. type: Plain text
5369 #: build/C/man2/fcntl.2:443
5370 msgid ""
5371 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
5372 "below."
5373 msgstr ""
5374
5375 #. type: SS
5376 #: build/C/man2/fcntl.2:443
5377 #, no-wrap
5378 msgid "Managing signals"
5379 msgstr ""
5380
5381 #. type: Plain text
5382 #: build/C/man2/fcntl.2:452
5383 msgid ""
5384 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
5385 "B<F_SETSIG> are used to manage I/O availability signals:"
5386 msgstr ""
5387
5388 #. type: TP
5389 #: build/C/man2/fcntl.2:452
5390 #, no-wrap
5391 msgid "B<F_GETOWN> (I<void>)"
5392 msgstr ""
5393
5394 #. type: Plain text
5395 #: build/C/man2/fcntl.2:465
5396 msgid ""
5397 "Return (as the function result)  the process ID or process group currently "
5398 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
5399 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
5400 "returned as negative values (but see BUGS below).  I<arg> is ignored."
5401 msgstr ""
5402
5403 #. type: TP
5404 #: build/C/man2/fcntl.2:465
5405 #, no-wrap
5406 msgid "B<F_SETOWN> (I<int>)"
5407 msgstr ""
5408
5409 #. type: Plain text
5410 #: build/C/man2/fcntl.2:482
5411 msgid ""
5412 "Set the process ID or process group ID that will receive B<SIGIO> and "
5413 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
5414 "I<arg>.  A process ID is specified as a positive value; a process group ID "
5415 "is specified as a negative value.  Most commonly, the calling process "
5416 "specifies itself as the owner (that is, I<arg> is specified as "
5417 "B<getpid>(2))."
5418 msgstr ""
5419
5420 #.  From glibc.info:
5421 #. type: Plain text
5422 #: build/C/man2/fcntl.2:499
5423 msgid ""
5424 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
5425 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
5426 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
5427 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
5428 "check fails, then the signal is silently discarded."
5429 msgstr ""
5430
5431 #. type: Plain text
5432 #: build/C/man2/fcntl.2:507
5433 msgid ""
5434 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
5435 "subject to the same permissions checks as are described for B<kill>(2), "
5436 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
5437 "below)."
5438 msgstr ""
5439
5440 #.  The following appears to be rubbish.  It doesn't seem to
5441 #.  be true according to the kernel source, and I can write
5442 #.  a program that gets a terminal-generated SIGIO even though
5443 #.  it is not the foreground process group of the terminal.
5444 #.  -- MTK, 8 Apr 05
5445 #
5446 #.  If the file descriptor
5447 #.  .I fd
5448 #.  refers to a terminal device, then SIGIO
5449 #.  signals are sent to the foreground process group of the terminal.
5450 #. type: Plain text
5451 #: build/C/man2/fcntl.2:531
5452 msgid ""
5453 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
5454 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
5455 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
5456 "B<select>(2)  would report the socket as having an \"exceptional "
5457 "condition\".)"
5458 msgstr ""
5459
5460 #. type: Plain text
5461 #: build/C/man2/fcntl.2:534
5462 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
5463 msgstr ""
5464
5465 #.  The relevant place in the (2.6) kernel source is the
5466 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
5467 #.  send_sigurg()/send_sigurg_to_task() bypasses
5468 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
5469 #.  to directly call send_group_sig_info()
5470 #.      -- MTK, Apr 2005 (kernel 2.6.11)
5471 #. type: Plain text
5472 #: build/C/man2/fcntl.2:574
5473 msgid ""
5474 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
5475 "running with a threading library that supports thread groups (e.g., NPTL), "
5476 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
5477 "of being a process ID identifying a whole process, it is a thread ID "
5478 "identifying a specific thread within a process.  Consequently, it may be "
5479 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
5480 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
5481 "Linux threading implementations, a main thread's thread ID is the same as "
5482 "its process ID.  This means that a single-threaded program can equally use "
5483 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
5484 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
5485 "for out-of-band data on a socket: this signal is always sent to either a "
5486 "process or a process group, depending on the value given to B<F_SETOWN>."
5487 msgstr ""
5488
5489 #. type: Plain text
5490 #: build/C/man2/fcntl.2:585
5491 msgid ""
5492 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
5493 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5494 "and B<SIGURG> signals at a particular thread."
5495 msgstr ""
5496
5497 #. type: TP
5498 #: build/C/man2/fcntl.2:585
5499 #, no-wrap
5500 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5501 msgstr ""
5502
5503 #. type: Plain text
5504 #: build/C/man2/fcntl.2:594
5505 msgid ""
5506 "Return the current file descriptor owner settings as defined by a previous "
5507 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5508 "pointed to by I<arg>, which has the following form:"
5509 msgstr ""
5510
5511 #. type: Plain text
5512 #: build/C/man2/fcntl.2:601
5513 #, no-wrap
5514 msgid ""
5515 "struct f_owner_ex {\n"
5516 "    int   type;\n"
5517 "    pid_t pid;\n"
5518 "};\n"
5519 msgstr ""
5520
5521 #. type: Plain text
5522 #: build/C/man2/fcntl.2:618
5523 msgid ""
5524 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5525 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5526 "representing a thread ID, process ID, or process group ID.  See "
5527 "B<F_SETOWN_EX> for more details."
5528 msgstr ""
5529
5530 #. type: TP
5531 #: build/C/man2/fcntl.2:618
5532 #, no-wrap
5533 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5534 msgstr ""
5535
5536 #. type: Plain text
5537 #: build/C/man2/fcntl.2:634
5538 msgid ""
5539 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5540 "to direct I/O availability signals to a specific thread, process, or process "
5541 "group.  The caller specifies the target of signals via I<arg>, which is a "
5542 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5543 "following values, which define how I<pid> is interpreted:"
5544 msgstr ""
5545
5546 #. type: TP
5547 #: build/C/man2/fcntl.2:635
5548 #, no-wrap
5549 msgid "B<F_OWNER_TID>"
5550 msgstr ""
5551
5552 #. type: Plain text
5553 #: build/C/man2/fcntl.2:644
5554 msgid ""
5555 "Send the signal to the thread whose thread ID (the value returned by a call "
5556 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5557 msgstr ""
5558
5559 #. type: TP
5560 #: build/C/man2/fcntl.2:644
5561 #, no-wrap
5562 msgid "B<F_OWNER_PID>"
5563 msgstr ""
5564
5565 #. type: Plain text
5566 #: build/C/man2/fcntl.2:649
5567 msgid "Send the signal to the process whose ID is specified in I<pid>."
5568 msgstr ""
5569
5570 #. type: TP
5571 #: build/C/man2/fcntl.2:649
5572 #, no-wrap
5573 msgid "B<F_OWNER_PGRP>"
5574 msgstr ""
5575
5576 #. type: Plain text
5577 #: build/C/man2/fcntl.2:657
5578 msgid ""
5579 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5580 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5581 "value here.)"
5582 msgstr ""
5583
5584 #. type: TP
5585 #: build/C/man2/fcntl.2:658
5586 #, no-wrap
5587 msgid "B<F_GETSIG> (I<void>)"
5588 msgstr ""
5589
5590 #. type: Plain text
5591 #: build/C/man2/fcntl.2:673
5592 msgid ""
5593 "Return (as the function result)  the signal sent when input or output "
5594 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5595 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5596 "additional info is available to the signal handler if installed with "
5597 "B<SA_SIGINFO>.  I<arg> is ignored."
5598 msgstr ""
5599
5600 #. type: TP
5601 #: build/C/man2/fcntl.2:673
5602 #, no-wrap
5603 msgid "B<F_SETSIG> (I<int>)"
5604 msgstr ""
5605
5606 #
5607 #.  The following was true only up until 2.6.11:
5608 #
5609 #.  Additionally, passing a nonzero value to
5610 #.  .B F_SETSIG
5611 #.  changes the signal recipient from a whole process to a specific thread
5612 #.  within a process.
5613 #.  See the description of
5614 #.  .B F_SETOWN
5615 #.  for more details.
5616 #. type: Plain text
5617 #: build/C/man2/fcntl.2:696
5618 msgid ""
5619 "Set the signal sent when input or output becomes possible to the value given "
5620 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5621 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5622 "case additional info is available to the signal handler if installed with "
5623 "B<SA_SIGINFO>."
5624 msgstr ""
5625
5626 #. type: Plain text
5627 #: build/C/man2/fcntl.2:724
5628 msgid ""
5629 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5630 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5631 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5632 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5633 "descriptor associated with the event.  Otherwise, there is no indication "
5634 "which file descriptors are pending, and you should use the usual mechanisms "
5635 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5636 "determine which file descriptors are available for I/O."
5637 msgstr ""
5638
5639 #. type: Plain text
5640 #: build/C/man2/fcntl.2:733
5641 msgid ""
5642 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5643 "events may be queued using the same signal numbers.  (Queuing is dependent "
5644 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5645 "set for the signal handler, as above."
5646 msgstr ""
5647
5648 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5649 #. type: Plain text
5650 #: build/C/man2/fcntl.2:746
5651 msgid ""
5652 "Note that Linux imposes a limit on the number of real-time signals that may "
5653 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5654 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5655 "signal is delivered to the entire process rather than to a specific thread."
5656 msgstr ""
5657
5658 #. type: Plain text
5659 #: build/C/man2/fcntl.2:753
5660 msgid ""
5661 "Using these mechanisms, a program can implement fully asynchronous I/O "
5662 "without using B<select>(2)  or B<poll>(2)  most of the time."
5663 msgstr ""
5664
5665 #. type: Plain text
5666 #: build/C/man2/fcntl.2:777
5667 msgid ""
5668 "The use of B<O_ASYNC> is specific to BSD and Linux.  The only use of "
5669 "B<F_GETOWN> and B<F_SETOWN> specified in POSIX.1 is in conjunction with the "
5670 "use of the B<SIGURG> signal on sockets.  (POSIX does not specify the "
5671 "B<SIGIO> signal.)  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and "
5672 "B<F_SETSIG> are Linux-specific.  POSIX has asynchronous I/O and the "
5673 "I<aio_sigevent> structure to achieve similar things; these are also "
5674 "available in Linux as part of the GNU C Library (Glibc)."
5675 msgstr ""
5676
5677 #. type: SS
5678 #: build/C/man2/fcntl.2:777
5679 #, no-wrap
5680 msgid "Leases"
5681 msgstr ""
5682
5683 #. type: Plain text
5684 #: build/C/man2/fcntl.2:792
5685 msgid ""
5686 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5687 "to establish a new lease, and retrieve the current lease, on the open file "
5688 "description referred to by the file descriptor I<fd>.  A file lease provides "
5689 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5690 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5691 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5692 "descriptor."
5693 msgstr ""
5694
5695 #. type: TP
5696 #: build/C/man2/fcntl.2:792
5697 #, no-wrap
5698 msgid "B<F_SETLEASE> (I<int>)"
5699 msgstr ""
5700
5701 #. type: Plain text
5702 #: build/C/man2/fcntl.2:797
5703 msgid ""
5704 "Set or remove a file lease according to which of the following values is "
5705 "specified in the integer I<arg>:"
5706 msgstr ""
5707
5708 #. type: TP
5709 #: build/C/man2/fcntl.2:798
5710 #, no-wrap
5711 msgid "B<F_RDLCK>"
5712 msgstr ""
5713
5714 #.  The following became true in kernel 2.6.10:
5715 #.  See the man-pages-2.09 Changelog for further info.
5716 #. type: Plain text
5717 #: build/C/man2/fcntl.2:807
5718 msgid ""
5719 "Take out a read lease.  This will cause the calling process to be notified "
5720 "when the file is opened for writing or is truncated.  A read lease can be "
5721 "placed only on a file descriptor that is opened read-only."
5722 msgstr ""
5723
5724 #. type: TP
5725 #: build/C/man2/fcntl.2:807
5726 #, no-wrap
5727 msgid "B<F_WRLCK>"
5728 msgstr ""
5729
5730 #. type: Plain text
5731 #: build/C/man2/fcntl.2:814
5732 msgid ""
5733 "Take out a write lease.  This will cause the caller to be notified when the "
5734 "file is opened for reading or writing or is truncated.  A write lease may be "
5735 "placed on a file only if there are no other open file descriptors for the "
5736 "file."
5737 msgstr ""
5738
5739 #. type: TP
5740 #: build/C/man2/fcntl.2:814
5741 #, no-wrap
5742 msgid "B<F_UNLCK>"
5743 msgstr ""
5744
5745 #. type: Plain text
5746 #: build/C/man2/fcntl.2:817
5747 msgid "Remove our lease from the file."
5748 msgstr ""
5749
5750 #. type: Plain text
5751 #: build/C/man2/fcntl.2:831
5752 msgid ""
5753 "Leases are associated with an open file description (see B<open>(2)).  This "
5754 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5755 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5756 "released using any of these descriptors.  Furthermore, the lease is released "
5757 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5758 "descriptors, or when all such descriptors have been closed."
5759 msgstr ""
5760
5761 #. type: Plain text
5762 #: build/C/man2/fcntl.2:838
5763 msgid ""
5764 "Leases may be taken out only on regular files.  An unprivileged process may "
5765 "take out a lease only on a file whose UID (owner) matches the filesystem UID "
5766 "of the process.  A process with the B<CAP_LEASE> capability may take out "
5767 "leases on arbitrary files."
5768 msgstr ""
5769
5770 #. type: TP
5771 #: build/C/man2/fcntl.2:838
5772 #, no-wrap
5773 msgid "B<F_GETLEASE> (I<void>)"
5774 msgstr ""
5775
5776 #. type: Plain text
5777 #: build/C/man2/fcntl.2:847
5778 msgid ""
5779 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5780 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5781 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5782 msgstr ""
5783
5784 #. type: Plain text
5785 #: build/C/man2/fcntl.2:878
5786 msgid ""
5787 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5788 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5789 "the system call is blocked by the kernel and the kernel notifies the lease "
5790 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5791 "should respond to receipt of this signal by doing whatever cleanup is "
5792 "required in preparation for the file to be accessed by another process "
5793 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5794 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5795 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5796 "the file, and the lease breaker is opening the file for reading, then it is "
5797 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5798 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5799 "B<F_RDLCK>."
5800 msgstr ""
5801
5802 #. type: Plain text
5803 #: build/C/man2/fcntl.2:883
5804 msgid ""
5805 "If the lease holder fails to downgrade or remove the lease within the number "
5806 "of seconds specified in I</proc/sys/fs/lease-break-time>, then the kernel "
5807 "forcibly removes or downgrades the lease holder's lease."
5808 msgstr ""
5809
5810 #. type: Plain text
5811 #: build/C/man2/fcntl.2:893
5812 msgid ""
5813 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5814 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5815 "compatible with the lease breaker)  until the lease holder voluntarily "
5816 "downgrades or removes the lease or the kernel forcibly does so after the "
5817 "lease break timer expires."
5818 msgstr ""
5819
5820 #. type: Plain text
5821 #: build/C/man2/fcntl.2:897
5822 msgid ""
5823 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5824 "assuming the lease breaker has not unblocked its system call, the kernel "
5825 "permits the lease breaker's system call to proceed."
5826 msgstr ""
5827
5828 #. type: Plain text
5829 #: build/C/man2/fcntl.2:918
5830 msgid ""
5831 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5832 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5833 "the other steps still occur as described above.  If the lease breaker is "
5834 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5835 "other steps still occur as described above.  If the lease breaker specifies "
5836 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5837 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5838 "described above."
5839 msgstr ""
5840
5841 #. type: Plain text
5842 #: build/C/man2/fcntl.2:939
5843 msgid ""
5844 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5845 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5846 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5847 "is established using B<SA_SIGINFO>, then the handler will receive a "
5848 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5849 "this argument will hold the descriptor of the leased file that has been "
5850 "accessed by another process.  (This is useful if the caller holds leases "
5851 "against multiple files)."
5852 msgstr ""
5853
5854 #. type: SS
5855 #: build/C/man2/fcntl.2:939
5856 #, no-wrap
5857 msgid "File and directory change notification (dnotify)"
5858 msgstr ""
5859
5860 #. type: TP
5861 #: build/C/man2/fcntl.2:940
5862 #, no-wrap
5863 msgid "B<F_NOTIFY> (I<int>)"
5864 msgstr ""
5865
5866 #. type: Plain text
5867 #: build/C/man2/fcntl.2:950
5868 msgid ""
5869 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5870 "I<fd> or any of the files that it contains is changed.  The events to be "
5871 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5872 "together zero or more of the following bits:"
5873 msgstr ""
5874
5875 #. type: TP
5876 #: build/C/man2/fcntl.2:953
5877 #, no-wrap
5878 msgid "B<DN_ACCESS>"
5879 msgstr ""
5880
5881 #. type: Plain text
5882 #: build/C/man2/fcntl.2:956
5883 msgid "A file was accessed (read, pread, readv)"
5884 msgstr ""
5885
5886 #. type: TP
5887 #: build/C/man2/fcntl.2:956
5888 #, no-wrap
5889 msgid "B<DN_MODIFY>"
5890 msgstr ""
5891
5892 #. type: Plain text
5893 #: build/C/man2/fcntl.2:959
5894 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5895 msgstr ""
5896
5897 #. type: TP
5898 #: build/C/man2/fcntl.2:959
5899 #, no-wrap
5900 msgid "B<DN_CREATE>"
5901 msgstr ""
5902
5903 #. type: Plain text
5904 #: build/C/man2/fcntl.2:962
5905 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5906 msgstr ""
5907
5908 #. type: TP
5909 #: build/C/man2/fcntl.2:962
5910 #, no-wrap
5911 msgid "B<DN_DELETE>"
5912 msgstr ""
5913
5914 #. type: Plain text
5915 #: build/C/man2/fcntl.2:965
5916 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5917 msgstr ""
5918
5919 #. type: TP
5920 #: build/C/man2/fcntl.2:965
5921 #, no-wrap
5922 msgid "B<DN_RENAME>"
5923 msgstr ""
5924
5925 #. type: Plain text
5926 #: build/C/man2/fcntl.2:968
5927 msgid "A file was renamed within this directory (rename)."
5928 msgstr ""
5929
5930 #. type: TP
5931 #: build/C/man2/fcntl.2:968
5932 #, no-wrap
5933 msgid "B<DN_ATTRIB>"
5934 msgstr ""
5935
5936 #. type: Plain text
5937 #: build/C/man2/fcntl.2:971
5938 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5939 msgstr ""
5940
5941 #. type: Plain text
5942 #: build/C/man2/fcntl.2:979
5943 msgid ""
5944 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5945 "must be defined before including I<any> header files.)"
5946 msgstr ""
5947
5948 #. type: Plain text
5949 #: build/C/man2/fcntl.2:987
5950 msgid ""
5951 "Directory notifications are normally \"one-shot\", and the application must "
5952 "reregister to receive further notifications.  Alternatively, if "
5953 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5954 "effect until explicitly removed."
5955 msgstr ""
5956
5957 #.  The following does seem a poor API-design choice...
5958 #. type: Plain text
5959 #: build/C/man2/fcntl.2:999
5960 msgid ""
5961 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5962 "being added to the set already monitored.  To disable notification of all "
5963 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5964 msgstr ""
5965
5966 #. type: Plain text
5967 #: build/C/man2/fcntl.2:1017
5968 msgid ""
5969 "Notification occurs via delivery of a signal.  The default signal is "
5970 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5971 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5972 "structure as its second argument (if the handler was established using "
5973 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5974 "descriptor which generated the notification (useful when establishing "
5975 "notification on multiple directories)."
5976 msgstr ""
5977
5978 #. type: Plain text
5979 #: build/C/man2/fcntl.2:1022
5980 msgid ""
5981 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5982 "notification, so that multiple notifications can be queued."
5983 msgstr ""
5984
5985 #. type: Plain text
5986 #: build/C/man2/fcntl.2:1031
5987 msgid ""
5988 "B<NOTE:> New applications should use the I<inotify> interface (available "
5989 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5990 "notifications of filesystem events.  See B<inotify>(7)."
5991 msgstr ""
5992
5993 #. type: SS
5994 #: build/C/man2/fcntl.2:1031
5995 #, no-wrap
5996 msgid "Changing the capacity of a pipe"
5997 msgstr ""
5998
5999 #. type: TP
6000 #: build/C/man2/fcntl.2:1032
6001 #, no-wrap
6002 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
6003 msgstr ""
6004
6005 #. type: Plain text
6006 #: build/C/man2/fcntl.2:1063
6007 msgid ""
6008 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
6009 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
6010 "between the system page size and the limit defined in "
6011 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
6012 "capacity below the page size are silently rounded up to the page size.  "
6013 "Attempts by an unprivileged process to set the pipe capacity above the limit "
6014 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
6015 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
6016 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
6017 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
6018 "returns the actual size used.  Attempting to set the pipe capacity smaller "
6019 "than the amount of buffer space currently used to store data produces the "
6020 "error B<EBUSY>."
6021 msgstr ""
6022
6023 #. type: TP
6024 #: build/C/man2/fcntl.2:1063
6025 #, no-wrap
6026 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
6027 msgstr ""
6028
6029 #. type: Plain text
6030 #: build/C/man2/fcntl.2:1067
6031 msgid ""
6032 "Return (as the function result) the capacity of the pipe referred to by "
6033 "I<fd>."
6034 msgstr ""
6035
6036 #. type: Plain text
6037 #: build/C/man2/fcntl.2:1069
6038 msgid "For a successful call, the return value depends on the operation:"
6039 msgstr ""
6040
6041 #. type: TP
6042 #: build/C/man2/fcntl.2:1069
6043 #, no-wrap
6044 msgid "B<F_DUPFD>"
6045 msgstr ""
6046
6047 #. type: Plain text
6048 #: build/C/man2/fcntl.2:1072
6049 msgid "The new descriptor."
6050 msgstr ""
6051
6052 #. type: TP
6053 #: build/C/man2/fcntl.2:1072
6054 #, no-wrap
6055 msgid "B<F_GETFD>"
6056 msgstr ""
6057
6058 #. type: Plain text
6059 #: build/C/man2/fcntl.2:1075
6060 msgid "Value of file descriptor flags."
6061 msgstr ""
6062
6063 #. type: TP
6064 #: build/C/man2/fcntl.2:1075
6065 #, no-wrap
6066 msgid "B<F_GETFL>"
6067 msgstr ""
6068
6069 #. type: Plain text
6070 #: build/C/man2/fcntl.2:1078
6071 msgid "Value of file status flags."
6072 msgstr ""
6073
6074 #. type: TP
6075 #: build/C/man2/fcntl.2:1078
6076 #, no-wrap
6077 msgid "B<F_GETLEASE>"
6078 msgstr ""
6079
6080 #. type: Plain text
6081 #: build/C/man2/fcntl.2:1081
6082 msgid "Type of lease held on file descriptor."
6083 msgstr ""
6084
6085 #. type: TP
6086 #: build/C/man2/fcntl.2:1081
6087 #, no-wrap
6088 msgid "B<F_GETOWN>"
6089 msgstr ""
6090
6091 #. type: Plain text
6092 #: build/C/man2/fcntl.2:1084
6093 msgid "Value of descriptor owner."
6094 msgstr ""
6095
6096 #. type: TP
6097 #: build/C/man2/fcntl.2:1084
6098 #, no-wrap
6099 msgid "B<F_GETSIG>"
6100 msgstr ""
6101
6102 #. type: Plain text
6103 #: build/C/man2/fcntl.2:1090
6104 msgid ""
6105 "Value of signal sent when read or write becomes possible, or zero for "
6106 "traditional B<SIGIO> behavior."
6107 msgstr ""
6108
6109 #. type: TP
6110 #: build/C/man2/fcntl.2:1090
6111 #, no-wrap
6112 msgid "B<F_GETPIPE_SZ>"
6113 msgstr ""
6114
6115 #. type: Plain text
6116 #: build/C/man2/fcntl.2:1093
6117 msgid "The pipe capacity."
6118 msgstr ""
6119
6120 #. type: TP
6121 #: build/C/man2/fcntl.2:1093
6122 #, no-wrap
6123 msgid "All other commands"
6124 msgstr ""
6125
6126 #. type: Plain text
6127 #: build/C/man2/fcntl.2:1096
6128 msgid "Zero."
6129 msgstr ""
6130
6131 #. type: Plain text
6132 #: build/C/man2/fcntl.2:1100
6133 msgid "On error, -1 is returned, and I<errno> is set appropriately."
6134 msgstr ""
6135
6136 #. type: TP
6137 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:122
6138 #, no-wrap
6139 msgid "B<EACCES> or B<EAGAIN>"
6140 msgstr ""
6141
6142 #. type: Plain text
6143 #: build/C/man2/fcntl.2:1104
6144 msgid "Operation is prohibited by locks held by other processes."
6145 msgstr ""
6146
6147 #. type: TP
6148 #: build/C/man2/fcntl.2:1104 build/C/man2/fork.2:181 build/C/man2/fork.2:186
6149 #, no-wrap
6150 msgid "B<EAGAIN>"
6151 msgstr ""
6152
6153 #. type: Plain text
6154 #: build/C/man2/fcntl.2:1108
6155 msgid ""
6156 "The operation is prohibited because the file has been memory-mapped by "
6157 "another process."
6158 msgstr ""
6159
6160 #. type: Plain text
6161 #: build/C/man2/fcntl.2:1117
6162 msgid ""
6163 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
6164 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
6165 "lock requested."
6166 msgstr ""
6167
6168 #. type: TP
6169 #: build/C/man2/fcntl.2:1117 build/C/man3/lockf.3:142
6170 #, no-wrap
6171 msgid "B<EDEADLK>"
6172 msgstr ""
6173
6174 #. type: Plain text
6175 #: build/C/man2/fcntl.2:1122
6176 msgid ""
6177 "It was detected that the specified B<F_SETLKW> command would cause a "
6178 "deadlock."
6179 msgstr ""
6180
6181 #. type: Plain text
6182 #: build/C/man2/fcntl.2:1126
6183 msgid "I<lock> is outside your accessible address space."
6184 msgstr ""
6185
6186 #. type: Plain text
6187 #: build/C/man2/fcntl.2:1138
6188 msgid ""
6189 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
6190 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
6191 "before the lock was checked or acquired.  Most likely when locking a remote "
6192 "file (e.g., locking over NFS), but can sometimes happen locally."
6193 msgstr ""
6194
6195 #. type: Plain text
6196 #: build/C/man2/fcntl.2:1148
6197 msgid ""
6198 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
6199 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
6200 msgstr ""
6201
6202 #. type: Plain text
6203 #: build/C/man2/fcntl.2:1153
6204 msgid ""
6205 "For B<F_DUPFD>, the process already has the maximum number of file "
6206 "descriptors open."
6207 msgstr ""
6208
6209 #. type: TP
6210 #: build/C/man2/fcntl.2:1153 build/C/man2/flock.2:130 build/C/man3/lockf.3:151
6211 #, no-wrap
6212 msgid "B<ENOLCK>"
6213 msgstr ""
6214
6215 #. type: Plain text
6216 #: build/C/man2/fcntl.2:1157
6217 msgid ""
6218 "Too many segment locks open, lock table is full, or a remote locking "
6219 "protocol failed (e.g., locking over NFS)."
6220 msgstr ""
6221
6222 #. type: Plain text
6223 #: build/C/man2/fcntl.2:1162
6224 msgid ""
6225 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
6226 "attribute set."
6227 msgstr ""
6228
6229 #. type: Plain text
6230 #: build/C/man2/fcntl.2:1175
6231 msgid ""
6232 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
6233 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK>, and B<F_SETLKW> "
6234 "are specified in POSIX.1-2001."
6235 msgstr ""
6236
6237 #. type: Plain text
6238 #: build/C/man2/fcntl.2:1187
6239 msgid ""
6240 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
6241 "definitions, define B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 "
6242 "or greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
6243 msgstr ""
6244
6245 #. type: Plain text
6246 #: build/C/man2/fcntl.2:1195
6247 msgid ""
6248 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
6249 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
6250 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
6251 msgstr ""
6252
6253 #.  .PP
6254 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
6255 #. type: Plain text
6256 #: build/C/man2/fcntl.2:1212
6257 msgid ""
6258 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
6259 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
6260 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
6261 "definitions.)"
6262 msgstr ""
6263
6264 #. type: Plain text
6265 #: build/C/man2/fcntl.2:1233
6266 msgid ""
6267 "The original Linux B<fcntl>()  system call was not designed to handle large "
6268 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
6269 "system call was added in Linux 2.4.  The newer system call employs a "
6270 "different structure for file locking, I<flock64>, and corresponding "
6271 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
6272 "details can be ignored by applications using glibc, whose B<fcntl>()  "
6273 "wrapper function transparently employs the more recent system call where it "
6274 "is available."
6275 msgstr ""
6276
6277 #. type: Plain text
6278 #: build/C/man2/fcntl.2:1238
6279 msgid ""
6280 "The errors returned by B<dup2>(2)  are different from those returned by "
6281 "B<F_DUPFD>."
6282 msgstr ""
6283
6284 #. type: Plain text
6285 #: build/C/man2/fcntl.2:1244
6286 msgid ""
6287 "Since kernel 2.0, there is no interaction between the types of lock placed "
6288 "by B<flock>(2)  and B<fcntl>()."
6289 msgstr ""
6290
6291 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
6292 #.  documents it in fcntl(5).  mtk, May 2007
6293 #. type: Plain text
6294 #: build/C/man2/fcntl.2:1255
6295 msgid ""
6296 "Several systems have more fields in I<struct flock> such as, for example, "
6297 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
6298 "process holding the lock may live on a different machine."
6299 msgstr ""
6300
6301 #. type: SS
6302 #: build/C/man2/fcntl.2:1256
6303 #, no-wrap
6304 msgid "F_SETFL"
6305 msgstr ""
6306
6307 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
6308 #.  via fcntl(2), but currently Linux does not permit this
6309 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
6310 #. type: Plain text
6311 #: build/C/man2/fcntl.2:1268
6312 msgid ""
6313 "It is not possible to use B<F_SETFL> to change the state of the B<O_DSYNC> "
6314 "and B<O_SYNC> flags.  Attempts to change the state of these flags are "
6315 "silently ignored."
6316 msgstr ""
6317
6318 #. type: SS
6319 #: build/C/man2/fcntl.2:1268
6320 #, no-wrap
6321 msgid "F_GETOWN"
6322 msgstr ""
6323
6324 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
6325 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
6326 #.  indicate that ANY negative PGID value will cause F_GETOWN
6327 #.  to misinterpret the return as an error. Some other architectures
6328 #.  seem to have the same range check as i386.
6329 #. type: Plain text
6330 #: build/C/man2/fcntl.2:1294
6331 msgid ""
6332 "A limitation of the Linux system call conventions on some architectures "
6333 "(notably i386) means that if a (negative)  process group ID to be returned "
6334 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
6335 "wrongly interpreted by glibc as an error in the system call; that is, the "
6336 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
6337 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
6338 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
6339 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
6340 "B<F_GETOWN_EX>."
6341 msgstr ""
6342
6343 #. type: SS
6344 #: build/C/man2/fcntl.2:1294
6345 #, no-wrap
6346 msgid "F_SETOWN"
6347 msgstr ""
6348
6349 #. type: Plain text
6350 #: build/C/man2/fcntl.2:1311
6351 msgid ""
6352 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
6353 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
6354 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
6355 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
6356 "is one that the caller has permission to send signals to.  Despite this "
6357 "error return, the file descriptor owner is set, and signals will be sent to "
6358 "the owner."
6359 msgstr ""
6360
6361 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
6362 #. type: Plain text
6363 #: build/C/man2/fcntl.2:1326
6364 msgid ""
6365 "The implementation of mandatory locking in all known versions of Linux is "
6366 "subject to race conditions which render it unreliable: a B<write>(2)  call "
6367 "that overlaps with a lock may modify data after the mandatory lock is "
6368 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
6369 "data that were made only after a write lock was acquired.  Similar races "
6370 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
6371 "to rely on mandatory locking."
6372 msgstr ""
6373
6374 #. type: Plain text
6375 #: build/C/man2/fcntl.2:1334
6376 msgid ""
6377 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
6378 "B<capabilities>(7), B<feature_test_macros>(7)"
6379 msgstr ""
6380
6381 #. type: Plain text
6382 #: build/C/man2/fcntl.2:1347
6383 msgid ""
6384 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
6385 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
6386 "these files are directly under the I<Documentation/> directory, and "
6387 "I<mandatory-locking.txt> is called I<mandatory.txt>)"
6388 msgstr ""
6389
6390 #. type: TH
6391 #: build/C/man3/fexecve.3:25
6392 #, no-wrap
6393 msgid "FEXECVE"
6394 msgstr ""
6395
6396 #. type: TH
6397 #: build/C/man3/fexecve.3:25
6398 #, no-wrap
6399 msgid "2013-10-25"
6400 msgstr ""
6401
6402 #. type: Plain text
6403 #: build/C/man3/fexecve.3:28
6404 msgid "fexecve - execute program specified via file descriptor"
6405 msgstr ""
6406
6407 #. type: Plain text
6408 #: build/C/man3/fexecve.3:33
6409 #, no-wrap
6410 msgid ""
6411 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
6412 ">I<envp>B<[]);>\n"
6413 msgstr ""
6414
6415 #. type: Plain text
6416 #: build/C/man3/fexecve.3:41
6417 msgid "B<fexecve>():"
6418 msgstr ""
6419
6420 #. type: Plain text
6421 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
6422 msgid "_GNU_SOURCE"
6423 msgstr ""
6424
6425 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
6426 #.  but Linux doesn't support this flag yet.
6427 #. type: Plain text
6428 #: build/C/man3/fexecve.3:67
6429 msgid ""
6430 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
6431 "that the file to be executed is specified via a file descriptor, I<fd>, "
6432 "rather than via a pathname.  The file descriptor I<fd> must be opened "
6433 "read-only, and the caller must have permission to execute the file that it "
6434 "refers to."
6435 msgstr ""
6436
6437 #. type: Plain text
6438 #: build/C/man3/fexecve.3:74
6439 msgid ""
6440 "A successful call to B<fexecve>()  never returns.  On error, the function "
6441 "returns, with a result value of -1, and I<errno> is set appropriately."
6442 msgstr ""
6443
6444 #. type: Plain text
6445 #: build/C/man3/fexecve.3:78
6446 msgid "Errors are as for B<execve>(2), with the following additions:"
6447 msgstr ""
6448
6449 #. type: Plain text
6450 #: build/C/man3/fexecve.3:86
6451 msgid ""
6452 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
6453 "NULL."
6454 msgstr ""
6455
6456 #. type: Plain text
6457 #: build/C/man3/fexecve.3:91
6458 msgid "The I</proc> filesystem could not be accessed."
6459 msgstr ""
6460
6461 #. type: Plain text
6462 #: build/C/man3/fexecve.3:94
6463 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
6464 msgstr ""
6465
6466 #. type: Plain text
6467 #: build/C/man3/fexecve.3:99
6468 msgid ""
6469 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
6470 "widely available on other systems.  It is specified in POSIX.1-2008."
6471 msgstr ""
6472
6473 #. type: Plain text
6474 #: build/C/man3/fexecve.3:107
6475 msgid ""
6476 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  filesystem, so "
6477 "I</proc> needs to be mounted and available at the time of the call."
6478 msgstr ""
6479
6480 #. type: Plain text
6481 #: build/C/man3/fexecve.3:124
6482 msgid ""
6483 "The idea behind B<fexecve>()  is to allow the caller to verify (checksum) "
6484 "the contents of an executable before executing it.  Simply opening the file, "
6485 "checksumming the contents, and then doing an B<execve>(2)  would not "
6486 "suffice, since, between the two steps, the filename, or a directory prefix "
6487 "of the pathname, could have been exchanged (by, for example, modifying the "
6488 "target of a symbolic link).  B<fexecve>()  does not mitigate the problem "
6489 "that the I<contents> of a file could be changed between the checksumming and "
6490 "the call to B<fexecve>(); for that, the solution is to ensure that the "
6491 "permissions on the file prevent it from being modified by malicious users."
6492 msgstr ""
6493
6494 #. type: Plain text
6495 #: build/C/man3/fexecve.3:126
6496 msgid "B<execve>(2)"
6497 msgstr ""
6498
6499 #. type: TH
6500 #: build/C/man2/flock.2:35
6501 #, no-wrap
6502 msgid "FLOCK"
6503 msgstr ""
6504
6505 #. type: TH
6506 #: build/C/man2/flock.2:35
6507 #, no-wrap
6508 msgid "2013-02-11"
6509 msgstr ""
6510
6511 #. type: Plain text
6512 #: build/C/man2/flock.2:38
6513 msgid "flock - apply or remove an advisory lock on an open file"
6514 msgstr ""
6515
6516 #. type: Plain text
6517 #: build/C/man2/flock.2:40
6518 msgid "B<#include E<lt>sys/file.hE<gt>>"
6519 msgstr ""
6520
6521 #. type: Plain text
6522 #: build/C/man2/flock.2:42
6523 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6524 msgstr ""
6525
6526 #. type: Plain text
6527 #: build/C/man2/flock.2:48
6528 msgid ""
6529 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6530 "argument I<operation> is one of the following:"
6531 msgstr ""
6532
6533 #. type: TP
6534 #: build/C/man2/flock.2:49
6535 #, no-wrap
6536 msgid "B<LOCK_SH>"
6537 msgstr ""
6538
6539 #. type: Plain text
6540 #: build/C/man2/flock.2:54
6541 msgid ""
6542 "Place a shared lock.  More than one process may hold a shared lock for a "
6543 "given file at a given time."
6544 msgstr ""
6545
6546 #. type: TP
6547 #: build/C/man2/flock.2:54
6548 #, no-wrap
6549 msgid "B<LOCK_EX>"
6550 msgstr ""
6551
6552 #. type: Plain text
6553 #: build/C/man2/flock.2:59
6554 msgid ""
6555 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6556 "given file at a given time."
6557 msgstr ""
6558
6559 #. type: TP
6560 #: build/C/man2/flock.2:59
6561 #, no-wrap
6562 msgid "B<LOCK_UN>"
6563 msgstr ""
6564
6565 #. type: Plain text
6566 #: build/C/man2/flock.2:62
6567 msgid "Remove an existing lock held by this process."
6568 msgstr ""
6569
6570 #. type: Plain text
6571 #: build/C/man2/flock.2:71
6572 msgid ""
6573 "A call to B<flock>()  may block if an incompatible lock is held by another "
6574 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6575 "any of the above operations."
6576 msgstr ""
6577
6578 #. type: Plain text
6579 #: build/C/man2/flock.2:73
6580 msgid "A single file may not simultaneously have both shared and exclusive locks."
6581 msgstr ""
6582
6583 #. type: Plain text
6584 #: build/C/man2/flock.2:87
6585 msgid ""
6586 "Locks created by B<flock>()  are associated with an open file table entry.  "
6587 "This means that duplicate file descriptors (created by, for example, "
6588 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6589 "modified or released using any of these descriptors.  Furthermore, the lock "
6590 "is released either by an explicit B<LOCK_UN> operation on any of these "
6591 "duplicate descriptors, or when all such descriptors have been closed."
6592 msgstr ""
6593
6594 #. type: Plain text
6595 #: build/C/man2/flock.2:96
6596 msgid ""
6597 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6598 "descriptor for the same file, these descriptors are treated independently by "
6599 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6600 "may be denied by a lock that the calling process has already placed via "
6601 "another descriptor."
6602 msgstr ""
6603
6604 #. type: Plain text
6605 #: build/C/man2/flock.2:103
6606 msgid ""
6607 "A process may hold only one type of lock (shared or exclusive)  on a file.  "
6608 "Subsequent B<flock>()  calls on an already locked file will convert an "
6609 "existing lock to the new lock mode."
6610 msgstr ""
6611
6612 #. type: Plain text
6613 #: build/C/man2/flock.2:108
6614 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6615 msgstr ""
6616
6617 #. type: Plain text
6618 #: build/C/man2/flock.2:111
6619 msgid ""
6620 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6621 "which the file was opened."
6622 msgstr ""
6623
6624 #. type: Plain text
6625 #: build/C/man2/flock.2:121
6626 msgid "I<fd> is not an open file descriptor."
6627 msgstr ""
6628
6629 #. type: Plain text
6630 #: build/C/man2/flock.2:126
6631 msgid ""
6632 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6633 "signal caught by a handler; see B<signal>(7)."
6634 msgstr ""
6635
6636 #. type: Plain text
6637 #: build/C/man2/flock.2:130
6638 msgid "I<operation> is invalid."
6639 msgstr ""
6640
6641 #. type: Plain text
6642 #: build/C/man2/flock.2:133
6643 msgid "The kernel ran out of memory for allocating lock records."
6644 msgstr ""
6645
6646 #. type: TP
6647 #: build/C/man2/flock.2:133
6648 #, no-wrap
6649 msgid "B<EWOULDBLOCK>"
6650 msgstr ""
6651
6652 #. type: Plain text
6653 #: build/C/man2/flock.2:138
6654 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6655 msgstr ""
6656
6657 #. type: Plain text
6658 #: build/C/man2/flock.2:147
6659 msgid ""
6660 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6661 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6662 "UNIX systems."
6663 msgstr ""
6664
6665 #. type: Plain text
6666 #: build/C/man2/flock.2:154
6667 msgid ""
6668 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6669 "does work over NFS, given a sufficiently recent version of Linux and a "
6670 "server which supports locking."
6671 msgstr ""
6672
6673 #. type: Plain text
6674 #: build/C/man2/flock.2:169
6675 msgid ""
6676 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6677 "right rather than being emulated in the GNU C library as a call to "
6678 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6679 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6680 "B<flock>()  does not detect deadlock."
6681 msgstr ""
6682
6683 #. type: Plain text
6684 #: build/C/man2/flock.2:175
6685 msgid ""
6686 "B<flock>()  places advisory locks only; given suitable permissions on a "
6687 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6688 "the file."
6689 msgstr ""
6690
6691 #. type: Plain text
6692 #: build/C/man2/flock.2:188
6693 msgid ""
6694 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6695 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6696 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6697 "described in this manual page."
6698 msgstr ""
6699
6700 #.  Kernel 2.5.21 changed things a little: during lock conversion
6701 #.  it is now the highest priority process that will get the lock -- mtk
6702 #. type: Plain text
6703 #: build/C/man2/flock.2:201
6704 msgid ""
6705 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6706 "be atomic: the existing lock is first removed, and then a new lock is "
6707 "established.  Between these two steps, a pending lock request by another "
6708 "process may be granted, with the result that the conversion either blocks, "
6709 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6710 "and occurs on many other implementations.)"
6711 msgstr ""
6712
6713 #. type: Plain text
6714 #: build/C/man2/flock.2:210
6715 msgid ""
6716 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
6717 "B<open>(2), B<lockf>(3)"
6718 msgstr ""
6719
6720 #. type: Plain text
6721 #: build/C/man2/flock.2:215
6722 msgid ""
6723 "I<Documentation/filesystems/locks.txt> in the Linux kernel source tree "
6724 "(I<Documentation/locks.txt> in older kernels)"
6725 msgstr ""
6726
6727 #. type: TH
6728 #: build/C/man2/fork.2:39
6729 #, no-wrap
6730 msgid "FORK"
6731 msgstr ""
6732
6733 #. type: TH
6734 #: build/C/man2/fork.2:39 build/C/man2/ioperm.2:34
6735 #, no-wrap
6736 msgid "2013-03-12"
6737 msgstr ""
6738
6739 #. type: Plain text
6740 #: build/C/man2/fork.2:42
6741 msgid "fork - create a child process"
6742 msgstr ""
6743
6744 #. type: Plain text
6745 #: build/C/man2/fork.2:46
6746 msgid "B<pid_t fork(void);>"
6747 msgstr ""
6748
6749 #. type: Plain text
6750 #: build/C/man2/fork.2:52
6751 msgid ""
6752 "B<fork>()  creates a new process by duplicating the calling process.  The "
6753 "new process, referred to as the I<child>, is an exact duplicate of the "
6754 "calling process, referred to as the I<parent>, except for the following "
6755 "points:"
6756 msgstr ""
6757
6758 #. type: Plain text
6759 #: build/C/man2/fork.2:56
6760 msgid ""
6761 "The child has its own unique process ID, and this PID does not match the ID "
6762 "of any existing process group (B<setpgid>(2))."
6763 msgstr ""
6764
6765 #. type: Plain text
6766 #: build/C/man2/fork.2:58
6767 msgid "The child's parent process ID is the same as the parent's process ID."
6768 msgstr ""
6769
6770 #. type: Plain text
6771 #: build/C/man2/fork.2:62
6772 msgid ""
6773 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6774 "B<mlockall>(2))."
6775 msgstr ""
6776
6777 #. type: Plain text
6778 #: build/C/man2/fork.2:68
6779 msgid ""
6780 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6781 "(B<times>(2))  are reset to zero in the child."
6782 msgstr ""
6783
6784 #. type: Plain text
6785 #: build/C/man2/fork.2:71
6786 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6787 msgstr ""
6788
6789 #. type: Plain text
6790 #: build/C/man2/fork.2:74
6791 msgid ""
6792 "The child does not inherit semaphore adjustments from its parent "
6793 "(B<semop>(2))."
6794 msgstr ""
6795
6796 #. type: Plain text
6797 #: build/C/man2/fork.2:77
6798 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6799 msgstr ""
6800
6801 #. type: Plain text
6802 #: build/C/man2/fork.2:82
6803 msgid ""
6804 "The child does not inherit timers from its parent (B<setitimer>(2), "
6805 "B<alarm>(2), B<timer_create>(2))."
6806 msgstr ""
6807
6808 #. type: Plain text
6809 #: build/C/man2/fork.2:89
6810 msgid ""
6811 "The child does not inherit outstanding asynchronous I/O operations from its "
6812 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6813 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6814 msgstr ""
6815
6816 #. type: Plain text
6817 #: build/C/man2/fork.2:94
6818 msgid ""
6819 "The process attributes in the preceding list are all specified in "
6820 "POSIX.1-2001.  The parent and child also differ with respect to the "
6821 "following Linux-specific process attributes:"
6822 msgstr ""
6823
6824 #. type: Plain text
6825 #: build/C/man2/fork.2:101
6826 msgid ""
6827 "The child does not inherit directory change notifications (dnotify)  from "
6828 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6829 msgstr ""
6830
6831 #. type: Plain text
6832 #: build/C/man2/fork.2:107
6833 msgid ""
6834 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6835 "not receive a signal when its parent terminates."
6836 msgstr ""
6837
6838 #. type: Plain text
6839 #: build/C/man2/fork.2:114
6840 msgid ""
6841 "The default timer slack value is set to the parent's current timer slack "
6842 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6843 msgstr ""
6844
6845 #. type: Plain text
6846 #: build/C/man2/fork.2:120
6847 msgid ""
6848 "Memory mappings that have been marked with the B<madvise>(2)  "
6849 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6850 msgstr ""
6851
6852 #. type: Plain text
6853 #: build/C/man2/fork.2:125
6854 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6855 msgstr ""
6856
6857 #. type: Plain text
6858 #: build/C/man2/fork.2:131
6859 msgid ""
6860 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
6861 "the child; the child must turn on any bits that it requires using "
6862 "B<ioperm>(2)."
6863 msgstr ""
6864
6865 #. type: Plain text
6866 #: build/C/man2/fork.2:142
6867 msgid ""
6868 "The child process is created with a single thread\\(emthe one that called "
6869 "B<fork>().  The entire virtual address space of the parent is replicated in "
6870 "the child, including the states of mutexes, condition variables, and other "
6871 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6872 "dealing with problems that this can cause."
6873 msgstr ""
6874
6875 #. type: Plain text
6876 #: build/C/man2/fork.2:156
6877 msgid ""
6878 "The child inherits copies of the parent's set of open file descriptors.  "
6879 "Each file descriptor in the child refers to the same open file description "
6880 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6881 "means that the two descriptors share open file status flags, current file "
6882 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6883 "and B<F_SETSIG> in B<fcntl>(2))."
6884 msgstr ""
6885
6886 #. type: Plain text
6887 #: build/C/man2/fork.2:165
6888 msgid ""
6889 "The child inherits copies of the parent's set of open message queue "
6890 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6891 "the same open message queue description as the corresponding descriptor in "
6892 "the parent.  This means that the two descriptors share the same flags "
6893 "(I<mq_flags>)."
6894 msgstr ""
6895
6896 #. type: Plain text
6897 #: build/C/man2/fork.2:173
6898 msgid ""
6899 "The child inherits copies of the parent's set of open directory streams (see "
6900 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6901 "in the parent and child I<may> share the directory stream positioning; on "
6902 "Linux/glibc they do not."
6903 msgstr ""
6904
6905 #. type: Plain text
6906 #: build/C/man2/fork.2:180
6907 msgid ""
6908 "On success, the PID of the child process is returned in the parent, and 0 is "
6909 "returned in the child.  On failure, -1 is returned in the parent, no child "
6910 "process is created, and I<errno> is set appropriately."
6911 msgstr ""
6912
6913 #. type: Plain text
6914 #: build/C/man2/fork.2:186
6915 msgid ""
6916 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6917 "tables and allocate a task structure for the child."
6918 msgstr ""
6919
6920 #. type: Plain text
6921 #: build/C/man2/fork.2:196
6922 msgid ""
6923 "It was not possible to create a new process because the caller's "
6924 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6925 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6926 "capability."
6927 msgstr ""
6928
6929 #. type: Plain text
6930 #: build/C/man2/fork.2:200
6931 msgid ""
6932 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6933 "is tight."
6934 msgstr ""
6935
6936 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
6937 #. type: Plain text
6938 #: build/C/man2/fork.2:206
6939 msgid ""
6940 "B<fork>()  is not supported on this platform (for example, hardware without "
6941 "a Memory-Management Unit)."
6942 msgstr ""
6943
6944 #. type: Plain text
6945 #: build/C/man2/fork.2:215
6946 msgid ""
6947 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6948 "only penalty that it incurs is the time and memory required to duplicate the "
6949 "parent's page tables, and to create a unique task structure for the child."
6950 msgstr ""
6951
6952 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6953 #.  and does some magic to ensure that getpid(2) returns the right value.
6954 #. type: Plain text
6955 #: build/C/man2/fork.2:239
6956 msgid ""
6957 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6958 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6959 "threading implementation invokes B<clone>(2)  with flags that provide the "
6960 "same effect as the traditional system call.  (A call to B<fork>()  is "
6961 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6962 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6963 "established using B<pthread_atfork>(3)."
6964 msgstr ""
6965
6966 #. type: Plain text
6967 #: build/C/man2/fork.2:244
6968 msgid "See B<pipe>(2)  and B<wait>(2)."
6969 msgstr ""
6970
6971 #. type: Plain text
6972 #: build/C/man2/fork.2:255
6973 msgid ""
6974 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
6975 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6976 msgstr ""
6977
6978 #. type: TH
6979 #: build/C/man3/fpathconf.3:41
6980 #, no-wrap
6981 msgid "FPATHCONF"
6982 msgstr ""
6983
6984 #. type: Plain text
6985 #: build/C/man3/fpathconf.3:44
6986 msgid "fpathconf, pathconf - get configuration values for files"
6987 msgstr ""
6988
6989 #. type: Plain text
6990 #: build/C/man3/fpathconf.3:49
6991 #, no-wrap
6992 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6993 msgstr ""
6994
6995 #. type: Plain text
6996 #: build/C/man3/fpathconf.3:51
6997 #, no-wrap
6998 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6999 msgstr ""
7000
7001 #. type: Plain text
7002 #: build/C/man3/fpathconf.3:58
7003 msgid ""
7004 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
7005 "open file descriptor I<fd>."
7006 msgstr ""
7007
7008 #. type: Plain text
7009 #: build/C/man3/fpathconf.3:64
7010 msgid ""
7011 "B<pathconf>()  gets a value for configuration option I<name> for the "
7012 "filename I<path>."
7013 msgstr ""
7014
7015 #. type: Plain text
7016 #: build/C/man3/fpathconf.3:73
7017 msgid ""
7018 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
7019 "values; if an application wants to take advantage of values which may "
7020 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
7021 "yield more liberal results."
7022 msgstr ""
7023
7024 #. type: Plain text
7025 #: build/C/man3/fpathconf.3:78
7026 msgid ""
7027 "Setting I<name> equal to one of the following constants returns the "
7028 "following configuration options:"
7029 msgstr ""
7030
7031 #. type: TP
7032 #: build/C/man3/fpathconf.3:78
7033 #, no-wrap
7034 msgid "B<_PC_LINK_MAX>"
7035 msgstr ""
7036
7037 #. type: Plain text
7038 #: build/C/man3/fpathconf.3:88
7039 msgid ""
7040 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
7041 "to a directory, then the value applies to the whole directory.  The "
7042 "corresponding macro is B<_POSIX_LINK_MAX>."
7043 msgstr ""
7044
7045 #. type: TP
7046 #: build/C/man3/fpathconf.3:88
7047 #, no-wrap
7048 msgid "B<_PC_MAX_CANON>"
7049 msgstr ""
7050
7051 #. type: Plain text
7052 #: build/C/man3/fpathconf.3:97
7053 msgid ""
7054 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
7055 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
7056 msgstr ""
7057
7058 #. type: TP
7059 #: build/C/man3/fpathconf.3:97
7060 #, no-wrap
7061 msgid "B<_PC_MAX_INPUT>"
7062 msgstr ""
7063
7064 #. type: Plain text
7065 #: build/C/man3/fpathconf.3:106
7066 msgid ""
7067 "returns the maximum length of an input line, where I<fd> or I<path> must "
7068 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
7069 msgstr ""
7070
7071 #. type: TP
7072 #: build/C/man3/fpathconf.3:106
7073 #, no-wrap
7074 msgid "B<_PC_NAME_MAX>"
7075 msgstr ""
7076
7077 #. type: Plain text
7078 #: build/C/man3/fpathconf.3:115
7079 msgid ""
7080 "returns the maximum length of a filename in the directory I<path> or I<fd> "
7081 "that the process is allowed to create.  The corresponding macro is "
7082 "B<_POSIX_NAME_MAX>."
7083 msgstr ""
7084
7085 #. type: TP
7086 #: build/C/man3/fpathconf.3:115
7087 #, no-wrap
7088 msgid "B<_PC_PATH_MAX>"
7089 msgstr ""
7090
7091 #. type: Plain text
7092 #: build/C/man3/fpathconf.3:124
7093 msgid ""
7094 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
7095 "the current working directory.  The corresponding macro is "
7096 "B<_POSIX_PATH_MAX>."
7097 msgstr ""
7098
7099 #. type: TP
7100 #: build/C/man3/fpathconf.3:124
7101 #, no-wrap
7102 msgid "B<_PC_PIPE_BUF>"
7103 msgstr ""
7104
7105 #. type: Plain text
7106 #: build/C/man3/fpathconf.3:133
7107 msgid ""
7108 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
7109 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
7110 "B<_POSIX_PIPE_BUF>."
7111 msgstr ""
7112
7113 #. type: TP
7114 #: build/C/man3/fpathconf.3:133
7115 #, no-wrap
7116 msgid "B<_PC_CHOWN_RESTRICTED>"
7117 msgstr ""
7118
7119 #. type: Plain text
7120 #: build/C/man3/fpathconf.3:146
7121 msgid ""
7122 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
7123 "I<fd> or I<path> refer to a directory, then this applies to all files in "
7124 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
7125 msgstr ""
7126
7127 #. type: TP
7128 #: build/C/man3/fpathconf.3:146
7129 #, no-wrap
7130 msgid "B<_PC_NO_TRUNC>"
7131 msgstr ""
7132
7133 #. type: Plain text
7134 #: build/C/man3/fpathconf.3:153
7135 msgid ""
7136 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
7137 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
7138 msgstr ""
7139
7140 #. type: TP
7141 #: build/C/man3/fpathconf.3:153
7142 #, no-wrap
7143 msgid "B<_PC_VDISABLE>"
7144 msgstr ""
7145
7146 #. type: Plain text
7147 #: build/C/man3/fpathconf.3:160
7148 msgid ""
7149 "returns nonzero if special character processing can be disabled, where I<fd> "
7150 "or I<path> must refer to a terminal."
7151 msgstr ""
7152
7153 #. type: Plain text
7154 #: build/C/man3/fpathconf.3:169
7155 msgid ""
7156 "The limit is returned, if one exists.  If the system does not have a limit "
7157 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
7158 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
7159 "of the error."
7160 msgstr ""
7161
7162 #. type: Plain text
7163 #: build/C/man3/fpathconf.3:177
7164 msgid ""
7165 "Files with name lengths longer than the value returned for I<name> equal to "
7166 "B<_PC_NAME_MAX> may exist in the given directory."
7167 msgstr ""
7168
7169 #. type: Plain text
7170 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
7171 msgid ""
7172 "Some returned values may be huge; they are not suitable for allocating "
7173 "memory."
7174 msgstr ""
7175
7176 #. type: Plain text
7177 #: build/C/man3/fpathconf.3:186
7178 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<confstr>(3), B<sysconf>(3)"
7179 msgstr ""
7180
7181 #. type: TH
7182 #: build/C/man2/fsync.2:38
7183 #, no-wrap
7184 msgid "FSYNC"
7185 msgstr ""
7186
7187 #. type: TH
7188 #: build/C/man2/fsync.2:38 build/C/man2/syscall.2:40
7189 #, no-wrap
7190 msgid "2014-04-06"
7191 msgstr ""
7192
7193 #. type: Plain text
7194 #: build/C/man2/fsync.2:41
7195 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
7196 msgstr ""
7197
7198 #. type: Plain text
7199 #: build/C/man2/fsync.2:45
7200 msgid "B<int fsync(int >I<fd>B<);>"
7201 msgstr ""
7202
7203 #. type: Plain text
7204 #: build/C/man2/fsync.2:47
7205 msgid "B<int fdatasync(int >I<fd>B<);>"
7206 msgstr ""
7207
7208 #. type: Plain text
7209 #: build/C/man2/fsync.2:55
7210 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
7211 msgstr ""
7212
7213 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
7214 #. type: Plain text
7215 #: build/C/man2/fsync.2:58
7216 #, no-wrap
7217 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
7218 msgstr ""
7219
7220 #. type: Plain text
7221 #: build/C/man2/fsync.2:61
7222 msgid ""
7223 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
7224 "E<gt>=\\ 500"
7225 msgstr ""
7226
7227 #. type: Plain text
7228 #: build/C/man2/fsync.2:74
7229 msgid ""
7230 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
7231 "modified buffer cache pages for) the file referred to by the file descriptor "
7232 "I<fd> to the disk device (or other permanent storage device) so that all "
7233 "changed information can be retrieved even after the system crashed or was "
7234 "rebooted.  This includes writing through or flushing a disk cache if "
7235 "present.  The call blocks until the device reports that the transfer has "
7236 "completed.  It also flushes metadata information associated with the file "
7237 "(see B<stat>(2))."
7238 msgstr ""
7239
7240 #. type: Plain text
7241 #: build/C/man2/fsync.2:82
7242 msgid ""
7243 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
7244 "directory containing the file has also reached disk.  For that an explicit "
7245 "B<fsync>()  on a file descriptor for the directory is also needed."
7246 msgstr ""
7247
7248 #. type: Plain text
7249 #: build/C/man2/fsync.2:103
7250 msgid ""
7251 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
7252 "metadata unless that metadata is needed in order to allow a subsequent data "
7253 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
7254 "I<st_mtime> (respectively, time of last access and time of last "
7255 "modification; see B<stat>(2))  do not require flushing because they are not "
7256 "necessary for a subsequent data read to be handled correctly.  On the other "
7257 "hand, a change to the file size (I<st_size>, as made by say "
7258 "B<ftruncate>(2)), would require a metadata flush."
7259 msgstr ""
7260
7261 #. type: Plain text
7262 #: build/C/man2/fsync.2:108
7263 msgid ""
7264 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
7265 "do not require all metadata to be synchronized with the disk."
7266 msgstr ""
7267
7268 #. type: Plain text
7269 #: build/C/man2/fsync.2:113
7270 msgid ""
7271 "On success, these system calls return zero.  On error, -1 is returned, and "
7272 "I<errno> is set appropriately."
7273 msgstr ""
7274
7275 #. type: Plain text
7276 #: build/C/man2/fsync.2:118
7277 msgid "I<fd> is not a valid open file descriptor."
7278 msgstr ""
7279
7280 #. type: Plain text
7281 #: build/C/man2/fsync.2:121
7282 msgid "An error occurred during synchronization."
7283 msgstr ""
7284
7285 #. type: TP
7286 #: build/C/man2/fsync.2:121
7287 #, no-wrap
7288 msgid "B<EROFS>, B<EINVAL>"
7289 msgstr ""
7290
7291 #. type: Plain text
7292 #: build/C/man2/fsync.2:125
7293 msgid "I<fd> is bound to a special file which does not support synchronization."
7294 msgstr ""
7295
7296 #. type: Plain text
7297 #: build/C/man2/fsync.2:127
7298 msgid "4.3BSD, POSIX.1-2001."
7299 msgstr ""
7300
7301 #. type: SH
7302 #: build/C/man2/fsync.2:127
7303 #, no-wrap
7304 msgid "AVAILABILITY"
7305 msgstr ""
7306
7307 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
7308 #.  -1: unavailable, 0: ask using sysconf().
7309 #.  glibc defines them to 1.
7310 #. type: Plain text
7311 #: build/C/man2/fsync.2:140
7312 msgid ""
7313 "On POSIX systems on which B<fdatasync>()  is available, "
7314 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
7315 "greater than 0.  (See also B<sysconf>(3).)"
7316 msgstr ""
7317
7318 #. type: Plain text
7319 #: build/C/man2/fsync.2:146
7320 msgid ""
7321 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
7322 "descriptor."
7323 msgstr ""
7324
7325 #. type: Plain text
7326 #: build/C/man2/fsync.2:152
7327 msgid ""
7328 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
7329 "so has no performance advantage."
7330 msgstr ""
7331
7332 #. type: Plain text
7333 #: build/C/man2/fsync.2:162
7334 msgid ""
7335 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
7336 "does not know how to flush disk caches.  In these cases disk caches need to "
7337 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
7338 "operation."
7339 msgstr ""
7340
7341 #. type: Plain text
7342 #: build/C/man2/fsync.2:170
7343 msgid ""
7344 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
7345 "B<mount>(8), B<sync>(8)"
7346 msgstr ""
7347
7348 #. type: TH
7349 #: build/C/man3/get_nprocs_conf.3:26
7350 #, no-wrap
7351 msgid "GET_NPROCS"
7352 msgstr ""
7353
7354 #. type: TH
7355 #: build/C/man3/get_nprocs_conf.3:26
7356 #, no-wrap
7357 msgid "2012-03-20"
7358 msgstr ""
7359
7360 #. type: Plain text
7361 #: build/C/man3/get_nprocs_conf.3:29
7362 msgid "get_nprocs, get_nprocs_conf - get number of processors"
7363 msgstr ""
7364
7365 #. type: Plain text
7366 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
7367 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
7368 msgstr ""
7369
7370 #. type: Plain text
7371 #: build/C/man3/get_nprocs_conf.3:33
7372 msgid "B<int get_nprocs(void);>"
7373 msgstr ""
7374
7375 #. type: Plain text
7376 #: build/C/man3/get_nprocs_conf.3:35
7377 msgid "B<int get_nprocs_conf(void);>"
7378 msgstr ""
7379
7380 #. type: Plain text
7381 #: build/C/man3/get_nprocs_conf.3:39
7382 msgid ""
7383 "The function B<get_nprocs_conf>()  returns the number of processors "
7384 "configured by the operating system."
7385 msgstr ""
7386
7387 #. type: Plain text
7388 #: build/C/man3/get_nprocs_conf.3:46
7389 msgid ""
7390 "The function B<get_nprocs>()  returns the number of processors currently "
7391 "available in the system.  This may be less than the number returned by "
7392 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
7393 "hotpluggable systems)."
7394 msgstr ""
7395
7396 #. type: Plain text
7397 #: build/C/man3/get_nprocs_conf.3:48
7398 msgid "As given in DESCRIPTION."
7399 msgstr ""
7400
7401 #. type: Plain text
7402 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
7403 msgid "These functions are GNU extensions."
7404 msgstr ""
7405
7406 #.  glibc 2.15
7407 #. type: Plain text
7408 #: build/C/man3/get_nprocs_conf.3:57
7409 msgid ""
7410 "The current implementation of these functions is rather expensive, since "
7411 "they open and parse files in the I</sys> filesystem each time they are "
7412 "called."
7413 msgstr ""
7414
7415 #. type: Plain text
7416 #: build/C/man3/get_nprocs_conf.3:62
7417 msgid ""
7418 "The following B<sysconf>(3)  calls make use of the functions documented on "
7419 "this page to return the same information."
7420 msgstr ""
7421
7422 #. type: Plain text
7423 #: build/C/man3/get_nprocs_conf.3:66
7424 #, no-wrap
7425 msgid ""
7426 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
7427 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
7428 msgstr ""
7429
7430 #. type: Plain text
7431 #: build/C/man3/get_nprocs_conf.3:73
7432 msgid ""
7433 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
7434 "can be used."
7435 msgstr ""
7436
7437 #. type: Plain text
7438 #: build/C/man3/get_nprocs_conf.3:77
7439 #, no-wrap
7440 msgid ""
7441 "#include E<lt>stdio.hE<gt>\n"
7442 "#include E<lt>sys/sysinfo.hE<gt>\n"
7443 msgstr ""
7444
7445 #. type: Plain text
7446 #: build/C/man3/get_nprocs_conf.3:86
7447 #, no-wrap
7448 msgid ""
7449 "int\n"
7450 "main(int argc, char *argv[])\n"
7451 "{\n"
7452 "    printf(\"This system has %d processors configured and \"\n"
7453 "            \"%d processors available.\\en\",\n"
7454 "            get_nprocs_conf(), get_nprocs());\n"
7455 "    return 0;\n"
7456 "}\n"
7457 msgstr ""
7458
7459 #. type: TH
7460 #: build/C/man2/get_thread_area.2:8
7461 #, no-wrap
7462 msgid "GET_THREAD_AREA"
7463 msgstr ""
7464
7465 #. type: TH
7466 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
7467 #, no-wrap
7468 msgid "2012-07-13"
7469 msgstr ""
7470
7471 #. type: Plain text
7472 #: build/C/man2/get_thread_area.2:11
7473 msgid "get_thread_area - get a thread-local storage (TLS) area"
7474 msgstr ""
7475
7476 #. type: Plain text
7477 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
7478 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
7479 msgstr ""
7480
7481 #. type: Plain text
7482 #: build/C/man2/get_thread_area.2:17
7483 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
7484 msgstr ""
7485
7486 #. type: Plain text
7487 #: 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
7488 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
7489 msgstr ""
7490
7491 #. type: Plain text
7492 #: build/C/man2/get_thread_area.2:29
7493 msgid ""
7494 "B<get_thread_area>()  returns an entry in the current thread's thread-local "
7495 "storage (TLS) array.  The index of the entry corresponds to the value of "
7496 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
7497 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
7498 "area pointed to by I<u_info>."
7499 msgstr ""
7500
7501 #. type: Plain text
7502 #: build/C/man2/get_thread_area.2:35
7503 msgid ""
7504 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
7505 "sets I<errno> appropriately."
7506 msgstr ""
7507
7508 #. type: Plain text
7509 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7510 msgid "I<u_info> is an invalid pointer."
7511 msgstr ""
7512
7513 #. type: Plain text
7514 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7515 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7516 msgstr ""
7517
7518 #. type: Plain text
7519 #: build/C/man2/get_thread_area.2:46
7520 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7521 msgstr ""
7522
7523 #. type: Plain text
7524 #: build/C/man2/get_thread_area.2:50
7525 msgid ""
7526 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
7527 "that are intended to be portable."
7528 msgstr ""
7529
7530 #. type: Plain text
7531 #: build/C/man2/get_thread_area.2:55
7532 msgid ""
7533 "Glibc does not provide a wrapper for this system call, since it is generally "
7534 "intended for use only by threading libraries.  In the unlikely event that "
7535 "you want to call it directly, use B<syscall>(2)."
7536 msgstr ""
7537
7538 #. type: Plain text
7539 #: build/C/man2/get_thread_area.2:58
7540 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7541 msgstr ""
7542
7543 #. type: TH
7544 #: build/C/man3/getcwd.3:32
7545 #, no-wrap
7546 msgid "GETCWD"
7547 msgstr ""
7548
7549 #. type: Plain text
7550 #: build/C/man3/getcwd.3:35
7551 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7552 msgstr ""
7553
7554 #. type: Plain text
7555 #: build/C/man3/getcwd.3:40
7556 #, no-wrap
7557 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7558 msgstr ""
7559
7560 #. type: Plain text
7561 #: build/C/man3/getcwd.3:42
7562 #, no-wrap
7563 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7564 msgstr ""
7565
7566 #. type: Plain text
7567 #: build/C/man3/getcwd.3:44
7568 #, no-wrap
7569 msgid "B<char *get_current_dir_name(void);>\n"
7570 msgstr ""
7571
7572 #. type: Plain text
7573 #: build/C/man3/getcwd.3:52
7574 msgid "B<get_current_dir_name>():"
7575 msgstr ""
7576
7577 #. type: Plain text
7578 #: build/C/man3/getcwd.3:57
7579 msgid "B<getwd>():"
7580 msgstr ""
7581
7582 #. type: Plain text
7583 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59 build/C/man2/vfork.2:54
7584 #, no-wrap
7585 msgid ""
7586 "_BSD_SOURCE ||\n"
7587 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7588 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7589 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7590 msgstr ""
7591
7592 #. type: Plain text
7593 #: 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
7594 msgid ""
7595 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7596 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7597 msgstr ""
7598
7599 #. type: Plain text
7600 #: build/C/man3/getcwd.3:82
7601 msgid ""
7602 "These functions return a null-terminated string containing an absolute "
7603 "pathname that is the current working directory of the calling process.  The "
7604 "pathname is returned as the function result and via the argument I<buf>, if "
7605 "present."
7606 msgstr ""
7607
7608 #. type: Plain text
7609 #: build/C/man3/getcwd.3:90
7610 msgid ""
7611 "The B<getcwd>()  function copies an absolute pathname of the current working "
7612 "directory to the array pointed to by I<buf>, which is of length I<size>."
7613 msgstr ""
7614
7615 #. type: Plain text
7616 #: build/C/man3/getcwd.3:100
7617 msgid ""
7618 "If the length of the absolute pathname of the current working directory, "
7619 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7620 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7621 "this error, and allocate a larger buffer if necessary."
7622 msgstr ""
7623
7624 #. type: Plain text
7625 #: build/C/man3/getcwd.3:118
7626 msgid ""
7627 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7628 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7629 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7630 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7631 "should B<free>(3)  the returned buffer."
7632 msgstr ""
7633
7634 #. type: Plain text
7635 #: build/C/man3/getcwd.3:131
7636 msgid ""
7637 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7638 "the absolute pathname of the current working directory.  If the environment "
7639 "variable B<PWD> is set, and its value is correct, then that value will be "
7640 "returned.  The caller should B<free>(3)  the returned buffer."
7641 msgstr ""
7642
7643 #. type: Plain text
7644 #: build/C/man3/getcwd.3:156
7645 msgid ""
7646 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7647 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7648 "the absolute pathname of the current working directory, including the "
7649 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7650 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7651 "may not be a compile-time constant; furthermore, its value may depend on the "
7652 "filesystem, see B<pathconf>(3).)  For portability and security reasons, use "
7653 "of B<getwd>()  is deprecated."
7654 msgstr ""
7655
7656 #. type: Plain text
7657 #: build/C/man3/getcwd.3:165
7658 msgid ""
7659 "On success, these functions return a pointer to a string containing the "
7660 "pathname of the current working directory.  In the case B<getcwd>()  and "
7661 "B<getwd>()  this is the same value as I<buf>."
7662 msgstr ""
7663
7664 #. type: Plain text
7665 #: build/C/man3/getcwd.3:172
7666 msgid ""
7667 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7668 "error.  The contents of the array pointed to by I<buf> are undefined on "
7669 "error."
7670 msgstr ""
7671
7672 #. type: Plain text
7673 #: build/C/man3/getcwd.3:176
7674 msgid "Permission to read or search a component of the filename was denied."
7675 msgstr ""
7676
7677 #. type: Plain text
7678 #: build/C/man3/getcwd.3:180
7679 msgid "I<buf> points to a bad address."
7680 msgstr ""
7681
7682 #. type: Plain text
7683 #: build/C/man3/getcwd.3:187
7684 msgid "The I<size> argument is zero and I<buf> is not a null pointer."
7685 msgstr ""
7686
7687 #. type: TP
7688 #: build/C/man3/getcwd.3:187
7689 #, no-wrap
7690 msgid "EINVAL"
7691 msgstr ""
7692
7693 #. type: Plain text
7694 #: build/C/man3/getcwd.3:192
7695 msgid "B<getwd>(): I<buf> is NULL."
7696 msgstr ""
7697
7698 #. type: TP
7699 #: build/C/man3/getcwd.3:192
7700 #, no-wrap
7701 msgid "ENAMETOOLONG"
7702 msgstr ""
7703
7704 #. type: Plain text
7705 #: build/C/man3/getcwd.3:198
7706 msgid ""
7707 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7708 "B<PATH_MAX> bytes."
7709 msgstr ""
7710
7711 #. type: Plain text
7712 #: build/C/man3/getcwd.3:201
7713 msgid "The current working directory has been unlinked."
7714 msgstr ""
7715
7716 #. type: TP
7717 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:114
7718 #, no-wrap
7719 msgid "B<ERANGE>"
7720 msgstr ""
7721
7722 #. type: Plain text
7723 #: build/C/man3/getcwd.3:208
7724 msgid ""
7725 "The I<size> argument is less than the length of the absolute pathname of the "
7726 "working directory, including the terminating null byte.  You need to "
7727 "allocate a bigger array and try again."
7728 msgstr ""
7729
7730 #. type: Plain text
7731 #: build/C/man3/getcwd.3:216
7732 msgid ""
7733 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7734 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7735 msgstr ""
7736
7737 #. type: Plain text
7738 #: build/C/man3/getcwd.3:227
7739 msgid ""
7740 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7741 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7742 "POSIX.1-2001 does not define any errors for B<getwd>()."
7743 msgstr ""
7744
7745 #. type: Plain text
7746 #: build/C/man3/getcwd.3:230
7747 msgid "B<get_current_dir_name>()  is a GNU extension."
7748 msgstr ""
7749
7750 #. type: Plain text
7751 #: build/C/man3/getcwd.3:241
7752 msgid ""
7753 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7754 "older systems it would query I</proc/self/cwd>.  If both system call and "
7755 "proc filesystem are missing, a generic implementation is called.  Only in "
7756 "that case can these calls fail under Linux with B<EACCES>."
7757 msgstr ""
7758
7759 #. type: Plain text
7760 #: build/C/man3/getcwd.3:249
7761 msgid ""
7762 "These functions are often used to save the location of the current working "
7763 "directory for the purpose of returning to it later.  Opening the current "
7764 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7765 "and more reliable alternative when sufficiently many file descriptors are "
7766 "available, especially on platforms other than Linux."
7767 msgstr ""
7768
7769 #. type: Plain text
7770 #: build/C/man3/getcwd.3:256
7771 msgid ""
7772 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7773 "B<malloc>(3)"
7774 msgstr ""
7775
7776 #. type: TH
7777 #: build/C/man2/getdomainname.2:29
7778 #, no-wrap
7779 msgid "GETDOMAINNAME"
7780 msgstr ""
7781
7782 #. type: TH
7783 #: build/C/man2/getdomainname.2:29
7784 #, no-wrap
7785 msgid "2012-10-25"
7786 msgstr ""
7787
7788 #. type: Plain text
7789 #: build/C/man2/getdomainname.2:32
7790 msgid "getdomainname, setdomainname - get/set NIS domain name"
7791 msgstr ""
7792
7793 #. type: Plain text
7794 #: build/C/man2/getdomainname.2:36
7795 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7796 msgstr ""
7797
7798 #. type: Plain text
7799 #: build/C/man2/getdomainname.2:38
7800 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7801 msgstr ""
7802
7803 #. type: Plain text
7804 #: build/C/man2/getdomainname.2:47
7805 msgid "B<getdomainname>(), B<setdomainname>():"
7806 msgstr ""
7807
7808 #. type: Plain text
7809 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7810 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7811 msgstr ""
7812
7813 #. type: Plain text
7814 #: build/C/man2/getdomainname.2:54
7815 msgid ""
7816 "These functions are used to access or to change the NIS domain name of the "
7817 "host system."
7818 msgstr ""
7819
7820 #. type: Plain text
7821 #: build/C/man2/getdomainname.2:65
7822 msgid ""
7823 "B<setdomainname>()  sets the domain name to the value given in the character "
7824 "array I<name>.  The I<len> argument specifies the number of bytes in "
7825 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7826 msgstr ""
7827
7828 #. type: Plain text
7829 #: build/C/man2/getdomainname.2:75
7830 msgid ""
7831 "B<getdomainname>()  returns the null-terminated domain name in the character "
7832 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7833 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7834 "first I<len> bytes (glibc) or gives an error (libc)."
7835 msgstr ""
7836
7837 #. type: Plain text
7838 #: build/C/man2/getdomainname.2:83
7839 msgid "B<setdomainname>()  can fail with the following errors:"
7840 msgstr ""
7841
7842 #. type: Plain text
7843 #: build/C/man2/getdomainname.2:87
7844 msgid "I<name> pointed outside of user address space."
7845 msgstr ""
7846
7847 #. type: Plain text
7848 #: build/C/man2/getdomainname.2:91
7849 msgid "I<len> was negative or too large."
7850 msgstr ""
7851
7852 #. type: Plain text
7853 #: build/C/man2/getdomainname.2:96
7854 msgid ""
7855 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7856 "capability)."
7857 msgstr ""
7858
7859 #. type: Plain text
7860 #: build/C/man2/getdomainname.2:99
7861 msgid "B<getdomainname>()  can fail with the following errors:"
7862 msgstr ""
7863
7864 #. type: Plain text
7865 #: build/C/man2/getdomainname.2:110
7866 msgid ""
7867 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7868 "than I<len> bytes."
7869 msgstr ""
7870
7871 #.  But they appear on most systems...
7872 #. type: Plain text
7873 #: build/C/man2/getdomainname.2:113
7874 msgid "POSIX does not specify these calls."
7875 msgstr ""
7876
7877 #. type: Plain text
7878 #: build/C/man2/getdomainname.2:117
7879 msgid ""
7880 "Since Linux 1.0, the limit on the length of a domain name, including the "
7881 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7882 msgstr ""
7883
7884 #. type: Plain text
7885 #: build/C/man2/getdomainname.2:127
7886 msgid ""
7887 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7888 "system call; instead, glibc implements B<getdomainname>()  as a library "
7889 "function that returns a copy of the I<domainname> field returned from a call "
7890 "to B<uname>(2)."
7891 msgstr ""
7892
7893 #. type: Plain text
7894 #: build/C/man2/getdomainname.2:131
7895 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7896 msgstr ""
7897
7898 #. type: TH
7899 #: build/C/man3/getdtablesize.3:27
7900 #, no-wrap
7901 msgid "GETDTABLESIZE"
7902 msgstr ""
7903
7904 #. type: TH
7905 #: build/C/man3/getdtablesize.3:27
7906 #, no-wrap
7907 msgid "2013-02-05"
7908 msgstr ""
7909
7910 #. type: Plain text
7911 #: build/C/man3/getdtablesize.3:30
7912 msgid "getdtablesize - get descriptor table size"
7913 msgstr ""
7914
7915 #. type: Plain text
7916 #: build/C/man3/getdtablesize.3:34
7917 msgid "B<int getdtablesize(void);>"
7918 msgstr ""
7919
7920 #. type: Plain text
7921 #: build/C/man3/getdtablesize.3:41
7922 msgid "B<getdtablesize>():"
7923 msgstr ""
7924
7925 #. type: Plain text
7926 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7927 #, no-wrap
7928 msgid ""
7929 "_BSD_SOURCE ||\n"
7930 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7931 msgstr ""
7932
7933 #. type: Plain text
7934 #: build/C/man3/getdtablesize.3:61
7935 msgid ""
7936 "B<getdtablesize>()  returns the maximum number of files a process can have "
7937 "open, one more than the largest possible value for a file descriptor."
7938 msgstr ""
7939
7940 #. type: Plain text
7941 #: build/C/man3/getdtablesize.3:63
7942 msgid "The current limit on the number of open files per process."
7943 msgstr ""
7944
7945 #. type: Plain text
7946 #: build/C/man3/getdtablesize.3:69
7947 msgid ""
7948 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7949 "B<getrlimit>(2); see NOTES below."
7950 msgstr ""
7951
7952 #. type: Plain text
7953 #: build/C/man3/getdtablesize.3:77
7954 msgid ""
7955 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7956 "It is not specified in POSIX.1-2001; portable applications should employ "
7957 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7958 msgstr ""
7959
7960 #. type: Plain text
7961 #: build/C/man3/getdtablesize.3:90
7962 msgid ""
7963 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7964 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7965 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7966 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7967 msgstr ""
7968
7969 #. type: Plain text
7970 #: build/C/man3/getdtablesize.3:95
7971 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7972 msgstr ""
7973
7974 #. type: TH
7975 #: build/C/man3/gethostid.3:29
7976 #, no-wrap
7977 msgid "GETHOSTID"
7978 msgstr ""
7979
7980 #. type: Plain text
7981 #: build/C/man3/gethostid.3:32
7982 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7983 msgstr ""
7984
7985 #. type: Plain text
7986 #: build/C/man3/gethostid.3:36
7987 msgid "B<long gethostid(void);>"
7988 msgstr ""
7989
7990 #. type: Plain text
7991 #: build/C/man3/gethostid.3:38
7992 msgid "B<int sethostid(long >I<hostid>B<);>"
7993 msgstr ""
7994
7995 #. type: Plain text
7996 #: build/C/man3/gethostid.3:47
7997 msgid "B<gethostid>():"
7998 msgstr ""
7999
8000 #. type: Plain text
8001 #: build/C/man3/gethostid.3:52
8002 msgid "B<sethostid>():"
8003 msgstr ""
8004
8005 #. type: Plain text
8006 #: build/C/man3/gethostid.3:67
8007 msgid ""
8008 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
8009 "identifier for the current machine.  The 32-bit identifier is intended to be "
8010 "unique among all UNIX systems in existence.  This normally resembles the "
8011 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
8012 "and thus usually never needs to be set."
8013 msgstr ""
8014
8015 #. type: Plain text
8016 #: build/C/man3/gethostid.3:71
8017 msgid "The B<sethostid>()  call is restricted to the superuser."
8018 msgstr ""
8019
8020 #. type: Plain text
8021 #: build/C/man3/gethostid.3:75
8022 msgid ""
8023 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
8024 "B<sethostid>()."
8025 msgstr ""
8026
8027 #. type: Plain text
8028 #: build/C/man3/gethostid.3:81
8029 msgid ""
8030 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
8031 "I<errno> is set to indicate the error."
8032 msgstr ""
8033
8034 #. type: Plain text
8035 #: build/C/man3/gethostid.3:84
8036 msgid "B<sethostid>()  can fail with the following errors:"
8037 msgstr ""
8038
8039 #. type: Plain text
8040 #: build/C/man3/gethostid.3:88
8041 msgid ""
8042 "The caller did not have permission to write to the file used to store the "
8043 "host ID."
8044 msgstr ""
8045
8046 #. type: Plain text
8047 #: build/C/man3/gethostid.3:92
8048 msgid ""
8049 "The calling process's effective user or group ID is not the same as its "
8050 "corresponding real ID."
8051 msgstr ""
8052
8053 #. type: Plain text
8054 #: build/C/man3/gethostid.3:102
8055 msgid ""
8056 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
8057 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
8058 "B<gethostid>()  but not B<sethostid>()."
8059 msgstr ""
8060
8061 #.  libc5 used /etc/hostid; libc4 didn't have these functions
8062 #. type: Plain text
8063 #: build/C/man3/gethostid.3:111
8064 msgid ""
8065 "In the glibc implementation, the I<hostid> is stored in the file "
8066 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
8067 "was used.)"
8068 msgstr ""
8069
8070 #. type: Plain text
8071 #: build/C/man3/gethostid.3:122
8072 msgid ""
8073 "In the glibc implementation, if B<gethostid>()  cannot open the file "
8074 "containing the host ID, then it obtains the hostname using "
8075 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
8076 "to obtain the host's IPv4 address, and returns a value obtained by "
8077 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
8078 msgstr ""
8079
8080 #. type: Plain text
8081 #: build/C/man3/gethostid.3:124
8082 msgid "It is impossible to ensure that the identifier is globally unique."
8083 msgstr ""
8084
8085 #. type: Plain text
8086 #: build/C/man3/gethostid.3:127
8087 msgid "B<hostid>(1), B<gethostbyname>(3)"
8088 msgstr ""
8089
8090 #. type: TH
8091 #: build/C/man2/gethostname.2:32
8092 #, no-wrap
8093 msgid "GETHOSTNAME"
8094 msgstr ""
8095
8096 #. type: TH
8097 #: build/C/man2/gethostname.2:32
8098 #, no-wrap
8099 msgid "2010-09-26"
8100 msgstr ""
8101
8102 #. type: Plain text
8103 #: build/C/man2/gethostname.2:35
8104 msgid "gethostname, sethostname - get/set hostname"
8105 msgstr ""
8106
8107 #. type: Plain text
8108 #: build/C/man2/gethostname.2:39
8109 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
8110 msgstr ""
8111
8112 #. type: Plain text
8113 #: build/C/man2/gethostname.2:41
8114 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
8115 msgstr ""
8116
8117 #. type: Plain text
8118 #: build/C/man2/gethostname.2:50
8119 msgid "B<gethostname>():"
8120 msgstr ""
8121
8122 #. type: Plain text
8123 #: build/C/man2/gethostname.2:53
8124 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
8125 msgstr ""
8126
8127 #. type: Plain text
8128 #: build/C/man2/gethostname.2:55
8129 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
8130 msgstr ""
8131
8132 #. type: Plain text
8133 #: build/C/man2/gethostname.2:58
8134 msgid "B<sethostname>():"
8135 msgstr ""
8136
8137 #. type: Plain text
8138 #: build/C/man2/gethostname.2:66
8139 msgid ""
8140 "These system calls are used to access or to change the hostname of the "
8141 "current processor."
8142 msgstr ""
8143
8144 #. type: Plain text
8145 #: build/C/man2/gethostname.2:77
8146 msgid ""
8147 "B<sethostname>()  sets the hostname to the value given in the character "
8148 "array I<name>.  The I<len> argument specifies the number of bytes in "
8149 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
8150 msgstr ""
8151
8152 #. type: Plain text
8153 #: build/C/man2/gethostname.2:89
8154 msgid ""
8155 "B<gethostname>()  returns the null-terminated hostname in the character "
8156 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
8157 "hostname is too large to fit, then the name is truncated, and no error is "
8158 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
8159 "occurs, then it is unspecified whether the returned buffer includes a "
8160 "terminating null byte."
8161 msgstr ""
8162
8163 #. type: Plain text
8164 #: build/C/man2/gethostname.2:99
8165 msgid "I<name> is an invalid address."
8166 msgstr ""
8167
8168 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
8169 #.  unsigned type; can occur for the underlying system call.
8170 #. type: Plain text
8171 #: build/C/man2/gethostname.2:109
8172 msgid ""
8173 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
8174 "maximum allowed size."
8175 msgstr ""
8176
8177 #. type: Plain text
8178 #: build/C/man2/gethostname.2:117
8179 msgid ""
8180 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
8181 "version 2.1, glibc uses B<EINVAL> for this case.)"
8182 msgstr ""
8183
8184 #. type: Plain text
8185 #: build/C/man2/gethostname.2:124
8186 msgid ""
8187 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
8188 "capability."
8189 msgstr ""
8190
8191 #. type: Plain text
8192 #: build/C/man2/gethostname.2:130
8193 msgid ""
8194 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
8195 "specifies B<gethostname>()  but not B<sethostname>()."
8196 msgstr ""
8197
8198 #. type: Plain text
8199 #: build/C/man2/gethostname.2:140
8200 msgid ""
8201 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
8202 "guarantees that \"Host names (not including the terminating null byte) are "
8203 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
8204 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
8205 "imposed a limit of 8 bytes)."
8206 msgstr ""
8207
8208 #. type: Plain text
8209 #: build/C/man2/gethostname.2:163
8210 msgid ""
8211 "The GNU C library does not employ the B<gethostname>()  system call; "
8212 "instead, it implements B<gethostname>()  as a library function that calls "
8213 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
8214 "field into I<name>.  Having performed the copy, the function then checks if "
8215 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
8216 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
8217 "this case, a terminating null byte is not included in the returned I<name>."
8218 msgstr ""
8219
8220 #.  At least glibc 2.0 and 2.1, older versions not checked
8221 #. type: Plain text
8222 #: build/C/man2/gethostname.2:176
8223 msgid ""
8224 "Versions of glibc before 2.2 handle the case where the length of the "
8225 "I<nodename> was greater than or equal to I<len> differently: nothing is "
8226 "copied into I<name> and the function returns -1 with I<errno> set to "
8227 "B<ENAMETOOLONG>."
8228 msgstr ""
8229
8230 #. type: Plain text
8231 #: build/C/man2/gethostname.2:180
8232 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
8233 msgstr ""
8234
8235 #. type: TH
8236 #: build/C/man3/getlogin.3:28
8237 #, no-wrap
8238 msgid "GETLOGIN"
8239 msgstr ""
8240
8241 #. type: TH
8242 #: build/C/man3/getlogin.3:28
8243 #, no-wrap
8244 msgid "2013-04-19"
8245 msgstr ""
8246
8247 #. type: Plain text
8248 #: build/C/man3/getlogin.3:31
8249 msgid "getlogin, getlogin_r, cuserid - get username"
8250 msgstr ""
8251
8252 #. type: Plain text
8253 #: build/C/man3/getlogin.3:35
8254 msgid "B<char *getlogin(void);>"
8255 msgstr ""
8256
8257 #. type: Plain text
8258 #: build/C/man3/getlogin.3:37
8259 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
8260 msgstr ""
8261
8262 #. type: Plain text
8263 #: build/C/man3/getlogin.3:39
8264 msgid "B<#include E<lt>stdio.hE<gt>>"
8265 msgstr ""
8266
8267 #. type: Plain text
8268 #: build/C/man3/getlogin.3:41
8269 msgid "B<char *cuserid(char *>I<string>B<);>"
8270 msgstr ""
8271
8272 #. type: Plain text
8273 #: build/C/man3/getlogin.3:49
8274 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
8275 msgstr ""
8276
8277 #. type: Plain text
8278 #: build/C/man3/getlogin.3:52
8279 msgid "B<cuserid>(): _XOPEN_SOURCE"
8280 msgstr ""
8281
8282 #. type: Plain text
8283 #: build/C/man3/getlogin.3:61
8284 msgid ""
8285 "B<getlogin>()  returns a pointer to a string containing the name of the user "
8286 "logged in on the controlling terminal of the process, or a null pointer if "
8287 "this information cannot be determined.  The string is statically allocated "
8288 "and might be overwritten on subsequent calls to this function or to "
8289 "B<cuserid>()."
8290 msgstr ""
8291
8292 #. type: Plain text
8293 #: build/C/man3/getlogin.3:67
8294 msgid ""
8295 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
8296 "I<bufsize>."
8297 msgstr ""
8298
8299 #. type: Plain text
8300 #: build/C/man3/getlogin.3:79
8301 msgid ""
8302 "B<cuserid>()  returns a pointer to a string containing a username associated "
8303 "with the effective user ID of the process.  If I<string> is not a null "
8304 "pointer, it should be an array that can hold at least B<L_cuserid> "
8305 "characters; the string is returned in this array.  Otherwise, a pointer to a "
8306 "string in a static area is returned.  This string is statically allocated "
8307 "and might be overwritten on subsequent calls to this function or to "
8308 "B<getlogin>()."
8309 msgstr ""
8310
8311 #. type: Plain text
8312 #: build/C/man3/getlogin.3:83
8313 msgid ""
8314 "The macro B<L_cuserid> is an integer constant that indicates how long an "
8315 "array you might need to store a username.  B<L_cuserid> is declared in "
8316 "I<E<lt>stdio.hE<gt>>."
8317 msgstr ""
8318
8319 #. type: Plain text
8320 #: build/C/man3/getlogin.3:90
8321 msgid ""
8322 "These functions let your program identify positively the user who is running "
8323 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
8324 "(These can differ when set-user-ID programs are involved.)"
8325 msgstr ""
8326
8327 #. type: Plain text
8328 #: build/C/man3/getlogin.3:95
8329 msgid ""
8330 "For most purposes, it is more useful to use the environment variable "
8331 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
8332 "because the user can set B<LOGNAME> arbitrarily."
8333 msgstr ""
8334
8335 #. type: Plain text
8336 #: build/C/man3/getlogin.3:103
8337 msgid ""
8338 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
8339 "on failure, with I<errno> set to indicate the cause of the error.  "
8340 "B<getlogin_r>()  returns 0 when successful, and nonzero on failure."
8341 msgstr ""
8342
8343 #. type: Plain text
8344 #: build/C/man3/getlogin.3:105
8345 msgid "POSIX specifies"
8346 msgstr ""
8347
8348 #. type: Plain text
8349 #: build/C/man3/getlogin.3:108
8350 msgid "The calling process already has the maximum allowed number of open files."
8351 msgstr ""
8352
8353 #. type: Plain text
8354 #: build/C/man3/getlogin.3:111
8355 msgid "The system already has the maximum allowed number of open files."
8356 msgstr ""
8357
8358 #. type: TP
8359 #: build/C/man3/getlogin.3:111
8360 #, no-wrap
8361 msgid "B<ENXIO>"
8362 msgstr ""
8363
8364 #. type: Plain text
8365 #: build/C/man3/getlogin.3:114
8366 msgid "The calling process has no controlling terminal."
8367 msgstr ""
8368
8369 #. type: Plain text
8370 #: build/C/man3/getlogin.3:120
8371 msgid ""
8372 "(getlogin_r)  The length of the username, including the terminating null "
8373 "byte (\\(aq\\e0\\(aq), is larger than I<bufsize>."
8374 msgstr ""
8375
8376 #. type: Plain text
8377 #: build/C/man3/getlogin.3:122
8378 msgid "Linux/glibc also has"
8379 msgstr ""
8380
8381 #. type: Plain text
8382 #: build/C/man3/getlogin.3:125
8383 msgid "There was no corresponding entry in the utmp-file."
8384 msgstr ""
8385
8386 #. type: Plain text
8387 #: build/C/man3/getlogin.3:128
8388 msgid "Insufficient memory to allocate passwd structure."
8389 msgstr ""
8390
8391 #. type: TP
8392 #: build/C/man3/getlogin.3:128 build/C/man2/ioctl.2:109 build/C/man2/ioctl.2:113 build/C/man3/tcgetpgrp.3:95
8393 #, no-wrap
8394 msgid "B<ENOTTY>"
8395 msgstr ""
8396
8397 #. type: Plain text
8398 #: build/C/man3/getlogin.3:132
8399 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
8400 msgstr ""
8401
8402 #. type: TP
8403 #: build/C/man3/getlogin.3:133
8404 #, no-wrap
8405 msgid "I</etc/passwd>"
8406 msgstr ""
8407
8408 #. type: Plain text
8409 #: build/C/man3/getlogin.3:136
8410 msgid "password database file"
8411 msgstr ""
8412
8413 #. type: TP
8414 #: build/C/man3/getlogin.3:136
8415 #, no-wrap
8416 msgid "I</var/run/utmp>"
8417 msgstr ""
8418
8419 #. type: Plain text
8420 #: build/C/man3/getlogin.3:140
8421 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
8422 msgstr ""
8423
8424 #. type: Plain text
8425 #: build/C/man3/getlogin.3:145
8426 msgid "The B<getlogin>()  function is not thread-safe."
8427 msgstr ""
8428
8429 #. type: Plain text
8430 #: build/C/man3/getlogin.3:149
8431 msgid "The B<getlogin_r>()  function is thread-safe."
8432 msgstr ""
8433
8434 #. type: Plain text
8435 #: build/C/man3/getlogin.3:154
8436 msgid ""
8437 "The B<cuserid>()  function is thread-safe with exceptions.  It is not "
8438 "thread-safe if called with a NULL parameter."
8439 msgstr ""
8440
8441 #. type: Plain text
8442 #: build/C/man3/getlogin.3:159
8443 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
8444 msgstr ""
8445
8446 #. type: Plain text
8447 #: build/C/man3/getlogin.3:170
8448 msgid ""
8449 "System V has a B<cuserid>()  function which uses the real user ID rather "
8450 "than the effective user ID.  The B<cuserid>()  function was included in the "
8451 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
8452 "SUSv2, but removed in POSIX.1-2001."
8453 msgstr ""
8454
8455 #. type: Plain text
8456 #: build/C/man3/getlogin.3:177
8457 msgid ""
8458 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
8459 "a session, even if it has no controlling terminal."
8460 msgstr ""
8461
8462 #. type: Plain text
8463 #: build/C/man3/getlogin.3:189
8464 msgid ""
8465 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
8466 "does not work at all, because some program messed up the utmp file.  Often, "
8467 "it gives only the first 8 characters of the login name.  The user currently "
8468 "logged in on the controlling terminal of our program need not be the user "
8469 "who started it.  Avoid B<getlogin>()  for security-related purposes."
8470 msgstr ""
8471
8472 #. type: Plain text
8473 #: build/C/man3/getlogin.3:199
8474 msgid ""
8475 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
8476 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
8477 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
8478 "redirected.)"
8479 msgstr ""
8480
8481 #. type: Plain text
8482 #: build/C/man3/getlogin.3:209
8483 msgid ""
8484 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
8485 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
8486 "that is what you meant.  B<Do not use> B<cuserid>()."
8487 msgstr ""
8488
8489 #. type: Plain text
8490 #: build/C/man3/getlogin.3:213
8491 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
8492 msgstr ""
8493
8494 #. type: TH
8495 #: build/C/man3/getopt.3:41
8496 #, no-wrap
8497 msgid "GETOPT"
8498 msgstr ""
8499
8500 #. type: TH
8501 #: build/C/man3/getopt.3:41
8502 #, no-wrap
8503 msgid "2010-11-01"
8504 msgstr ""
8505
8506 #. type: Plain text
8507 #: build/C/man3/getopt.3:45
8508 msgid ""
8509 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
8510 "Parse command-line options"
8511 msgstr ""
8512
8513 #. type: Plain text
8514 #: build/C/man3/getopt.3:51
8515 #, no-wrap
8516 msgid ""
8517 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8518 "B<           const char *>I<optstring>B<);>\n"
8519 msgstr ""
8520
8521 #. type: Plain text
8522 #: build/C/man3/getopt.3:54
8523 #, no-wrap
8524 msgid ""
8525 "B<extern char *>I<optarg>B<;>\n"
8526 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
8527 msgstr ""
8528
8529 #. type: Plain text
8530 #: build/C/man3/getopt.3:56
8531 #, no-wrap
8532 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8533 msgstr ""
8534
8535 #. type: Plain text
8536 #: build/C/man3/getopt.3:60
8537 #, no-wrap
8538 msgid ""
8539 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8540 "B<           const char *>I<optstring>B<,>\n"
8541 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8542 msgstr ""
8543
8544 #. type: Plain text
8545 #: build/C/man3/getopt.3:64
8546 #, no-wrap
8547 msgid ""
8548 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8549 "B<           const char *>I<optstring>B<,>\n"
8550 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8551 msgstr ""
8552
8553 #. type: Plain text
8554 #: build/C/man3/getopt.3:74
8555 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8556 msgstr ""
8557
8558 #. type: Plain text
8559 #: build/C/man3/getopt.3:78
8560 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8561 msgstr ""
8562
8563 #. type: Plain text
8564 #: build/C/man3/getopt.3:99
8565 msgid ""
8566 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
8567 "I<argc> and I<argv> are the argument count and array as passed to the "
8568 "I<main>()  function on program invocation.  An element of I<argv> that "
8569 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
8570 "element.  The characters of this element (aside from the initial "
8571 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
8572 "it returns successively each of the option characters from each of the "
8573 "option elements."
8574 msgstr ""
8575
8576 #. type: Plain text
8577 #: build/C/man3/getopt.3:108
8578 msgid ""
8579 "The variable I<optind> is the index of the next element to be processed in "
8580 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
8581 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
8582 "argument vector."
8583 msgstr ""
8584
8585 #. type: Plain text
8586 #: build/C/man3/getopt.3:118
8587 msgid ""
8588 "If B<getopt>()  finds another option character, it returns that character, "
8589 "updating the external variable I<optind> and a static variable I<nextchar> "
8590 "so that the next call to B<getopt>()  can resume the scan with the following "
8591 "option character or I<argv>-element."
8592 msgstr ""
8593
8594 #. type: Plain text
8595 #: build/C/man3/getopt.3:124
8596 msgid ""
8597 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8598 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8599 "an option."
8600 msgstr ""
8601
8602 #. type: Plain text
8603 #: build/C/man3/getopt.3:151
8604 msgid ""
8605 "I<optstring> is a string containing the legitimate option characters.  If "
8606 "such a character is followed by a colon, the option requires an argument, so "
8607 "B<getopt>()  places a pointer to the following text in the same "
8608 "I<argv>-element, or the text of the following I<argv>-element, in "
8609 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8610 "text in the current I<argv>-element (i.e., in the same word as the option "
8611 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8612 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8613 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8614 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8615 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8616 "not available with libraries before glibc 2."
8617 msgstr ""
8618
8619 #. type: Plain text
8620 #: build/C/man3/getopt.3:169
8621 msgid ""
8622 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8623 "that eventually all the nonoptions are at the end.  Two other modes are also "
8624 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8625 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8626 "as soon as a nonoption argument is encountered.  If the first character of "
8627 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8628 "as if it were the argument of an option with character code 1.  (This is "
8629 "used by programs that were written to expect options and other "
8630 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8631 "The special argument \"--\" forces an end of option-scanning regardless of "
8632 "the scanning mode."
8633 msgstr ""
8634
8635 #. type: Plain text
8636 #: build/C/man3/getopt.3:177
8637 msgid ""
8638 "If B<getopt>()  does not recognize an option character, it prints an error "
8639 "message to I<stderr>, stores the character in I<optopt>, and returns "
8640 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8641 "I<opterr> to 0."
8642 msgstr ""
8643
8644 #. type: Plain text
8645 #: build/C/man3/getopt.3:196
8646 msgid ""
8647 "If B<getopt>()  finds an option character in I<argv> that was not included "
8648 "in I<optstring>, or if it detects a missing option argument, it returns "
8649 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8650 "character.  If the first character (following any optional \\(aq+\\(aq or "
8651 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8652 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8653 "missing option argument.  If an error was detected, and the first character "
8654 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8655 "nonzero (which is the default), B<getopt>()  prints an error message."
8656 msgstr ""
8657
8658 #. type: SS
8659 #: build/C/man3/getopt.3:196
8660 #, no-wrap
8661 msgid "getopt_long() and getopt_long_only()"
8662 msgstr ""
8663
8664 #. type: Plain text
8665 #: build/C/man3/getopt.3:212
8666 msgid ""
8667 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8668 "accepts long options, started with two dashes.  (If the program accepts only "
8669 "long options, then I<optstring> should be specified as an empty string "
8670 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8671 "is unique or is an exact match for some defined option.  A long option may "
8672 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8673 msgstr ""
8674
8675 #. type: Plain text
8676 #: build/C/man3/getopt.3:219
8677 msgid ""
8678 "I<longopts> is a pointer to the first element of an array of I<struct "
8679 "option> declared in I<E<lt>getopt.hE<gt>> as"
8680 msgstr ""
8681
8682 #. type: Plain text
8683 #: build/C/man3/getopt.3:228
8684 #, no-wrap
8685 msgid ""
8686 "struct option {\n"
8687 "    const char *name;\n"
8688 "    int         has_arg;\n"
8689 "    int        *flag;\n"
8690 "    int         val;\n"
8691 "};\n"
8692 msgstr ""
8693
8694 #. type: Plain text
8695 #: build/C/man3/getopt.3:232
8696 msgid "The meanings of the different fields are:"
8697 msgstr ""
8698
8699 #. type: TP
8700 #: build/C/man3/getopt.3:232
8701 #, no-wrap
8702 msgid "I<name>"
8703 msgstr ""
8704
8705 #. type: Plain text
8706 #: build/C/man3/getopt.3:235
8707 msgid "is the name of the long option."
8708 msgstr ""
8709
8710 #. type: TP
8711 #: build/C/man3/getopt.3:235
8712 #, no-wrap
8713 msgid "I<has_arg>"
8714 msgstr ""
8715
8716 #. type: Plain text
8717 #: build/C/man3/getopt.3:241
8718 msgid ""
8719 "is: B<no_argument> (or 0) if the option does not take an argument; "
8720 "B<required_argument> (or 1) if the option requires an argument; or "
8721 "B<optional_argument> (or 2) if the option takes an optional argument."
8722 msgstr ""
8723
8724 #. type: TP
8725 #: build/C/man3/getopt.3:241
8726 #, no-wrap
8727 msgid "I<flag>"
8728 msgstr ""
8729
8730 #. type: Plain text
8731 #: build/C/man3/getopt.3:255
8732 msgid ""
8733 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8734 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8735 "may set I<val> to the equivalent short option character.)  Otherwise, "
8736 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8737 "to I<val> if the option is found, but left unchanged if the option is not "
8738 "found."
8739 msgstr ""
8740
8741 #. type: TP
8742 #: build/C/man3/getopt.3:255
8743 #, no-wrap
8744 msgid "I<val>"
8745 msgstr ""
8746
8747 #. type: Plain text
8748 #: build/C/man3/getopt.3:259
8749 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8750 msgstr ""
8751
8752 #. type: Plain text
8753 #: build/C/man3/getopt.3:261
8754 msgid "The last element of the array has to be filled with zeros."
8755 msgstr ""
8756
8757 #. type: Plain text
8758 #: build/C/man3/getopt.3:265
8759 msgid ""
8760 "If I<longindex> is not NULL, it points to a variable which is set to the "
8761 "index of the long option relative to I<longopts>."
8762 msgstr ""
8763
8764 #. type: Plain text
8765 #: build/C/man3/getopt.3:274
8766 msgid ""
8767 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8768 "\"--\" can indicate a long option.  If an option that starts with "
8769 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8770 "option, it is parsed as a short option instead."
8771 msgstr ""
8772
8773 #. type: Plain text
8774 #: build/C/man3/getopt.3:292
8775 msgid ""
8776 "If an option was successfully found, then B<getopt>()  returns the option "
8777 "character.  If all command-line options have been parsed, then B<getopt>()  "
8778 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8779 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8780 "option with a missing argument, then the return value depends on the first "
8781 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8782 "returned; otherwise \\(aq?\\(aq is returned."
8783 msgstr ""
8784
8785 #. type: Plain text
8786 #: build/C/man3/getopt.3:304
8787 msgid ""
8788 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8789 "character when a short option is recognized.  For a long option, they return "
8790 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8791 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8792 "extraneous parameter."
8793 msgstr ""
8794
8795 #. type: SH
8796 #: build/C/man3/getopt.3:304
8797 #, no-wrap
8798 msgid "ENVIRONMENT"
8799 msgstr ""
8800
8801 #. type: TP
8802 #: build/C/man3/getopt.3:305
8803 #, no-wrap
8804 msgid "B<POSIXLY_CORRECT>"
8805 msgstr ""
8806
8807 #. type: Plain text
8808 #: build/C/man3/getopt.3:309
8809 msgid ""
8810 "If this is set, then option processing stops as soon as a nonoption argument "
8811 "is encountered."
8812 msgstr ""
8813
8814 #. type: TP
8815 #: build/C/man3/getopt.3:309
8816 #, no-wrap
8817 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8818 msgstr ""
8819
8820 #. type: Plain text
8821 #: build/C/man3/getopt.3:318
8822 msgid ""
8823 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8824 "arguments are the results of wildcard expansion and so should not be "
8825 "considered as options.  This behavior was removed in B<bash>(1)  version "
8826 "2.01, but the support remains in glibc."
8827 msgstr ""
8828
8829 #. type: TP
8830 #: build/C/man3/getopt.3:319
8831 #, no-wrap
8832 msgid "B<getopt>():"
8833 msgstr ""
8834
8835 #. type: Plain text
8836 #: build/C/man3/getopt.3:329
8837 msgid ""
8838 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8839 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8840 "const, because we permute them.  We pretend they're const in the prototype "
8841 "to be compatible with other systems."
8842 msgstr ""
8843
8844 #. type: Plain text
8845 #: build/C/man3/getopt.3:333
8846 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8847 msgstr ""
8848
8849 #. type: Plain text
8850 #: build/C/man3/getopt.3:347
8851 msgid ""
8852 "On some older implementations, B<getopt>()  was declared in "
8853 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8854 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8855 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8856 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8857 msgstr ""
8858
8859 #. type: TP
8860 #: build/C/man3/getopt.3:347
8861 #, no-wrap
8862 msgid "B<getopt_long>() and B<getopt_long_only>():"
8863 msgstr ""
8864
8865 #. type: Plain text
8866 #: build/C/man3/getopt.3:369
8867 msgid ""
8868 "A program that scans multiple argument vectors, or rescans the same vector "
8869 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8870 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8871 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8872 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8873 "(Resetting to 0 forces the invocation of an internal initialization routine "
8874 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8875 "I<optstring>.)"
8876 msgstr ""
8877
8878 #. type: Plain text
8879 #: build/C/man3/getopt.3:376
8880 msgid ""
8881 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8882 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8883 "implementations) implements the correct behavior rather than that specified."
8884 msgstr ""
8885
8886 #. type: Plain text
8887 #: build/C/man3/getopt.3:384
8888 msgid ""
8889 "The following trivial example program uses B<getopt>()  to handle two "
8890 "program options: I<-n>, with no associated value; and I<-t val>, which "
8891 "expects an associated value."
8892 msgstr ""
8893
8894 #. type: Plain text
8895 #: build/C/man3/getopt.3:389
8896 #, no-wrap
8897 msgid ""
8898 "#include E<lt>unistd.hE<gt>\n"
8899 "#include E<lt>stdlib.hE<gt>\n"
8900 "#include E<lt>stdio.hE<gt>\n"
8901 msgstr ""
8902
8903 #. type: Plain text
8904 #: build/C/man3/getopt.3:395
8905 #, no-wrap
8906 msgid ""
8907 "int\n"
8908 "main(int argc, char *argv[])\n"
8909 "{\n"
8910 "    int flags, opt;\n"
8911 "    int nsecs, tfnd;\n"
8912 msgstr ""
8913
8914 #. type: Plain text
8915 #: build/C/man3/getopt.3:414
8916 #, no-wrap
8917 msgid ""
8918 "    nsecs = 0;\n"
8919 "    tfnd = 0;\n"
8920 "    flags = 0;\n"
8921 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8922 "        switch (opt) {\n"
8923 "        case \\(aqn\\(aq:\n"
8924 "            flags = 1;\n"
8925 "            break;\n"
8926 "        case \\(aqt\\(aq:\n"
8927 "            nsecs = atoi(optarg);\n"
8928 "            tfnd = 1;\n"
8929 "            break;\n"
8930 "        default: /* \\(aq?\\(aq */\n"
8931 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8932 "                    argv[0]);\n"
8933 "            exit(EXIT_FAILURE);\n"
8934 "        }\n"
8935 "    }\n"
8936 msgstr ""
8937
8938 #. type: Plain text
8939 #: build/C/man3/getopt.3:416
8940 #, no-wrap
8941 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8942 msgstr ""
8943
8944 #. type: Plain text
8945 #: build/C/man3/getopt.3:421
8946 #, no-wrap
8947 msgid ""
8948 "    if (optind E<gt>= argc) {\n"
8949 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8950 "        exit(EXIT_FAILURE);\n"
8951 "    }\n"
8952 msgstr ""
8953
8954 #. type: Plain text
8955 #: build/C/man3/getopt.3:423
8956 #, no-wrap
8957 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8958 msgstr ""
8959
8960 #. type: Plain text
8961 #: build/C/man3/getopt.3:425
8962 #, no-wrap
8963 msgid "    /* Other code omitted */\n"
8964 msgstr ""
8965
8966 #. type: Plain text
8967 #: build/C/man3/getopt.3:433
8968 msgid ""
8969 "The following example program illustrates the use of B<getopt_long>()  with "
8970 "most of its features."
8971 msgstr ""
8972
8973 #. type: Plain text
8974 #: build/C/man3/getopt.3:438
8975 #, no-wrap
8976 msgid ""
8977 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8978 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8979 "#include E<lt>getopt.hE<gt>\n"
8980 msgstr ""
8981
8982 #. type: Plain text
8983 #: build/C/man3/getopt.3:444
8984 #, no-wrap
8985 msgid ""
8986 "int\n"
8987 "main(int argc, char **argv)\n"
8988 "{\n"
8989 "    int c;\n"
8990 "    int digit_optind = 0;\n"
8991 msgstr ""
8992
8993 #. type: Plain text
8994 #: build/C/man3/getopt.3:457
8995 #, no-wrap
8996 msgid ""
8997 "    while (1) {\n"
8998 "        int this_option_optind = optind ? optind : 1;\n"
8999 "        int option_index = 0;\n"
9000 "        static struct option long_options[] = {\n"
9001 "            {\"add\",     required_argument, 0,  0 },\n"
9002 "            {\"append\",  no_argument,       0,  0 },\n"
9003 "            {\"delete\",  required_argument, 0,  0 },\n"
9004 "            {\"verbose\", no_argument,       0,  0 },\n"
9005 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
9006 "            {\"file\",    required_argument, 0,  0 },\n"
9007 "            {0,         0,                 0,  0 }\n"
9008 "        };\n"
9009 msgstr ""
9010
9011 #. type: Plain text
9012 #: build/C/man3/getopt.3:462
9013 #, no-wrap
9014 msgid ""
9015 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
9016 "                 long_options, &option_index);\n"
9017 "        if (c == -1)\n"
9018 "            break;\n"
9019 msgstr ""
9020
9021 #. type: Plain text
9022 #: build/C/man3/getopt.3:470
9023 #, no-wrap
9024 msgid ""
9025 "        switch (c) {\n"
9026 "        case 0:\n"
9027 "            printf(\"option %s\", long_options[option_index].name);\n"
9028 "            if (optarg)\n"
9029 "                printf(\" with arg %s\", optarg);\n"
9030 "            printf(\"\\en\");\n"
9031 "            break;\n"
9032 msgstr ""
9033
9034 #. type: Plain text
9035 #: build/C/man3/getopt.3:479
9036 #, no-wrap
9037 msgid ""
9038 "        case \\(aq0\\(aq:\n"
9039 "        case \\(aq1\\(aq:\n"
9040 "        case \\(aq2\\(aq:\n"
9041 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
9042 "              printf(\"digits occur in two different "
9043 "argv-elements.\\en\");\n"
9044 "            digit_optind = this_option_optind;\n"
9045 "            printf(\"option %c\\en\", c);\n"
9046 "            break;\n"
9047 msgstr ""
9048
9049 #. type: Plain text
9050 #: build/C/man3/getopt.3:483
9051 #, no-wrap
9052 msgid ""
9053 "        case \\(aqa\\(aq:\n"
9054 "            printf(\"option a\\en\");\n"
9055 "            break;\n"
9056 msgstr ""
9057
9058 #. type: Plain text
9059 #: build/C/man3/getopt.3:487
9060 #, no-wrap
9061 msgid ""
9062 "        case \\(aqb\\(aq:\n"
9063 "            printf(\"option b\\en\");\n"
9064 "            break;\n"
9065 msgstr ""
9066
9067 #. type: Plain text
9068 #: build/C/man3/getopt.3:491
9069 #, no-wrap
9070 msgid ""
9071 "        case \\(aqc\\(aq:\n"
9072 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
9073 "            break;\n"
9074 msgstr ""
9075
9076 #. type: Plain text
9077 #: build/C/man3/getopt.3:495
9078 #, no-wrap
9079 msgid ""
9080 "        case \\(aqd\\(aq:\n"
9081 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
9082 "            break;\n"
9083 msgstr ""
9084
9085 #. type: Plain text
9086 #: build/C/man3/getopt.3:498
9087 #, no-wrap
9088 msgid ""
9089 "        case \\(aq?\\(aq:\n"
9090 "            break;\n"
9091 msgstr ""
9092
9093 #. type: Plain text
9094 #: build/C/man3/getopt.3:503
9095 #, no-wrap
9096 msgid ""
9097 "        default:\n"
9098 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
9099 "        }\n"
9100 "    }\n"
9101 msgstr ""
9102
9103 #. type: Plain text
9104 #: build/C/man3/getopt.3:510
9105 #, no-wrap
9106 msgid ""
9107 "    if (optind E<lt> argc) {\n"
9108 "        printf(\"non-option ARGV-elements: \");\n"
9109 "        while (optind E<lt> argc)\n"
9110 "            printf(\"%s \", argv[optind++]);\n"
9111 "        printf(\"\\en\");\n"
9112 "    }\n"
9113 msgstr ""
9114
9115 #. type: Plain text
9116 #: build/C/man3/getopt.3:516
9117 msgid "B<getsubopt>(3)"
9118 msgstr ""
9119
9120 #. type: TH
9121 #: build/C/man2/getpagesize.2:25
9122 #, no-wrap
9123 msgid "GETPAGESIZE"
9124 msgstr ""
9125
9126 #. type: TH
9127 #: build/C/man2/getpagesize.2:25
9128 #, no-wrap
9129 msgid "2010-11-16"
9130 msgstr ""
9131
9132 #. type: Plain text
9133 #: build/C/man2/getpagesize.2:28
9134 msgid "getpagesize - get memory page size"
9135 msgstr ""
9136
9137 #. type: Plain text
9138 #: build/C/man2/getpagesize.2:32
9139 msgid "B<int getpagesize(void);>"
9140 msgstr ""
9141
9142 #. type: Plain text
9143 #: build/C/man2/getpagesize.2:39
9144 msgid "B<getpagesize>():"
9145 msgstr ""
9146
9147 #.  .SH HISTORY
9148 #.  This call first appeared in 4.2BSD.
9149 #. type: Plain text
9150 #: build/C/man2/getpagesize.2:64
9151 msgid ""
9152 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
9153 "where \"page\" is a fixed-length block, the unit for memory allocation and "
9154 "file mapping performed by B<mmap>(2)."
9155 msgstr ""
9156
9157 #. type: Plain text
9158 #: build/C/man2/getpagesize.2:71
9159 msgid ""
9160 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
9161 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
9162 msgstr ""
9163
9164 #. type: Plain text
9165 #: build/C/man2/getpagesize.2:76
9166 msgid ""
9167 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
9168 "B<getpagesize>():"
9169 msgstr ""
9170
9171 #. type: Plain text
9172 #: build/C/man2/getpagesize.2:81
9173 #, no-wrap
9174 msgid ""
9175 "#include E<lt>unistd.hE<gt>\n"
9176 "long sz = sysconf(_SC_PAGESIZE);\n"
9177 msgstr ""
9178
9179 #. type: Plain text
9180 #: build/C/man2/getpagesize.2:88
9181 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
9182 msgstr ""
9183
9184 #. type: Plain text
9185 #: build/C/man2/getpagesize.2:108
9186 msgid ""
9187 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
9188 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
9189 "value depends on the architecture and machine model.  Generally, one uses "
9190 "binaries that are dependent on the architecture but not on the machine "
9191 "model, in order to have a single binary distribution per architecture.  This "
9192 "means that a user program should not find B<PAGE_SIZE> at compile time from "
9193 "a header file, but use an actual system call, at least for those "
9194 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
9195 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
9196 "value, and does not use a system call.  Things are OK in glibc 2.1."
9197 msgstr ""
9198
9199 #. type: Plain text
9200 #: build/C/man2/getpagesize.2:111
9201 msgid "B<mmap>(2), B<sysconf>(3)"
9202 msgstr ""
9203
9204 #. type: TH
9205 #: build/C/man2/gettid.2:26
9206 #, no-wrap
9207 msgid "GETTID"
9208 msgstr ""
9209
9210 #. type: TH
9211 #: build/C/man2/gettid.2:26 build/C/man3/lockf.3:28
9212 #, no-wrap
9213 msgid "2014-02-11"
9214 msgstr ""
9215
9216 #. type: Plain text
9217 #: build/C/man2/gettid.2:29
9218 msgid "gettid - get thread identification"
9219 msgstr ""
9220
9221 #. type: Plain text
9222 #: build/C/man2/gettid.2:32
9223 #, no-wrap
9224 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
9225 msgstr ""
9226
9227 #. type: Plain text
9228 #: build/C/man2/gettid.2:34
9229 #, no-wrap
9230 msgid "B<pid_t gettid(void);>\n"
9231 msgstr ""
9232
9233 #. type: Plain text
9234 #: build/C/man2/gettid.2:50
9235 msgid ""
9236 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
9237 "process, the thread ID is equal to the process ID (PID, as returned by "
9238 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
9239 "but each one has a unique TID.  For further details, see the discussion of "
9240 "B<CLONE_THREAD> in B<clone>(2)."
9241 msgstr ""
9242
9243 #. type: Plain text
9244 #: build/C/man2/gettid.2:52
9245 msgid "On success, returns the thread ID of the calling process."
9246 msgstr ""
9247
9248 #. type: Plain text
9249 #: build/C/man2/gettid.2:54
9250 msgid "This call is always successful."
9251 msgstr ""
9252
9253 #. type: Plain text
9254 #: build/C/man2/gettid.2:58
9255 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
9256 msgstr ""
9257
9258 #. type: Plain text
9259 #: build/C/man2/gettid.2:62
9260 msgid ""
9261 "B<gettid>()  is Linux-specific and should not be used in programs that are "
9262 "intended to be portable."
9263 msgstr ""
9264
9265 #.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
9266 #.  "gettid() should have a wrapper"
9267 #. type: Plain text
9268 #: build/C/man2/gettid.2:67
9269 msgid ""
9270 "Glibc does not provide a wrapper for this system call; call it using "
9271 "B<syscall>(2)."
9272 msgstr ""
9273
9274 #. type: Plain text
9275 #: build/C/man2/gettid.2:71
9276 msgid ""
9277 "The thread ID returned by this call is not the same thing as a POSIX thread "
9278 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
9279 msgstr ""
9280
9281 #.  .BR kcmp (2),
9282 #.  .BR move_pages (2),
9283 #.  .BR migrate_pages (2),
9284 #.  .BR process_vm_readv (2),
9285 #.  .BR ptrace (2),
9286 #. type: Plain text
9287 #: build/C/man2/gettid.2:90
9288 msgid ""
9289 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
9290 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
9291 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
9292 "B<tgkill>(2), B<timer_create>(2)"
9293 msgstr ""
9294
9295 #. type: TH
9296 #: build/C/man3/getumask.3:28
9297 #, no-wrap
9298 msgid "GETUMASK"
9299 msgstr ""
9300
9301 #. type: TH
9302 #: build/C/man3/getumask.3:28
9303 #, no-wrap
9304 msgid "2010-09-10"
9305 msgstr ""
9306
9307 #. type: Plain text
9308 #: build/C/man3/getumask.3:31
9309 msgid "getumask - get file creation mask"
9310 msgstr ""
9311
9312 #. type: Plain text
9313 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50 build/C/man2/umask.2:39 build/C/man2/vfork.2:33
9314 msgid "B<#include E<lt>sys/types.hE<gt>>"
9315 msgstr ""
9316
9317 #. type: Plain text
9318 #: build/C/man3/getumask.3:37 build/C/man2/umask.2:41
9319 msgid "B<#include E<lt>sys/stat.hE<gt>>"
9320 msgstr ""
9321
9322 #. type: Plain text
9323 #: build/C/man3/getumask.3:39
9324 msgid "B<mode_t getumask(void);>"
9325 msgstr ""
9326
9327 #. type: Plain text
9328 #: build/C/man3/getumask.3:42
9329 msgid "This function returns the current file creation mask.  It is equivalent to"
9330 msgstr ""
9331
9332 #. type: Plain text
9333 #: build/C/man3/getumask.3:51
9334 #, no-wrap
9335 msgid ""
9336 "mode_t getumask(void)\n"
9337 "{\n"
9338 "    mode_t mask = umask( 0 );\n"
9339 "    umask(mask);\n"
9340 "    return mask;\n"
9341 "}\n"
9342 msgstr ""
9343
9344 #. type: Plain text
9345 #: build/C/man3/getumask.3:58
9346 msgid ""
9347 "except that it is documented to be thread-safe (that is, shares a lock with "
9348 "the B<umask>(2)  library call)."
9349 msgstr ""
9350
9351 #. type: Plain text
9352 #: build/C/man3/getumask.3:60
9353 msgid "This is a vaporware GNU extension."
9354 msgstr ""
9355
9356 #. type: Plain text
9357 #: build/C/man3/getumask.3:63
9358 msgid ""
9359 "This function is documented but not implemented yet in glibc, as at version "
9360 "2.9."
9361 msgstr ""
9362
9363 #. type: Plain text
9364 #: build/C/man3/getumask.3:65
9365 msgid "B<umask>(2)"
9366 msgstr ""
9367
9368 #. type: TH
9369 #: build/C/man3/getusershell.3:30
9370 #, no-wrap
9371 msgid "GETUSERSHELL"
9372 msgstr ""
9373
9374 #. type: TH
9375 #: build/C/man3/getusershell.3:30 build/C/man2/pread.2:25
9376 #, no-wrap
9377 msgid "2013-06-21"
9378 msgstr ""
9379
9380 #. type: Plain text
9381 #: build/C/man3/getusershell.3:33
9382 msgid "getusershell, setusershell, endusershell - get permitted user shells"
9383 msgstr ""
9384
9385 #. type: Plain text
9386 #: build/C/man3/getusershell.3:38
9387 #, no-wrap
9388 msgid "B<char *getusershell(void);>\n"
9389 msgstr ""
9390
9391 #. type: Plain text
9392 #: build/C/man3/getusershell.3:40
9393 #, no-wrap
9394 msgid "B<void setusershell(void);>\n"
9395 msgstr ""
9396
9397 #. type: Plain text
9398 #: build/C/man3/getusershell.3:42
9399 #, no-wrap
9400 msgid "B<void endusershell(void);>\n"
9401 msgstr ""
9402
9403 #. type: Plain text
9404 #: build/C/man3/getusershell.3:53
9405 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
9406 msgstr ""
9407
9408 #. type: Plain text
9409 #: build/C/man3/getusershell.3:75
9410 msgid ""
9411 "The B<getusershell>()  function returns the next line from the file "
9412 "I</etc/shells>, opening the file if necessary.  The line should contain the "
9413 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
9414 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
9415 "listed in the file."
9416 msgstr ""
9417
9418 #. type: Plain text
9419 #: build/C/man3/getusershell.3:80
9420 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
9421 msgstr ""
9422
9423 #. type: Plain text
9424 #: build/C/man3/getusershell.3:85
9425 msgid "The B<endusershell>()  function closes I</etc/shells>."
9426 msgstr ""
9427
9428 #. type: Plain text
9429 #: build/C/man3/getusershell.3:89
9430 msgid "The B<getusershell>()  function returns NULL on end-of-file."
9431 msgstr ""
9432
9433 #. type: Plain text
9434 #: build/C/man3/getusershell.3:92
9435 #, no-wrap
9436 msgid "/etc/shells\n"
9437 msgstr ""
9438
9439 #. type: Plain text
9440 #: build/C/man3/getusershell.3:101
9441 msgid ""
9442 "The B<getusershell>(), B<setusershell>()  and B<endusershell>()  functions "
9443 "are not thread-safe."
9444 msgstr ""
9445
9446 #. type: Plain text
9447 #: build/C/man3/getusershell.3:103
9448 msgid "4.3BSD."
9449 msgstr ""
9450
9451 #. type: Plain text
9452 #: build/C/man3/getusershell.3:105
9453 msgid "B<shells>(5)"
9454 msgstr ""
9455
9456 #. type: TH
9457 #: build/C/man2/idle.2:32
9458 #, no-wrap
9459 msgid "IDLE"
9460 msgstr ""
9461
9462 #. type: TH
9463 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
9464 #, no-wrap
9465 msgid "2012-12-31"
9466 msgstr ""
9467
9468 #. type: Plain text
9469 #: build/C/man2/idle.2:35
9470 msgid "idle - make process 0 idle"
9471 msgstr ""
9472
9473 #. type: Plain text
9474 #: build/C/man2/idle.2:39
9475 msgid "B<int idle(void);>"
9476 msgstr ""
9477
9478 #. type: Plain text
9479 #: build/C/man2/idle.2:46
9480 msgid ""
9481 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
9482 "process's pages as swappable, lowers its priority, and enters the main "
9483 "scheduling loop.  B<idle>()  never returns."
9484 msgstr ""
9485
9486 #. type: Plain text
9487 #: build/C/man2/idle.2:52
9488 msgid ""
9489 "Only process 0 may call B<idle>().  Any user process, even a process with "
9490 "superuser permission, will receive B<EPERM>."
9491 msgstr ""
9492
9493 #. type: Plain text
9494 #: build/C/man2/idle.2:55
9495 msgid ""
9496 "B<idle>()  never returns for process 0, and always returns -1 for a user "
9497 "process."
9498 msgstr ""
9499
9500 #. type: Plain text
9501 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
9502 msgid "Always, for a user process."
9503 msgstr ""
9504
9505 #. type: Plain text
9506 #: build/C/man2/idle.2:61
9507 msgid "Since Linux 2.3.13, this system call does not exist anymore."
9508 msgstr ""
9509
9510 #. type: Plain text
9511 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
9512 msgid ""
9513 "This function is Linux-specific, and should not be used in programs intended "
9514 "to be portable."
9515 msgstr ""
9516
9517 #. type: TH
9518 #: build/C/man2/ioctl.2:41
9519 #, no-wrap
9520 msgid "IOCTL"
9521 msgstr ""
9522
9523 #. type: TH
9524 #: build/C/man2/ioctl.2:41
9525 #, no-wrap
9526 msgid "2013-11-08"
9527 msgstr ""
9528
9529 #. type: Plain text
9530 #: build/C/man2/ioctl.2:44
9531 msgid "ioctl - control device"
9532 msgstr ""
9533
9534 #. type: Plain text
9535 #: build/C/man2/ioctl.2:46
9536 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
9537 msgstr ""
9538
9539 #.  POSIX says 'request' is int, but glibc has the above
9540 #.  See https://bugzilla.kernel.org/show_bug.cgi?id=42705
9541 #. type: Plain text
9542 #: build/C/man2/ioctl.2:50
9543 msgid "B<int ioctl(int >I<d>B<, unsigned long >I<request>B<, ...);>"
9544 msgstr ""
9545
9546 #. type: Plain text
9547 #: build/C/man2/ioctl.2:61
9548 msgid ""
9549 "The B<ioctl>()  function manipulates the underlying device parameters of "
9550 "special files.  In particular, many operating characteristics of character "
9551 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
9552 "requests.  The argument I<d> must be an open file descriptor."
9553 msgstr ""
9554
9555 #. type: Plain text
9556 #: build/C/man2/ioctl.2:69
9557 msgid ""
9558 "The second argument is a device-dependent request code.  The third argument "
9559 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
9560 "the days before B<void *> was valid C), and will be so named for this "
9561 "discussion."
9562 msgstr ""
9563
9564 #. type: Plain text
9565 #: build/C/man2/ioctl.2:85
9566 msgid ""
9567 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
9568 "parameter or I<out> parameter, and the size of the argument I<argp> in "
9569 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
9570 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
9571 msgstr ""
9572
9573 #. type: Plain text
9574 #: build/C/man2/ioctl.2:94
9575 msgid ""
9576 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
9577 "return value as an output parameter and return a nonnegative value on "
9578 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9579 msgstr ""
9580
9581 #. type: Plain text
9582 #: build/C/man2/ioctl.2:99
9583 msgid "I<d> is not a valid descriptor."
9584 msgstr ""
9585
9586 #. type: Plain text
9587 #: build/C/man2/ioctl.2:103
9588 msgid "I<argp> references an inaccessible memory area."
9589 msgstr ""
9590
9591 #. type: Plain text
9592 #: build/C/man2/ioctl.2:109
9593 msgid "I<Request> or I<argp> is not valid."
9594 msgstr ""
9595
9596 #. type: Plain text
9597 #: build/C/man2/ioctl.2:113
9598 msgid "I<d> is not associated with a character special device."
9599 msgstr ""
9600
9601 #. type: Plain text
9602 #: build/C/man2/ioctl.2:119
9603 msgid ""
9604 "The specified request does not apply to the kind of object that the "
9605 "descriptor I<d> references."
9606 msgstr ""
9607
9608 #. type: Plain text
9609 #: build/C/man2/ioctl.2:134
9610 msgid ""
9611 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
9612 "according to the device driver in question (the call is used as a catch-all "
9613 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
9614 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
9615 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9616 msgstr ""
9617
9618 #. type: Plain text
9619 #: build/C/man2/ioctl.2:142
9620 msgid ""
9621 "In order to use this call, one needs an open file descriptor.  Often the "
9622 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
9623 "by giving it the B<O_NONBLOCK> flag."
9624 msgstr ""
9625
9626 #.  .BR mt (4),
9627 #. type: Plain text
9628 #: build/C/man2/ioctl.2:150
9629 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9630 msgstr ""
9631
9632 #. type: TH
9633 #: build/C/man2/ioctl_list.2:30
9634 #, no-wrap
9635 msgid "IOCTL_LIST"
9636 msgstr ""
9637
9638 #. type: TH
9639 #: build/C/man2/ioctl_list.2:30
9640 #, no-wrap
9641 msgid "2013-09-17"
9642 msgstr ""
9643
9644 #. type: Plain text
9645 #: build/C/man2/ioctl_list.2:33
9646 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9647 msgstr ""
9648
9649 #. type: Plain text
9650 #: build/C/man2/ioctl_list.2:40
9651 msgid ""
9652 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9653 "1.3.27.  It contains 421 ioctls from "
9654 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9655 "value, its name, and its argument type are given."
9656 msgstr ""
9657
9658 #. type: Plain text
9659 #: build/C/man2/ioctl_list.2:48
9660 msgid ""
9661 "An argument type of I<const struct foo\\ *> means the argument is input to "
9662 "the kernel.  I<struct foo\\ *> means the kernel outputs the argument.  If "
9663 "the kernel uses the argument for both input and output, this is marked with "
9664 "I<//\\ I-O>."
9665 msgstr ""
9666
9667 #. type: Plain text
9668 #: build/C/man2/ioctl_list.2:53
9669 msgid ""
9670 "Some ioctls take more arguments or return more values than a single "
9671 "structure.  These are marked I<//\\ MORE> and documented further in a "
9672 "separate section."
9673 msgstr ""
9674
9675 #. type: Plain text
9676 #: build/C/man2/ioctl_list.2:55
9677 msgid "This list is very incomplete."
9678 msgstr ""
9679
9680 #. type: SS
9681 #: build/C/man2/ioctl_list.2:55
9682 #, no-wrap
9683 msgid "ioctl structure"
9684 msgstr ""
9685
9686 #.  added two sections - aeb
9687 #. type: Plain text
9688 #: build/C/man2/ioctl_list.2:60
9689 msgid ""
9690 "Ioctl command values are 32-bit constants.  In principle these constants are "
9691 "completely arbitrary, but people have tried to build some structure into "
9692 "them."
9693 msgstr ""
9694
9695 #. type: Plain text
9696 #: build/C/man2/ioctl_list.2:79
9697 msgid ""
9698 "The old Linux situation was that of mostly 16-bit constants, where the last "
9699 "byte is a serial number, and the preceding byte(s) give a type indicating "
9700 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9701 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9702 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9703 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9704 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9705 "driver."
9706 msgstr ""
9707
9708 #. type: Plain text
9709 #: build/C/man2/ioctl_list.2:87
9710 msgid ""
9711 "Later (0.98p5) some more information was built into the number.  One has 2 "
9712 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9713 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9714 "(collecting the ioctls in groups for a common purpose or a common driver), "
9715 "and an 8-bit serial number."
9716 msgstr ""
9717
9718 #. type: Plain text
9719 #: build/C/man2/ioctl_list.2:98
9720 msgid ""
9721 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9722 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9723 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9724 "data type."
9725 msgstr ""
9726
9727 #. type: Plain text
9728 #: build/C/man2/ioctl_list.2:103
9729 msgid ""
9730 "Note that the size bits are very unreliable: in lots of cases they are "
9731 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9732 "because of legacy values."
9733 msgstr ""
9734
9735 #. type: Plain text
9736 #: build/C/man2/ioctl_list.2:107
9737 msgid ""
9738 "Thus, it seems that the new structure only gave disadvantages: it does not "
9739 "help in checking, but it causes varying values for the various "
9740 "architectures."
9741 msgstr ""
9742
9743 #. type: Plain text
9744 #: build/C/man2/ioctl_list.2:113
9745 msgid ""
9746 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9747 "stored via the argument.  However, quite a few ioctls in fact return an "
9748 "output value.  This is not yet indicated below."
9749 msgstr ""
9750
9751 #. type: Plain text
9752 #: build/C/man2/ioctl_list.2:115
9753 msgid "// Main table."
9754 msgstr ""
9755
9756 #. type: Plain text
9757 #: build/C/man2/ioctl_list.2:117
9758 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9759 msgstr ""
9760
9761 #. type: tbl table
9762 #: build/C/man2/ioctl_list.2:119
9763 #, no-wrap
9764 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9765 msgstr ""
9766
9767 #. type: tbl table
9768 #: build/C/man2/ioctl_list.2:120
9769 #, no-wrap
9770 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9771 msgstr ""
9772
9773 #. type: tbl table
9774 #: build/C/man2/ioctl_list.2:121
9775 #, no-wrap
9776 msgid "0x00008903\tFIOGETOWN\tint *\n"
9777 msgstr ""
9778
9779 #. type: tbl table
9780 #: build/C/man2/ioctl_list.2:122
9781 #, no-wrap
9782 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9783 msgstr ""
9784
9785 #. type: tbl table
9786 #: build/C/man2/ioctl_list.2:123
9787 #, no-wrap
9788 msgid "0x00008905\tSIOCATMAR\tint *\n"
9789 msgstr ""
9790
9791 #. type: tbl table
9792 #: build/C/man2/ioctl_list.2:124
9793 #, no-wrap
9794 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9795 msgstr ""
9796
9797 #. type: Plain text
9798 #: build/C/man2/ioctl_list.2:128
9799 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9800 msgstr ""
9801
9802 #. type: tbl table
9803 #: build/C/man2/ioctl_list.2:130
9804 #, no-wrap
9805 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9806 msgstr ""
9807
9808 #. type: tbl table
9809 #: build/C/man2/ioctl_list.2:131
9810 #, no-wrap
9811 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9812 msgstr ""
9813
9814 #. type: tbl table
9815 #: build/C/man2/ioctl_list.2:132
9816 #, no-wrap
9817 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9818 msgstr ""
9819
9820 #. type: tbl table
9821 #: build/C/man2/ioctl_list.2:133
9822 #, no-wrap
9823 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9824 msgstr ""
9825
9826 #. type: tbl table
9827 #: build/C/man2/ioctl_list.2:134
9828 #, no-wrap
9829 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9830 msgstr ""
9831
9832 #. type: tbl table
9833 #: build/C/man2/ioctl_list.2:135
9834 #, no-wrap
9835 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9836 msgstr ""
9837
9838 #. type: tbl table
9839 #: build/C/man2/ioctl_list.2:136
9840 #, no-wrap
9841 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9842 msgstr ""
9843
9844 #. type: tbl table
9845 #: build/C/man2/ioctl_list.2:137
9846 #, no-wrap
9847 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9848 msgstr ""
9849
9850 #. type: tbl table
9851 #: build/C/man2/ioctl_list.2:138
9852 #, no-wrap
9853 msgid "0x00005409\tTCSBRK\tint\n"
9854 msgstr ""
9855
9856 #. type: tbl table
9857 #: build/C/man2/ioctl_list.2:139
9858 #, no-wrap
9859 msgid "0x0000540A\tTCXONC\tint\n"
9860 msgstr ""
9861
9862 #. type: tbl table
9863 #: build/C/man2/ioctl_list.2:140
9864 #, no-wrap
9865 msgid "0x0000540B\tTCFLSH\tint\n"
9866 msgstr ""
9867
9868 #. type: tbl table
9869 #: build/C/man2/ioctl_list.2:141
9870 #, no-wrap
9871 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9872 msgstr ""
9873
9874 #. type: tbl table
9875 #: build/C/man2/ioctl_list.2:142
9876 #, no-wrap
9877 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9878 msgstr ""
9879
9880 #. type: tbl table
9881 #: build/C/man2/ioctl_list.2:143
9882 #, no-wrap
9883 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9884 msgstr ""
9885
9886 #. type: tbl table
9887 #: build/C/man2/ioctl_list.2:144
9888 #, no-wrap
9889 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9890 msgstr ""
9891
9892 #. type: tbl table
9893 #: build/C/man2/ioctl_list.2:145
9894 #, no-wrap
9895 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9896 msgstr ""
9897
9898 #. type: tbl table
9899 #: build/C/man2/ioctl_list.2:146
9900 #, no-wrap
9901 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9902 msgstr ""
9903
9904 #. type: tbl table
9905 #: build/C/man2/ioctl_list.2:147
9906 #, no-wrap
9907 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9908 msgstr ""
9909
9910 #. type: tbl table
9911 #: build/C/man2/ioctl_list.2:148
9912 #, no-wrap
9913 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9914 msgstr ""
9915
9916 #. type: tbl table
9917 #: build/C/man2/ioctl_list.2:149
9918 #, no-wrap
9919 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9920 msgstr ""
9921
9922 #. type: tbl table
9923 #: build/C/man2/ioctl_list.2:150
9924 #, no-wrap
9925 msgid "0x00005415\tTIOCMGET\tint *\n"
9926 msgstr ""
9927
9928 #. type: tbl table
9929 #: build/C/man2/ioctl_list.2:151
9930 #, no-wrap
9931 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9932 msgstr ""
9933
9934 #. type: tbl table
9935 #: build/C/man2/ioctl_list.2:152
9936 #, no-wrap
9937 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9938 msgstr ""
9939
9940 #. type: tbl table
9941 #: build/C/man2/ioctl_list.2:153
9942 #, no-wrap
9943 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9944 msgstr ""
9945
9946 #. type: tbl table
9947 #: build/C/man2/ioctl_list.2:154
9948 #, no-wrap
9949 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9950 msgstr ""
9951
9952 #. type: tbl table
9953 #: build/C/man2/ioctl_list.2:155
9954 #, no-wrap
9955 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9956 msgstr ""
9957
9958 #. type: tbl table
9959 #: build/C/man2/ioctl_list.2:156
9960 #, no-wrap
9961 msgid "0x0000541B\tFIONREAD\tint *\n"
9962 msgstr ""
9963
9964 #. type: tbl table
9965 #: build/C/man2/ioctl_list.2:157
9966 #, no-wrap
9967 msgid "0x0000541B\tTIOCINQ\tint *\n"
9968 msgstr ""
9969
9970 #. type: tbl table
9971 #: build/C/man2/ioctl_list.2:158
9972 #, no-wrap
9973 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9974 msgstr ""
9975
9976 #. type: tbl table
9977 #: build/C/man2/ioctl_list.2:159
9978 #, no-wrap
9979 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9980 msgstr ""
9981
9982 #. type: tbl table
9983 #: build/C/man2/ioctl_list.2:160
9984 #, no-wrap
9985 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9986 msgstr ""
9987
9988 #. type: tbl table
9989 #: build/C/man2/ioctl_list.2:161
9990 #, no-wrap
9991 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9992 msgstr ""
9993
9994 #. type: tbl table
9995 #: build/C/man2/ioctl_list.2:162
9996 #, no-wrap
9997 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9998 msgstr ""
9999
10000 #. type: tbl table
10001 #: build/C/man2/ioctl_list.2:163
10002 #, no-wrap
10003 msgid "0x00005421\tFIONBIO\tconst int *\n"
10004 msgstr ""
10005
10006 #. type: tbl table
10007 #: build/C/man2/ioctl_list.2:164
10008 #, no-wrap
10009 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
10010 msgstr ""
10011
10012 #. type: tbl table
10013 #: build/C/man2/ioctl_list.2:165
10014 #, no-wrap
10015 msgid "0x00005423\tTIOCSETD\tconst int *\n"
10016 msgstr ""
10017
10018 #. type: tbl table
10019 #: build/C/man2/ioctl_list.2:166
10020 #, no-wrap
10021 msgid "0x00005424\tTIOCGETD\tint *\n"
10022 msgstr ""
10023
10024 #. type: tbl table
10025 #: build/C/man2/ioctl_list.2:167
10026 #, no-wrap
10027 msgid "0x00005425\tTCSBRKP\tint\n"
10028 msgstr ""
10029
10030 #. type: tbl table
10031 #: build/C/man2/ioctl_list.2:168
10032 #, no-wrap
10033 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
10034 msgstr ""
10035
10036 #. type: tbl table
10037 #: build/C/man2/ioctl_list.2:169
10038 #, no-wrap
10039 msgid "0x00005450\tFIONCLEX\tvoid\n"
10040 msgstr ""
10041
10042 #. type: tbl table
10043 #: build/C/man2/ioctl_list.2:170
10044 #, no-wrap
10045 msgid "0x00005451\tFIOCLEX\tvoid\n"
10046 msgstr ""
10047
10048 #. type: tbl table
10049 #: build/C/man2/ioctl_list.2:171
10050 #, no-wrap
10051 msgid "0x00005452\tFIOASYNC\tconst int *\n"
10052 msgstr ""
10053
10054 #. type: tbl table
10055 #: build/C/man2/ioctl_list.2:172
10056 #, no-wrap
10057 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
10058 msgstr ""
10059
10060 #. type: tbl table
10061 #: build/C/man2/ioctl_list.2:173
10062 #, no-wrap
10063 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
10064 msgstr ""
10065
10066 #. type: tbl table
10067 #: build/C/man2/ioctl_list.2:174
10068 #, no-wrap
10069 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
10070 msgstr ""
10071
10072 #. type: tbl table
10073 #: build/C/man2/ioctl_list.2:175
10074 #, no-wrap
10075 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
10076 msgstr ""
10077
10078 #. type: tbl table
10079 #: build/C/man2/ioctl_list.2:176
10080 #, no-wrap
10081 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
10082 msgstr ""
10083
10084 #. type: tbl table
10085 #: build/C/man2/ioctl_list.2:177
10086 #, no-wrap
10087 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
10088 msgstr ""
10089
10090 #. type: tbl table
10091 #: build/C/man2/ioctl_list.2:178
10092 #, no-wrap
10093 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
10094 msgstr ""
10095
10096 #. type: tbl table
10097 #: build/C/man2/ioctl_list.2:185
10098 #, no-wrap
10099 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
10100 msgstr ""
10101
10102 #. type: tbl table
10103 #: build/C/man2/ioctl_list.2:186
10104 #, no-wrap
10105 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
10106 msgstr ""
10107
10108 #. type: Plain text
10109 #: build/C/man2/ioctl_list.2:190
10110 msgid "// E<lt>include/linux/ax25.hE<gt>"
10111 msgstr ""
10112
10113 #. type: tbl table
10114 #: build/C/man2/ioctl_list.2:192
10115 #, no-wrap
10116 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
10117 msgstr ""
10118
10119 #. type: tbl table
10120 #: build/C/man2/ioctl_list.2:193
10121 #, no-wrap
10122 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
10123 msgstr ""
10124
10125 #. type: tbl table
10126 #: build/C/man2/ioctl_list.2:194
10127 #, no-wrap
10128 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
10129 msgstr ""
10130
10131 #. type: tbl table
10132 #: build/C/man2/ioctl_list.2:195
10133 #, no-wrap
10134 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
10135 msgstr ""
10136
10137 #. type: tbl table
10138 #: build/C/man2/ioctl_list.2:196
10139 #, no-wrap
10140 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
10141 msgstr ""
10142
10143 #. type: tbl table
10144 #: build/C/man2/ioctl_list.2:197
10145 #, no-wrap
10146 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
10147 msgstr ""
10148
10149 #. type: tbl table
10150 #: build/C/man2/ioctl_list.2:201
10151 #, no-wrap
10152 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
10153 msgstr ""
10154
10155 #. type: Plain text
10156 #: build/C/man2/ioctl_list.2:205
10157 msgid "// E<lt>include/linux/cdk.hE<gt>"
10158 msgstr ""
10159
10160 #. type: tbl table
10161 #: build/C/man2/ioctl_list.2:207
10162 #, no-wrap
10163 msgid "0x00007314\tSTL_BINTR\tvoid\n"
10164 msgstr ""
10165
10166 #. type: tbl table
10167 #: build/C/man2/ioctl_list.2:208
10168 #, no-wrap
10169 msgid "0x00007315\tSTL_BSTART\tvoid\n"
10170 msgstr ""
10171
10172 #. type: tbl table
10173 #: build/C/man2/ioctl_list.2:209
10174 #, no-wrap
10175 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
10176 msgstr ""
10177
10178 #. type: tbl table
10179 #: build/C/man2/ioctl_list.2:210
10180 #, no-wrap
10181 msgid "0x00007317\tSTL_BRESET\tvoid\n"
10182 msgstr ""
10183
10184 #. type: Plain text
10185 #: build/C/man2/ioctl_list.2:214
10186 msgid "// E<lt>include/linux/cdrom.hE<gt>"
10187 msgstr ""
10188
10189 #. type: tbl table
10190 #: build/C/man2/ioctl_list.2:216
10191 #, no-wrap
10192 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
10193 msgstr ""
10194
10195 #. type: tbl table
10196 #: build/C/man2/ioctl_list.2:217
10197 #, no-wrap
10198 msgid "0x00005302\tCDROMRESUME\tvoid\n"
10199 msgstr ""
10200
10201 #. type: tbl table
10202 #: build/C/man2/ioctl_list.2:218
10203 #, no-wrap
10204 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
10205 msgstr ""
10206
10207 #. type: tbl table
10208 #: build/C/man2/ioctl_list.2:219
10209 #, no-wrap
10210 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
10211 msgstr ""
10212
10213 #. type: tbl table
10214 #: build/C/man2/ioctl_list.2:220
10215 #, no-wrap
10216 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
10217 msgstr ""
10218
10219 #. type: tbl table
10220 #: build/C/man2/ioctl_list.2:224
10221 #, no-wrap
10222 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
10223 msgstr ""
10224
10225 #. type: tbl table
10226 #: build/C/man2/ioctl_list.2:228
10227 #, no-wrap
10228 msgid "0x00005307\tCDROMSTOP\tvoid\n"
10229 msgstr ""
10230
10231 #. type: tbl table
10232 #: build/C/man2/ioctl_list.2:229
10233 #, no-wrap
10234 msgid "0x00005308\tCDROMSTART\tvoid\n"
10235 msgstr ""
10236
10237 #. type: tbl table
10238 #: build/C/man2/ioctl_list.2:230
10239 #, no-wrap
10240 msgid "0x00005309\tCDROMEJECT\tvoid\n"
10241 msgstr ""
10242
10243 #. type: tbl table
10244 #: build/C/man2/ioctl_list.2:231
10245 #, no-wrap
10246 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
10247 msgstr ""
10248
10249 #. type: tbl table
10250 #: build/C/man2/ioctl_list.2:232
10251 #, no-wrap
10252 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
10253 msgstr ""
10254
10255 #. type: tbl table
10256 #: build/C/man2/ioctl_list.2:233
10257 #, no-wrap
10258 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
10259 msgstr ""
10260
10261 #. type: tbl table
10262 #: build/C/man2/ioctl_list.2:234
10263 #, no-wrap
10264 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
10265 msgstr ""
10266
10267 #. type: tbl table
10268 #: build/C/man2/ioctl_list.2:235
10269 #, no-wrap
10270 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
10271 msgstr ""
10272
10273 #. type: tbl table
10274 #: build/C/man2/ioctl_list.2:236
10275 #, no-wrap
10276 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
10277 msgstr ""
10278
10279 #. type: tbl table
10280 #: build/C/man2/ioctl_list.2:240
10281 #, no-wrap
10282 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
10283 msgstr ""
10284
10285 #. type: tbl table
10286 #: build/C/man2/ioctl_list.2:244
10287 #, no-wrap
10288 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
10289 msgstr ""
10290
10291 #. type: tbl table
10292 #: build/C/man2/ioctl_list.2:245
10293 #, no-wrap
10294 msgid "0x00005312\tCDROMRESET\tvoid\n"
10295 msgstr ""
10296
10297 #. type: tbl table
10298 #: build/C/man2/ioctl_list.2:246
10299 #, no-wrap
10300 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
10301 msgstr ""
10302
10303 #. type: tbl table
10304 #: build/C/man2/ioctl_list.2:247
10305 #, no-wrap
10306 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
10307 msgstr ""
10308
10309 #. type: tbl table
10310 #: build/C/man2/ioctl_list.2:248
10311 #, no-wrap
10312 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
10313 msgstr ""
10314
10315 #. type: tbl table
10316 #: build/C/man2/ioctl_list.2:249
10317 #, no-wrap
10318 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
10319 msgstr ""
10320
10321 #. type: Plain text
10322 #: build/C/man2/ioctl_list.2:253
10323 msgid "// E<lt>include/linux/cm206.hE<gt>"
10324 msgstr ""
10325
10326 #. type: tbl table
10327 #: build/C/man2/ioctl_list.2:255
10328 #, no-wrap
10329 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
10330 msgstr ""
10331
10332 #. type: tbl table
10333 #: build/C/man2/ioctl_list.2:256
10334 #, no-wrap
10335 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
10336 msgstr ""
10337
10338 #. type: Plain text
10339 #: build/C/man2/ioctl_list.2:260
10340 msgid "// E<lt>include/linux/cyclades.hE<gt>"
10341 msgstr ""
10342
10343 #. type: tbl table
10344 #: build/C/man2/ioctl_list.2:262
10345 #, no-wrap
10346 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
10347 msgstr ""
10348
10349 #. type: tbl table
10350 #: build/C/man2/ioctl_list.2:263
10351 #, no-wrap
10352 msgid "0x00435902\tCYGETTHRESH\tint *\n"
10353 msgstr ""
10354
10355 #. type: tbl table
10356 #: build/C/man2/ioctl_list.2:264
10357 #, no-wrap
10358 msgid "0x00435903\tCYSETTHRESH\tint\n"
10359 msgstr ""
10360
10361 #. type: tbl table
10362 #: build/C/man2/ioctl_list.2:265
10363 #, no-wrap
10364 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
10365 msgstr ""
10366
10367 #. type: tbl table
10368 #: build/C/man2/ioctl_list.2:266
10369 #, no-wrap
10370 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
10371 msgstr ""
10372
10373 #. type: tbl table
10374 #: build/C/man2/ioctl_list.2:267
10375 #, no-wrap
10376 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
10377 msgstr ""
10378
10379 #. type: tbl table
10380 #: build/C/man2/ioctl_list.2:268
10381 #, no-wrap
10382 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
10383 msgstr ""
10384
10385 #. type: tbl table
10386 #: build/C/man2/ioctl_list.2:269
10387 #, no-wrap
10388 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
10389 msgstr ""
10390
10391 #. type: tbl table
10392 #: build/C/man2/ioctl_list.2:270
10393 #, no-wrap
10394 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
10395 msgstr ""
10396
10397 #. type: Plain text
10398 #: build/C/man2/ioctl_list.2:274
10399 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
10400 msgstr ""
10401
10402 #. type: tbl table
10403 #: build/C/man2/ioctl_list.2:276
10404 #, no-wrap
10405 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
10406 msgstr ""
10407
10408 #. type: tbl table
10409 #: build/C/man2/ioctl_list.2:277
10410 #, no-wrap
10411 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
10412 msgstr ""
10413
10414 #. type: tbl table
10415 #: build/C/man2/ioctl_list.2:278
10416 #, no-wrap
10417 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
10418 msgstr ""
10419
10420 #. type: tbl table
10421 #: build/C/man2/ioctl_list.2:279
10422 #, no-wrap
10423 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
10424 msgstr ""
10425
10426 #. type: Plain text
10427 #: build/C/man2/ioctl_list.2:283
10428 msgid "// E<lt>include/linux/fd.hE<gt>"
10429 msgstr ""
10430
10431 #. type: tbl table
10432 #: build/C/man2/ioctl_list.2:285
10433 #, no-wrap
10434 msgid "0x00000000\tFDCLRPRM\tvoid\n"
10435 msgstr ""
10436
10437 #. type: tbl table
10438 #: build/C/man2/ioctl_list.2:286
10439 #, no-wrap
10440 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
10441 msgstr ""
10442
10443 #. type: tbl table
10444 #: build/C/man2/ioctl_list.2:287
10445 #, no-wrap
10446 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
10447 msgstr ""
10448
10449 #. type: tbl table
10450 #: build/C/man2/ioctl_list.2:288
10451 #, no-wrap
10452 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
10453 msgstr ""
10454
10455 #. type: tbl table
10456 #: build/C/man2/ioctl_list.2:289
10457 #, no-wrap
10458 msgid "0x00000004\tFDMSGON\tvoid\n"
10459 msgstr ""
10460
10461 #. type: tbl table
10462 #: build/C/man2/ioctl_list.2:290
10463 #, no-wrap
10464 msgid "0x00000005\tFDMSGOFF\tvoid\n"
10465 msgstr ""
10466
10467 #. type: tbl table
10468 #: build/C/man2/ioctl_list.2:291
10469 #, no-wrap
10470 msgid "0x00000006\tFDFMTBEG\tvoid\n"
10471 msgstr ""
10472
10473 #. type: tbl table
10474 #: build/C/man2/ioctl_list.2:292
10475 #, no-wrap
10476 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
10477 msgstr ""
10478
10479 #. type: tbl table
10480 #: build/C/man2/ioctl_list.2:293
10481 #, no-wrap
10482 msgid "0x00000008\tFDFMTEND\tvoid\n"
10483 msgstr ""
10484
10485 #. type: tbl table
10486 #: build/C/man2/ioctl_list.2:294
10487 #, no-wrap
10488 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
10489 msgstr ""
10490
10491 #. type: tbl table
10492 #: build/C/man2/ioctl_list.2:295
10493 #, no-wrap
10494 msgid "0x0000000B\tFDFLUSH\tvoid\n"
10495 msgstr ""
10496
10497 #. type: tbl table
10498 #: build/C/man2/ioctl_list.2:296
10499 #, no-wrap
10500 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
10501 msgstr ""
10502
10503 #. type: tbl table
10504 #: build/C/man2/ioctl_list.2:297
10505 #, no-wrap
10506 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
10507 msgstr ""
10508
10509 #. type: tbl table
10510 #: build/C/man2/ioctl_list.2:298
10511 #, no-wrap
10512 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
10513 msgstr ""
10514
10515 #. type: tbl table
10516 #: build/C/man2/ioctl_list.2:299
10517 #, no-wrap
10518 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
10519 msgstr ""
10520
10521 #. type: tbl table
10522 #: build/C/man2/ioctl_list.2:300
10523 #, no-wrap
10524 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
10525 msgstr ""
10526
10527 #. type: tbl table
10528 #: build/C/man2/ioctl_list.2:301
10529 #, no-wrap
10530 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
10531 msgstr ""
10532
10533 #. type: tbl table
10534 #: build/C/man2/ioctl_list.2:302
10535 #, no-wrap
10536 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
10537 msgstr ""
10538
10539 #. type: tbl table
10540 #: build/C/man2/ioctl_list.2:303
10541 #, no-wrap
10542 msgid "0x00000018\tFDRESET\tint\n"
10543 msgstr ""
10544
10545 #. type: tbl table
10546 #: build/C/man2/ioctl_list.2:304
10547 #, no-wrap
10548 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10549 msgstr ""
10550
10551 #. type: tbl table
10552 #: build/C/man2/ioctl_list.2:305
10553 #, no-wrap
10554 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10555 msgstr ""
10556
10557 #. type: tbl table
10558 #: build/C/man2/ioctl_list.2:306
10559 #, no-wrap
10560 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10561 msgstr ""
10562
10563 #. type: tbl table
10564 #: build/C/man2/ioctl_list.2:310
10565 #, no-wrap
10566 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10567 msgstr ""
10568
10569 #. type: tbl table
10570 #: build/C/man2/ioctl_list.2:311
10571 #, no-wrap
10572 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10573 msgstr ""
10574
10575 #. type: Plain text
10576 #: build/C/man2/ioctl_list.2:315
10577 msgid "// E<lt>include/linux/fs.hE<gt>"
10578 msgstr ""
10579
10580 #. type: tbl table
10581 #: build/C/man2/ioctl_list.2:317
10582 #, no-wrap
10583 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10584 msgstr ""
10585
10586 #. type: tbl table
10587 #: build/C/man2/ioctl_list.2:318
10588 #, no-wrap
10589 msgid "0x0000125E\tBLKROGET\tint *\n"
10590 msgstr ""
10591
10592 #. type: tbl table
10593 #: build/C/man2/ioctl_list.2:319
10594 #, no-wrap
10595 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10596 msgstr ""
10597
10598 #. type: tbl table
10599 #: build/C/man2/ioctl_list.2:320
10600 #, no-wrap
10601 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10602 msgstr ""
10603
10604 #. type: tbl table
10605 #: build/C/man2/ioctl_list.2:321
10606 #, no-wrap
10607 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10608 msgstr ""
10609
10610 #. type: tbl table
10611 #: build/C/man2/ioctl_list.2:322
10612 #, no-wrap
10613 msgid "0x00001262\tBLKRASET\tint\n"
10614 msgstr ""
10615
10616 #. type: tbl table
10617 #: build/C/man2/ioctl_list.2:323
10618 #, no-wrap
10619 msgid "0x00001263\tBLKRAGET\tint *\n"
10620 msgstr ""
10621
10622 #. type: tbl table
10623 #: build/C/man2/ioctl_list.2:324
10624 #, no-wrap
10625 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10626 msgstr ""
10627
10628 #. type: tbl table
10629 #: build/C/man2/ioctl_list.2:325
10630 #, no-wrap
10631 msgid "0x00000002\tFIGETBSZ\tint *\n"
10632 msgstr ""
10633
10634 #. type: Plain text
10635 #: build/C/man2/ioctl_list.2:329
10636 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10637 msgstr ""
10638
10639 #. type: tbl table
10640 #: build/C/man2/ioctl_list.2:331
10641 #, no-wrap
10642 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10643 msgstr ""
10644
10645 #. type: tbl table
10646 #: build/C/man2/ioctl_list.2:332
10647 #, no-wrap
10648 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10649 msgstr ""
10650
10651 #. type: tbl table
10652 #: build/C/man2/ioctl_list.2:333
10653 #, no-wrap
10654 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10655 msgstr ""
10656
10657 #. type: tbl table
10658 #: build/C/man2/ioctl_list.2:334
10659 #, no-wrap
10660 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10661 msgstr ""
10662
10663 #. type: tbl table
10664 #: build/C/man2/ioctl_list.2:335
10665 #, no-wrap
10666 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10667 msgstr ""
10668
10669 #. type: tbl table
10670 #: build/C/man2/ioctl_list.2:336
10671 #, no-wrap
10672 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10673 msgstr ""
10674
10675 #. type: tbl table
10676 #: build/C/man2/ioctl_list.2:337
10677 #, no-wrap
10678 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10679 msgstr ""
10680
10681 #. type: tbl table
10682 #: build/C/man2/ioctl_list.2:338
10683 #, no-wrap
10684 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10685 msgstr ""
10686
10687 #. type: tbl table
10688 #: build/C/man2/ioctl_list.2:339
10689 #, no-wrap
10690 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10691 msgstr ""
10692
10693 #. type: tbl table
10694 #: build/C/man2/ioctl_list.2:340
10695 #, no-wrap
10696 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10697 msgstr ""
10698
10699 #. type: tbl table
10700 #: build/C/man2/ioctl_list.2:341
10701 #, no-wrap
10702 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10703 msgstr ""
10704
10705 #. type: tbl table
10706 #: build/C/man2/ioctl_list.2:342
10707 #, no-wrap
10708 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10709 msgstr ""
10710
10711 #. type: tbl table
10712 #: build/C/man2/ioctl_list.2:343
10713 #, no-wrap
10714 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10715 msgstr ""
10716
10717 #. type: tbl table
10718 #: build/C/man2/ioctl_list.2:344
10719 #, no-wrap
10720 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10721 msgstr ""
10722
10723 #. type: tbl table
10724 #: build/C/man2/ioctl_list.2:345
10725 #, no-wrap
10726 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10727 msgstr ""
10728
10729 #. type: Plain text
10730 #: build/C/man2/ioctl_list.2:349
10731 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10732 msgstr ""
10733
10734 #. type: tbl table
10735 #: build/C/man2/ioctl_list.2:351
10736 #, no-wrap
10737 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10738 msgstr ""
10739
10740 #. type: tbl table
10741 #: build/C/man2/ioctl_list.2:352
10742 #, no-wrap
10743 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10744 msgstr ""
10745
10746 #. type: tbl table
10747 #: build/C/man2/ioctl_list.2:353
10748 #, no-wrap
10749 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10750 msgstr ""
10751
10752 #. type: tbl table
10753 #: build/C/man2/ioctl_list.2:354
10754 #, no-wrap
10755 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10756 msgstr ""
10757
10758 #. type: tbl table
10759 #: build/C/man2/ioctl_list.2:355
10760 #, no-wrap
10761 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10762 msgstr ""
10763
10764 #. type: tbl table
10765 #: build/C/man2/ioctl_list.2:356
10766 #, no-wrap
10767 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10768 msgstr ""
10769
10770 #. type: Plain text
10771 #: build/C/man2/ioctl_list.2:360
10772 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10773 msgstr ""
10774
10775 #. type: tbl table
10776 #: build/C/man2/ioctl_list.2:362
10777 #, no-wrap
10778 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10779 msgstr ""
10780
10781 #. type: Plain text
10782 #: build/C/man2/ioctl_list.2:366
10783 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10784 msgstr ""
10785
10786 #. type: tbl table
10787 #: build/C/man2/ioctl_list.2:368
10788 #, no-wrap
10789 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10790 msgstr ""
10791
10792 #. type: tbl table
10793 #: build/C/man2/ioctl_list.2:369
10794 #, no-wrap
10795 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10796 msgstr ""
10797
10798 #. type: tbl table
10799 #: build/C/man2/ioctl_list.2:370
10800 #, no-wrap
10801 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10802 msgstr ""
10803
10804 #. type: tbl table
10805 #: build/C/man2/ioctl_list.2:371
10806 #, no-wrap
10807 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10808 msgstr ""
10809
10810 #. type: tbl table
10811 #: build/C/man2/ioctl_list.2:372
10812 #, no-wrap
10813 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10814 msgstr ""
10815
10816 #. type: tbl table
10817 #: build/C/man2/ioctl_list.2:373
10818 #, no-wrap
10819 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10820 msgstr ""
10821
10822 #. type: tbl table
10823 #: build/C/man2/ioctl_list.2:374
10824 #, no-wrap
10825 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10826 msgstr ""
10827
10828 #. type: tbl table
10829 #: build/C/man2/ioctl_list.2:375
10830 #, no-wrap
10831 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10832 msgstr ""
10833
10834 #. type: tbl table
10835 #: build/C/man2/ioctl_list.2:376
10836 #, no-wrap
10837 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10838 msgstr ""
10839
10840 #. type: tbl table
10841 #: build/C/man2/ioctl_list.2:377
10842 #, no-wrap
10843 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10844 msgstr ""
10845
10846 #. type: tbl table
10847 #: build/C/man2/ioctl_list.2:378
10848 #, no-wrap
10849 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10850 msgstr ""
10851
10852 #. type: tbl table
10853 #: build/C/man2/ioctl_list.2:379
10854 #, no-wrap
10855 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10856 msgstr ""
10857
10858 #. type: tbl table
10859 #: build/C/man2/ioctl_list.2:380
10860 #, no-wrap
10861 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10862 msgstr ""
10863
10864 #. type: tbl table
10865 #: build/C/man2/ioctl_list.2:381
10866 #, no-wrap
10867 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10868 msgstr ""
10869
10870 #. type: tbl table
10871 #: build/C/man2/ioctl_list.2:382
10872 #, no-wrap
10873 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10874 msgstr ""
10875
10876 #. type: Plain text
10877 #: build/C/man2/ioctl_list.2:386
10878 msgid "// E<lt>include/linux/ipx.hE<gt>"
10879 msgstr ""
10880
10881 #. type: tbl table
10882 #: build/C/man2/ioctl_list.2:388
10883 #, no-wrap
10884 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10885 msgstr ""
10886
10887 #. type: tbl table
10888 #: build/C/man2/ioctl_list.2:389
10889 #, no-wrap
10890 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10891 msgstr ""
10892
10893 #. type: tbl table
10894 #: build/C/man2/ioctl_list.2:390
10895 #, no-wrap
10896 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10897 msgstr ""
10898
10899 #. type: Plain text
10900 #: build/C/man2/ioctl_list.2:394
10901 msgid "// E<lt>include/linux/kd.hE<gt>"
10902 msgstr ""
10903
10904 #. type: tbl table
10905 #: build/C/man2/ioctl_list.2:396
10906 #, no-wrap
10907 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10908 msgstr ""
10909
10910 #. type: tbl table
10911 #: build/C/man2/ioctl_list.2:397
10912 #, no-wrap
10913 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10914 msgstr ""
10915
10916 #. type: tbl table
10917 #: build/C/man2/ioctl_list.2:401
10918 #, no-wrap
10919 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10920 msgstr ""
10921
10922 #. type: tbl table
10923 #: build/C/man2/ioctl_list.2:402
10924 #, no-wrap
10925 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10926 msgstr ""
10927
10928 #. type: tbl table
10929 #: build/C/man2/ioctl_list.2:406
10930 #, no-wrap
10931 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10932 msgstr ""
10933
10934 #. type: tbl table
10935 #: build/C/man2/ioctl_list.2:407
10936 #, no-wrap
10937 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10938 msgstr ""
10939
10940 #. type: tbl table
10941 #: build/C/man2/ioctl_list.2:411
10942 #, no-wrap
10943 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10944 msgstr ""
10945
10946 #. type: tbl table
10947 #: build/C/man2/ioctl_list.2:412
10948 #, no-wrap
10949 msgid "0x00004B30\tKDMKTONE\tint\n"
10950 msgstr ""
10951
10952 #. type: tbl table
10953 #: build/C/man2/ioctl_list.2:413
10954 #, no-wrap
10955 msgid "0x00004B31\tKDGETLED\tchar *\n"
10956 msgstr ""
10957
10958 #. type: tbl table
10959 #: build/C/man2/ioctl_list.2:414
10960 #, no-wrap
10961 msgid "0x00004B32\tKDSETLED\tint\n"
10962 msgstr ""
10963
10964 #. type: tbl table
10965 #: build/C/man2/ioctl_list.2:415
10966 #, no-wrap
10967 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10968 msgstr ""
10969
10970 #. type: tbl table
10971 #: build/C/man2/ioctl_list.2:416
10972 #, no-wrap
10973 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10974 msgstr ""
10975
10976 #. type: tbl table
10977 #: build/C/man2/ioctl_list.2:417
10978 #, no-wrap
10979 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10980 msgstr ""
10981
10982 #. type: tbl table
10983 #: build/C/man2/ioctl_list.2:418
10984 #, no-wrap
10985 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10986 msgstr ""
10987
10988 #. type: tbl table
10989 #: build/C/man2/ioctl_list.2:419
10990 #, no-wrap
10991 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10992 msgstr ""
10993
10994 #. type: tbl table
10995 #: build/C/man2/ioctl_list.2:420
10996 #, no-wrap
10997 msgid "0x00004B3A\tKDSETMODE\tint\n"
10998 msgstr ""
10999
11000 #. type: tbl table
11001 #: build/C/man2/ioctl_list.2:421
11002 #, no-wrap
11003 msgid "0x00004B3B\tKDGETMODE\tint *\n"
11004 msgstr ""
11005
11006 #. type: tbl table
11007 #: build/C/man2/ioctl_list.2:422
11008 #, no-wrap
11009 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
11010 msgstr ""
11011
11012 #. type: tbl table
11013 #: build/C/man2/ioctl_list.2:423
11014 #, no-wrap
11015 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
11016 msgstr ""
11017
11018 #. type: tbl table
11019 #: build/C/man2/ioctl_list.2:424
11020 #, no-wrap
11021 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
11022 msgstr ""
11023
11024 #. type: tbl table
11025 #: build/C/man2/ioctl_list.2:428
11026 #, no-wrap
11027 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
11028 msgstr ""
11029
11030 #. type: tbl table
11031 #: build/C/man2/ioctl_list.2:429
11032 #, no-wrap
11033 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
11034 msgstr ""
11035
11036 #. type: tbl table
11037 #: build/C/man2/ioctl_list.2:430
11038 #, no-wrap
11039 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
11040 msgstr ""
11041
11042 #. type: tbl table
11043 #: build/C/man2/ioctl_list.2:434
11044 #, no-wrap
11045 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
11046 msgstr ""
11047
11048 #. type: tbl table
11049 #: build/C/man2/ioctl_list.2:435
11050 #, no-wrap
11051 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
11052 msgstr ""
11053
11054 #. type: tbl table
11055 #: build/C/man2/ioctl_list.2:436
11056 #, no-wrap
11057 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
11058 msgstr ""
11059
11060 #. type: tbl table
11061 #: build/C/man2/ioctl_list.2:437
11062 #, no-wrap
11063 msgid "0x00004B44\tKDGKBMODE\tint *\n"
11064 msgstr ""
11065
11066 #. type: tbl table
11067 #: build/C/man2/ioctl_list.2:438
11068 #, no-wrap
11069 msgid "0x00004B45\tKDSKBMODE\tint\n"
11070 msgstr ""
11071
11072 #. type: tbl table
11073 #: build/C/man2/ioctl_list.2:439
11074 #, no-wrap
11075 msgid "0x00004B62\tKDGKBMETA\tint *\n"
11076 msgstr ""
11077
11078 #. type: tbl table
11079 #: build/C/man2/ioctl_list.2:440
11080 #, no-wrap
11081 msgid "0x00004B63\tKDSKBMETA\tint\n"
11082 msgstr ""
11083
11084 #. type: tbl table
11085 #: build/C/man2/ioctl_list.2:441
11086 #, no-wrap
11087 msgid "0x00004B64\tKDGKBLED\tint *\n"
11088 msgstr ""
11089
11090 #. type: tbl table
11091 #: build/C/man2/ioctl_list.2:442
11092 #, no-wrap
11093 msgid "0x00004B65\tKDSKBLED\tint\n"
11094 msgstr ""
11095
11096 #. type: tbl table
11097 #: build/C/man2/ioctl_list.2:443
11098 #, no-wrap
11099 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
11100 msgstr ""
11101
11102 #. type: tbl table
11103 #: build/C/man2/ioctl_list.2:444
11104 #, no-wrap
11105 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
11106 msgstr ""
11107
11108 #. type: tbl table
11109 #: build/C/man2/ioctl_list.2:445
11110 #, no-wrap
11111 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
11112 msgstr ""
11113
11114 #. type: tbl table
11115 #: build/C/man2/ioctl_list.2:446
11116 #, no-wrap
11117 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
11118 msgstr ""
11119
11120 #. type: tbl table
11121 #: build/C/man2/ioctl_list.2:447
11122 #, no-wrap
11123 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
11124 msgstr ""
11125
11126 #. type: tbl table
11127 #: build/C/man2/ioctl_list.2:448
11128 #, no-wrap
11129 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
11130 msgstr ""
11131
11132 #. type: tbl table
11133 #: build/C/man2/ioctl_list.2:449
11134 #, no-wrap
11135 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
11136 msgstr ""
11137
11138 #. type: tbl table
11139 #: build/C/man2/ioctl_list.2:450
11140 #, no-wrap
11141 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
11142 msgstr ""
11143
11144 #. type: tbl table
11145 #: build/C/man2/ioctl_list.2:451
11146 #, no-wrap
11147 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
11148 msgstr ""
11149
11150 #. type: Plain text
11151 #: build/C/man2/ioctl_list.2:455
11152 msgid "// E<lt>include/linux/lp.hE<gt>"
11153 msgstr ""
11154
11155 #. type: tbl table
11156 #: build/C/man2/ioctl_list.2:457
11157 #, no-wrap
11158 msgid "0x00000601\tLPCHAR\tint\n"
11159 msgstr ""
11160
11161 #. type: tbl table
11162 #: build/C/man2/ioctl_list.2:458
11163 #, no-wrap
11164 msgid "0x00000602\tLPTIME\tint\n"
11165 msgstr ""
11166
11167 #. type: tbl table
11168 #: build/C/man2/ioctl_list.2:459
11169 #, no-wrap
11170 msgid "0x00000604\tLPABORT\tint\n"
11171 msgstr ""
11172
11173 #. type: tbl table
11174 #: build/C/man2/ioctl_list.2:460
11175 #, no-wrap
11176 msgid "0x00000605\tLPSETIRQ\tint\n"
11177 msgstr ""
11178
11179 #. type: tbl table
11180 #: build/C/man2/ioctl_list.2:461
11181 #, no-wrap
11182 msgid "0x00000606\tLPGETIRQ\tint *\n"
11183 msgstr ""
11184
11185 #. type: tbl table
11186 #: build/C/man2/ioctl_list.2:462
11187 #, no-wrap
11188 msgid "0x00000608\tLPWAIT\tint\n"
11189 msgstr ""
11190
11191 #. type: tbl table
11192 #: build/C/man2/ioctl_list.2:463
11193 #, no-wrap
11194 msgid "0x00000609\tLPCAREFUL\tint\n"
11195 msgstr ""
11196
11197 #. type: tbl table
11198 #: build/C/man2/ioctl_list.2:464
11199 #, no-wrap
11200 msgid "0x0000060A\tLPABORTOPEN\tint\n"
11201 msgstr ""
11202
11203 #. type: tbl table
11204 #: build/C/man2/ioctl_list.2:465
11205 #, no-wrap
11206 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
11207 msgstr ""
11208
11209 #. type: tbl table
11210 #: build/C/man2/ioctl_list.2:466
11211 #, no-wrap
11212 msgid "0x0000060C\tLPRESET\tvoid\n"
11213 msgstr ""
11214
11215 #. type: tbl table
11216 #: build/C/man2/ioctl_list.2:467
11217 #, no-wrap
11218 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
11219 msgstr ""
11220
11221 #. type: Plain text
11222 #: build/C/man2/ioctl_list.2:471
11223 msgid "// E<lt>include/linux/mroute.hE<gt>"
11224 msgstr ""
11225
11226 #. type: tbl table
11227 #: build/C/man2/ioctl_list.2:473
11228 #, no-wrap
11229 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
11230 msgstr ""
11231
11232 #. type: tbl table
11233 #: build/C/man2/ioctl_list.2:474
11234 #, no-wrap
11235 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
11236 msgstr ""
11237
11238 #. type: Plain text
11239 #: build/C/man2/ioctl_list.2:478
11240 msgid "// E<lt>include/linux/msdos_fs.hE<gt>"
11241 msgstr ""
11242
11243 #. type: tbl table
11244 #: build/C/man2/ioctl_list.2:480
11245 #, no-wrap
11246 msgid "0x82307201\tVFAT_IOCTL_READDIR_BOTH\tstruct dirent [2]\n"
11247 msgstr ""
11248
11249 #. type: tbl table
11250 #: build/C/man2/ioctl_list.2:481
11251 #, no-wrap
11252 msgid "0x82307202\tVFAT_IOCTL_READDIR_SHORT\tstruct dirent [2]\n"
11253 msgstr ""
11254
11255 #. type: tbl table
11256 #: build/C/man2/ioctl_list.2:482
11257 #, no-wrap
11258 msgid "0x80047210\tFAT_IOCTL_GET_ATTRIBUTES\t__u32 *\n"
11259 msgstr ""
11260
11261 #. type: tbl table
11262 #: build/C/man2/ioctl_list.2:483
11263 #, no-wrap
11264 msgid "0x40047211\tFAT_IOCTL_SET_ATTRIBUTES\tconst __u32 *\n"
11265 msgstr ""
11266
11267 #. type: Plain text
11268 #: build/C/man2/ioctl_list.2:487
11269 msgid "// E<lt>include/linux/mtio.hE<gt>"
11270 msgstr ""
11271
11272 #. type: tbl table
11273 #: build/C/man2/ioctl_list.2:489
11274 #, no-wrap
11275 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
11276 msgstr ""
11277
11278 #. type: tbl table
11279 #: build/C/man2/ioctl_list.2:490
11280 #, no-wrap
11281 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
11282 msgstr ""
11283
11284 #. type: tbl table
11285 #: build/C/man2/ioctl_list.2:491
11286 #, no-wrap
11287 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
11288 msgstr ""
11289
11290 #. type: tbl table
11291 #: build/C/man2/ioctl_list.2:492
11292 #, no-wrap
11293 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
11294 msgstr ""
11295
11296 #. type: tbl table
11297 #: build/C/man2/ioctl_list.2:493
11298 #, no-wrap
11299 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
11300 msgstr ""
11301
11302 #. type: Plain text
11303 #: build/C/man2/ioctl_list.2:497
11304 msgid "// E<lt>include/linux/netrom.hE<gt>"
11305 msgstr ""
11306
11307 #. type: tbl table
11308 #: build/C/man2/ioctl_list.2:499
11309 #, no-wrap
11310 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
11311 msgstr ""
11312
11313 #. type: tbl table
11314 #: build/C/man2/ioctl_list.2:500
11315 #, no-wrap
11316 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
11317 msgstr ""
11318
11319 #. type: tbl table
11320 #: build/C/man2/ioctl_list.2:501
11321 #, no-wrap
11322 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
11323 msgstr ""
11324
11325 #. type: tbl table
11326 #: build/C/man2/ioctl_list.2:502
11327 #, no-wrap
11328 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
11329 msgstr ""
11330
11331 #. type: Plain text
11332 #: build/C/man2/ioctl_list.2:506
11333 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
11334 msgstr ""
11335
11336 #. type: tbl table
11337 #: build/C/man2/ioctl_list.2:508
11338 #, no-wrap
11339 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
11340 msgstr ""
11341
11342 #. type: tbl table
11343 #: build/C/man2/ioctl_list.2:509
11344 #, no-wrap
11345 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
11346 msgstr ""
11347
11348 #. type: Plain text
11349 #: build/C/man2/ioctl_list.2:513
11350 msgid "// E<lt>include/linux/scc.hE<gt>"
11351 msgstr ""
11352
11353 #. type: tbl table
11354 #: build/C/man2/ioctl_list.2:515
11355 #, no-wrap
11356 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
11357 msgstr ""
11358
11359 #. type: tbl table
11360 #: build/C/man2/ioctl_list.2:516
11361 #, no-wrap
11362 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
11363 msgstr ""
11364
11365 #. type: tbl table
11366 #: build/C/man2/ioctl_list.2:517
11367 #, no-wrap
11368 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
11369 msgstr ""
11370
11371 #. type: tbl table
11372 #: build/C/man2/ioctl_list.2:518
11373 #, no-wrap
11374 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
11375 msgstr ""
11376
11377 #. type: tbl table
11378 #: build/C/man2/ioctl_list.2:519
11379 #, no-wrap
11380 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
11381 msgstr ""
11382
11383 #. type: Plain text
11384 #: build/C/man2/ioctl_list.2:523
11385 msgid "// E<lt>include/linux/scsi.hE<gt>"
11386 msgstr ""
11387
11388 #. type: tbl table
11389 #: build/C/man2/ioctl_list.2:525
11390 #, no-wrap
11391 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
11392 msgstr ""
11393
11394 #. type: tbl table
11395 #: build/C/man2/ioctl_list.2:526
11396 #, no-wrap
11397 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
11398 msgstr ""
11399
11400 #. type: tbl table
11401 #: build/C/man2/ioctl_list.2:527
11402 #, no-wrap
11403 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
11404 msgstr ""
11405
11406 #. type: tbl table
11407 #: build/C/man2/ioctl_list.2:531
11408 #, no-wrap
11409 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
11410 msgstr ""
11411
11412 #. type: Plain text
11413 #: build/C/man2/ioctl_list.2:535
11414 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
11415 msgstr ""
11416
11417 #. type: tbl table
11418 #: build/C/man2/ioctl_list.2:537
11419 #, no-wrap
11420 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
11421 msgstr ""
11422
11423 #. type: Plain text
11424 #: build/C/man2/ioctl_list.2:541
11425 msgid "// E<lt>include/linux/sockios.hE<gt>"
11426 msgstr ""
11427
11428 #. type: tbl table
11429 #: build/C/man2/ioctl_list.2:543
11430 #, no-wrap
11431 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
11432 msgstr ""
11433
11434 #. type: tbl table
11435 #: build/C/man2/ioctl_list.2:544
11436 #, no-wrap
11437 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
11438 msgstr ""
11439
11440 #. type: tbl table
11441 #: build/C/man2/ioctl_list.2:545
11442 #, no-wrap
11443 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
11444 msgstr ""
11445
11446 #. type: tbl table
11447 #: build/C/man2/ioctl_list.2:546
11448 #, no-wrap
11449 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
11450 msgstr ""
11451
11452 #. type: tbl table
11453 #: build/C/man2/ioctl_list.2:547
11454 #, no-wrap
11455 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
11456 msgstr ""
11457
11458 #. type: tbl table
11459 #: build/C/man2/ioctl_list.2:548
11460 #, no-wrap
11461 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
11462 msgstr ""
11463
11464 #. type: tbl table
11465 #: build/C/man2/ioctl_list.2:549
11466 #, no-wrap
11467 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
11468 msgstr ""
11469
11470 #. type: tbl table
11471 #: build/C/man2/ioctl_list.2:550
11472 #, no-wrap
11473 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
11474 msgstr ""
11475
11476 #. type: tbl table
11477 #: build/C/man2/ioctl_list.2:551
11478 #, no-wrap
11479 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
11480 msgstr ""
11481
11482 #. type: tbl table
11483 #: build/C/man2/ioctl_list.2:552
11484 #, no-wrap
11485 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
11486 msgstr ""
11487
11488 #. type: tbl table
11489 #: build/C/man2/ioctl_list.2:553
11490 #, no-wrap
11491 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
11492 msgstr ""
11493
11494 #. type: tbl table
11495 #: build/C/man2/ioctl_list.2:554
11496 #, no-wrap
11497 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
11498 msgstr ""
11499
11500 #. type: tbl table
11501 #: build/C/man2/ioctl_list.2:555
11502 #, no-wrap
11503 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
11504 msgstr ""
11505
11506 #. type: tbl table
11507 #: build/C/man2/ioctl_list.2:556
11508 #, no-wrap
11509 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
11510 msgstr ""
11511
11512 #. type: tbl table
11513 #: build/C/man2/ioctl_list.2:557
11514 #, no-wrap
11515 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
11516 msgstr ""
11517
11518 #. type: tbl table
11519 #: build/C/man2/ioctl_list.2:558
11520 #, no-wrap
11521 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
11522 msgstr ""
11523
11524 #. type: tbl table
11525 #: build/C/man2/ioctl_list.2:559
11526 #, no-wrap
11527 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
11528 msgstr ""
11529
11530 #. type: tbl table
11531 #: build/C/man2/ioctl_list.2:560
11532 #, no-wrap
11533 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
11534 msgstr ""
11535
11536 #. type: tbl table
11537 #: build/C/man2/ioctl_list.2:561
11538 #, no-wrap
11539 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
11540 msgstr ""
11541
11542 #. type: tbl table
11543 #: build/C/man2/ioctl_list.2:562
11544 #, no-wrap
11545 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
11546 msgstr ""
11547
11548 #. type: tbl table
11549 #: build/C/man2/ioctl_list.2:563
11550 #, no-wrap
11551 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
11552 msgstr ""
11553
11554 #. type: tbl table
11555 #: build/C/man2/ioctl_list.2:567
11556 #, no-wrap
11557 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11558 msgstr ""
11559
11560 #. type: tbl table
11561 #: build/C/man2/ioctl_list.2:568
11562 #, no-wrap
11563 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
11564 msgstr ""
11565
11566 #. type: tbl table
11567 #: build/C/man2/ioctl_list.2:569
11568 #, no-wrap
11569 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
11570 msgstr ""
11571
11572 #. type: tbl table
11573 #: build/C/man2/ioctl_list.2:570
11574 #, no-wrap
11575 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11576 msgstr ""
11577
11578 #. type: tbl table
11579 #: build/C/man2/ioctl_list.2:571
11580 #, no-wrap
11581 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11582 msgstr ""
11583
11584 #. type: tbl table
11585 #: build/C/man2/ioctl_list.2:572
11586 #, no-wrap
11587 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11588 msgstr ""
11589
11590 #. type: tbl table
11591 #: build/C/man2/ioctl_list.2:573
11592 #, no-wrap
11593 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11594 msgstr ""
11595
11596 #. type: tbl table
11597 #: build/C/man2/ioctl_list.2:574
11598 #, no-wrap
11599 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11600 msgstr ""
11601
11602 #. type: tbl table
11603 #: build/C/man2/ioctl_list.2:575
11604 #, no-wrap
11605 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11606 msgstr ""
11607
11608 #. type: tbl table
11609 #: build/C/man2/ioctl_list.2:576
11610 #, no-wrap
11611 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11612 msgstr ""
11613
11614 #. type: tbl table
11615 #: build/C/man2/ioctl_list.2:577
11616 #, no-wrap
11617 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11618 msgstr ""
11619
11620 #. type: tbl table
11621 #: build/C/man2/ioctl_list.2:578
11622 #, no-wrap
11623 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11624 msgstr ""
11625
11626 #. type: tbl table
11627 #: build/C/man2/ioctl_list.2:579
11628 #, no-wrap
11629 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11630 msgstr ""
11631
11632 #. type: tbl table
11633 #: build/C/man2/ioctl_list.2:580
11634 #, no-wrap
11635 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11636 msgstr ""
11637
11638 #. type: tbl table
11639 #: build/C/man2/ioctl_list.2:581
11640 #, no-wrap
11641 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11642 msgstr ""
11643
11644 #. type: tbl table
11645 #: build/C/man2/ioctl_list.2:582
11646 #, no-wrap
11647 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11648 msgstr ""
11649
11650 #. type: tbl table
11651 #: build/C/man2/ioctl_list.2:583
11652 #, no-wrap
11653 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11654 msgstr ""
11655
11656 #. type: tbl table
11657 #: build/C/man2/ioctl_list.2:584
11658 #, no-wrap
11659 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11660 msgstr ""
11661
11662 #. type: tbl table
11663 #: build/C/man2/ioctl_list.2:585
11664 #, no-wrap
11665 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11666 msgstr ""
11667
11668 #. type: Plain text
11669 #: build/C/man2/ioctl_list.2:589
11670 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11671 msgstr ""
11672
11673 #. type: tbl table
11674 #: build/C/man2/ioctl_list.2:591
11675 #, no-wrap
11676 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11677 msgstr ""
11678
11679 #. type: tbl table
11680 #: build/C/man2/ioctl_list.2:592
11681 #, no-wrap
11682 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11683 msgstr ""
11684
11685 #. type: tbl table
11686 #: build/C/man2/ioctl_list.2:596
11687 #, no-wrap
11688 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11689 msgstr ""
11690
11691 #. type: tbl table
11692 #: build/C/man2/ioctl_list.2:597
11693 #, no-wrap
11694 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11695 msgstr ""
11696
11697 #. type: tbl table
11698 #: build/C/man2/ioctl_list.2:598
11699 #, no-wrap
11700 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11701 msgstr ""
11702
11703 #. type: tbl table
11704 #: build/C/man2/ioctl_list.2:599
11705 #, no-wrap
11706 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11707 msgstr ""
11708
11709 #. type: tbl table
11710 #: build/C/man2/ioctl_list.2:600
11711 #, no-wrap
11712 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11713 msgstr ""
11714
11715 #. type: tbl table
11716 #: build/C/man2/ioctl_list.2:604
11717 #, no-wrap
11718 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11719 msgstr ""
11720
11721 #. type: tbl table
11722 #: build/C/man2/ioctl_list.2:608
11723 #, no-wrap
11724 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11725 msgstr ""
11726
11727 #. type: tbl table
11728 #: build/C/man2/ioctl_list.2:609
11729 #, no-wrap
11730 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11731 msgstr ""
11732
11733 #. type: tbl table
11734 #: build/C/man2/ioctl_list.2:610
11735 #, no-wrap
11736 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11737 msgstr ""
11738
11739 #. type: tbl table
11740 #: build/C/man2/ioctl_list.2:611
11741 #, no-wrap
11742 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11743 msgstr ""
11744
11745 #. type: tbl table
11746 #: build/C/man2/ioctl_list.2:612
11747 #, no-wrap
11748 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11749 msgstr ""
11750
11751 #. type: tbl table
11752 #: build/C/man2/ioctl_list.2:613
11753 #, no-wrap
11754 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11755 msgstr ""
11756
11757 #. type: tbl table
11758 #: build/C/man2/ioctl_list.2:614
11759 #, no-wrap
11760 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11761 msgstr ""
11762
11763 #. type: tbl table
11764 #: build/C/man2/ioctl_list.2:615
11765 #, no-wrap
11766 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11767 msgstr ""
11768
11769 #. type: tbl table
11770 #: build/C/man2/ioctl_list.2:616
11771 #, no-wrap
11772 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11773 msgstr ""
11774
11775 #. type: tbl table
11776 #: build/C/man2/ioctl_list.2:617
11777 #, no-wrap
11778 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11779 msgstr ""
11780
11781 #. type: tbl table
11782 #: build/C/man2/ioctl_list.2:621
11783 #, no-wrap
11784 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11785 msgstr ""
11786
11787 #. type: tbl table
11788 #: build/C/man2/ioctl_list.2:625
11789 #, no-wrap
11790 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11791 msgstr ""
11792
11793 #. type: tbl table
11794 #: build/C/man2/ioctl_list.2:626
11795 #, no-wrap
11796 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11797 msgstr ""
11798
11799 #. type: tbl table
11800 #: build/C/man2/ioctl_list.2:627
11801 #, no-wrap
11802 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11803 msgstr ""
11804
11805 #. type: tbl table
11806 #: build/C/man2/ioctl_list.2:628
11807 #, no-wrap
11808 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11809 msgstr ""
11810
11811 #. type: tbl table
11812 #: build/C/man2/ioctl_list.2:629
11813 #, no-wrap
11814 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11815 msgstr ""
11816
11817 #. type: tbl table
11818 #: build/C/man2/ioctl_list.2:630
11819 #, no-wrap
11820 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11821 msgstr ""
11822
11823 #. type: tbl table
11824 #: build/C/man2/ioctl_list.2:631
11825 #, no-wrap
11826 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11827 msgstr ""
11828
11829 #. type: tbl table
11830 #: build/C/man2/ioctl_list.2:632
11831 #, no-wrap
11832 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11833 msgstr ""
11834
11835 #. type: tbl table
11836 #: build/C/man2/ioctl_list.2:633
11837 #, no-wrap
11838 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11839 msgstr ""
11840
11841 #. type: tbl table
11842 #: build/C/man2/ioctl_list.2:634
11843 #, no-wrap
11844 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11845 msgstr ""
11846
11847 #. type: tbl table
11848 #: build/C/man2/ioctl_list.2:635
11849 #, no-wrap
11850 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11851 msgstr ""
11852
11853 #. type: tbl table
11854 #: build/C/man2/ioctl_list.2:639
11855 #, no-wrap
11856 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11857 msgstr ""
11858
11859 #. type: tbl table
11860 #: build/C/man2/ioctl_list.2:643
11861 #, no-wrap
11862 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11863 msgstr ""
11864
11865 #. type: tbl table
11866 #: build/C/man2/ioctl_list.2:644
11867 #, no-wrap
11868 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11869 msgstr ""
11870
11871 #. type: tbl table
11872 #: build/C/man2/ioctl_list.2:645
11873 #, no-wrap
11874 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11875 msgstr ""
11876
11877 #. type: tbl table
11878 #: build/C/man2/ioctl_list.2:646
11879 #, no-wrap
11880 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11881 msgstr ""
11882
11883 #. type: tbl table
11884 #: build/C/man2/ioctl_list.2:647
11885 #, no-wrap
11886 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11887 msgstr ""
11888
11889 #. type: tbl table
11890 #: build/C/man2/ioctl_list.2:648
11891 #, no-wrap
11892 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11893 msgstr ""
11894
11895 #. type: tbl table
11896 #: build/C/man2/ioctl_list.2:649
11897 #, no-wrap
11898 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11899 msgstr ""
11900
11901 #. type: tbl table
11902 #: build/C/man2/ioctl_list.2:650
11903 #, no-wrap
11904 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11905 msgstr ""
11906
11907 #. type: tbl table
11908 #: build/C/man2/ioctl_list.2:651
11909 #, no-wrap
11910 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11911 msgstr ""
11912
11913 #. type: tbl table
11914 #: build/C/man2/ioctl_list.2:652
11915 #, no-wrap
11916 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11917 msgstr ""
11918
11919 #. type: tbl table
11920 #: build/C/man2/ioctl_list.2:653
11921 #, no-wrap
11922 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11923 msgstr ""
11924
11925 #. type: tbl table
11926 #: build/C/man2/ioctl_list.2:654
11927 #, no-wrap
11928 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11929 msgstr ""
11930
11931 #. type: tbl table
11932 #: build/C/man2/ioctl_list.2:658
11933 #, no-wrap
11934 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11935 msgstr ""
11936
11937 #. type: tbl table
11938 #: build/C/man2/ioctl_list.2:659
11939 #, no-wrap
11940 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11941 msgstr ""
11942
11943 #. type: tbl table
11944 #: build/C/man2/ioctl_list.2:660
11945 #, no-wrap
11946 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11947 msgstr ""
11948
11949 #. type: tbl table
11950 #: build/C/man2/ioctl_list.2:661
11951 #, no-wrap
11952 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11953 msgstr ""
11954
11955 #. type: tbl table
11956 #: build/C/man2/ioctl_list.2:662
11957 #, no-wrap
11958 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11959 msgstr ""
11960
11961 #. type: tbl table
11962 #: build/C/man2/ioctl_list.2:663
11963 #, no-wrap
11964 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11965 msgstr ""
11966
11967 #. type: tbl table
11968 #: build/C/man2/ioctl_list.2:664
11969 #, no-wrap
11970 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11971 msgstr ""
11972
11973 #. type: tbl table
11974 #: build/C/man2/ioctl_list.2:665
11975 #, no-wrap
11976 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11977 msgstr ""
11978
11979 #. type: tbl table
11980 #: build/C/man2/ioctl_list.2:666
11981 #, no-wrap
11982 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11983 msgstr ""
11984
11985 #. type: tbl table
11986 #: build/C/man2/ioctl_list.2:670
11987 #, no-wrap
11988 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11989 msgstr ""
11990
11991 #. type: tbl table
11992 #: build/C/man2/ioctl_list.2:671
11993 #, no-wrap
11994 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11995 msgstr ""
11996
11997 #. type: tbl table
11998 #: build/C/man2/ioctl_list.2:675
11999 #, no-wrap
12000 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
12001 msgstr ""
12002
12003 #. type: tbl table
12004 #: build/C/man2/ioctl_list.2:676
12005 #, no-wrap
12006 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
12007 msgstr ""
12008
12009 #. type: tbl table
12010 #: build/C/man2/ioctl_list.2:680
12011 #, no-wrap
12012 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
12013 msgstr ""
12014
12015 #. type: tbl table
12016 #: build/C/man2/ioctl_list.2:681
12017 #, no-wrap
12018 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
12019 msgstr ""
12020
12021 #. type: tbl table
12022 #: build/C/man2/ioctl_list.2:685
12023 #, no-wrap
12024 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
12025 msgstr ""
12026
12027 #. type: tbl table
12028 #: build/C/man2/ioctl_list.2:686
12029 #, no-wrap
12030 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
12031 msgstr ""
12032
12033 #. type: tbl table
12034 #: build/C/man2/ioctl_list.2:687
12035 #, no-wrap
12036 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
12037 msgstr ""
12038
12039 #. type: tbl table
12040 #: build/C/man2/ioctl_list.2:688
12041 #, no-wrap
12042 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
12043 msgstr ""
12044
12045 #. type: tbl table
12046 #: build/C/man2/ioctl_list.2:689
12047 #, no-wrap
12048 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
12049 msgstr ""
12050
12051 #. type: tbl table
12052 #: build/C/man2/ioctl_list.2:690
12053 #, no-wrap
12054 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
12055 msgstr ""
12056
12057 #. type: tbl table
12058 #: build/C/man2/ioctl_list.2:691
12059 #, no-wrap
12060 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
12061 msgstr ""
12062
12063 #. type: tbl table
12064 #: build/C/man2/ioctl_list.2:692
12065 #, no-wrap
12066 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
12067 msgstr ""
12068
12069 #. type: tbl table
12070 #: build/C/man2/ioctl_list.2:693
12071 #, no-wrap
12072 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
12073 msgstr ""
12074
12075 #. type: tbl table
12076 #: build/C/man2/ioctl_list.2:694
12077 #, no-wrap
12078 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
12079 msgstr ""
12080
12081 #. type: tbl table
12082 #: build/C/man2/ioctl_list.2:695
12083 #, no-wrap
12084 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
12085 msgstr ""
12086
12087 #. type: tbl table
12088 #: build/C/man2/ioctl_list.2:696
12089 #, no-wrap
12090 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
12091 msgstr ""
12092
12093 #. type: tbl table
12094 #: build/C/man2/ioctl_list.2:697
12095 #, no-wrap
12096 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
12097 msgstr ""
12098
12099 #. type: tbl table
12100 #: build/C/man2/ioctl_list.2:698
12101 #, no-wrap
12102 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
12103 msgstr ""
12104
12105 #. type: tbl table
12106 #: build/C/man2/ioctl_list.2:699
12107 #, no-wrap
12108 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
12109 msgstr ""
12110
12111 #. type: tbl table
12112 #: build/C/man2/ioctl_list.2:700
12113 #, no-wrap
12114 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
12115 msgstr ""
12116
12117 #. type: tbl table
12118 #: build/C/man2/ioctl_list.2:701
12119 #, no-wrap
12120 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
12121 msgstr ""
12122
12123 #. type: tbl table
12124 #: build/C/man2/ioctl_list.2:702
12125 #, no-wrap
12126 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
12127 msgstr ""
12128
12129 #. type: tbl table
12130 #: build/C/man2/ioctl_list.2:703
12131 #, no-wrap
12132 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
12133 msgstr ""
12134
12135 #. type: tbl table
12136 #: build/C/man2/ioctl_list.2:704
12137 #, no-wrap
12138 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
12139 msgstr ""
12140
12141 #. type: tbl table
12142 #: build/C/man2/ioctl_list.2:705
12143 #, no-wrap
12144 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
12145 msgstr ""
12146
12147 #. type: tbl table
12148 #: build/C/man2/ioctl_list.2:706
12149 #, no-wrap
12150 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
12151 msgstr ""
12152
12153 #. type: tbl table
12154 #: build/C/man2/ioctl_list.2:707
12155 #, no-wrap
12156 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
12157 msgstr ""
12158
12159 #. type: tbl table
12160 #: build/C/man2/ioctl_list.2:708
12161 #, no-wrap
12162 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
12163 msgstr ""
12164
12165 #. type: tbl table
12166 #: build/C/man2/ioctl_list.2:709
12167 #, no-wrap
12168 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
12169 msgstr ""
12170
12171 #. type: tbl table
12172 #: build/C/man2/ioctl_list.2:710
12173 #, no-wrap
12174 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
12175 msgstr ""
12176
12177 #. type: tbl table
12178 #: build/C/man2/ioctl_list.2:711
12179 #, no-wrap
12180 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
12181 msgstr ""
12182
12183 #. type: tbl table
12184 #: build/C/man2/ioctl_list.2:715
12185 #, no-wrap
12186 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
12187 msgstr ""
12188
12189 #. type: tbl table
12190 #: build/C/man2/ioctl_list.2:716
12191 #, no-wrap
12192 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
12193 msgstr ""
12194
12195 #. type: tbl table
12196 #: build/C/man2/ioctl_list.2:717
12197 #, no-wrap
12198 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
12199 msgstr ""
12200
12201 #. type: tbl table
12202 #: build/C/man2/ioctl_list.2:718
12203 #, no-wrap
12204 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
12205 msgstr ""
12206
12207 #. type: tbl table
12208 #: build/C/man2/ioctl_list.2:719
12209 #, no-wrap
12210 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
12211 msgstr ""
12212
12213 #. type: tbl table
12214 #: build/C/man2/ioctl_list.2:720
12215 #, no-wrap
12216 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
12217 msgstr ""
12218
12219 #. type: tbl table
12220 #: build/C/man2/ioctl_list.2:721
12221 #, no-wrap
12222 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
12223 msgstr ""
12224
12225 #. type: tbl table
12226 #: build/C/man2/ioctl_list.2:722
12227 #, no-wrap
12228 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
12229 msgstr ""
12230
12231 #. type: tbl table
12232 #: build/C/man2/ioctl_list.2:723
12233 #, no-wrap
12234 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
12235 msgstr ""
12236
12237 #. type: tbl table
12238 #: build/C/man2/ioctl_list.2:724
12239 #, no-wrap
12240 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
12241 msgstr ""
12242
12243 #. type: tbl table
12244 #: build/C/man2/ioctl_list.2:725
12245 #, no-wrap
12246 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
12247 msgstr ""
12248
12249 #. type: tbl table
12250 #: build/C/man2/ioctl_list.2:726
12251 #, no-wrap
12252 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
12253 msgstr ""
12254
12255 #. type: tbl table
12256 #: build/C/man2/ioctl_list.2:727
12257 #, no-wrap
12258 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
12259 msgstr ""
12260
12261 #. type: tbl table
12262 #: build/C/man2/ioctl_list.2:728
12263 #, no-wrap
12264 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
12265 msgstr ""
12266
12267 #. type: tbl table
12268 #: build/C/man2/ioctl_list.2:729
12269 #, no-wrap
12270 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
12271 msgstr ""
12272
12273 #. type: tbl table
12274 #: build/C/man2/ioctl_list.2:730
12275 #, no-wrap
12276 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
12277 msgstr ""
12278
12279 #. type: tbl table
12280 #: build/C/man2/ioctl_list.2:731
12281 #, no-wrap
12282 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
12283 msgstr ""
12284
12285 #. type: tbl table
12286 #: build/C/man2/ioctl_list.2:732
12287 #, no-wrap
12288 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
12289 msgstr ""
12290
12291 #. type: tbl table
12292 #: build/C/man2/ioctl_list.2:733
12293 #, no-wrap
12294 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
12295 msgstr ""
12296
12297 #. type: tbl table
12298 #: build/C/man2/ioctl_list.2:734
12299 #, no-wrap
12300 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
12301 msgstr ""
12302
12303 #. type: tbl table
12304 #: build/C/man2/ioctl_list.2:735
12305 #, no-wrap
12306 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
12307 msgstr ""
12308
12309 #. type: Plain text
12310 #: build/C/man2/ioctl_list.2:739
12311 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
12312 msgstr ""
12313
12314 #. type: tbl table
12315 #: build/C/man2/ioctl_list.2:741
12316 #, no-wrap
12317 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12318 msgstr ""
12319
12320 #. type: tbl table
12321 #: build/C/man2/ioctl_list.2:742
12322 #, no-wrap
12323 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
12324 msgstr ""
12325
12326 #. type: tbl table
12327 #: build/C/man2/ioctl_list.2:743
12328 #, no-wrap
12329 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
12330 msgstr ""
12331
12332 #. type: tbl table
12333 #: build/C/man2/ioctl_list.2:744
12334 #, no-wrap
12335 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
12336 msgstr ""
12337
12338 #. type: tbl table
12339 #: build/C/man2/ioctl_list.2:745
12340 #, no-wrap
12341 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
12342 msgstr ""
12343
12344 #. type: tbl table
12345 #: build/C/man2/ioctl_list.2:746
12346 #, no-wrap
12347 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
12348 msgstr ""
12349
12350 #. type: tbl table
12351 #: build/C/man2/ioctl_list.2:747
12352 #, no-wrap
12353 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
12354 msgstr ""
12355
12356 #. type: tbl table
12357 #: build/C/man2/ioctl_list.2:748
12358 #, no-wrap
12359 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
12360 msgstr ""
12361
12362 #. type: tbl table
12363 #: build/C/man2/ioctl_list.2:749
12364 #, no-wrap
12365 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
12366 msgstr ""
12367
12368 #. type: tbl table
12369 #: build/C/man2/ioctl_list.2:750
12370 #, no-wrap
12371 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
12372 msgstr ""
12373
12374 #. type: tbl table
12375 #: build/C/man2/ioctl_list.2:751
12376 #, no-wrap
12377 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
12378 msgstr ""
12379
12380 #. type: Plain text
12381 #: build/C/man2/ioctl_list.2:755
12382 msgid "// E<lt>include/linux/vt.hE<gt>"
12383 msgstr ""
12384
12385 #. type: tbl table
12386 #: build/C/man2/ioctl_list.2:757
12387 #, no-wrap
12388 msgid "0x00005600\tVT_OPENQRY\tint *\n"
12389 msgstr ""
12390
12391 #. type: tbl table
12392 #: build/C/man2/ioctl_list.2:758
12393 #, no-wrap
12394 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
12395 msgstr ""
12396
12397 #. type: tbl table
12398 #: build/C/man2/ioctl_list.2:759
12399 #, no-wrap
12400 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
12401 msgstr ""
12402
12403 #. type: tbl table
12404 #: build/C/man2/ioctl_list.2:760
12405 #, no-wrap
12406 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
12407 msgstr ""
12408
12409 #. type: tbl table
12410 #: build/C/man2/ioctl_list.2:761
12411 #, no-wrap
12412 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
12413 msgstr ""
12414
12415 #. type: tbl table
12416 #: build/C/man2/ioctl_list.2:762
12417 #, no-wrap
12418 msgid "0x00005605\tVT_RELDISP\tint\n"
12419 msgstr ""
12420
12421 #. type: tbl table
12422 #: build/C/man2/ioctl_list.2:763
12423 #, no-wrap
12424 msgid "0x00005606\tVT_ACTIVATE\tint\n"
12425 msgstr ""
12426
12427 #. type: tbl table
12428 #: build/C/man2/ioctl_list.2:764
12429 #, no-wrap
12430 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
12431 msgstr ""
12432
12433 #. type: tbl table
12434 #: build/C/man2/ioctl_list.2:765
12435 #, no-wrap
12436 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
12437 msgstr ""
12438
12439 #. type: tbl table
12440 #: build/C/man2/ioctl_list.2:766
12441 #, no-wrap
12442 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
12443 msgstr ""
12444
12445 #. type: tbl table
12446 #: build/C/man2/ioctl_list.2:767
12447 #, no-wrap
12448 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
12449 msgstr ""
12450
12451 #. type: Plain text
12452 #: build/C/man2/ioctl_list.2:774
12453 msgid ""
12454 "// More arguments.  Some ioctl's take a pointer to a structure which "
12455 "contains additional pointers.  These are documented here in alphabetical "
12456 "order."
12457 msgstr ""
12458
12459 #. type: Plain text
12460 #: build/C/man2/ioctl_list.2:782
12461 msgid ""
12462 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio\\ "
12463 "*>.  The I<buf> field points to an output buffer of length I<nframes\\ * "
12464 "CD_FRAMESIZE_RAW>."
12465 msgstr ""
12466
12467 #. type: Plain text
12468 #: build/C/man2/ioctl_list.2:798
12469 msgid ""
12470 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
12471 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf\\ *>.  They "
12472 "use the same pointer as an output pointer to I<char []>.  The length varies "
12473 "by request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
12474 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
12475 "value 2048)."
12476 msgstr ""
12477
12478 #. type: Plain text
12479 #: build/C/man2/ioctl_list.2:804
12480 #, no-wrap
12481 msgid ""
12482 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
12483 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
12484 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
12485 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
12486 msgstr ""
12487
12488 #. type: Plain text
12489 #: build/C/man2/ioctl_list.2:818
12490 msgid ""
12491 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
12492 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq\\ *>.  "
12493 "The I<ifr_data> field is a pointer to another structure as follows:"
12494 msgstr ""
12495
12496 #. type: Plain text
12497 #: build/C/man2/ioctl_list.2:826
12498 #, no-wrap
12499 msgid ""
12500 "    EQL_ENSLAVE         const struct slaving_request *\n"
12501 "    EQL_EMANCIPATE      const struct slaving_request *\n"
12502 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
12503 "    EQL_SETSLAVECFG     const struct slave_config *\n"
12504 "    EQL_GETMASTERCFG    struct master_config *\n"
12505 "    EQL_SETMASTERCFG    const struct master_config *\n"
12506 msgstr ""
12507
12508 #. type: Plain text
12509 #: build/C/man2/ioctl_list.2:843
12510 msgid ""
12511 "B<FDRAWCMD> takes a I<struct floppy raw_cmd\\ *>.  If I<flags & "
12512 "FD_RAW_WRITE> is nonzero, then I<data> points to an input buffer of length "
12513 "I<length>.  If I<flags & FD_RAW_READ> is nonzero, then I<data> points to an "
12514 "output buffer of length I<length>."
12515 msgstr ""
12516
12517 #. type: Plain text
12518 #: build/C/man2/ioctl_list.2:859
12519 msgid ""
12520 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc\\ *> or a "
12521 "I<const struct console_font_desc\\ *>, respectively.  I<chardata> points to "
12522 "a buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
12523 "and an input buffer for B<PIO_FONTX>."
12524 msgstr ""
12525
12526 #. type: Plain text
12527 #: build/C/man2/ioctl_list.2:875
12528 msgid ""
12529 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc\\ *> or a I<const "
12530 "struct unimapdesc\\ *>, respectively.  I<entries> points to a buffer of "
12531 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
12532 "and an input buffer for B<PIO_UNIMAP>."
12533 msgstr ""
12534
12535 #. type: Plain text
12536 #: build/C/man2/ioctl_list.2:879
12537 msgid ""
12538 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
12539 "ports.  They are essentially alternate interfaces to 'ioperm'."
12540 msgstr ""
12541
12542 #. type: Plain text
12543 #: build/C/man2/ioctl_list.2:885
12544 msgid ""
12545 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
12546 "port access.  They are not implemented in the kernel."
12547 msgstr ""
12548
12549 #. type: Plain text
12550 #: build/C/man2/ioctl_list.2:893
12551 msgid ""
12552 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int\\ *>, which is a "
12553 "length.  It uses the same pointer as an output pointer to a I<char []> "
12554 "buffer of this length."
12555 msgstr ""
12556
12557 #. type: Plain text
12558 #: build/C/man2/ioctl_list.2:899
12559 msgid ""
12560 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
12561 "the protocol:"
12562 msgstr ""
12563
12564 #. type: Plain text
12565 #: build/C/man2/ioctl_list.2:904
12566 #, no-wrap
12567 msgid ""
12568 "    Most protocols      const struct rtentry *\n"
12569 "    AX.25               const struct ax25_route *\n"
12570 "    NET/ROM             const struct nr_route_struct *\n"
12571 msgstr ""
12572
12573 #. type: Plain text
12574 #: build/C/man2/ioctl_list.2:915
12575 msgid ""
12576 "B<SIOCGIFCONF> takes a I<struct ifconf\\ *>.  The I<ifc_buf> field points to "
12577 "a buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
12578 "type I<struct ifreq []>."
12579 msgstr ""
12580
12581 #. type: Plain text
12582 #: build/C/man2/ioctl_list.2:918
12583 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12584 msgstr ""
12585
12586 #. type: Plain text
12587 #: build/C/man2/ioctl_list.2:922
12588 #, no-wrap
12589 msgid ""
12590 "    Most protocols      const struct ifreq *\n"
12591 "    AX.25               const char [AX25_ADDR_LEN]\n"
12592 msgstr ""
12593
12594 #. type: Plain text
12595 #: build/C/man2/ioctl_list.2:937
12596 msgid ""
12597 "B<TIOCLINUX> takes a I<const char\\ *>.  It uses this to distinguish several "
12598 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
12599 "N-byte pad.  I<struct selection> is implicitly defined in "
12600 "I<drivers/char/selection.c>"
12601 msgstr ""
12602
12603 #. type: Plain text
12604 #: build/C/man2/ioctl_list.2:946
12605 #, no-wrap
12606 msgid ""
12607 "    TIOCLINUX-2         1 + const struct selection *\n"
12608 "    TIOCLINUX-3         void\n"
12609 "    TIOCLINUX-4         void\n"
12610 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12611 "    TIOCLINUX-6         char *\n"
12612 "    TIOCLINUX-7         char *\n"
12613 "    TIOCLINUX-10        1 + const char *\n"
12614 msgstr ""
12615
12616 #. type: Plain text
12617 #: build/C/man2/ioctl_list.2:949
12618 msgid "// Duplicate ioctls"
12619 msgstr ""
12620
12621 #. type: Plain text
12622 #: build/C/man2/ioctl_list.2:954
12623 msgid ""
12624 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
12625 "B<SIOCPROTOPRIVATE>."
12626 msgstr ""
12627
12628 #. type: tbl table
12629 #: build/C/man2/ioctl_list.2:956
12630 #, no-wrap
12631 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12632 msgstr ""
12633
12634 #. type: tbl table
12635 #: build/C/man2/ioctl_list.2:957
12636 #, no-wrap
12637 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12638 msgstr ""
12639
12640 #. type: tbl table
12641 #: build/C/man2/ioctl_list.2:958
12642 #, no-wrap
12643 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12644 msgstr ""
12645
12646 #. type: tbl table
12647 #: build/C/man2/ioctl_list.2:959
12648 #, no-wrap
12649 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12650 msgstr ""
12651
12652 #. type: tbl table
12653 #: build/C/man2/ioctl_list.2:960
12654 #, no-wrap
12655 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12656 msgstr ""
12657
12658 #. type: tbl table
12659 #: build/C/man2/ioctl_list.2:961
12660 #, no-wrap
12661 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12662 msgstr ""
12663
12664 #. type: Plain text
12665 #: build/C/man2/ioctl_list.2:965
12666 msgid "B<ioctl>(2)"
12667 msgstr ""
12668
12669 #. type: TH
12670 #: build/C/man2/ioperm.2:34
12671 #, no-wrap
12672 msgid "IOPERM"
12673 msgstr ""
12674
12675 #. type: Plain text
12676 #: build/C/man2/ioperm.2:37
12677 msgid "ioperm - set port input/output permissions"
12678 msgstr ""
12679
12680 #. type: Plain text
12681 #: build/C/man2/ioperm.2:40
12682 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12683 msgstr ""
12684
12685 #. type: Plain text
12686 #: build/C/man2/ioperm.2:43
12687 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12688 msgstr ""
12689
12690 #. type: Plain text
12691 #: build/C/man2/ioperm.2:45
12692 msgid ""
12693 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12694 ">I<turn_on>B<);>"
12695 msgstr ""
12696
12697 #. type: Plain text
12698 #: build/C/man2/ioperm.2:59
12699 msgid ""
12700 "B<ioperm>()  sets the port access permission bits for the calling thread for "
12701 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
12702 "then permission for the specified bits is enabled; otherwise it is "
12703 "disabled.  If I<turn_on> is nonzero, the calling thread must be privileged "
12704 "(B<CAP_SYS_RAWIO>)."
12705 msgstr ""
12706
12707 #. type: Plain text
12708 #: build/C/man2/ioperm.2:68
12709 msgid ""
12710 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
12711 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
12712 "(with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be "
12713 "specified."
12714 msgstr ""
12715
12716 #. type: Plain text
12717 #: build/C/man2/ioperm.2:78
12718 msgid ""
12719 "Permissions are not inherited by the child created by B<fork>(2); following "
12720 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
12721 "Permissions are preserved across B<execve>(2); this is useful for giving "
12722 "port access permissions to unprivileged programs."
12723 msgstr ""
12724
12725 #. type: Plain text
12726 #: build/C/man2/ioperm.2:82
12727 msgid ""
12728 "This call is mostly for the i386 architecture.  On many other architectures "
12729 "it does not exist or will always return an error."
12730 msgstr ""
12731
12732 #. type: Plain text
12733 #: build/C/man2/ioperm.2:94
12734 msgid "Invalid values for I<from> or I<num>."
12735 msgstr ""
12736
12737 #. type: Plain text
12738 #: build/C/man2/ioperm.2:97
12739 msgid "(on PowerPC) This call is not supported."
12740 msgstr ""
12741
12742 #.  Could not allocate I/O bitmap.
12743 #. type: Plain text
12744 #: build/C/man2/ioperm.2:101
12745 msgid "Out of memory."
12746 msgstr ""
12747
12748 #. type: Plain text
12749 #: build/C/man2/ioperm.2:104
12750 msgid "The calling thread has insufficient privilege."
12751 msgstr ""
12752
12753 #. type: Plain text
12754 #: build/C/man2/ioperm.2:108
12755 msgid ""
12756 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12757 "to be portable."
12758 msgstr ""
12759
12760 #. type: Plain text
12761 #: build/C/man2/ioperm.2:112
12762 msgid ""
12763 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
12764 "on the system."
12765 msgstr ""
12766
12767 #. type: Plain text
12768 #: build/C/man2/ioperm.2:121
12769 msgid ""
12770 "Libc5 treats it as a system call and has a prototype in "
12771 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12772 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12773 "Avoid the latter, it is available on i386 only."
12774 msgstr ""
12775
12776 #. type: Plain text
12777 #: build/C/man2/ioperm.2:125
12778 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12779 msgstr ""
12780
12781 #. type: TH
12782 #: build/C/man3/lockf.3:28
12783 #, no-wrap
12784 msgid "LOCKF"
12785 msgstr ""
12786
12787 #. type: Plain text
12788 #: build/C/man3/lockf.3:31
12789 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12790 msgstr ""
12791
12792 #. type: Plain text
12793 #: build/C/man3/lockf.3:35
12794 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12795 msgstr ""
12796
12797 #. type: Plain text
12798 #: build/C/man3/lockf.3:42
12799 msgid "B<lockf>():"
12800 msgstr ""
12801
12802 #. type: Plain text
12803 #: build/C/man3/lockf.3:46
12804 msgid ""
12805 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12806 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12807 msgstr ""
12808
12809 #. type: Plain text
12810 #: build/C/man3/lockf.3:69
12811 msgid ""
12812 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12813 "is specified by I<fd>, a file descriptor open for writing, the action by "
12814 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12815 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12816 "where I<pos> is the current file position, and if I<len> is zero, the "
12817 "section extends from the current file position to infinity, encompassing the "
12818 "present and future end-of-file positions.  In all cases, the section may "
12819 "extend past current end-of-file."
12820 msgstr ""
12821
12822 #. type: Plain text
12823 #: build/C/man3/lockf.3:84
12824 msgid ""
12825 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12826 "Many other systems implement B<lockf>()  in this way, but note that "
12827 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12828 "locks unspecified.  A portable application should probably avoid mixing "
12829 "calls to these interfaces."
12830 msgstr ""
12831
12832 #. type: Plain text
12833 #: build/C/man3/lockf.3:86
12834 msgid "Valid operations are given below:"
12835 msgstr ""
12836
12837 #. type: TP
12838 #: build/C/man3/lockf.3:86
12839 #, no-wrap
12840 msgid "B<F_LOCK>"
12841 msgstr ""
12842
12843 #. type: Plain text
12844 #: build/C/man3/lockf.3:96
12845 msgid ""
12846 "Set an exclusive lock on the specified section of the file.  If (part of) "
12847 "this section is already locked, the call blocks until the previous lock is "
12848 "released.  If this section overlaps an earlier locked section, both are "
12849 "merged.  File locks are released as soon as the process holding the locks "
12850 "closes some file descriptor for the file.  A child process does not inherit "
12851 "these locks."
12852 msgstr ""
12853
12854 #. type: TP
12855 #: build/C/man3/lockf.3:96
12856 #, no-wrap
12857 msgid "B<F_TLOCK>"
12858 msgstr ""
12859
12860 #. type: Plain text
12861 #: build/C/man3/lockf.3:102
12862 msgid ""
12863 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12864 "the file is already locked."
12865 msgstr ""
12866
12867 #. type: TP
12868 #: build/C/man3/lockf.3:102
12869 #, no-wrap
12870 msgid "B<F_ULOCK>"
12871 msgstr ""
12872
12873 #. type: Plain text
12874 #: build/C/man3/lockf.3:106
12875 msgid ""
12876 "Unlock the indicated section of the file.  This may cause a locked section "
12877 "to be split into two locked sections."
12878 msgstr ""
12879
12880 #. type: TP
12881 #: build/C/man3/lockf.3:106
12882 #, no-wrap
12883 msgid "B<F_TEST>"
12884 msgstr ""
12885
12886 #. type: Plain text
12887 #: build/C/man3/lockf.3:116
12888 msgid ""
12889 "Test the lock: return 0 if the specified section is unlocked or locked by "
12890 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12891 "systems), if another process holds a lock."
12892 msgstr ""
12893
12894 #. type: Plain text
12895 #: build/C/man3/lockf.3:130
12896 msgid ""
12897 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12898 "operation is prohibited because the file has been memory-mapped by another "
12899 "process."
12900 msgstr ""
12901
12902 #. type: Plain text
12903 #: build/C/man3/lockf.3:142
12904 msgid ""
12905 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12906 "and I<fd> is not a writable file descriptor."
12907 msgstr ""
12908
12909 #. type: Plain text
12910 #: build/C/man3/lockf.3:147
12911 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12912 msgstr ""
12913
12914 #. type: Plain text
12915 #: build/C/man3/lockf.3:151
12916 msgid "An invalid operation was specified in I<cmd>."
12917 msgstr ""
12918
12919 #. type: Plain text
12920 #: build/C/man3/lockf.3:154
12921 msgid "Too many segment locks open, lock table is full."
12922 msgstr ""
12923
12924 #. type: Plain text
12925 #: build/C/man3/lockf.3:156
12926 msgid "SVr4, POSIX.1-2001."
12927 msgstr ""
12928
12929 #. type: Plain text
12930 #: build/C/man3/lockf.3:159
12931 msgid "B<fcntl>(2), B<flock>(2)"
12932 msgstr ""
12933
12934 #. type: Plain text
12935 #: build/C/man3/lockf.3:171
12936 msgid ""
12937 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
12938 "directory I<Documentation/filesystems> (on older kernels, these files are "
12939 "directly under the I<Documentation> directory, and I<mandatory-locking.txt> "
12940 "is called I<mandatory.txt>)"
12941 msgstr ""
12942
12943 #. type: TH
12944 #: build/C/man2/mincore.2:34
12945 #, no-wrap
12946 msgid "MINCORE"
12947 msgstr ""
12948
12949 #. type: TH
12950 #: build/C/man2/mincore.2:34
12951 #, no-wrap
12952 msgid "2008-04-22"
12953 msgstr ""
12954
12955 #. type: Plain text
12956 #: build/C/man2/mincore.2:37
12957 msgid "mincore - determine whether pages are resident in memory"
12958 msgstr ""
12959
12960 #. type: Plain text
12961 #: build/C/man2/mincore.2:41
12962 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12963 msgstr ""
12964
12965 #. type: Plain text
12966 #: build/C/man2/mincore.2:43
12967 msgid ""
12968 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12969 "*>I<vec>B<);>"
12970 msgstr ""
12971
12972 #. type: Plain text
12973 #: build/C/man2/mincore.2:51
12974 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12975 msgstr ""
12976
12977 #. type: Plain text
12978 #: build/C/man2/mincore.2:62
12979 msgid ""
12980 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12981 "process's virtual memory are resident in core (RAM), and so will not cause a "
12982 "disk access (page fault) if referenced.  The kernel returns residency "
12983 "information about the pages starting at the address I<addr>, and continuing "
12984 "for I<length> bytes."
12985 msgstr ""
12986
12987 #. type: Plain text
12988 #: build/C/man2/mincore.2:76
12989 msgid ""
12990 "The I<addr> argument must be a multiple of the system page size.  The "
12991 "I<length> argument need not be a multiple of the page size, but since "
12992 "residency information is returned for whole pages, I<length> is effectively "
12993 "rounded up to the next multiple of the page size.  One may obtain the page "
12994 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12995 msgstr ""
12996
12997 #. type: Plain text
12998 #: build/C/man2/mincore.2:94
12999 msgid ""
13000 "The I<vec> argument must point to an array containing at least "
13001 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
13002 "bit of each byte will be set if the corresponding page is currently resident "
13003 "in memory, and be clear otherwise.  (The settings of the other bits in each "
13004 "byte are undefined; these bits are reserved for possible later use.)  Of "
13005 "course the information returned in I<vec> is only a snapshot: pages that are "
13006 "not locked in memory can come and go at any moment, and the contents of "
13007 "I<vec> may already be stale by the time this call returns."
13008 msgstr ""
13009
13010 #. type: Plain text
13011 #: build/C/man2/mincore.2:101
13012 msgid ""
13013 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
13014 "I<errno> is set appropriately."
13015 msgstr ""
13016
13017 #. type: Plain text
13018 #: build/C/man2/mincore.2:104
13019 msgid "B<EAGAIN> kernel is temporarily out of resources."
13020 msgstr ""
13021
13022 #. type: Plain text
13023 #: build/C/man2/mincore.2:108
13024 msgid "I<vec> points to an invalid address."
13025 msgstr ""
13026
13027 #. type: Plain text
13028 #: build/C/man2/mincore.2:112
13029 msgid "I<addr> is not a multiple of the page size."
13030 msgstr ""
13031
13032 #. type: Plain text
13033 #: build/C/man2/mincore.2:124
13034 msgid ""
13035 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
13036 "negative value is specified for I<length>, since that value will be "
13037 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
13038 "error B<EINVAL> was returned for this condition."
13039 msgstr ""
13040
13041 #. type: Plain text
13042 #: build/C/man2/mincore.2:132
13043 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
13044 msgstr ""
13045
13046 #. type: Plain text
13047 #: build/C/man2/mincore.2:134
13048 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
13049 msgstr ""
13050
13051 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
13052 #.  AIX 5.1, SunOS 4.1
13053 #.  .SH HISTORY
13054 #.  The
13055 #.  .BR mincore ()
13056 #.  function first appeared in 4.4BSD.
13057 #. type: Plain text
13058 #: build/C/man2/mincore.2:144
13059 msgid ""
13060 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
13061 "all UNIX implementations."
13062 msgstr ""
13063
13064 #.  Linux (up to now, 2.6.5),
13065 #.  .B mincore
13066 #.  does not return correct information for MAP_PRIVATE mappings:
13067 #.  for a MAP_PRIVATE file mapping,
13068 #.  .B mincore
13069 #.  returns the residency of the file pages, rather than any
13070 #.  modified process-private pages that have been copied on write;
13071 #.  for a MAP_PRIVATE mapping of
13072 #.  .IR /dev/zero ,
13073 #.  .B mincore
13074 #.  always reports pages as nonresident;
13075 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
13076 #.  .B mincore
13077 #.  always fails with the error
13078 #.  .BR ENOMEM .
13079 #. type: Plain text
13080 #: build/C/man2/mincore.2:166
13081 msgid ""
13082 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
13083 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
13084 "B<remap_file_pages>(2))."
13085 msgstr ""
13086
13087 #. type: Plain text
13088 #: build/C/man2/mincore.2:169
13089 msgid "B<mlock>(2), B<mmap>(2)"
13090 msgstr ""
13091
13092 #. type: TH
13093 #: build/C/man2/mkdir.2:11
13094 #, no-wrap
13095 msgid "MKDIR"
13096 msgstr ""
13097
13098 #. type: Plain text
13099 #: build/C/man2/mkdir.2:14
13100 msgid "mkdir, mkdirat - create a directory"
13101 msgstr ""
13102
13103 #.  .B #include <unistd.h>
13104 #. type: Plain text
13105 #: build/C/man2/mkdir.2:19
13106 #, no-wrap
13107 msgid ""
13108 "B<#include E<lt>sys/stat.hE<gt>>\n"
13109 "B<#include E<lt>sys/types.hE<gt>>\n"
13110 msgstr ""
13111
13112 #. type: Plain text
13113 #: build/C/man2/mkdir.2:21
13114 #, no-wrap
13115 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
13116 msgstr ""
13117
13118 #. type: Plain text
13119 #: build/C/man2/mkdir.2:24
13120 #, no-wrap
13121 msgid ""
13122 "B<#include E<lt>fcntl.hE<gt>           >/* Definition of AT_* constants */\n"
13123 "B<#include E<lt>sys/stat.hE<gt>>\n"
13124 msgstr ""
13125
13126 #. type: Plain text
13127 #: build/C/man2/mkdir.2:26
13128 #, no-wrap
13129 msgid ""
13130 "B<int mkdirat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
13131 ">I<mode>B<);>\n"
13132 msgstr ""
13133
13134 #. type: Plain text
13135 #: build/C/man2/mkdir.2:34
13136 msgid "B<mkdirat>():"
13137 msgstr ""
13138
13139 #. type: Plain text
13140 #: build/C/man2/mkdir.2:51
13141 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
13142 msgstr ""
13143
13144 #. type: Plain text
13145 #: build/C/man2/mkdir.2:61
13146 msgid ""
13147 "The argument I<mode> specifies the permissions to use.  It is modified by "
13148 "the process's I<umask> in the usual way: the permissions of the created "
13149 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
13150 "directory depend on the operating system.  For Linux, see below."
13151 msgstr ""
13152
13153 #. type: Plain text
13154 #: build/C/man2/mkdir.2:71
13155 msgid ""
13156 "The newly created directory will be owned by the effective user ID of the "
13157 "process.  If the directory containing the file has the set-group-ID bit set, "
13158 "or if the filesystem is mounted with BSD group semantics (I<mount -o "
13159 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
13160 "inherit the group ownership from its parent; otherwise it will be owned by "
13161 "the effective group ID of the process."
13162 msgstr ""
13163
13164 #. type: Plain text
13165 #: build/C/man2/mkdir.2:76
13166 msgid ""
13167 "If the parent directory has the set-group-ID bit set, then so will the newly "
13168 "created directory."
13169 msgstr ""
13170
13171 #. type: SS
13172 #: build/C/man2/mkdir.2:76
13173 #, no-wrap
13174 msgid "mkdirat()"
13175 msgstr ""
13176
13177 #. type: Plain text
13178 #: build/C/man2/mkdir.2:82
13179 msgid ""
13180 "The B<mkdirat>()  system call operates in exactly the same way as "
13181 "B<mkdir>(), except for the differences described here."
13182 msgstr ""
13183
13184 #. type: Plain text
13185 #: build/C/man2/mkdir.2:92
13186 msgid ""
13187 "If the pathname given in I<pathname> is relative, then it is interpreted "
13188 "relative to the directory referred to by the file descriptor I<dirfd> "
13189 "(rather than relative to the current working directory of the calling "
13190 "process, as is done by B<mkdir>()  for a relative pathname)."
13191 msgstr ""
13192
13193 #. type: Plain text
13194 #: build/C/man2/mkdir.2:104
13195 msgid ""
13196 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
13197 "then I<pathname> is interpreted relative to the current working directory of "
13198 "the calling process (like B<mkdir>())."
13199 msgstr ""
13200
13201 #. type: Plain text
13202 #: build/C/man2/mkdir.2:115
13203 msgid "See B<openat>(2)  for an explanation of the need for B<mkdirat>()."
13204 msgstr ""
13205
13206 #. type: Plain text
13207 #: build/C/man2/mkdir.2:122
13208 msgid ""
13209 "B<mkdir>()  and B<mkdirat>()  return zero on success, or -1 if an error "
13210 "occurred (in which case, I<errno> is set appropriately)."
13211 msgstr ""
13212
13213 #. type: Plain text
13214 #: build/C/man2/mkdir.2:131
13215 msgid ""
13216 "The parent directory does not allow write permission to the process, or one "
13217 "of the directories in I<pathname> did not allow search permission.  (See "
13218 "also B<path_resolution>(7).)"
13219 msgstr ""
13220
13221 #. type: TP
13222 #: build/C/man2/mkdir.2:131
13223 #, no-wrap
13224 msgid "B<EDQUOT>"
13225 msgstr ""
13226
13227 #. type: Plain text
13228 #: build/C/man2/mkdir.2:135
13229 msgid ""
13230 "The user's quota of disk blocks or inodes on the filesystem has been "
13231 "exhausted."
13232 msgstr ""
13233
13234 #. type: TP
13235 #: build/C/man2/mkdir.2:135
13236 #, no-wrap
13237 msgid "B<EEXIST>"
13238 msgstr ""
13239
13240 #. type: Plain text
13241 #: build/C/man2/mkdir.2:142
13242 msgid ""
13243 "I<pathname> already exists (not necessarily as a directory).  This includes "
13244 "the case where I<pathname> is a symbolic link, dangling or not."
13245 msgstr ""
13246
13247 #. type: TP
13248 #: build/C/man2/mkdir.2:149
13249 #, no-wrap
13250 msgid "B<EMLINK>"
13251 msgstr ""
13252
13253 #. type: Plain text
13254 #: build/C/man2/mkdir.2:153
13255 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
13256 msgstr ""
13257
13258 #. type: Plain text
13259 #: build/C/man2/mkdir.2:156
13260 msgid "I<pathname> was too long."
13261 msgstr ""
13262
13263 #. type: Plain text
13264 #: build/C/man2/mkdir.2:161
13265 msgid ""
13266 "A directory component in I<pathname> does not exist or is a dangling "
13267 "symbolic link."
13268 msgstr ""
13269
13270 #. type: TP
13271 #: build/C/man2/mkdir.2:164 build/C/man2/mkdir.2:169
13272 #, no-wrap
13273 msgid "B<ENOSPC>"
13274 msgstr ""
13275
13276 #. type: Plain text
13277 #: build/C/man2/mkdir.2:169
13278 msgid "The device containing I<pathname> has no room for the new directory."
13279 msgstr ""
13280
13281 #. type: Plain text
13282 #: build/C/man2/mkdir.2:173
13283 msgid ""
13284 "The new directory cannot be created because the user's disk quota is "
13285 "exhausted."
13286 msgstr ""
13287
13288 #. type: Plain text
13289 #: build/C/man2/mkdir.2:183
13290 msgid ""
13291 "The filesystem containing I<pathname> does not support the creation of "
13292 "directories."
13293 msgstr ""
13294
13295 #. type: Plain text
13296 #: build/C/man2/mkdir.2:187
13297 msgid "I<pathname> refers to a file on a read-only filesystem."
13298 msgstr ""
13299
13300 #. type: Plain text
13301 #: build/C/man2/mkdir.2:190
13302 msgid "The following additional errors can occur for B<mkdirat>():"
13303 msgstr ""
13304
13305 #. type: Plain text
13306 #: build/C/man2/mkdir.2:204
13307 msgid ""
13308 "B<mkdirat>()  was added to Linux in kernel 2.6.16; library support was added "
13309 "to glibc in version 2.4."
13310 msgstr ""
13311
13312 #.  SVr4 documents additional EIO, EMULTIHOP
13313 #. type: Plain text
13314 #: build/C/man2/mkdir.2:208
13315 msgid "B<mkdir>(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008."
13316 msgstr ""
13317
13318 #. type: Plain text
13319 #: build/C/man2/mkdir.2:211
13320 msgid "B<mkdirat>(): POSIX.1-2008."
13321 msgstr ""
13322
13323 #. type: Plain text
13324 #: build/C/man2/mkdir.2:219
13325 msgid ""
13326 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
13327 "honored.  That is, under Linux the created directory actually gets mode "
13328 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
13329 msgstr ""
13330
13331 #. type: Plain text
13332 #: build/C/man2/mkdir.2:223
13333 msgid ""
13334 "There are many infelicities in the protocol underlying NFS.  Some of these "
13335 "affect B<mkdir>()."
13336 msgstr ""
13337
13338 #. type: Plain text
13339 #: build/C/man2/mkdir.2:234
13340 msgid ""
13341 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mknod>(2), B<mount>(2), "
13342 "B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<path_resolution>(7)"
13343 msgstr ""
13344
13345 #. type: TH
13346 #: build/C/man2/nice.2:31
13347 #, no-wrap
13348 msgid "NICE"
13349 msgstr ""
13350
13351 #. type: TH
13352 #: build/C/man2/nice.2:31 build/C/man2/vhangup.2:28
13353 #, no-wrap
13354 msgid "2007-07-26"
13355 msgstr ""
13356
13357 #. type: Plain text
13358 #: build/C/man2/nice.2:34
13359 msgid "nice - change process priority"
13360 msgstr ""
13361
13362 #. type: Plain text
13363 #: build/C/man2/nice.2:38
13364 msgid "B<int nice(int >I<inc>B<);>"
13365 msgstr ""
13366
13367 #. type: Plain text
13368 #: build/C/man2/nice.2:46
13369 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
13370 msgstr ""
13371
13372 #. type: Plain text
13373 #: build/C/man2/nice.2:56
13374 msgid ""
13375 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
13376 "nice value means a low priority.)  Only the super\\%user may specify a "
13377 "negative increment, or priority increase.  The range for nice values is "
13378 "described in B<getpriority>(2)."
13379 msgstr ""
13380
13381 #. type: Plain text
13382 #: build/C/man2/nice.2:61
13383 msgid ""
13384 "On success, the new nice value is returned (but see NOTES below).  On error, "
13385 "-1 is returned, and I<errno> is set appropriately."
13386 msgstr ""
13387
13388 #. type: Plain text
13389 #: build/C/man2/nice.2:75
13390 msgid ""
13391 "The calling process attempted to increase its priority by supplying a "
13392 "negative I<inc> but has insufficient privileges.  Under Linux the "
13393 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
13394 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
13395 msgstr ""
13396
13397 #. type: Plain text
13398 #: build/C/man2/nice.2:82
13399 msgid ""
13400 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
13401 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
13402 "additional B<EINVAL> error code."
13403 msgstr ""
13404
13405 #. type: Plain text
13406 #: build/C/man2/nice.2:92
13407 msgid ""
13408 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
13409 "value.  However, the Linux syscall and the B<nice>()  library function "
13410 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
13411 "success.  The new nice value can be found using B<getpriority>(2)."
13412 msgstr ""
13413
13414 #. type: Plain text
13415 #: build/C/man2/nice.2:105
13416 msgid ""
13417 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
13418 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
13419 "caller.  With this implementation, a successful call can legitimately return "
13420 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
13421 "check its value when B<nice>()  returns -1."
13422 msgstr ""
13423
13424 #. type: Plain text
13425 #: build/C/man2/nice.2:112
13426 msgid ""
13427 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
13428 "B<capabilities>(7)"
13429 msgstr ""
13430
13431 #. type: TH
13432 #: build/C/man2/pread.2:25
13433 #, no-wrap
13434 msgid "PREAD"
13435 msgstr ""
13436
13437 #. type: Plain text
13438 #: build/C/man2/pread.2:28
13439 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
13440 msgstr ""
13441
13442 #. type: Plain text
13443 #: build/C/man2/pread.2:33
13444 msgid ""
13445 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
13446 ">I<offset>B<);>"
13447 msgstr ""
13448
13449 #. type: Plain text
13450 #: build/C/man2/pread.2:36
13451 msgid ""
13452 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
13453 "off_t >I<offset>B<);>"
13454 msgstr ""
13455
13456 #. type: Plain text
13457 #: build/C/man2/pread.2:46
13458 msgid "B<pread>(), B<pwrite>():"
13459 msgstr ""
13460
13461 #. type: Plain text
13462 #: build/C/man2/pread.2:48
13463 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
13464 msgstr ""
13465
13466 #. type: Plain text
13467 #: build/C/man2/pread.2:64
13468 msgid ""
13469 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
13470 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
13471 "The file offset is not changed."
13472 msgstr ""
13473
13474 #. type: Plain text
13475 #: build/C/man2/pread.2:75
13476 msgid ""
13477 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
13478 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
13479 "changed."
13480 msgstr ""
13481
13482 #. type: Plain text
13483 #: build/C/man2/pread.2:79
13484 msgid "The file referenced by I<fd> must be capable of seeking."
13485 msgstr ""
13486
13487 #. type: Plain text
13488 #: build/C/man2/pread.2:89
13489 msgid ""
13490 "On success, the number of bytes read or written is returned (zero indicates "
13491 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
13492 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
13493 "indicate the error."
13494 msgstr ""
13495
13496 #. type: Plain text
13497 #: build/C/man2/pread.2:104
13498 msgid ""
13499 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
13500 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
13501 "specified for B<write>(2)  or B<lseek>(2)."
13502 msgstr ""
13503
13504 #. type: Plain text
13505 #: build/C/man2/pread.2:115
13506 msgid ""
13507 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
13508 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
13509 "library support (including emulation using B<lseek>(2)  on older kernels "
13510 "without the system calls) was added in glibc 2.1."
13511 msgstr ""
13512
13513 #. type: Plain text
13514 #: build/C/man2/pread.2:125
13515 msgid ""
13516 "The B<pread>()  and B<pwrite>()  system calls are especially useful in "
13517 "multithreaded applications.  They allow multiple threads to perform I/O on "
13518 "the same file descriptor without being affected by changes to the file "
13519 "offset by other threads."
13520 msgstr ""
13521
13522 #. type: Plain text
13523 #: build/C/man2/pread.2:141
13524 msgid ""
13525 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
13526 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
13527 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
13528 "functions transparently deal with the change."
13529 msgstr ""
13530
13531 #. type: Plain text
13532 #: build/C/man2/pread.2:146 build/C/man2/truncate.2:248
13533 msgid ""
13534 "On some 32-bit architectures, the calling signature for these system calls "
13535 "differ, for the reasons described in B<syscall>(2)."
13536 msgstr ""
13537
13538 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
13539 #. type: Plain text
13540 #: build/C/man2/pread.2:158
13541 msgid ""
13542 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
13543 "affect on the location at which B<pwrite>()  writes data.  However, on "
13544 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
13545 "the end of the file, regardless of the value of I<offset>."
13546 msgstr ""
13547
13548 #. type: Plain text
13549 #: build/C/man2/pread.2:163
13550 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
13551 msgstr ""
13552
13553 #. type: TH
13554 #: build/C/man2/set_thread_area.2:8
13555 #, no-wrap
13556 msgid "SET_THREAD_AREA"
13557 msgstr ""
13558
13559 #. type: Plain text
13560 #: build/C/man2/set_thread_area.2:11
13561 msgid "set_thread_area - set a thread local storage (TLS) area"
13562 msgstr ""
13563
13564 #. type: Plain text
13565 #: build/C/man2/set_thread_area.2:17
13566 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
13567 msgstr ""
13568
13569 #. type: Plain text
13570 #: build/C/man2/set_thread_area.2:33
13571 msgid ""
13572 "B<set_thread_area>()  sets an entry in the current thread's thread-local "
13573 "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
13574 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
13575 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
13576 "descriptor pointed to by I<u_info> into the thread's TLS array."
13577 msgstr ""
13578
13579 #. type: Plain text
13580 #: build/C/man2/set_thread_area.2:44
13581 msgid ""
13582 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
13583 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
13584 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
13585 "changed."
13586 msgstr ""
13587
13588 #. type: Plain text
13589 #: build/C/man2/set_thread_area.2:49
13590 msgid ""
13591 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
13592 "set appropriately."
13593 msgstr ""
13594
13595 #. type: TP
13596 #: build/C/man2/set_thread_area.2:56
13597 #, no-wrap
13598 msgid "B<ESRCH>"
13599 msgstr ""
13600
13601 #. type: Plain text
13602 #: build/C/man2/set_thread_area.2:59
13603 msgid "A free TLS entry could not be located."
13604 msgstr ""
13605
13606 #. type: Plain text
13607 #: build/C/man2/set_thread_area.2:63
13608 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
13609 msgstr ""
13610
13611 #. type: Plain text
13612 #: build/C/man2/set_thread_area.2:67
13613 msgid ""
13614 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
13615 "that are intended to be portable."
13616 msgstr ""
13617
13618 #. type: Plain text
13619 #: build/C/man2/set_thread_area.2:72
13620 msgid ""
13621 "Glibc does not provide a wrapper for this system call, since it is generally "
13622 "intended only for use by threading libraries.  In the unlikely event that "
13623 "you want to call it directly, use B<syscall>(2)."
13624 msgstr ""
13625
13626 #. type: Plain text
13627 #: build/C/man2/set_thread_area.2:74
13628 msgid "B<get_thread_area>(2)"
13629 msgstr ""
13630
13631 #. type: TH
13632 #: build/C/man2/setup.2:34
13633 #, no-wrap
13634 msgid "SETUP"
13635 msgstr ""
13636
13637 #. type: TH
13638 #: build/C/man2/setup.2:34 build/C/man2/uname.2:27
13639 #, no-wrap
13640 msgid "2008-12-03"
13641 msgstr ""
13642
13643 #. type: Plain text
13644 #: build/C/man2/setup.2:37
13645 msgid "setup - setup devices and filesystems, mount root filesystem"
13646 msgstr ""
13647
13648 #. type: Plain text
13649 #: build/C/man2/setup.2:41
13650 msgid "B<int setup(void);>"
13651 msgstr ""
13652
13653 #. type: Plain text
13654 #: build/C/man2/setup.2:47
13655 msgid ""
13656 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
13657 "initialization functions for devices and filesystems configured into the "
13658 "kernel and then mounts the root filesystem."
13659 msgstr ""
13660
13661 #. type: Plain text
13662 #: build/C/man2/setup.2:53
13663 msgid ""
13664 "No user process may call B<setup>().  Any user process, even a process with "
13665 "superuser permission, will receive B<EPERM>."
13666 msgstr ""
13667
13668 #. type: Plain text
13669 #: build/C/man2/setup.2:56
13670 msgid "B<setup>()  always returns -1 for a user process."
13671 msgstr ""
13672
13673 #. type: Plain text
13674 #: build/C/man2/setup.2:62
13675 msgid "Since Linux 2.1.121, no such function exists anymore."
13676 msgstr ""
13677
13678 #. type: Plain text
13679 #: build/C/man2/setup.2:65
13680 msgid ""
13681 "This function is Linux-specific, and should not be used in programs intended "
13682 "to be portable, or indeed in any programs at all."
13683 msgstr ""
13684
13685 #. type: Plain text
13686 #: build/C/man2/setup.2:72
13687 msgid ""
13688 "The calling sequence varied: at some times I<setup ()> has had a single "
13689 "argument I<void\\ *BIOS> and at other times a single argument I<int magic>."
13690 msgstr ""
13691
13692 #. type: TH
13693 #: build/C/man5/shells.5:28
13694 #, no-wrap
13695 msgid "SHELLS"
13696 msgstr ""
13697
13698 #. type: Plain text
13699 #: build/C/man5/shells.5:31
13700 msgid "shells - pathnames of valid login shells"
13701 msgstr ""
13702
13703 #. type: Plain text
13704 #: build/C/man5/shells.5:37
13705 msgid ""
13706 "I</etc/shells> is a text file which contains the full pathnames of valid "
13707 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
13708 "queried by other programs."
13709 msgstr ""
13710
13711 #. type: Plain text
13712 #: build/C/man5/shells.5:43
13713 msgid ""
13714 "Be aware that there are programs which consult this file to find out if a "
13715 "user is a normal user; for example, FTP daemons traditionally disallow "
13716 "access to users with shells not included in this file."
13717 msgstr ""
13718
13719 #. type: Plain text
13720 #: build/C/man5/shells.5:45
13721 msgid "I</etc/shells>"
13722 msgstr ""
13723
13724 #. type: Plain text
13725 #: build/C/man5/shells.5:48
13726 msgid "I</etc/shells> may contain the following paths:"
13727 msgstr ""
13728
13729 #. type: Plain text
13730 #: build/C/man5/shells.5:51
13731 msgid "I</bin/sh>"
13732 msgstr ""
13733
13734 #. type: Plain text
13735 #: build/C/man5/shells.5:53
13736 msgid "I</bin/bash>"
13737 msgstr ""
13738
13739 #. type: Plain text
13740 #: build/C/man5/shells.5:55
13741 msgid "I</bin/csh>"
13742 msgstr ""
13743
13744 #. type: Plain text
13745 #: build/C/man5/shells.5:59
13746 msgid "B<chsh>(1), B<getusershell>(3)"
13747 msgstr ""
13748
13749 #. type: TH
13750 #: build/C/man3/sleep.3:26
13751 #, no-wrap
13752 msgid "SLEEP"
13753 msgstr ""
13754
13755 #. type: TH
13756 #: build/C/man3/sleep.3:26
13757 #, no-wrap
13758 msgid "2010-02-03"
13759 msgstr ""
13760
13761 #. type: Plain text
13762 #: build/C/man3/sleep.3:29
13763 msgid "sleep - sleep for the specified number of seconds"
13764 msgstr ""
13765
13766 #. type: Plain text
13767 #: build/C/man3/sleep.3:34
13768 #, no-wrap
13769 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13770 msgstr ""
13771
13772 #. type: Plain text
13773 #: build/C/man3/sleep.3:40
13774 msgid ""
13775 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13776 "elapsed or a signal arrives which is not ignored."
13777 msgstr ""
13778
13779 #. type: Plain text
13780 #: build/C/man3/sleep.3:44
13781 msgid ""
13782 "Zero if the requested time has elapsed, or the number of seconds left to "
13783 "sleep, if the call was interrupted by a signal handler."
13784 msgstr ""
13785
13786 #. type: Plain text
13787 #: build/C/man3/sleep.3:55
13788 msgid ""
13789 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13790 "and B<sleep>()  is a bad idea."
13791 msgstr ""
13792
13793 #. type: Plain text
13794 #: build/C/man3/sleep.3:61
13795 msgid ""
13796 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13797 "B<SIGALRM> while sleeping will cause undefined results."
13798 msgstr ""
13799
13800 #. type: Plain text
13801 #: build/C/man3/sleep.3:66
13802 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13803 msgstr ""
13804
13805 #. type: TH
13806 #: build/C/man3/swab.3:31
13807 #, no-wrap
13808 msgid "SWAB"
13809 msgstr ""
13810
13811 #. type: TH
13812 #: build/C/man3/swab.3:31
13813 #, no-wrap
13814 msgid "2014-02-25"
13815 msgstr ""
13816
13817 #. type: Plain text
13818 #: build/C/man3/swab.3:34
13819 msgid "swab - swap adjacent bytes"
13820 msgstr ""
13821
13822 #. type: Plain text
13823 #: build/C/man3/swab.3:38
13824 #, no-wrap
13825 msgid ""
13826 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13827 "B<#include E<lt>unistd.hE<gt>>\n"
13828 msgstr ""
13829
13830 #. type: Plain text
13831 #: build/C/man3/swab.3:40
13832 #, no-wrap
13833 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13834 msgstr ""
13835
13836 #. type: Plain text
13837 #: build/C/man3/swab.3:55
13838 msgid ""
13839 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13840 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13841 "bytes.  This function is used to exchange data between machines that have "
13842 "different low/high byte ordering."
13843 msgstr ""
13844
13845 #. type: Plain text
13846 #: build/C/man3/swab.3:68
13847 msgid ""
13848 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13849 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13850 "the last byte.  (In other words, I<n> should be even.)"
13851 msgstr ""
13852
13853 #. type: Plain text
13854 #: build/C/man3/swab.3:72
13855 msgid "The B<swab>()  function returns no value."
13856 msgstr ""
13857
13858 #. type: Plain text
13859 #: build/C/man3/swab.3:77
13860 msgid "The B<swab>()  function is thread-safe."
13861 msgstr ""
13862
13863 #. type: Plain text
13864 #: build/C/man3/swab.3:81
13865 msgid "B<bstring>(3)"
13866 msgstr ""
13867
13868 #. type: TH
13869 #: build/C/man2/swapon.2:37
13870 #, no-wrap
13871 msgid "SWAPON"
13872 msgstr ""
13873
13874 #. type: Plain text
13875 #: build/C/man2/swapon.2:40
13876 msgid "swapon, swapoff - start/stop swapping to file/device"
13877 msgstr ""
13878
13879 #. type: Plain text
13880 #: build/C/man2/swapon.2:44
13881 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
13882 msgstr ""
13883
13884 #. type: Plain text
13885 #: build/C/man2/swapon.2:46
13886 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13887 msgstr ""
13888
13889 #. type: Plain text
13890 #: build/C/man2/swapon.2:48
13891 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13892 msgstr ""
13893
13894 #. type: Plain text
13895 #: build/C/man2/swapon.2:50
13896 msgid "B<int swapoff(const char *>I<path>B<);>"
13897 msgstr ""
13898
13899 #. type: Plain text
13900 #: build/C/man2/swapon.2:57
13901 msgid ""
13902 "B<swapon>()  sets the swap area to the file or block device specified by "
13903 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13904 "by I<path>."
13905 msgstr ""
13906
13907 #. type: Plain text
13908 #: build/C/man2/swapon.2:67
13909 msgid ""
13910 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13911 "I<swapflags> argument, the new swap area will have a higher priority than "
13912 "default.  The priority is encoded within I<swapflags> as:"
13913 msgstr ""
13914
13915 #. type: Plain text
13916 #: build/C/man2/swapon.2:70
13917 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13918 msgstr ""
13919
13920 #. type: Plain text
13921 #: build/C/man2/swapon.2:82
13922 msgid ""
13923 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13924 "I<swapflags> argument, freed swap pages will be discarded before they are "
13925 "reused, if the swap device supports the discard or trim operation.  (This "
13926 "may improve performance on some Solid State Devices, but often it does not.)  "
13927 "See also NOTES."
13928 msgstr ""
13929
13930 #. type: Plain text
13931 #: build/C/man2/swapon.2:86
13932 msgid ""
13933 "These functions may be used only by a privileged process (one having the "
13934 "B<CAP_SYS_ADMIN> capability)."
13935 msgstr ""
13936
13937 #. type: SS
13938 #: build/C/man2/swapon.2:86
13939 #, no-wrap
13940 msgid "Priority"
13941 msgstr ""
13942
13943 #. type: Plain text
13944 #: build/C/man2/swapon.2:91
13945 msgid ""
13946 "Each swap area has a priority, either high or low.  The default priority is "
13947 "low.  Within the low-priority areas, newer areas are even lower priority "
13948 "than older areas."
13949 msgstr ""
13950
13951 #. type: Plain text
13952 #: build/C/man2/swapon.2:97
13953 msgid ""
13954 "All priorities set with I<swapflags> are high-priority, higher than "
13955 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13956 "numbers mean higher priority."
13957 msgstr ""
13958
13959 #. type: Plain text
13960 #: build/C/man2/swapon.2:105
13961 msgid ""
13962 "Swap pages are allocated from areas in priority order, highest priority "
13963 "first.  For areas with different priorities, a higher-priority area is "
13964 "exhausted before using a lower-priority area.  If two or more areas have the "
13965 "same priority, and it is the highest priority available, pages are allocated "
13966 "on a round-robin basis between them."
13967 msgstr ""
13968
13969 #. type: Plain text
13970 #: build/C/man2/swapon.2:108
13971 msgid ""
13972 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13973 "exceptions."
13974 msgstr ""
13975
13976 #. type: Plain text
13977 #: build/C/man2/swapon.2:121
13978 msgid ""
13979 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13980 "area."
13981 msgstr ""
13982
13983 #. type: Plain text
13984 #: build/C/man2/swapon.2:126
13985 msgid ""
13986 "The file I<path> exists, but refers neither to a regular file nor to a block "
13987 "device;"
13988 msgstr ""
13989
13990 #. type: Plain text
13991 #: build/C/man2/swapon.2:131
13992 msgid ""
13993 "(B<swapon>())  The indicated path does not contain a valid swap signature or "
13994 "resides on an in-memory filesystem such as tmpfs."
13995 msgstr ""
13996
13997 #. type: TP
13998 #: build/C/man2/swapon.2:131
13999 #, no-wrap
14000 msgid "B<EINVAL> (since Linux 3.4)"
14001 msgstr ""
14002
14003 #. type: Plain text
14004 #: build/C/man2/swapon.2:136
14005 msgid "(B<swapon>())  An invalid flag value was specified in I<flags>."
14006 msgstr ""
14007
14008 #. type: Plain text
14009 #: build/C/man2/swapon.2:141
14010 msgid "(B<swapoff>())  I<path> is not currently a swap area."
14011 msgstr ""
14012
14013 #. type: Plain text
14014 #: build/C/man2/swapon.2:149
14015 msgid "The file I<path> does not exist."
14016 msgstr ""
14017
14018 #. type: Plain text
14019 #: build/C/man2/swapon.2:152
14020 msgid "The system has insufficient memory to start swapping."
14021 msgstr ""
14022
14023 #. type: Plain text
14024 #: build/C/man2/swapon.2:159
14025 msgid ""
14026 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
14027 "the maximum number of swap files are already in use; see NOTES below."
14028 msgstr ""
14029
14030 #. type: Plain text
14031 #: build/C/man2/swapon.2:165
14032 msgid ""
14033 "These functions are Linux-specific and should not be used in programs "
14034 "intended to be portable.  The second I<swapflags> argument was introduced in "
14035 "Linux 1.3.2."
14036 msgstr ""
14037
14038 #. type: Plain text
14039 #: build/C/man2/swapon.2:168
14040 msgid "The partition or path must be prepared with B<mkswap>(8)."
14041 msgstr ""
14042
14043 #. type: Plain text
14044 #: build/C/man2/swapon.2:188
14045 msgid ""
14046 "There is an upper limit on the number of swap files that may be used, "
14047 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
14048 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
14049 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
14050 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
14051 "entries for the page migration features of B<mbind>(2)  and "
14052 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
14053 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
14054 msgstr ""
14055
14056 #.  To be precise: 2.6.35.5
14057 #. type: Plain text
14058 #: build/C/man2/swapon.2:199
14059 msgid ""
14060 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
14061 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
14062 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
14063 "set."
14064 msgstr ""
14065
14066 #. type: Plain text
14067 #: build/C/man2/swapon.2:203
14068 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
14069 msgstr ""
14070
14071 #. type: TH
14072 #: build/C/man2/syscall.2:40
14073 #, no-wrap
14074 msgid "SYSCALL"
14075 msgstr ""
14076
14077 #. type: Plain text
14078 #: build/C/man2/syscall.2:43
14079 msgid "syscall - indirect system call"
14080 msgstr ""
14081
14082 #. type: Plain text
14083 #: build/C/man2/syscall.2:48
14084 #, no-wrap
14085 msgid ""
14086 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
14087 "B<#include E<lt>unistd.hE<gt>>\n"
14088 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
14089 msgstr ""
14090
14091 #. type: Plain text
14092 #: build/C/man2/syscall.2:50
14093 #, no-wrap
14094 msgid "B<int syscall(int >I<number>B<, ...);>\n"
14095 msgstr ""
14096
14097 #. type: Plain text
14098 #: build/C/man2/syscall.2:62
14099 msgid ""
14100 "B<syscall>()  is a small library function that invokes the system call whose "
14101 "assembly language interface has the specified I<number> with the specified "
14102 "arguments.  Employing B<syscall>()  is useful, for example, when invoking a "
14103 "system call that has no wrapper function in the C library."
14104 msgstr ""
14105
14106 #. type: Plain text
14107 #: build/C/man2/syscall.2:69
14108 msgid ""
14109 "B<syscall>()  saves CPU registers before making the system call, restores "
14110 "the registers upon return from the system call, and stores any error code "
14111 "returned by the system call in B<errno>(3)  if an error occurs."
14112 msgstr ""
14113
14114 #. type: Plain text
14115 #: build/C/man2/syscall.2:72
14116 msgid ""
14117 "Symbolic constants for system call numbers can be found in the header file "
14118 "I<E<lt>sys/syscall.hE<gt>>."
14119 msgstr ""
14120
14121 #. type: Plain text
14122 #: build/C/man2/syscall.2:78
14123 msgid ""
14124 "The return value is defined by the system call being invoked.  In general, a "
14125 "0 return value indicates success.  A -1 return value indicates an error, and "
14126 "an error code is stored in I<errno>."
14127 msgstr ""
14128
14129 #. type: Plain text
14130 #: build/C/man2/syscall.2:82
14131 msgid "B<syscall>()  first appeared in 4BSD."
14132 msgstr ""
14133
14134 #. type: SS
14135 #: build/C/man2/syscall.2:82
14136 #, no-wrap
14137 msgid "Architecture-specific requirements"
14138 msgstr ""
14139
14140 #. type: Plain text
14141 #: build/C/man2/syscall.2:93
14142 msgid ""
14143 "Each architecture ABI has its own requirements on how system call arguments "
14144 "are passed to the kernel.  For system calls that have a glibc wrapper (e.g., "
14145 "most system calls), glibc handles the details of copying arguments to the "
14146 "right registers in a manner suitable for the architecture.  However, when "
14147 "using B<syscall>()  to make a system call, the caller might need to handle "
14148 "architecture-dependent details; this requirement is most commonly "
14149 "encountered on certain 32-bit architectures."
14150 msgstr ""
14151
14152 #. type: Plain text
14153 #: build/C/man2/syscall.2:104
14154 msgid ""
14155 "For example, on the ARM architecture Embedded ABI (EABI), a 64-bit value "
14156 "(e.g., I<long long>)  must be aligned to an even register pair.  Thus, using "
14157 "B<syscall>()  instead of the wrapper provided by glibc, the B<readahead>()  "
14158 "system call would be invoked as follows on the ARM architecture with the "
14159 "EABI:"
14160 msgstr ""
14161
14162 #. type: Plain text
14163 #: build/C/man2/syscall.2:111
14164 #, no-wrap
14165 msgid ""
14166 "syscall(SYS_readahead, fd, 0,\n"
14167 "        (unsigned int) (offset E<gt>E<gt> 32),\n"
14168 "        (unsigned int) (offset & 0xFFFFFFFF),\n"
14169 "        count);\n"
14170 msgstr ""
14171
14172 #. type: Plain text
14173 #: build/C/man2/syscall.2:125
14174 msgid ""
14175 "Since the offset argument is 64 bits, and the first argument (I<fd>)  is "
14176 "passed in I<r0>, the caller must manually split and align the 64-bit value "
14177 "so that it is passed in the I<r2>/I<r3> register pair.  That means inserting "
14178 "a dummy value into I<r1> (the second argument of 0)."
14179 msgstr ""
14180
14181 #.  Mike Frysinger: this issue ends up forcing MIPS
14182 #.  O32 to take 7 arguments to syscall()
14183 #. type: Plain text
14184 #: build/C/man2/syscall.2:130
14185 msgid ""
14186 "Similar issues can occur on MIPS with the O32 ABI, on PowerPC with the "
14187 "32-bit ABI, and on Xtensa."
14188 msgstr ""
14189
14190 #. type: Plain text
14191 #: build/C/man2/syscall.2:141
14192 msgid ""
14193 "The affected system calls are B<fadvise64_64>(2), B<ftruncate64>(2), "
14194 "B<posix_fadvise>(2), B<pread64>(2), B<pwrite64>(2), B<readahead>(2), "
14195 "B<sync_file_range>(2), and B<truncate64>(2)."
14196 msgstr ""
14197
14198 #. type: SS
14199 #: build/C/man2/syscall.2:141
14200 #, no-wrap
14201 msgid "Architecture calling conventions"
14202 msgstr ""
14203
14204 #. type: Plain text
14205 #: build/C/man2/syscall.2:145
14206 msgid ""
14207 "Every architecture has its own way of invoking and passing arguments to the "
14208 "kernel.  The details for various architectures are listed in the two tables "
14209 "below."
14210 msgstr ""
14211
14212 #. type: Plain text
14213 #: build/C/man2/syscall.2:152
14214 msgid ""
14215 "The first table lists the instruction used to transition to kernel mode, "
14216 "(which might not be the fastest or best way to transition to the kernel, so "
14217 "you might have to refer to B<vdso>(7)), the register used to indicate the "
14218 "system call number, and the register used to return the system call result."
14219 msgstr ""
14220
14221 #. type: tbl table
14222 #: build/C/man2/syscall.2:157
14223 #, no-wrap
14224 msgid "arch/ABI\tinstruction\tsyscall #\tretval\tNotes\n"
14225 msgstr ""
14226
14227 #. type: tbl table
14228 #: build/C/man2/syscall.2:159
14229 #, no-wrap
14230 msgid "arm/OABI\tswi NR\t-\ta1\tNR is syscall #\n"
14231 msgstr ""
14232
14233 #. type: tbl table
14234 #: build/C/man2/syscall.2:160
14235 #, no-wrap
14236 msgid "arm/EABI\tswi 0x0\tr7\tr0\n"
14237 msgstr ""
14238
14239 #. type: tbl table
14240 #: build/C/man2/syscall.2:161
14241 #, no-wrap
14242 msgid "blackfin\texcpt 0x0\tP0\tR0\n"
14243 msgstr ""
14244
14245 #. type: tbl table
14246 #: build/C/man2/syscall.2:162
14247 #, no-wrap
14248 msgid "i386\tint $0x80\teax\teax\n"
14249 msgstr ""
14250
14251 #. type: tbl table
14252 #: build/C/man2/syscall.2:163
14253 #, no-wrap
14254 msgid "ia64\tbreak 0x100000\tr15\tr10/r8\tT{\n"
14255 msgstr ""
14256
14257 #. type: tbl table
14258 #: build/C/man2/syscall.2:164
14259 #, no-wrap
14260 msgid "bool error/\n"
14261 msgstr ""
14262
14263 #. type: tbl table
14264 #: build/C/man2/syscall.2:165 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
14265 #, no-wrap
14266 msgid ".br\n"
14267 msgstr ""
14268
14269 #. type: tbl table
14270 #: build/C/man2/syscall.2:166
14271 #, no-wrap
14272 msgid "errno value\n"
14273 msgstr ""
14274
14275 #. type: tbl table
14276 #: build/C/man2/syscall.2:167 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:546 build/C/man2/syscalls.2:591
14277 #, no-wrap
14278 msgid "T}\n"
14279 msgstr ""
14280
14281 #. type: tbl table
14282 #: build/C/man2/syscall.2:168
14283 #, no-wrap
14284 msgid "parisc\tble 0x100(%sr2, %r0)\tr20\tr28\n"
14285 msgstr ""
14286
14287 #. type: tbl table
14288 #: build/C/man2/syscall.2:169
14289 #, no-wrap
14290 msgid "s390\tsvc 0\tr1\tr2\tSee below\n"
14291 msgstr ""
14292
14293 #. type: tbl table
14294 #: build/C/man2/syscall.2:170
14295 #, no-wrap
14296 msgid "s390x\tsvc 0\tr1\tr2\tSee below\n"
14297 msgstr ""
14298
14299 #. type: tbl table
14300 #: build/C/man2/syscall.2:171
14301 #, no-wrap
14302 msgid "sparc/32\tt 0x10\tg1\to0\n"
14303 msgstr ""
14304
14305 #. type: tbl table
14306 #: build/C/man2/syscall.2:172
14307 #, no-wrap
14308 msgid "sparc/64\tt 0x6d\tg1\to0\n"
14309 msgstr ""
14310
14311 #. type: tbl table
14312 #: build/C/man2/syscall.2:173
14313 #, no-wrap
14314 msgid "x86_64\tsyscall\trax\trax\n"
14315 msgstr ""
14316
14317 #. type: Plain text
14318 #: build/C/man2/syscall.2:178
14319 msgid ""
14320 "For s390 and s390x, NR (the system call number)  may be passed directly with "
14321 "\"svc NR\" if it is less than 256."
14322 msgstr ""
14323
14324 #. type: Plain text
14325 #: build/C/man2/syscall.2:184
14326 msgid "The second table shows the registers used to pass the system call arguments."
14327 msgstr ""
14328
14329 #. type: tbl table
14330 #: build/C/man2/syscall.2:189
14331 #, no-wrap
14332 msgid "arch/ABI\targ1\targ2\targ3\targ4\targ5\targ6\targ7\n"
14333 msgstr ""
14334
14335 #. type: tbl table
14336 #: build/C/man2/syscall.2:191
14337 #, no-wrap
14338 msgid "arm/OABI\ta1\ta2\ta3\ta4\tv1\tv2\tv3\n"
14339 msgstr ""
14340
14341 #. type: tbl table
14342 #: build/C/man2/syscall.2:192
14343 #, no-wrap
14344 msgid "arm/EABI\tr0\tr1\tr2\tr3\tr4\tr5\tr6\n"
14345 msgstr ""
14346
14347 #. type: tbl table
14348 #: build/C/man2/syscall.2:193
14349 #, no-wrap
14350 msgid "blackfin\tR0\tR1\tR2\tR3\tR4\tR5\t-\n"
14351 msgstr ""
14352
14353 #. type: tbl table
14354 #: build/C/man2/syscall.2:194
14355 #, no-wrap
14356 msgid "i386\tebx\tecx\tedx\tesi\tedi\tebp\t-\n"
14357 msgstr ""
14358
14359 #. type: tbl table
14360 #: build/C/man2/syscall.2:195
14361 #, no-wrap
14362 msgid "ia64\tout0\tout1\tout2\tout3\tout4\tout5\t-\n"
14363 msgstr ""
14364
14365 #. type: tbl table
14366 #: build/C/man2/syscall.2:196
14367 #, no-wrap
14368 msgid "parisc\tr26\tr25\tr24\tr23\tr22\tr21\t-\n"
14369 msgstr ""
14370
14371 #. type: tbl table
14372 #: build/C/man2/syscall.2:197
14373 #, no-wrap
14374 msgid "s390\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14375 msgstr ""
14376
14377 #. type: tbl table
14378 #: build/C/man2/syscall.2:198
14379 #, no-wrap
14380 msgid "s390x\tr2\tr3\tr4\tr5\tr6\tr7\t-\n"
14381 msgstr ""
14382
14383 #. type: tbl table
14384 #: build/C/man2/syscall.2:199
14385 #, no-wrap
14386 msgid "sparc/32\to0\to1\to2\to3\to4\to5\t-\n"
14387 msgstr ""
14388
14389 #. type: tbl table
14390 #: build/C/man2/syscall.2:200
14391 #, no-wrap
14392 msgid "sparc/64\to0\to1\to2\to3\to4\to5\t-\n"
14393 msgstr ""
14394
14395 #. type: tbl table
14396 #: build/C/man2/syscall.2:201
14397 #, no-wrap
14398 msgid "x86_64\trdi\trsi\trdx\tr10\tr8\tr9\t-\n"
14399 msgstr ""
14400
14401 #. type: Plain text
14402 #: build/C/man2/syscall.2:210
14403 msgid ""
14404 "Note that these tables don't cover the entire calling convention\\(emsome "
14405 "architectures may indiscriminately clobber other registers not listed here."
14406 msgstr ""
14407
14408 #. type: Plain text
14409 #: build/C/man2/syscall.2:217
14410 #, no-wrap
14411 msgid ""
14412 "#define _GNU_SOURCE\n"
14413 "#include E<lt>unistd.hE<gt>\n"
14414 "#include E<lt>sys/syscall.hE<gt>\n"
14415 "#include E<lt>sys/types.hE<gt>\n"
14416 "#include E<lt>signal.hE<gt>\n"
14417 msgstr ""
14418
14419 #. type: Plain text
14420 #: build/C/man2/syscall.2:222
14421 #, no-wrap
14422 msgid ""
14423 "int\n"
14424 "main(int argc, char *argv[])\n"
14425 "{\n"
14426 "    pid_t tid;\n"
14427 msgstr ""
14428
14429 #. type: Plain text
14430 #: build/C/man2/syscall.2:226
14431 #, no-wrap
14432 msgid ""
14433 "    tid = syscall(SYS_gettid);\n"
14434 "    tid = syscall(SYS_tgkill, getpid(), tid, SIGHUP);\n"
14435 "}\n"
14436 msgstr ""
14437
14438 #. type: Plain text
14439 #: build/C/man2/syscall.2:232
14440 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2), B<vdso>(7)"
14441 msgstr ""
14442
14443 #. type: TH
14444 #: build/C/man2/syscalls.2:31
14445 #, no-wrap
14446 msgid "SYSCALLS"
14447 msgstr ""
14448
14449 #. type: TH
14450 #: build/C/man2/syscalls.2:31
14451 #, no-wrap
14452 msgid "2014-03-31"
14453 msgstr ""
14454
14455 #. type: Plain text
14456 #: build/C/man2/syscalls.2:34
14457 msgid "syscalls - Linux system calls"
14458 msgstr ""
14459
14460 #. type: Plain text
14461 #: build/C/man2/syscalls.2:36
14462 msgid "Linux system calls."
14463 msgstr ""
14464
14465 #. type: Plain text
14466 #: build/C/man2/syscalls.2:39
14467 msgid ""
14468 "The system call is the fundamental interface between an application and the "
14469 "Linux kernel."
14470 msgstr ""
14471
14472 #. type: SS
14473 #: build/C/man2/syscalls.2:39
14474 #, no-wrap
14475 msgid "System calls and library wrapper functions"
14476 msgstr ""
14477
14478 #. type: Plain text
14479 #: build/C/man2/syscalls.2:49
14480 msgid ""
14481 "System calls are generally not invoked directly, but rather via wrapper "
14482 "functions in glibc (or perhaps some other library).  For details of direct "
14483 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
14484 "name of the wrapper function is the same as the name of the system call that "
14485 "it invokes.  For example, glibc contains a function B<truncate>()  which "
14486 "invokes the underlying \"truncate\" system call."
14487 msgstr ""
14488
14489 #. type: Plain text
14490 #: build/C/man2/syscalls.2:67
14491 msgid ""
14492 "Often the glibc wrapper function is quite thin, doing little work other than "
14493 "copying arguments to the right registers before invoking the system call, "
14494 "and then setting I<errno> appropriately after the system call has returned.  "
14495 "(These are the same steps that are performed by B<syscall>(2), which can be "
14496 "used to invoke system calls for which no wrapper function is provided.)  "
14497 "Note: system calls indicate a failure by returning a negative error number "
14498 "to the caller; when this happens, the wrapper function negates the returned "
14499 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
14500 "the caller of the wrapper."
14501 msgstr ""
14502
14503 #. type: Plain text
14504 #: build/C/man2/syscalls.2:79
14505 msgid ""
14506 "Sometimes, however, the wrapper function does some extra work before "
14507 "invoking the system call.  For example, nowadays there are (for reasons "
14508 "described below) two related system calls, B<truncate>(2)  and "
14509 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
14510 "of those system calls are provided by the kernel and determines which should "
14511 "be employed."
14512 msgstr ""
14513
14514 #. type: SS
14515 #: build/C/man2/syscalls.2:79
14516 #, no-wrap
14517 msgid "System call list"
14518 msgstr ""
14519
14520 #. type: Plain text
14521 #: build/C/man2/syscalls.2:87
14522 msgid ""
14523 "Below is a list of the Linux system calls.  In the list, the I<Kernel> "
14524 "column indicates the kernel version for those system calls that were new in "
14525 "Linux 2.2, or have appeared since that kernel version.  Note the following "
14526 "points:"
14527 msgstr ""
14528
14529 #. type: Plain text
14530 #: build/C/man2/syscalls.2:90
14531 msgid ""
14532 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
14533 "or earlier."
14534 msgstr ""
14535
14536 #. type: Plain text
14537 #: build/C/man2/syscalls.2:96
14538 msgid ""
14539 "Where a system call is marked \"1.2\" this means the system call probably "
14540 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
14541 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
14542 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
14543 msgstr ""
14544
14545 #.  Was kernel 2.0 started from a branch of 1.2.10?
14546 #.  At least from the timestamps of the tarballs of
14547 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
14548 #.  fact the diff doesn't seem very clear, the
14549 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
14550 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
14551 #.  timestamps of some files in 1.3.0 seem to be older
14552 #.  than those in 1.2.10.  All of this suggests
14553 #.  that there might not have been a clean branch point.
14554 #. type: Plain text
14555 #: build/C/man2/syscalls.2:112
14556 msgid ""
14557 "Where a system call is marked \"2.0\" this means the system call probably "
14558 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
14559 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
14560 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
14561 "series.)"
14562 msgstr ""
14563
14564 #. type: Plain text
14565 #: build/C/man2/syscalls.2:118
14566 msgid ""
14567 "Where a system call is marked \"2.2\" this means the system call probably "
14568 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
14569 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
14570 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
14571 msgstr ""
14572
14573 #. type: Plain text
14574 #: build/C/man2/syscalls.2:124
14575 msgid ""
14576 "Where a system call is marked \"2.4\" this means the system call probably "
14577 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
14578 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
14579 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
14580 msgstr ""
14581
14582 #. type: Plain text
14583 #: build/C/man2/syscalls.2:130
14584 msgid ""
14585 "Where a system call is marked \"2.6\" this means the system call probably "
14586 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
14587 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
14588 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
14589 msgstr ""
14590
14591 #. type: Plain text
14592 #: build/C/man2/syscalls.2:137
14593 msgid ""
14594 "Starting with kernel 2.6.0, the development model changed, and new system "
14595 "calls may appear in each 2.6.x release.  In this case, the exact version "
14596 "number where the system call appeared is shown.  This convention continues "
14597 "with the 3.x kernel series, which followed on from kernel 2.6.39."
14598 msgstr ""
14599
14600 #. type: Plain text
14601 #: build/C/man2/syscalls.2:145
14602 msgid ""
14603 "In some cases, a system call was added to a stable kernel series after it "
14604 "branched from the previous stable kernel series, and then backported into "
14605 "the earlier stable kernel series.  For example some system calls that "
14606 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
14607 "When this is so, the version where the system call appeared in both of the "
14608 "major kernel series is listed."
14609 msgstr ""
14610
14611 #
14612 #.  Looking at scripts/checksyscalls.sh in the kernel source is
14613 #.  instructive about x86 specifics.
14614 #. type: Plain text
14615 #: build/C/man2/syscalls.2:152
14616 msgid ""
14617 "The list of system calls that are available as at kernel 3.14 (or in a few "
14618 "cases only on older kernels) is as follows:"
14619 msgstr ""
14620
14621 #. type: tbl table
14622 #: build/C/man2/syscalls.2:157
14623 #, no-wrap
14624 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
14625 msgstr ""
14626
14627 #. type: tbl table
14628 #: build/C/man2/syscalls.2:159
14629 #, no-wrap
14630 msgid "B<_llseek>(2)\t1.2\n"
14631 msgstr ""
14632
14633 #. type: tbl table
14634 #: build/C/man2/syscalls.2:160
14635 #, no-wrap
14636 msgid "B<_newselect>(2)\t2.0\n"
14637 msgstr ""
14638
14639 #. type: tbl table
14640 #: build/C/man2/syscalls.2:161
14641 #, no-wrap
14642 msgid "B<_sysctl>(2)\t2.0\n"
14643 msgstr ""
14644
14645 #. type: tbl table
14646 #: build/C/man2/syscalls.2:162
14647 #, no-wrap
14648 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14649 msgstr ""
14650
14651 #. type: tbl table
14652 #: build/C/man2/syscalls.2:163
14653 #, no-wrap
14654 msgid "B<accept4>(2)\t2.6.28\n"
14655 msgstr ""
14656
14657 #. type: tbl table
14658 #: build/C/man2/syscalls.2:164
14659 #, no-wrap
14660 msgid "B<access>(2)\t1.0\n"
14661 msgstr ""
14662
14663 #. type: tbl table
14664 #: build/C/man2/syscalls.2:165
14665 #, no-wrap
14666 msgid "B<acct>(2)\t1.0\n"
14667 msgstr ""
14668
14669 #. type: tbl table
14670 #: build/C/man2/syscalls.2:166
14671 #, no-wrap
14672 msgid "B<add_key>(2)\t2.6.11\n"
14673 msgstr ""
14674
14675 #. type: tbl table
14676 #: build/C/man2/syscalls.2:167
14677 #, no-wrap
14678 msgid "B<adjtimex>(2)\t1.0\n"
14679 msgstr ""
14680
14681 #. type: tbl table
14682 #: build/C/man2/syscalls.2:168
14683 #, no-wrap
14684 msgid "B<alarm>(2)\t1.0\n"
14685 msgstr ""
14686
14687 #. type: tbl table
14688 #: build/C/man2/syscalls.2:169
14689 #, no-wrap
14690 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14691 msgstr ""
14692
14693 #. type: tbl table
14694 #: build/C/man2/syscalls.2:170
14695 #, no-wrap
14696 msgid "B<bdflush>(2)\t1.2\tT{\n"
14697 msgstr ""
14698
14699 #. type: tbl table
14700 #: build/C/man2/syscalls.2:171
14701 #, no-wrap
14702 msgid "Deprecated (does nothing)\n"
14703 msgstr ""
14704
14705 #. type: tbl table
14706 #: build/C/man2/syscalls.2:173
14707 #, no-wrap
14708 msgid "since 2.6\n"
14709 msgstr ""
14710
14711 #. type: tbl table
14712 #: build/C/man2/syscalls.2:175
14713 #, no-wrap
14714 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14715 msgstr ""
14716
14717 #. type: tbl table
14718 #: build/C/man2/syscalls.2:176
14719 #, no-wrap
14720 msgid "B<brk>(2)\t1.0\n"
14721 msgstr ""
14722
14723 #. type: tbl table
14724 #: build/C/man2/syscalls.2:177
14725 #, no-wrap
14726 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
14727 msgstr ""
14728
14729 #. type: tbl table
14730 #: build/C/man2/syscalls.2:178
14731 #, no-wrap
14732 msgid "B<capget>(2)\t2.2\n"
14733 msgstr ""
14734
14735 #. type: tbl table
14736 #: build/C/man2/syscalls.2:179
14737 #, no-wrap
14738 msgid "B<capset>(2)\t2.2\n"
14739 msgstr ""
14740
14741 #. type: tbl table
14742 #: build/C/man2/syscalls.2:180
14743 #, no-wrap
14744 msgid "B<chdir>(2)\t1.0\n"
14745 msgstr ""
14746
14747 #. type: tbl table
14748 #: build/C/man2/syscalls.2:181
14749 #, no-wrap
14750 msgid "B<chmod>(2)\t1.0\n"
14751 msgstr ""
14752
14753 #. type: tbl table
14754 #: build/C/man2/syscalls.2:182
14755 #, no-wrap
14756 msgid "B<chown>(2)\t2.2\tT{\n"
14757 msgstr ""
14758
14759 #. type: tbl table
14760 #: build/C/man2/syscalls.2:183 build/C/man2/syscalls.2:313
14761 #, no-wrap
14762 msgid "See B<chown>(2) for\n"
14763 msgstr ""
14764
14765 #. type: tbl table
14766 #: build/C/man2/syscalls.2:185 build/C/man2/syscalls.2:315
14767 #, no-wrap
14768 msgid "version details\n"
14769 msgstr ""
14770
14771 #. type: tbl table
14772 #: build/C/man2/syscalls.2:187
14773 #, no-wrap
14774 msgid "B<chown32>(2)\t2.4\n"
14775 msgstr ""
14776
14777 #. type: tbl table
14778 #: build/C/man2/syscalls.2:188
14779 #, no-wrap
14780 msgid "B<chroot>(2)\t1.0\n"
14781 msgstr ""
14782
14783 #. type: tbl table
14784 #: build/C/man2/syscalls.2:189
14785 #, no-wrap
14786 msgid "B<clock_adjtime>(2)\t2.6.39\n"
14787 msgstr ""
14788
14789 #. type: tbl table
14790 #: build/C/man2/syscalls.2:190
14791 #, no-wrap
14792 msgid "B<clock_getres>(2)\t2.6\n"
14793 msgstr ""
14794
14795 #. type: tbl table
14796 #: build/C/man2/syscalls.2:191
14797 #, no-wrap
14798 msgid "B<clock_gettime>(2)\t2.6\n"
14799 msgstr ""
14800
14801 #. type: tbl table
14802 #: build/C/man2/syscalls.2:192
14803 #, no-wrap
14804 msgid "B<clock_nanosleep>(2)\t2.6\n"
14805 msgstr ""
14806
14807 #. type: tbl table
14808 #: build/C/man2/syscalls.2:193
14809 #, no-wrap
14810 msgid "B<clock_settime>(2)\t2.6\n"
14811 msgstr ""
14812
14813 #. type: tbl table
14814 #: build/C/man2/syscalls.2:194
14815 #, no-wrap
14816 msgid "B<clone>(2)\t1.0\n"
14817 msgstr ""
14818
14819 #. type: tbl table
14820 #: build/C/man2/syscalls.2:195
14821 #, no-wrap
14822 msgid "B<close>(2)\t1.0\n"
14823 msgstr ""
14824
14825 #. type: tbl table
14826 #: build/C/man2/syscalls.2:196
14827 #, no-wrap
14828 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14829 msgstr ""
14830
14831 #. type: tbl table
14832 #: build/C/man2/syscalls.2:197
14833 #, no-wrap
14834 msgid "B<creat>(2)\t1.0\n"
14835 msgstr ""
14836
14837 #. type: tbl table
14838 #: build/C/man2/syscalls.2:198
14839 #, no-wrap
14840 msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
14841 msgstr ""
14842
14843 #. type: tbl table
14844 #: build/C/man2/syscalls.2:199
14845 #, no-wrap
14846 msgid "B<delete_module>(2)\t1.0\n"
14847 msgstr ""
14848
14849 #. type: tbl table
14850 #: build/C/man2/syscalls.2:200
14851 #, no-wrap
14852 msgid "B<dup>(2)\t1.0\n"
14853 msgstr ""
14854
14855 #. type: tbl table
14856 #: build/C/man2/syscalls.2:201
14857 #, no-wrap
14858 msgid "B<dup2>(2)\t1.0\n"
14859 msgstr ""
14860
14861 #. type: tbl table
14862 #: build/C/man2/syscalls.2:202
14863 #, no-wrap
14864 msgid "B<dup3>(2)\t2.6.27\n"
14865 msgstr ""
14866
14867 #. type: tbl table
14868 #: build/C/man2/syscalls.2:203
14869 #, no-wrap
14870 msgid "B<epoll_create>(2)\t2.6\n"
14871 msgstr ""
14872
14873 #. type: tbl table
14874 #: build/C/man2/syscalls.2:204
14875 #, no-wrap
14876 msgid "B<epoll_create1>(2)\t2.6.27\n"
14877 msgstr ""
14878
14879 #. type: tbl table
14880 #: build/C/man2/syscalls.2:205
14881 #, no-wrap
14882 msgid "B<epoll_ctl>(2)\t2.6\n"
14883 msgstr ""
14884
14885 #. type: tbl table
14886 #: build/C/man2/syscalls.2:206
14887 #, no-wrap
14888 msgid "B<epoll_pwait>(2)\t2.6.19\n"
14889 msgstr ""
14890
14891 #. type: tbl table
14892 #: build/C/man2/syscalls.2:207
14893 #, no-wrap
14894 msgid "B<epoll_wait>(2)\t2.6\n"
14895 msgstr ""
14896
14897 #. type: tbl table
14898 #: build/C/man2/syscalls.2:208
14899 #, no-wrap
14900 msgid "B<eventfd>(2)\t2.6.22\n"
14901 msgstr ""
14902
14903 #. type: tbl table
14904 #: build/C/man2/syscalls.2:209
14905 #, no-wrap
14906 msgid "B<eventfd2>(2)\t2.6.27\n"
14907 msgstr ""
14908
14909 #. type: tbl table
14910 #: build/C/man2/syscalls.2:210
14911 #, no-wrap
14912 msgid "B<execve>(2)\t1.0\n"
14913 msgstr ""
14914
14915 #. type: tbl table
14916 #: build/C/man2/syscalls.2:211
14917 #, no-wrap
14918 msgid "B<exit>(2)\t1.0\n"
14919 msgstr ""
14920
14921 #. type: tbl table
14922 #: build/C/man2/syscalls.2:212
14923 #, no-wrap
14924 msgid "B<exit_group>(2)\t2.6\n"
14925 msgstr ""
14926
14927 #. type: tbl table
14928 #: build/C/man2/syscalls.2:213
14929 #, no-wrap
14930 msgid "B<faccessat>(2)\t2.6.16\n"
14931 msgstr ""
14932
14933 #. type: tbl table
14934 #: build/C/man2/syscalls.2:214
14935 #, no-wrap
14936 msgid "B<fadvise64>(2)\t2.6\n"
14937 msgstr ""
14938
14939 #.  Implements \fBposix_fadvise\fP(2)
14940 #. type: tbl table
14941 #: build/C/man2/syscalls.2:216
14942 #, no-wrap
14943 msgid "B<fadvise64_64>(2)\t2.6\n"
14944 msgstr ""
14945
14946 #. type: tbl table
14947 #: build/C/man2/syscalls.2:217
14948 #, no-wrap
14949 msgid "B<fallocate>(2)\t2.6.23\n"
14950 msgstr ""
14951
14952 #. type: tbl table
14953 #: build/C/man2/syscalls.2:218
14954 #, no-wrap
14955 msgid "B<fanotify_init>(2)\t2.6.37\n"
14956 msgstr ""
14957
14958 #. type: tbl table
14959 #: build/C/man2/syscalls.2:219
14960 #, no-wrap
14961 msgid "B<fanotify_mark>(2)\t2.6.37\n"
14962 msgstr ""
14963
14964 #.  The fanotify calls were added in Linux 2.6.36,
14965 #.  but disabled while the API was finalized.
14966 #. type: tbl table
14967 #: build/C/man2/syscalls.2:222
14968 #, no-wrap
14969 msgid "B<fchdir>(2)\t1.0\n"
14970 msgstr ""
14971
14972 #. type: tbl table
14973 #: build/C/man2/syscalls.2:223
14974 #, no-wrap
14975 msgid "B<fchmod>(2)\t1.0\n"
14976 msgstr ""
14977
14978 #. type: tbl table
14979 #: build/C/man2/syscalls.2:224
14980 #, no-wrap
14981 msgid "B<fchmodat>(2)\t2.6.16\n"
14982 msgstr ""
14983
14984 #. type: tbl table
14985 #: build/C/man2/syscalls.2:225
14986 #, no-wrap
14987 msgid "B<fchown>(2)\t1.0\n"
14988 msgstr ""
14989
14990 #. type: tbl table
14991 #: build/C/man2/syscalls.2:226
14992 #, no-wrap
14993 msgid "B<fchown32>(2)\t2.4\n"
14994 msgstr ""
14995
14996 #. type: tbl table
14997 #: build/C/man2/syscalls.2:227
14998 #, no-wrap
14999 msgid "B<fchownat>(2)\t2.6.16\n"
15000 msgstr ""
15001
15002 #. type: tbl table
15003 #: build/C/man2/syscalls.2:228
15004 #, no-wrap
15005 msgid "B<fcntl>(2)\t1.0\n"
15006 msgstr ""
15007
15008 #. type: tbl table
15009 #: build/C/man2/syscalls.2:229
15010 #, no-wrap
15011 msgid "B<fcntl64>(2)\t2.4\n"
15012 msgstr ""
15013
15014 #. type: tbl table
15015 #: build/C/man2/syscalls.2:230
15016 #, no-wrap
15017 msgid "B<fdatasync>(2)\t2.0\n"
15018 msgstr ""
15019
15020 #. type: tbl table
15021 #: build/C/man2/syscalls.2:231
15022 #, no-wrap
15023 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
15024 msgstr ""
15025
15026 #. type: tbl table
15027 #: build/C/man2/syscalls.2:232
15028 #, no-wrap
15029 msgid "B<finit_module>(2)\t3.8\n"
15030 msgstr ""
15031
15032 #. type: tbl table
15033 #: build/C/man2/syscalls.2:233
15034 #, no-wrap
15035 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
15036 msgstr ""
15037
15038 #. type: tbl table
15039 #: build/C/man2/syscalls.2:234
15040 #, no-wrap
15041 msgid "B<flock>(2)\t2.0\n"
15042 msgstr ""
15043
15044 #. type: tbl table
15045 #: build/C/man2/syscalls.2:235
15046 #, no-wrap
15047 msgid "B<fork>(2)\t1.0\n"
15048 msgstr ""
15049
15050 #. type: tbl table
15051 #: build/C/man2/syscalls.2:236
15052 #, no-wrap
15053 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
15054 msgstr ""
15055
15056 #. type: tbl table
15057 #: build/C/man2/syscalls.2:237
15058 #, no-wrap
15059 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
15060 msgstr ""
15061
15062 #. type: tbl table
15063 #: build/C/man2/syscalls.2:238
15064 #, no-wrap
15065 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
15066 msgstr ""
15067
15068 #. type: tbl table
15069 #: build/C/man2/syscalls.2:239
15070 #, no-wrap
15071 msgid "B<fstat>(2)\t1.0\n"
15072 msgstr ""
15073
15074 #. type: tbl table
15075 #: build/C/man2/syscalls.2:240
15076 #, no-wrap
15077 msgid "B<fstat64>(2)\t2.4\n"
15078 msgstr ""
15079
15080 #. type: tbl table
15081 #: build/C/man2/syscalls.2:241
15082 #, no-wrap
15083 msgid "B<fstatat64>(2)\t2.6.16\n"
15084 msgstr ""
15085
15086 #. type: tbl table
15087 #: build/C/man2/syscalls.2:242
15088 #, no-wrap
15089 msgid "B<fstatfs>(2)\t1.0\n"
15090 msgstr ""
15091
15092 #. type: tbl table
15093 #: build/C/man2/syscalls.2:243
15094 #, no-wrap
15095 msgid "B<fstatfs64>(2)\t2.6\n"
15096 msgstr ""
15097
15098 #. type: tbl table
15099 #: build/C/man2/syscalls.2:244
15100 #, no-wrap
15101 msgid "B<fsync>(2)\t1.0\t1.0\n"
15102 msgstr ""
15103
15104 #. type: tbl table
15105 #: build/C/man2/syscalls.2:245
15106 #, no-wrap
15107 msgid "B<ftruncate>(2)\t1.0\n"
15108 msgstr ""
15109
15110 #. type: tbl table
15111 #: build/C/man2/syscalls.2:246
15112 #, no-wrap
15113 msgid "B<ftruncate64>(2)\t2.4\n"
15114 msgstr ""
15115
15116 #. type: tbl table
15117 #: build/C/man2/syscalls.2:247
15118 #, no-wrap
15119 msgid "B<futex>(2)\t2.6\n"
15120 msgstr ""
15121
15122 #. type: tbl table
15123 #: build/C/man2/syscalls.2:248
15124 #, no-wrap
15125 msgid "B<futimesat>(2)\t2.6.16\n"
15126 msgstr ""
15127
15128 #. type: tbl table
15129 #: build/C/man2/syscalls.2:249
15130 #, no-wrap
15131 msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
15132 msgstr ""
15133
15134 #. type: tbl table
15135 #: build/C/man2/syscalls.2:250
15136 #, no-wrap
15137 msgid "B<get_mempolicy>(2)\t2.6.6\n"
15138 msgstr ""
15139
15140 #. type: tbl table
15141 #: build/C/man2/syscalls.2:251
15142 #, no-wrap
15143 msgid "B<get_robust_list>(2)\t2.6.17\n"
15144 msgstr ""
15145
15146 #. type: tbl table
15147 #: build/C/man2/syscalls.2:252
15148 #, no-wrap
15149 msgid "B<get_thread_area>(2)\t2.6\n"
15150 msgstr ""
15151
15152 #. type: tbl table
15153 #: build/C/man2/syscalls.2:253
15154 #, no-wrap
15155 msgid "B<getcpu>(2)\t2.6.19\n"
15156 msgstr ""
15157
15158 #. type: tbl table
15159 #: build/C/man2/syscalls.2:254
15160 #, no-wrap
15161 msgid "B<getcwd>(2)\t2.2\n"
15162 msgstr ""
15163
15164 #. type: tbl table
15165 #: build/C/man2/syscalls.2:255
15166 #, no-wrap
15167 msgid "B<getdents>(2)\t2.0\n"
15168 msgstr ""
15169
15170 #. type: tbl table
15171 #: build/C/man2/syscalls.2:256
15172 #, no-wrap
15173 msgid "B<getdents64>(2)\t2.4\n"
15174 msgstr ""
15175
15176 #. type: tbl table
15177 #: build/C/man2/syscalls.2:257
15178 #, no-wrap
15179 msgid "B<getegid>(2)\t1.0\n"
15180 msgstr ""
15181
15182 #. type: tbl table
15183 #: build/C/man2/syscalls.2:258
15184 #, no-wrap
15185 msgid "B<getegid32>(2)\t2.4\n"
15186 msgstr ""
15187
15188 #. type: tbl table
15189 #: build/C/man2/syscalls.2:259
15190 #, no-wrap
15191 msgid "B<geteuid>(2)\t1.0\n"
15192 msgstr ""
15193
15194 #. type: tbl table
15195 #: build/C/man2/syscalls.2:260
15196 #, no-wrap
15197 msgid "B<geteuid32>(2)\t2.4\n"
15198 msgstr ""
15199
15200 #. type: tbl table
15201 #: build/C/man2/syscalls.2:261
15202 #, no-wrap
15203 msgid "B<getgid>(2)\t1.0\n"
15204 msgstr ""
15205
15206 #. type: tbl table
15207 #: build/C/man2/syscalls.2:262
15208 #, no-wrap
15209 msgid "B<getgid32>(2)\t2.4\n"
15210 msgstr ""
15211
15212 #. type: tbl table
15213 #: build/C/man2/syscalls.2:263
15214 #, no-wrap
15215 msgid "B<getgroups>(2)\t1.0\n"
15216 msgstr ""
15217
15218 #. type: tbl table
15219 #: build/C/man2/syscalls.2:264
15220 #, no-wrap
15221 msgid "B<getgroups32>(2)\t2.4\n"
15222 msgstr ""
15223
15224 #. type: tbl table
15225 #: build/C/man2/syscalls.2:265
15226 #, no-wrap
15227 msgid "B<getitimer>(2)\t1.0\n"
15228 msgstr ""
15229
15230 #. type: tbl table
15231 #: build/C/man2/syscalls.2:266
15232 #, no-wrap
15233 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15234 msgstr ""
15235
15236 #. type: tbl table
15237 #: build/C/man2/syscalls.2:267
15238 #, no-wrap
15239 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
15240 msgstr ""
15241
15242 #. type: tbl table
15243 #: build/C/man2/syscalls.2:268
15244 #, no-wrap
15245 msgid "B<getpgid>(2)\t1.0\n"
15246 msgstr ""
15247
15248 #. type: tbl table
15249 #: build/C/man2/syscalls.2:269
15250 #, no-wrap
15251 msgid "B<getpgrp>(2)\t1.0\n"
15252 msgstr ""
15253
15254 #. type: tbl table
15255 #: build/C/man2/syscalls.2:270
15256 #, no-wrap
15257 msgid "B<getpid>(2)\t1.0\n"
15258 msgstr ""
15259
15260 #. type: tbl table
15261 #: build/C/man2/syscalls.2:271
15262 #, no-wrap
15263 msgid "B<getppid>(2)\t1.0\n"
15264 msgstr ""
15265
15266 #. type: tbl table
15267 #: build/C/man2/syscalls.2:272
15268 #, no-wrap
15269 msgid "B<getpriority>(2)\t1.0\n"
15270 msgstr ""
15271
15272 #. type: tbl table
15273 #: build/C/man2/syscalls.2:273
15274 #, no-wrap
15275 msgid "B<getresgid>(2)\t2.2\n"
15276 msgstr ""
15277
15278 #. type: tbl table
15279 #: build/C/man2/syscalls.2:274
15280 #, no-wrap
15281 msgid "B<getresgid32>(2)\t2.4\n"
15282 msgstr ""
15283
15284 #. type: tbl table
15285 #: build/C/man2/syscalls.2:275
15286 #, no-wrap
15287 msgid "B<getresuid>(2)\t2.2\n"
15288 msgstr ""
15289
15290 #. type: tbl table
15291 #: build/C/man2/syscalls.2:276
15292 #, no-wrap
15293 msgid "B<getresuid32>(2)\t2.4\n"
15294 msgstr ""
15295
15296 #. type: tbl table
15297 #: build/C/man2/syscalls.2:277
15298 #, no-wrap
15299 msgid "B<getrlimit>(2)\t1.0\n"
15300 msgstr ""
15301
15302 #. type: tbl table
15303 #: build/C/man2/syscalls.2:278
15304 #, no-wrap
15305 msgid "B<getrusage>(2)\t1.0\n"
15306 msgstr ""
15307
15308 #. type: tbl table
15309 #: build/C/man2/syscalls.2:279
15310 #, no-wrap
15311 msgid "B<getsid>(2)\t2.0\n"
15312 msgstr ""
15313
15314 #. type: tbl table
15315 #: build/C/man2/syscalls.2:280
15316 #, no-wrap
15317 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15318 msgstr ""
15319
15320 #. type: tbl table
15321 #: build/C/man2/syscalls.2:281
15322 #, no-wrap
15323 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15324 msgstr ""
15325
15326 #. type: tbl table
15327 #: build/C/man2/syscalls.2:282
15328 #, no-wrap
15329 msgid "B<gettid>(2)\t2.4.11\n"
15330 msgstr ""
15331
15332 #. type: tbl table
15333 #: build/C/man2/syscalls.2:283
15334 #, no-wrap
15335 msgid "B<gettimeofday>(2)\t1.0\n"
15336 msgstr ""
15337
15338 #. type: tbl table
15339 #: build/C/man2/syscalls.2:284
15340 #, no-wrap
15341 msgid "B<getuid>(2)\t1.0\n"
15342 msgstr ""
15343
15344 #. type: tbl table
15345 #: build/C/man2/syscalls.2:285
15346 #, no-wrap
15347 msgid "B<getuid32>(2)\t2.4\n"
15348 msgstr ""
15349
15350 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
15351 #. type: tbl table
15352 #: build/C/man2/syscalls.2:287
15353 #, no-wrap
15354 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
15355 msgstr ""
15356
15357 #. type: tbl table
15358 #: build/C/man2/syscalls.2:288
15359 #, no-wrap
15360 msgid "B<init_module>(2)\t1.0\n"
15361 msgstr ""
15362
15363 #. type: tbl table
15364 #: build/C/man2/syscalls.2:289
15365 #, no-wrap
15366 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
15367 msgstr ""
15368
15369 #. type: tbl table
15370 #: build/C/man2/syscalls.2:290
15371 #, no-wrap
15372 msgid "B<inotify_init>(2)\t2.6.13\n"
15373 msgstr ""
15374
15375 #. type: tbl table
15376 #: build/C/man2/syscalls.2:291
15377 #, no-wrap
15378 msgid "B<inotify_init1>(2)\t2.6.27\n"
15379 msgstr ""
15380
15381 #. type: tbl table
15382 #: build/C/man2/syscalls.2:292
15383 #, no-wrap
15384 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
15385 msgstr ""
15386
15387 #. type: tbl table
15388 #: build/C/man2/syscalls.2:293
15389 #, no-wrap
15390 msgid "B<io_cancel>(2)\t2.6\n"
15391 msgstr ""
15392
15393 #. type: tbl table
15394 #: build/C/man2/syscalls.2:294
15395 #, no-wrap
15396 msgid "B<io_destroy>(2)\t2.6\n"
15397 msgstr ""
15398
15399 #. type: tbl table
15400 #: build/C/man2/syscalls.2:295
15401 #, no-wrap
15402 msgid "B<io_getevents>(2)\t2.6\n"
15403 msgstr ""
15404
15405 #. type: tbl table
15406 #: build/C/man2/syscalls.2:296
15407 #, no-wrap
15408 msgid "B<io_setup>(2)\t2.6\n"
15409 msgstr ""
15410
15411 #. type: tbl table
15412 #: build/C/man2/syscalls.2:297
15413 #, no-wrap
15414 msgid "B<io_submit>(2)\t2.6\n"
15415 msgstr ""
15416
15417 #. type: tbl table
15418 #: build/C/man2/syscalls.2:298
15419 #, no-wrap
15420 msgid "B<ioctl>(2)\t1.0\n"
15421 msgstr ""
15422
15423 #. type: tbl table
15424 #: build/C/man2/syscalls.2:299
15425 #, no-wrap
15426 msgid "B<ioperm>(2)\t1.0\n"
15427 msgstr ""
15428
15429 #. type: tbl table
15430 #: build/C/man2/syscalls.2:300
15431 #, no-wrap
15432 msgid "B<iopl>(2)\t1.0\n"
15433 msgstr ""
15434
15435 #. type: tbl table
15436 #: build/C/man2/syscalls.2:301
15437 #, no-wrap
15438 msgid "B<ioprio_get>(2)\t2.6.13\n"
15439 msgstr ""
15440
15441 #. type: tbl table
15442 #: build/C/man2/syscalls.2:302
15443 #, no-wrap
15444 msgid "B<ioprio_set>(2)\t2.6.13\n"
15445 msgstr ""
15446
15447 #. type: tbl table
15448 #: build/C/man2/syscalls.2:303
15449 #, no-wrap
15450 msgid "B<ipc>(2)\t1.0\n"
15451 msgstr ""
15452
15453 #.  Implements System V IPC calls
15454 #. type: tbl table
15455 #: build/C/man2/syscalls.2:305
15456 #, no-wrap
15457 msgid "B<kcmp>(2)\t3.5\n"
15458 msgstr ""
15459
15460 #. type: tbl table
15461 #: build/C/man2/syscalls.2:306
15462 #, no-wrap
15463 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
15464 msgstr ""
15465
15466 #. type: tbl table
15467 #: build/C/man2/syscalls.2:307
15468 #, no-wrap
15469 msgid "B<kexec_load>(2)\t2.6.13\n"
15470 msgstr ""
15471
15472 #.  The entry in the syscall table was reserved starting in 2.6.7
15473 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
15474 #. type: tbl table
15475 #: build/C/man2/syscalls.2:310
15476 #, no-wrap
15477 msgid "B<keyctl>(2)\t2.6.11\n"
15478 msgstr ""
15479
15480 #. type: tbl table
15481 #: build/C/man2/syscalls.2:311
15482 #, no-wrap
15483 msgid "B<kill>(2)\t1.0\n"
15484 msgstr ""
15485
15486 #. type: tbl table
15487 #: build/C/man2/syscalls.2:312
15488 #, no-wrap
15489 msgid "B<lchown>(2)\t1.0\tT{\n"
15490 msgstr ""
15491
15492 #. type: tbl table
15493 #: build/C/man2/syscalls.2:317
15494 #, no-wrap
15495 msgid "B<lchown32>(2)\t2.4\n"
15496 msgstr ""
15497
15498 #. type: tbl table
15499 #: build/C/man2/syscalls.2:318
15500 #, no-wrap
15501 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
15502 msgstr ""
15503
15504 #. type: tbl table
15505 #: build/C/man2/syscalls.2:319
15506 #, no-wrap
15507 msgid "B<link>(2)\t1.0\n"
15508 msgstr ""
15509
15510 #. type: tbl table
15511 #: build/C/man2/syscalls.2:320
15512 #, no-wrap
15513 msgid "B<linkat>(2)\t2.6.16\n"
15514 msgstr ""
15515
15516 #. type: tbl table
15517 #: build/C/man2/syscalls.2:321
15518 #, no-wrap
15519 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15520 msgstr ""
15521
15522 #. type: tbl table
15523 #: build/C/man2/syscalls.2:322
15524 #, no-wrap
15525 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
15526 msgstr ""
15527
15528 #. type: tbl table
15529 #: build/C/man2/syscalls.2:323
15530 #, no-wrap
15531 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
15532 msgstr ""
15533
15534 #. type: tbl table
15535 #: build/C/man2/syscalls.2:324
15536 #, no-wrap
15537 msgid "B<lookup_dcookie>(2)\t2.6\n"
15538 msgstr ""
15539
15540 #. type: tbl table
15541 #: build/C/man2/syscalls.2:325
15542 #, no-wrap
15543 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
15544 msgstr ""
15545
15546 #. type: tbl table
15547 #: build/C/man2/syscalls.2:326
15548 #, no-wrap
15549 msgid "B<lseek>(2)\t1.0\n"
15550 msgstr ""
15551
15552 #. type: tbl table
15553 #: build/C/man2/syscalls.2:327
15554 #, no-wrap
15555 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
15556 msgstr ""
15557
15558 #. type: tbl table
15559 #: build/C/man2/syscalls.2:328
15560 #, no-wrap
15561 msgid "B<lstat>(2)\t1.0\n"
15562 msgstr ""
15563
15564 #. type: tbl table
15565 #: build/C/man2/syscalls.2:329
15566 #, no-wrap
15567 msgid "B<lstat64>(2)\t2.4\n"
15568 msgstr ""
15569
15570 #. type: tbl table
15571 #: build/C/man2/syscalls.2:330
15572 #, no-wrap
15573 msgid "B<madvise>(2)\t2.4\n"
15574 msgstr ""
15575
15576 #. type: tbl table
15577 #: build/C/man2/syscalls.2:331
15578 #, no-wrap
15579 msgid "B<mbind>(2)\t2.6.6\n"
15580 msgstr ""
15581
15582 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
15583 #. type: tbl table
15584 #: build/C/man2/syscalls.2:333
15585 #, no-wrap
15586 msgid "B<migrate_pages>(2)\t2.6.16\n"
15587 msgstr ""
15588
15589 #. type: tbl table
15590 #: build/C/man2/syscalls.2:334
15591 #, no-wrap
15592 msgid "B<mincore>(2)\t2.4\n"
15593 msgstr ""
15594
15595 #. type: tbl table
15596 #: build/C/man2/syscalls.2:335
15597 #, no-wrap
15598 msgid "B<mkdir>(2)\t1.0\n"
15599 msgstr ""
15600
15601 #. type: tbl table
15602 #: build/C/man2/syscalls.2:336
15603 #, no-wrap
15604 msgid "B<mkdirat>(2)\t2.6.16\n"
15605 msgstr ""
15606
15607 #. type: tbl table
15608 #: build/C/man2/syscalls.2:337
15609 #, no-wrap
15610 msgid "B<mknod>(2)\t1.0\n"
15611 msgstr ""
15612
15613 #. type: tbl table
15614 #: build/C/man2/syscalls.2:338
15615 #, no-wrap
15616 msgid "B<mknodat>(2)\t2.6.16\n"
15617 msgstr ""
15618
15619 #. type: tbl table
15620 #: build/C/man2/syscalls.2:339
15621 #, no-wrap
15622 msgid "B<mlock>(2)\t2.0\n"
15623 msgstr ""
15624
15625 #. type: tbl table
15626 #: build/C/man2/syscalls.2:340
15627 #, no-wrap
15628 msgid "B<mlockall>(2)\t2.0\n"
15629 msgstr ""
15630
15631 #. type: tbl table
15632 #: build/C/man2/syscalls.2:341
15633 #, no-wrap
15634 msgid "B<mmap>(2)\t1.0\n"
15635 msgstr ""
15636
15637 #. type: tbl table
15638 #: build/C/man2/syscalls.2:342
15639 #, no-wrap
15640 msgid "B<mmap2>(2)\t2.4\n"
15641 msgstr ""
15642
15643 #. type: tbl table
15644 #: build/C/man2/syscalls.2:343
15645 #, no-wrap
15646 msgid "B<modify_ldt>(2)\t1.0\n"
15647 msgstr ""
15648
15649 #. type: tbl table
15650 #: build/C/man2/syscalls.2:344
15651 #, no-wrap
15652 msgid "B<mount>(2)\t1.0\n"
15653 msgstr ""
15654
15655 #. type: tbl table
15656 #: build/C/man2/syscalls.2:345
15657 #, no-wrap
15658 msgid "B<move_pages>(2)\t2.6.18\n"
15659 msgstr ""
15660
15661 #. type: tbl table
15662 #: build/C/man2/syscalls.2:346
15663 #, no-wrap
15664 msgid "B<mprotect>(2)\t1.0\n"
15665 msgstr ""
15666
15667 #. type: tbl table
15668 #: build/C/man2/syscalls.2:347
15669 #, no-wrap
15670 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
15671 msgstr ""
15672
15673 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
15674 #. type: tbl table
15675 #: build/C/man2/syscalls.2:349
15676 #, no-wrap
15677 msgid "B<mq_notify>(2)\t2.6.6\n"
15678 msgstr ""
15679
15680 #. type: tbl table
15681 #: build/C/man2/syscalls.2:350
15682 #, no-wrap
15683 msgid "B<mq_open>(2)\t2.6.6\n"
15684 msgstr ""
15685
15686 #. type: tbl table
15687 #: build/C/man2/syscalls.2:351
15688 #, no-wrap
15689 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
15690 msgstr ""
15691
15692 #. type: tbl table
15693 #: build/C/man2/syscalls.2:352
15694 #, no-wrap
15695 msgid "B<mq_timedsend>(2)\t2.6.6\n"
15696 msgstr ""
15697
15698 #. type: tbl table
15699 #: build/C/man2/syscalls.2:353
15700 #, no-wrap
15701 msgid "B<mq_unlink>(2)\t2.6.6\n"
15702 msgstr ""
15703
15704 #. type: tbl table
15705 #: build/C/man2/syscalls.2:354
15706 #, no-wrap
15707 msgid "B<mremap>(2)\t2.0\n"
15708 msgstr ""
15709
15710 #. type: tbl table
15711 #: build/C/man2/syscalls.2:355
15712 #, no-wrap
15713 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15714 msgstr ""
15715
15716 #. type: tbl table
15717 #: build/C/man2/syscalls.2:356
15718 #, no-wrap
15719 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15720 msgstr ""
15721
15722 #. type: tbl table
15723 #: build/C/man2/syscalls.2:357
15724 #, no-wrap
15725 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15726 msgstr ""
15727
15728 #. type: tbl table
15729 #: build/C/man2/syscalls.2:358
15730 #, no-wrap
15731 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15732 msgstr ""
15733
15734 #. type: tbl table
15735 #: build/C/man2/syscalls.2:359
15736 #, no-wrap
15737 msgid "B<msync>(2)\t2.0\n"
15738 msgstr ""
15739
15740 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
15741 #.              PowerPC, but unimplemented?
15742 #. type: tbl table
15743 #: build/C/man2/syscalls.2:362
15744 #, no-wrap
15745 msgid "B<munlock>(2)\t2.0\n"
15746 msgstr ""
15747
15748 #. type: tbl table
15749 #: build/C/man2/syscalls.2:363
15750 #, no-wrap
15751 msgid "B<munlockall>(2)\t2.0\n"
15752 msgstr ""
15753
15754 #. type: tbl table
15755 #: build/C/man2/syscalls.2:364
15756 #, no-wrap
15757 msgid "B<munmap>(2)\t1.0\n"
15758 msgstr ""
15759
15760 #. type: tbl table
15761 #: build/C/man2/syscalls.2:365
15762 #, no-wrap
15763 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
15764 msgstr ""
15765
15766 #. type: tbl table
15767 #: build/C/man2/syscalls.2:366
15768 #, no-wrap
15769 msgid "B<nanosleep>(2)\t2.0\n"
15770 msgstr ""
15771
15772 #. type: tbl table
15773 #: build/C/man2/syscalls.2:367
15774 #, no-wrap
15775 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
15776 msgstr ""
15777
15778 #. type: tbl table
15779 #: build/C/man2/syscalls.2:368
15780 #, no-wrap
15781 msgid "B<nice>(2)\t1.0\n"
15782 msgstr ""
15783
15784 #. type: tbl table
15785 #: build/C/man2/syscalls.2:369
15786 #, no-wrap
15787 msgid "B<oldfstat>(2)\t1.0\n"
15788 msgstr ""
15789
15790 #. type: tbl table
15791 #: build/C/man2/syscalls.2:370
15792 #, no-wrap
15793 msgid "B<oldlstat>(2)\t1.0\n"
15794 msgstr ""
15795
15796 #. type: tbl table
15797 #: build/C/man2/syscalls.2:371
15798 #, no-wrap
15799 msgid "B<oldolduname>(2)\t1.0\n"
15800 msgstr ""
15801
15802 #. type: tbl table
15803 #: build/C/man2/syscalls.2:372
15804 #, no-wrap
15805 msgid "B<oldstat>(2)\t1.0\n"
15806 msgstr ""
15807
15808 #. type: tbl table
15809 #: build/C/man2/syscalls.2:373
15810 #, no-wrap
15811 msgid "B<olduname>(2)\t1.0\n"
15812 msgstr ""
15813
15814 #. type: tbl table
15815 #: build/C/man2/syscalls.2:374
15816 #, no-wrap
15817 msgid "B<open>(2)\t1.0\n"
15818 msgstr ""
15819
15820 #. type: tbl table
15821 #: build/C/man2/syscalls.2:375
15822 #, no-wrap
15823 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
15824 msgstr ""
15825
15826 #. type: tbl table
15827 #: build/C/man2/syscalls.2:376
15828 #, no-wrap
15829 msgid "B<openat>(2)\t2.6.16\n"
15830 msgstr ""
15831
15832 #. type: tbl table
15833 #: build/C/man2/syscalls.2:377
15834 #, no-wrap
15835 msgid "B<pause>(2)\t1.0\n"
15836 msgstr ""
15837
15838 #. type: tbl table
15839 #: build/C/man2/syscalls.2:378
15840 #, no-wrap
15841 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
15842 msgstr ""
15843
15844 #.  Alpha, PowerPC, ARM; not x86
15845 #. type: tbl table
15846 #: build/C/man2/syscalls.2:380
15847 #, no-wrap
15848 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
15849 msgstr ""
15850
15851 #.  , PowerPC, ARM; not x86
15852 #. type: tbl table
15853 #: build/C/man2/syscalls.2:382
15854 #, no-wrap
15855 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
15856 msgstr ""
15857
15858 #.  , PowerPC, ARM; not x86
15859 #. type: tbl table
15860 #: build/C/man2/syscalls.2:384
15861 #, no-wrap
15862 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
15863 msgstr ""
15864
15865 #. type: tbl table
15866 #: build/C/man2/syscalls.2:385
15867 #, no-wrap
15868 msgid "Was called perf_counter_open()\n"
15869 msgstr ""
15870
15871 #. type: tbl table
15872 #: build/C/man2/syscalls.2:387
15873 #, no-wrap
15874 msgid "in 2.6.31; renamed in 2.6.32\n"
15875 msgstr ""
15876
15877 #. type: tbl table
15878 #: build/C/man2/syscalls.2:389
15879 #, no-wrap
15880 msgid "B<personality>(2)\t1.2\n"
15881 msgstr ""
15882
15883 #. type: tbl table
15884 #: build/C/man2/syscalls.2:390
15885 #, no-wrap
15886 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
15887 msgstr ""
15888
15889 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
15890 #. type: tbl table
15891 #: build/C/man2/syscalls.2:392
15892 #, no-wrap
15893 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
15894 msgstr ""
15895
15896 #. type: tbl table
15897 #: build/C/man2/syscalls.2:393
15898 #, no-wrap
15899 msgid "B<pipe>(2)\t1.0\n"
15900 msgstr ""
15901
15902 #. type: tbl table
15903 #: build/C/man2/syscalls.2:394
15904 #, no-wrap
15905 msgid "B<pipe2>(2)\t2.6.27\n"
15906 msgstr ""
15907
15908 #. type: tbl table
15909 #: build/C/man2/syscalls.2:395
15910 #, no-wrap
15911 msgid "B<pivot_root>(2)\t2.4\n"
15912 msgstr ""
15913
15914 #. type: tbl table
15915 #: build/C/man2/syscalls.2:396
15916 #, no-wrap
15917 msgid "B<poll>(2)\t2.0.36; 2.2\n"
15918 msgstr ""
15919
15920 #. type: tbl table
15921 #: build/C/man2/syscalls.2:397
15922 #, no-wrap
15923 msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
15924 msgstr ""
15925
15926 #. type: tbl table
15927 #: build/C/man2/syscalls.2:398
15928 #, no-wrap
15929 msgid "B<ppoll>(2)\t2.6.16\n"
15930 msgstr ""
15931
15932 #. type: tbl table
15933 #: build/C/man2/syscalls.2:399
15934 #, no-wrap
15935 msgid "B<prctl>(2)\t2.2\n"
15936 msgstr ""
15937
15938 #. type: tbl table
15939 #: build/C/man2/syscalls.2:400
15940 #, no-wrap
15941 msgid "B<pread64>(2)\t\tT{\n"
15942 msgstr ""
15943
15944 #. type: tbl table
15945 #: build/C/man2/syscalls.2:401
15946 #, no-wrap
15947 msgid "Added as \"pread\" in 2.2;\n"
15948 msgstr ""
15949
15950 #. type: tbl table
15951 #: build/C/man2/syscalls.2:403
15952 #, no-wrap
15953 msgid "renamed \"pread64\" in 2.6\n"
15954 msgstr ""
15955
15956 #. type: tbl table
15957 #: build/C/man2/syscalls.2:405
15958 #, no-wrap
15959 msgid "B<preadv>(2)\t2.6.30\n"
15960 msgstr ""
15961
15962 #. type: tbl table
15963 #: build/C/man2/syscalls.2:406
15964 #, no-wrap
15965 msgid "B<prlimit>(2)\t2.6.36\n"
15966 msgstr ""
15967
15968 #. type: tbl table
15969 #: build/C/man2/syscalls.2:407
15970 #, no-wrap
15971 msgid "B<process_vm_readv>(2)\t3.2\n"
15972 msgstr ""
15973
15974 #. type: tbl table
15975 #: build/C/man2/syscalls.2:408
15976 #, no-wrap
15977 msgid "B<process_vm_writev>(2)\t3.2\n"
15978 msgstr ""
15979
15980 #. type: tbl table
15981 #: build/C/man2/syscalls.2:409
15982 #, no-wrap
15983 msgid "B<pselect6>(2)\t2.6.16\n"
15984 msgstr ""
15985
15986 #.  Implements \fBpselect\fP(2)
15987 #. type: tbl table
15988 #: build/C/man2/syscalls.2:411
15989 #, no-wrap
15990 msgid "B<ptrace>(2)\t1.0\n"
15991 msgstr ""
15992
15993 #. type: tbl table
15994 #: build/C/man2/syscalls.2:412
15995 #, no-wrap
15996 msgid "B<pwrite64>(2)\t\tT{\n"
15997 msgstr ""
15998
15999 #. type: tbl table
16000 #: build/C/man2/syscalls.2:413
16001 #, no-wrap
16002 msgid "Added as \"pwrite\" in 2.2;\n"
16003 msgstr ""
16004
16005 #. type: tbl table
16006 #: build/C/man2/syscalls.2:415
16007 #, no-wrap
16008 msgid "renamed \"pwrite64\" in 2.6\n"
16009 msgstr ""
16010
16011 #. type: tbl table
16012 #: build/C/man2/syscalls.2:417
16013 #, no-wrap
16014 msgid "B<pwritev>(2)\t2.6.30\n"
16015 msgstr ""
16016
16017 #. type: tbl table
16018 #: build/C/man2/syscalls.2:418
16019 #, no-wrap
16020 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
16021 msgstr ""
16022
16023 #. type: tbl table
16024 #: build/C/man2/syscalls.2:419
16025 #, no-wrap
16026 msgid "B<quotactl>(2)\t1.0\n"
16027 msgstr ""
16028
16029 #. type: tbl table
16030 #: build/C/man2/syscalls.2:420
16031 #, no-wrap
16032 msgid "B<read>(2)\t1.0\n"
16033 msgstr ""
16034
16035 #. type: tbl table
16036 #: build/C/man2/syscalls.2:421
16037 #, no-wrap
16038 msgid "B<readahead>(2)\t2.4.13\n"
16039 msgstr ""
16040
16041 #. type: tbl table
16042 #: build/C/man2/syscalls.2:422
16043 #, no-wrap
16044 msgid "B<readdir>(2)\t1.0\n"
16045 msgstr ""
16046
16047 #.  Supersedes \fBgetdents\fP(2)
16048 #. type: tbl table
16049 #: build/C/man2/syscalls.2:424
16050 #, no-wrap
16051 msgid "B<readlink>(2)\t1.0\n"
16052 msgstr ""
16053
16054 #. type: tbl table
16055 #: build/C/man2/syscalls.2:425
16056 #, no-wrap
16057 msgid "B<readlinkat>(2)\t2.6.16\n"
16058 msgstr ""
16059
16060 #. type: tbl table
16061 #: build/C/man2/syscalls.2:426
16062 #, no-wrap
16063 msgid "B<readv>(2)\t2.0\n"
16064 msgstr ""
16065
16066 #. type: tbl table
16067 #: build/C/man2/syscalls.2:427
16068 #, no-wrap
16069 msgid "B<reboot>(2)\t1.0\n"
16070 msgstr ""
16071
16072 #. type: tbl table
16073 #: build/C/man2/syscalls.2:428
16074 #, no-wrap
16075 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16076 msgstr ""
16077
16078 #. type: tbl table
16079 #: build/C/man2/syscalls.2:429
16080 #, no-wrap
16081 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16082 msgstr ""
16083
16084 #. type: tbl table
16085 #: build/C/man2/syscalls.2:430
16086 #, no-wrap
16087 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16088 msgstr ""
16089
16090 #. type: tbl table
16091 #: build/C/man2/syscalls.2:431
16092 #, no-wrap
16093 msgid "B<recvmmsg>(2)\t2.6.33\n"
16094 msgstr ""
16095
16096 #. type: tbl table
16097 #: build/C/man2/syscalls.2:432
16098 #, no-wrap
16099 msgid "B<remap_file_pages>(2)\t2.6\n"
16100 msgstr ""
16101
16102 #. type: tbl table
16103 #: build/C/man2/syscalls.2:433
16104 #, no-wrap
16105 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
16106 msgstr ""
16107
16108 #. type: tbl table
16109 #: build/C/man2/syscalls.2:434
16110 #, no-wrap
16111 msgid "B<rename>(2)\t1.0\n"
16112 msgstr ""
16113
16114 #. type: tbl table
16115 #: build/C/man2/syscalls.2:435
16116 #, no-wrap
16117 msgid "B<renameat>(2)\t2.6.16\n"
16118 msgstr ""
16119
16120 #. type: tbl table
16121 #: build/C/man2/syscalls.2:436
16122 #, no-wrap
16123 msgid "B<request_key>(2)\t2.6.11\n"
16124 msgstr ""
16125
16126 #. type: tbl table
16127 #: build/C/man2/syscalls.2:437
16128 #, no-wrap
16129 msgid "B<restart_syscall>(2)\t2.6\n"
16130 msgstr ""
16131
16132 #. type: tbl table
16133 #: build/C/man2/syscalls.2:438
16134 #, no-wrap
16135 msgid "B<rmdir>(2)\t1.0\n"
16136 msgstr ""
16137
16138 #. type: tbl table
16139 #: build/C/man2/syscalls.2:439
16140 #, no-wrap
16141 msgid "B<rt_sigaction>(2)\t2.2\n"
16142 msgstr ""
16143
16144 #. type: tbl table
16145 #: build/C/man2/syscalls.2:440
16146 #, no-wrap
16147 msgid "B<rt_sigpending>(2)\t2.2\n"
16148 msgstr ""
16149
16150 #. type: tbl table
16151 #: build/C/man2/syscalls.2:441
16152 #, no-wrap
16153 msgid "B<rt_sigprocmask>(2)\t2.2\n"
16154 msgstr ""
16155
16156 #. type: tbl table
16157 #: build/C/man2/syscalls.2:442
16158 #, no-wrap
16159 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
16160 msgstr ""
16161
16162 #. type: tbl table
16163 #: build/C/man2/syscalls.2:443
16164 #, no-wrap
16165 msgid "B<rt_sigreturn>(2)\t2.2\n"
16166 msgstr ""
16167
16168 #. type: tbl table
16169 #: build/C/man2/syscalls.2:444
16170 #, no-wrap
16171 msgid "B<rt_sigsuspend>(2)\t2.2\n"
16172 msgstr ""
16173
16174 #. type: tbl table
16175 #: build/C/man2/syscalls.2:445
16176 #, no-wrap
16177 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
16178 msgstr ""
16179
16180 #. type: tbl table
16181 #: build/C/man2/syscalls.2:446
16182 #, no-wrap
16183 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
16184 msgstr ""
16185
16186 #. type: tbl table
16187 #: build/C/man2/syscalls.2:447
16188 #, no-wrap
16189 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
16190 msgstr ""
16191
16192 #. type: tbl table
16193 #: build/C/man2/syscalls.2:448
16194 #, no-wrap
16195 msgid "B<sched_get_priority_max>(2)\t2.0\n"
16196 msgstr ""
16197
16198 #. type: tbl table
16199 #: build/C/man2/syscalls.2:449
16200 #, no-wrap
16201 msgid "B<sched_get_priority_min>(2)\t2.0\n"
16202 msgstr ""
16203
16204 #. type: tbl table
16205 #: build/C/man2/syscalls.2:450
16206 #, no-wrap
16207 msgid "B<sched_getaffinity>(2)\t2.6\n"
16208 msgstr ""
16209
16210 #. type: tbl table
16211 #: build/C/man2/syscalls.2:451
16212 #, no-wrap
16213 msgid "B<sched_getattr>(2)\t3.14\n"
16214 msgstr ""
16215
16216 #. type: tbl table
16217 #: build/C/man2/syscalls.2:452
16218 #, no-wrap
16219 msgid "B<sched_getparam>(2)\t2.0\n"
16220 msgstr ""
16221
16222 #. type: tbl table
16223 #: build/C/man2/syscalls.2:453
16224 #, no-wrap
16225 msgid "B<sched_getscheduler>(2)\t2.0\n"
16226 msgstr ""
16227
16228 #. type: tbl table
16229 #: build/C/man2/syscalls.2:454
16230 #, no-wrap
16231 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
16232 msgstr ""
16233
16234 #. type: tbl table
16235 #: build/C/man2/syscalls.2:455
16236 #, no-wrap
16237 msgid "B<sched_setaffinity>(2)\t2.6\n"
16238 msgstr ""
16239
16240 #. type: tbl table
16241 #: build/C/man2/syscalls.2:456
16242 #, no-wrap
16243 msgid "B<sched_setattr>(2)\t3.14\n"
16244 msgstr ""
16245
16246 #. type: tbl table
16247 #: build/C/man2/syscalls.2:457
16248 #, no-wrap
16249 msgid "B<sched_setparam>(2)\t2.0\n"
16250 msgstr ""
16251
16252 #. type: tbl table
16253 #: build/C/man2/syscalls.2:458
16254 #, no-wrap
16255 msgid "B<sched_setscheduler>(2)\t2.0\n"
16256 msgstr ""
16257
16258 #. type: tbl table
16259 #: build/C/man2/syscalls.2:459
16260 #, no-wrap
16261 msgid "B<sched_yield>(2)\t2.0\n"
16262 msgstr ""
16263
16264 #. type: tbl table
16265 #: build/C/man2/syscalls.2:460
16266 #, no-wrap
16267 msgid "B<select>(2)\t1.0\n"
16268 msgstr ""
16269
16270 #. type: tbl table
16271 #: build/C/man2/syscalls.2:461
16272 #, no-wrap
16273 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16274 msgstr ""
16275
16276 #. type: tbl table
16277 #: build/C/man2/syscalls.2:462
16278 #, no-wrap
16279 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16280 msgstr ""
16281
16282 #. type: tbl table
16283 #: build/C/man2/syscalls.2:463
16284 #, no-wrap
16285 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16286 msgstr ""
16287
16288 #. type: tbl table
16289 #: build/C/man2/syscalls.2:464
16290 #, no-wrap
16291 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
16292 msgstr ""
16293
16294 #. type: tbl table
16295 #: build/C/man2/syscalls.2:465
16296 #, no-wrap
16297 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16298 msgstr ""
16299
16300 #. type: tbl table
16301 #: build/C/man2/syscalls.2:466
16302 #, no-wrap
16303 msgid "B<sendfile>(2)\t2.2\n"
16304 msgstr ""
16305
16306 #. type: tbl table
16307 #: build/C/man2/syscalls.2:467
16308 #, no-wrap
16309 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
16310 msgstr ""
16311
16312 #. type: tbl table
16313 #: build/C/man2/syscalls.2:468
16314 #, no-wrap
16315 msgid "B<sendmmsg>(2)\t3.0\n"
16316 msgstr ""
16317
16318 #. type: tbl table
16319 #: build/C/man2/syscalls.2:469
16320 #, no-wrap
16321 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16322 msgstr ""
16323
16324 #. type: tbl table
16325 #: build/C/man2/syscalls.2:470
16326 #, no-wrap
16327 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16328 msgstr ""
16329
16330 #. type: tbl table
16331 #: build/C/man2/syscalls.2:471
16332 #, no-wrap
16333 msgid "B<set_mempolicy>(2)\t2.6.6\n"
16334 msgstr ""
16335
16336 #. type: tbl table
16337 #: build/C/man2/syscalls.2:472
16338 #, no-wrap
16339 msgid "B<set_robust_list>(2)\t2.6.17\n"
16340 msgstr ""
16341
16342 #. type: tbl table
16343 #: build/C/man2/syscalls.2:473
16344 #, no-wrap
16345 msgid "B<set_thread_area>(2)\t2.6\n"
16346 msgstr ""
16347
16348 #. type: tbl table
16349 #: build/C/man2/syscalls.2:474
16350 #, no-wrap
16351 msgid "B<set_tid_address>(2)\t2.6\n"
16352 msgstr ""
16353
16354 #.  See http://lkml.org/lkml/2005/8/1/83
16355 #.  "[PATCH] remove sys_set_zone_reclaim()"
16356 #. type: tbl table
16357 #: build/C/man2/syscalls.2:477
16358 #, no-wrap
16359 msgid "B<setdomainname>(2)\t1.0\n"
16360 msgstr ""
16361
16362 #. type: tbl table
16363 #: build/C/man2/syscalls.2:478
16364 #, no-wrap
16365 msgid "B<setfsgid>(2)\t1.2\n"
16366 msgstr ""
16367
16368 #. type: tbl table
16369 #: build/C/man2/syscalls.2:479
16370 #, no-wrap
16371 msgid "B<setfsgid32>(2)\t2.4\n"
16372 msgstr ""
16373
16374 #. type: tbl table
16375 #: build/C/man2/syscalls.2:480
16376 #, no-wrap
16377 msgid "B<setfsuid>(2)\t1.2\n"
16378 msgstr ""
16379
16380 #. type: tbl table
16381 #: build/C/man2/syscalls.2:481
16382 #, no-wrap
16383 msgid "B<setfsuid32>(2)\t2.4\n"
16384 msgstr ""
16385
16386 #. type: tbl table
16387 #: build/C/man2/syscalls.2:482
16388 #, no-wrap
16389 msgid "B<setgid>(2)\t1.0\n"
16390 msgstr ""
16391
16392 #. type: tbl table
16393 #: build/C/man2/syscalls.2:483
16394 #, no-wrap
16395 msgid "B<setgid32>(2)\t2.4\n"
16396 msgstr ""
16397
16398 #. type: tbl table
16399 #: build/C/man2/syscalls.2:484
16400 #, no-wrap
16401 msgid "B<setgroups>(2)\t1.0\n"
16402 msgstr ""
16403
16404 #. type: tbl table
16405 #: build/C/man2/syscalls.2:485
16406 #, no-wrap
16407 msgid "B<setgroups32>(2)\t2.4\n"
16408 msgstr ""
16409
16410 #. type: tbl table
16411 #: build/C/man2/syscalls.2:486
16412 #, no-wrap
16413 msgid "B<sethostname>(2)\t1.0\n"
16414 msgstr ""
16415
16416 #. type: tbl table
16417 #: build/C/man2/syscalls.2:487
16418 #, no-wrap
16419 msgid "B<setitimer>(2)\t1.0\n"
16420 msgstr ""
16421
16422 #. type: tbl table
16423 #: build/C/man2/syscalls.2:488
16424 #, no-wrap
16425 msgid "B<setns>(2)\t3.0\n"
16426 msgstr ""
16427
16428 #. type: tbl table
16429 #: build/C/man2/syscalls.2:489
16430 #, no-wrap
16431 msgid "B<setpgid>(2)\t1.0\n"
16432 msgstr ""
16433
16434 #. type: tbl table
16435 #: build/C/man2/syscalls.2:490
16436 #, no-wrap
16437 msgid "B<setpriority>(2)\t1.0\n"
16438 msgstr ""
16439
16440 #. type: tbl table
16441 #: build/C/man2/syscalls.2:491
16442 #, no-wrap
16443 msgid "B<setregid>(2)\t1.0\n"
16444 msgstr ""
16445
16446 #. type: tbl table
16447 #: build/C/man2/syscalls.2:492
16448 #, no-wrap
16449 msgid "B<setregid32>(2)\t2.4\n"
16450 msgstr ""
16451
16452 #. type: tbl table
16453 #: build/C/man2/syscalls.2:493
16454 #, no-wrap
16455 msgid "B<setresgid>(2)\t2.2\n"
16456 msgstr ""
16457
16458 #. type: tbl table
16459 #: build/C/man2/syscalls.2:494
16460 #, no-wrap
16461 msgid "B<setresgid32>(2)\t2.4\n"
16462 msgstr ""
16463
16464 #. type: tbl table
16465 #: build/C/man2/syscalls.2:495
16466 #, no-wrap
16467 msgid "B<setresuid>(2)\t2.2\n"
16468 msgstr ""
16469
16470 #. type: tbl table
16471 #: build/C/man2/syscalls.2:496
16472 #, no-wrap
16473 msgid "B<setresuid32>(2)\t2.4\n"
16474 msgstr ""
16475
16476 #. type: tbl table
16477 #: build/C/man2/syscalls.2:497
16478 #, no-wrap
16479 msgid "B<setreuid>(2)\t1.0\n"
16480 msgstr ""
16481
16482 #. type: tbl table
16483 #: build/C/man2/syscalls.2:498
16484 #, no-wrap
16485 msgid "B<setreuid32>(2)\t2.4\n"
16486 msgstr ""
16487
16488 #. type: tbl table
16489 #: build/C/man2/syscalls.2:499
16490 #, no-wrap
16491 msgid "B<setrlimit>(2)\t1.0\n"
16492 msgstr ""
16493
16494 #. type: tbl table
16495 #: build/C/man2/syscalls.2:500
16496 #, no-wrap
16497 msgid "B<setsid>(2)\t1.0\n"
16498 msgstr ""
16499
16500 #. type: tbl table
16501 #: build/C/man2/syscalls.2:501
16502 #, no-wrap
16503 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16504 msgstr ""
16505
16506 #. type: tbl table
16507 #: build/C/man2/syscalls.2:502
16508 #, no-wrap
16509 msgid "B<settimeofday>(2)\t1.0\n"
16510 msgstr ""
16511
16512 #. type: tbl table
16513 #: build/C/man2/syscalls.2:503
16514 #, no-wrap
16515 msgid "B<setuid>(2)\t1.0\n"
16516 msgstr ""
16517
16518 #. type: tbl table
16519 #: build/C/man2/syscalls.2:504
16520 #, no-wrap
16521 msgid "B<setuid32>(2)\t2.4\n"
16522 msgstr ""
16523
16524 #. type: tbl table
16525 #: build/C/man2/syscalls.2:505
16526 #, no-wrap
16527 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
16528 msgstr ""
16529
16530 #. type: tbl table
16531 #: build/C/man2/syscalls.2:506
16532 #, no-wrap
16533 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
16534 msgstr ""
16535
16536 #. type: tbl table
16537 #: build/C/man2/syscalls.2:507
16538 #, no-wrap
16539 msgid "B<sgetmask>(2)\t1.0\n"
16540 msgstr ""
16541
16542 #. type: tbl table
16543 #: build/C/man2/syscalls.2:508
16544 #, no-wrap
16545 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16546 msgstr ""
16547
16548 #. type: tbl table
16549 #: build/C/man2/syscalls.2:509
16550 #, no-wrap
16551 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16552 msgstr ""
16553
16554 #. type: tbl table
16555 #: build/C/man2/syscalls.2:510
16556 #, no-wrap
16557 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16558 msgstr ""
16559
16560 #. type: tbl table
16561 #: build/C/man2/syscalls.2:511
16562 #, no-wrap
16563 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
16564 msgstr ""
16565
16566 #. type: tbl table
16567 #: build/C/man2/syscalls.2:512
16568 #, no-wrap
16569 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16570 msgstr ""
16571
16572 #. type: tbl table
16573 #: build/C/man2/syscalls.2:513
16574 #, no-wrap
16575 msgid "B<sigaction>(2)\t1.0\n"
16576 msgstr ""
16577
16578 #. type: tbl table
16579 #: build/C/man2/syscalls.2:514
16580 #, no-wrap
16581 msgid "B<sigaltstack>(2)\t2.2\n"
16582 msgstr ""
16583
16584 #. type: tbl table
16585 #: build/C/man2/syscalls.2:515
16586 #, no-wrap
16587 msgid "B<signal>(2)\t1.0\n"
16588 msgstr ""
16589
16590 #. type: tbl table
16591 #: build/C/man2/syscalls.2:516
16592 #, no-wrap
16593 msgid "B<signalfd>(2)\t2.6.22\n"
16594 msgstr ""
16595
16596 #. type: tbl table
16597 #: build/C/man2/syscalls.2:517
16598 #, no-wrap
16599 msgid "B<signalfd4>(2)\t2.6.27\n"
16600 msgstr ""
16601
16602 #. type: tbl table
16603 #: build/C/man2/syscalls.2:518
16604 #, no-wrap
16605 msgid "B<sigpending>(2)\t1.0\n"
16606 msgstr ""
16607
16608 #. type: tbl table
16609 #: build/C/man2/syscalls.2:519
16610 #, no-wrap
16611 msgid "B<sigprocmask>(2)\t1.0\n"
16612 msgstr ""
16613
16614 #. type: tbl table
16615 #: build/C/man2/syscalls.2:520
16616 #, no-wrap
16617 msgid "B<sigreturn>(2)\t1.0\n"
16618 msgstr ""
16619
16620 #. type: tbl table
16621 #: build/C/man2/syscalls.2:521
16622 #, no-wrap
16623 msgid "B<sigsuspend>(2)\t1.0\n"
16624 msgstr ""
16625
16626 #. type: tbl table
16627 #: build/C/man2/syscalls.2:522
16628 #, no-wrap
16629 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16630 msgstr ""
16631
16632 #. type: tbl table
16633 #: build/C/man2/syscalls.2:523
16634 #, no-wrap
16635 msgid "B<socketcall>(2)\t1.0\n"
16636 msgstr ""
16637
16638 #.  Implements BSD socket calls
16639 #. type: tbl table
16640 #: build/C/man2/syscalls.2:525
16641 #, no-wrap
16642 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
16643 msgstr ""
16644
16645 #. type: tbl table
16646 #: build/C/man2/syscalls.2:526
16647 #, no-wrap
16648 msgid "B<splice>(2)\t2.6.17\n"
16649 msgstr ""
16650
16651 #. type: tbl table
16652 #: build/C/man2/syscalls.2:527
16653 #, no-wrap
16654 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
16655 msgstr ""
16656
16657 #. type: tbl table
16658 #: build/C/man2/syscalls.2:528
16659 #, no-wrap
16660 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
16661 msgstr ""
16662
16663 #. type: tbl table
16664 #: build/C/man2/syscalls.2:529
16665 #, no-wrap
16666 msgid "B<ssetmask>(2)\t1.0\n"
16667 msgstr ""
16668
16669 #. type: tbl table
16670 #: build/C/man2/syscalls.2:530
16671 #, no-wrap
16672 msgid "B<stat>(2)\t1.0\n"
16673 msgstr ""
16674
16675 #. type: tbl table
16676 #: build/C/man2/syscalls.2:531
16677 #, no-wrap
16678 msgid "B<stat64>(2)\t2.4\n"
16679 msgstr ""
16680
16681 #. type: tbl table
16682 #: build/C/man2/syscalls.2:532
16683 #, no-wrap
16684 msgid "B<statfs>(2)\t1.0\n"
16685 msgstr ""
16686
16687 #. type: tbl table
16688 #: build/C/man2/syscalls.2:533
16689 #, no-wrap
16690 msgid "B<statfs64>(2)\t2.6\n"
16691 msgstr ""
16692
16693 #. type: tbl table
16694 #: build/C/man2/syscalls.2:534
16695 #, no-wrap
16696 msgid "B<stime>(2)\t1.0\n"
16697 msgstr ""
16698
16699 #. type: tbl table
16700 #: build/C/man2/syscalls.2:535
16701 #, no-wrap
16702 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
16703 msgstr ""
16704
16705 #. type: tbl table
16706 #: build/C/man2/syscalls.2:536
16707 #, no-wrap
16708 msgid "\t\tCONFIG_PPC_64K_PAGES\n"
16709 msgstr ""
16710
16711 #. type: tbl table
16712 #: build/C/man2/syscalls.2:537
16713 #, no-wrap
16714 msgid "B<swapoff>(2)\t1.0\n"
16715 msgstr ""
16716
16717 #. type: tbl table
16718 #: build/C/man2/syscalls.2:538
16719 #, no-wrap
16720 msgid "B<swapon>(2)\t1.0\n"
16721 msgstr ""
16722
16723 #. type: tbl table
16724 #: build/C/man2/syscalls.2:539
16725 #, no-wrap
16726 msgid "B<symlink>(2)\t1.0\n"
16727 msgstr ""
16728
16729 #. type: tbl table
16730 #: build/C/man2/syscalls.2:540
16731 #, no-wrap
16732 msgid "B<symlinkat>(2)\t2.6.16\n"
16733 msgstr ""
16734
16735 #. type: tbl table
16736 #: build/C/man2/syscalls.2:541
16737 #, no-wrap
16738 msgid "B<sync>(2)\t1.0\n"
16739 msgstr ""
16740
16741 #. type: tbl table
16742 #: build/C/man2/syscalls.2:542
16743 #, no-wrap
16744 msgid "B<sync_file_range>(2)\t2.6.17\n"
16745 msgstr ""
16746
16747 #. type: tbl table
16748 #: build/C/man2/syscalls.2:543
16749 #, no-wrap
16750 msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
16751 msgstr ""
16752
16753 #. type: tbl table
16754 #: build/C/man2/syscalls.2:544
16755 #, no-wrap
16756 msgid "Architecture-specific\n"
16757 msgstr ""
16758
16759 #. type: tbl table
16760 #: build/C/man2/syscalls.2:545
16761 #, no-wrap
16762 msgid "variant of B<sync_file_range>(2)\n"
16763 msgstr ""
16764
16765 #.  PowerPC, ARM, tile
16766 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
16767 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
16768 #. type: tbl table
16769 #: build/C/man2/syscalls.2:550
16770 #, no-wrap
16771 msgid "B<syncfs>(2)\t2.6.39\n"
16772 msgstr ""
16773
16774 #. type: tbl table
16775 #: build/C/man2/syscalls.2:551
16776 #, no-wrap
16777 msgid "B<sysfs>(2)\t1.2\n"
16778 msgstr ""
16779
16780 #. type: tbl table
16781 #: build/C/man2/syscalls.2:552
16782 #, no-wrap
16783 msgid "B<sysinfo>(2)\t1.0\n"
16784 msgstr ""
16785
16786 #. type: tbl table
16787 #: build/C/man2/syscalls.2:553
16788 #, no-wrap
16789 msgid "B<syslog>(2)\t1.0\n"
16790 msgstr ""
16791
16792 #.  glibc interface is \fBklogctl\fP(3)
16793 #. type: tbl table
16794 #: build/C/man2/syscalls.2:555
16795 #, no-wrap
16796 msgid "B<tee>(2)\t2.6.17\n"
16797 msgstr ""
16798
16799 #. type: tbl table
16800 #: build/C/man2/syscalls.2:556
16801 #, no-wrap
16802 msgid "B<tgkill>(2)\t2.6\n"
16803 msgstr ""
16804
16805 #. type: tbl table
16806 #: build/C/man2/syscalls.2:557
16807 #, no-wrap
16808 msgid "B<time>(2)\t1.0\n"
16809 msgstr ""
16810
16811 #. type: tbl table
16812 #: build/C/man2/syscalls.2:558
16813 #, no-wrap
16814 msgid "B<timer_create>(2)\t2.6\n"
16815 msgstr ""
16816
16817 #. type: tbl table
16818 #: build/C/man2/syscalls.2:559
16819 #, no-wrap
16820 msgid "B<timer_delete>(2)\t2.6\n"
16821 msgstr ""
16822
16823 #. type: tbl table
16824 #: build/C/man2/syscalls.2:560
16825 #, no-wrap
16826 msgid "B<timer_getoverrun>(2)\t2.6\n"
16827 msgstr ""
16828
16829 #. type: tbl table
16830 #: build/C/man2/syscalls.2:561
16831 #, no-wrap
16832 msgid "B<timer_gettime>(2)\t2.6\n"
16833 msgstr ""
16834
16835 #. type: tbl table
16836 #: build/C/man2/syscalls.2:562
16837 #, no-wrap
16838 msgid "B<timer_settime>(2)\t2.6\n"
16839 msgstr ""
16840
16841 #. type: tbl table
16842 #: build/C/man2/syscalls.2:563
16843 #, no-wrap
16844 msgid "B<timerfd_create>(2)\t2.6.25\n"
16845 msgstr ""
16846
16847 #. type: tbl table
16848 #: build/C/man2/syscalls.2:564
16849 #, no-wrap
16850 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
16851 msgstr ""
16852
16853 #. type: tbl table
16854 #: build/C/man2/syscalls.2:565
16855 #, no-wrap
16856 msgid "B<timerfd_settime>(2)\t2.6.25\n"
16857 msgstr ""
16858
16859 #. type: tbl table
16860 #: build/C/man2/syscalls.2:566
16861 #, no-wrap
16862 msgid "B<times>(2)\t1.0\n"
16863 msgstr ""
16864
16865 #. type: tbl table
16866 #: build/C/man2/syscalls.2:567
16867 #, no-wrap
16868 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
16869 msgstr ""
16870
16871 #. type: tbl table
16872 #: build/C/man2/syscalls.2:568
16873 #, no-wrap
16874 msgid "B<truncate>(2)\t1.0\n"
16875 msgstr ""
16876
16877 #. type: tbl table
16878 #: build/C/man2/syscalls.2:569
16879 #, no-wrap
16880 msgid "B<truncate64>(2)\t2.4\n"
16881 msgstr ""
16882
16883 #. type: tbl table
16884 #: build/C/man2/syscalls.2:570
16885 #, no-wrap
16886 msgid "B<ugetrlimit>(2)\t2.4\n"
16887 msgstr ""
16888
16889 #. type: tbl table
16890 #: build/C/man2/syscalls.2:571
16891 #, no-wrap
16892 msgid "B<umask>(2)\t1.0\n"
16893 msgstr ""
16894
16895 #. type: tbl table
16896 #: build/C/man2/syscalls.2:572
16897 #, no-wrap
16898 msgid "B<umount>(2)\t1.0\n"
16899 msgstr ""
16900
16901 #.  sys_oldumount() -- __NR_umount
16902 #. type: tbl table
16903 #: build/C/man2/syscalls.2:574
16904 #, no-wrap
16905 msgid "B<umount2>(2)\t2.2\n"
16906 msgstr ""
16907
16908 #.  sys_umount() -- __NR_umount2
16909 #. type: tbl table
16910 #: build/C/man2/syscalls.2:576
16911 #, no-wrap
16912 msgid "B<uname>(2)\t1.0\n"
16913 msgstr ""
16914
16915 #. type: tbl table
16916 #: build/C/man2/syscalls.2:577
16917 #, no-wrap
16918 msgid "B<unlink>(2)\t1.0\n"
16919 msgstr ""
16920
16921 #. type: tbl table
16922 #: build/C/man2/syscalls.2:578
16923 #, no-wrap
16924 msgid "B<unlinkat>(2)\t2.6.16\n"
16925 msgstr ""
16926
16927 #. type: tbl table
16928 #: build/C/man2/syscalls.2:579
16929 #, no-wrap
16930 msgid "B<unshare>(2)\t2.6.16\n"
16931 msgstr ""
16932
16933 #. type: tbl table
16934 #: build/C/man2/syscalls.2:580
16935 #, no-wrap
16936 msgid "B<uselib>(2)\t1.0\n"
16937 msgstr ""
16938
16939 #. type: tbl table
16940 #: build/C/man2/syscalls.2:581
16941 #, no-wrap
16942 msgid "B<ustat>(2)\t1.0\n"
16943 msgstr ""
16944
16945 #. type: tbl table
16946 #: build/C/man2/syscalls.2:582
16947 #, no-wrap
16948 msgid "B<utime>(2)\t1.0\n"
16949 msgstr ""
16950
16951 #. type: tbl table
16952 #: build/C/man2/syscalls.2:583
16953 #, no-wrap
16954 msgid "B<utimensat>(2)\t2.6.22\n"
16955 msgstr ""
16956
16957 #. type: tbl table
16958 #: build/C/man2/syscalls.2:584
16959 #, no-wrap
16960 msgid "B<utimes>(2)\t2.2\n"
16961 msgstr ""
16962
16963 #. type: tbl table
16964 #: build/C/man2/syscalls.2:585
16965 #, no-wrap
16966 msgid "B<utrap_install>(2)\t2.2\tSparc\n"
16967 msgstr ""
16968
16969 #. type: tbl table
16970 #: build/C/man2/syscalls.2:586
16971 #, no-wrap
16972 msgid "B<vfork>(2)\t2.2\n"
16973 msgstr ""
16974
16975 #. type: tbl table
16976 #: build/C/man2/syscalls.2:587
16977 #, no-wrap
16978 msgid "B<vhangup>(2)\t1.0\n"
16979 msgstr ""
16980
16981 #. type: tbl table
16982 #: build/C/man2/syscalls.2:588
16983 #, no-wrap
16984 msgid "B<vm86old>(2)\t1.0\tT{\n"
16985 msgstr ""
16986
16987 #. type: tbl table
16988 #: build/C/man2/syscalls.2:589
16989 #, no-wrap
16990 msgid "Was \"vm86\"; renamed in\n"
16991 msgstr ""
16992
16993 #. type: tbl table
16994 #: build/C/man2/syscalls.2:590
16995 #, no-wrap
16996 msgid "2.0.28/2.2\n"
16997 msgstr ""
16998
16999 #. type: tbl table
17000 #: build/C/man2/syscalls.2:592
17001 #, no-wrap
17002 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
17003 msgstr ""
17004
17005 #. type: tbl table
17006 #: build/C/man2/syscalls.2:593
17007 #, no-wrap
17008 msgid "B<vmsplice>(2)\t2.6.17\n"
17009 msgstr ""
17010
17011 #. type: tbl table
17012 #: build/C/man2/syscalls.2:594
17013 #, no-wrap
17014 msgid "B<wait4>(2)\t1.0\n"
17015 msgstr ""
17016
17017 #. type: tbl table
17018 #: build/C/man2/syscalls.2:595
17019 #, no-wrap
17020 msgid "B<waitid>(2)\t2.6.10\n"
17021 msgstr ""
17022
17023 #. type: tbl table
17024 #: build/C/man2/syscalls.2:596
17025 #, no-wrap
17026 msgid "B<waitpid>(2)\t1.0\n"
17027 msgstr ""
17028
17029 #. type: tbl table
17030 #: build/C/man2/syscalls.2:597
17031 #, no-wrap
17032 msgid "B<write>(2)\t1.0\n"
17033 msgstr ""
17034
17035 #. type: tbl table
17036 #: build/C/man2/syscalls.2:598
17037 #, no-wrap
17038 msgid "B<writev>(2)\t2.0\n"
17039 msgstr ""
17040
17041 #. type: Plain text
17042 #: build/C/man2/syscalls.2:607
17043 msgid ""
17044 "On many platforms, including x86-32, socket calls are all multiplexed (via "
17045 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
17046 "IPC calls are multiplexed through B<ipc>(2)."
17047 msgstr ""
17048
17049 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
17050 #.  __NR_break is 17 on Linux 2.6.22/i386
17051 #.  __NR_ftime is 35 on Linux 2.6.22/i386
17052 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
17053 #.  __NR_gtty is 32 on Linux 2.6.22/i386
17054 #.  __NR_idle is 112 on Linux 2.6.22/i386
17055 #.  __NR_lock is 53 on Linux 2.6.22/i386
17056 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
17057 #.  __NR_mpx is 66 on Linux 2.6.22/i386
17058 #.  Slot has been reused
17059 #.  __NR_prof is 44 on Linux 2.6.22/i386
17060 #.  __NR_profil is 98 on Linux 2.6.22/i386
17061 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
17062 #.  __NR_security is 223 on Linux 2.4/i386
17063 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
17064 #.  on a couple of 2.6 architectures
17065 #.  __NR_stty is 31 on Linux 2.6.22/i386
17066 #.  The security call is for future use.
17067 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
17068 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
17069 #.  __NR_vserver is 273 on Linux 2.6.22/i386
17070 #. type: Plain text
17071 #: build/C/man2/syscalls.2:652
17072 msgid ""
17073 "Although slots are reserved for them in the system call table, the following "
17074 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
17075 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
17076 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
17077 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
17078 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
17079 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
17080 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
17081 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
17082 "for kernels patched to support STREAMS, and may never be in the standard "
17083 "kernel."
17084 msgstr ""
17085
17086 #. type: Plain text
17087 #: build/C/man2/syscalls.2:657
17088 msgid ""
17089 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
17090 "in 2.6.16; this system call was never available to user space."
17091 msgstr ""
17092
17093 #. type: Plain text
17094 #: build/C/man2/syscalls.2:674
17095 msgid ""
17096 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
17097 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
17098 "source in the routine I<sys_xxx>().  (The dispatch table for i386 can be "
17099 "found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many "
17100 "exceptions, however, mostly because older system calls were superseded by "
17101 "newer ones, and this has been treated somewhat unsystematically.  On "
17102 "platforms with proprietary operating-system emulation, such as parisc, "
17103 "sparc, sparc64, and alpha, there are many additional system calls; mips64 "
17104 "also contains a full set of 32-bit system calls."
17105 msgstr ""
17106
17107 #. type: Plain text
17108 #: build/C/man2/syscalls.2:693
17109 msgid ""
17110 "Over time, changes to the interfaces of some system calls have been "
17111 "necessary.  One reason for such changes was the need to increase the size of "
17112 "structures or scalar values passed to the system call.  Because of these "
17113 "changes, there are now various groups of related system calls (e.g., "
17114 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
17115 "which vary in details such as the size of their arguments.  (As noted "
17116 "earlier, applications are generally unaware of this: the glibc wrapper "
17117 "functions do some work to ensure that the right system call is invoked, and "
17118 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
17119 "calls that exist in multiple versions are the following:"
17120 msgstr ""
17121
17122 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
17123 #.  The stat system calls deal with three different data structures,
17124 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
17125 #. type: Plain text
17126 #: build/C/man2/syscalls.2:714
17127 msgid ""
17128 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
17129 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
17130 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
17131 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
17132 msgstr ""
17133
17134 #. type: Plain text
17135 #: build/C/man2/syscalls.2:725
17136 msgid ""
17137 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
17138 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
17139 "I<sys_newuname>()."
17140 msgstr ""
17141
17142 #. type: Plain text
17143 #: build/C/man2/syscalls.2:732
17144 msgid ""
17145 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
17146 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
17147 msgstr ""
17148
17149 #. type: Plain text
17150 #: build/C/man2/syscalls.2:743
17151 msgid ""
17152 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
17153 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
17154 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
17155 msgstr ""
17156
17157 #.  64-bit off_t changes: ftruncate64, *stat64,
17158 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
17159 #. type: Plain text
17160 #: build/C/man2/syscalls.2:755
17161 msgid ""
17162 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
17163 "support this change, a range of system calls were added (e.g., "
17164 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
17165 "superseding earlier calls of the same name without the \"32\" suffix."
17166 msgstr ""
17167
17168 #. type: Plain text
17169 #: build/C/man2/syscalls.2:772
17170 msgid ""
17171 "Linux 2.4 added support for applications on 32-bit architectures to access "
17172 "large files (i.e., files for which the sizes and file offsets can't be "
17173 "represented in 32 bits.)  To support this change, replacements were required "
17174 "for system calls that deal with file offsets and sizes.  Thus the following "
17175 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
17176 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
17177 "descriptors or symbolic links.  These system calls supersede the older "
17178 "system calls which, except in the case of the \"stat\" calls, have the same "
17179 "name without the \"64\" suffix."
17180 msgstr ""
17181
17182 #. type: Plain text
17183 #: build/C/man2/syscalls.2:776
17184 msgid ""
17185 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
17186 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
17187 "calls exist, the other versions are obsolete."
17188 msgstr ""
17189
17190 #. type: Plain text
17191 #: build/C/man2/syscalls.2:784
17192 msgid ""
17193 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
17194 "real-time signals (see B<signal>(7)).  These system calls supersede the "
17195 "older system calls of the same name without the \"rt_\" prefix."
17196 msgstr ""
17197
17198 #.  (used by libc 6)
17199 #.  .PP
17200 #.  Two system call numbers,
17201 #.  .IR __NR__llseek
17202 #.  and
17203 #.  .IR __NR__sysctl
17204 #.  have an additional underscore absent in
17205 #.  .IR sys_llseek ()
17206 #.  and
17207 #.  .IR sys_sysctl ().
17208 #
17209 #.  In kernel 2.1.81,
17210 #.  .BR lchown (2)
17211 #.  and
17212 #.  .BR chown (2)
17213 #.  were swapped; that is,
17214 #.  .BR lchown (2)
17215 #.  was added with the semantics that were then current for
17216 #.  .BR chown (2),
17217 #.  and the semantics of the latter call were changed to what
17218 #.  they are today.
17219 #. type: Plain text
17220 #: build/C/man2/syscalls.2:834
17221 msgid ""
17222 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
17223 "which caused problems in the way argument passing on the i386 used to be set "
17224 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
17225 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
17226 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
17227 "argument block) instead.  These days passing five arguments is not a problem "
17228 "any more, and there is a I<__NR__newselect> that corresponds directly to "
17229 "I<sys_select>()  and similarly I<__NR_mmap2>."
17230 msgstr ""
17231
17232 #. type: Plain text
17233 #: build/C/man2/syscalls.2:840
17234 msgid "B<intro>(2), B<syscall>(2), B<unimplemented>(2), B<libc>(7), B<vdso>(7)"
17235 msgstr ""
17236
17237 #. type: TH
17238 #: build/C/man3/sysconf.3:27
17239 #, no-wrap
17240 msgid "SYSCONF"
17241 msgstr ""
17242
17243 #. type: Plain text
17244 #: build/C/man3/sysconf.3:30
17245 msgid "sysconf - get configuration information at run time"
17246 msgstr ""
17247
17248 #. type: Plain text
17249 #: build/C/man3/sysconf.3:35
17250 #, no-wrap
17251 msgid "B<long sysconf(int >I<name>B<);>\n"
17252 msgstr ""
17253
17254 #. type: Plain text
17255 #: build/C/man3/sysconf.3:40
17256 msgid ""
17257 "POSIX allows an application to test at compile or run time whether certain "
17258 "options are supported, or what the value is of certain configurable "
17259 "constants or limits."
17260 msgstr ""
17261
17262 #. type: Plain text
17263 #: build/C/man3/sysconf.3:46
17264 msgid ""
17265 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
17266 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
17267 msgstr ""
17268
17269 #. type: Plain text
17270 #: build/C/man3/sysconf.3:56
17271 msgid ""
17272 "At run time, one can ask for numerical values using the present function "
17273 "B<sysconf>().  One can ask for numerical values that may depend on the "
17274 "filesystem a file is in using the calls B<fpathconf>(3)  and "
17275 "B<pathconf>(3).  One can ask for string values using B<confstr>(3)."
17276 msgstr ""
17277
17278 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
17279 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
17280 #. type: Plain text
17281 #: build/C/man3/sysconf.3:61
17282 msgid ""
17283 "The values obtained from these functions are system configuration "
17284 "constants.  They do not change during the lifetime of a process."
17285 msgstr ""
17286
17287 #.  and 999 to indicate support for options no longer present in the latest
17288 #.  standard. (?)
17289 #. type: Plain text
17290 #: build/C/man3/sysconf.3:84
17291 msgid ""
17292 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
17293 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
17294 "time.  If it is defined to -1, then the option is not supported.  If it is "
17295 "defined to 0, then relevant functions and headers exist, but one has to ask "
17296 "at run time what degree of support is available.  If it is defined to a "
17297 "value other than -1 or 0, then the option is supported.  Usually the value "
17298 "(such as 200112L) indicates the year and month of the POSIX revision "
17299 "describing the option.  Glibc uses the value 1 to indicate support as long "
17300 "as the POSIX revision has not been published yet.  The B<sysconf>()  "
17301 "argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
17302 msgstr ""
17303
17304 #. type: Plain text
17305 #: build/C/man3/sysconf.3:104
17306 msgid ""
17307 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
17308 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
17309 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
17310 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
17311 "greater value might actually be supported.  If an application wants to take "
17312 "advantage of values which may change between systems, a call to B<sysconf>()  "
17313 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
17314 msgstr ""
17315
17316 #. type: SS
17317 #: build/C/man3/sysconf.3:104
17318 #, no-wrap
17319 msgid "POSIX.1 variables"
17320 msgstr ""
17321
17322 #. type: Plain text
17323 #: build/C/man3/sysconf.3:109
17324 msgid ""
17325 "We give the name of the variable, the name of the B<sysconf>()  argument "
17326 "used to inquire about its value, and a short description."
17327 msgstr ""
17328
17329 #.  [for the moment: only the things that are unconditionally present]
17330 #.  .TP
17331 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
17332 #.  (if _POSIX_ASYNCHRONOUS_IO)
17333 #.  Maximum number of I/O operations in a single list I/O call.
17334 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
17335 #.  .TP
17336 #.  .BR AIO_MAX " - " _SC_AIO_MAX
17337 #.  (if _POSIX_ASYNCHRONOUS_IO)
17338 #.  Maximum number of outstanding asynchronous I/O operations.
17339 #.  Must not be less than _POSIX_AIO_MAX.
17340 #.  .TP
17341 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
17342 #.  (if _POSIX_ASYNCHRONOUS_IO)
17343 #.  The maximum amount by which a process can decrease its
17344 #.  asynchronous I/O priority level from its own scheduling priority.
17345 #.  Must be nonnegative.
17346 #. type: Plain text
17347 #: build/C/man3/sysconf.3:128
17348 msgid "First, the POSIX.1 compatible values."
17349 msgstr ""
17350
17351 #. type: TP
17352 #: build/C/man3/sysconf.3:128
17353 #, no-wrap
17354 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
17355 msgstr ""
17356
17357 #. type: Plain text
17358 #: build/C/man3/sysconf.3:136
17359 msgid ""
17360 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
17361 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
17362 msgstr ""
17363
17364 #. type: TP
17365 #: build/C/man3/sysconf.3:136
17366 #, no-wrap
17367 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
17368 msgstr ""
17369
17370 #. type: Plain text
17371 #: build/C/man3/sysconf.3:142
17372 msgid ""
17373 "The maximum number of simultaneous processes per user ID.  Must not be less "
17374 "than B<_POSIX_CHILD_MAX> (25)."
17375 msgstr ""
17376
17377 #. type: TP
17378 #: build/C/man3/sysconf.3:142
17379 #, no-wrap
17380 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
17381 msgstr ""
17382
17383 #. type: Plain text
17384 #: build/C/man3/sysconf.3:150
17385 msgid ""
17386 "Maximum length of a hostname, not including the terminating null byte, as "
17387 "returned by B<gethostname>(2).  Must not be less than "
17388 "B<_POSIX_HOST_NAME_MAX> (255)."
17389 msgstr ""
17390
17391 #. type: TP
17392 #: build/C/man3/sysconf.3:150
17393 #, no-wrap
17394 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
17395 msgstr ""
17396
17397 #. type: Plain text
17398 #: build/C/man3/sysconf.3:156
17399 msgid ""
17400 "Maximum length of a login name, including the terminating null byte.  Must "
17401 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
17402 msgstr ""
17403
17404 #. type: TP
17405 #: build/C/man3/sysconf.3:156
17406 #, no-wrap
17407 msgid "clock ticks - B<_SC_CLK_TCK>"
17408 msgstr ""
17409
17410 #. type: Plain text
17411 #: build/C/man3/sysconf.3:165
17412 msgid ""
17413 "The number of clock ticks per second.  The corresponding variable is "
17414 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
17415 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
17416 msgstr ""
17417
17418 #. type: TP
17419 #: build/C/man3/sysconf.3:165
17420 #, no-wrap
17421 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
17422 msgstr ""
17423
17424 #. type: Plain text
17425 #: build/C/man3/sysconf.3:171
17426 msgid ""
17427 "The maximum number of files that a process can have open at any time.  Must "
17428 "not be less than B<_POSIX_OPEN_MAX> (20)."
17429 msgstr ""
17430
17431 #. type: TP
17432 #: build/C/man3/sysconf.3:171
17433 #, no-wrap
17434 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
17435 msgstr ""
17436
17437 #. type: Plain text
17438 #: build/C/man3/sysconf.3:176
17439 msgid ""
17440 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
17441 "PAGE_SIZE instead.)"
17442 msgstr ""
17443
17444 #. type: TP
17445 #: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
17446 #, no-wrap
17447 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
17448 msgstr ""
17449
17450 #. type: Plain text
17451 #: build/C/man3/sysconf.3:185
17452 msgid ""
17453 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
17454 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
17455 msgstr ""
17456
17457 #. type: TP
17458 #: build/C/man3/sysconf.3:185
17459 #, no-wrap
17460 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
17461 msgstr ""
17462
17463 #. type: Plain text
17464 #: build/C/man3/sysconf.3:194
17465 msgid ""
17466 "The maximum number of streams that a process can have open at any time.  If "
17467 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
17468 "not be less than B<_POSIX_STREAM_MAX> (8)."
17469 msgstr ""
17470
17471 #. type: TP
17472 #: build/C/man3/sysconf.3:194
17473 #, no-wrap
17474 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
17475 msgstr ""
17476
17477 #. type: Plain text
17478 #: build/C/man3/sysconf.3:202
17479 msgid ""
17480 "The maximum number of symbolic links seen in a pathname before resolution "
17481 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
17482 msgstr ""
17483
17484 #. type: TP
17485 #: build/C/man3/sysconf.3:202
17486 #, no-wrap
17487 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
17488 msgstr ""
17489
17490 #. type: Plain text
17491 #: build/C/man3/sysconf.3:209
17492 msgid ""
17493 "The maximum length of terminal device name, including the terminating null "
17494 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
17495 msgstr ""
17496
17497 #. type: TP
17498 #: build/C/man3/sysconf.3:209
17499 #, no-wrap
17500 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
17501 msgstr ""
17502
17503 #. type: Plain text
17504 #: build/C/man3/sysconf.3:215
17505 msgid ""
17506 "The maximum number of bytes in a timezone name.  Must not be less than "
17507 "B<_POSIX_TZNAME_MAX> (6)."
17508 msgstr ""
17509
17510 #. type: TP
17511 #: build/C/man3/sysconf.3:215
17512 #, no-wrap
17513 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
17514 msgstr ""
17515
17516 #. type: Plain text
17517 #: build/C/man3/sysconf.3:223
17518 msgid ""
17519 "indicates the year and month the POSIX.1 standard was approved in the format "
17520 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
17521 msgstr ""
17522
17523 #. type: SS
17524 #: build/C/man3/sysconf.3:223
17525 #, no-wrap
17526 msgid "POSIX.2 variables"
17527 msgstr ""
17528
17529 #. type: Plain text
17530 #: build/C/man3/sysconf.3:225
17531 msgid "Next, the POSIX.2 values, giving limits for utilities."
17532 msgstr ""
17533
17534 #. type: TP
17535 #: build/C/man3/sysconf.3:225
17536 #, no-wrap
17537 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
17538 msgstr ""
17539
17540 #. type: Plain text
17541 #: build/C/man3/sysconf.3:232
17542 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
17543 msgstr ""
17544
17545 #. type: TP
17546 #: build/C/man3/sysconf.3:232
17547 #, no-wrap
17548 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
17549 msgstr ""
17550
17551 #. type: Plain text
17552 #: build/C/man3/sysconf.3:236
17553 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
17554 msgstr ""
17555
17556 #. type: TP
17557 #: build/C/man3/sysconf.3:236
17558 #, no-wrap
17559 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
17560 msgstr ""
17561
17562 #. type: Plain text
17563 #: build/C/man3/sysconf.3:242
17564 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
17565 msgstr ""
17566
17567 #. type: TP
17568 #: build/C/man3/sysconf.3:242
17569 #, no-wrap
17570 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
17571 msgstr ""
17572
17573 #. type: Plain text
17574 #: build/C/man3/sysconf.3:246
17575 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
17576 msgstr ""
17577
17578 #. type: TP
17579 #: build/C/man3/sysconf.3:246
17580 #, no-wrap
17581 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
17582 msgstr ""
17583
17584 #. type: Plain text
17585 #: build/C/man3/sysconf.3:252
17586 msgid ""
17587 "indicates the maximum numbers of weights that can be assigned to an entry of "
17588 "the B<LC_COLLATE order> keyword in the locale definition file,"
17589 msgstr ""
17590
17591 #. type: TP
17592 #: build/C/man3/sysconf.3:252
17593 #, no-wrap
17594 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
17595 msgstr ""
17596
17597 #. type: Plain text
17598 #: build/C/man3/sysconf.3:257
17599 msgid ""
17600 "is the maximum number of expressions which can be nested within parentheses "
17601 "by B<expr>(1)."
17602 msgstr ""
17603
17604 #. type: TP
17605 #: build/C/man3/sysconf.3:257
17606 #, no-wrap
17607 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
17608 msgstr ""
17609
17610 #. type: Plain text
17611 #: build/C/man3/sysconf.3:263
17612 msgid ""
17613 "The maximum length of a utility's input line, either from standard input or "
17614 "from a file.  This includes space for a trailing newline."
17615 msgstr ""
17616
17617 #. type: Plain text
17618 #: build/C/man3/sysconf.3:269
17619 msgid ""
17620 "The maximum number of repeated occurrences of a regular expression when the "
17621 "interval notation B<\\e{m,n\\e}> is used."
17622 msgstr ""
17623
17624 #. type: TP
17625 #: build/C/man3/sysconf.3:269
17626 #, no-wrap
17627 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
17628 msgstr ""
17629
17630 #. type: Plain text
17631 #: build/C/man3/sysconf.3:273
17632 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
17633 msgstr ""
17634
17635 #. type: TP
17636 #: build/C/man3/sysconf.3:273
17637 #, no-wrap
17638 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
17639 msgstr ""
17640
17641 #. type: Plain text
17642 #: build/C/man3/sysconf.3:277
17643 msgid ""
17644 "indicates whether the POSIX.2 C language development facilities are "
17645 "supported."
17646 msgstr ""
17647
17648 #. type: TP
17649 #: build/C/man3/sysconf.3:277
17650 #, no-wrap
17651 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
17652 msgstr ""
17653
17654 #. type: Plain text
17655 #: build/C/man3/sysconf.3:281
17656 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
17657 msgstr ""
17658
17659 #. type: TP
17660 #: build/C/man3/sysconf.3:281
17661 #, no-wrap
17662 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
17663 msgstr ""
17664
17665 #. type: Plain text
17666 #: build/C/man3/sysconf.3:284
17667 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
17668 msgstr ""
17669
17670 #. type: TP
17671 #: build/C/man3/sysconf.3:284
17672 #, no-wrap
17673 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
17674 msgstr ""
17675
17676 #. type: Plain text
17677 #: build/C/man3/sysconf.3:289
17678 msgid ""
17679 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
17680 "supported."
17681 msgstr ""
17682
17683 #. type: TP
17684 #: build/C/man3/sysconf.3:289
17685 #, no-wrap
17686 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
17687 msgstr ""
17688
17689 #. type: Plain text
17690 #: build/C/man3/sysconf.3:293
17691 msgid ""
17692 "indicates whether the POSIX.2 software development utilities option is "
17693 "supported."
17694 msgstr ""
17695
17696 #. type: Plain text
17697 #: build/C/man3/sysconf.3:295
17698 msgid "These values also exist, but may not be standard."
17699 msgstr ""
17700
17701 #. type: TP
17702 #: build/C/man3/sysconf.3:295
17703 #, no-wrap
17704 msgid " - B<_SC_PHYS_PAGES>"
17705 msgstr ""
17706
17707 #. type: Plain text
17708 #: build/C/man3/sysconf.3:302
17709 msgid ""
17710 "The number of pages of physical memory.  Note that it is possible for the "
17711 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
17712 msgstr ""
17713
17714 #. type: TP
17715 #: build/C/man3/sysconf.3:302
17716 #, no-wrap
17717 msgid " - B<_SC_AVPHYS_PAGES>"
17718 msgstr ""
17719
17720 #. type: Plain text
17721 #: build/C/man3/sysconf.3:305
17722 msgid "The number of currently available pages of physical memory."
17723 msgstr ""
17724
17725 #. type: TP
17726 #: build/C/man3/sysconf.3:305
17727 #, no-wrap
17728 msgid " - B<_SC_NPROCESSORS_CONF>"
17729 msgstr ""
17730
17731 #. type: Plain text
17732 #: build/C/man3/sysconf.3:308
17733 msgid "The number of processors configured."
17734 msgstr ""
17735
17736 #. type: TP
17737 #: build/C/man3/sysconf.3:308
17738 #, no-wrap
17739 msgid " - B<_SC_NPROCESSORS_ONLN>"
17740 msgstr ""
17741
17742 #. type: Plain text
17743 #: build/C/man3/sysconf.3:311
17744 msgid "The number of processors currently online (available)."
17745 msgstr ""
17746
17747 #. type: Plain text
17748 #: build/C/man3/sysconf.3:324
17749 msgid ""
17750 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
17751 "Otherwise, the value returned is the value of the system resource and "
17752 "I<errno> is not changed.  In the case of options, a positive value is "
17753 "returned if a queried option is available, and -1 if it is not.  In the case "
17754 "of limits, -1 means that there is no definite limit."
17755 msgstr ""
17756
17757 #. type: Plain text
17758 #: build/C/man3/sysconf.3:332
17759 msgid ""
17760 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
17761 "the argument space for B<exec>(3)  is consumed by the user's environment "
17762 "variables."
17763 msgstr ""
17764
17765 #. type: Plain text
17766 #: build/C/man3/sysconf.3:344
17767 msgid ""
17768 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<confstr>(3), "
17769 "B<fpathconf>(3), B<pathconf>(3), B<posixoptions>(7)"
17770 msgstr ""
17771
17772 #. type: TH
17773 #: build/C/man2/sysctl.2:30
17774 #, no-wrap
17775 msgid "SYSCTL"
17776 msgstr ""
17777
17778 #. type: TH
17779 #: build/C/man2/sysctl.2:30
17780 #, no-wrap
17781 msgid "2012-12-22"
17782 msgstr ""
17783
17784 #. type: Plain text
17785 #: build/C/man2/sysctl.2:33
17786 msgid "sysctl - read/write system parameters"
17787 msgstr ""
17788
17789 #. type: Plain text
17790 #: build/C/man2/sysctl.2:38
17791 #, no-wrap
17792 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
17793 msgstr ""
17794
17795 #. type: Plain text
17796 #: build/C/man2/sysctl.2:40
17797 #, no-wrap
17798 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
17799 msgstr ""
17800
17801 #. type: Plain text
17802 #: build/C/man2/sysctl.2:47
17803 msgid "B<Do not use this system call!> See NOTES."
17804 msgstr ""
17805
17806 #. type: Plain text
17807 #: build/C/man2/sysctl.2:54
17808 msgid ""
17809 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
17810 "the hostname, or the maximum number of open files.  The argument has the "
17811 "form"
17812 msgstr ""
17813
17814 #. type: Plain text
17815 #: build/C/man2/sysctl.2:66
17816 #, no-wrap
17817 msgid ""
17818 "struct __sysctl_args {\n"
17819 "    int    *name;    /* integer vector describing variable */\n"
17820 "    int     nlen;    /* length of this vector */\n"
17821 "    void   *oldval;  /* 0 or address where to store old value */\n"
17822 "    size_t *oldlenp; /* available room for old value,\n"
17823 "                        overwritten by actual size of old value */\n"
17824 "    void   *newval;  /* 0 or address of new value */\n"
17825 "    size_t  newlen;  /* size of new value */\n"
17826 "};\n"
17827 msgstr ""
17828
17829 #. type: Plain text
17830 #: build/C/man2/sysctl.2:74
17831 msgid ""
17832 "This call does a search in a tree structure, possibly resembling a directory "
17833 "tree under I</proc/sys>, and if the requested item is found calls some "
17834 "appropriate routine to read or modify the value."
17835 msgstr ""
17836
17837 #. type: Plain text
17838 #: build/C/man2/sysctl.2:81
17839 msgid ""
17840 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
17841 "-1 is returned and I<errno> is set to indicate the error."
17842 msgstr ""
17843
17844 #. type: Plain text
17845 #: build/C/man2/sysctl.2:88
17846 msgid ""
17847 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
17848 "but allowed zero room in I<oldlenp>."
17849 msgstr ""
17850
17851 #. type: Plain text
17852 #: build/C/man2/sysctl.2:92
17853 msgid "I<name> was not found."
17854 msgstr ""
17855
17856 #. type: TP
17857 #: build/C/man2/sysctl.2:92
17858 #, no-wrap
17859 msgid "B<EACCES>, B<EPERM>"
17860 msgstr ""
17861
17862 #. type: Plain text
17863 #: build/C/man2/sysctl.2:100
17864 msgid ""
17865 "No search permission for one of the encountered \"directories\", or no read "
17866 "permission where I<oldval> was nonzero, or no write permission where "
17867 "I<newval> was nonzero."
17868 msgstr ""
17869
17870 #. type: Plain text
17871 #: build/C/man2/sysctl.2:114
17872 msgid ""
17873 "This call is Linux-specific, and should not be used in programs intended to "
17874 "be portable.  A B<sysctl>()  call has been present in Linux since version "
17875 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
17876 "and the object naming schemes differ between Linux and 4.4BSD, but the "
17877 "declaration of the B<sysctl>()  function is the same in both."
17878 msgstr ""
17879
17880 #.  See http://lwn.net/Articles/247243/
17881 #.  Though comments in suggest that it is needed by old glibc binaries,
17882 #.  so maybe it's not going away.
17883 #. type: Plain text
17884 #: build/C/man2/sysctl.2:131
17885 msgid ""
17886 "Glibc does not provide a wrapper for this system call; call it using "
17887 "B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has "
17888 "long been discouraged, and it is so unloved that B<it is likely to disappear "
17889 "in a future kernel version>.  Since Linux 2.6.24, uses of this system call "
17890 "result in warnings in the kernel log.  Remove it from your programs now; use "
17891 "the I</proc/sys> interface instead."
17892 msgstr ""
17893
17894 #. type: Plain text
17895 #: build/C/man2/sysctl.2:135
17896 msgid ""
17897 "This system call is available only if the kernel was configured with the "
17898 "B<CONFIG_SYSCTL_SYSCALL> option."
17899 msgstr ""
17900
17901 #. type: Plain text
17902 #: build/C/man2/sysctl.2:138
17903 msgid ""
17904 "The object names vary between kernel versions, making this system call "
17905 "worthless for applications."
17906 msgstr ""
17907
17908 #. type: Plain text
17909 #: build/C/man2/sysctl.2:140
17910 msgid "Not all available objects are properly documented."
17911 msgstr ""
17912
17913 #. type: Plain text
17914 #: build/C/man2/sysctl.2:143
17915 msgid ""
17916 "It is not yet possible to change operating system by writing to "
17917 "I</proc/sys/kernel/ostype>."
17918 msgstr ""
17919
17920 #. type: Plain text
17921 #: build/C/man2/sysctl.2:152
17922 #, no-wrap
17923 msgid ""
17924 "#define _GNU_SOURCE\n"
17925 "#include E<lt>unistd.hE<gt>\n"
17926 "#include E<lt>sys/syscall.hE<gt>\n"
17927 "#include E<lt>string.hE<gt>\n"
17928 "#include E<lt>stdio.hE<gt>\n"
17929 "#include E<lt>stdlib.hE<gt>\n"
17930 "#include E<lt>linux/sysctl.hE<gt>\n"
17931 msgstr ""
17932
17933 #. type: Plain text
17934 #: build/C/man2/sysctl.2:154
17935 #, no-wrap
17936 msgid "int _sysctl(struct __sysctl_args *args );\n"
17937 msgstr ""
17938
17939 #. type: Plain text
17940 #: build/C/man2/sysctl.2:156
17941 #, no-wrap
17942 msgid "#define OSNAMESZ 100\n"
17943 msgstr ""
17944
17945 #. type: Plain text
17946 #: build/C/man2/sysctl.2:164
17947 #, no-wrap
17948 msgid ""
17949 "int\n"
17950 "main(void)\n"
17951 "{\n"
17952 "    struct __sysctl_args args;\n"
17953 "    char osname[OSNAMESZ];\n"
17954 "    size_t osnamelth;\n"
17955 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
17956 msgstr ""
17957
17958 #. type: Plain text
17959 #: build/C/man2/sysctl.2:170
17960 #, no-wrap
17961 msgid ""
17962 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
17963 "    args.name = name;\n"
17964 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
17965 "    args.oldval = osname;\n"
17966 "    args.oldlenp = &osnamelth;\n"
17967 msgstr ""
17968
17969 #. type: Plain text
17970 #: build/C/man2/sysctl.2:172
17971 #, no-wrap
17972 msgid "    osnamelth = sizeof(osname);\n"
17973 msgstr ""
17974
17975 #. type: Plain text
17976 #: build/C/man2/sysctl.2:180
17977 #, no-wrap
17978 msgid ""
17979 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
17980 "        perror(\"_sysctl\");\n"
17981 "        exit(EXIT_FAILURE);\n"
17982 "    }\n"
17983 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
17984 "    exit(EXIT_SUCCESS);\n"
17985 "}\n"
17986 msgstr ""
17987
17988 #. type: Plain text
17989 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
17990 msgid "B<proc>(5)"
17991 msgstr ""
17992
17993 #. type: TH
17994 #: build/C/man2/sysinfo.2:14
17995 #, no-wrap
17996 msgid "SYSINFO"
17997 msgstr ""
17998
17999 #. type: TH
18000 #: build/C/man2/sysinfo.2:14
18001 #, no-wrap
18002 msgid "2012-05-05"
18003 msgstr ""
18004
18005 #. type: Plain text
18006 #: build/C/man2/sysinfo.2:17
18007 msgid "sysinfo - returns information on overall system statistics"
18008 msgstr ""
18009
18010 #. type: Plain text
18011 #: build/C/man2/sysinfo.2:21
18012 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
18013 msgstr ""
18014
18015 #. type: Plain text
18016 #: build/C/man2/sysinfo.2:25
18017 msgid ""
18018 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
18019 "following structure:"
18020 msgstr ""
18021
18022 #. type: Plain text
18023 #: build/C/man2/sysinfo.2:40
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 "    char _f[22];             /* Pads structure to 64 bytes */\n"
18037 "};\n"
18038 msgstr ""
18039
18040 #. type: Plain text
18041 #: build/C/man2/sysinfo.2:44
18042 msgid "and the sizes were given in bytes."
18043 msgstr ""
18044
18045 #. type: Plain text
18046 #: build/C/man2/sysinfo.2:47
18047 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
18048 msgstr ""
18049
18050 #. type: Plain text
18051 #: build/C/man2/sysinfo.2:65
18052 #, no-wrap
18053 msgid ""
18054 "struct sysinfo {\n"
18055 "    long uptime;             /* Seconds since boot */\n"
18056 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
18057 "    unsigned long totalram;  /* Total usable main memory size */\n"
18058 "    unsigned long freeram;   /* Available memory size */\n"
18059 "    unsigned long sharedram; /* Amount of shared memory */\n"
18060 "    unsigned long bufferram; /* Memory used by buffers */\n"
18061 "    unsigned long totalswap; /* Total swap space size */\n"
18062 "    unsigned long freeswap;  /* swap space still available */\n"
18063 "    unsigned short procs;    /* Number of current processes */\n"
18064 "    unsigned long totalhigh; /* Total high memory size */\n"
18065 "    unsigned long freehigh;  /* Available high memory size */\n"
18066 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
18067 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
18068 "};\n"
18069 msgstr ""
18070
18071 #. type: Plain text
18072 #: build/C/man2/sysinfo.2:69
18073 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
18074 msgstr ""
18075
18076 #. type: Plain text
18077 #: build/C/man2/sysinfo.2:74
18078 msgid ""
18079 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
18080 "This is more portable than reading I</dev/kmem>."
18081 msgstr ""
18082
18083 #. type: Plain text
18084 #: build/C/man2/sysinfo.2:83
18085 msgid "pointer to I<struct\\ sysinfo> is invalid"
18086 msgstr ""
18087
18088 #. type: Plain text
18089 #: build/C/man2/sysinfo.2:94
18090 msgid ""
18091 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
18092 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
18093 msgstr ""
18094
18095 #. type: TH
18096 #: build/C/man3/tcgetpgrp.3:25
18097 #, no-wrap
18098 msgid "TCGETPGRP"
18099 msgstr ""
18100
18101 #. type: TH
18102 #: build/C/man3/tcgetpgrp.3:25
18103 #, no-wrap
18104 msgid "2014-01-13"
18105 msgstr ""
18106
18107 #. type: Plain text
18108 #: build/C/man3/tcgetpgrp.3:28
18109 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
18110 msgstr ""
18111
18112 #. type: Plain text
18113 #: build/C/man3/tcgetpgrp.3:32
18114 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
18115 msgstr ""
18116
18117 #. type: Plain text
18118 #: build/C/man3/tcgetpgrp.3:34
18119 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
18120 msgstr ""
18121
18122 #.  The process itself may be a background process.
18123 #. type: Plain text
18124 #: build/C/man3/tcgetpgrp.3:42
18125 msgid ""
18126 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
18127 "process group on the terminal associated to I<fd>, which must be the "
18128 "controlling terminal of the calling process."
18129 msgstr ""
18130
18131 #. type: Plain text
18132 #: build/C/man3/tcgetpgrp.3:55
18133 msgid ""
18134 "The function B<tcsetpgrp>()  makes the process group with process group ID "
18135 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
18136 "which must be the controlling terminal of the calling process, and still be "
18137 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
18138 "group belonging to the same session as the calling process."
18139 msgstr ""
18140
18141 #. type: Plain text
18142 #: build/C/man3/tcgetpgrp.3:64
18143 msgid ""
18144 "If B<tcsetpgrp>()  is called by a member of a background process group in "
18145 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
18146 "a B<SIGTTOU> signal is sent to all members of this background process group."
18147 msgstr ""
18148
18149 #. type: Plain text
18150 #: build/C/man3/tcgetpgrp.3:79
18151 msgid ""
18152 "When I<fd> refers to the controlling terminal of the calling process, the "
18153 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
18154 "terminal if there is one, and some value larger than 1 that is not presently "
18155 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
18156 "terminal of the calling process, -1 is returned, and I<errno> is set "
18157 "appropriately."
18158 msgstr ""
18159
18160 #. type: Plain text
18161 #: build/C/man3/tcgetpgrp.3:86
18162 msgid ""
18163 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
18164 "I<errno> is set appropriately."
18165 msgstr ""
18166
18167 #. type: Plain text
18168 #: build/C/man3/tcgetpgrp.3:95
18169 msgid "I<pgrp> has an unsupported value."
18170 msgstr ""
18171
18172 #. type: Plain text
18173 #: build/C/man3/tcgetpgrp.3:104
18174 msgid ""
18175 "The calling process does not have a controlling terminal, or it has one but "
18176 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
18177 "terminal is no longer associated with the session of the calling process."
18178 msgstr ""
18179
18180 #. type: Plain text
18181 #: build/C/man3/tcgetpgrp.3:109
18182 msgid ""
18183 "I<pgrp> has a supported value, but is not the process group ID of a process "
18184 "in the same session as the calling process."
18185 msgstr ""
18186
18187 #. type: Plain text
18188 #: build/C/man3/tcgetpgrp.3:116
18189 msgid "The B<tcgetpgrp>()  and B<tcsetpgrp>()  functions are thread-safe."
18190 msgstr ""
18191
18192 #. type: Plain text
18193 #: build/C/man3/tcgetpgrp.3:124
18194 msgid ""
18195 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
18196 "ioctls."
18197 msgstr ""
18198
18199 #. type: SS
18200 #: build/C/man3/tcgetpgrp.3:124 build/C/man2/vfork.2:234
18201 #, no-wrap
18202 msgid "History"
18203 msgstr ""
18204
18205 #. type: Plain text
18206 #: build/C/man3/tcgetpgrp.3:127
18207 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
18208 msgstr ""
18209
18210 #. type: Plain text
18211 #: build/C/man3/tcgetpgrp.3:131
18212 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
18213 msgstr ""
18214
18215 #. type: TH
18216 #: build/C/man2/truncate.2:43
18217 #, no-wrap
18218 msgid "TRUNCATE"
18219 msgstr ""
18220
18221 #. type: TH
18222 #: build/C/man2/truncate.2:43
18223 #, no-wrap
18224 msgid "2013-04-01"
18225 msgstr ""
18226
18227 #. type: Plain text
18228 #: build/C/man2/truncate.2:46
18229 msgid "truncate, ftruncate - truncate a file to a specified length"
18230 msgstr ""
18231
18232 #. type: Plain text
18233 #: build/C/man2/truncate.2:52
18234 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
18235 msgstr ""
18236
18237 #. type: Plain text
18238 #: build/C/man2/truncate.2:54
18239 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
18240 msgstr ""
18241
18242 #. type: Plain text
18243 #: build/C/man2/truncate.2:63
18244 msgid "B<truncate>():"
18245 msgstr ""
18246
18247 #. type: Plain text
18248 #: build/C/man2/truncate.2:71
18249 msgid "B<ftruncate>():"
18250 msgstr ""
18251
18252 #. type: Plain text
18253 #: build/C/man2/truncate.2:76
18254 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
18255 msgstr ""
18256
18257 #. type: Plain text
18258 #: build/C/man2/truncate.2:91
18259 msgid ""
18260 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
18261 "named by I<path> or referenced by I<fd> to be truncated to a size of "
18262 "precisely I<length> bytes."
18263 msgstr ""
18264
18265 #. type: Plain text
18266 #: build/C/man2/truncate.2:95
18267 msgid ""
18268 "If the file previously was larger than this size, the extra data is lost.  "
18269 "If the file previously was shorter, it is extended, and the extended part "
18270 "reads as null bytes (\\(aq\\e0\\(aq)."
18271 msgstr ""
18272
18273 #. type: Plain text
18274 #: build/C/man2/truncate.2:97
18275 msgid "The file offset is not changed."
18276 msgstr ""
18277
18278 #. type: Plain text
18279 #: build/C/man2/truncate.2:104
18280 msgid ""
18281 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
18282 "time of last status change and time of last modification; see B<stat>(2))  "
18283 "for the file are updated, and the set-user-ID and set-group-ID permission "
18284 "bits may be cleared."
18285 msgstr ""
18286
18287 #. type: Plain text
18288 #: build/C/man2/truncate.2:110
18289 msgid ""
18290 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
18291 "the file must be writable."
18292 msgstr ""
18293
18294 #. type: Plain text
18295 #: build/C/man2/truncate.2:118
18296 msgid "For B<truncate>():"
18297 msgstr ""
18298
18299 #. type: Plain text
18300 #: build/C/man2/truncate.2:124
18301 msgid ""
18302 "Search permission is denied for a component of the path prefix, or the named "
18303 "file is not writable by the user.  (See also B<path_resolution>(7).)"
18304 msgstr ""
18305
18306 #. type: Plain text
18307 #: build/C/man2/truncate.2:128
18308 msgid "I<Path> points outside the process's allocated address space."
18309 msgstr ""
18310
18311 #. type: TP
18312 #: build/C/man2/truncate.2:128
18313 #, no-wrap
18314 msgid "B<EFBIG>"
18315 msgstr ""
18316
18317 #. type: Plain text
18318 #: build/C/man2/truncate.2:133
18319 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
18320 msgstr ""
18321
18322 #. type: Plain text
18323 #: build/C/man2/truncate.2:140
18324 msgid ""
18325 "While blocked waiting to complete, the call was interrupted by a signal "
18326 "handler; see B<fcntl>(2)  and B<signal>(7)."
18327 msgstr ""
18328
18329 #. type: Plain text
18330 #: build/C/man2/truncate.2:145
18331 msgid "The argument I<length> is negative or larger than the maximum file size."
18332 msgstr ""
18333
18334 #. type: Plain text
18335 #: build/C/man2/truncate.2:148
18336 msgid "An I/O error occurred updating the inode."
18337 msgstr ""
18338
18339 #. type: Plain text
18340 #: build/C/man2/truncate.2:151
18341 msgid "The named file is a directory."
18342 msgstr ""
18343
18344 #. type: Plain text
18345 #: build/C/man2/truncate.2:154
18346 msgid "Too many symbolic links were encountered in translating the pathname."
18347 msgstr ""
18348
18349 #. type: Plain text
18350 #: build/C/man2/truncate.2:158
18351 msgid ""
18352 "A component of a pathname exceeded 255 characters, or an entire pathname "
18353 "exceeded 1023 characters."
18354 msgstr ""
18355
18356 #. type: Plain text
18357 #: build/C/man2/truncate.2:161
18358 msgid "The named file does not exist."
18359 msgstr ""
18360
18361 #.  This happens for at least MSDOS and VFAT filesystems
18362 #.  on kernel 2.6.13
18363 #. type: Plain text
18364 #: build/C/man2/truncate.2:170
18365 msgid ""
18366 "The underlying filesystem does not support extending a file beyond its "
18367 "current size."
18368 msgstr ""
18369
18370 #. type: Plain text
18371 #: build/C/man2/truncate.2:176
18372 msgid "The file is a pure procedure (shared text) file that is being executed."
18373 msgstr ""
18374
18375 #. type: Plain text
18376 #: build/C/man2/truncate.2:183
18377 msgid ""
18378 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
18379 "wrong with I<path>, we now have things that can be wrong with the file "
18380 "descriptor, I<fd>:"
18381 msgstr ""
18382
18383 #. type: Plain text
18384 #: build/C/man2/truncate.2:187
18385 msgid "I<fd> is not a valid descriptor."
18386 msgstr ""
18387
18388 #. type: TP
18389 #: build/C/man2/truncate.2:187
18390 #, no-wrap
18391 msgid "B<EBADF> or B<EINVAL>"
18392 msgstr ""
18393
18394 #. type: Plain text
18395 #: build/C/man2/truncate.2:191
18396 msgid "I<fd> is not open for writing."
18397 msgstr ""
18398
18399 #. type: Plain text
18400 #: build/C/man2/truncate.2:195
18401 msgid "I<fd> does not reference a regular file."
18402 msgstr ""
18403
18404 #.  POSIX.1-1996 has
18405 #.  .BR ftruncate ().
18406 #.  POSIX.1-2001 also has
18407 #.  .BR truncate (),
18408 #.  as an XSI extension.
18409 #.  .LP
18410 #.  SVr4 documents additional
18411 #.  .BR truncate ()
18412 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
18413 #.  .BR ftruncate ()
18414 #.  an additional EAGAIN error condition.
18415 #. type: Plain text
18416 #: build/C/man2/truncate.2:208
18417 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
18418 msgstr ""
18419
18420 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
18421 #. type: Plain text
18422 #: build/C/man2/truncate.2:229
18423 msgid ""
18424 "The details in DESCRIPTION are for XSI-compliant systems.  For "
18425 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
18426 "B<ftruncate>()  when I<length> exceeds the file length (note that "
18427 "B<truncate>()  is not specified at all in such an environment): either "
18428 "returning an error, or extending the file.  Like most UNIX implementations, "
18429 "Linux follows the XSI requirement when dealing with native filesystems.  "
18430 "However, some nonnative filesystems do not permit B<truncate>()  and "
18431 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
18432 "notable example on Linux is VFAT."
18433 msgstr ""
18434
18435 #. type: Plain text
18436 #: build/C/man2/truncate.2:243
18437 msgid ""
18438 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
18439 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
18440 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
18441 "files.  However, these details can be ignored by applications using glibc, "
18442 "whose wrapper functions transparently employ the more recent system calls "
18443 "where they are available."
18444 msgstr ""
18445
18446 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
18447 #. type: Plain text
18448 #: build/C/man2/truncate.2:256
18449 msgid ""
18450 "A header file bug in glibc 2.12 meant that the minimum value of "
18451 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
18452 "200809L instead of 200112L.  This has been fixed in later glibc versions."
18453 msgstr ""
18454
18455 #. type: Plain text
18456 #: build/C/man2/truncate.2:260
18457 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
18458 msgstr ""
18459
18460 #. type: TH
18461 #: build/C/man3/ualarm.3:24
18462 #, no-wrap
18463 msgid "UALARM"
18464 msgstr ""
18465
18466 #. type: TH
18467 #: build/C/man3/ualarm.3:24
18468 #, no-wrap
18469 msgid "2013-12-23"
18470 msgstr ""
18471
18472 #. type: Plain text
18473 #: build/C/man3/ualarm.3:27
18474 msgid "ualarm - schedule signal after given number of microseconds"
18475 msgstr ""
18476
18477 #. type: Plain text
18478 #: build/C/man3/ualarm.3:32
18479 #, no-wrap
18480 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
18481 msgstr ""
18482
18483 #. type: Plain text
18484 #: build/C/man3/ualarm.3:40
18485 msgid "B<ualarm>():"
18486 msgstr ""
18487
18488 #. type: Plain text
18489 #: build/C/man3/ualarm.3:69
18490 msgid ""
18491 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
18492 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
18493 "may be lengthened slightly by any system activity or by the time spent "
18494 "processing the call or by the granularity of system timers."
18495 msgstr ""
18496
18497 #. type: Plain text
18498 #: build/C/man3/ualarm.3:73
18499 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
18500 msgstr ""
18501
18502 #. type: Plain text
18503 #: build/C/man3/ualarm.3:81
18504 msgid ""
18505 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
18506 "sent every I<interval> microseconds after the first."
18507 msgstr ""
18508
18509 #. type: Plain text
18510 #: build/C/man3/ualarm.3:84
18511 msgid ""
18512 "This function returns the number of microseconds remaining for any alarm "
18513 "that was previously set, or 0 if no alarm was pending."
18514 msgstr ""
18515
18516 #. type: Plain text
18517 #: build/C/man3/ualarm.3:88
18518 msgid "Interrupted by a signal."
18519 msgstr ""
18520
18521 #. type: Plain text
18522 #: build/C/man3/ualarm.3:92
18523 msgid ""
18524 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
18525 "is considered an error.)"
18526 msgstr ""
18527
18528 #. type: Plain text
18529 #: build/C/man3/ualarm.3:97
18530 msgid "The B<ualarm>()  function is thread-safe."
18531 msgstr ""
18532
18533 #. type: Plain text
18534 #: build/C/man3/ualarm.3:105
18535 msgid ""
18536 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
18537 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
18538 "POSIX do not define any errors."
18539 msgstr ""
18540
18541 #.  This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
18542 #. type: Plain text
18543 #: build/C/man3/ualarm.3:112
18544 msgid ""
18545 "POSIX.1-2001 does not specify what happens if the I<usecs> argument is 0.  "
18546 "On Linux (and probably most other systems), the effect is to cancel any "
18547 "pending alarm."
18548 msgstr ""
18549
18550 #. type: Plain text
18551 #: build/C/man3/ualarm.3:125
18552 msgid ""
18553 "The type I<useconds_t> is an unsigned integer type capable of holding "
18554 "integers in the range [0,1000000].  On the original BSD implementation, and "
18555 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
18556 "typed as I<unsigned int>.  Programs will be more portable if they never "
18557 "mention I<useconds_t> explicitly."
18558 msgstr ""
18559
18560 #. type: Plain text
18561 #: build/C/man3/ualarm.3:139
18562 msgid ""
18563 "The interaction of this function with other timer functions such as "
18564 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
18565 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
18566 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
18567 msgstr ""
18568
18569 #. type: Plain text
18570 #: build/C/man3/ualarm.3:147
18571 msgid ""
18572 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
18573 "(B<timer_create>(2), etc.)  instead."
18574 msgstr ""
18575
18576 #. type: Plain text
18577 #: build/C/man3/ualarm.3:155
18578 msgid ""
18579 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
18580 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
18581 msgstr ""
18582
18583 #. type: TH
18584 #: build/C/man2/umask.2:34
18585 #, no-wrap
18586 msgid "UMASK"
18587 msgstr ""
18588
18589 #. type: TH
18590 #: build/C/man2/umask.2:34
18591 #, no-wrap
18592 msgid "2008-01-09"
18593 msgstr ""
18594
18595 #. type: Plain text
18596 #: build/C/man2/umask.2:37
18597 msgid "umask - set file mode creation mask"
18598 msgstr ""
18599
18600 #. type: Plain text
18601 #: build/C/man2/umask.2:43
18602 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
18603 msgstr ""
18604
18605 #. type: Plain text
18606 #: build/C/man2/umask.2:50
18607 msgid ""
18608 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
18609 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
18610 "and returns the previous value of the mask."
18611 msgstr ""
18612
18613 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
18614 #.  but NOT the System V IPC *get() calls
18615 #. type: Plain text
18616 #: build/C/man2/umask.2:65
18617 msgid ""
18618 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
18619 "create files to modify the permissions placed on newly created files or "
18620 "directories.  Specifically, permissions in the umask are turned off from the "
18621 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
18622 msgstr ""
18623
18624 #. type: Plain text
18625 #: build/C/man2/umask.2:70
18626 msgid ""
18627 "The constants that should be used to specify I<mask> are described under "
18628 "B<stat>(2)."
18629 msgstr ""
18630
18631 #. type: Plain text
18632 #: build/C/man2/umask.2:79
18633 msgid ""
18634 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
18635 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
18636 "specified as:"
18637 msgstr ""
18638
18639 #. type: Plain text
18640 #: build/C/man2/umask.2:82
18641 #, no-wrap
18642 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
18643 msgstr ""
18644
18645 #. type: Plain text
18646 #: build/C/man2/umask.2:86
18647 msgid ""
18648 "(octal 0666) when creating a new file, the permissions on the resulting file "
18649 "will be:"
18650 msgstr ""
18651
18652 #. type: Plain text
18653 #: build/C/man2/umask.2:89
18654 #, no-wrap
18655 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
18656 msgstr ""
18657
18658 #. type: Plain text
18659 #: build/C/man2/umask.2:92
18660 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
18661 msgstr ""
18662
18663 #. type: Plain text
18664 #: build/C/man2/umask.2:95
18665 msgid ""
18666 "This system call always succeeds and the previous value of the mask is "
18667 "returned."
18668 msgstr ""
18669
18670 #. type: Plain text
18671 #: build/C/man2/umask.2:103
18672 msgid ""
18673 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
18674 "umask is left unchanged by B<execve>(2)."
18675 msgstr ""
18676
18677 #. type: Plain text
18678 #: build/C/man2/umask.2:118
18679 msgid ""
18680 "The umask setting also affects the permissions assigned to POSIX IPC objects "
18681 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
18682 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
18683 "not affect the permissions assigned to System V IPC objects created by the "
18684 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
18685 msgstr ""
18686
18687 #. type: Plain text
18688 #: build/C/man2/umask.2:124
18689 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2), B<acl>(5)"
18690 msgstr ""
18691
18692 #. type: TH
18693 #: build/C/man2/uname.2:27
18694 #, no-wrap
18695 msgid "UNAME"
18696 msgstr ""
18697
18698 #. type: Plain text
18699 #: build/C/man2/uname.2:30
18700 msgid "uname - get name and information about current kernel"
18701 msgstr ""
18702
18703 #. type: Plain text
18704 #: build/C/man2/uname.2:32
18705 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
18706 msgstr ""
18707
18708 #. type: Plain text
18709 #: build/C/man2/uname.2:34
18710 msgid "B<int uname(struct utsname *>I<buf>B<);>"
18711 msgstr ""
18712
18713 #. type: Plain text
18714 #: build/C/man2/uname.2:42
18715 msgid ""
18716 "B<uname>()  returns system information in the structure pointed to by "
18717 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
18718 msgstr ""
18719
18720 #. type: Plain text
18721 #: build/C/man2/uname.2:56
18722 #, no-wrap
18723 msgid ""
18724 "struct utsname {\n"
18725 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
18726 "    char nodename[];   /* Name within \"some implementation-defined\n"
18727 "                          network\" */\n"
18728 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
18729 "    char version[];    /* Operating system version */\n"
18730 "    char machine[];    /* Hardware identifier */\n"
18731 "#ifdef _GNU_SOURCE\n"
18732 "    char domainname[]; /* NIS or YP domain name */\n"
18733 "#endif\n"
18734 "};\n"
18735 msgstr ""
18736
18737 #. type: Plain text
18738 #: build/C/man2/uname.2:63
18739 msgid ""
18740 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
18741 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
18742 msgstr ""
18743
18744 #. type: Plain text
18745 #: build/C/man2/uname.2:73
18746 msgid "I<buf> is not valid."
18747 msgstr ""
18748
18749 #. type: Plain text
18750 #: build/C/man2/uname.2:78
18751 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
18752 msgstr ""
18753
18754 #. type: Plain text
18755 #: build/C/man2/uname.2:82
18756 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
18757 msgstr ""
18758
18759 #. type: Plain text
18760 #: build/C/man2/uname.2:98
18761 msgid ""
18762 "This is a system call, and the operating system presumably knows its name, "
18763 "release and version.  It also knows what hardware it runs on.  So, four of "
18764 "the fields of the struct are meaningful.  On the other hand, the field "
18765 "I<nodename> is meaningless: it gives the name of the present machine in some "
18766 "undefined network, but typically machines are in more than one network and "
18767 "have several names.  Moreover, the kernel has no way of knowing about such "
18768 "things, so it has to be told what to answer here.  The same holds for the "
18769 "additional I<domainname> field."
18770 msgstr ""
18771
18772 #. type: Plain text
18773 #: build/C/man2/uname.2:116
18774 msgid ""
18775 "To this end Linux uses the system calls B<sethostname>(2)  and "
18776 "B<setdomainname>(2).  Note that there is no standard that says that the "
18777 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
18778 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
18779 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
18780 "same holds for B<setdomainname>(2)  and the I<domainname> field."
18781 msgstr ""
18782
18783 #. type: Plain text
18784 #: build/C/man2/uname.2:131
18785 msgid ""
18786 "The length of the fields in the struct varies.  Some operating systems or "
18787 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
18788 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
18789 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
18790 "257 is chosen in order to have room for an internet hostname."
18791 msgstr ""
18792
18793 #. type: Plain text
18794 #: build/C/man2/uname.2:138
18795 msgid ""
18796 "Part of the utsname information is also accessible via "
18797 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
18798 "I<domainname>}."
18799 msgstr ""
18800
18801 #. type: SS
18802 #: build/C/man2/uname.2:138
18803 #, no-wrap
18804 msgid "Underlying kernel interface"
18805 msgstr ""
18806
18807 #.  That was back before Linux 1.0
18808 #.  That was also back before Linux 1.0
18809 #. type: Plain text
18810 #: build/C/man2/uname.2:167
18811 msgid ""
18812 "Over time, increases in the size of the I<utsname> structure have led to "
18813 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
18814 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
18815 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
18816 "all fields; the second used 65; the third also uses 65 but adds the "
18817 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
18818 "details from applications, invoking the most recent version of the system "
18819 "call provided by the kernel."
18820 msgstr ""
18821
18822 #. type: Plain text
18823 #: build/C/man2/uname.2:171
18824 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
18825 msgstr ""
18826
18827 #. type: TH
18828 #: build/C/man2/uselib.2:31
18829 #, no-wrap
18830 msgid "USELIB"
18831 msgstr ""
18832
18833 #. type: TH
18834 #: build/C/man2/uselib.2:31
18835 #, no-wrap
18836 msgid "2005-01-09"
18837 msgstr ""
18838
18839 #. type: Plain text
18840 #: build/C/man2/uselib.2:34
18841 msgid "uselib - load shared library"
18842 msgstr ""
18843
18844 #. type: Plain text
18845 #: build/C/man2/uselib.2:38
18846 msgid "B<int uselib(const char *>I<library>B<);>"
18847 msgstr ""
18848
18849 #. type: Plain text
18850 #: build/C/man2/uselib.2:48
18851 msgid ""
18852 "The system call B<uselib>()  serves to load a shared library to be used by "
18853 "the calling process.  It is given a pathname.  The address where to load is "
18854 "found in the library itself.  The library can have any recognized binary "
18855 "format."
18856 msgstr ""
18857
18858 #. type: Plain text
18859 #: build/C/man2/uselib.2:59
18860 msgid ""
18861 "In addition to all of the error codes returned by B<open>(2)  and "
18862 "B<mmap>(2), the following may also be returned:"
18863 msgstr ""
18864
18865 #. type: Plain text
18866 #: build/C/man2/uselib.2:67
18867 msgid ""
18868 "The library specified by I<library> does not have read or execute "
18869 "permission, or the caller does not have search permission for one of the "
18870 "directories in the path prefix.  (See also B<path_resolution>(7).)"
18871 msgstr ""
18872
18873 #. type: Plain text
18874 #: build/C/man2/uselib.2:76
18875 msgid ""
18876 "The file specified by I<library> is not an executable of a known type; for "
18877 "example, it does not have the correct magic numbers."
18878 msgstr ""
18879
18880 #. type: Plain text
18881 #: build/C/man2/uselib.2:80
18882 msgid ""
18883 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
18884 "to be portable."
18885 msgstr ""
18886
18887 #. type: Plain text
18888 #: build/C/man2/uselib.2:85
18889 msgid ""
18890 "B<uselib>()  was used by early libc startup code to load the shared "
18891 "libraries with names found in an array of names in the binary."
18892 msgstr ""
18893
18894 #.  libc 4.3.1f - changelog 1993-03-02
18895 #.  libc 4.3.4 - changelog 1993-04-21
18896 #. type: Plain text
18897 #: build/C/man2/uselib.2:95
18898 msgid ""
18899 "Since libc 4.3.2, startup code tries to prefix these names with "
18900 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
18901 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
18902 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
18903 msgstr ""
18904
18905 #. type: Plain text
18906 #: build/C/man2/uselib.2:100
18907 msgid ""
18908 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
18909 "dynamic library can load the remaining libraries needed (again using this "
18910 "call).  This is also the state of affairs in libc5."
18911 msgstr ""
18912
18913 #. type: Plain text
18914 #: build/C/man2/uselib.2:102
18915 msgid "glibc2 does not use this call."
18916 msgstr ""
18917
18918 #. type: Plain text
18919 #: build/C/man2/uselib.2:112
18920 msgid ""
18921 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
18922 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
18923 msgstr ""
18924
18925 #. type: TH
18926 #: build/C/man3/usleep.3:33
18927 #, no-wrap
18928 msgid "USLEEP"
18929 msgstr ""
18930
18931 #. type: TH
18932 #: build/C/man3/usleep.3:33
18933 #, no-wrap
18934 msgid "2013-12-10"
18935 msgstr ""
18936
18937 #. type: Plain text
18938 #: build/C/man3/usleep.3:36
18939 msgid "usleep - suspend execution for microsecond intervals"
18940 msgstr ""
18941
18942 #. type: Plain text
18943 #: build/C/man3/usleep.3:41
18944 #, no-wrap
18945 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
18946 msgstr ""
18947
18948 #. type: Plain text
18949 #: build/C/man3/usleep.3:49
18950 msgid "B<usleep>():"
18951 msgstr ""
18952
18953 #. type: Plain text
18954 #: build/C/man3/usleep.3:75
18955 msgid ""
18956 "The B<usleep>()  function suspends execution of the calling thread for (at "
18957 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
18958 "system activity or by the time spent processing the call or by the "
18959 "granularity of system timers."
18960 msgstr ""
18961
18962 #. type: Plain text
18963 #: build/C/man3/usleep.3:82
18964 msgid ""
18965 "The B<usleep>()  function returns 0 on success.  On error, -1 is returned, "
18966 "with I<errno> set to indicate the cause of the error."
18967 msgstr ""
18968
18969 #. type: Plain text
18970 #: build/C/man3/usleep.3:87
18971 msgid "Interrupted by a signal; see B<signal>(7)."
18972 msgstr ""
18973
18974 #. type: Plain text
18975 #: build/C/man3/usleep.3:91
18976 msgid ""
18977 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
18978 "an error.)"
18979 msgstr ""
18980
18981 #. type: Plain text
18982 #: build/C/man3/usleep.3:96
18983 msgid "The B<usleep>()  function is thread-safe."
18984 msgstr ""
18985
18986 #. type: Plain text
18987 #: build/C/man3/usleep.3:103
18988 msgid ""
18989 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
18990 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
18991 "B<usleep>()."
18992 msgstr ""
18993
18994 #. type: Plain text
18995 #: build/C/man3/usleep.3:110
18996 msgid ""
18997 "On the original BSD implementation, and in glibc before version 2.2.2, the "
18998 "return type of this function is I<void>.  The POSIX version returns I<int>, "
18999 "and this is also the prototype used since glibc 2.2.2."
19000 msgstr ""
19001
19002 #. type: Plain text
19003 #: build/C/man3/usleep.3:114
19004 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
19005 msgstr ""
19006
19007 #. type: Plain text
19008 #: build/C/man3/usleep.3:122
19009 msgid ""
19010 "The type I<useconds_t> is an unsigned integer type capable of holding "
19011 "integers in the range [0,1000000].  Programs will be more portable if they "
19012 "never mention this type explicitly.  Use"
19013 msgstr ""
19014
19015 #. type: Plain text
19016 #: build/C/man3/usleep.3:130
19017 #, no-wrap
19018 msgid ""
19019 "#include E<lt>unistd.hE<gt>\n"
19020 "\\&...\n"
19021 "    unsigned int usecs;\n"
19022 "\\&...\n"
19023 "    usleep(usecs);\n"
19024 msgstr ""
19025
19026 #. type: Plain text
19027 #: build/C/man3/usleep.3:147
19028 msgid ""
19029 "The interaction of this function with the B<SIGALRM> signal, and with other "
19030 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
19031 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
19032 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
19033 "B<ualarm>(3)  is unspecified."
19034 msgstr ""
19035
19036 #. type: Plain text
19037 #: build/C/man3/usleep.3:156
19038 msgid ""
19039 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
19040 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
19041 msgstr ""
19042
19043 #. type: TH
19044 #: build/C/man2/vfork.2:28
19045 #, no-wrap
19046 msgid "VFORK"
19047 msgstr ""
19048
19049 #. type: TH
19050 #: build/C/man2/vfork.2:28
19051 #, no-wrap
19052 msgid "2012-08-05"
19053 msgstr ""
19054
19055 #. type: Plain text
19056 #: build/C/man2/vfork.2:31
19057 msgid "vfork - create a child process and block parent"
19058 msgstr ""
19059
19060 #. type: Plain text
19061 #: build/C/man2/vfork.2:37
19062 msgid "B<pid_t vfork(void);>"
19063 msgstr ""
19064
19065 #. type: Plain text
19066 #: build/C/man2/vfork.2:44
19067 msgid "B<vfork>():"
19068 msgstr ""
19069
19070 #. type: SS
19071 #: build/C/man2/vfork.2:63
19072 #, no-wrap
19073 msgid "Standard description"
19074 msgstr ""
19075
19076 #. type: Plain text
19077 #: build/C/man2/vfork.2:82
19078 msgid ""
19079 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
19080 "except that the behavior is undefined if the process created by B<vfork>()  "
19081 "either modifies any data other than a variable of type I<pid_t> used to "
19082 "store the return value from B<vfork>(), or returns from the function in "
19083 "which B<vfork>()  was called, or calls any other function before "
19084 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
19085 "functions."
19086 msgstr ""
19087
19088 #. type: SS
19089 #: build/C/man2/vfork.2:82
19090 #, no-wrap
19091 msgid "Linux description"
19092 msgstr ""
19093
19094 #. type: Plain text
19095 #: build/C/man2/vfork.2:89
19096 msgid ""
19097 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
19098 "process.  For details and return value and errors, see B<fork>(2)."
19099 msgstr ""
19100
19101 #. type: Plain text
19102 #: build/C/man2/vfork.2:98
19103 msgid ""
19104 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
19105 "processes without copying the page tables of the parent process.  It may be "
19106 "useful in performance-sensitive applications where a child is created which "
19107 "then immediately issues an B<execve>(2)."
19108 msgstr ""
19109
19110 #. type: Plain text
19111 #: build/C/man2/vfork.2:115
19112 msgid ""
19113 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
19114 "until the child terminates (either normally, by calling B<_exit>(2), or "
19115 "abnormally, after delivery of a fatal signal), or it makes a call to "
19116 "B<execve>(2).  Until that point, the child shares all memory with its "
19117 "parent, including the stack.  The child must not return from the current "
19118 "function or call B<exit>(3), but may call B<_exit>(2)."
19119 msgstr ""
19120
19121 #. type: Plain text
19122 #: build/C/man2/vfork.2:126
19123 msgid ""
19124 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
19125 "of various of the caller's process attributes (e.g., file descriptors, "
19126 "signal dispositions, and current working directory); the B<vfork>()  call "
19127 "differs only in the treatment of the virtual address space, as described "
19128 "above."
19129 msgstr ""
19130
19131 #. type: Plain text
19132 #: build/C/man2/vfork.2:132
19133 msgid ""
19134 "Signals sent to the parent arrive after the child releases the parent's "
19135 "memory (i.e., after the child terminates or calls B<execve>(2))."
19136 msgstr ""
19137
19138 #. type: SS
19139 #: build/C/man2/vfork.2:132
19140 #, no-wrap
19141 msgid "Historic description"
19142 msgstr ""
19143
19144 #. type: Plain text
19145 #: build/C/man2/vfork.2:159
19146 msgid ""
19147 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
19148 "only penalty incurred by B<fork>(2)  is the time and memory required to "
19149 "duplicate the parent's page tables, and to create a unique task structure "
19150 "for the child.  However, in the bad old days a B<fork>(2)  would require "
19151 "making a complete copy of the caller's data space, often needlessly, since "
19152 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
19153 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
19154 "copy the address space of the parent process, but borrowed the parent's "
19155 "memory and thread of control until a call to B<execve>(2)  or an exit "
19156 "occurred.  The parent process was suspended while the child was using its "
19157 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
19158 "data in the parent process depended on knowing which variables were held in "
19159 "a register."
19160 msgstr ""
19161
19162 #. type: Plain text
19163 #: build/C/man2/vfork.2:163
19164 msgid ""
19165 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
19166 "specification of B<vfork>()."
19167 msgstr ""
19168
19169 #.  In AIXv3.1 vfork is equivalent to fork.
19170 #. type: Plain text
19171 #: build/C/man2/vfork.2:174
19172 msgid ""
19173 "The requirements put on B<vfork>()  by the standards are weaker than those "
19174 "put on B<fork>(2), so an implementation where the two are synonymous is "
19175 "compliant.  In particular, the programmer cannot rely on the parent "
19176 "remaining blocked until the child either terminates or calls B<execve>(2), "
19177 "and cannot rely on any specific behavior with respect to shared memory."
19178 msgstr ""
19179
19180 #. type: Plain text
19181 #: build/C/man2/vfork.2:193
19182 msgid ""
19183 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
19184 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
19185 "proper system sharing mechanisms are implemented.  Users should not depend "
19186 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
19187 "made synonymous to B<fork>(2).\" However, even though modern memory "
19188 "management hardware has decreased the performance difference between "
19189 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
19190 "systems have retained B<vfork>():"
19191 msgstr ""
19192
19193 #. type: Plain text
19194 #: build/C/man2/vfork.2:197
19195 msgid ""
19196 "Some performance-critical applications require the small performance "
19197 "advantage conferred by B<vfork>()."
19198 msgstr ""
19199
19200 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
19201 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
19202 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
19203 #. type: Plain text
19204 #: build/C/man2/vfork.2:213
19205 msgid ""
19206 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
19207 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
19208 "removed B<vfork>()  from the standard; the POSIX rationale for the "
19209 "B<posix_spawn>(3)  function notes that that function, which provides "
19210 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
19211 "implementable on systems that lack an MMU.)"
19212 msgstr ""
19213
19214 #. type: Plain text
19215 #: build/C/man2/vfork.2:224
19216 msgid ""
19217 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
19218 "multithreaded program employing the NPTL threading library calls "
19219 "B<vfork>().  Fork handlers are called in this case in a program using the "
19220 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
19221 "Linux threading libraries.)"
19222 msgstr ""
19223
19224 #. type: Plain text
19225 #: build/C/man2/vfork.2:232
19226 msgid ""
19227 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
19228 "specified as:"
19229 msgstr ""
19230
19231 #. type: Plain text
19232 #: build/C/man2/vfork.2:234
19233 #, no-wrap
19234 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
19235 msgstr ""
19236
19237 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
19238 #.  present, but definitely on its way out'.
19239 #. type: Plain text
19240 #: build/C/man2/vfork.2:252
19241 msgid ""
19242 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
19243 "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
19244 "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In "
19245 "Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since "
19246 "2.2.0-pre9 (on i386, somewhat later on other architectures) it is an "
19247 "independent system call.  Support was added in glibc 2.0.112."
19248 msgstr ""
19249
19250 #
19251 #.  As far as I can tell, the following is not true in 2.6.19:
19252 #.  Currently (Linux 2.3.25),
19253 #.  .BR strace (1)
19254 #.  cannot follow
19255 #.  .BR vfork ()
19256 #.  and requires a kernel patch.
19257 #. type: Plain text
19258 #: build/C/man2/vfork.2:273
19259 msgid ""
19260 "Details of the signal handling are obscure and differ between systems.  The "
19261 "BSD man page states: \"To avoid a possible deadlock situation, processes "
19262 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
19263 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
19264 "attempts result in an end-of-file indication.\""
19265 msgstr ""
19266
19267 #. type: Plain text
19268 #: build/C/man2/vfork.2:279
19269 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
19270 msgstr ""
19271
19272 #. type: TH
19273 #: build/C/man2/vhangup.2:28
19274 #, no-wrap
19275 msgid "VHANGUP"
19276 msgstr ""
19277
19278 #. type: Plain text
19279 #: build/C/man2/vhangup.2:31
19280 msgid "vhangup - virtually hangup the current terminal"
19281 msgstr ""
19282
19283 #. type: Plain text
19284 #: build/C/man2/vhangup.2:35
19285 msgid "B<int vhangup(void);>"
19286 msgstr ""
19287
19288 #. type: Plain text
19289 #: build/C/man2/vhangup.2:44
19290 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
19291 msgstr ""
19292
19293 #. type: Plain text
19294 #: build/C/man2/vhangup.2:50
19295 msgid ""
19296 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
19297 "arranges for other users to have a ``clean'' terminal at login time."
19298 msgstr ""
19299
19300 #. type: Plain text
19301 #: build/C/man2/vhangup.2:63
19302 msgid ""
19303 "The calling process has insufficient privilege to call B<vhangup>(); the "
19304 "B<CAP_SYS_TTY_CONFIG> capability is required."
19305 msgstr ""
19306
19307 #. type: Plain text
19308 #: build/C/man2/vhangup.2:66
19309 msgid ""
19310 "This call is Linux-specific, and should not be used in programs intended to "
19311 "be portable."
19312 msgstr ""
19313
19314 #. type: Plain text
19315 #: build/C/man2/vhangup.2:69
19316 msgid "B<capabilities>(7), B<init>(8)"
19317 msgstr ""