OSDN Git Service

7c22a3287efbaaf01074956c4cf3d86b7fff8d00
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / unistd.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-03-22 01:07+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man2/_syscall.2:38
21 #, no-wrap
22 msgid "_SYSCALL"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/_syscall.2:38
27 #, no-wrap
28 msgid "2007-12-19"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man2/dup.2:36 build/C/man7/environ.7:34 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:8 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:43 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:29 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man3/confstr.3:31 build/C/man3/crypt.3:36 build/C/man3/daemon.3:36 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:36 build/C/man3/encrypt.3:30 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:25 build/C/man3/exec.3:41 build/C/man2/execve.2:37 build/C/man2/exit_group.2:25 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:35 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:41 build/C/man2/fsync.2:38 build/C/man3/get_nprocs_conf.3:26 build/C/man2/get_thread_area.2:8 build/C/man3/getcwd.3:32 build/C/man2/getdomainname.2:29 build/C/man3/getdtablesize.3:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:41 build/C/man2/getpagesize.2:25 build/C/man2/gettid.2:26 build/C/man3/getumask.3:28 build/C/man3/getusershell.3:30 build/C/man2/idle.2:32 build/C/man2/ioctl.2:41 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:34 build/C/man3/lockf.3:28 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:10 build/C/man2/nice.2:31 build/C/man2/pread.2:25 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:34 build/C/man5/shells.5:28 build/C/man3/sleep.3:26 build/C/man3/swab.3:31 build/C/man2/swapon.2:37 build/C/man2/syscall.2:40 build/C/man2/syscalls.2:31 build/C/man3/sysconf.3:27 build/C/man2/sysctl.2:30 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:25 build/C/man2/truncate.2:43 build/C/man3/ualarm.3:24 build/C/man2/umask.2:34 build/C/man2/uname.2:27 build/C/man2/uselib.2:31 build/C/man3/usleep.3:33 build/C/man2/vfork.2:28 build/C/man2/vhangup.2:28
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31 build/C/man2/brk.2:30 build/C/man2/chdir.2:34 build/C/man2/chmod.2:32 build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36 build/C/man3/confstr.3:32 build/C/man3/crypt.3:37 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:15 build/C/man2/dup.2:37 build/C/man3/encrypt.3:31 build/C/man7/environ.7:35 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:42 build/C/man2/execve.2:38 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:36 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:42 build/C/man2/fsync.2:39 build/C/man3/get_nprocs_conf.3:27 build/C/man2/get_thread_area.2:9 build/C/man3/getcwd.3:33 build/C/man2/getdomainname.2:30 build/C/man3/getdtablesize.3:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:42 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:27 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:33 build/C/man2/ioctl.2:42 build/C/man2/ioctl_list.2:31 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:29 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:11 build/C/man2/nice.2:32 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:9 build/C/man2/setup.2:35 build/C/man5/shells.5:29 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:38 build/C/man2/syscall.2:41 build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28 build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:15 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:25 build/C/man2/umask.2:35 build/C/man2/uname.2:28 build/C/man2/uselib.2:32 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:29
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/_syscall.2:41
51 msgid "_syscall - invoking a system call without library support (OBSOLETE)"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33 build/C/man2/brk.2:32 build/C/man2/chdir.2:36 build/C/man2/chmod.2:34 build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38 build/C/man3/confstr.3:34 build/C/man3/crypt.3:39 build/C/man3/daemon.3:39 build/C/man3/des_crypt.3:18 build/C/man2/dup.2:39 build/C/man3/encrypt.3:33 build/C/man7/environ.7:37 build/C/man3/euidaccess.3:28 build/C/man3/exec.3:44 build/C/man2/execve.2:40 build/C/man2/exit_group.2:28 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:38 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:44 build/C/man2/fsync.2:41 build/C/man3/get_nprocs_conf.3:29 build/C/man2/get_thread_area.2:11 build/C/man3/getcwd.3:35 build/C/man2/getdomainname.2:32 build/C/man3/getdtablesize.3:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:45 build/C/man2/getpagesize.2:28 build/C/man2/gettid.2:29 build/C/man3/getumask.3:31 build/C/man3/getusershell.3:33 build/C/man2/idle.2:35 build/C/man2/ioctl.2:44 build/C/man2/ioperm.2:37 build/C/man3/lockf.3:31 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:13 build/C/man2/nice.2:34 build/C/man2/pread.2:28 build/C/man2/set_thread_area.2:11 build/C/man2/setup.2:37 build/C/man3/sleep.3:29 build/C/man3/swab.3:34 build/C/man2/swapon.2:40 build/C/man2/syscall.2:43 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:30 build/C/man2/sysctl.2:33 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man3/ualarm.3:27 build/C/man2/umask.2:37 build/C/man2/uname.2:30 build/C/man2/uselib.2:34 build/C/man3/usleep.3:36 build/C/man2/vfork.2:31 build/C/man2/vhangup.2:31
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/_syscall.2:43 build/C/man2/get_thread_area.2:13 build/C/man2/set_thread_area.2:13
62 msgid "B<#include E<lt>linux/unistd.hE<gt>>"
63 msgstr ""
64
65 #. type: Plain text
66 #: build/C/man2/_syscall.2:45
67 msgid "A _syscall macro"
68 msgstr ""
69
70 #. type: Plain text
71 #: build/C/man2/_syscall.2:47
72 msgid "desired system call"
73 msgstr ""
74
75 #. type: SH
76 #: build/C/man2/_syscall.2:47 build/C/man2/access.2:52 build/C/man2/alarm.2:39 build/C/man2/brk.2:64 build/C/man2/chdir.2:59 build/C/man2/chmod.2:58 build/C/man2/chown.2:67 build/C/man2/chroot.2:63 build/C/man2/close.2:44 build/C/man3/confstr.3:48 build/C/man3/crypt.3:56 build/C/man3/daemon.3:51 build/C/man3/des_crypt.3:34 build/C/man2/dup.2:52 build/C/man3/encrypt.3:56 build/C/man7/environ.7:42 build/C/man3/euidaccess.3:36 build/C/man3/exec.3:72 build/C/man2/execve.2:46 build/C/man2/exit_group.2:34 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:42 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:52 build/C/man2/fsync.2:61 build/C/man3/get_nprocs_conf.3:35 build/C/man2/get_thread_area.2:20 build/C/man3/getcwd.3:75 build/C/man2/getdomainname.2:51 build/C/man3/getdtablesize.3:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:79 build/C/man2/getpagesize.2:55 build/C/man2/gettid.2:38 build/C/man3/getumask.3:39 build/C/man3/getusershell.3:57 build/C/man2/idle.2:39 build/C/man2/ioctl.2:48 build/C/man2/ioctl_list.2:33 build/C/man2/ioperm.2:45 build/C/man3/lockf.3:48 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:21 build/C/man2/nice.2:46 build/C/man2/pread.2:53 build/C/man2/set_thread_area.2:20 build/C/man2/setup.2:41 build/C/man5/shells.5:31 build/C/man3/sleep.3:35 build/C/man3/swab.3:41 build/C/man2/swapon.2:50 build/C/man2/syscall.2:51 build/C/man2/syscalls.2:36 build/C/man3/sysconf.3:36 build/C/man2/sysctl.2:44 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:34 build/C/man2/truncate.2:79 build/C/man3/ualarm.3:58 build/C/man2/umask.2:43 build/C/man2/uname.2:34 build/C/man2/uselib.2:38 build/C/man3/usleep.3:67 build/C/man2/vfork.2:62 build/C/man2/vhangup.2:45
77 #, no-wrap
78 msgid "DESCRIPTION"
79 msgstr ""
80
81 #. type: Plain text
82 #: build/C/man2/_syscall.2:53
83 msgid ""
84 "The important thing to know about a system call is its prototype.  You need "
85 "to know how many arguments, their types, and the function return type.  "
86 "There are seven macros that make the actual call into the system easier.  "
87 "They have the form:"
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man2/_syscall.2:56
92 msgid "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
93 msgstr ""
94
95 #. type: Plain text
96 #: build/C/man2/_syscall.2:59
97 msgid "where"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man2/_syscall.2:62
102 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
103 msgstr ""
104
105 #. type: Plain text
106 #: build/C/man2/_syscall.2:64
107 msgid "I<type> is the return type of the system call"
108 msgstr ""
109
110 #. type: Plain text
111 #: build/C/man2/_syscall.2:66
112 msgid "I<name> is the name of the system call"
113 msgstr ""
114
115 #. type: Plain text
116 #: build/C/man2/_syscall.2:68
117 msgid "I<typeN> is the Nth argument's type"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man2/_syscall.2:70
122 msgid "I<argN> is the name of the Nth argument"
123 msgstr ""
124
125 #. type: Plain text
126 #: build/C/man2/_syscall.2:75
127 msgid ""
128 "These macros create a function called I<name> with the arguments you "
129 "specify.  Once you include the _syscall() in your source file, you call the "
130 "system call by I<name>."
131 msgstr ""
132
133 #. type: SH
134 #: build/C/man2/_syscall.2:75 build/C/man3/getlogin.3:130 build/C/man3/getusershell.3:81 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:77
141 msgid "I</usr/include/linux/unistd.h>"
142 msgstr ""
143
144 #. type: SH
145 #: build/C/man2/_syscall.2:77 build/C/man2/access.2:148 build/C/man2/alarm.2:61 build/C/man2/brk.2:114 build/C/man2/chdir.2:125 build/C/man2/chmod.2:219 build/C/man2/chown.2:181 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:127 build/C/man3/crypt.3:163 build/C/man3/daemon.3:90 build/C/man3/des_crypt.3:134 build/C/man2/dup.2:170 build/C/man3/encrypt.3:124 build/C/man3/euidaccess.3:73 build/C/man3/exec.3:199 build/C/man2/execve.2:450 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1146 build/C/man3/fexecve.3:94 build/C/man2/flock.2:138 build/C/man2/fork.2:206 build/C/man3/fpathconf.3:169 build/C/man2/fsync.2:125 build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:46 build/C/man3/getcwd.3:208 build/C/man2/getdomainname.2:110 build/C/man3/getdtablesize.3:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:138 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:85 build/C/man2/idle.2:61 build/C/man2/ioctl.2:117 build/C/man2/ioperm.2:104 build/C/man3/lockf.3:154 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:118 build/C/man2/nice.2:75 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:62 build/C/man3/sleep.3:44 build/C/man3/swab.3:58 build/C/man2/swapon.2:151 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:100 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:106 build/C/man2/truncate.2:195 build/C/man3/ualarm.3:92 build/C/man2/umask.2:93 build/C/man2/uname.2:73 build/C/man2/uselib.2:76 build/C/man3/usleep.3:86 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:79
152 msgid "The use of these macros is Linux-specific, and deprecated."
153 msgstr ""
154
155 #. type: SH
156 #: build/C/man2/_syscall.2:79 build/C/man2/access.2:150 build/C/man2/alarm.2:63 build/C/man2/brk.2:122 build/C/man2/chdir.2:127 build/C/man2/chown.2:192 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:168 build/C/man3/daemon.3:96 build/C/man2/dup.2:180 build/C/man3/encrypt.3:135 build/C/man3/euidaccess.3:79 build/C/man3/exec.3:205 build/C/man2/execve.2:458 build/C/man2/exit_group.2:45 build/C/man2/fcntl.2:1196 build/C/man3/fexecve.3:98 build/C/man2/flock.2:147 build/C/man2/fork.2:208 build/C/man3/fpathconf.3:171 build/C/man2/fsync.2:140 build/C/man3/get_nprocs_conf.3:50 build/C/man2/get_thread_area.2:50 build/C/man3/getcwd.3:230 build/C/man2/getdomainname.2:113 build/C/man3/getdtablesize.3:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:350 build/C/man2/getpagesize.2:71 build/C/man2/gettid.2:62 build/C/man3/getumask.3:60 build/C/man2/ioctl.2:132 build/C/man2/ioperm.2:108 build/C/man2/mkdir.2:121 build/C/man2/nice.2:82 build/C/man2/pread.2:117 build/C/man2/set_thread_area.2:67 build/C/man2/setup.2:65 build/C/man2/swapon.2:157 build/C/man2/syscall.2:78 build/C/man2/syscalls.2:640 build/C/man2/sysctl.2:114 build/C/man3/tcgetpgrp.3:108 build/C/man2/truncate.2:208 build/C/man3/ualarm.3:100 build/C/man2/umask.2:95 build/C/man2/uname.2:82 build/C/man2/uselib.2:80 build/C/man3/usleep.3:104 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:89
163 msgid ""
164 "Starting around kernel 2.6.18, the _syscall macros were removed from header "
165 "files supplied to user space.  Use B<syscall>(2)  instead.  (Some "
166 "architectures, notably ia64, never provided the _syscall macros; on those "
167 "architectures, B<syscall>(2)  was always required.)"
168 msgstr ""
169
170 #. type: Plain text
171 #: build/C/man2/_syscall.2:93
172 msgid ""
173 "The _syscall() macros I<do not> produce a prototype.  You may have to create "
174 "one, especially for C++ users."
175 msgstr ""
176
177 #. type: Plain text
178 #: build/C/man2/_syscall.2:105
179 msgid ""
180 "System calls are not required to return only positive or negative error "
181 "codes.  You need to read the source to be sure how it will return errors.  "
182 "Usually, it is the negative of a standard error code, for example, "
183 "-B<EPERM>.  The _syscall() macros will return the result I<r> of the system "
184 "call when I<r> is nonnegative, but will return -1 and set the variable "
185 "I<errno> to -I<r> when I<r> is negative.  For the error codes, see "
186 "B<errno>(3)."
187 msgstr ""
188
189 #.  The preferred way to invoke system calls that glibc does not know
190 #.  about yet is via
191 #.  .BR syscall (2).
192 #.  However, this mechanism can only be used if using a libc
193 #.  (such as glibc) that supports
194 #.  .BR syscall (2),
195 #.  and if the
196 #.  .I <sys/syscall.h>
197 #.  header file contains the required SYS_foo definition.
198 #.  Otherwise, the use of a _syscall macro is required.
199 #. type: Plain text
200 #: build/C/man2/_syscall.2:119
201 msgid ""
202 "When defining a system call, the argument types I<must> be passed by-value "
203 "or by-pointer (for aggregates like structs)."
204 msgstr ""
205
206 #. type: SH
207 #: build/C/man2/_syscall.2:119 build/C/man2/chown.2:288 build/C/man3/confstr.3:129 build/C/man3/encrypt.3:137 build/C/man2/execve.2:542 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:82 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:126
214 #, no-wrap
215 msgid ""
216 "#include E<lt>stdio.hE<gt>\n"
217 "#include E<lt>stdlib.hE<gt>\n"
218 "#include E<lt>errno.hE<gt>\n"
219 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related "
220 "stuff */\n"
221 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man2/_syscall.2:128
226 #, no-wrap
227 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
228 msgstr ""
229
230 #. type: Plain text
231 #: build/C/man2/_syscall.2:131
232 #, no-wrap
233 msgid ""
234 "/* Note: if you copy directly from the nroff source, remember to\n"
235 "REMOVE the extra backslashes in the printf statement. */\n"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man2/_syscall.2:137
240 #, no-wrap
241 msgid ""
242 "int\n"
243 "main(void)\n"
244 "{\n"
245 "    struct sysinfo s_info;\n"
246 "    int error;\n"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/_syscall.2:152
251 #, no-wrap
252 msgid ""
253 "    error = sysinfo(&s_info);\n"
254 "    printf(\"code error = %d\\en\", error);\n"
255 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min "
256 "%lu\\en\"\n"
257 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
258 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
259 "           \"Number of processes = %d\\en\",\n"
260 "           s_info.uptime, s_info.loads[0],\n"
261 "           s_info.loads[1], s_info.loads[2],\n"
262 "           s_info.totalram, s_info.freeram,\n"
263 "           s_info.sharedram, s_info.bufferram,\n"
264 "           s_info.totalswap, s_info.freeswap,\n"
265 "           s_info.procs);\n"
266 "    exit(EXIT_SUCCESS);\n"
267 "}\n"
268 msgstr ""
269
270 #. type: SS
271 #: build/C/man2/_syscall.2:153
272 #, no-wrap
273 msgid "Sample output"
274 msgstr ""
275
276 #. type: Plain text
277 #: build/C/man2/_syscall.2:162
278 #, no-wrap
279 msgid ""
280 "code error = 0\n"
281 "uptime = 502034s\n"
282 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
283 "RAM: total 15343616 / free 827392 / shared 8237056\n"
284 "Memory in buffers = 5066752\n"
285 "Swap: total 27881472 / free 24698880\n"
286 "Number of processes = 40\n"
287 msgstr ""
288
289 #. type: SH
290 #: build/C/man2/_syscall.2:163 build/C/man2/access.2:242 build/C/man2/alarm.2:81 build/C/man2/brk.2:164 build/C/man2/chdir.2:136 build/C/man2/chmod.2:221 build/C/man2/chown.2:336 build/C/man2/chroot.2:151 build/C/man2/close.2:125 build/C/man3/confstr.3:146 build/C/man3/crypt.3:229 build/C/man3/daemon.3:104 build/C/man3/des_crypt.3:137 build/C/man2/dup.2:207 build/C/man3/encrypt.3:161 build/C/man7/environ.7:227 build/C/man3/euidaccess.3:94 build/C/man3/exec.3:241 build/C/man2/execve.2:637 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1297 build/C/man3/fexecve.3:106 build/C/man2/flock.2:201 build/C/man2/fork.2:244 build/C/man3/fpathconf.3:180 build/C/man2/fsync.2:162 build/C/man2/get_thread_area.2:55 build/C/man3/getcwd.3:249 build/C/man2/getdomainname.2:127 build/C/man3/getdtablesize.3:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:193 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:87 build/C/man2/ioctl.2:140 build/C/man2/ioctl_list.2:953 build/C/man2/ioperm.2:121 build/C/man3/lockf.3:156 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:133 build/C/man2/nice.2:105 build/C/man2/pread.2:145 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:60 build/C/man2/swapon.2:191 build/C/man2/syscall.2:98 build/C/man2/syscalls.2:817 build/C/man3/sysconf.3:335 build/C/man2/sysctl.2:181 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:117 build/C/man2/truncate.2:251 build/C/man3/ualarm.3:135 build/C/man2/umask.2:116 build/C/man2/uname.2:157 build/C/man2/uselib.2:102 build/C/man3/usleep.3:137 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:167
297 msgid "B<intro>(2), B<syscall>(2), B<errno>(3)"
298 msgstr ""
299
300 #. type: SH
301 #: build/C/man2/_syscall.2:167 build/C/man2/access.2:253 build/C/man2/alarm.2:90 build/C/man2/brk.2:169 build/C/man2/chdir.2:140 build/C/man2/chmod.2:228 build/C/man2/chown.2:342 build/C/man2/chroot.2:154 build/C/man2/close.2:132 build/C/man3/confstr.3:150 build/C/man3/crypt.3:235 build/C/man3/daemon.3:107 build/C/man3/des_crypt.3:141 build/C/man2/dup.2:211 build/C/man3/encrypt.3:166 build/C/man7/environ.7:241 build/C/man3/euidaccess.3:105 build/C/man3/exec.3:248 build/C/man2/execve.2:648 build/C/man2/exit_group.2:51 build/C/man2/fcntl.2:1318 build/C/man3/fexecve.3:108 build/C/man2/flock.2:215 build/C/man2/fork.2:255 build/C/man3/fpathconf.3:185 build/C/man2/fsync.2:171 build/C/man3/get_nprocs_conf.3:88 build/C/man2/get_thread_area.2:58 build/C/man3/getcwd.3:256 build/C/man2/getdomainname.2:131 build/C/man3/getdtablesize.3:95 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:197 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:89 build/C/man2/idle.2:64 build/C/man2/ioctl.2:148 build/C/man2/ioctl_list.2:955 build/C/man2/ioperm.2:125 build/C/man3/lockf.3:171 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:145 build/C/man2/nice.2:112 build/C/man2/pread.2:150 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:62 build/C/man2/swapon.2:195 build/C/man2/syscall.2:102 build/C/man2/syscalls.2:821 build/C/man3/sysconf.3:343 build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:121 build/C/man2/truncate.2:255 build/C/man3/ualarm.3:143 build/C/man2/umask.2:122 build/C/man2/uname.2:161 build/C/man2/uselib.2:112 build/C/man3/usleep.3:146 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:174 build/C/man2/access.2:260 build/C/man2/alarm.2:97 build/C/man2/brk.2:176 build/C/man2/chdir.2:147 build/C/man2/chmod.2:235 build/C/man2/chown.2:349 build/C/man2/chroot.2:161 build/C/man2/close.2:139 build/C/man3/confstr.3:157 build/C/man3/crypt.3:242 build/C/man3/daemon.3:114 build/C/man3/des_crypt.3:148 build/C/man2/dup.2:218 build/C/man3/encrypt.3:173 build/C/man7/environ.7:248 build/C/man3/euidaccess.3:112 build/C/man3/exec.3:255 build/C/man2/execve.2:655 build/C/man2/exit_group.2:58 build/C/man2/fcntl.2:1325 build/C/man3/fexecve.3:115 build/C/man2/flock.2:222 build/C/man2/fork.2:262 build/C/man3/fpathconf.3:192 build/C/man2/fsync.2:178 build/C/man3/get_nprocs_conf.3:95 build/C/man2/get_thread_area.2:65 build/C/man3/getcwd.3:263 build/C/man2/getdomainname.2:138 build/C/man3/getdtablesize.3:102 build/C/man3/gethostid.3:134 build/C/man2/gethostname.2:187 build/C/man3/getlogin.3:204 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:96 build/C/man2/idle.2:71 build/C/man2/ioctl.2:155 build/C/man2/ioctl_list.2:962 build/C/man2/ioperm.2:132 build/C/man3/lockf.3:178 build/C/man2/mincore.2:176 build/C/man2/mkdir.2:152 build/C/man2/nice.2:119 build/C/man2/pread.2:157 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:69 build/C/man2/swapon.2:202 build/C/man2/syscall.2:109 build/C/man2/syscalls.2:828 build/C/man3/sysconf.3:350 build/C/man2/sysctl.2:190 build/C/man2/sysinfo.2:103 build/C/man3/tcgetpgrp.3:128 build/C/man2/truncate.2:262 build/C/man3/ualarm.3:150 build/C/man2/umask.2:129 build/C/man2/uname.2:168 build/C/man2/uselib.2:119 build/C/man3/usleep.3:153 build/C/man2/vfork.2:286 build/C/man2/vhangup.2:76
308 msgid ""
309 "This page is part of release 3.50 of the Linux I<man-pages> project.  A "
310 "description of the project, and information about reporting bugs, can be "
311 "found at http://www.kernel.org/doc/man-pages/."
312 msgstr ""
313
314 #. type: TH
315 #: build/C/man2/access.2:43
316 #, no-wrap
317 msgid "ACCESS"
318 msgstr ""
319
320 #. type: TH
321 #: build/C/man2/access.2:43
322 #, no-wrap
323 msgid "2013-02-28"
324 msgstr ""
325
326 #. type: Plain text
327 #: build/C/man2/access.2:46
328 msgid "access - check real user's permissions for a file"
329 msgstr ""
330
331 #. type: Plain text
332 #: build/C/man2/access.2:49 build/C/man2/alarm.2:36 build/C/man2/close.2:41 build/C/man3/confstr.3:37 build/C/man3/crypt.3:44 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:47 build/C/man3/getcwd.3:38 build/C/man3/getopt.3:48 build/C/man3/getusershell.3:36 build/C/man3/sleep.3:32 build/C/man3/sysconf.3:33 build/C/man2/sysctl.2:36 build/C/man3/ualarm.3:30 build/C/man3/usleep.3:39
333 #, no-wrap
334 msgid "B<#include E<lt>unistd.hE<gt>>\n"
335 msgstr ""
336
337 #. type: Plain text
338 #: build/C/man2/access.2:51
339 #, no-wrap
340 msgid "B<int access(const char *>I<pathname>B<, int >I<mode>B<);>\n"
341 msgstr ""
342
343 #. type: Plain text
344 #: build/C/man2/access.2:59
345 msgid ""
346 "B<access>()  checks whether the calling process can access the file "
347 "I<pathname>.  If I<pathname> is a symbolic link, it is dereferenced."
348 msgstr ""
349
350 #.  F_OK is defined as 0 on every system that I know of.
351 #. type: Plain text
352 #: build/C/man2/access.2:73
353 msgid ""
354 "The I<mode> specifies the accessibility check(s) to be performed, and is "
355 "either the value B<F_OK>, or a mask consisting of the bitwise OR of one or "
356 "more of B<R_OK>, B<W_OK>, and B<X_OK>.  B<F_OK> tests for the existence of "
357 "the file.  B<R_OK>, B<W_OK>, and B<X_OK> test whether the file exists and "
358 "grants read, write, and execute permissions, respectively."
359 msgstr ""
360
361 #. type: Plain text
362 #: build/C/man2/access.2:82
363 msgid ""
364 "The check is done using the calling process's I<real> UID and GID, rather "
365 "than the effective IDs as is done when actually attempting an operation "
366 "(e.g., B<open>(2))  on the file.  This allows set-user-ID programs to easily "
367 "determine the invoking user's authority."
368 msgstr ""
369
370 #. type: Plain text
371 #: build/C/man2/access.2:88
372 msgid ""
373 "If the calling process is privileged (i.e., its real UID is zero), then an "
374 "B<X_OK> check is successful for a regular file if execute permission is "
375 "enabled for any of the file owner, group, or other."
376 msgstr ""
377
378 #. type: SH
379 #: build/C/man2/access.2:88 build/C/man2/alarm.2:56 build/C/man2/brk.2:93 build/C/man2/chdir.2:70 build/C/man2/chmod.2:153 build/C/man2/chown.2:119 build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:94 build/C/man3/crypt.3:120 build/C/man3/daemon.3:72 build/C/man3/des_crypt.3:106 build/C/man2/dup.2:120 build/C/man3/encrypt.3:113 build/C/man3/euidaccess.3:58 build/C/man3/exec.3:183 build/C/man2/execve.2:355 build/C/man2/exit_group.2:39 build/C/man2/fcntl.2:1051 build/C/man3/fexecve.3:67 build/C/man2/flock.2:111 build/C/man2/fork.2:173 build/C/man3/fpathconf.3:160 build/C/man2/fsync.2:108 build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:29 build/C/man3/getcwd.3:156 build/C/man2/getdomainname.2:75 build/C/man3/getdtablesize.3:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:274 build/C/man2/gettid.2:50 build/C/man3/getusershell.3:77 build/C/man2/idle.2:52 build/C/man2/ioctl.2:83 build/C/man2/ioctl_list.2:106 build/C/man2/ioperm.2:82 build/C/man3/lockf.3:116 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:48 build/C/man2/nice.2:56 build/C/man2/pread.2:79 build/C/man2/set_thread_area.2:44 build/C/man2/setup.2:53 build/C/man3/sleep.3:40 build/C/man3/swab.3:54 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:61 build/C/man2/truncate.2:110 build/C/man3/ualarm.3:81 build/C/man2/umask.2:90 build/C/man2/uname.2:63 build/C/man2/uselib.2:48 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:50
380 #, no-wrap
381 msgid "RETURN VALUE"
382 msgstr ""
383
384 #. type: Plain text
385 #: build/C/man2/access.2:96 build/C/man3/euidaccess.3:66
386 msgid ""
387 "On success (all requested permissions granted), zero is returned.  On error "
388 "(at least one bit in I<mode> asked for a permission that is denied, or some "
389 "other error occurred), -1 is returned, and I<errno> is set appropriately."
390 msgstr ""
391
392 #. type: SH
393 #: build/C/man2/access.2:96 build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/close.2:70 build/C/man3/confstr.3:121 build/C/man3/crypt.3:123 build/C/man2/dup.2:126 build/C/man3/encrypt.3:115 build/C/man3/euidaccess.3:66 build/C/man3/exec.3:190 build/C/man2/execve.2:361 build/C/man2/fcntl.2:1084 build/C/man3/fexecve.3:74 build/C/man2/flock.2:116 build/C/man2/fork.2:180 build/C/man2/fsync.2:113 build/C/man2/get_thread_area.2:35 build/C/man3/getcwd.3:172 build/C/man2/getdomainname.2:80 build/C/man3/getdtablesize.3:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:101 build/C/man2/gettid.2:52 build/C/man2/idle.2:55 build/C/man2/ioctl.2:92 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:53 build/C/man2/nice.2:61 build/C/man2/pread.2:89 build/C/man2/set_thread_area.2:49 build/C/man2/setup.2:56 build/C/man2/swapon.2:113 build/C/man2/sysctl.2:81 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:83 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:77 build/C/man2/vhangup.2:55
394 #, no-wrap
395 msgid "ERRORS"
396 msgstr ""
397
398 #. type: Plain text
399 #: build/C/man2/access.2:99
400 msgid "B<access>()  shall fail if:"
401 msgstr ""
402
403 #. type: TP
404 #: build/C/man2/access.2:99 build/C/man2/chdir.2:81 build/C/man2/chdir.2:117 build/C/man2/chmod.2:163 build/C/man2/chown.2:129 build/C/man2/chroot.2:98 build/C/man2/execve.2:369 build/C/man2/execve.2:376 build/C/man2/execve.2:379 build/C/man2/execve.2:382 build/C/man3/getcwd.3:173 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:54 build/C/man2/truncate.2:118 build/C/man2/uselib.2:59
405 #, no-wrap
406 msgid "B<EACCES>"
407 msgstr ""
408
409 #. type: Plain text
410 #: build/C/man2/access.2:106
411 msgid ""
412 "The requested access would be denied to the file, or search permission is "
413 "denied for one of the directories in the path prefix of I<pathname>.  (See "
414 "also B<path_resolution>(7).)"
415 msgstr ""
416
417 #. type: TP
418 #: build/C/man2/access.2:106 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chown.2:138 build/C/man2/chroot.2:112 build/C/man2/execve.2:403 build/C/man2/mkdir.2:76 build/C/man2/truncate.2:151
419 #, no-wrap
420 msgid "B<ELOOP>"
421 msgstr ""
422
423 #. type: Plain text
424 #: build/C/man2/access.2:110 build/C/man2/mkdir.2:80
425 msgid "Too many symbolic links were encountered in resolving I<pathname>."
426 msgstr ""
427
428 #. type: TP
429 #: build/C/man2/access.2:110 build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116 build/C/man2/execve.2:411 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:84 build/C/man2/truncate.2:154
430 #, no-wrap
431 msgid "B<ENAMETOOLONG>"
432 msgstr ""
433
434 #. type: Plain text
435 #: build/C/man2/access.2:114
436 msgid "I<pathname> is too long."
437 msgstr ""
438
439 #. type: TP
440 #: build/C/man2/access.2:114 build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chown.2:172 build/C/man2/chroot.2:120 build/C/man2/execve.2:418 build/C/man3/getcwd.3:198 build/C/man3/getlogin.3:120 build/C/man2/mkdir.2:87 build/C/man2/swapon.2:136 build/C/man2/truncate.2:158
441 #, no-wrap
442 msgid "B<ENOENT>"
443 msgstr ""
444
445 #. type: Plain text
446 #: build/C/man2/access.2:119
447 msgid "A component of I<pathname> does not exist or is a dangling symbolic link."
448 msgstr ""
449
450 #. type: TP
451 #: build/C/man2/access.2:119 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:432 build/C/man2/mkdir.2:104 build/C/man2/sysctl.2:88 build/C/man2/truncate.2:161
452 #, no-wrap
453 msgid "B<ENOTDIR>"
454 msgstr ""
455
456 #. type: Plain text
457 #: build/C/man2/access.2:124 build/C/man2/mkdir.2:109
458 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
459 msgstr ""
460
461 #. type: TP
462 #: build/C/man2/access.2:124 build/C/man2/chmod.2:198 build/C/man2/chmod.2:216 build/C/man2/chown.2:159 build/C/man2/chown.2:178 build/C/man2/mkdir.2:114 build/C/man2/truncate.2:170
463 #, no-wrap
464 msgid "B<EROFS>"
465 msgstr ""
466
467 #. type: Plain text
468 #: build/C/man2/access.2:127
469 msgid "Write permission was requested for a file on a read-only file system."
470 msgstr ""
471
472 #. type: Plain text
473 #: build/C/man2/access.2:130
474 msgid "B<access>()  may fail if:"
475 msgstr ""
476
477 #. type: TP
478 #: build/C/man2/access.2:130 build/C/man2/chdir.2:87 build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105 build/C/man2/execve.2:386 build/C/man2/fcntl.2:1106 build/C/man2/get_thread_area.2:36 build/C/man3/getcwd.3:176 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:97 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:73 build/C/man2/set_thread_area.2:53 build/C/man2/sysctl.2:82 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:124 build/C/man2/uname.2:69
479 #, no-wrap
480 msgid "B<EFAULT>"
481 msgstr ""
482
483 #. type: Plain text
484 #: build/C/man2/access.2:134 build/C/man2/mkdir.2:76
485 msgid "I<pathname> points outside your accessible address space."
486 msgstr ""
487
488 #. type: TP
489 #: build/C/man2/access.2:134 build/C/man3/confstr.3:122 build/C/man2/dup.2:151 build/C/man2/execve.2:390 build/C/man2/fcntl.2:1122 build/C/man3/fexecve.3:78 build/C/man2/flock.2:126 build/C/man2/get_thread_area.2:39 build/C/man3/getcwd.3:180 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:101 build/C/man2/ioperm.2:88 build/C/man3/lockf.3:147 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:50 build/C/man2/swapon.2:121 build/C/man3/tcgetpgrp.3:88 build/C/man2/truncate.2:140 build/C/man2/truncate.2:191 build/C/man3/ualarm.3:88 build/C/man3/usleep.3:82
490 #, no-wrap
491 msgid "B<EINVAL>"
492 msgstr ""
493
494 #. type: Plain text
495 #: build/C/man2/access.2:138
496 msgid "I<mode> was incorrectly specified."
497 msgstr ""
498
499 #. type: TP
500 #: build/C/man2/access.2:138 build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chmod.2:210 build/C/man2/chown.2:169 build/C/man2/chroot.2:109 build/C/man2/close.2:81 build/C/man2/execve.2:394 build/C/man2/fsync.2:118 build/C/man2/ioperm.2:94 build/C/man2/truncate.2:145
501 #, no-wrap
502 msgid "B<EIO>"
503 msgstr ""
504
505 #. type: Plain text
506 #: build/C/man2/access.2:141 build/C/man2/chdir.2:94 build/C/man2/chmod.2:175 build/C/man2/chroot.2:112 build/C/man2/close.2:84 build/C/man2/execve.2:397
507 msgid "An I/O error occurred."
508 msgstr ""
509
510 #. type: TP
511 #: build/C/man2/access.2:141 build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123 build/C/man2/execve.2:429 build/C/man2/fork.2:196 build/C/man3/getlogin.3:123 build/C/man2/ioperm.2:97 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:92 build/C/man2/swapon.2:141
512 #, no-wrap
513 msgid "B<ENOMEM>"
514 msgstr ""
515
516 #. type: Plain text
517 #: build/C/man2/access.2:144 build/C/man2/chdir.2:108 build/C/man2/chmod.2:189 build/C/man2/chown.2:152 build/C/man2/chroot.2:126 build/C/man2/execve.2:432 build/C/man2/mkdir.2:95
518 msgid "Insufficient kernel memory was available."
519 msgstr ""
520
521 #. type: TP
522 #: build/C/man2/access.2:144 build/C/man2/execve.2:447 build/C/man2/truncate.2:173
523 #, no-wrap
524 msgid "B<ETXTBSY>"
525 msgstr ""
526
527 #. type: Plain text
528 #: build/C/man2/access.2:148
529 msgid "Write access was requested to an executable which is being executed."
530 msgstr ""
531
532 #. type: Plain text
533 #: build/C/man2/access.2:150 build/C/man2/close.2:87 build/C/man2/fork.2:208 build/C/man3/swab.3:60 build/C/man2/umask.2:95
534 msgid "SVr4, 4.3BSD, POSIX.1-2001."
535 msgstr ""
536
537 #. type: Plain text
538 #: build/C/man2/access.2:165
539 msgid ""
540 "B<Warning>: Using B<access>()  to check if a user is authorized to, for "
541 "example, open a file before actually doing so using B<open>(2)  creates a "
542 "security hole, because the user might exploit the short time interval "
543 "between checking and opening the file to manipulate it.  B<For this reason, "
544 "the use of this system call should be avoided>.  (In the example just "
545 "described, a safer alternative would be to temporarily switch the process's "
546 "effective user ID to the real ID and then call B<open>(2).)"
547 msgstr ""
548
549 #. type: Plain text
550 #: build/C/man2/access.2:172
551 msgid ""
552 "B<access>()  always dereferences symbolic links.  If you need to check the "
553 "permissions on a symbolic link, use B<faccessat>(2)  with the flag "
554 "B<AT_SYMLINK_NOFOLLOW>."
555 msgstr ""
556
557 #. type: Plain text
558 #: build/C/man2/access.2:179
559 msgid ""
560 "B<access>()  returns an error if any of the access types in I<mode> is "
561 "denied, even if some of the other access types in I<mode> are permitted."
562 msgstr ""
563
564 #.  HPU-UX 11 and Tru64 5.1 do this.
565 #. type: Plain text
566 #: build/C/man2/access.2:186
567 msgid ""
568 "If the calling process has appropriate privileges (i.e., is superuser), "
569 "POSIX.1-2001 permits an implementation to indicate success for an B<X_OK> "
570 "check even if none of the execute file permission bits are set.  Linux does "
571 "not do this."
572 msgstr ""
573
574 #. type: Plain text
575 #: build/C/man2/access.2:194
576 msgid ""
577 "A file is only accessible if the permissions on each of the directories in "
578 "the path prefix of I<pathname> grant search (i.e., execute) access.  If any "
579 "directory is inaccessible, then the B<access>()  call will fail, regardless "
580 "of the permissions on the file itself."
581 msgstr ""
582
583 #. type: Plain text
584 #: build/C/man2/access.2:202
585 msgid ""
586 "Only access bits are checked, not the file type or contents.  Therefore, if "
587 "a directory is found to be writable, it probably means that files can be "
588 "created in the directory, and not that the directory can be written as a "
589 "file.  Similarly, a DOS file may be found to be \"executable,\" but the "
590 "B<execve>(2)  call will still fail."
591 msgstr ""
592
593 #. type: Plain text
594 #: build/C/man2/access.2:208
595 msgid ""
596 "B<access>()  may not work correctly on NFS file systems with UID mapping "
597 "enabled, because UID mapping is done on the server and hidden from the "
598 "client, which checks permissions.  Similar problems can occur to FUSE "
599 "mounts."
600 msgstr ""
601
602 #. type: SH
603 #: build/C/man2/access.2:208 build/C/man7/environ.7:189 build/C/man2/fcntl.2:1239 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:161 build/C/man3/getopt.3:369 build/C/man2/mincore.2:144 build/C/man2/pread.2:133 build/C/man3/sleep.3:46 build/C/man3/sysconf.3:326 build/C/man2/sysctl.2:135 build/C/man2/truncate.2:243 build/C/man2/vfork.2:252
604 #, no-wrap
605 msgid "BUGS"
606 msgstr ""
607
608 #.  This behavior appears to have been an implementation accident.
609 #. type: Plain text
610 #: build/C/man2/access.2:231
611 msgid ""
612 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
613 "B<X_OK> tests for superuser.  If all categories of execute permission are "
614 "disabled for a nondirectory file, then the only B<access>()  test that "
615 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
616 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
617 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
618 "same way as kernel 2.4."
619 msgstr ""
620
621 #. type: Plain text
622 #: build/C/man2/access.2:242
623 msgid ""
624 "In kernels before 2.6.20, B<access>()  ignored the effect of the "
625 "B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying file "
626 "system.  Since kernel 2.6.20, B<access>()  honors this flag."
627 msgstr ""
628
629 #. type: Plain text
630 #: build/C/man2/access.2:253
631 msgid ""
632 "B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), "
633 "B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), "
634 "B<path_resolution>(7)"
635 msgstr ""
636
637 #. type: TH
638 #: build/C/man2/alarm.2:30
639 #, no-wrap
640 msgid "ALARM"
641 msgstr ""
642
643 #. type: TH
644 #: build/C/man2/alarm.2:30
645 #, no-wrap
646 msgid "2008-06-12"
647 msgstr ""
648
649 #. type: Plain text
650 #: build/C/man2/alarm.2:33
651 msgid "alarm - set an alarm clock for delivery of a signal"
652 msgstr ""
653
654 #. type: Plain text
655 #: build/C/man2/alarm.2:38
656 #, no-wrap
657 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
658 msgstr ""
659
660 #. type: Plain text
661 #: build/C/man2/alarm.2:46
662 msgid ""
663 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
664 "process in I<seconds> seconds."
665 msgstr ""
666
667 #. type: Plain text
668 #: build/C/man2/alarm.2:52
669 msgid "If I<seconds> is zero, no new B<alarm>()  is scheduled."
670 msgstr ""
671
672 #. type: Plain text
673 #: build/C/man2/alarm.2:56
674 msgid "In any event any previously set B<alarm>()  is canceled."
675 msgstr ""
676
677 #. type: Plain text
678 #: build/C/man2/alarm.2:61
679 msgid ""
680 "B<alarm>()  returns the number of seconds remaining until any previously "
681 "scheduled alarm was due to be delivered, or zero if there was no previously "
682 "scheduled alarm."
683 msgstr ""
684
685 #. type: Plain text
686 #: build/C/man2/alarm.2:63
687 msgid "SVr4, POSIX.1-2001, 4.3BSD."
688 msgstr ""
689
690 #. type: Plain text
691 #: build/C/man2/alarm.2:69
692 msgid ""
693 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
694 "interfere with use of the other."
695 msgstr ""
696
697 #. type: Plain text
698 #: build/C/man2/alarm.2:78
699 msgid ""
700 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
701 "and B<sleep>(3)  is a bad idea."
702 msgstr ""
703
704 #. type: Plain text
705 #: build/C/man2/alarm.2:81
706 msgid ""
707 "Scheduling delays can, as ever, cause the execution of the process to be "
708 "delayed by an arbitrary amount of time."
709 msgstr ""
710
711 #. type: Plain text
712 #: build/C/man2/alarm.2:90
713 msgid ""
714 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
715 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
716 msgstr ""
717
718 #. type: TH
719 #: build/C/man2/brk.2:29
720 #, no-wrap
721 msgid "BRK"
722 msgstr ""
723
724 #. type: TH
725 #: build/C/man2/brk.2:29 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:32 build/C/man3/gethostid.3:29 build/C/man3/ualarm.3:24
726 #, no-wrap
727 msgid "2010-09-20"
728 msgstr ""
729
730 #. type: Plain text
731 #: build/C/man2/brk.2:32
732 msgid "brk, sbrk - change data segment size"
733 msgstr ""
734
735 #. type: Plain text
736 #: build/C/man2/brk.2:34 build/C/man2/chdir.2:38 build/C/man2/chown.2:43 build/C/man2/chroot.2:38 build/C/man3/daemon.3:41 build/C/man3/encrypt.3:37 build/C/man3/exec.3:46 build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43 build/C/man2/getdomainname.2:34 build/C/man3/getdtablesize.3:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:30 build/C/man2/idle.2:37 build/C/man3/lockf.3:33 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:30 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:30 build/C/man2/truncate.2:48 build/C/man2/uselib.2:36 build/C/man2/vfork.2:35 build/C/man2/vhangup.2:33
737 msgid "B<#include E<lt>unistd.hE<gt>>"
738 msgstr ""
739
740 #. type: Plain text
741 #: build/C/man2/brk.2:36
742 msgid "B<int brk(void *>I<addr>B<);>"
743 msgstr ""
744
745 #. type: Plain text
746 #: build/C/man2/brk.2:38
747 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
748 msgstr ""
749
750 #. type: Plain text
751 #: build/C/man2/brk.2:42 build/C/man2/chdir.2:46 build/C/man2/chmod.2:44 build/C/man2/chown.2:53 build/C/man2/chroot.2:44 build/C/man3/confstr.3:44 build/C/man3/daemon.3:47 build/C/man3/exec.3:68 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:49 build/C/man2/getdomainname.2:42 build/C/man3/getdtablesize.3:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:69 build/C/man2/getpagesize.2:36 build/C/man3/getusershell.3:47 build/C/man3/lockf.3:39 build/C/man2/mincore.2:47 build/C/man2/nice.2:42 build/C/man2/pread.2:40 build/C/man2/truncate.2:58 build/C/man3/ualarm.3:37 build/C/man3/usleep.3:46 build/C/man2/vfork.2:41 build/C/man2/vhangup.2:39
752 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
753 msgstr ""
754
755 #. type: Plain text
756 #: build/C/man2/brk.2:46
757 msgid "B<brk>(), B<sbrk>():"
758 msgstr ""
759
760 #. type: TP
761 #: 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
762 #, no-wrap
763 msgid "Since glibc 2.12:"
764 msgstr ""
765
766 #. type: Plain text
767 #: build/C/man2/brk.2:56
768 #, no-wrap
769 msgid ""
770 "_BSD_SOURCE || _SVID_SOURCE ||\n"
771 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
772 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
773 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
774 msgstr ""
775
776 #. type: Plain text
777 #: build/C/man2/brk.2:61
778 msgid ""
779 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
780 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
781 msgstr ""
782
783 #. type: Plain text
784 #: build/C/man2/brk.2:76
785 msgid ""
786 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
787 "defines the end of the process's data segment (i.e., the program break is "
788 "the first location after the end of the uninitialized data segment).  "
789 "Increasing the program break has the effect of allocating memory to the "
790 "process; decreasing the break deallocates memory."
791 msgstr ""
792
793 #. type: Plain text
794 #: build/C/man2/brk.2:83
795 msgid ""
796 "B<brk>()  sets the end of the data segment to the value specified by "
797 "I<addr>, when that value is reasonable, the system has enough memory, and "
798 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
799 msgstr ""
800
801 #. type: Plain text
802 #: build/C/man2/brk.2:93
803 msgid ""
804 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
805 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
806 "location of the program break."
807 msgstr ""
808
809 #. type: Plain text
810 #: build/C/man2/brk.2:102
811 msgid ""
812 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
813 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
814 msgstr ""
815
816 #. type: Plain text
817 #: build/C/man2/brk.2:114
818 msgid ""
819 "On success, B<sbrk>()  returns the previous program break.  (If the break "
820 "was increased, then this value is a pointer to the start of the newly "
821 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
822 "is set to B<ENOMEM>."
823 msgstr ""
824
825 #
826 #.  .BR brk ()
827 #.  and
828 #.  .BR sbrk ()
829 #.  are not defined in the C Standard and are deliberately excluded from the
830 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
831 #. type: Plain text
832 #: build/C/man2/brk.2:122
833 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
834 msgstr ""
835
836 #. type: Plain text
837 #: build/C/man2/brk.2:131
838 msgid ""
839 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
840 "package is the portable and comfortable way of allocating memory."
841 msgstr ""
842
843 #.  One sees
844 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
845 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
846 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
847 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
848 #.  Tru64 5.1, glibc2.2).
849 #. type: Plain text
850 #: build/C/man2/brk.2:141
851 msgid ""
852 "Various systems use various types for the argument of B<sbrk>().  Common are "
853 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
854 msgstr ""
855
856 #. type: SS
857 #: build/C/man2/brk.2:141 build/C/man2/vfork.2:213
858 #, no-wrap
859 msgid "Linux notes"
860 msgstr ""
861
862 #. type: Plain text
863 #: build/C/man2/brk.2:157
864 msgid ""
865 "The return value described above for B<brk>()  is the behavior provided by "
866 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
867 "other implementations, the return value from B<brk>()  is the same; this "
868 "return value was also specified in SUSv2.)  However, the actual Linux system "
869 "call returns the new program break on success.  On failure, the system call "
870 "returns the current break.  The glibc wrapper function does some work (i.e., "
871 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
872 "return values described above."
873 msgstr ""
874
875 #. type: Plain text
876 #: build/C/man2/brk.2:164
877 msgid ""
878 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
879 "B<brk>()  system call, and does some internal bookkeeping so that it can "
880 "return the old break value."
881 msgstr ""
882
883 #. type: Plain text
884 #: build/C/man2/brk.2:169
885 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
886 msgstr ""
887
888 #. type: TH
889 #: build/C/man2/chdir.2:33
890 #, no-wrap
891 msgid "CHDIR"
892 msgstr ""
893
894 #. type: TH
895 #: build/C/man2/chdir.2:33
896 #, no-wrap
897 msgid "2010-11-25"
898 msgstr ""
899
900 #. type: Plain text
901 #: build/C/man2/chdir.2:36
902 msgid "chdir, fchdir - change working directory"
903 msgstr ""
904
905 #. type: Plain text
906 #: build/C/man2/chdir.2:40
907 msgid "B<int chdir(const char *>I<path>B<);>"
908 msgstr ""
909
910 #. type: Plain text
911 #: build/C/man2/chdir.2:42
912 msgid "B<int fchdir(int >I<fd>B<);>"
913 msgstr ""
914
915 #. type: Plain text
916 #: build/C/man2/chdir.2:49
917 msgid "B<fchdir>():"
918 msgstr ""
919
920 #. type: Plain text
921 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:66 build/C/man2/truncate.2:74
922 msgid ""
923 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
924 "_XOPEN_SOURCE_EXTENDED"
925 msgstr ""
926
927 #. type: Plain text
928 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:55 build/C/man2/chown.2:64 build/C/man2/pread.2:50 build/C/man2/truncate.2:68
929 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
930 msgstr ""
931
932 #. type: Plain text
933 #: build/C/man2/chdir.2:64
934 msgid ""
935 "B<chdir>()  changes the current working directory of the calling process to "
936 "the directory specified in I<path>."
937 msgstr ""
938
939 #. type: Plain text
940 #: build/C/man2/chdir.2:70
941 msgid ""
942 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
943 "directory is given as an open file descriptor."
944 msgstr ""
945
946 #. type: Plain text
947 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/flock.2:116 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:87 build/C/man3/lockf.3:121 build/C/man2/swapon.2:113 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:115 build/C/man2/uname.2:68 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:55
948 msgid ""
949 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
950 "appropriately."
951 msgstr ""
952
953 #. type: Plain text
954 #: build/C/man2/chdir.2:81
955 msgid ""
956 "Depending on the file system, other errors can be returned.  The more "
957 "general errors for B<chdir>()  are listed below:"
958 msgstr ""
959
960 #. type: Plain text
961 #: build/C/man2/chdir.2:87
962 msgid ""
963 "Search permission is denied for one of the components of I<path>.  (See also "
964 "B<path_resolution>(7).)"
965 msgstr ""
966
967 #. type: Plain text
968 #: build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chown.2:138 build/C/man2/chroot.2:109
969 msgid "I<path> points outside your accessible address space."
970 msgstr ""
971
972 #. type: Plain text
973 #: build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116
974 msgid "Too many symbolic links were encountered in resolving I<path>."
975 msgstr ""
976
977 #. type: Plain text
978 #: build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chroot.2:120
979 msgid "I<path> is too long."
980 msgstr ""
981
982 #. type: Plain text
983 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123
984 msgid "The file does not exist."
985 msgstr ""
986
987 #. type: Plain text
988 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
989 msgid "A component of I<path> is not a directory."
990 msgstr ""
991
992 #. type: Plain text
993 #: build/C/man2/chdir.2:117
994 msgid "The general errors for B<fchdir>()  are listed below:"
995 msgstr ""
996
997 #. type: Plain text
998 #: build/C/man2/chdir.2:121
999 msgid "Search permission was denied on the directory open on I<fd>."
1000 msgstr ""
1001
1002 #. type: TP
1003 #: build/C/man2/chdir.2:121 build/C/man2/chmod.2:205 build/C/man2/chown.2:166 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1092 build/C/man2/flock.2:117 build/C/man2/fsync.2:114 build/C/man2/ioctl.2:93 build/C/man3/lockf.3:130 build/C/man3/tcgetpgrp.3:84 build/C/man2/truncate.2:183
1004 #, no-wrap
1005 msgid "B<EBADF>"
1006 msgstr ""
1007
1008 #. type: Plain text
1009 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:88
1010 msgid "I<fd> is not a valid file descriptor."
1011 msgstr ""
1012
1013 #. type: Plain text
1014 #: build/C/man2/chdir.2:127
1015 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1016 msgstr ""
1017
1018 #. type: Plain text
1019 #: build/C/man2/chdir.2:130
1020 msgid ""
1021 "The current working directory is the starting point for interpreting "
1022 "relative pathnames (those not starting with \\(aq/\\(aq)."
1023 msgstr ""
1024
1025 #. type: Plain text
1026 #: build/C/man2/chdir.2:136
1027 msgid ""
1028 "A child process created via B<fork>(2)  inherits its parent's current "
1029 "working directory.  The current working directory is left unchanged by "
1030 "B<execve>(2)."
1031 msgstr ""
1032
1033 #. type: Plain text
1034 #: build/C/man2/chdir.2:140
1035 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1036 msgstr ""
1037
1038 #. type: TH
1039 #: build/C/man2/chmod.2:31
1040 #, no-wrap
1041 msgid "CHMOD"
1042 msgstr ""
1043
1044 #. type: TH
1045 #: build/C/man2/chmod.2:31 build/C/man2/gethostname.2:32
1046 #, no-wrap
1047 msgid "2010-09-26"
1048 msgstr ""
1049
1050 #. type: Plain text
1051 #: build/C/man2/chmod.2:34
1052 msgid "chmod, fchmod - change permissions of a file"
1053 msgstr ""
1054
1055 #. type: Plain text
1056 #: build/C/man2/chmod.2:36 build/C/man3/getumask.3:37 build/C/man2/umask.2:41
1057 msgid "B<#include E<lt>sys/stat.hE<gt>>"
1058 msgstr ""
1059
1060 #. type: Plain text
1061 #: build/C/man2/chmod.2:38
1062 msgid "B<int chmod(const char *>I<path>B<, mode_t >I<mode>B<);>"
1063 msgstr ""
1064
1065 #. type: Plain text
1066 #: build/C/man2/chmod.2:40
1067 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>"
1068 msgstr ""
1069
1070 #. type: Plain text
1071 #: build/C/man2/chmod.2:49
1072 msgid "B<fchmod>():"
1073 msgstr ""
1074
1075 #. type: Plain text
1076 #: build/C/man2/chmod.2:61
1077 msgid ""
1078 "These system calls change the permissions of a file.  They differ only in "
1079 "how the file is specified:"
1080 msgstr ""
1081
1082 #. type: IP
1083 #: build/C/man2/chmod.2:61 build/C/man2/chmod.2:66 build/C/man2/chown.2:70 build/C/man2/chown.2:75 build/C/man2/chown.2:79 build/C/man2/chown.2:233 build/C/man2/chown.2:238 build/C/man2/chown.2:244 build/C/man2/dup.2:62 build/C/man2/dup.2:68 build/C/man2/dup.2:101 build/C/man2/dup.2:110 build/C/man2/execve.2:124 build/C/man2/execve.2:128 build/C/man2/execve.2:131 build/C/man2/execve.2:134 build/C/man2/execve.2:137 build/C/man2/execve.2:140 build/C/man2/execve.2:143 build/C/man2/execve.2:146 build/C/man2/execve.2:149 build/C/man2/execve.2:152 build/C/man2/execve.2:156 build/C/man2/execve.2:160 build/C/man2/execve.2:169 build/C/man2/execve.2:176 build/C/man2/execve.2:181 build/C/man2/execve.2:188 build/C/man2/execve.2:195 build/C/man2/execve.2:202 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:216 build/C/man2/execve.2:224 build/C/man2/execve.2:228 build/C/man2/execve.2:233 build/C/man2/fork.2:52 build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62 build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74 build/C/man2/fork.2:77 build/C/man2/fork.2:82 build/C/man2/fork.2:94 build/C/man2/fork.2:101 build/C/man2/fork.2:107 build/C/man2/fork.2:114 build/C/man2/fork.2:120 build/C/man2/fork.2:125 build/C/man2/fork.2:133 build/C/man2/fork.2:142 build/C/man2/fork.2:156 build/C/man2/fork.2:165 build/C/man2/syscalls.2:87 build/C/man2/syscalls.2:90 build/C/man2/syscalls.2:96 build/C/man2/syscalls.2:112 build/C/man2/syscalls.2:118 build/C/man2/syscalls.2:124 build/C/man2/syscalls.2:130 build/C/man2/syscalls.2:137 build/C/man2/syscalls.2:676 build/C/man2/syscalls.2:697 build/C/man2/syscalls.2:708 build/C/man2/syscalls.2:715 build/C/man2/syscalls.2:726 build/C/man2/syscalls.2:738 build/C/man2/syscalls.2:759 build/C/man2/syscalls.2:767 build/C/man2/vfork.2:193 build/C/man2/vfork.2:197
1084 #, no-wrap
1085 msgid "*"
1086 msgstr ""
1087
1088 #. type: Plain text
1089 #: build/C/man2/chmod.2:66
1090 msgid ""
1091 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1092 "given in I<path>, which is dereferenced if it is a symbolic link."
1093 msgstr ""
1094
1095 #. type: Plain text
1096 #: build/C/man2/chmod.2:70
1097 msgid ""
1098 "B<fchmod>()  changes the permissions of the file referred to by the open "
1099 "file descriptor I<fd>."
1100 msgstr ""
1101
1102 #. type: Plain text
1103 #: build/C/man2/chmod.2:75
1104 msgid ""
1105 "The new file permissions are specified in I<mode>, which is a bit mask "
1106 "created by ORing together zero or more of the following:"
1107 msgstr ""
1108
1109 #. type: TP
1110 #: build/C/man2/chmod.2:75
1111 #, no-wrap
1112 msgid "B<S_ISUID>  (04000)"
1113 msgstr ""
1114
1115 #. type: Plain text
1116 #: build/C/man2/chmod.2:79
1117 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1118 msgstr ""
1119
1120 #. type: TP
1121 #: build/C/man2/chmod.2:79
1122 #, no-wrap
1123 msgid "B<S_ISGID>  (02000)"
1124 msgstr ""
1125
1126 #. type: Plain text
1127 #: build/C/man2/chmod.2:89
1128 msgid ""
1129 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1130 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1131 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1132 msgstr ""
1133
1134 #. type: TP
1135 #: build/C/man2/chmod.2:89
1136 #, no-wrap
1137 msgid "B<S_ISVTX>  (01000)"
1138 msgstr ""
1139
1140 #. type: Plain text
1141 #: build/C/man2/chmod.2:93
1142 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1143 msgstr ""
1144
1145 #. type: TP
1146 #: build/C/man2/chmod.2:93
1147 #, no-wrap
1148 msgid "B<S_IRUSR>  (00400)"
1149 msgstr ""
1150
1151 #. type: Plain text
1152 #: build/C/man2/chmod.2:96
1153 msgid "read by owner"
1154 msgstr ""
1155
1156 #. type: TP
1157 #: build/C/man2/chmod.2:96
1158 #, no-wrap
1159 msgid "B<S_IWUSR>  (00200)"
1160 msgstr ""
1161
1162 #. type: Plain text
1163 #: build/C/man2/chmod.2:99
1164 msgid "write by owner"
1165 msgstr ""
1166
1167 #. type: TP
1168 #: build/C/man2/chmod.2:99
1169 #, no-wrap
1170 msgid "B<S_IXUSR>  (00100)"
1171 msgstr ""
1172
1173 #. type: Plain text
1174 #: build/C/man2/chmod.2:103
1175 msgid ""
1176 "execute/search by owner (\"search\" applies for directories, and means that "
1177 "entries within the directory can be accessed)"
1178 msgstr ""
1179
1180 #. type: TP
1181 #: build/C/man2/chmod.2:103
1182 #, no-wrap
1183 msgid "B<S_IRGRP>  (00040)"
1184 msgstr ""
1185
1186 #. type: Plain text
1187 #: build/C/man2/chmod.2:106
1188 msgid "read by group"
1189 msgstr ""
1190
1191 #. type: TP
1192 #: build/C/man2/chmod.2:106
1193 #, no-wrap
1194 msgid "B<S_IWGRP>  (00020)"
1195 msgstr ""
1196
1197 #. type: Plain text
1198 #: build/C/man2/chmod.2:109
1199 msgid "write by group"
1200 msgstr ""
1201
1202 #. type: TP
1203 #: build/C/man2/chmod.2:109
1204 #, no-wrap
1205 msgid "B<S_IXGRP>  (00010)"
1206 msgstr ""
1207
1208 #. type: Plain text
1209 #: build/C/man2/chmod.2:112
1210 msgid "execute/search by group"
1211 msgstr ""
1212
1213 #. type: TP
1214 #: build/C/man2/chmod.2:112
1215 #, no-wrap
1216 msgid "B<S_IROTH>  (00004)"
1217 msgstr ""
1218
1219 #. type: Plain text
1220 #: build/C/man2/chmod.2:115
1221 msgid "read by others"
1222 msgstr ""
1223
1224 #. type: TP
1225 #: build/C/man2/chmod.2:115
1226 #, no-wrap
1227 msgid "B<S_IWOTH>  (00002)"
1228 msgstr ""
1229
1230 #. type: Plain text
1231 #: build/C/man2/chmod.2:118
1232 msgid "write by others"
1233 msgstr ""
1234
1235 #. type: TP
1236 #: build/C/man2/chmod.2:118
1237 #, no-wrap
1238 msgid "B<S_IXOTH>  (00001)"
1239 msgstr ""
1240
1241 #. type: Plain text
1242 #: build/C/man2/chmod.2:121
1243 msgid "execute/search by others"
1244 msgstr ""
1245
1246 #. type: Plain text
1247 #: build/C/man2/chmod.2:126
1248 msgid ""
1249 "The effective UID of the calling process must match the owner of the file, "
1250 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1251 "capability)."
1252 msgstr ""
1253
1254 #. type: Plain text
1255 #: build/C/man2/chmod.2:135
1256 msgid ""
1257 "If the calling process is not privileged (Linux: does not have the "
1258 "B<CAP_FSETID> capability), and the group of the file does not match the "
1259 "effective group ID of the process or one of its supplementary group IDs, the "
1260 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1261 "returned."
1262 msgstr ""
1263
1264 #. type: Plain text
1265 #: build/C/man2/chmod.2:147
1266 msgid ""
1267 "As a security measure, depending on the file system, the set-user-ID and "
1268 "set-group-ID execution bits may be turned off if a file is written.  (On "
1269 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1270 "capability.)  On some file systems, only the superuser can set the sticky "
1271 "bit, which may have a special meaning.  For the sticky bit, and for "
1272 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1273 msgstr ""
1274
1275 #. type: Plain text
1276 #: build/C/man2/chmod.2:153
1277 msgid ""
1278 "On NFS file systems, restricting the permissions will immediately influence "
1279 "already open files, because the access control is done on the server, but "
1280 "open files are maintained by the client.  Widening the permissions may be "
1281 "delayed for other clients if attribute caching is enabled on them."
1282 msgstr ""
1283
1284 #. type: Plain text
1285 #: build/C/man2/chmod.2:163
1286 msgid ""
1287 "Depending on the file system, other errors can be returned.  The more "
1288 "general errors for B<chmod>()  are listed below:"
1289 msgstr ""
1290
1291 #.  Also search permission is required on the final component,
1292 #.  maybe just to guarantee that it is a directory?
1293 #. type: Plain text
1294 #: build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105
1295 msgid ""
1296 "Search permission is denied on a component of the path prefix.  (See also "
1297 "B<path_resolution>(7).)"
1298 msgstr ""
1299
1300 #. type: Plain text
1301 #: build/C/man2/chmod.2:192 build/C/man2/chown.2:155 build/C/man2/truncate.2:164
1302 msgid "A component of the path prefix is not a directory."
1303 msgstr ""
1304
1305 #. type: TP
1306 #: build/C/man2/chmod.2:192 build/C/man2/chmod.2:213 build/C/man2/chown.2:155 build/C/man2/chown.2:175 build/C/man2/chroot.2:131 build/C/man2/execve.2:437 build/C/man2/execve.2:443 build/C/man2/fcntl.2:1141 build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88 build/C/man2/gethostname.2:117 build/C/man2/idle.2:56 build/C/man2/ioperm.2:101 build/C/man2/mkdir.2:109 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:144 build/C/man3/tcgetpgrp.3:101 build/C/man2/truncate.2:164 build/C/man2/vhangup.2:56
1307 #, no-wrap
1308 msgid "B<EPERM>"
1309 msgstr ""
1310
1311 #. type: Plain text
1312 #: build/C/man2/chmod.2:198
1313 msgid ""
1314 "The effective UID does not match the owner of the file, and the process is "
1315 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1316 msgstr ""
1317
1318 #. type: Plain text
1319 #: build/C/man2/chmod.2:201 build/C/man2/chown.2:162 build/C/man2/truncate.2:173
1320 msgid "The named file resides on a read-only file system."
1321 msgstr ""
1322
1323 #. type: Plain text
1324 #: build/C/man2/chmod.2:205
1325 msgid "The general errors for B<fchmod>()  are listed below:"
1326 msgstr ""
1327
1328 #. type: Plain text
1329 #: build/C/man2/chmod.2:210
1330 msgid "The file descriptor I<fd> is not valid."
1331 msgstr ""
1332
1333 #. type: Plain text
1334 #: build/C/man2/chmod.2:213 build/C/man2/chmod.2:216 build/C/man2/chmod.2:219 build/C/man2/chown.2:175 build/C/man2/chown.2:178 build/C/man2/chown.2:181
1335 msgid "See above."
1336 msgstr ""
1337
1338 #. type: Plain text
1339 #: build/C/man2/chmod.2:221 build/C/man2/chown.2:183
1340 msgid "4.4BSD, SVr4, POSIX.1-2001."
1341 msgstr ""
1342
1343 #. type: Plain text
1344 #: build/C/man2/chmod.2:228
1345 msgid ""
1346 "B<chown>(2), B<execve>(2), B<fchmodat>(2), B<open>(2), B<stat>(2), "
1347 "B<path_resolution>(7)"
1348 msgstr ""
1349
1350 #. type: TH
1351 #: build/C/man2/chown.2:38
1352 #, no-wrap
1353 msgid "CHOWN"
1354 msgstr ""
1355
1356 #. type: TH
1357 #: build/C/man2/chown.2:38
1358 #, no-wrap
1359 msgid "2010-11-22"
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man2/chown.2:41
1364 msgid "chown, fchown, lchown - change ownership of a file"
1365 msgstr ""
1366
1367 #. type: Plain text
1368 #: build/C/man2/chown.2:45
1369 msgid "B<int chown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1370 msgstr ""
1371
1372 #. type: Plain text
1373 #: build/C/man2/chown.2:47
1374 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1375 msgstr ""
1376
1377 #. type: Plain text
1378 #: build/C/man2/chown.2:49
1379 msgid "B<int lchown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1380 msgstr ""
1381
1382 #. type: Plain text
1383 #: build/C/man2/chown.2:57
1384 msgid "B<fchown>(), B<lchown>():"
1385 msgstr ""
1386
1387 #. type: Plain text
1388 #: build/C/man2/chown.2:70
1389 msgid ""
1390 "These system calls change the owner and group of a file.  They differ only "
1391 "in how the file is specified:"
1392 msgstr ""
1393
1394 #. type: Plain text
1395 #: build/C/man2/chown.2:75
1396 msgid ""
1397 "B<chown>()  changes the ownership of the file specified by I<path>, which is "
1398 "dereferenced if it is a symbolic link."
1399 msgstr ""
1400
1401 #. type: Plain text
1402 #: build/C/man2/chown.2:79
1403 msgid ""
1404 "B<fchown>()  changes the ownership of the file referred to by the open file "
1405 "descriptor I<fd>."
1406 msgstr ""
1407
1408 #. type: Plain text
1409 #: build/C/man2/chown.2:84
1410 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1411 msgstr ""
1412
1413 #. type: Plain text
1414 #: build/C/man2/chown.2:93
1415 msgid ""
1416 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1417 "change the owner of a file.  The owner of a file may change the group of the "
1418 "file to any group of which that owner is a member.  A privileged process "
1419 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1420 msgstr ""
1421
1422 #. type: Plain text
1423 #: build/C/man2/chown.2:99
1424 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1425 msgstr ""
1426
1427 #.  In Linux 2.0 kernels, superuser was like everyone else
1428 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1429 #.  Since 2.2.13, superuser is once more like everyone else.
1430 #. type: Plain text
1431 #: build/C/man2/chown.2:119
1432 msgid ""
1433 "When the owner or group of an executable file are changed by an unprivileged "
1434 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1435 "specify whether this also should happen when root does the B<chown>(); the "
1436 "Linux behavior depends on the kernel version.  In case of a "
1437 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1438 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1439 "B<chown>()."
1440 msgstr ""
1441
1442 #. type: Plain text
1443 #: build/C/man2/chown.2:129
1444 msgid ""
1445 "Depending on the file system, other errors can be returned.  The more "
1446 "general errors for B<chown>()  are listed below."
1447 msgstr ""
1448
1449 #. type: Plain text
1450 #: build/C/man2/chown.2:159
1451 msgid ""
1452 "The calling process did not have the required permissions (see above) to "
1453 "change owner and/or group."
1454 msgstr ""
1455
1456 #. type: Plain text
1457 #: build/C/man2/chown.2:166
1458 msgid "The general errors for B<fchown>()  are listed below:"
1459 msgstr ""
1460
1461 #. type: Plain text
1462 #: build/C/man2/chown.2:169
1463 msgid "The descriptor is not valid."
1464 msgstr ""
1465
1466 #. type: Plain text
1467 #: build/C/man2/chown.2:172
1468 msgid "A low-level I/O error occurred while modifying the inode."
1469 msgstr ""
1470
1471 #.  chown():
1472 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1473 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1474 #.  fchown():
1475 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1476 #.  error conditions.
1477 #. type: Plain text
1478 #: build/C/man2/chown.2:192
1479 msgid ""
1480 "The 4.4BSD version can only be used by the superuser (that is, ordinary "
1481 "users cannot give away files)."
1482 msgstr ""
1483
1484 #. type: Plain text
1485 #: build/C/man2/chown.2:211
1486 msgid ""
1487 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1488 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1489 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1490 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1491 "transparently deal with the variations across kernel versions."
1492 msgstr ""
1493
1494 #. type: Plain text
1495 #: build/C/man2/chown.2:233
1496 msgid ""
1497 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1498 "its owner is made the same as the file system user ID of the creating "
1499 "process.  The group of the file depends on a range of factors, including the "
1500 "type of file system, the options used to mount the file system, and whether "
1501 "or not the set-group-ID permission bit is enabled on the parent directory.  "
1502 "If the file system supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1503 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1504 "B<mount>(8)  options, then the rules are as follows:"
1505 msgstr ""
1506
1507 #. type: Plain text
1508 #: build/C/man2/chown.2:238
1509 msgid ""
1510 "If the file system is mounted with I<-o\\ grpid>, then the group of a new "
1511 "file is made the same as that of the parent directory."
1512 msgstr ""
1513
1514 #. type: Plain text
1515 #: build/C/man2/chown.2:244
1516 msgid ""
1517 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1518 "is disabled on the parent directory, then the group of a new file is made "
1519 "the same as the process's file system GID."
1520 msgstr ""
1521
1522 #. type: Plain text
1523 #: build/C/man2/chown.2:250
1524 msgid ""
1525 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1526 "is enabled on the parent directory, then the group of a new file is made the "
1527 "same as that of the parent directory."
1528 msgstr ""
1529
1530 #. type: Plain text
1531 #: build/C/man2/chown.2:260
1532 msgid ""
1533 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1534 "supported by ext2, ext3, ext4, and XFS.  File systems that don't support "
1535 "these mount options follow the I<-o\\ nogrpid> rules."
1536 msgstr ""
1537
1538 #. type: Plain text
1539 #: build/C/man2/chown.2:273
1540 msgid ""
1541 "The B<chown>()  semantics are deliberately violated on NFS file systems "
1542 "which have UID mapping enabled.  Additionally, the semantics of all system "
1543 "calls which access the file contents are violated, because B<chown>()  may "
1544 "cause immediate access revocation on already open files.  Client side "
1545 "caching may lead to a delay between the time where ownership have been "
1546 "changed to allow access for a user and the time where the file can actually "
1547 "be accessed by the user on other clients."
1548 msgstr ""
1549
1550 #. type: Plain text
1551 #: build/C/man2/chown.2:288
1552 msgid ""
1553 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1554 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1555 "symbolic links, and there is a new system call B<lchown>()  that does not "
1556 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1557 "semantics as the old B<chown>())  has got the same syscall number, and "
1558 "B<chown>()  got the newly introduced number."
1559 msgstr ""
1560
1561 #. type: Plain text
1562 #: build/C/man2/chown.2:297
1563 msgid ""
1564 "The following program changes the ownership of the file named in its second "
1565 "command-line argument to the value specified in its first command-line "
1566 "argument.  The new owner can be specified either as a numeric user ID, or as "
1567 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1568 "perform a lookup in the system password file)."
1569 msgstr ""
1570
1571 #. type: Plain text
1572 #: build/C/man2/chown.2:303
1573 #, no-wrap
1574 msgid ""
1575 "#include E<lt>pwd.hE<gt>\n"
1576 "#include E<lt>stdio.hE<gt>\n"
1577 "#include E<lt>stdlib.hE<gt>\n"
1578 "#include E<lt>unistd.hE<gt>\n"
1579 msgstr ""
1580
1581 #. type: Plain text
1582 #: build/C/man2/chown.2:310
1583 #, no-wrap
1584 msgid ""
1585 "int\n"
1586 "main(int argc, char *argv[])\n"
1587 "{\n"
1588 "    uid_t uid;\n"
1589 "    struct passwd *pwd;\n"
1590 "    char *endptr;\n"
1591 msgstr ""
1592
1593 #. type: Plain text
1594 #: build/C/man2/chown.2:315
1595 #, no-wrap
1596 msgid ""
1597 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
1598 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
1599 "argv[0]);\n"
1600 "        exit(EXIT_FAILURE);\n"
1601 "    }\n"
1602 msgstr ""
1603
1604 #. type: Plain text
1605 #: build/C/man2/chown.2:317
1606 #, no-wrap
1607 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
1608 msgstr ""
1609
1610 #. type: Plain text
1611 #: build/C/man2/chown.2:324
1612 #, no-wrap
1613 msgid ""
1614 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
1615 "*/\n"
1616 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
1617 "        if (pwd == NULL) {\n"
1618 "            perror(\"getpwnam\");\n"
1619 "            exit(EXIT_FAILURE);\n"
1620 "        }\n"
1621 msgstr ""
1622
1623 #. type: Plain text
1624 #: build/C/man2/chown.2:327
1625 #, no-wrap
1626 msgid ""
1627 "        uid = pwd-E<gt>pw_uid;\n"
1628 "    }\n"
1629 msgstr ""
1630
1631 #. type: Plain text
1632 #: build/C/man2/chown.2:332
1633 #, no-wrap
1634 msgid ""
1635 "    if (chown(argv[2], uid, -1) == -1) {\n"
1636 "        perror(\"chown\");\n"
1637 "        exit(EXIT_FAILURE);\n"
1638 "    }\n"
1639 msgstr ""
1640
1641 #. type: Plain text
1642 #: build/C/man2/chown.2:335 build/C/man2/execve.2:563 build/C/man3/getopt.3:428 build/C/man3/getopt.3:513
1643 #, no-wrap
1644 msgid ""
1645 "    exit(EXIT_SUCCESS);\n"
1646 "}\n"
1647 msgstr ""
1648
1649 #. type: Plain text
1650 #: build/C/man2/chown.2:342
1651 msgid ""
1652 "B<chmod>(2), B<fchownat>(2), B<flock>(2), B<path_resolution>(7), "
1653 "B<symlink>(7)"
1654 msgstr ""
1655
1656 #. type: TH
1657 #: build/C/man2/chroot.2:33
1658 #, no-wrap
1659 msgid "CHROOT"
1660 msgstr ""
1661
1662 #. type: Plain text
1663 #: build/C/man2/chroot.2:36
1664 msgid "chroot - change root directory"
1665 msgstr ""
1666
1667 #. type: Plain text
1668 #: build/C/man2/chroot.2:40
1669 msgid "B<int chroot(const char *>I<path>B<);>"
1670 msgstr ""
1671
1672 #. type: Plain text
1673 #: build/C/man2/chroot.2:47
1674 msgid "B<chroot>():"
1675 msgstr ""
1676
1677 #. type: TP
1678 #: build/C/man2/chroot.2:50
1679 #, no-wrap
1680 msgid "Since glibc 2.2.2:"
1681 msgstr ""
1682
1683 #. type: Plain text
1684 #: build/C/man2/chroot.2:57
1685 #, no-wrap
1686 msgid ""
1687 "_BSD_SOURCE ||\n"
1688 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1689 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1690 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1691 msgstr ""
1692
1693 #. type: Plain text
1694 #: build/C/man2/chroot.2:60
1695 msgid "Before glibc 2.2.2: none"
1696 msgstr ""
1697
1698 #. type: Plain text
1699 #: build/C/man2/chroot.2:69
1700 msgid ""
1701 "B<chroot>()  changes the root directory of the calling process to that "
1702 "specified in I<path>.  This directory will be used for pathnames beginning "
1703 "with I</>.  The root directory is inherited by all children of the calling "
1704 "process."
1705 msgstr ""
1706
1707 #. type: Plain text
1708 #: build/C/man2/chroot.2:74
1709 msgid ""
1710 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
1711 "may call B<chroot>()."
1712 msgstr ""
1713
1714 #. type: Plain text
1715 #: build/C/man2/chroot.2:77
1716 msgid ""
1717 "This call changes an ingredient in the pathname resolution process and does "
1718 "nothing else."
1719 msgstr ""
1720
1721 #. type: Plain text
1722 #: build/C/man2/chroot.2:83
1723 msgid ""
1724 "This call does not change the current working directory, so that after the "
1725 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
1726 "particular, the superuser can escape from a \"chroot jail\" by doing:"
1727 msgstr ""
1728
1729 #. type: Plain text
1730 #: build/C/man2/chroot.2:86
1731 #, no-wrap
1732 msgid "    mkdir foo; chroot foo; cd ..\n"
1733 msgstr ""
1734
1735 #. type: Plain text
1736 #: build/C/man2/chroot.2:90
1737 msgid ""
1738 "This call does not close open file descriptors, and such file descriptors "
1739 "may allow access to files outside the chroot tree."
1740 msgstr ""
1741
1742 #. type: Plain text
1743 #: build/C/man2/chroot.2:98
1744 msgid ""
1745 "Depending on the file system, other errors can be returned.  The more "
1746 "general errors are listed below:"
1747 msgstr ""
1748
1749 #. type: Plain text
1750 #: build/C/man2/chroot.2:134
1751 msgid "The caller has insufficient privilege."
1752 msgstr ""
1753
1754 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
1755 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
1756 #. type: Plain text
1757 #: build/C/man2/chroot.2:139
1758 msgid ""
1759 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
1760 "POSIX.1-2001."
1761 msgstr ""
1762
1763 #. type: Plain text
1764 #: build/C/man2/chroot.2:145
1765 msgid ""
1766 "A child process created via B<fork>(2)  inherits its parent's root "
1767 "directory.  The root directory is left unchanged by B<execve>(2)."
1768 msgstr ""
1769
1770 #.  FIXME . eventually say something about containers,
1771 #.  virtual servers, etc.?
1772 #. type: Plain text
1773 #: build/C/man2/chroot.2:151
1774 msgid "FreeBSD has a stronger B<jail>()  system call."
1775 msgstr ""
1776
1777 #. type: Plain text
1778 #: build/C/man2/chroot.2:154
1779 msgid "B<chdir>(2), B<path_resolution>(7)"
1780 msgstr ""
1781
1782 #. type: TH
1783 #: build/C/man2/close.2:35
1784 #, no-wrap
1785 msgid "CLOSE"
1786 msgstr ""
1787
1788 #. type: TH
1789 #: build/C/man2/close.2:35
1790 #, no-wrap
1791 msgid "2007-12-28"
1792 msgstr ""
1793
1794 #. type: Plain text
1795 #: build/C/man2/close.2:38
1796 msgid "close - close a file descriptor"
1797 msgstr ""
1798
1799 #. type: Plain text
1800 #: build/C/man2/close.2:43
1801 #, no-wrap
1802 msgid "B<int close(int >I<fd>B<);>\n"
1803 msgstr ""
1804
1805 #. type: Plain text
1806 #: build/C/man2/close.2:53
1807 msgid ""
1808 "B<close>()  closes a file descriptor, so that it no longer refers to any "
1809 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
1810 "file it was associated with, and owned by the process, are removed "
1811 "(regardless of the file descriptor that was used to obtain the lock)."
1812 msgstr ""
1813
1814 #. type: Plain text
1815 #: build/C/man2/close.2:64
1816 msgid ""
1817 "If I<fd> is the last file descriptor referring to the underlying open file "
1818 "description (see B<open>(2)), the resources associated with the open file "
1819 "description are freed; if the descriptor was the last reference to a file "
1820 "which has been removed using B<unlink>(2)  the file is deleted."
1821 msgstr ""
1822
1823 #. type: Plain text
1824 #: build/C/man2/close.2:70
1825 msgid ""
1826 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
1827 "is set appropriately."
1828 msgstr ""
1829
1830 #. type: Plain text
1831 #: build/C/man2/close.2:75
1832 msgid "I<fd> isn't a valid open file descriptor."
1833 msgstr ""
1834
1835 #. type: TP
1836 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1110 build/C/man2/flock.2:121 build/C/man2/truncate.2:133 build/C/man3/ualarm.3:85 build/C/man3/usleep.3:78
1837 #, no-wrap
1838 msgid "B<EINTR>"
1839 msgstr ""
1840
1841 #. type: Plain text
1842 #: build/C/man2/close.2:81
1843 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
1844 msgstr ""
1845
1846 #. type: Plain text
1847 #: build/C/man2/close.2:101
1848 msgid ""
1849 "Not checking the return value of B<close>()  is a common but nevertheless "
1850 "serious programming error.  It is quite possible that errors on a previous "
1851 "B<write>(2)  operation are first reported at the final B<close>().  Not "
1852 "checking the return value when closing the file may lead to silent loss of "
1853 "data.  This can especially be observed with NFS and with disk quota."
1854 msgstr ""
1855
1856 #. type: Plain text
1857 #: build/C/man2/close.2:110
1858 msgid ""
1859 "A successful close does not guarantee that the data has been successfully "
1860 "saved to disk, as the kernel defers writes.  It is not common for a file "
1861 "system to flush the buffers when the stream is closed.  If you need to be "
1862 "sure that the data is physically stored use B<fsync>(2).  (It will depend on "
1863 "the disk hardware at this point.)"
1864 msgstr ""
1865
1866 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
1867 #.  From: Fredrik Noring <noring@nocrew.org>
1868 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
1869 #.  in use by a system call is closed and then reused by e.g. an
1870 #.  independent open() in some unrelated thread, before the original system
1871 #.  call has restared after ERESTARTSYS, the original system call will
1872 #.  later restart with the reused file descriptor. This is most likely a
1873 #.  serious programming error.
1874 #. type: Plain text
1875 #: build/C/man2/close.2:125
1876 msgid ""
1877 "It is probably unwise to close file descriptors while they may be in use by "
1878 "system calls in other threads in the same process.  Since a file descriptor "
1879 "may be reused, there are some obscure race conditions that may cause "
1880 "unintended side effects."
1881 msgstr ""
1882
1883 #. type: Plain text
1884 #: build/C/man2/close.2:132
1885 msgid ""
1886 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
1887 "B<fclose>(3)"
1888 msgstr ""
1889
1890 #. type: TH
1891 #: build/C/man3/confstr.3:31
1892 #, no-wrap
1893 msgid "CONFSTR"
1894 msgstr ""
1895
1896 #. type: TH
1897 #: build/C/man3/confstr.3:31
1898 #, no-wrap
1899 msgid "2012-05-10"
1900 msgstr ""
1901
1902 #. type: TH
1903 #: 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
1904 #, no-wrap
1905 msgid "GNU"
1906 msgstr ""
1907
1908 #. type: Plain text
1909 #: build/C/man3/confstr.3:34
1910 msgid "confstr - get configuration dependent string variables"
1911 msgstr ""
1912
1913 #. type: Plain text
1914 #: build/C/man3/confstr.3:39
1915 #, no-wrap
1916 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1917 msgstr ""
1918
1919 #. type: Plain text
1920 #: build/C/man3/confstr.3:48
1921 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
1922 msgstr ""
1923
1924 #. type: Plain text
1925 #: build/C/man3/confstr.3:51
1926 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
1927 msgstr ""
1928
1929 #. type: Plain text
1930 #: build/C/man3/confstr.3:56
1931 msgid ""
1932 "The I<name> argument is the system variable to be queried.  The following "
1933 "variables are supported:"
1934 msgstr ""
1935
1936 #. type: TP
1937 #: build/C/man3/confstr.3:56
1938 #, no-wrap
1939 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
1940 msgstr ""
1941
1942 #. type: Plain text
1943 #: build/C/man3/confstr.3:60
1944 msgid ""
1945 "A string which identifies the GNU C library version on this system (e.g, "
1946 "\"glibc 2.3.4\")."
1947 msgstr ""
1948
1949 #. type: TP
1950 #: build/C/man3/confstr.3:60
1951 #, no-wrap
1952 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
1953 msgstr ""
1954
1955 #. type: Plain text
1956 #: build/C/man3/confstr.3:64
1957 msgid ""
1958 "A string which identifies the POSIX implementation supplied by this C "
1959 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
1960 msgstr ""
1961
1962 #. type: TP
1963 #: build/C/man3/confstr.3:64
1964 #, no-wrap
1965 msgid "B<_CS_PATH>"
1966 msgstr ""
1967
1968 #. type: Plain text
1969 #: build/C/man3/confstr.3:70
1970 msgid ""
1971 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
1972 "standard utilities can be found."
1973 msgstr ""
1974
1975 #. type: Plain text
1976 #: build/C/man3/confstr.3:86
1977 msgid ""
1978 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
1979 "of the string to I<buf> truncated to I<len - 1> bytes if necessary, with a "
1980 "null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by comparing "
1981 "the return value of B<confstr>()  against I<len>."
1982 msgstr ""
1983
1984 #. type: Plain text
1985 #: build/C/man3/confstr.3:94
1986 msgid ""
1987 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
1988 "as defined below."
1989 msgstr ""
1990
1991 #. type: Plain text
1992 #: build/C/man3/confstr.3:106
1993 msgid ""
1994 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
1995 "number of bytes (including the terminating null byte)  that would be "
1996 "required to hold the entire value of that variable.  This value may be "
1997 "greater than I<len>, which means that the value in I<buf> is truncated."
1998 msgstr ""
1999
2000 #. type: Plain text
2001 #: build/C/man3/confstr.3:121
2002 msgid ""
2003 "If I<name> is a valid configuration variable, but that variable does not "
2004 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2005 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2006 "set to B<EINVAL>."
2007 msgstr ""
2008
2009 #. type: Plain text
2010 #: build/C/man3/confstr.3:127
2011 msgid "If the value of I<name> is invalid."
2012 msgstr ""
2013
2014 #. type: Plain text
2015 #: 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:108
2016 msgid "POSIX.1-2001."
2017 msgstr ""
2018
2019 #. type: Plain text
2020 #: build/C/man3/confstr.3:132
2021 msgid ""
2022 "The following code fragment determines the path where to find the POSIX.2 "
2023 "system utilities:"
2024 msgstr ""
2025
2026 #. type: Plain text
2027 #: build/C/man3/confstr.3:138
2028 #, no-wrap
2029 msgid ""
2030 "char *pathbuf;\n"
2031 "size_t n;\n"
2032 msgstr ""
2033
2034 #. type: Plain text
2035 #: build/C/man3/confstr.3:144
2036 #, no-wrap
2037 msgid ""
2038 "n = confstr(_CS_PATH, NULL, (size_t) 0);\n"
2039 "pathbuf = malloc(n);\n"
2040 "if (pathbuf == NULL)\n"
2041 "    abort();\n"
2042 "confstr(_CS_PATH, pathbuf, n);\n"
2043 msgstr ""
2044
2045 #. type: Plain text
2046 #: build/C/man3/confstr.3:150
2047 msgid "B<sh>(1), B<exec>(3), B<system>(3)"
2048 msgstr ""
2049
2050 #. type: TH
2051 #: build/C/man3/crypt.3:36
2052 #, no-wrap
2053 msgid "CRYPT"
2054 msgstr ""
2055
2056 #. type: TH
2057 #: build/C/man3/crypt.3:36
2058 #, no-wrap
2059 msgid "2011-09-15"
2060 msgstr ""
2061
2062 #. type: Plain text
2063 #: build/C/man3/crypt.3:39
2064 msgid "crypt, crypt_r - password and data encryption"
2065 msgstr ""
2066
2067 #. type: Plain text
2068 #: build/C/man3/crypt.3:42
2069 #, no-wrap
2070 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2071 msgstr ""
2072
2073 #. type: Plain text
2074 #: build/C/man3/crypt.3:46
2075 #, no-wrap
2076 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2077 msgstr ""
2078
2079 #. type: Plain text
2080 #: build/C/man3/crypt.3:48
2081 #, no-wrap
2082 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2083 msgstr ""
2084
2085 #. type: Plain text
2086 #: build/C/man3/crypt.3:50
2087 #, no-wrap
2088 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2089 msgstr ""
2090
2091 #. type: Plain text
2092 #: build/C/man3/crypt.3:53
2093 #, no-wrap
2094 msgid ""
2095 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2096 "B<              struct crypt_data *>I<data>B<);>\n"
2097 msgstr ""
2098
2099 #. type: Plain text
2100 #: build/C/man3/crypt.3:56
2101 msgid "Link with I<-lcrypt>."
2102 msgstr ""
2103
2104 #. type: Plain text
2105 #: build/C/man3/crypt.3:62
2106 msgid ""
2107 "B<crypt>()  is the password encryption function.  It is based on the Data "
2108 "Encryption Standard algorithm with variations intended (among other things) "
2109 "to discourage use of hardware implementations of a key search."
2110 msgstr ""
2111
2112 #. type: Plain text
2113 #: build/C/man3/crypt.3:65
2114 msgid "I<key> is a user's typed password."
2115 msgstr ""
2116
2117 #. type: Plain text
2118 #: build/C/man3/crypt.3:71
2119 msgid ""
2120 "I<salt> is a two-character string chosen from the set "
2121 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2122 "algorithm in one of 4096 different ways."
2123 msgstr ""
2124
2125 #. type: Plain text
2126 #: build/C/man3/crypt.3:82
2127 msgid ""
2128 "By taking the lowest 7 bits of each of the first eight characters of the "
2129 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2130 "repeatedly a constant string (usually a string consisting of all zeros).  "
2131 "The returned value points to the encrypted password, a series of 13 "
2132 "printable ASCII characters (the first two characters represent the salt "
2133 "itself).  The return value points to static data whose content is "
2134 "overwritten by each call."
2135 msgstr ""
2136
2137 #. type: Plain text
2138 #: build/C/man3/crypt.3:84
2139 msgid "Warning: The key space consists of"
2140 msgstr ""
2141
2142 #. type: Plain text
2143 #: build/C/man3/crypt.3:99
2144 msgid ""
2145 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2146 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2147 "is available which will search the portion of this key space that is "
2148 "generally used by humans for passwords.  Hence, password selection should, "
2149 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2150 "program that checks for crackable passwords during the selection process is "
2151 "recommended."
2152 msgstr ""
2153
2154 #. type: Plain text
2155 #: build/C/man3/crypt.3:108
2156 msgid ""
2157 "The DES algorithm itself has a few quirks which make the use of the "
2158 "B<crypt>()  interface a very poor choice for anything other than password "
2159 "authentication.  If you are planning on using the B<crypt>()  interface for "
2160 "a cryptography project, don't do it: get a good book on encryption and one "
2161 "of the widely available DES libraries."
2162 msgstr ""
2163
2164 #. type: Plain text
2165 #: build/C/man3/crypt.3:120
2166 msgid ""
2167 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2168 "to by I<data> is used to store result data and bookkeeping information.  "
2169 "Other than allocating it, the only thing that the caller should do with this "
2170 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2171 "to B<crypt_r>()."
2172 msgstr ""
2173
2174 #. type: Plain text
2175 #: build/C/man3/crypt.3:123
2176 msgid ""
2177 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2178 "is returned."
2179 msgstr ""
2180
2181 #. type: TP
2182 #: build/C/man3/crypt.3:124 build/C/man3/encrypt.3:120 build/C/man3/fexecve.3:86 build/C/man2/fork.2:200
2183 #, no-wrap
2184 msgid "B<ENOSYS>"
2185 msgstr ""
2186
2187 #.  This level of detail is not necessary in this man page. . .
2188 #.  .PP
2189 #.  When encrypting a plain text P using DES with the key K results in the
2190 #.  encrypted text C, then the complementary plain text P' being encrypted
2191 #.  using the complementary key K' will result in the complementary encrypted
2192 #.  text C'.
2193 #.  .PP
2194 #.  Weak keys are keys which stay invariant under the DES key transformation.
2195 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2196 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2197 #.  .PP
2198 #.  There are six known half weak key pairs, which keys lead to the same
2199 #.  encrypted data.  Keys which are part of such key clusters should be
2200 #.  avoided.
2201 #.  Sorry, I could not find out what they are.
2202 #. "
2203 #.  .PP
2204 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2205 #.  .I codebook
2206 #.  mode that
2207 #.  .BR crypt ()
2208 #.  implements.  The
2209 #.  .BR crypt ()
2210 #.  interface should be used only for its intended purpose of password
2211 #.  verification, and should not be used as part of a data encryption tool.
2212 #.  .PP
2213 #.  The first and last three output bits of the fourth S-box can be
2214 #.  represented as function of their input bits.  Empiric studies have
2215 #.  shown that S-boxes partially compute the same output for similar input.
2216 #.  It is suspected that this may contain a back door which could allow the
2217 #.  NSA to decrypt DES encrypted data.
2218 #.  .PP
2219 #.  Making encrypted data computed using crypt() publicly available has
2220 #.  to be considered insecure for the given reasons.
2221 #. type: Plain text
2222 #: build/C/man3/crypt.3:163
2223 msgid ""
2224 "The B<crypt>()  function was not implemented, probably because of "
2225 "U.S.A. export restrictions."
2226 msgstr ""
2227
2228 #. type: Plain text
2229 #: build/C/man3/crypt.3:168
2230 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2231 msgstr ""
2232
2233 #. type: SS
2234 #: build/C/man3/crypt.3:169 build/C/man2/gethostname.2:140
2235 #, no-wrap
2236 msgid "Glibc notes"
2237 msgstr ""
2238
2239 #. type: Plain text
2240 #: build/C/man3/crypt.3:172
2241 msgid ""
2242 "The glibc2 version of this function supports additional encryption "
2243 "algorithms."
2244 msgstr ""
2245
2246 #. type: Plain text
2247 #: build/C/man3/crypt.3:177
2248 msgid ""
2249 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2250 "followed by a string terminated by \"$\":"
2251 msgstr ""
2252
2253 #. type: Plain text
2254 #: build/C/man3/crypt.3:180
2255 msgid "$I<id>$I<salt>$I<encrypted>"
2256 msgstr ""
2257
2258 #. type: Plain text
2259 #: build/C/man3/crypt.3:189
2260 msgid ""
2261 "then instead of using the DES machine, I<id> identifies the encryption "
2262 "method used and this then determines how the rest of the password string is "
2263 "interpreted.  The following values of I<id> are supported:"
2264 msgstr ""
2265
2266 #. type: tbl table
2267 #: build/C/man3/crypt.3:192
2268 #, no-wrap
2269 msgid "ID  | Method\n"
2270 msgstr ""
2271
2272 #. type: tbl table
2273 #: build/C/man3/crypt.3:193
2274 #, no-wrap
2275 msgid "_\n"
2276 msgstr ""
2277
2278 #. type: tbl table
2279 #: build/C/man3/crypt.3:194
2280 #, no-wrap
2281 msgid "1   | MD5\n"
2282 msgstr ""
2283
2284 #. type: tbl table
2285 #: build/C/man3/crypt.3:195
2286 #, no-wrap
2287 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2288 msgstr ""
2289
2290 #. type: tbl table
2291 #: build/C/man3/crypt.3:196
2292 #, no-wrap
2293 msgid "    | Linux distributions)\n"
2294 msgstr ""
2295
2296 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2297 #.  natively by glibc -- mtk, Jul 08
2298 #
2299 #.  md5 | Sun MD5
2300 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2301 #.  if any distros add the support.
2302 #. type: tbl table
2303 #: build/C/man3/crypt.3:203
2304 #, no-wrap
2305 msgid "5   | SHA-256 (since glibc 2.7)\n"
2306 msgstr ""
2307
2308 #. type: tbl table
2309 #: build/C/man3/crypt.3:204
2310 #, no-wrap
2311 msgid "6   | SHA-512 (since glibc 2.7)\n"
2312 msgstr ""
2313
2314 #. type: Plain text
2315 #: build/C/man3/crypt.3:211
2316 msgid ""
2317 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2318 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2319 msgstr ""
2320
2321 #. type: Plain text
2322 #: build/C/man3/crypt.3:216
2323 msgid ""
2324 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2325 "salt.  The encrypted part of the password string is the actual computed "
2326 "password.  The size of this string is fixed:"
2327 msgstr ""
2328
2329 #. type: tbl table
2330 #: build/C/man3/crypt.3:218
2331 #, no-wrap
2332 msgid "MD5     | 22 characters\n"
2333 msgstr ""
2334
2335 #. type: tbl table
2336 #: build/C/man3/crypt.3:219
2337 #, no-wrap
2338 msgid "SHA-256 | 43 characters\n"
2339 msgstr ""
2340
2341 #. type: tbl table
2342 #: build/C/man3/crypt.3:220
2343 #, no-wrap
2344 msgid "SHA-512 | 86 characters\n"
2345 msgstr ""
2346
2347 #. type: Plain text
2348 #: build/C/man3/crypt.3:229
2349 msgid ""
2350 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2351 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2352 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2353 msgstr ""
2354
2355 #. type: Plain text
2356 #: build/C/man3/crypt.3:235
2357 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2358 msgstr ""
2359
2360 #. type: TH
2361 #: build/C/man3/daemon.3:36
2362 #, no-wrap
2363 msgid "DAEMON"
2364 msgstr ""
2365
2366 #. type: TH
2367 #: build/C/man3/daemon.3:36
2368 #, no-wrap
2369 msgid "2009-12-05"
2370 msgstr ""
2371
2372 #. type: Plain text
2373 #: build/C/man3/daemon.3:39
2374 msgid "daemon - run in the background"
2375 msgstr ""
2376
2377 #. type: Plain text
2378 #: build/C/man3/daemon.3:43
2379 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2380 msgstr ""
2381
2382 #. type: Plain text
2383 #: build/C/man3/daemon.3:51
2384 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2385 msgstr ""
2386
2387 #. type: Plain text
2388 #: build/C/man3/daemon.3:56
2389 msgid ""
2390 "The B<daemon>()  function is for programs wishing to detach themselves from "
2391 "the controlling terminal and run in the background as system daemons."
2392 msgstr ""
2393
2394 #. type: Plain text
2395 #: build/C/man3/daemon.3:64
2396 msgid ""
2397 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2398 "working directory to the root directory (\"/\"); otherwise, the current "
2399 "working directory is left unchanged."
2400 msgstr ""
2401
2402 #. type: Plain text
2403 #: build/C/man3/daemon.3:72
2404 msgid ""
2405 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2406 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2407 "these file descriptors."
2408 msgstr ""
2409
2410 #.  not .IR in order not to underline _
2411 #. type: Plain text
2412 #: build/C/man3/daemon.3:90
2413 msgid ""
2414 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2415 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2416 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2417 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2418 "B<setsid>(2)."
2419 msgstr ""
2420
2421 #. type: Plain text
2422 #: build/C/man3/daemon.3:96
2423 msgid ""
2424 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2425 "B<daemon>()  function first appeared in 4.4BSD."
2426 msgstr ""
2427
2428 #. type: Plain text
2429 #: build/C/man3/daemon.3:104
2430 msgid ""
2431 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2432 "not a character device with the expected major and minor numbers.  In this "
2433 "case I<errno> need not be set."
2434 msgstr ""
2435
2436 #. type: Plain text
2437 #: build/C/man3/daemon.3:107
2438 msgid "B<fork>(2), B<setsid>(2)"
2439 msgstr ""
2440
2441 #. type: TH
2442 #: build/C/man3/des_crypt.3:14
2443 #, no-wrap
2444 msgid "DES_CRYPT"
2445 msgstr ""
2446
2447 #. type: TH
2448 #: build/C/man3/des_crypt.3:14
2449 #, no-wrap
2450 msgid "2007-05-18"
2451 msgstr ""
2452
2453 #. type: Plain text
2454 #: build/C/man3/des_crypt.3:18
2455 msgid ""
2456 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2457 "encryption"
2458 msgstr ""
2459
2460 #.  Sun version
2461 #.  .B #include <des_crypt.h>
2462 #. type: Plain text
2463 #: build/C/man3/des_crypt.3:23
2464 #, no-wrap
2465 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2466 msgstr ""
2467
2468 #. type: Plain text
2469 #: build/C/man3/des_crypt.3:26
2470 #, no-wrap
2471 msgid ""
2472 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2473 ">I<datalen>B<,>\n"
2474 "B<              unsigned >I<mode>B<);>\n"
2475 msgstr ""
2476
2477 #. type: Plain text
2478 #: build/C/man3/des_crypt.3:29
2479 #, no-wrap
2480 msgid ""
2481 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2482 ">I<datalen>B<,>\n"
2483 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2484 msgstr ""
2485
2486 #. type: Plain text
2487 #: build/C/man3/des_crypt.3:31
2488 #, no-wrap
2489 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2490 msgstr ""
2491
2492 #. type: Plain text
2493 #: build/C/man3/des_crypt.3:33
2494 #, no-wrap
2495 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2496 msgstr ""
2497
2498 #. type: Plain text
2499 #: build/C/man3/des_crypt.3:63
2500 msgid ""
2501 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2502 "Standard).  These routines are faster and more general purpose than "
2503 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2504 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2505 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2506 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2507 "CBC mode protects against insertions, deletions and substitutions of "
2508 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2509 "text."
2510 msgstr ""
2511
2512 #. type: Plain text
2513 #: build/C/man3/des_crypt.3:106
2514 msgid ""
2515 "Here is how to use these routines.  The first argument, I<key>, is the "
2516 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2517 "is in the low bit of each byte, use B<des_setparity>().  The second "
2518 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2519 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2520 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2521 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2522 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2523 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2524 "hardware, then the encryption is performed in software and the routine "
2525 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2526 "the 8-byte initialization vector for the chaining.  It is updated to the "
2527 "next initialization vector upon return."
2528 msgstr ""
2529
2530 #. type: TP
2531 #: build/C/man3/des_crypt.3:108
2532 #, no-wrap
2533 msgid "B<DESERR_NONE>"
2534 msgstr ""
2535
2536 #. type: Plain text
2537 #: build/C/man3/des_crypt.3:111
2538 msgid "No error."
2539 msgstr ""
2540
2541 #. type: TP
2542 #: build/C/man3/des_crypt.3:111
2543 #, no-wrap
2544 msgid "B<DESERR_NOHWDEVICE>"
2545 msgstr ""
2546
2547 #. type: Plain text
2548 #: build/C/man3/des_crypt.3:114
2549 msgid ""
2550 "Encryption succeeded, but done in software instead of the requested "
2551 "hardware."
2552 msgstr ""
2553
2554 #. type: TP
2555 #: build/C/man3/des_crypt.3:114
2556 #, no-wrap
2557 msgid "B<DESERR_HWERROR>"
2558 msgstr ""
2559
2560 #. type: Plain text
2561 #: build/C/man3/des_crypt.3:117
2562 msgid "An error occurred in the hardware or driver."
2563 msgstr ""
2564
2565 #. type: TP
2566 #: build/C/man3/des_crypt.3:117
2567 #, no-wrap
2568 msgid "B<DESERR_BADPARAM>"
2569 msgstr ""
2570
2571 #. type: Plain text
2572 #: build/C/man3/des_crypt.3:120
2573 msgid "Bad argument to routine."
2574 msgstr ""
2575
2576 #.  .BR DES_FAILED\c
2577 #.  .BR ( stat )
2578 #.  So far the Sun page
2579 #.  Some additions - aeb
2580 #. type: Plain text
2581 #: build/C/man3/des_crypt.3:131
2582 msgid ""
2583 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
2584 "only for the first two statuses."
2585 msgstr ""
2586
2587 #. type: SH
2588 #: build/C/man3/des_crypt.3:131 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:69 build/C/man3/exec.3:195 build/C/man2/exit_group.2:41 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:42 build/C/man2/gettid.2:54 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/pread.2:104 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:60
2589 #, no-wrap
2590 msgid "VERSIONS"
2591 msgstr ""
2592
2593 #. type: Plain text
2594 #: build/C/man3/des_crypt.3:134
2595 msgid ""
2596 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
2597 "later."
2598 msgstr ""
2599
2600 #. type: Plain text
2601 #: build/C/man3/des_crypt.3:137
2602 msgid "4.3BSD.  Not in POSIX.1-2001."
2603 msgstr ""
2604
2605 #. type: Plain text
2606 #: build/C/man3/des_crypt.3:141
2607 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
2608 msgstr ""
2609
2610 #. type: TH
2611 #: build/C/man2/dup.2:36
2612 #, no-wrap
2613 msgid "DUP"
2614 msgstr ""
2615
2616 #. type: TH
2617 #: build/C/man2/dup.2:36
2618 #, no-wrap
2619 msgid "2012-02-14"
2620 msgstr ""
2621
2622 #. type: Plain text
2623 #: build/C/man2/dup.2:39
2624 msgid "dup, dup2, dup3 - duplicate a file descriptor"
2625 msgstr ""
2626
2627 #. type: Plain text
2628 #: build/C/man2/dup.2:45
2629 #, no-wrap
2630 msgid ""
2631 "B<int dup(int >I<oldfd>B<);>\n"
2632 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
2633 msgstr ""
2634
2635 #. type: Plain text
2636 #: build/C/man2/dup.2:49
2637 #, no-wrap
2638 msgid ""
2639 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
2640 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
2641 "definitions */\n"
2642 "B<#include E<lt>unistd.hE<gt>>\n"
2643 msgstr ""
2644
2645 #. type: Plain text
2646 #: build/C/man2/dup.2:51
2647 #, no-wrap
2648 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
2649 msgstr ""
2650
2651 #. type: Plain text
2652 #: build/C/man2/dup.2:55
2653 msgid "These system calls create a copy of the file descriptor I<oldfd>."
2654 msgstr ""
2655
2656 #. type: Plain text
2657 #: build/C/man2/dup.2:58
2658 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
2659 msgstr ""
2660
2661 #. type: Plain text
2662 #: build/C/man2/dup.2:62
2663 msgid ""
2664 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
2665 "necessary, but note the following:"
2666 msgstr ""
2667
2668 #. type: Plain text
2669 #: build/C/man2/dup.2:68
2670 msgid ""
2671 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
2672 "I<newfd> is not closed."
2673 msgstr ""
2674
2675 #. type: Plain text
2676 #: build/C/man2/dup.2:79
2677 msgid ""
2678 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
2679 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
2680 msgstr ""
2681
2682 #. type: Plain text
2683 #: build/C/man2/dup.2:88
2684 msgid ""
2685 "After a successful return from one of these system calls, the old and new "
2686 "file descriptors may be used interchangeably.  They refer to the same open "
2687 "file description (see B<open>(2))  and thus share file offset and file "
2688 "status flags; for example, if the file offset is modified by using "
2689 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
2690 "other."
2691 msgstr ""
2692
2693 #. type: Plain text
2694 #: build/C/man2/dup.2:96
2695 msgid ""
2696 "The two descriptors do not share file descriptor flags (the close-on-exec "
2697 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
2698 "duplicate descriptor is off."
2699 msgstr ""
2700
2701 #. type: Plain text
2702 #: build/C/man2/dup.2:101
2703 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
2704 msgstr ""
2705
2706 #. type: Plain text
2707 #: build/C/man2/dup.2:110
2708 msgid ""
2709 "The caller can force the close-on-exec flag to be set for the new file "
2710 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
2711 "the same flag in B<open>(2)  for reasons why this may be useful."
2712 msgstr ""
2713
2714 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2715 #. type: Plain text
2716 #: build/C/man2/dup.2:120
2717 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
2718 msgstr ""
2719
2720 #. type: Plain text
2721 #: build/C/man2/dup.2:126
2722 msgid ""
2723 "On success, these system calls return the new descriptor.  On error, -1 is "
2724 "returned, and I<errno> is set appropriately."
2725 msgstr ""
2726
2727 #. type: Plain text
2728 #: build/C/man2/dup.2:133
2729 msgid ""
2730 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
2731 "range for file descriptors."
2732 msgstr ""
2733
2734 #. type: TP
2735 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
2736 #, no-wrap
2737 msgid "B<EBUSY>"
2738 msgstr ""
2739
2740 #. type: Plain text
2741 #: build/C/man2/dup.2:143
2742 msgid ""
2743 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
2744 "condition with B<open>(2)  and B<dup>()."
2745 msgstr ""
2746
2747 #. type: Plain text
2748 #: build/C/man2/dup.2:151
2749 msgid ""
2750 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
2751 "B<signal>(7)."
2752 msgstr ""
2753
2754 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2755 #. type: Plain text
2756 #: build/C/man2/dup.2:161
2757 msgid ""
2758 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
2759 "I<newfd>."
2760 msgstr ""
2761
2762 #. type: TP
2763 #: build/C/man2/dup.2:161 build/C/man2/execve.2:408 build/C/man2/fcntl.2:1132 build/C/man3/getlogin.3:103
2764 #, no-wrap
2765 msgid "B<EMFILE>"
2766 msgstr ""
2767
2768 #. type: Plain text
2769 #: build/C/man2/dup.2:165
2770 msgid ""
2771 "The process already has the maximum number of file descriptors open and "
2772 "tried to open a new one."
2773 msgstr ""
2774
2775 #. type: Plain text
2776 #: build/C/man2/dup.2:170
2777 msgid ""
2778 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
2779 "starting with version 2.9."
2780 msgstr ""
2781
2782 #. type: Plain text
2783 #: build/C/man2/dup.2:174
2784 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
2785 msgstr ""
2786
2787 #.  SVr4 documents additional
2788 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
2789 #.  The EBUSY return is Linux-specific.
2790 #. type: Plain text
2791 #: build/C/man2/dup.2:180
2792 msgid "B<dup3>()  is Linux-specific."
2793 msgstr ""
2794
2795 #. type: Plain text
2796 #: build/C/man2/dup.2:194
2797 msgid ""
2798 "The error returned by B<dup2>()  is different from that returned by "
2799 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
2800 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
2801 msgstr ""
2802
2803 #. type: Plain text
2804 #: build/C/man2/dup.2:207
2805 msgid ""
2806 "If I<newfd> was open, any errors that would have been reported at "
2807 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
2808 "B<dup3>()  without closing I<newfd> first."
2809 msgstr ""
2810
2811 #. type: Plain text
2812 #: build/C/man2/dup.2:211
2813 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
2814 msgstr ""
2815
2816 #. type: TH
2817 #: build/C/man3/encrypt.3:30
2818 #, no-wrap
2819 msgid "ENCRYPT"
2820 msgstr ""
2821
2822 #. type: TH
2823 #: build/C/man3/encrypt.3:30
2824 #, no-wrap
2825 msgid "2003-04-04"
2826 msgstr ""
2827
2828 #. type: Plain text
2829 #: build/C/man3/encrypt.3:33
2830 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
2831 msgstr ""
2832
2833 #. type: Plain text
2834 #: build/C/man3/encrypt.3:35 build/C/man3/encrypt.3:41
2835 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
2836 msgstr ""
2837
2838 #. type: Plain text
2839 #: build/C/man3/encrypt.3:39
2840 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
2841 msgstr ""
2842
2843 #. type: Plain text
2844 #: build/C/man3/encrypt.3:43
2845 msgid "B<#include E<lt>stdlib.hE<gt>>"
2846 msgstr ""
2847
2848 #. type: Plain text
2849 #: build/C/man3/encrypt.3:45
2850 msgid "B<void setkey(const char *>I<key>B<);>"
2851 msgstr ""
2852
2853 #. type: Plain text
2854 #: build/C/man3/encrypt.3:47 build/C/man3/getumask.3:33
2855 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
2856 msgstr ""
2857
2858 #. type: Plain text
2859 #: build/C/man3/encrypt.3:49
2860 msgid "B<#include E<lt>crypt.hE<gt>>"
2861 msgstr ""
2862
2863 #. type: Plain text
2864 #: build/C/man3/encrypt.3:51
2865 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
2866 msgstr ""
2867
2868 #. type: Plain text
2869 #: build/C/man3/encrypt.3:54
2870 msgid ""
2871 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
2872 "*>I<data>B<);>"
2873 msgstr ""
2874
2875 #. type: Plain text
2876 #: build/C/man3/encrypt.3:56
2877 msgid "Each of these requires linking with I<-lcrypt>."
2878 msgstr ""
2879
2880 #. type: Plain text
2881 #: build/C/man3/encrypt.3:68
2882 msgid ""
2883 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
2884 "function sets the key used by B<encrypt>().  The I<key> argument used here "
2885 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
2886 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
2887 "56 bits."
2888 msgstr ""
2889
2890 #. type: Plain text
2891 #: build/C/man3/encrypt.3:80
2892 msgid ""
2893 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
2894 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
2895 "I<block> is a bit vector representation of the actual value that is "
2896 "encoded.  The result is returned in that same vector."
2897 msgstr ""
2898
2899 #. type: Plain text
2900 #: build/C/man3/encrypt.3:90
2901 msgid ""
2902 "These two functions are not reentrant, that is, the key data is kept in "
2903 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
2904 "reentrant versions.  They use the following structure to hold the key data:"
2905 msgstr ""
2906
2907 #. type: Plain text
2908 #: build/C/man3/encrypt.3:105
2909 #, no-wrap
2910 msgid ""
2911 "struct crypt_data {\n"
2912 "    char     keysched[16 * 8];\n"
2913 "    char     sb0[32768];\n"
2914 "    char     sb1[32768];\n"
2915 "    char     sb2[32768];\n"
2916 "    char     sb3[32768];\n"
2917 "    char     crypt_3_buf[14];\n"
2918 "    char     current_salt[2];\n"
2919 "    long int current_saltbits;\n"
2920 "    int      direction;\n"
2921 "    int      initialized;\n"
2922 "};\n"
2923 msgstr ""
2924
2925 #. type: Plain text
2926 #: build/C/man3/encrypt.3:113
2927 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
2928 msgstr ""
2929
2930 #. type: Plain text
2931 #: build/C/man3/encrypt.3:115
2932 msgid "These functions do not return any value."
2933 msgstr ""
2934
2935 #. type: Plain text
2936 #: build/C/man3/encrypt.3:120
2937 msgid ""
2938 "Set I<errno> to zero before calling the above functions.  On success, it is "
2939 "unchanged."
2940 msgstr ""
2941
2942 #. type: Plain text
2943 #: build/C/man3/encrypt.3:124
2944 msgid ""
2945 "The function is not provided.  (For example because of former USA export "
2946 "restrictions.)"
2947 msgstr ""
2948
2949 #. type: Plain text
2950 #: build/C/man3/encrypt.3:135
2951 msgid ""
2952 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
2953 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
2954 "extensions."
2955 msgstr ""
2956
2957 #. type: Plain text
2958 #: build/C/man3/encrypt.3:137
2959 msgid "In glibc 2.2 these functions use the DES algorithm."
2960 msgstr ""
2961
2962 #. type: Plain text
2963 #: build/C/man3/encrypt.3:144
2964 msgid ""
2965 "You need to link with libcrypt to compile this example with glibc.  To do "
2966 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
2967 "bit pattern."
2968 msgstr ""
2969
2970 #. type: Plain text
2971 #: build/C/man3/encrypt.3:149
2972 #, no-wrap
2973 msgid ""
2974 "#define _XOPEN_SOURCE\n"
2975 "#include E<lt>unistd.hE<gt>\n"
2976 "#include E<lt>stdlib.hE<gt>\n"
2977 msgstr ""
2978
2979 #. type: Plain text
2980 #: build/C/man3/encrypt.3:155
2981 #, no-wrap
2982 msgid ""
2983 "int\n"
2984 "main(void)\n"
2985 "{\n"
2986 "    char key[64];      /* bit pattern for key */\n"
2987 "    char txt[64];      /* bit pattern for messages */\n"
2988 msgstr ""
2989
2990 #. type: Plain text
2991 #: build/C/man3/encrypt.3:160
2992 #, no-wrap
2993 msgid ""
2994 "    setkey(key);\n"
2995 "    encrypt(txt, 0);   /* encode */\n"
2996 "    encrypt(txt, 1);   /* decode */\n"
2997 "}\n"
2998 msgstr ""
2999
3000 #.  .BR fcrypt (3)
3001 #. type: Plain text
3002 #: build/C/man3/encrypt.3:166
3003 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3004 msgstr ""
3005
3006 #. type: TH
3007 #: build/C/man7/environ.7:34
3008 #, no-wrap
3009 msgid "ENVIRON"
3010 msgstr ""
3011
3012 #. type: TH
3013 #: build/C/man7/environ.7:34
3014 #, no-wrap
3015 msgid "2009-07-25"
3016 msgstr ""
3017
3018 #. type: Plain text
3019 #: build/C/man7/environ.7:37
3020 msgid "environ - user environment"
3021 msgstr ""
3022
3023 #. type: Plain text
3024 #: build/C/man7/environ.7:40
3025 #, no-wrap
3026 msgid "B<extern char **>I<environ>B<;>\n"
3027 msgstr ""
3028
3029 #. type: Plain text
3030 #: build/C/man7/environ.7:57
3031 msgid ""
3032 "The variable I<environ> points to an array of pointers to strings called the "
3033 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3034 "variable must be declared in the user program, but is declared in the header "
3035 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3036 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3037 "This array of strings is made available to the process by the B<exec>(3)  "
3038 "call that started the process."
3039 msgstr ""
3040
3041 #. type: Plain text
3042 #: build/C/man7/environ.7:62
3043 msgid ""
3044 "By convention the strings in I<environ> have the form "
3045 "\"I<name>B<=>I<value>\".  Common examples are:"
3046 msgstr ""
3047
3048 #. type: TP
3049 #: build/C/man7/environ.7:62
3050 #, no-wrap
3051 msgid "B<USER>"
3052 msgstr ""
3053
3054 #. type: Plain text
3055 #: build/C/man7/environ.7:65
3056 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3057 msgstr ""
3058
3059 #. type: TP
3060 #: build/C/man7/environ.7:65
3061 #, no-wrap
3062 msgid "B<LOGNAME>"
3063 msgstr ""
3064
3065 #. type: Plain text
3066 #: build/C/man7/environ.7:68
3067 msgid "The name of the logged-in user (used by some System-V derived programs)."
3068 msgstr ""
3069
3070 #. type: TP
3071 #: build/C/man7/environ.7:68
3072 #, no-wrap
3073 msgid "B<HOME>"
3074 msgstr ""
3075
3076 #. type: Plain text
3077 #: build/C/man7/environ.7:74
3078 msgid ""
3079 "A user's login directory, set by B<login>(1)  from the password file "
3080 "B<passwd>(5)."
3081 msgstr ""
3082
3083 #. type: TP
3084 #: build/C/man7/environ.7:74
3085 #, no-wrap
3086 msgid "B<LANG>"
3087 msgstr ""
3088
3089 #. type: Plain text
3090 #: build/C/man7/environ.7:81
3091 msgid ""
3092 "The name of a locale to use for locale categories when not overridden by "
3093 "B<LC_ALL> or more specific environment variables like B<LC_COLLATE>, "
3094 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME>, cf.  "
3095 "B<locale>(5)."
3096 msgstr ""
3097
3098 #. type: TP
3099 #: build/C/man7/environ.7:81
3100 #, no-wrap
3101 msgid "B<PATH>"
3102 msgstr ""
3103
3104 #. type: Plain text
3105 #: build/C/man7/environ.7:92
3106 msgid ""
3107 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3108 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3109 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3110 "shells to find the target of a change directory command, B<MANPATH> used by "
3111 "B<man>(1)  to find manual pages, and so on)"
3112 msgstr ""
3113
3114 #. type: TP
3115 #: build/C/man7/environ.7:92
3116 #, no-wrap
3117 msgid "B<PWD>"
3118 msgstr ""
3119
3120 #. type: Plain text
3121 #: build/C/man7/environ.7:96
3122 msgid "The current working directory.  Set by some shells."
3123 msgstr ""
3124
3125 #. type: TP
3126 #: build/C/man7/environ.7:96
3127 #, no-wrap
3128 msgid "B<SHELL>"
3129 msgstr ""
3130
3131 #. type: Plain text
3132 #: build/C/man7/environ.7:99
3133 msgid "The pathname of the user's login shell."
3134 msgstr ""
3135
3136 #. type: TP
3137 #: build/C/man7/environ.7:99
3138 #, no-wrap
3139 msgid "B<TERM>"
3140 msgstr ""
3141
3142 #. type: Plain text
3143 #: build/C/man7/environ.7:102
3144 msgid "The terminal type for which output is to be prepared."
3145 msgstr ""
3146
3147 #. type: TP
3148 #: build/C/man7/environ.7:102
3149 #, no-wrap
3150 msgid "B<PAGER>"
3151 msgstr ""
3152
3153 #. type: Plain text
3154 #: build/C/man7/environ.7:105
3155 msgid "The user's preferred utility to display text files."
3156 msgstr ""
3157
3158 #. type: TP
3159 #: build/C/man7/environ.7:105
3160 #, no-wrap
3161 msgid "B<EDITOR>/B<VISUAL>"
3162 msgstr ""
3163
3164 #.  .TP
3165 #.  .B BROWSER
3166 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3167 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3168 #. type: Plain text
3169 #: build/C/man7/environ.7:112
3170 msgid "The user's preferred utility to edit text files."
3171 msgstr ""
3172
3173 #. type: Plain text
3174 #: build/C/man7/environ.7:127
3175 msgid ""
3176 "Further names may be placed in the environment by the I<export> command and "
3177 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3178 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3179 "an B<exec>(3).  A C program can manipulate its environment using the "
3180 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3181 msgstr ""
3182
3183 #. type: Plain text
3184 #: build/C/man7/environ.7:131
3185 msgid ""
3186 "Note that the behavior of many programs and library routines is influenced "
3187 "by the presence or value of certain environment variables.  A random "
3188 "collection:"
3189 msgstr ""
3190
3191 #. type: Plain text
3192 #: build/C/man7/environ.7:137
3193 msgid ""
3194 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3195 "B<LC_MESSAGES>, etc. influence locale handling, cf.  B<locale>(5)."
3196 msgstr ""
3197
3198 #. type: Plain text
3199 #: build/C/man7/environ.7:144
3200 msgid ""
3201 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3202 "other routines, the temporary directory used by B<sort>(1)  and other "
3203 "programs, etc."
3204 msgstr ""
3205
3206 #. type: Plain text
3207 #: build/C/man7/environ.7:148
3208 msgid ""
3209 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3210 "behavior of the dynamic loader/linker."
3211 msgstr ""
3212
3213 #. type: Plain text
3214 #: build/C/man7/environ.7:152
3215 msgid ""
3216 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3217 "prescriptions of POSIX."
3218 msgstr ""
3219
3220 #. type: Plain text
3221 #: build/C/man7/environ.7:158
3222 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3223 msgstr ""
3224
3225 #. type: Plain text
3226 #: build/C/man7/environ.7:164
3227 msgid ""
3228 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3229 "be used with B<gethostbyname>(3)."
3230 msgstr ""
3231
3232 #. type: Plain text
3233 #: build/C/man7/environ.7:175
3234 msgid ""
3235 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3236 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3237 "B<strftime>(3).  See also B<tzselect>(8)."
3238 msgstr ""
3239
3240 #. type: Plain text
3241 #: build/C/man7/environ.7:179
3242 msgid ""
3243 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3244 "the name of a file containing such information)."
3245 msgstr ""
3246
3247 #. type: Plain text
3248 #: build/C/man7/environ.7:182
3249 msgid ""
3250 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3251 "overriding the actual size."
3252 msgstr ""
3253
3254 #. type: Plain text
3255 #: build/C/man7/environ.7:187
3256 msgid ""
3257 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3258 "B<lpr>(1)."
3259 msgstr ""
3260
3261 #. type: Plain text
3262 #: build/C/man7/environ.7:189
3263 msgid "Etc."
3264 msgstr ""
3265
3266 #. type: Plain text
3267 #: build/C/man7/environ.7:194
3268 msgid ""
3269 "Clearly there is a security risk here.  Many a system command has been "
3270 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3271 "B<LD_LIBRARY_PATH>."
3272 msgstr ""
3273
3274 #. type: Plain text
3275 #: build/C/man7/environ.7:227
3276 msgid ""
3277 "There is also the risk of name space pollution.  Programs like I<make> and "
3278 "I<autoconf> allow overriding of default utility names from the environment "
3279 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3280 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3281 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3282 "environment variable gives options for the program instead of a pathname.  "
3283 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3284 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3285 "consider renaming their option to B<GZIP_OPT>."
3286 msgstr ""
3287
3288 #. type: Plain text
3289 #: build/C/man7/environ.7:241
3290 msgid ""
3291 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3292 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3293 "B<unsetenv>(3), B<locale>(5)"
3294 msgstr ""
3295
3296 #. type: TH
3297 #: build/C/man3/euidaccess.3:25
3298 #, no-wrap
3299 msgid "EUIDACCESS"
3300 msgstr ""
3301
3302 #. type: TH
3303 #: build/C/man3/euidaccess.3:25 build/C/man3/getopt.3:41
3304 #, no-wrap
3305 msgid "2010-11-01"
3306 msgstr ""
3307
3308 #. type: Plain text
3309 #: build/C/man3/euidaccess.3:28
3310 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3311 msgstr ""
3312
3313 #. type: Plain text
3314 #: build/C/man3/euidaccess.3:32
3315 #, no-wrap
3316 msgid ""
3317 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3318 "B<#include E<lt>unistd.hE<gt>>\n"
3319 msgstr ""
3320
3321 #. type: Plain text
3322 #: build/C/man3/euidaccess.3:35
3323 #, no-wrap
3324 msgid ""
3325 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3326 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3327 msgstr ""
3328
3329 #. type: Plain text
3330 #: build/C/man3/euidaccess.3:47
3331 msgid ""
3332 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3333 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3334 "performs checks using the real user and group identifiers of the process, "
3335 "B<euidaccess>()  uses the effective identifiers."
3336 msgstr ""
3337
3338 #. type: Plain text
3339 #: build/C/man3/euidaccess.3:53
3340 msgid ""
3341 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK> and "
3342 "B<F_OK>, with the same meanings as for B<access>(2)."
3343 msgstr ""
3344
3345 #. type: Plain text
3346 #: build/C/man3/euidaccess.3:58
3347 msgid ""
3348 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3349 "with some other systems."
3350 msgstr ""
3351
3352 #. type: Plain text
3353 #: build/C/man3/euidaccess.3:69
3354 msgid "As for B<access>(2)."
3355 msgstr ""
3356
3357 #. type: Plain text
3358 #: build/C/man3/euidaccess.3:73
3359 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3360 msgstr ""
3361
3362 #.  e.g., FreeBSD 6.1.
3363 #. type: Plain text
3364 #: build/C/man3/euidaccess.3:79
3365 msgid ""
3366 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3367 "function."
3368 msgstr ""
3369
3370 #. type: Plain text
3371 #: build/C/man3/euidaccess.3:86
3372 msgid ""
3373 "I<Warning>: Using this function to check a process's permissions on a file "
3374 "before performing some operation based on that information leads to race "
3375 "conditions: the file permissions may change between the two steps.  "
3376 "Generally, it is safer just to attempt the desired operation and handle any "
3377 "permission error that occurs."
3378 msgstr ""
3379
3380 #. type: Plain text
3381 #: build/C/man3/euidaccess.3:94
3382 msgid ""
3383 "This function always dereferences symbolic links.  If you need to check the "
3384 "permissions on a symbolic link, use B<faccessat>(2)  with the flags "
3385 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3386 msgstr ""
3387
3388 #. type: Plain text
3389 #: build/C/man3/euidaccess.3:105
3390 msgid ""
3391 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3392 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3393 "B<path_resolution>(7)"
3394 msgstr ""
3395
3396 #. type: TH
3397 #: build/C/man3/exec.3:41
3398 #, no-wrap
3399 msgid "EXEC"
3400 msgstr ""
3401
3402 #. type: TH
3403 #: build/C/man3/exec.3:41
3404 #, no-wrap
3405 msgid "2010-09-25"
3406 msgstr ""
3407
3408 #. type: Plain text
3409 #: build/C/man3/exec.3:44
3410 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3411 msgstr ""
3412
3413 #. type: Plain text
3414 #: build/C/man3/exec.3:48
3415 msgid "B<extern char **environ;>"
3416 msgstr ""
3417
3418 #. type: Plain text
3419 #: build/C/man3/exec.3:50
3420 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3421 msgstr ""
3422
3423 #. type: Plain text
3424 #: build/C/man3/exec.3:52
3425 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3426 msgstr ""
3427
3428 #. type: Plain text
3429 #: build/C/man3/exec.3:54
3430 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3431 msgstr ""
3432
3433 #. type: Plain text
3434 #: build/C/man3/exec.3:56
3435 msgid "B< ..., char * const >I<envp>B<[]);>"
3436 msgstr ""
3437
3438 #. type: Plain text
3439 #: build/C/man3/exec.3:58
3440 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3441 msgstr ""
3442
3443 #. type: Plain text
3444 #: build/C/man3/exec.3:60
3445 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3446 msgstr ""
3447
3448 #. type: Plain text
3449 #: build/C/man3/exec.3:62
3450 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3451 msgstr ""
3452
3453 #. type: Plain text
3454 #: build/C/man3/exec.3:64 build/C/man2/execve.2:46
3455 msgid "B< char *const >I<envp>B<[]);>"
3456 msgstr ""
3457
3458 #. type: Plain text
3459 #: build/C/man3/exec.3:72
3460 msgid "B<execvpe>(): _GNU_SOURCE"
3461 msgstr ""
3462
3463 #. type: Plain text
3464 #: build/C/man3/exec.3:82
3465 msgid ""
3466 "The B<exec>()  family of functions replaces the current process image with a "
3467 "new process image.  The functions described in this manual page are "
3468 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3469 "further details about the replacement of the current process image.)"
3470 msgstr ""
3471
3472 #. type: Plain text
3473 #: build/C/man3/exec.3:85
3474 msgid ""
3475 "The initial argument for these functions is the name of a file that is to be "
3476 "executed."
3477 msgstr ""
3478
3479 #. type: Plain text
3480 #: build/C/man3/exec.3:107
3481 msgid ""
3482 "The I<const char *arg> and subsequent ellipses in the B<execl>(), "
3483 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3484 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3485 "pointers to null-terminated strings that represent the argument list "
3486 "available to the executed program.  The first argument, by convention, "
3487 "should point to the filename associated with the file being executed.  The "
3488 "list of arguments I<must> be terminated by a NULL pointer, and, since these "
3489 "are variadic functions, this pointer must be cast I<(char *) NULL>."
3490 msgstr ""
3491
3492 #. type: Plain text
3493 #: build/C/man3/exec.3:120
3494 msgid ""
3495 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3496 "pointers to null-terminated strings that represent the argument list "
3497 "available to the new program.  The first argument, by convention, should "
3498 "point to the filename associated with the file being executed.  The array of "
3499 "pointers I<must> be terminated by a NULL pointer."
3500 msgstr ""
3501
3502 #. type: Plain text
3503 #: build/C/man3/exec.3:137
3504 msgid ""
3505 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3506 "environment of the executed program via the argument I<envp>.  The I<envp> "
3507 "argument is an array of pointers to null-terminated strings and I<must> be "
3508 "terminated by a NULL pointer.  The other functions take the environment for "
3509 "the new process image from the external variable I<environ> in the calling "
3510 "process."
3511 msgstr ""
3512
3513 #. type: SS
3514 #: build/C/man3/exec.3:137
3515 #, no-wrap
3516 msgid "Special semantics for execlp() and execvp()"
3517 msgstr ""
3518
3519 #. type: Plain text
3520 #: build/C/man3/exec.3:157
3521 msgid ""
3522 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
3523 "actions of the shell in searching for an executable file if the specified "
3524 "filename does not contain a slash (/) character.  The file is sought in the "
3525 "colon-separated list of directory pathnames specified in the B<PATH> "
3526 "environment variable.  If this variable isn't defined, the path list "
3527 "defaults to the current directory followed by the list of directories "
3528 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
3529 "returns the value \"/bin:/usr/bin\".)"
3530 msgstr ""
3531
3532 #. type: Plain text
3533 #: build/C/man3/exec.3:161
3534 msgid ""
3535 "If the specified filename includes a slash character, then B<PATH> is "
3536 "ignored, and the file at the specified pathname is executed."
3537 msgstr ""
3538
3539 #. type: Plain text
3540 #: build/C/man3/exec.3:163
3541 msgid "In addition, certain errors are treated specially."
3542 msgstr ""
3543
3544 #. type: Plain text
3545 #: build/C/man3/exec.3:174
3546 msgid ""
3547 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
3548 "the error B<EACCES>), these functions will continue searching the rest of "
3549 "the search path.  If no other file is found, however, they will return with "
3550 "I<errno> set to B<EACCES>."
3551 msgstr ""
3552
3553 #. type: Plain text
3554 #: build/C/man3/exec.3:183
3555 msgid ""
3556 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
3557 "with the error B<ENOEXEC>), these functions will execute the shell "
3558 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
3559 "attempt fails, no further searching is done.)"
3560 msgstr ""
3561
3562 #. type: Plain text
3563 #: build/C/man3/exec.3:190
3564 msgid ""
3565 "The B<exec>()  functions only return if an error has occurred.  The return "
3566 "value is -1, and I<errno> is set to indicate the error."
3567 msgstr ""
3568
3569 #. type: Plain text
3570 #: build/C/man3/exec.3:195
3571 msgid ""
3572 "All of these functions may fail and set I<errno> for any of the errors "
3573 "specified for B<execve>(2)."
3574 msgstr ""
3575
3576 #. type: Plain text
3577 #: build/C/man3/exec.3:199
3578 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
3579 msgstr ""
3580
3581 #. type: Plain text
3582 #: build/C/man3/exec.3:201
3583 msgid "POSIX.1-2001, POSIX.1-2008."
3584 msgstr ""
3585
3586 #. type: Plain text
3587 #: build/C/man3/exec.3:205
3588 msgid "The B<execvpe>()  function is a GNU extension."
3589 msgstr ""
3590
3591 #. type: Plain text
3592 #: build/C/man3/exec.3:215
3593 msgid ""
3594 "On some other systems, the default path (used when the environment does not "
3595 "contain the variable B<PATH>) has the current working directory listed after "
3596 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
3597 "the traditional \"current directory first\" default path."
3598 msgstr ""
3599
3600 #. type: Plain text
3601 #: build/C/man3/exec.3:229
3602 msgid ""
3603 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
3604 "attempting to execute the file is historic practice, but has not "
3605 "traditionally been documented and is not specified by the POSIX standard.  "
3606 "BSD (and possibly other systems) do an automatic sleep and retry if "
3607 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
3608 "immediately."
3609 msgstr ""
3610
3611 #. type: Plain text
3612 #: build/C/man3/exec.3:241
3613 msgid ""
3614 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
3615 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
3616 "which they returned.  They now return if any error other than the ones "
3617 "described above occurs."
3618 msgstr ""
3619
3620 #. type: Plain text
3621 #: build/C/man3/exec.3:248
3622 msgid ""
3623 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
3624 "B<environ>(7)"
3625 msgstr ""
3626
3627 #. type: TH
3628 #: build/C/man2/execve.2:37
3629 #, no-wrap
3630 msgid "EXECVE"
3631 msgstr ""
3632
3633 #. type: TH
3634 #: build/C/man2/execve.2:37
3635 #, no-wrap
3636 msgid "2012-10-27"
3637 msgstr ""
3638
3639 #. type: Plain text
3640 #: build/C/man2/execve.2:40
3641 msgid "execve - execute program"
3642 msgstr ""
3643
3644 #. type: Plain text
3645 #: build/C/man2/execve.2:44
3646 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
3647 msgstr ""
3648
3649 #. type: Plain text
3650 #: build/C/man2/execve.2:51
3651 msgid ""
3652 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
3653 "must be either a binary executable, or a script starting with a line of the "
3654 "form:"
3655 msgstr ""
3656
3657 #. type: Plain text
3658 #: build/C/man2/execve.2:55 build/C/man2/execve.2:267
3659 #, no-wrap
3660 msgid "B<#!> I<interpreter >[optional-arg]\n"
3661 msgstr ""
3662
3663 #. type: Plain text
3664 #: build/C/man2/execve.2:59
3665 msgid "For details of the latter case, see \"Interpreter scripts\" below."
3666 msgstr ""
3667
3668 #. type: Plain text
3669 #: build/C/man2/execve.2:68
3670 msgid ""
3671 "I<argv> is an array of argument strings passed to the new program.  By "
3672 "convention, the first of these strings should contain the filename "
3673 "associated with the file being executed.  I<envp> is an array of strings, "
3674 "conventionally of the form B<key=value>, which are passed as environment to "
3675 "the new program.  Both I<argv> and I<envp> must be terminated by a NULL "
3676 "pointer.  The argument vector and environment can be accessed by the called "
3677 "program's main function, when it is defined as:"
3678 msgstr ""
3679
3680 #. type: Plain text
3681 #: build/C/man2/execve.2:72
3682 #, no-wrap
3683 msgid "int main(int argc, char *argv[], char *envp[])\n"
3684 msgstr ""
3685
3686 #. type: Plain text
3687 #: build/C/man2/execve.2:79
3688 msgid ""
3689 "B<execve>()  does not return on success, and the text, data, bss, and stack "
3690 "of the calling process are overwritten by that of the program loaded."
3691 msgstr ""
3692
3693 #. type: Plain text
3694 #: build/C/man2/execve.2:83
3695 msgid ""
3696 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
3697 "successful B<execve>()."
3698 msgstr ""
3699
3700 #. type: Plain text
3701 #: build/C/man2/execve.2:98
3702 msgid ""
3703 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
3704 "and the underlying file system is not mounted I<nosuid> (the B<MS_NOSUID> "
3705 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
3706 "the effective user ID of the calling process is changed to that of the owner "
3707 "of the program file.  Similarly, when the set-group-ID bit of the program "
3708 "file is set the effective group ID of the calling process is set to the "
3709 "group of the program file."
3710 msgstr ""
3711
3712 #. type: Plain text
3713 #: build/C/man2/execve.2:103
3714 msgid ""
3715 "The effective user ID of the process is copied to the saved set-user-ID; "
3716 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
3717 "copying takes place after any effective ID changes that occur because of the "
3718 "set-user-ID and set-group-ID permission bits."
3719 msgstr ""
3720
3721 #. type: Plain text
3722 #: build/C/man2/execve.2:111
3723 msgid ""
3724 "If the executable is an a.out dynamically linked binary executable "
3725 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
3726 "called at the start of execution to bring needed shared libraries into "
3727 "memory and link the executable with them."
3728 msgstr ""
3729
3730 #. type: Plain text
3731 #: build/C/man2/execve.2:120
3732 msgid ""
3733 "If the executable is a dynamically linked ELF executable, the interpreter "
3734 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
3735 "This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with "
3736 "glibc 2.  (For binaries linked with the old Linux libc5, the interpreter was "
3737 "typically I</lib/ld-linux.so.1>.)"
3738 msgstr ""
3739
3740 #. type: Plain text
3741 #: build/C/man2/execve.2:124
3742 msgid ""
3743 "All process attributes are preserved during an B<execve>(), except the "
3744 "following:"
3745 msgstr ""
3746
3747 #. type: Plain text
3748 #: build/C/man2/execve.2:128
3749 msgid ""
3750 "The dispositions of any signals that are being caught are reset to the "
3751 "default (B<signal>(7))."
3752 msgstr ""
3753
3754 #. type: Plain text
3755 #: build/C/man2/execve.2:131
3756 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
3757 msgstr ""
3758
3759 #. type: Plain text
3760 #: build/C/man2/execve.2:134
3761 msgid "Memory mappings are not preserved (B<mmap>(2))."
3762 msgstr ""
3763
3764 #. type: Plain text
3765 #: build/C/man2/execve.2:137
3766 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
3767 msgstr ""
3768
3769 #. type: Plain text
3770 #: build/C/man2/execve.2:140
3771 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
3772 msgstr ""
3773
3774 #. type: Plain text
3775 #: build/C/man2/execve.2:143
3776 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
3777 msgstr ""
3778
3779 #. type: Plain text
3780 #: build/C/man2/execve.2:146
3781 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
3782 msgstr ""
3783
3784 #. type: Plain text
3785 #: build/C/man2/execve.2:149
3786 msgid "POSIX timers are not preserved (B<timer_create>(2))."
3787 msgstr ""
3788
3789 #. type: Plain text
3790 #: build/C/man2/execve.2:152
3791 msgid "Any open directory streams are closed (B<opendir>(3))."
3792 msgstr ""
3793
3794 #. type: Plain text
3795 #: build/C/man2/execve.2:156
3796 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
3797 msgstr ""
3798
3799 #. type: Plain text
3800 #: build/C/man2/execve.2:160
3801 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
3802 msgstr ""
3803
3804 #. type: Plain text
3805 #: build/C/man2/execve.2:163
3806 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
3807 msgstr ""
3808
3809 #. type: Plain text
3810 #: build/C/man2/execve.2:169
3811 msgid ""
3812 "The process attributes in the preceding list are all specified in "
3813 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
3814 "preserved during an B<execve>():"
3815 msgstr ""
3816
3817 #. type: Plain text
3818 #: build/C/man2/execve.2:176
3819 msgid ""
3820 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
3821 "set-group ID program is being executed, in which case it is cleared."
3822 msgstr ""
3823
3824 #. type: Plain text
3825 #: build/C/man2/execve.2:181
3826 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
3827 msgstr ""
3828
3829 #. type: Plain text
3830 #: build/C/man2/execve.2:188
3831 msgid ""
3832 "(Since Linux 2.4.36 / 2.6.23)  If a set-user-ID or set-group-ID program is "
3833 "being executed, then the parent death signal set by B<prctl>(2)  "
3834 "B<PR_SET_PDEATHSIG> flag is cleared."
3835 msgstr ""
3836
3837 #. type: Plain text
3838 #: build/C/man2/execve.2:195
3839 msgid ""
3840 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
3841 "I<ps\\ -o comm>), is reset to the name of the new executable file."
3842 msgstr ""
3843
3844 #. type: Plain text
3845 #: build/C/man2/execve.2:202
3846 msgid ""
3847 "The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared.  See "
3848 "B<capabilities>(7)."
3849 msgstr ""
3850
3851 #. type: Plain text
3852 #: build/C/man2/execve.2:207
3853 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
3854 msgstr ""
3855
3856 #. type: Plain text
3857 #: build/C/man2/execve.2:209 build/C/man2/fork.2:133
3858 msgid "Note the following further points:"
3859 msgstr ""
3860
3861 #. type: Plain text
3862 #: build/C/man2/execve.2:213
3863 msgid ""
3864 "All threads other than the calling thread are destroyed during an "
3865 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
3866 "not preserved."
3867 msgstr ""
3868
3869 #. type: Plain text
3870 #: build/C/man2/execve.2:216
3871 msgid ""
3872 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
3873 "start-up."
3874 msgstr ""
3875
3876 #. type: Plain text
3877 #: build/C/man2/execve.2:224
3878 msgid ""
3879 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
3880 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
3881 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
3882 "the disposition unchanged or reset it to the default; Linux does the former."
3883 msgstr ""
3884
3885 #. type: Plain text
3886 #: build/C/man2/execve.2:228
3887 msgid ""
3888 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
3889 "B<aio_write>(3))."
3890 msgstr ""
3891
3892 #. type: Plain text
3893 #: build/C/man2/execve.2:233
3894 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
3895 msgstr ""
3896
3897 #.  On Linux it appears that these file descriptors are
3898 #.  always open after an execve(), and it looks like
3899 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
3900 #. type: Plain text
3901 #: build/C/man2/execve.2:260
3902 msgid ""
3903 "By default, file descriptors remain open across an B<execve>().  File "
3904 "descriptors that are marked close-on-exec are closed; see the description of "
3905 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
3906 "cause the release of all record locks obtained on the underlying file by "
3907 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
3908 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
3909 "B<execve>(), and the process would gain privilege because the set-user_ID or "
3910 "set-group_ID permission bit was set on the executed file, then the system "
3911 "may open an unspecified file for each of these file descriptors.  As a "
3912 "general principle, no portable program, whether privileged or not, can "
3913 "assume that these three file descriptors will remain closed across an "
3914 "B<execve>()."
3915 msgstr ""
3916
3917 #. type: SS
3918 #: build/C/man2/execve.2:260
3919 #, no-wrap
3920 msgid "Interpreter scripts"
3921 msgstr ""
3922
3923 #. type: Plain text
3924 #: build/C/man2/execve.2:263
3925 msgid ""
3926 "An interpreter script is a text file that has execute permission enabled and "
3927 "whose first line is of the form:"
3928 msgstr ""
3929
3930 #. type: Plain text
3931 #: build/C/man2/execve.2:281
3932 msgid ""
3933 "The I<interpreter> must be a valid pathname for an executable which is not "
3934 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
3935 "interpreter script, then I<interpreter> will be invoked with the following "
3936 "arguments:"
3937 msgstr ""
3938
3939 #. type: Plain text
3940 #: build/C/man2/execve.2:285
3941 #, no-wrap
3942 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
3943 msgstr ""
3944
3945 #. type: Plain text
3946 #: build/C/man2/execve.2:294
3947 msgid ""
3948 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
3949 "B<execve>()."
3950 msgstr ""
3951
3952 #. type: Plain text
3953 #: build/C/man2/execve.2:299
3954 msgid ""
3955 "For portable use, I<optional-arg> should either be absent, or be specified "
3956 "as a single word (i.e., it should not contain white space); see NOTES below."
3957 msgstr ""
3958
3959 #. type: SS
3960 #: build/C/man2/execve.2:299
3961 #, no-wrap
3962 msgid "Limits on size of arguments and environment"
3963 msgstr ""
3964
3965 #. type: Plain text
3966 #: build/C/man2/execve.2:312
3967 msgid ""
3968 "Most UNIX implementations impose some limit on the total size of the "
3969 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
3970 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
3971 "this limit using the B<ARG_MAX> constant (either defined in "
3972 "I<E<lt>limits.hE<gt>> or available at run time using the call "
3973 "I<sysconf(_SC_ARG_MAX)>)."
3974 msgstr ""
3975
3976 #. type: Plain text
3977 #: build/C/man2/execve.2:319
3978 msgid ""
3979 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
3980 "and argument strings was limited to 32 pages (defined by the kernel constant "
3981 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
3982 "maximum size of 128 kB."
3983 msgstr ""
3984
3985 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
3986 #.  2.6.25, see:
3987 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
3988 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
3989 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
3990 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
3991 #.  Ollie: That doesn't include the lists of pointers, though,
3992 #.  so the actual usage is a bit higher (1 pointer per argument).
3993 #. type: Plain text
3994 #: build/C/man2/execve.2:355
3995 msgid ""
3996 "On kernel 2.6.23 and later, most architectures support a size limit derived "
3997 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
3998 "in force at the time of the B<execve>()  call.  (Architectures with no "
3999 "memory management unit are excepted: they maintain the limit that was in "
4000 "effect before kernel 2.6.23.)  This change allows programs to have a much "
4001 "larger argument and/or environment list.  For these architectures, the total "
4002 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
4003 "ensures that the new program always has some stack space.)  Since Linux "
4004 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
4005 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
4006 "have at least as much argument and environment space as was provided by "
4007 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
4008 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
4009 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
4010 "0x7FFFFFFF."
4011 msgstr ""
4012
4013 #. type: Plain text
4014 #: build/C/man2/execve.2:361
4015 msgid ""
4016 "On success, B<execve>()  does not return, on error -1 is returned, and "
4017 "I<errno> is set appropriately."
4018 msgstr ""
4019
4020 #. type: TP
4021 #: build/C/man2/execve.2:362
4022 #, no-wrap
4023 msgid "B<E2BIG>"
4024 msgstr ""
4025
4026 #. type: Plain text
4027 #: build/C/man2/execve.2:369
4028 msgid ""
4029 "The total number of bytes in the environment (I<envp>)  and argument list "
4030 "(I<argv>)  is too large."
4031 msgstr ""
4032
4033 #. type: Plain text
4034 #: build/C/man2/execve.2:376
4035 msgid ""
4036 "Search permission is denied on a component of the path prefix of I<filename> "
4037 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4038 msgstr ""
4039
4040 #. type: Plain text
4041 #: build/C/man2/execve.2:379
4042 msgid "The file or a script interpreter is not a regular file."
4043 msgstr ""
4044
4045 #. type: Plain text
4046 #: build/C/man2/execve.2:382
4047 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4048 msgstr ""
4049
4050 #. type: Plain text
4051 #: build/C/man2/execve.2:386
4052 msgid "The file system is mounted I<noexec>."
4053 msgstr ""
4054
4055 #. type: Plain text
4056 #: build/C/man2/execve.2:390
4057 msgid "I<filename> points outside your accessible address space."
4058 msgstr ""
4059
4060 #. type: Plain text
4061 #: build/C/man2/execve.2:394
4062 msgid ""
4063 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4064 "more than one interpreter)."
4065 msgstr ""
4066
4067 #. type: TP
4068 #: build/C/man2/execve.2:397 build/C/man2/truncate.2:148
4069 #, no-wrap
4070 msgid "B<EISDIR>"
4071 msgstr ""
4072
4073 #. type: Plain text
4074 #: build/C/man2/execve.2:400
4075 msgid "An ELF interpreter was a directory."
4076 msgstr ""
4077
4078 #. type: TP
4079 #: build/C/man2/execve.2:400
4080 #, no-wrap
4081 msgid "B<ELIBBAD>"
4082 msgstr ""
4083
4084 #. type: Plain text
4085 #: build/C/man2/execve.2:403
4086 msgid "An ELF interpreter was not in a recognized format."
4087 msgstr ""
4088
4089 #. type: Plain text
4090 #: build/C/man2/execve.2:408
4091 msgid ""
4092 "Too many symbolic links were encountered in resolving I<filename> or the "
4093 "name of a script or ELF interpreter."
4094 msgstr ""
4095
4096 #. type: Plain text
4097 #: build/C/man2/execve.2:411
4098 msgid "The process has the maximum number of files open."
4099 msgstr ""
4100
4101 #. type: Plain text
4102 #: build/C/man2/execve.2:415
4103 msgid "I<filename> is too long."
4104 msgstr ""
4105
4106 #. type: TP
4107 #: build/C/man2/execve.2:415 build/C/man3/getlogin.3:106 build/C/man2/swapon.2:133 build/C/man2/uselib.2:67
4108 #, no-wrap
4109 msgid "B<ENFILE>"
4110 msgstr ""
4111
4112 #. type: Plain text
4113 #: build/C/man2/execve.2:418 build/C/man2/swapon.2:136 build/C/man2/uselib.2:70
4114 msgid "The system limit on the total number of open files has been reached."
4115 msgstr ""
4116
4117 #. type: Plain text
4118 #: build/C/man2/execve.2:424
4119 msgid ""
4120 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4121 "shared library needed for file or interpreter cannot be found."
4122 msgstr ""
4123
4124 #. type: TP
4125 #: build/C/man2/execve.2:424 build/C/man2/uselib.2:70
4126 #, no-wrap
4127 msgid "B<ENOEXEC>"
4128 msgstr ""
4129
4130 #. type: Plain text
4131 #: build/C/man2/execve.2:429
4132 msgid ""
4133 "An executable is not in a recognized format, is for the wrong architecture, "
4134 "or has some other format error that means it cannot be executed."
4135 msgstr ""
4136
4137 #. type: Plain text
4138 #: build/C/man2/execve.2:437
4139 msgid ""
4140 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4141 "is not a directory."
4142 msgstr ""
4143
4144 #. type: Plain text
4145 #: build/C/man2/execve.2:443
4146 msgid ""
4147 "The file system is mounted I<nosuid>, the user is not the superuser, and the "
4148 "file has the set-user-ID or set-group-ID bit set."
4149 msgstr ""
4150
4151 #. type: Plain text
4152 #: build/C/man2/execve.2:447
4153 msgid ""
4154 "The process is being traced, the user is not the superuser and the file has "
4155 "the set-user-ID or set-group-ID bit set."
4156 msgstr ""
4157
4158 #. type: Plain text
4159 #: build/C/man2/execve.2:450
4160 msgid "Executable was open for writing by one or more processes."
4161 msgstr ""
4162
4163 #.  SVr4 documents additional error
4164 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4165 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4166 #.  EISDIR or ELIBBAD error conditions.
4167 #. type: Plain text
4168 #: build/C/man2/execve.2:458
4169 msgid ""
4170 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4171 "but is otherwise compatible."
4172 msgstr ""
4173
4174 #. type: Plain text
4175 #: build/C/man2/execve.2:461
4176 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4177 msgstr ""
4178
4179 #. type: Plain text
4180 #: build/C/man2/execve.2:463
4181 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4182 msgstr ""
4183
4184 #. type: Plain text
4185 #: build/C/man2/execve.2:474
4186 msgid ""
4187 "The result of mounting a file system I<nosuid> varies across Linux kernel "
4188 "versions: some will refuse execution of set-user-ID and set-group-ID "
4189 "executables when this would give the user powers she did not have already "
4190 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4191 "set-group-ID bits and B<exec>()  successfully."
4192 msgstr ""
4193
4194 #. type: Plain text
4195 #: build/C/man2/execve.2:477
4196 msgid ""
4197 "A maximum line length of 127 characters is allowed for the first line in a "
4198 "#! executable shell script."
4199 msgstr ""
4200
4201 #.  e.g., Solaris 8
4202 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4203 #. type: Plain text
4204 #: build/C/man2/execve.2:496
4205 msgid ""
4206 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4207 "across implementations.  On Linux, the entire string following the "
4208 "I<interpreter> name is passed as a single argument to the interpreter, and "
4209 "this string can include white space.  However, behavior differs on some "
4210 "other systems.  Some systems use the first white space to terminate "
4211 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4212 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4213 "arguments."
4214 msgstr ""
4215
4216 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4217 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4218 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4219 #.  Bug rejected (because fix would constitute an ABI change).
4220 #. type: Plain text
4221 #: build/C/man2/execve.2:511
4222 msgid ""
4223 "On Linux, I<argv> can be specified as NULL, which has the same effect as "
4224 "specifying this argument as a pointer to a list containing a single NULL "
4225 "pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
4226 "nonportable: on most other UNIX systems doing this will result in an error "
4227 "(B<EFAULT>)."
4228 msgstr ""
4229
4230 #
4231 #.  .SH BUGS
4232 #.  Some Linux versions have failed to check permissions on ELF
4233 #.  interpreters.  This is a security hole, because it allows users to
4234 #.  open any file, such as a rewinding tape device, for reading.  Some
4235 #.  Linux versions have also had other security holes in
4236 #.  .BR execve ()
4237 #.  that could be exploited for denial of service by a suitably crafted
4238 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4239 #. type: Plain text
4240 #: build/C/man2/execve.2:531
4241 msgid ""
4242 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4243 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4244 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4245 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4246 "for holding command-line arguments and environment variables has changed."
4247 msgstr ""
4248
4249 #. type: SS
4250 #: build/C/man2/execve.2:531
4251 #, no-wrap
4252 msgid "Historical"
4253 msgstr ""
4254
4255 #. type: Plain text
4256 #: build/C/man2/execve.2:542
4257 msgid ""
4258 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4259 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4260 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4261 "NULL."
4262 msgstr ""
4263
4264 #. type: Plain text
4265 #: build/C/man2/execve.2:545
4266 msgid ""
4267 "The following program is designed to be execed by the second program below.  "
4268 "It just echoes its command-line one per line."
4269 msgstr ""
4270
4271 #. type: Plain text
4272 #: build/C/man2/execve.2:549
4273 #, no-wrap
4274 msgid "/* myecho.c */\n"
4275 msgstr ""
4276
4277 #. type: Plain text
4278 #: build/C/man2/execve.2:552
4279 #, no-wrap
4280 msgid ""
4281 "#include E<lt>stdio.hE<gt>\n"
4282 "#include E<lt>stdlib.hE<gt>\n"
4283 msgstr ""
4284
4285 #. type: Plain text
4286 #: build/C/man2/execve.2:557
4287 #, no-wrap
4288 msgid ""
4289 "int\n"
4290 "main(int argc, char *argv[])\n"
4291 "{\n"
4292 "    int j;\n"
4293 msgstr ""
4294
4295 #. type: Plain text
4296 #: build/C/man2/execve.2:560
4297 #, no-wrap
4298 msgid ""
4299 "    for (j = 0; j E<lt> argc; j++)\n"
4300 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4301 msgstr ""
4302
4303 #. type: Plain text
4304 #: build/C/man2/execve.2:568
4305 msgid ""
4306 "This program can be used to exec the program named in its command-line "
4307 "argument:"
4308 msgstr ""
4309
4310 #. type: Plain text
4311 #: build/C/man2/execve.2:572
4312 #, no-wrap
4313 msgid "/* execve.c */\n"
4314 msgstr ""
4315
4316 #. type: Plain text
4317 #: build/C/man2/execve.2:576
4318 #, no-wrap
4319 msgid ""
4320 "#include E<lt>stdio.hE<gt>\n"
4321 "#include E<lt>stdlib.hE<gt>\n"
4322 "#include E<lt>unistd.hE<gt>\n"
4323 msgstr ""
4324
4325 #. type: Plain text
4326 #: build/C/man2/execve.2:582
4327 #, no-wrap
4328 msgid ""
4329 "int\n"
4330 "main(int argc, char *argv[])\n"
4331 "{\n"
4332 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4333 "    char *newenviron[] = { NULL };\n"
4334 msgstr ""
4335
4336 #. type: Plain text
4337 #: build/C/man2/execve.2:587
4338 #, no-wrap
4339 msgid ""
4340 "    if (argc != 2) {\n"
4341 "\tfprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4342 "\texit(EXIT_FAILURE);\n"
4343 "    }\n"
4344 msgstr ""
4345
4346 #. type: Plain text
4347 #: build/C/man2/execve.2:589
4348 #, no-wrap
4349 msgid "    newargv[0] = argv[1];\n"
4350 msgstr ""
4351
4352 #. type: Plain text
4353 #: build/C/man2/execve.2:594
4354 #, no-wrap
4355 msgid ""
4356 "    execve(argv[1], newargv, newenviron);\n"
4357 "    perror(\"execve\");   /* execve() only returns on error */\n"
4358 "    exit(EXIT_FAILURE);\n"
4359 "}\n"
4360 msgstr ""
4361
4362 #. type: Plain text
4363 #: build/C/man2/execve.2:598
4364 msgid "We can use the second program to exec the first as follows:"
4365 msgstr ""
4366
4367 #. type: Plain text
4368 #: build/C/man2/execve.2:607
4369 #, no-wrap
4370 msgid ""
4371 "$B< cc myecho.c -o myecho>\n"
4372 "$B< cc execve.c -o execve>\n"
4373 "$B< ./execve ./myecho>\n"
4374 "argv[0]: ./myecho\n"
4375 "argv[1]: hello\n"
4376 "argv[2]: world\n"
4377 msgstr ""
4378
4379 #. type: Plain text
4380 #: build/C/man2/execve.2:615
4381 msgid ""
4382 "We can also use these programs to demonstrate the use of a script "
4383 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4384 "I<myecho> program:"
4385 msgstr ""
4386
4387 #. type: Plain text
4388 #: build/C/man2/execve.2:622
4389 #, no-wrap
4390 msgid ""
4391 "$B< cat E<gt> script.sh>\n"
4392 "B<#! ./myecho script-arg>\n"
4393 "B<^D>\n"
4394 "$B< chmod +x script.sh>\n"
4395 msgstr ""
4396
4397 #. type: Plain text
4398 #: build/C/man2/execve.2:626
4399 msgid "We can then use our program to exec the script:"
4400 msgstr ""
4401
4402 #. type: Plain text
4403 #: build/C/man2/execve.2:635
4404 #, no-wrap
4405 msgid ""
4406 "$B< ./execve ./script.sh>\n"
4407 "argv[0]: ./myecho\n"
4408 "argv[1]: script-arg\n"
4409 "argv[2]: ./script.sh\n"
4410 "argv[3]: hello\n"
4411 "argv[4]: world\n"
4412 msgstr ""
4413
4414 #. type: Plain text
4415 #: build/C/man2/execve.2:648
4416 msgid ""
4417 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4418 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4419 "B<ld.so>(8)"
4420 msgstr ""
4421
4422 #. type: TH
4423 #: build/C/man2/exit_group.2:25
4424 #, no-wrap
4425 msgid "EXIT_GROUP"
4426 msgstr ""
4427
4428 #. type: TH
4429 #: build/C/man2/exit_group.2:25
4430 #, no-wrap
4431 msgid "2008-11-27"
4432 msgstr ""
4433
4434 #. type: Plain text
4435 #: build/C/man2/exit_group.2:28
4436 msgid "exit_group - exit all threads in a process"
4437 msgstr ""
4438
4439 #. type: Plain text
4440 #: build/C/man2/exit_group.2:31
4441 #, no-wrap
4442 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4443 msgstr ""
4444
4445 #. type: Plain text
4446 #: build/C/man2/exit_group.2:33
4447 #, no-wrap
4448 msgid "B<void exit_group(int >I<status>B<);>\n"
4449 msgstr ""
4450
4451 #. type: Plain text
4452 #: build/C/man2/exit_group.2:39
4453 msgid ""
4454 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4455 "only the calling thread, but all threads in the calling process's thread "
4456 "group."
4457 msgstr ""
4458
4459 #. type: Plain text
4460 #: build/C/man2/exit_group.2:41
4461 msgid "This system call does not return."
4462 msgstr ""
4463
4464 #. type: Plain text
4465 #: build/C/man2/exit_group.2:43
4466 msgid "This call is present since Linux 2.5.35."
4467 msgstr ""
4468
4469 #. type: Plain text
4470 #: build/C/man2/exit_group.2:45
4471 msgid "This call is Linux-specific."
4472 msgstr ""
4473
4474 #. type: Plain text
4475 #: build/C/man2/exit_group.2:49
4476 msgid ""
4477 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4478 "wrapper function is called."
4479 msgstr ""
4480
4481 #. type: Plain text
4482 #: build/C/man2/exit_group.2:51
4483 msgid "B<exit>(2)"
4484 msgstr ""
4485
4486 #. type: TH
4487 #: build/C/man2/fcntl.2:61
4488 #, no-wrap
4489 msgid "FCNTL"
4490 msgstr ""
4491
4492 #. type: TH
4493 #: build/C/man2/fcntl.2:61
4494 #, no-wrap
4495 msgid "2012-04-15"
4496 msgstr ""
4497
4498 #. type: Plain text
4499 #: build/C/man2/fcntl.2:64
4500 msgid "fcntl - manipulate file descriptor"
4501 msgstr ""
4502
4503 #. type: Plain text
4504 #: build/C/man2/fcntl.2:68
4505 #, no-wrap
4506 msgid ""
4507 "B<#include E<lt>unistd.hE<gt>>\n"
4508 "B<#include E<lt>fcntl.hE<gt>>\n"
4509 msgstr ""
4510
4511 #. type: Plain text
4512 #: build/C/man2/fcntl.2:70
4513 #, no-wrap
4514 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4515 msgstr ""
4516
4517 #. type: Plain text
4518 #: build/C/man2/fcntl.2:77
4519 msgid ""
4520 "B<fcntl>()  performs one of the operations described below on the open file "
4521 "descriptor I<fd>.  The operation is determined by I<cmd>."
4522 msgstr ""
4523
4524 #. type: Plain text
4525 #: build/C/man2/fcntl.2:91
4526 msgid ""
4527 "B<fcntl>()  can take an optional third argument.  Whether or not this "
4528 "argument is required is determined by I<cmd>.  The required argument type is "
4529 "indicated in parentheses after each I<cmd> name (in most cases, the required "
4530 "type is I<int>, and we identify the argument using the name I<arg>), or "
4531 "I<void> is specified if the argument is not required."
4532 msgstr ""
4533
4534 #. type: SS
4535 #: build/C/man2/fcntl.2:91
4536 #, no-wrap
4537 msgid "Duplicating a file descriptor"
4538 msgstr ""
4539
4540 #. type: TP
4541 #: build/C/man2/fcntl.2:92
4542 #, no-wrap
4543 msgid "B<F_DUPFD> (I<int>)"
4544 msgstr ""
4545
4546 #. type: Plain text
4547 #: build/C/man2/fcntl.2:102
4548 msgid ""
4549 "Find the lowest numbered available file descriptor greater than or equal to "
4550 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
4551 "which uses exactly the descriptor specified."
4552 msgstr ""
4553
4554 #. type: Plain text
4555 #: build/C/man2/fcntl.2:104
4556 msgid "On success, the new descriptor is returned."
4557 msgstr ""
4558
4559 #. type: Plain text
4560 #: build/C/man2/fcntl.2:108
4561 msgid "See B<dup>(2)  for further details."
4562 msgstr ""
4563
4564 #. type: TP
4565 #: build/C/man2/fcntl.2:108
4566 #, no-wrap
4567 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
4568 msgstr ""
4569
4570 #. type: Plain text
4571 #: build/C/man2/fcntl.2:125
4572 msgid ""
4573 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
4574 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
4575 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
4576 "For an explanation of why this flag is useful, see the description of "
4577 "B<O_CLOEXEC> in B<open>(2)."
4578 msgstr ""
4579
4580 #. type: SS
4581 #: build/C/man2/fcntl.2:125
4582 #, no-wrap
4583 msgid "File descriptor flags"
4584 msgstr ""
4585
4586 #. type: Plain text
4587 #: build/C/man2/fcntl.2:136
4588 msgid ""
4589 "The following commands manipulate the flags associated with a file "
4590 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
4591 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
4592 "remain open across an B<execve>(2), otherwise it will be closed."
4593 msgstr ""
4594
4595 #. type: TP
4596 #: build/C/man2/fcntl.2:136
4597 #, no-wrap
4598 msgid "B<F_GETFD> (I<void>)"
4599 msgstr ""
4600
4601 #. type: Plain text
4602 #: build/C/man2/fcntl.2:141
4603 msgid "Read the file descriptor flags; I<arg> is ignored."
4604 msgstr ""
4605
4606 #. type: TP
4607 #: build/C/man2/fcntl.2:141
4608 #, no-wrap
4609 msgid "B<F_SETFD> (I<int>)"
4610 msgstr ""
4611
4612 #. type: Plain text
4613 #: build/C/man2/fcntl.2:145
4614 msgid "Set the file descriptor flags to the value specified by I<arg>."
4615 msgstr ""
4616
4617 #. type: SS
4618 #: build/C/man2/fcntl.2:145
4619 #, no-wrap
4620 msgid "File status flags"
4621 msgstr ""
4622
4623 #.  or
4624 #.  .BR creat (2),
4625 #. type: Plain text
4626 #: build/C/man2/fcntl.2:160
4627 msgid ""
4628 "Each open file description has certain associated status flags, initialized "
4629 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
4630 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
4631 "to the same open file description, and thus share the same file status "
4632 "flags."
4633 msgstr ""
4634
4635 #. type: Plain text
4636 #: build/C/man2/fcntl.2:163
4637 msgid "The file status flags and their semantics are described in B<open>(2)."
4638 msgstr ""
4639
4640 #. type: TP
4641 #: build/C/man2/fcntl.2:163
4642 #, no-wrap
4643 msgid "B<F_GETFL> (I<void>)"
4644 msgstr ""
4645
4646 #. type: Plain text
4647 #: build/C/man2/fcntl.2:168
4648 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
4649 msgstr ""
4650
4651 #. type: TP
4652 #: build/C/man2/fcntl.2:168
4653 #, no-wrap
4654 msgid "B<F_SETFL> (I<int>)"
4655 msgstr ""
4656
4657 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
4658 #.  via fcntl(2), but currently Linux does not permit this
4659 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
4660 #. type: Plain text
4661 #: build/C/man2/fcntl.2:191
4662 msgid ""
4663 "Set the file status flags to the value specified by I<arg>.  File access "
4664 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
4665 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
4666 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
4667 "B<O_NOATIME>, and B<O_NONBLOCK> flags."
4668 msgstr ""
4669
4670 #. type: SS
4671 #: build/C/man2/fcntl.2:191
4672 #, no-wrap
4673 msgid "Advisory locking"
4674 msgstr ""
4675
4676 #. type: Plain text
4677 #: build/C/man2/fcntl.2:199
4678 msgid ""
4679 "B<F_GETLK>, B<F_SETLK> and B<F_SETLKW> are used to acquire, release, and "
4680 "test for the existence of record locks (also known as file-segment or "
4681 "file-region locks).  The third argument, I<lock>, is a pointer to a "
4682 "structure that has at least the following fields (in unspecified order)."
4683 msgstr ""
4684
4685 #. type: Plain text
4686 #: build/C/man2/fcntl.2:214
4687 #, no-wrap
4688 msgid ""
4689 "struct flock {\n"
4690 "    ...\n"
4691 "    short l_type;    /* Type of lock: F_RDLCK,\n"
4692 "                        F_WRLCK, F_UNLCK */\n"
4693 "    short l_whence;  /* How to interpret l_start:\n"
4694 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
4695 "    off_t l_start;   /* Starting offset for lock */\n"
4696 "    off_t l_len;     /* Number of bytes to lock */\n"
4697 "    pid_t l_pid;     /* PID of process blocking our lock\n"
4698 "                        (F_GETLK only) */\n"
4699 "    ...\n"
4700 "};\n"
4701 msgstr ""
4702
4703 #. type: Plain text
4704 #: build/C/man2/fcntl.2:222
4705 msgid ""
4706 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
4707 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
4708 "locked, but not bytes before the start of the file."
4709 msgstr ""
4710
4711 #. type: Plain text
4712 #: build/C/man2/fcntl.2:242
4713 msgid ""
4714 "I<l_start> is the starting offset for the lock, and is interpreted relative "
4715 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
4716 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
4717 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
4718 "a negative number provided the offset does not lie before the start of the "
4719 "file."
4720 msgstr ""
4721
4722 #. type: Plain text
4723 #: build/C/man2/fcntl.2:257
4724 msgid ""
4725 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
4726 "positive, then the range to be locked covers bytes I<l_start> up to and "
4727 "including I<l_start>+I<l_len>-I<1>.  Specifying 0 for I<l_len> has the "
4728 "special meaning: lock all bytes starting at the location specified by "
4729 "I<l_whence> and I<l_start> through to the end of file, no matter how large "
4730 "the file grows."
4731 msgstr ""
4732
4733 #. type: Plain text
4734 #: build/C/man2/fcntl.2:270
4735 msgid ""
4736 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
4737 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
4738 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
4739 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
4740 msgstr ""
4741
4742 #. type: Plain text
4743 #: build/C/man2/fcntl.2:289
4744 msgid ""
4745 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
4746 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
4747 "(shared lock)  on a file region, but only one process may hold a write lock "
4748 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
4749 "and exclusive.  A single process can hold only one type of lock on a file "
4750 "region; if a new lock is applied to an already-locked region, then the "
4751 "existing lock is converted to the new lock type.  (Such conversions may "
4752 "involve splitting, shrinking, or coalescing with an existing lock if the "
4753 "byte range specified by the new lock does not precisely coincide with the "
4754 "range of the existing lock.)"
4755 msgstr ""
4756
4757 #. type: TP
4758 #: build/C/man2/fcntl.2:289
4759 #, no-wrap
4760 msgid "B<F_SETLK> (I<struct flock *>)"
4761 msgstr ""
4762
4763 #. type: Plain text
4764 #: build/C/man2/fcntl.2:312
4765 msgid ""
4766 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
4767 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
4768 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
4769 "lock is held by another process, this call returns -1 and sets I<errno> to "
4770 "B<EACCES> or B<EAGAIN>."
4771 msgstr ""
4772
4773 #. type: TP
4774 #: build/C/man2/fcntl.2:312
4775 #, no-wrap
4776 msgid "B<F_SETLKW> (I<struct flock *>)"
4777 msgstr ""
4778
4779 #. type: Plain text
4780 #: build/C/man2/fcntl.2:326
4781 msgid ""
4782 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
4783 "for that lock to be released.  If a signal is caught while waiting, then the "
4784 "call is interrupted and (after the signal handler has returned)  returns "
4785 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
4786 "B<signal>(7))."
4787 msgstr ""
4788
4789 #. type: TP
4790 #: build/C/man2/fcntl.2:326
4791 #, no-wrap
4792 msgid "B<F_GETLK> (I<struct flock *>)"
4793 msgstr ""
4794
4795 #. type: Plain text
4796 #: build/C/man2/fcntl.2:350
4797 msgid ""
4798 "On input to this call, I<lock> describes a lock we would like to place on "
4799 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
4800 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
4801 "other fields of the structure unchanged.  If one or more incompatible locks "
4802 "would prevent this lock being placed, then B<fcntl>()  returns details about "
4803 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
4804 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
4805 "that lock."
4806 msgstr ""
4807
4808 #. type: Plain text
4809 #: build/C/man2/fcntl.2:358
4810 msgid ""
4811 "In order to place a read lock, I<fd> must be open for reading.  In order to "
4812 "place a write lock, I<fd> must be open for writing.  To place both types of "
4813 "lock, open a file read-write."
4814 msgstr ""
4815
4816 #.  (Additional file descriptors referring to the same file
4817 #.  may have been obtained by calls to
4818 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
4819 #. type: Plain text
4820 #: build/C/man2/fcntl.2:375
4821 msgid ""
4822 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
4823 "automatically released when the process terminates or if it closes I<any> "
4824 "file descriptor referring to a file on which locks are held.  This is bad: "
4825 "it means that a process can lose the locks on a file like I</etc/passwd> or "
4826 "I</etc/mtab> when for some reason a library function decides to open, read "
4827 "and close it."
4828 msgstr ""
4829
4830 #. type: Plain text
4831 #: build/C/man2/fcntl.2:380
4832 msgid ""
4833 "Record locks are not inherited by a child created via B<fork>(2), but are "
4834 "preserved across an B<execve>(2)."
4835 msgstr ""
4836
4837 #. type: Plain text
4838 #: build/C/man2/fcntl.2:389
4839 msgid ""
4840 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
4841 "record locking with routines in that package should be avoided; use "
4842 "B<read>(2)  and B<write>(2)  instead."
4843 msgstr ""
4844
4845 #. type: SS
4846 #: build/C/man2/fcntl.2:389
4847 #, no-wrap
4848 msgid "Mandatory locking"
4849 msgstr ""
4850
4851 #. type: Plain text
4852 #: build/C/man2/fcntl.2:393
4853 msgid ""
4854 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
4855 "and are advisory by default."
4856 msgstr ""
4857
4858 #. type: Plain text
4859 #: build/C/man2/fcntl.2:396
4860 msgid ""
4861 "Advisory locks are not enforced and are useful only between cooperating "
4862 "processes."
4863 msgstr ""
4864
4865 #. type: Plain text
4866 #: build/C/man2/fcntl.2:415
4867 msgid ""
4868 "Mandatory locks are enforced for all processes.  If a process tries to "
4869 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
4870 "region that has an incompatible mandatory lock, then the result depends upon "
4871 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
4872 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
4873 "lock is removed or converted to a mode that is compatible with the access.  "
4874 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
4875 "error B<EAGAIN>."
4876 msgstr ""
4877
4878 #. type: Plain text
4879 #: build/C/man2/fcntl.2:432
4880 msgid ""
4881 "To make use of mandatory locks, mandatory locking must be enabled both on "
4882 "the file system that contains the file to be locked, and on the file "
4883 "itself.  Mandatory locking is enabled on a file system using the \"-o mand\" "
4884 "option to B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  "
4885 "Mandatory locking is enabled on a file by disabling group execute permission "
4886 "on the file and enabling the set-group-ID permission bit (see B<chmod>(1)  "
4887 "and B<chmod>(2))."
4888 msgstr ""
4889
4890 #. type: Plain text
4891 #: build/C/man2/fcntl.2:435
4892 msgid ""
4893 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
4894 "below."
4895 msgstr ""
4896
4897 #. type: SS
4898 #: build/C/man2/fcntl.2:435
4899 #, no-wrap
4900 msgid "Managing signals"
4901 msgstr ""
4902
4903 #. type: Plain text
4904 #: build/C/man2/fcntl.2:444
4905 msgid ""
4906 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
4907 "B<F_SETSIG> are used to manage I/O availability signals:"
4908 msgstr ""
4909
4910 #. type: TP
4911 #: build/C/man2/fcntl.2:444
4912 #, no-wrap
4913 msgid "B<F_GETOWN> (I<void>)"
4914 msgstr ""
4915
4916 #. type: Plain text
4917 #: build/C/man2/fcntl.2:457
4918 msgid ""
4919 "Return (as the function result)  the process ID or process group currently "
4920 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
4921 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
4922 "returned as negative values (but see BUGS below).  I<arg> is ignored."
4923 msgstr ""
4924
4925 #. type: TP
4926 #: build/C/man2/fcntl.2:457
4927 #, no-wrap
4928 msgid "B<F_SETOWN> (I<int>)"
4929 msgstr ""
4930
4931 #. type: Plain text
4932 #: build/C/man2/fcntl.2:474
4933 msgid ""
4934 "Set the process ID or process group ID that will receive B<SIGIO> and "
4935 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
4936 "I<arg>.  A process ID is specified as a positive value; a process group ID "
4937 "is specified as a negative value.  Most commonly, the calling process "
4938 "specifies itself as the owner (that is, I<arg> is specified as "
4939 "B<getpid>(2))."
4940 msgstr ""
4941
4942 #.  From glibc.info:
4943 #. type: Plain text
4944 #: build/C/man2/fcntl.2:491
4945 msgid ""
4946 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
4947 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
4948 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
4949 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
4950 "check fails, then the signal is silently discarded."
4951 msgstr ""
4952
4953 #. type: Plain text
4954 #: build/C/man2/fcntl.2:499
4955 msgid ""
4956 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
4957 "subject to the same permissions checks as are described for B<kill>(2), "
4958 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
4959 "below)."
4960 msgstr ""
4961
4962 #.  The following appears to be rubbish.  It doesn't seem to
4963 #.  be true according to the kernel source, and I can write
4964 #.  a program that gets a terminal-generated SIGIO even though
4965 #.  it is not the foreground process group of the terminal.
4966 #.  -- MTK, 8 Apr 05
4967 #
4968 #.  If the file descriptor
4969 #.  .I fd
4970 #.  refers to a terminal device, then SIGIO
4971 #.  signals are sent to the foreground process group of the terminal.
4972 #. type: Plain text
4973 #: build/C/man2/fcntl.2:523
4974 msgid ""
4975 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
4976 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
4977 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
4978 "B<select>(2)  would report the socket as having an \"exceptional "
4979 "condition\".)"
4980 msgstr ""
4981
4982 #. type: Plain text
4983 #: build/C/man2/fcntl.2:526
4984 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
4985 msgstr ""
4986
4987 #.  The relevant place in the (2.6) kernel source is the
4988 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
4989 #.  send_sigurg()/send_sigurg_to_task() bypasses
4990 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
4991 #.  to directly call send_group_sig_info()
4992 #.      -- MTK, Apr 2005 (kernel 2.6.11)
4993 #. type: Plain text
4994 #: build/C/man2/fcntl.2:566
4995 msgid ""
4996 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
4997 "running with a threading library that supports thread groups (e.g., NPTL), "
4998 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
4999 "of being a process ID identifying a whole process, it is a thread ID "
5000 "identifying a specific thread within a process.  Consequently, it may be "
5001 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
5002 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
5003 "Linux threading implementations, a main thread's thread ID is the same as "
5004 "its process ID.  This means that a single-threaded program can equally use "
5005 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
5006 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
5007 "for out-of-band data on a socket: this signal is always sent to either a "
5008 "process or a process group, depending on the value given to B<F_SETOWN>."
5009 msgstr ""
5010
5011 #. type: Plain text
5012 #: build/C/man2/fcntl.2:577
5013 msgid ""
5014 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
5015 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5016 "and B<SIGURG> signals at a particular thread."
5017 msgstr ""
5018
5019 #. type: TP
5020 #: build/C/man2/fcntl.2:577
5021 #, no-wrap
5022 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5023 msgstr ""
5024
5025 #. type: Plain text
5026 #: build/C/man2/fcntl.2:586
5027 msgid ""
5028 "Return the current file descriptor owner settings as defined by a previous "
5029 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5030 "pointed to by I<arg>, which has the following form:"
5031 msgstr ""
5032
5033 #. type: Plain text
5034 #: build/C/man2/fcntl.2:593
5035 #, no-wrap
5036 msgid ""
5037 "struct f_owner_ex {\n"
5038 "    int   type;\n"
5039 "    pid_t pid;\n"
5040 "};\n"
5041 msgstr ""
5042
5043 #. type: Plain text
5044 #: build/C/man2/fcntl.2:610
5045 msgid ""
5046 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5047 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5048 "representing a thread ID, process ID, or process group ID.  See "
5049 "B<F_SETOWN_EX> for more details."
5050 msgstr ""
5051
5052 #. type: TP
5053 #: build/C/man2/fcntl.2:610
5054 #, no-wrap
5055 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5056 msgstr ""
5057
5058 #. type: Plain text
5059 #: build/C/man2/fcntl.2:626
5060 msgid ""
5061 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5062 "to direct I/O availability signals to a specific thread, process, or process "
5063 "group.  The caller specifies the target of signals via I<arg>, which is a "
5064 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5065 "following values, which define how I<pid> is interpreted:"
5066 msgstr ""
5067
5068 #. type: TP
5069 #: build/C/man2/fcntl.2:627
5070 #, no-wrap
5071 msgid "B<F_OWNER_TID>"
5072 msgstr ""
5073
5074 #. type: Plain text
5075 #: build/C/man2/fcntl.2:636
5076 msgid ""
5077 "Send the signal to the thread whose thread ID (the value returned by a call "
5078 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5079 msgstr ""
5080
5081 #. type: TP
5082 #: build/C/man2/fcntl.2:636
5083 #, no-wrap
5084 msgid "B<F_OWNER_PID>"
5085 msgstr ""
5086
5087 #. type: Plain text
5088 #: build/C/man2/fcntl.2:641
5089 msgid "Send the signal to the process whose ID is specified in I<pid>."
5090 msgstr ""
5091
5092 #. type: TP
5093 #: build/C/man2/fcntl.2:641
5094 #, no-wrap
5095 msgid "B<F_OWNER_PGRP>"
5096 msgstr ""
5097
5098 #. type: Plain text
5099 #: build/C/man2/fcntl.2:649
5100 msgid ""
5101 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5102 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5103 "value here.)"
5104 msgstr ""
5105
5106 #. type: TP
5107 #: build/C/man2/fcntl.2:650
5108 #, no-wrap
5109 msgid "B<F_GETSIG> (I<void>)"
5110 msgstr ""
5111
5112 #. type: Plain text
5113 #: build/C/man2/fcntl.2:665
5114 msgid ""
5115 "Return (as the function result)  the signal sent when input or output "
5116 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5117 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5118 "additional info is available to the signal handler if installed with "
5119 "B<SA_SIGINFO>.  I<arg> is ignored."
5120 msgstr ""
5121
5122 #. type: TP
5123 #: build/C/man2/fcntl.2:665
5124 #, no-wrap
5125 msgid "B<F_SETSIG> (I<int>)"
5126 msgstr ""
5127
5128 #
5129 #.  The following was true only up until 2.6.11:
5130 #
5131 #.  Additionally, passing a nonzero value to
5132 #.  .B F_SETSIG
5133 #.  changes the signal recipient from a whole process to a specific thread
5134 #.  within a process.
5135 #.  See the description of
5136 #.  .B F_SETOWN
5137 #.  for more details.
5138 #. type: Plain text
5139 #: build/C/man2/fcntl.2:688
5140 msgid ""
5141 "Set the signal sent when input or output becomes possible to the value given "
5142 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5143 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5144 "case additional info is available to the signal handler if installed with "
5145 "B<SA_SIGINFO>."
5146 msgstr ""
5147
5148 #. type: Plain text
5149 #: build/C/man2/fcntl.2:716
5150 msgid ""
5151 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5152 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5153 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5154 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5155 "descriptor associated with the event.  Otherwise, there is no indication "
5156 "which file descriptors are pending, and you should use the usual mechanisms "
5157 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5158 "determine which file descriptors are available for I/O."
5159 msgstr ""
5160
5161 #. type: Plain text
5162 #: build/C/man2/fcntl.2:725
5163 msgid ""
5164 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5165 "events may be queued using the same signal numbers.  (Queuing is dependent "
5166 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5167 "set for the signal handler, as above."
5168 msgstr ""
5169
5170 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5171 #. type: Plain text
5172 #: build/C/man2/fcntl.2:738
5173 msgid ""
5174 "Note that Linux imposes a limit on the number of real-time signals that may "
5175 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5176 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5177 "signal is delivered to the entire process rather than to a specific thread."
5178 msgstr ""
5179
5180 #. type: Plain text
5181 #: build/C/man2/fcntl.2:745
5182 msgid ""
5183 "Using these mechanisms, a program can implement fully asynchronous I/O "
5184 "without using B<select>(2)  or B<poll>(2)  most of the time."
5185 msgstr ""
5186
5187 #. type: Plain text
5188 #: build/C/man2/fcntl.2:761
5189 msgid ""
5190 "The use of B<O_ASYNC>, B<F_GETOWN>, B<F_SETOWN> is specific to BSD and "
5191 "Linux.  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are "
5192 "Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> "
5193 "structure to achieve similar things; these are also available in Linux as "
5194 "part of the GNU C Library (Glibc)."
5195 msgstr ""
5196
5197 #. type: SS
5198 #: build/C/man2/fcntl.2:761
5199 #, no-wrap
5200 msgid "Leases"
5201 msgstr ""
5202
5203 #. type: Plain text
5204 #: build/C/man2/fcntl.2:776
5205 msgid ""
5206 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5207 "to establish a new lease, and retrieve the current lease, on the open file "
5208 "description referred to by the file descriptor I<fd>.  A file lease provides "
5209 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5210 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5211 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5212 "descriptor."
5213 msgstr ""
5214
5215 #. type: TP
5216 #: build/C/man2/fcntl.2:776
5217 #, no-wrap
5218 msgid "B<F_SETLEASE> (I<int>)"
5219 msgstr ""
5220
5221 #. type: Plain text
5222 #: build/C/man2/fcntl.2:781
5223 msgid ""
5224 "Set or remove a file lease according to which of the following values is "
5225 "specified in the integer I<arg>:"
5226 msgstr ""
5227
5228 #. type: TP
5229 #: build/C/man2/fcntl.2:782
5230 #, no-wrap
5231 msgid "B<F_RDLCK>"
5232 msgstr ""
5233
5234 #.  The following became true in kernel 2.6.10:
5235 #.  See the man-pages-2.09 Changelog for further info.
5236 #. type: Plain text
5237 #: build/C/man2/fcntl.2:791
5238 msgid ""
5239 "Take out a read lease.  This will cause the calling process to be notified "
5240 "when the file is opened for writing or is truncated.  A read lease can only "
5241 "be placed on a file descriptor that is opened read-only."
5242 msgstr ""
5243
5244 #. type: TP
5245 #: build/C/man2/fcntl.2:791
5246 #, no-wrap
5247 msgid "B<F_WRLCK>"
5248 msgstr ""
5249
5250 #. type: Plain text
5251 #: build/C/man2/fcntl.2:798
5252 msgid ""
5253 "Take out a write lease.  This will cause the caller to be notified when the "
5254 "file is opened for reading or writing or is truncated.  A write lease may be "
5255 "placed on a file only if there are no other open file descriptors for the "
5256 "file."
5257 msgstr ""
5258
5259 #. type: TP
5260 #: build/C/man2/fcntl.2:798
5261 #, no-wrap
5262 msgid "B<F_UNLCK>"
5263 msgstr ""
5264
5265 #. type: Plain text
5266 #: build/C/man2/fcntl.2:801
5267 msgid "Remove our lease from the file."
5268 msgstr ""
5269
5270 #. type: Plain text
5271 #: build/C/man2/fcntl.2:815
5272 msgid ""
5273 "Leases are associated with an open file description (see B<open>(2)).  This "
5274 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5275 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5276 "released using any of these descriptors.  Furthermore, the lease is released "
5277 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5278 "descriptors, or when all such descriptors have been closed."
5279 msgstr ""
5280
5281 #. type: Plain text
5282 #: build/C/man2/fcntl.2:822
5283 msgid ""
5284 "Leases may only be taken out on regular files.  An unprivileged process may "
5285 "only take out a lease on a file whose UID (owner) matches the file system "
5286 "UID of the process.  A process with the B<CAP_LEASE> capability may take out "
5287 "leases on arbitrary files."
5288 msgstr ""
5289
5290 #. type: TP
5291 #: build/C/man2/fcntl.2:822
5292 #, no-wrap
5293 msgid "B<F_GETLEASE> (I<void>)"
5294 msgstr ""
5295
5296 #. type: Plain text
5297 #: build/C/man2/fcntl.2:831
5298 msgid ""
5299 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5300 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5301 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5302 msgstr ""
5303
5304 #. type: Plain text
5305 #: build/C/man2/fcntl.2:862
5306 msgid ""
5307 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5308 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5309 "the system call is blocked by the kernel and the kernel notifies the lease "
5310 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5311 "should respond to receipt of this signal by doing whatever cleanup is "
5312 "required in preparation for the file to be accessed by another process "
5313 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5314 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5315 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5316 "the file, and the lease breaker is opening the file for reading, then it is "
5317 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5318 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5319 "B<F_RDLCK>."
5320 msgstr ""
5321
5322 #. type: Plain text
5323 #: build/C/man2/fcntl.2:867
5324 msgid ""
5325 "If the lease holder fails to downgrade or remove the lease within the number "
5326 "of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
5327 "forcibly removes or downgrades the lease holder's lease."
5328 msgstr ""
5329
5330 #. type: Plain text
5331 #: build/C/man2/fcntl.2:877
5332 msgid ""
5333 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5334 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5335 "compatible with the lease breaker)  until the lease holder voluntarily "
5336 "downgrades or removes the lease or the kernel forcibly does so after the "
5337 "lease break timer expires."
5338 msgstr ""
5339
5340 #. type: Plain text
5341 #: build/C/man2/fcntl.2:881
5342 msgid ""
5343 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5344 "assuming the lease breaker has not unblocked its system call, the kernel "
5345 "permits the lease breaker's system call to proceed."
5346 msgstr ""
5347
5348 #. type: Plain text
5349 #: build/C/man2/fcntl.2:902
5350 msgid ""
5351 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5352 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5353 "the other steps still occur as described above.  If the lease breaker is "
5354 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5355 "other steps still occur as described above.  If the lease breaker specifies "
5356 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5357 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5358 "described above."
5359 msgstr ""
5360
5361 #. type: Plain text
5362 #: build/C/man2/fcntl.2:923
5363 msgid ""
5364 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5365 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5366 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5367 "is established using B<SA_SIGINFO>, then the handler will receive a "
5368 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5369 "this argument will hold the descriptor of the leased file that has been "
5370 "accessed by another process.  (This is useful if the caller holds leases "
5371 "against multiple files)."
5372 msgstr ""
5373
5374 #. type: SS
5375 #: build/C/man2/fcntl.2:923
5376 #, no-wrap
5377 msgid "File and directory change notification (dnotify)"
5378 msgstr ""
5379
5380 #. type: TP
5381 #: build/C/man2/fcntl.2:924
5382 #, no-wrap
5383 msgid "B<F_NOTIFY> (I<int>)"
5384 msgstr ""
5385
5386 #. type: Plain text
5387 #: build/C/man2/fcntl.2:934
5388 msgid ""
5389 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5390 "I<fd> or any of the files that it contains is changed.  The events to be "
5391 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5392 "together zero or more of the following bits:"
5393 msgstr ""
5394
5395 #. type: TP
5396 #: build/C/man2/fcntl.2:937
5397 #, no-wrap
5398 msgid "B<DN_ACCESS>"
5399 msgstr ""
5400
5401 #. type: Plain text
5402 #: build/C/man2/fcntl.2:940
5403 msgid "A file was accessed (read, pread, readv)"
5404 msgstr ""
5405
5406 #. type: TP
5407 #: build/C/man2/fcntl.2:940
5408 #, no-wrap
5409 msgid "B<DN_MODIFY>"
5410 msgstr ""
5411
5412 #. type: Plain text
5413 #: build/C/man2/fcntl.2:943
5414 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5415 msgstr ""
5416
5417 #. type: TP
5418 #: build/C/man2/fcntl.2:943
5419 #, no-wrap
5420 msgid "B<DN_CREATE>"
5421 msgstr ""
5422
5423 #. type: Plain text
5424 #: build/C/man2/fcntl.2:946
5425 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5426 msgstr ""
5427
5428 #. type: TP
5429 #: build/C/man2/fcntl.2:946
5430 #, no-wrap
5431 msgid "B<DN_DELETE>"
5432 msgstr ""
5433
5434 #. type: Plain text
5435 #: build/C/man2/fcntl.2:949
5436 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5437 msgstr ""
5438
5439 #. type: TP
5440 #: build/C/man2/fcntl.2:949
5441 #, no-wrap
5442 msgid "B<DN_RENAME>"
5443 msgstr ""
5444
5445 #. type: Plain text
5446 #: build/C/man2/fcntl.2:952
5447 msgid "A file was renamed within this directory (rename)."
5448 msgstr ""
5449
5450 #. type: TP
5451 #: build/C/man2/fcntl.2:952
5452 #, no-wrap
5453 msgid "B<DN_ATTRIB>"
5454 msgstr ""
5455
5456 #. type: Plain text
5457 #: build/C/man2/fcntl.2:955
5458 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5459 msgstr ""
5460
5461 #. type: Plain text
5462 #: build/C/man2/fcntl.2:963
5463 msgid ""
5464 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5465 "must be defined before including I<any> header files.)"
5466 msgstr ""
5467
5468 #. type: Plain text
5469 #: build/C/man2/fcntl.2:971
5470 msgid ""
5471 "Directory notifications are normally \"one-shot\", and the application must "
5472 "reregister to receive further notifications.  Alternatively, if "
5473 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5474 "effect until explicitly removed."
5475 msgstr ""
5476
5477 #.  The following does seem a poor API-design choice...
5478 #. type: Plain text
5479 #: build/C/man2/fcntl.2:983
5480 msgid ""
5481 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5482 "being added to the set already monitored.  To disable notification of all "
5483 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5484 msgstr ""
5485
5486 #. type: Plain text
5487 #: build/C/man2/fcntl.2:1001
5488 msgid ""
5489 "Notification occurs via delivery of a signal.  The default signal is "
5490 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5491 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5492 "structure as its second argument (if the handler was established using "
5493 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5494 "descriptor which generated the notification (useful when establishing "
5495 "notification on multiple directories)."
5496 msgstr ""
5497
5498 #. type: Plain text
5499 #: build/C/man2/fcntl.2:1006
5500 msgid ""
5501 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5502 "notification, so that multiple notifications can be queued."
5503 msgstr ""
5504
5505 #. type: Plain text
5506 #: build/C/man2/fcntl.2:1015
5507 msgid ""
5508 "B<NOTE:> New applications should use the I<inotify> interface (available "
5509 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5510 "notifications of file system events.  See B<inotify>(7)."
5511 msgstr ""
5512
5513 #. type: SS
5514 #: build/C/man2/fcntl.2:1015
5515 #, no-wrap
5516 msgid "Changing the capacity of a pipe"
5517 msgstr ""
5518
5519 #. type: TP
5520 #: build/C/man2/fcntl.2:1016
5521 #, no-wrap
5522 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5523 msgstr ""
5524
5525 #. type: Plain text
5526 #: build/C/man2/fcntl.2:1047
5527 msgid ""
5528 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
5529 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
5530 "between the system page size and the limit defined in "
5531 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
5532 "capacity below the page size are silently rounded up to the page size.  "
5533 "Attempts by an unprivileged process to set the pipe capacity above the limit "
5534 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
5535 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
5536 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
5537 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
5538 "returns the actual size used.  Attempting to set the pipe capacity smaller "
5539 "than the amount of buffer space currently used to store data produces the "
5540 "error B<EBUSY>."
5541 msgstr ""
5542
5543 #. type: TP
5544 #: build/C/man2/fcntl.2:1047
5545 #, no-wrap
5546 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
5547 msgstr ""
5548
5549 #. type: Plain text
5550 #: build/C/man2/fcntl.2:1051
5551 msgid ""
5552 "Return (as the function result) the capacity of the pipe referred to by "
5553 "I<fd>."
5554 msgstr ""
5555
5556 #. type: Plain text
5557 #: build/C/man2/fcntl.2:1053
5558 msgid "For a successful call, the return value depends on the operation:"
5559 msgstr ""
5560
5561 #. type: TP
5562 #: build/C/man2/fcntl.2:1053
5563 #, no-wrap
5564 msgid "B<F_DUPFD>"
5565 msgstr ""
5566
5567 #. type: Plain text
5568 #: build/C/man2/fcntl.2:1056
5569 msgid "The new descriptor."
5570 msgstr ""
5571
5572 #. type: TP
5573 #: build/C/man2/fcntl.2:1056
5574 #, no-wrap
5575 msgid "B<F_GETFD>"
5576 msgstr ""
5577
5578 #. type: Plain text
5579 #: build/C/man2/fcntl.2:1059
5580 msgid "Value of file descriptor flags."
5581 msgstr ""
5582
5583 #. type: TP
5584 #: build/C/man2/fcntl.2:1059
5585 #, no-wrap
5586 msgid "B<F_GETFL>"
5587 msgstr ""
5588
5589 #. type: Plain text
5590 #: build/C/man2/fcntl.2:1062
5591 msgid "Value of file status flags."
5592 msgstr ""
5593
5594 #. type: TP
5595 #: build/C/man2/fcntl.2:1062
5596 #, no-wrap
5597 msgid "B<F_GETLEASE>"
5598 msgstr ""
5599
5600 #. type: Plain text
5601 #: build/C/man2/fcntl.2:1065
5602 msgid "Type of lease held on file descriptor."
5603 msgstr ""
5604
5605 #. type: TP
5606 #: build/C/man2/fcntl.2:1065
5607 #, no-wrap
5608 msgid "B<F_GETOWN>"
5609 msgstr ""
5610
5611 #. type: Plain text
5612 #: build/C/man2/fcntl.2:1068
5613 msgid "Value of descriptor owner."
5614 msgstr ""
5615
5616 #. type: TP
5617 #: build/C/man2/fcntl.2:1068
5618 #, no-wrap
5619 msgid "B<F_GETSIG>"
5620 msgstr ""
5621
5622 #. type: Plain text
5623 #: build/C/man2/fcntl.2:1074
5624 msgid ""
5625 "Value of signal sent when read or write becomes possible, or zero for "
5626 "traditional B<SIGIO> behavior."
5627 msgstr ""
5628
5629 #. type: TP
5630 #: build/C/man2/fcntl.2:1074
5631 #, no-wrap
5632 msgid "B<F_GETPIPE_SZ>"
5633 msgstr ""
5634
5635 #. type: Plain text
5636 #: build/C/man2/fcntl.2:1077
5637 msgid "The pipe capacity."
5638 msgstr ""
5639
5640 #. type: TP
5641 #: build/C/man2/fcntl.2:1077
5642 #, no-wrap
5643 msgid "All other commands"
5644 msgstr ""
5645
5646 #. type: Plain text
5647 #: build/C/man2/fcntl.2:1080
5648 msgid "Zero."
5649 msgstr ""
5650
5651 #. type: Plain text
5652 #: build/C/man2/fcntl.2:1084
5653 msgid "On error, -1 is returned, and I<errno> is set appropriately."
5654 msgstr ""
5655
5656 #. type: TP
5657 #: build/C/man2/fcntl.2:1085 build/C/man3/lockf.3:122
5658 #, no-wrap
5659 msgid "B<EACCES> or B<EAGAIN>"
5660 msgstr ""
5661
5662 #. type: Plain text
5663 #: build/C/man2/fcntl.2:1088
5664 msgid "Operation is prohibited by locks held by other processes."
5665 msgstr ""
5666
5667 #. type: TP
5668 #: build/C/man2/fcntl.2:1088 build/C/man2/fork.2:181 build/C/man2/fork.2:186
5669 #, no-wrap
5670 msgid "B<EAGAIN>"
5671 msgstr ""
5672
5673 #. type: Plain text
5674 #: build/C/man2/fcntl.2:1092
5675 msgid ""
5676 "The operation is prohibited because the file has been memory-mapped by "
5677 "another process."
5678 msgstr ""
5679
5680 #. type: Plain text
5681 #: build/C/man2/fcntl.2:1101
5682 msgid ""
5683 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
5684 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
5685 "lock requested."
5686 msgstr ""
5687
5688 #. type: TP
5689 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:142
5690 #, no-wrap
5691 msgid "B<EDEADLK>"
5692 msgstr ""
5693
5694 #. type: Plain text
5695 #: build/C/man2/fcntl.2:1106
5696 msgid ""
5697 "It was detected that the specified B<F_SETLKW> command would cause a "
5698 "deadlock."
5699 msgstr ""
5700
5701 #. type: Plain text
5702 #: build/C/man2/fcntl.2:1110
5703 msgid "I<lock> is outside your accessible address space."
5704 msgstr ""
5705
5706 #. type: Plain text
5707 #: build/C/man2/fcntl.2:1122
5708 msgid ""
5709 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
5710 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
5711 "before the lock was checked or acquired.  Most likely when locking a remote "
5712 "file (e.g., locking over NFS), but can sometimes happen locally."
5713 msgstr ""
5714
5715 #. type: Plain text
5716 #: build/C/man2/fcntl.2:1132
5717 msgid ""
5718 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
5719 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
5720 msgstr ""
5721
5722 #. type: Plain text
5723 #: build/C/man2/fcntl.2:1137
5724 msgid ""
5725 "For B<F_DUPFD>, the process already has the maximum number of file "
5726 "descriptors open."
5727 msgstr ""
5728
5729 #. type: TP
5730 #: build/C/man2/fcntl.2:1137 build/C/man2/flock.2:130 build/C/man3/lockf.3:151
5731 #, no-wrap
5732 msgid "B<ENOLCK>"
5733 msgstr ""
5734
5735 #. type: Plain text
5736 #: build/C/man2/fcntl.2:1141
5737 msgid ""
5738 "Too many segment locks open, lock table is full, or a remote locking "
5739 "protocol failed (e.g., locking over NFS)."
5740 msgstr ""
5741
5742 #. type: Plain text
5743 #: build/C/man2/fcntl.2:1146
5744 msgid ""
5745 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
5746 "attribute set."
5747 msgstr ""
5748
5749 #. type: Plain text
5750 #: build/C/man2/fcntl.2:1159
5751 msgid ""
5752 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
5753 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK> and B<F_SETLKW>, "
5754 "are specified in POSIX.1-2001."
5755 msgstr ""
5756
5757 #. type: Plain text
5758 #: build/C/man2/fcntl.2:1171
5759 msgid ""
5760 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
5761 "definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
5762 "greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
5763 msgstr ""
5764
5765 #. type: Plain text
5766 #: build/C/man2/fcntl.2:1179
5767 msgid ""
5768 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
5769 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
5770 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
5771 msgstr ""
5772
5773 #.  .PP
5774 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
5775 #. type: Plain text
5776 #: build/C/man2/fcntl.2:1196
5777 msgid ""
5778 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
5779 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
5780 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
5781 "definitions.)"
5782 msgstr ""
5783
5784 #. type: Plain text
5785 #: build/C/man2/fcntl.2:1217
5786 msgid ""
5787 "The original Linux B<fcntl>()  system call was not designed to handle large "
5788 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
5789 "system call was added in Linux 2.4.  The newer system call employs a "
5790 "different structure for file locking, I<flock64>, and corresponding "
5791 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
5792 "details can be ignored by applications using glibc, whose B<fcntl>()  "
5793 "wrapper function transparently employs the more recent system call where it "
5794 "is available."
5795 msgstr ""
5796
5797 #. type: Plain text
5798 #: build/C/man2/fcntl.2:1222
5799 msgid ""
5800 "The errors returned by B<dup2>(2)  are different from those returned by "
5801 "B<F_DUPFD>."
5802 msgstr ""
5803
5804 #. type: Plain text
5805 #: build/C/man2/fcntl.2:1228
5806 msgid ""
5807 "Since kernel 2.0, there is no interaction between the types of lock placed "
5808 "by B<flock>(2)  and B<fcntl>()."
5809 msgstr ""
5810
5811 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
5812 #.  documents it in fcntl(5).  mtk, May 2007
5813 #. type: Plain text
5814 #: build/C/man2/fcntl.2:1239
5815 msgid ""
5816 "Several systems have more fields in I<struct flock> such as, for example, "
5817 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
5818 "process holding the lock may live on a different machine."
5819 msgstr ""
5820
5821 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
5822 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
5823 #.  indicate that ANY negative PGID value will cause F_GETOWN
5824 #.  to misinterpret the return as an error. Some other architectures
5825 #.  seem to have the same range check as i386.
5826 #. type: Plain text
5827 #: build/C/man2/fcntl.2:1265
5828 msgid ""
5829 "A limitation of the Linux system call conventions on some architectures "
5830 "(notably i386) means that if a (negative)  process group ID to be returned "
5831 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
5832 "wrongly interpreted by glibc as an error in the system call; that is, the "
5833 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
5834 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
5835 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
5836 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
5837 "B<F_GETOWN_EX>."
5838 msgstr ""
5839
5840 #. type: Plain text
5841 #: build/C/man2/fcntl.2:1282
5842 msgid ""
5843 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
5844 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
5845 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
5846 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
5847 "is one that the caller has permission to send signals to.  Despite this "
5848 "error return, the file descriptor owner is set, and signals will be sent to "
5849 "the owner."
5850 msgstr ""
5851
5852 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
5853 #. type: Plain text
5854 #: build/C/man2/fcntl.2:1297
5855 msgid ""
5856 "The implementation of mandatory locking in all known versions of Linux is "
5857 "subject to race conditions which render it unreliable: a B<write>(2)  call "
5858 "that overlaps with a lock may modify data after the mandatory lock is "
5859 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
5860 "data that were made only after a write lock was acquired.  Similar races "
5861 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
5862 "to rely on mandatory locking."
5863 msgstr ""
5864
5865 #. type: Plain text
5866 #: build/C/man2/fcntl.2:1305
5867 msgid ""
5868 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
5869 "B<capabilities>(7), B<feature_test_macros>(7)"
5870 msgstr ""
5871
5872 #. type: Plain text
5873 #: build/C/man2/fcntl.2:1318
5874 msgid ""
5875 "I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the Linux "
5876 "kernel source directory I<Documentation/filesystems/> (on older kernels, "
5877 "these files are directly under the I<Documentation/> directory, and "
5878 "I<mandatory-locking.txt> is called I<mandatory.txt>)"
5879 msgstr ""
5880
5881 #. type: TH
5882 #: build/C/man3/fexecve.3:25
5883 #, no-wrap
5884 msgid "FEXECVE"
5885 msgstr ""
5886
5887 #. type: TH
5888 #: build/C/man3/fexecve.3:25
5889 #, no-wrap
5890 msgid "2010-09-15"
5891 msgstr ""
5892
5893 #. type: Plain text
5894 #: build/C/man3/fexecve.3:28
5895 msgid "fexecve - execute program specified via file descriptor"
5896 msgstr ""
5897
5898 #. type: Plain text
5899 #: build/C/man3/fexecve.3:33
5900 #, no-wrap
5901 msgid ""
5902 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
5903 ">I<envp>B<[]);>\n"
5904 msgstr ""
5905
5906 #. type: Plain text
5907 #: build/C/man3/fexecve.3:41
5908 msgid "B<fexecve>():"
5909 msgstr ""
5910
5911 #. type: TP
5912 #: build/C/man3/fexecve.3:44
5913 #, no-wrap
5914 msgid "Since glibc 2.10:"
5915 msgstr ""
5916
5917 #. type: Plain text
5918 #: build/C/man3/fexecve.3:47
5919 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5920 msgstr ""
5921
5922 #. type: TP
5923 #: build/C/man3/fexecve.3:47
5924 #, no-wrap
5925 msgid "Before glibc 2.10:"
5926 msgstr ""
5927
5928 #. type: Plain text
5929 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:54
5930 msgid "_GNU_SOURCE"
5931 msgstr ""
5932
5933 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
5934 #.  but Linux doesn't support this flag yet.
5935 #. type: Plain text
5936 #: build/C/man3/fexecve.3:67
5937 msgid ""
5938 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
5939 "that the file to be executed is specified via a file descriptor, I<fd>, "
5940 "rather than via a pathname.  The file descriptor I<fd> must be opened "
5941 "read-only, and the caller must have permission to execute the file that it "
5942 "refers to."
5943 msgstr ""
5944
5945 #. type: Plain text
5946 #: build/C/man3/fexecve.3:74
5947 msgid ""
5948 "A successful call to B<fexecve>()  never returns.  On error, the function "
5949 "returns, with a result value of -1, and I<errno> is set appropriately."
5950 msgstr ""
5951
5952 #. type: Plain text
5953 #: build/C/man3/fexecve.3:78
5954 msgid "Errors are as for B<execve>(2), with the following additions:"
5955 msgstr ""
5956
5957 #. type: Plain text
5958 #: build/C/man3/fexecve.3:86
5959 msgid ""
5960 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
5961 "NULL."
5962 msgstr ""
5963
5964 #. type: Plain text
5965 #: build/C/man3/fexecve.3:91
5966 msgid "The I</proc> file system could not be accessed."
5967 msgstr ""
5968
5969 #. type: Plain text
5970 #: build/C/man3/fexecve.3:94
5971 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
5972 msgstr ""
5973
5974 #. type: Plain text
5975 #: build/C/man3/fexecve.3:98
5976 msgid ""
5977 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
5978 "widely available on other systems."
5979 msgstr ""
5980
5981 #. type: Plain text
5982 #: build/C/man3/fexecve.3:106
5983 msgid ""
5984 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  file system, so "
5985 "I</proc> needs to be mounted and available at the time of the call."
5986 msgstr ""
5987
5988 #. type: Plain text
5989 #: build/C/man3/fexecve.3:108
5990 msgid "B<execve>(2)"
5991 msgstr ""
5992
5993 #. type: TH
5994 #: build/C/man2/flock.2:35
5995 #, no-wrap
5996 msgid "FLOCK"
5997 msgstr ""
5998
5999 #. type: TH
6000 #: build/C/man2/flock.2:35
6001 #, no-wrap
6002 msgid "2013-02-11"
6003 msgstr ""
6004
6005 #. type: Plain text
6006 #: build/C/man2/flock.2:38
6007 msgid "flock - apply or remove an advisory lock on an open file"
6008 msgstr ""
6009
6010 #. type: Plain text
6011 #: build/C/man2/flock.2:40
6012 msgid "B<#include E<lt>sys/file.hE<gt>>"
6013 msgstr ""
6014
6015 #. type: Plain text
6016 #: build/C/man2/flock.2:42
6017 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
6018 msgstr ""
6019
6020 #. type: Plain text
6021 #: build/C/man2/flock.2:48
6022 msgid ""
6023 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6024 "argument I<operation> is one of the following:"
6025 msgstr ""
6026
6027 #. type: TP
6028 #: build/C/man2/flock.2:49
6029 #, no-wrap
6030 msgid "B<LOCK_SH>"
6031 msgstr ""
6032
6033 #. type: Plain text
6034 #: build/C/man2/flock.2:54
6035 msgid ""
6036 "Place a shared lock.  More than one process may hold a shared lock for a "
6037 "given file at a given time."
6038 msgstr ""
6039
6040 #. type: TP
6041 #: build/C/man2/flock.2:54
6042 #, no-wrap
6043 msgid "B<LOCK_EX>"
6044 msgstr ""
6045
6046 #. type: Plain text
6047 #: build/C/man2/flock.2:59
6048 msgid ""
6049 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6050 "given file at a given time."
6051 msgstr ""
6052
6053 #. type: TP
6054 #: build/C/man2/flock.2:59
6055 #, no-wrap
6056 msgid "B<LOCK_UN>"
6057 msgstr ""
6058
6059 #. type: Plain text
6060 #: build/C/man2/flock.2:62
6061 msgid "Remove an existing lock held by this process."
6062 msgstr ""
6063
6064 #. type: Plain text
6065 #: build/C/man2/flock.2:71
6066 msgid ""
6067 "A call to B<flock>()  may block if an incompatible lock is held by another "
6068 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6069 "any of the above operations."
6070 msgstr ""
6071
6072 #. type: Plain text
6073 #: build/C/man2/flock.2:73
6074 msgid "A single file may not simultaneously have both shared and exclusive locks."
6075 msgstr ""
6076
6077 #. type: Plain text
6078 #: build/C/man2/flock.2:87
6079 msgid ""
6080 "Locks created by B<flock>()  are associated with an open file table entry.  "
6081 "This means that duplicate file descriptors (created by, for example, "
6082 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6083 "modified or released using any of these descriptors.  Furthermore, the lock "
6084 "is released either by an explicit B<LOCK_UN> operation on any of these "
6085 "duplicate descriptors, or when all such descriptors have been closed."
6086 msgstr ""
6087
6088 #. type: Plain text
6089 #: build/C/man2/flock.2:96
6090 msgid ""
6091 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6092 "descriptor for the same file, these descriptors are treated independently by "
6093 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6094 "may be denied by a lock that the calling process has already placed via "
6095 "another descriptor."
6096 msgstr ""
6097
6098 #. type: Plain text
6099 #: build/C/man2/flock.2:103
6100 msgid ""
6101 "A process may only hold one type of lock (shared or exclusive)  on a file.  "
6102 "Subsequent B<flock>()  calls on an already locked file will convert an "
6103 "existing lock to the new lock mode."
6104 msgstr ""
6105
6106 #. type: Plain text
6107 #: build/C/man2/flock.2:108
6108 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6109 msgstr ""
6110
6111 #. type: Plain text
6112 #: build/C/man2/flock.2:111
6113 msgid ""
6114 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6115 "which the file was opened."
6116 msgstr ""
6117
6118 #. type: Plain text
6119 #: build/C/man2/flock.2:121
6120 msgid "I<fd> is not an open file descriptor."
6121 msgstr ""
6122
6123 #. type: Plain text
6124 #: build/C/man2/flock.2:126
6125 msgid ""
6126 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6127 "signal caught by a handler; see B<signal>(7)."
6128 msgstr ""
6129
6130 #. type: Plain text
6131 #: build/C/man2/flock.2:130
6132 msgid "I<operation> is invalid."
6133 msgstr ""
6134
6135 #. type: Plain text
6136 #: build/C/man2/flock.2:133
6137 msgid "The kernel ran out of memory for allocating lock records."
6138 msgstr ""
6139
6140 #. type: TP
6141 #: build/C/man2/flock.2:133
6142 #, no-wrap
6143 msgid "B<EWOULDBLOCK>"
6144 msgstr ""
6145
6146 #. type: Plain text
6147 #: build/C/man2/flock.2:138
6148 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6149 msgstr ""
6150
6151 #. type: Plain text
6152 #: build/C/man2/flock.2:147
6153 msgid ""
6154 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6155 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6156 "UNIX systems."
6157 msgstr ""
6158
6159 #. type: Plain text
6160 #: build/C/man2/flock.2:154
6161 msgid ""
6162 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6163 "does work over NFS, given a sufficiently recent version of Linux and a "
6164 "server which supports locking."
6165 msgstr ""
6166
6167 #. type: Plain text
6168 #: build/C/man2/flock.2:169
6169 msgid ""
6170 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6171 "right rather than being emulated in the GNU C library as a call to "
6172 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6173 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6174 "B<flock>()  does not detect deadlock."
6175 msgstr ""
6176
6177 #. type: Plain text
6178 #: build/C/man2/flock.2:175
6179 msgid ""
6180 "B<flock>()  places advisory locks only; given suitable permissions on a "
6181 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6182 "the file."
6183 msgstr ""
6184
6185 #. type: Plain text
6186 #: build/C/man2/flock.2:188
6187 msgid ""
6188 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6189 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6190 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6191 "described in this manual page."
6192 msgstr ""
6193
6194 #.  Kernel 2.5.21 changed things a little: during lock conversion
6195 #.  it is now the highest priority process that will get the lock -- mtk
6196 #. type: Plain text
6197 #: build/C/man2/flock.2:201
6198 msgid ""
6199 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6200 "be atomic: the existing lock is first removed, and then a new lock is "
6201 "established.  Between these two steps, a pending lock request by another "
6202 "process may be granted, with the result that the conversion either blocks, "
6203 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6204 "and occurs on many other implementations.)"
6205 msgstr ""
6206
6207 #. type: Plain text
6208 #: build/C/man2/flock.2:210
6209 msgid ""
6210 "B<flock>(1), B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), "
6211 "B<open>(2), B<lockf>(3)"
6212 msgstr ""
6213
6214 #. type: Plain text
6215 #: build/C/man2/flock.2:215
6216 msgid ""
6217 "I<Documentation/filesystem/locks.txt> in the Linux kernel source tree "
6218 "(I<Documentation/locks.txt> in older kernels)"
6219 msgstr ""
6220
6221 #. type: TH
6222 #: build/C/man2/fork.2:39
6223 #, no-wrap
6224 msgid "FORK"
6225 msgstr ""
6226
6227 #. type: TH
6228 #: build/C/man2/fork.2:39 build/C/man2/ioperm.2:34
6229 #, no-wrap
6230 msgid "2013-03-12"
6231 msgstr ""
6232
6233 #. type: Plain text
6234 #: build/C/man2/fork.2:42
6235 msgid "fork - create a child process"
6236 msgstr ""
6237
6238 #. type: Plain text
6239 #: build/C/man2/fork.2:46
6240 msgid "B<pid_t fork(void);>"
6241 msgstr ""
6242
6243 #. type: Plain text
6244 #: build/C/man2/fork.2:52
6245 msgid ""
6246 "B<fork>()  creates a new process by duplicating the calling process.  The "
6247 "new process, referred to as the I<child>, is an exact duplicate of the "
6248 "calling process, referred to as the I<parent>, except for the following "
6249 "points:"
6250 msgstr ""
6251
6252 #. type: Plain text
6253 #: build/C/man2/fork.2:56
6254 msgid ""
6255 "The child has its own unique process ID, and this PID does not match the ID "
6256 "of any existing process group (B<setpgid>(2))."
6257 msgstr ""
6258
6259 #. type: Plain text
6260 #: build/C/man2/fork.2:58
6261 msgid "The child's parent process ID is the same as the parent's process ID."
6262 msgstr ""
6263
6264 #. type: Plain text
6265 #: build/C/man2/fork.2:62
6266 msgid ""
6267 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6268 "B<mlockall>(2))."
6269 msgstr ""
6270
6271 #. type: Plain text
6272 #: build/C/man2/fork.2:68
6273 msgid ""
6274 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6275 "(B<times>(2))  are reset to zero in the child."
6276 msgstr ""
6277
6278 #. type: Plain text
6279 #: build/C/man2/fork.2:71
6280 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6281 msgstr ""
6282
6283 #. type: Plain text
6284 #: build/C/man2/fork.2:74
6285 msgid ""
6286 "The child does not inherit semaphore adjustments from its parent "
6287 "(B<semop>(2))."
6288 msgstr ""
6289
6290 #. type: Plain text
6291 #: build/C/man2/fork.2:77
6292 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6293 msgstr ""
6294
6295 #. type: Plain text
6296 #: build/C/man2/fork.2:82
6297 msgid ""
6298 "The child does not inherit timers from its parent (B<setitimer>(2), "
6299 "B<alarm>(2), B<timer_create>(2))."
6300 msgstr ""
6301
6302 #. type: Plain text
6303 #: build/C/man2/fork.2:89
6304 msgid ""
6305 "The child does not inherit outstanding asynchronous I/O operations from its "
6306 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6307 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6308 msgstr ""
6309
6310 #. type: Plain text
6311 #: build/C/man2/fork.2:94
6312 msgid ""
6313 "The process attributes in the preceding list are all specified in "
6314 "POSIX.1-2001.  The parent and child also differ with respect to the "
6315 "following Linux-specific process attributes:"
6316 msgstr ""
6317
6318 #. type: Plain text
6319 #: build/C/man2/fork.2:101
6320 msgid ""
6321 "The child does not inherit directory change notifications (dnotify)  from "
6322 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6323 msgstr ""
6324
6325 #. type: Plain text
6326 #: build/C/man2/fork.2:107
6327 msgid ""
6328 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6329 "not receive a signal when its parent terminates."
6330 msgstr ""
6331
6332 #. type: Plain text
6333 #: build/C/man2/fork.2:114
6334 msgid ""
6335 "The default timer slack value is set to the parent's current timer slack "
6336 "value.  See the description of B<PR_SET_TIMERSLACK> in B<prctl>(2)."
6337 msgstr ""
6338
6339 #. type: Plain text
6340 #: build/C/man2/fork.2:120
6341 msgid ""
6342 "Memory mappings that have been marked with the B<madvise>(2)  "
6343 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6344 msgstr ""
6345
6346 #. type: Plain text
6347 #: build/C/man2/fork.2:125
6348 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6349 msgstr ""
6350
6351 #. type: Plain text
6352 #: build/C/man2/fork.2:131
6353 msgid ""
6354 "The port access permission bits set by B<ioperm>(2)  are not inherited by "
6355 "the child; the child must turn on any bits that it requires using "
6356 "B<ioperm>(2)."
6357 msgstr ""
6358
6359 #. type: Plain text
6360 #: build/C/man2/fork.2:142
6361 msgid ""
6362 "The child process is created with a single thread\\(emthe one that called "
6363 "B<fork>().  The entire virtual address space of the parent is replicated in "
6364 "the child, including the states of mutexes, condition variables, and other "
6365 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6366 "dealing with problems that this can cause."
6367 msgstr ""
6368
6369 #. type: Plain text
6370 #: build/C/man2/fork.2:156
6371 msgid ""
6372 "The child inherits copies of the parent's set of open file descriptors.  "
6373 "Each file descriptor in the child refers to the same open file description "
6374 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6375 "means that the two descriptors share open file status flags, current file "
6376 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6377 "and B<F_SETSIG> in B<fcntl>(2))."
6378 msgstr ""
6379
6380 #. type: Plain text
6381 #: build/C/man2/fork.2:165
6382 msgid ""
6383 "The child inherits copies of the parent's set of open message queue "
6384 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6385 "the same open message queue description as the corresponding descriptor in "
6386 "the parent.  This means that the two descriptors share the same flags "
6387 "(I<mq_flags>)."
6388 msgstr ""
6389
6390 #. type: Plain text
6391 #: build/C/man2/fork.2:173
6392 msgid ""
6393 "The child inherits copies of the parent's set of open directory streams (see "
6394 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6395 "in the parent and child I<may> share the directory stream positioning; on "
6396 "Linux/glibc they do not."
6397 msgstr ""
6398
6399 #. type: Plain text
6400 #: build/C/man2/fork.2:180
6401 msgid ""
6402 "On success, the PID of the child process is returned in the parent, and 0 is "
6403 "returned in the child.  On failure, -1 is returned in the parent, no child "
6404 "process is created, and I<errno> is set appropriately."
6405 msgstr ""
6406
6407 #. type: Plain text
6408 #: build/C/man2/fork.2:186
6409 msgid ""
6410 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6411 "tables and allocate a task structure for the child."
6412 msgstr ""
6413
6414 #. type: Plain text
6415 #: build/C/man2/fork.2:196
6416 msgid ""
6417 "It was not possible to create a new process because the caller's "
6418 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6419 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6420 "capability."
6421 msgstr ""
6422
6423 #. type: Plain text
6424 #: build/C/man2/fork.2:200
6425 msgid ""
6426 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6427 "is tight."
6428 msgstr ""
6429
6430 #.  e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa
6431 #. type: Plain text
6432 #: build/C/man2/fork.2:206
6433 msgid ""
6434 "B<fork>()  is not supported on this platform (for example, hardware without "
6435 "a Memory-Management Unit)."
6436 msgstr ""
6437
6438 #. type: Plain text
6439 #: build/C/man2/fork.2:215
6440 msgid ""
6441 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6442 "only penalty that it incurs is the time and memory required to duplicate the "
6443 "parent's page tables, and to create a unique task structure for the child."
6444 msgstr ""
6445
6446 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6447 #.  and does some magic to ensure that getpid(2) returns the right value.
6448 #. type: Plain text
6449 #: build/C/man2/fork.2:239
6450 msgid ""
6451 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6452 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6453 "threading implementation invokes B<clone>(2)  with flags that provide the "
6454 "same effect as the traditional system call.  (A call to B<fork>()  is "
6455 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6456 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6457 "established using B<pthread_atfork>(3)."
6458 msgstr ""
6459
6460 #. type: Plain text
6461 #: build/C/man2/fork.2:244
6462 msgid "See B<pipe>(2)  and B<wait>(2)."
6463 msgstr ""
6464
6465 #. type: Plain text
6466 #: build/C/man2/fork.2:255
6467 msgid ""
6468 "B<clone>(2), B<execve>(2), B<exit>(2), B<setrlimit>(2), B<unshare>(2), "
6469 "B<vfork>(2), B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6470 msgstr ""
6471
6472 #. type: TH
6473 #: build/C/man3/fpathconf.3:41
6474 #, no-wrap
6475 msgid "FPATHCONF"
6476 msgstr ""
6477
6478 #. type: TH
6479 #: build/C/man3/fpathconf.3:41
6480 #, no-wrap
6481 msgid "1993-04-04"
6482 msgstr ""
6483
6484 #. type: Plain text
6485 #: build/C/man3/fpathconf.3:44
6486 msgid "fpathconf, pathconf - get configuration values for files"
6487 msgstr ""
6488
6489 #. type: Plain text
6490 #: build/C/man3/fpathconf.3:49
6491 #, no-wrap
6492 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6493 msgstr ""
6494
6495 #. type: Plain text
6496 #: build/C/man3/fpathconf.3:51
6497 #, no-wrap
6498 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6499 msgstr ""
6500
6501 #. type: Plain text
6502 #: build/C/man3/fpathconf.3:58
6503 msgid ""
6504 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
6505 "open file descriptor I<fd>."
6506 msgstr ""
6507
6508 #. type: Plain text
6509 #: build/C/man3/fpathconf.3:64
6510 msgid ""
6511 "B<pathconf>()  gets a value for configuration option I<name> for the "
6512 "filename I<path>."
6513 msgstr ""
6514
6515 #. type: Plain text
6516 #: build/C/man3/fpathconf.3:73
6517 msgid ""
6518 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
6519 "values; if an application wants to take advantage of values which may "
6520 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
6521 "yield more liberal results."
6522 msgstr ""
6523
6524 #. type: Plain text
6525 #: build/C/man3/fpathconf.3:78
6526 msgid ""
6527 "Setting I<name> equal to one of the following constants returns the "
6528 "following configuration options:"
6529 msgstr ""
6530
6531 #. type: TP
6532 #: build/C/man3/fpathconf.3:78
6533 #, no-wrap
6534 msgid "B<_PC_LINK_MAX>"
6535 msgstr ""
6536
6537 #. type: Plain text
6538 #: build/C/man3/fpathconf.3:88
6539 msgid ""
6540 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
6541 "to a directory, then the value applies to the whole directory.  The "
6542 "corresponding macro is B<_POSIX_LINK_MAX>."
6543 msgstr ""
6544
6545 #. type: TP
6546 #: build/C/man3/fpathconf.3:88
6547 #, no-wrap
6548 msgid "B<_PC_MAX_CANON>"
6549 msgstr ""
6550
6551 #. type: Plain text
6552 #: build/C/man3/fpathconf.3:97
6553 msgid ""
6554 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
6555 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
6556 msgstr ""
6557
6558 #. type: TP
6559 #: build/C/man3/fpathconf.3:97
6560 #, no-wrap
6561 msgid "B<_PC_MAX_INPUT>"
6562 msgstr ""
6563
6564 #. type: Plain text
6565 #: build/C/man3/fpathconf.3:106
6566 msgid ""
6567 "returns the maximum length of an input line, where I<fd> or I<path> must "
6568 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
6569 msgstr ""
6570
6571 #. type: TP
6572 #: build/C/man3/fpathconf.3:106
6573 #, no-wrap
6574 msgid "B<_PC_NAME_MAX>"
6575 msgstr ""
6576
6577 #. type: Plain text
6578 #: build/C/man3/fpathconf.3:115
6579 msgid ""
6580 "returns the maximum length of a filename in the directory I<path> or I<fd> "
6581 "that the process is allowed to create.  The corresponding macro is "
6582 "B<_POSIX_NAME_MAX>."
6583 msgstr ""
6584
6585 #. type: TP
6586 #: build/C/man3/fpathconf.3:115
6587 #, no-wrap
6588 msgid "B<_PC_PATH_MAX>"
6589 msgstr ""
6590
6591 #. type: Plain text
6592 #: build/C/man3/fpathconf.3:124
6593 msgid ""
6594 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
6595 "the current working directory.  The corresponding macro is "
6596 "B<_POSIX_PATH_MAX>."
6597 msgstr ""
6598
6599 #. type: TP
6600 #: build/C/man3/fpathconf.3:124
6601 #, no-wrap
6602 msgid "B<_PC_PIPE_BUF>"
6603 msgstr ""
6604
6605 #. type: Plain text
6606 #: build/C/man3/fpathconf.3:133
6607 msgid ""
6608 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
6609 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
6610 "B<_POSIX_PIPE_BUF>."
6611 msgstr ""
6612
6613 #. type: TP
6614 #: build/C/man3/fpathconf.3:133
6615 #, no-wrap
6616 msgid "B<_PC_CHOWN_RESTRICTED>"
6617 msgstr ""
6618
6619 #. type: Plain text
6620 #: build/C/man3/fpathconf.3:146
6621 msgid ""
6622 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
6623 "I<fd> or I<path> refer to a directory, then this applies to all files in "
6624 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
6625 msgstr ""
6626
6627 #. type: TP
6628 #: build/C/man3/fpathconf.3:146
6629 #, no-wrap
6630 msgid "B<_PC_NO_TRUNC>"
6631 msgstr ""
6632
6633 #. type: Plain text
6634 #: build/C/man3/fpathconf.3:153
6635 msgid ""
6636 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
6637 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
6638 msgstr ""
6639
6640 #. type: TP
6641 #: build/C/man3/fpathconf.3:153
6642 #, no-wrap
6643 msgid "B<_PC_VDISABLE>"
6644 msgstr ""
6645
6646 #. type: Plain text
6647 #: build/C/man3/fpathconf.3:160
6648 msgid ""
6649 "returns nonzero if special character processing can be disabled, where I<fd> "
6650 "or I<path> must refer to a terminal."
6651 msgstr ""
6652
6653 #. type: Plain text
6654 #: build/C/man3/fpathconf.3:169
6655 msgid ""
6656 "The limit is returned, if one exists.  If the system does not have a limit "
6657 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
6658 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
6659 "of the error."
6660 msgstr ""
6661
6662 #. type: Plain text
6663 #: build/C/man3/fpathconf.3:177
6664 msgid ""
6665 "Files with name lengths longer than the value returned for I<name> equal to "
6666 "B<_PC_NAME_MAX> may exist in the given directory."
6667 msgstr ""
6668
6669 #. type: Plain text
6670 #: build/C/man3/fpathconf.3:180 build/C/man3/sysconf.3:335
6671 msgid ""
6672 "Some returned values may be huge; they are not suitable for allocating "
6673 "memory."
6674 msgstr ""
6675
6676 #. type: Plain text
6677 #: build/C/man3/fpathconf.3:185
6678 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
6679 msgstr ""
6680
6681 #. type: TH
6682 #: build/C/man2/fsync.2:38
6683 #, no-wrap
6684 msgid "FSYNC"
6685 msgstr ""
6686
6687 #. type: TH
6688 #: build/C/man2/fsync.2:38
6689 #, no-wrap
6690 msgid "2012-02-27"
6691 msgstr ""
6692
6693 #. type: Plain text
6694 #: build/C/man2/fsync.2:41
6695 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
6696 msgstr ""
6697
6698 #. type: Plain text
6699 #: build/C/man2/fsync.2:45
6700 msgid "B<int fsync(int >I<fd>B<);>"
6701 msgstr ""
6702
6703 #. type: Plain text
6704 #: build/C/man2/fsync.2:47
6705 msgid "B<int fdatasync(int >I<fd>B<);>"
6706 msgstr ""
6707
6708 #. type: Plain text
6709 #: build/C/man2/fsync.2:55
6710 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
6711 msgstr ""
6712
6713 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
6714 #. type: Plain text
6715 #: build/C/man2/fsync.2:58
6716 #, no-wrap
6717 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
6718 msgstr ""
6719
6720 #. type: Plain text
6721 #: build/C/man2/fsync.2:61
6722 msgid ""
6723 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
6724 "E<gt>=\\ 500"
6725 msgstr ""
6726
6727 #. type: Plain text
6728 #: build/C/man2/fsync.2:74
6729 msgid ""
6730 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
6731 "modified buffer cache pages for) the file referred to by the file descriptor "
6732 "I<fd> to the disk device (or other permanent storage device) so that all "
6733 "changed information can be retrieved even after the system crashed or was "
6734 "rebooted.  This includes writing through or flushing a disk cache if "
6735 "present.  The call blocks until the device reports that the transfer has "
6736 "completed.  It also flushes metadata information associated with the file "
6737 "(see B<stat>(2))."
6738 msgstr ""
6739
6740 #. type: Plain text
6741 #: build/C/man2/fsync.2:82
6742 msgid ""
6743 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
6744 "directory containing the file has also reached disk.  For that an explicit "
6745 "B<fsync>()  on a file descriptor for the directory is also needed."
6746 msgstr ""
6747
6748 #. type: Plain text
6749 #: build/C/man2/fsync.2:103
6750 msgid ""
6751 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
6752 "metadata unless that metadata is needed in order to allow a subsequent data "
6753 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
6754 "I<st_mtime> (respectively, time of last access and time of last "
6755 "modification; see B<stat>(2))  do not require flushing because they are not "
6756 "necessary for a subsequent data read to be handled correctly.  On the other "
6757 "hand, a change to the file size (I<st_size>, as made by say "
6758 "B<ftruncate>(2)), would require a metadata flush."
6759 msgstr ""
6760
6761 #. type: Plain text
6762 #: build/C/man2/fsync.2:108
6763 msgid ""
6764 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
6765 "do not require all metadata to be synchronized with the disk."
6766 msgstr ""
6767
6768 #. type: Plain text
6769 #: build/C/man2/fsync.2:113
6770 msgid ""
6771 "On success, these system calls return zero.  On error, -1 is returned, and "
6772 "I<errno> is set appropriately."
6773 msgstr ""
6774
6775 #. type: Plain text
6776 #: build/C/man2/fsync.2:118
6777 msgid "I<fd> is not a valid open file descriptor."
6778 msgstr ""
6779
6780 #. type: Plain text
6781 #: build/C/man2/fsync.2:121
6782 msgid "An error occurred during synchronization."
6783 msgstr ""
6784
6785 #. type: TP
6786 #: build/C/man2/fsync.2:121
6787 #, no-wrap
6788 msgid "B<EROFS>, B<EINVAL>"
6789 msgstr ""
6790
6791 #. type: Plain text
6792 #: build/C/man2/fsync.2:125
6793 msgid "I<fd> is bound to a special file which does not support synchronization."
6794 msgstr ""
6795
6796 #. type: Plain text
6797 #: build/C/man2/fsync.2:127
6798 msgid "4.3BSD, POSIX.1-2001."
6799 msgstr ""
6800
6801 #. type: SH
6802 #: build/C/man2/fsync.2:127
6803 #, no-wrap
6804 msgid "AVAILABILITY"
6805 msgstr ""
6806
6807 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
6808 #.  -1: unavailable, 0: ask using sysconf().
6809 #.  glibc defines them to 1.
6810 #. type: Plain text
6811 #: build/C/man2/fsync.2:140
6812 msgid ""
6813 "On POSIX systems on which B<fdatasync>()  is available, "
6814 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
6815 "greater than 0.  (See also B<sysconf>(3).)"
6816 msgstr ""
6817
6818 #. type: Plain text
6819 #: build/C/man2/fsync.2:146
6820 msgid ""
6821 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
6822 "descriptor."
6823 msgstr ""
6824
6825 #. type: Plain text
6826 #: build/C/man2/fsync.2:152
6827 msgid ""
6828 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
6829 "so has no performance advantage."
6830 msgstr ""
6831
6832 #. type: Plain text
6833 #: build/C/man2/fsync.2:162
6834 msgid ""
6835 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
6836 "does not know how to flush disk caches.  In these cases disk caches need to "
6837 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
6838 "operation."
6839 msgstr ""
6840
6841 #. type: Plain text
6842 #: build/C/man2/fsync.2:171
6843 msgid ""
6844 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
6845 "B<mount>(8), B<sync>(8), B<update>(8)"
6846 msgstr ""
6847
6848 #. type: TH
6849 #: build/C/man3/get_nprocs_conf.3:26
6850 #, no-wrap
6851 msgid "GET_NPROCS"
6852 msgstr ""
6853
6854 #. type: TH
6855 #: build/C/man3/get_nprocs_conf.3:26
6856 #, no-wrap
6857 msgid "2012-03-20"
6858 msgstr ""
6859
6860 #. type: Plain text
6861 #: build/C/man3/get_nprocs_conf.3:29
6862 msgid "get_nprocs, get_nprocs_conf - get number of processors"
6863 msgstr ""
6864
6865 #. type: Plain text
6866 #: build/C/man3/get_nprocs_conf.3:31 build/C/man2/sysinfo.2:19
6867 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
6868 msgstr ""
6869
6870 #. type: Plain text
6871 #: build/C/man3/get_nprocs_conf.3:33
6872 msgid "B<int get_nprocs(void);>"
6873 msgstr ""
6874
6875 #. type: Plain text
6876 #: build/C/man3/get_nprocs_conf.3:35
6877 msgid "B<int get_nprocs_conf(void);>"
6878 msgstr ""
6879
6880 #. type: Plain text
6881 #: build/C/man3/get_nprocs_conf.3:39
6882 msgid ""
6883 "The function B<get_nprocs_conf>()  returns the number of processors "
6884 "configured by the operating system."
6885 msgstr ""
6886
6887 #. type: Plain text
6888 #: build/C/man3/get_nprocs_conf.3:46
6889 msgid ""
6890 "The function B<get_nprocs>()  returns the number of processors currently "
6891 "available in the system.  This may be less than the number returned by "
6892 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
6893 "hotpluggable systems)."
6894 msgstr ""
6895
6896 #. type: Plain text
6897 #: build/C/man3/get_nprocs_conf.3:48
6898 msgid "As given in DESCRIPTION."
6899 msgstr ""
6900
6901 #. type: Plain text
6902 #: build/C/man3/get_nprocs_conf.3:50 build/C/man3/getopt.3:350
6903 msgid "These functions are GNU extensions."
6904 msgstr ""
6905
6906 #.  glibc 2.15
6907 #. type: Plain text
6908 #: build/C/man3/get_nprocs_conf.3:57
6909 msgid ""
6910 "The current implementation of these functions is rather expensive, since "
6911 "they open and parse files in the I</sys> file system each time they are "
6912 "called."
6913 msgstr ""
6914
6915 #. type: Plain text
6916 #: build/C/man3/get_nprocs_conf.3:62
6917 msgid ""
6918 "The following B<sysconf>(3)  calls make use of the functions documented on "
6919 "this page to return the same information."
6920 msgstr ""
6921
6922 #. type: Plain text
6923 #: build/C/man3/get_nprocs_conf.3:66
6924 #, no-wrap
6925 msgid ""
6926 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
6927 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
6928 msgstr ""
6929
6930 #. type: Plain text
6931 #: build/C/man3/get_nprocs_conf.3:73
6932 msgid ""
6933 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
6934 "can be used."
6935 msgstr ""
6936
6937 #. type: Plain text
6938 #: build/C/man3/get_nprocs_conf.3:77
6939 #, no-wrap
6940 msgid ""
6941 "#include E<lt>stdio.hE<gt>\n"
6942 "#include E<lt>sys/sysinfo.hE<gt>\n"
6943 msgstr ""
6944
6945 #. type: Plain text
6946 #: build/C/man3/get_nprocs_conf.3:86
6947 #, no-wrap
6948 msgid ""
6949 "int\n"
6950 "main(int argc, char *argv[])\n"
6951 "{\n"
6952 "    printf(\"This system has %d processors configured and \"\n"
6953 "            \"%d processors available.\\en\",\n"
6954 "            get_nprocs_conf(), get_nprocs());\n"
6955 "    return 0;\n"
6956 "}\n"
6957 msgstr ""
6958
6959 #. type: TH
6960 #: build/C/man2/get_thread_area.2:8
6961 #, no-wrap
6962 msgid "GET_THREAD_AREA"
6963 msgstr ""
6964
6965 #. type: TH
6966 #: build/C/man2/get_thread_area.2:8 build/C/man2/set_thread_area.2:8
6967 #, no-wrap
6968 msgid "2012-07-13"
6969 msgstr ""
6970
6971 #. type: Plain text
6972 #: build/C/man2/get_thread_area.2:11
6973 msgid "get_thread_area - get a thread-local storage (TLS) area"
6974 msgstr ""
6975
6976 #. type: Plain text
6977 #: build/C/man2/get_thread_area.2:15 build/C/man2/set_thread_area.2:15
6978 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
6979 msgstr ""
6980
6981 #. type: Plain text
6982 #: build/C/man2/get_thread_area.2:17
6983 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
6984 msgstr ""
6985
6986 #. type: Plain text
6987 #: 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
6988 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
6989 msgstr ""
6990
6991 #. type: Plain text
6992 #: build/C/man2/get_thread_area.2:29
6993 msgid ""
6994 "B<get_thread_area>()  returns an entry in the current thread's thread-local "
6995 "storage (TLS) array.  The index of the entry corresponds to the value of "
6996 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
6997 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
6998 "area pointed to by I<u_info>."
6999 msgstr ""
7000
7001 #. type: Plain text
7002 #: build/C/man2/get_thread_area.2:35
7003 msgid ""
7004 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
7005 "sets I<errno> appropriately."
7006 msgstr ""
7007
7008 #. type: Plain text
7009 #: build/C/man2/get_thread_area.2:39 build/C/man2/set_thread_area.2:56
7010 msgid "I<u_info> is an invalid pointer."
7011 msgstr ""
7012
7013 #. type: Plain text
7014 #: build/C/man2/get_thread_area.2:42 build/C/man2/set_thread_area.2:53
7015 msgid "I<u_info-E<gt>entry_number> is out of bounds."
7016 msgstr ""
7017
7018 #. type: Plain text
7019 #: build/C/man2/get_thread_area.2:46
7020 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
7021 msgstr ""
7022
7023 #. type: Plain text
7024 #: build/C/man2/get_thread_area.2:50
7025 msgid ""
7026 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
7027 "that are intended to be portable."
7028 msgstr ""
7029
7030 #. type: Plain text
7031 #: build/C/man2/get_thread_area.2:55 build/C/man2/set_thread_area.2:72
7032 msgid ""
7033 "Glibc does not provide a wrapper for this system call, since it is generally "
7034 "intended only for use by threading libraries.  In the unlikely event that "
7035 "you want to call it directly, use B<syscall>(2)."
7036 msgstr ""
7037
7038 #. type: Plain text
7039 #: build/C/man2/get_thread_area.2:58
7040 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
7041 msgstr ""
7042
7043 #. type: TH
7044 #: build/C/man3/getcwd.3:32
7045 #, no-wrap
7046 msgid "GETCWD"
7047 msgstr ""
7048
7049 #. type: Plain text
7050 #: build/C/man3/getcwd.3:35
7051 msgid "getcwd, getwd, get_current_dir_name - get current working directory"
7052 msgstr ""
7053
7054 #. type: Plain text
7055 #: build/C/man3/getcwd.3:40
7056 #, no-wrap
7057 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
7058 msgstr ""
7059
7060 #. type: Plain text
7061 #: build/C/man3/getcwd.3:42
7062 #, no-wrap
7063 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7064 msgstr ""
7065
7066 #. type: Plain text
7067 #: build/C/man3/getcwd.3:44
7068 #, no-wrap
7069 msgid "B<char *get_current_dir_name(void);>\n"
7070 msgstr ""
7071
7072 #. type: Plain text
7073 #: build/C/man3/getcwd.3:52
7074 msgid "B<get_current_dir_name>():"
7075 msgstr ""
7076
7077 #. type: Plain text
7078 #: build/C/man3/getcwd.3:57
7079 msgid "B<getwd>():"
7080 msgstr ""
7081
7082 #. type: Plain text
7083 #: build/C/man3/getcwd.3:67 build/C/man3/ualarm.3:50 build/C/man3/usleep.3:59 build/C/man2/vfork.2:54
7084 #, no-wrap
7085 msgid ""
7086 "_BSD_SOURCE ||\n"
7087 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7088 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7089 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7090 msgstr ""
7091
7092 #. type: Plain text
7093 #: 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
7094 msgid ""
7095 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7096 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7097 msgstr ""
7098
7099 #. type: Plain text
7100 #: build/C/man3/getcwd.3:82
7101 msgid ""
7102 "These functions return a null-terminated string containing an absolute "
7103 "pathname that is the current working directory of the calling process.  The "
7104 "pathname is returned as the function result and via the argument I<buf>, if "
7105 "present."
7106 msgstr ""
7107
7108 #. type: Plain text
7109 #: build/C/man3/getcwd.3:90
7110 msgid ""
7111 "The B<getcwd>()  function copies an absolute pathname of the current working "
7112 "directory to the array pointed to by I<buf>, which is of length I<size>."
7113 msgstr ""
7114
7115 #. type: Plain text
7116 #: build/C/man3/getcwd.3:100
7117 msgid ""
7118 "If the length of the absolute pathname of the current working directory, "
7119 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7120 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7121 "this error, and allocate a larger buffer if necessary."
7122 msgstr ""
7123
7124 #. type: Plain text
7125 #: build/C/man3/getcwd.3:118
7126 msgid ""
7127 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7128 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7129 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7130 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7131 "should B<free>(3)  the returned buffer."
7132 msgstr ""
7133
7134 #. type: Plain text
7135 #: build/C/man3/getcwd.3:131
7136 msgid ""
7137 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7138 "the absolute pathname of the current working directory.  If the environment "
7139 "variable B<PWD> is set, and its value is correct, then that value will be "
7140 "returned.  The caller should B<free>(3)  the returned buffer."
7141 msgstr ""
7142
7143 #. type: Plain text
7144 #: build/C/man3/getcwd.3:156
7145 msgid ""
7146 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7147 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7148 "the absolute pathname of the current working directory, including the "
7149 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7150 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7151 "may not be a compile-time constant; furthermore, its value may depend on the "
7152 "file system, see B<pathconf>(3).)  For portability and security reasons, use "
7153 "of B<getwd>()  is deprecated."
7154 msgstr ""
7155
7156 #. type: Plain text
7157 #: build/C/man3/getcwd.3:165
7158 msgid ""
7159 "On success, these functions return a pointer to a string containing the "
7160 "pathname of the current working directory.  In the case B<getcwd>()  and "
7161 "B<getwd>()  this is the same value as I<buf>."
7162 msgstr ""
7163
7164 #. type: Plain text
7165 #: build/C/man3/getcwd.3:172
7166 msgid ""
7167 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7168 "error.  The contents of the array pointed to by I<buf> are undefined on "
7169 "error."
7170 msgstr ""
7171
7172 #. type: Plain text
7173 #: build/C/man3/getcwd.3:176
7174 msgid "Permission to read or search a component of the filename was denied."
7175 msgstr ""
7176
7177 #. type: Plain text
7178 #: build/C/man3/getcwd.3:180
7179 msgid "I<buf> points to a bad address."
7180 msgstr ""
7181
7182 #. type: Plain text
7183 #: build/C/man3/getcwd.3:187
7184 msgid "The I<size> argument is zero and I<buf> is not a NULL pointer."
7185 msgstr ""
7186
7187 #. type: TP
7188 #: build/C/man3/getcwd.3:187
7189 #, no-wrap
7190 msgid "EINVAL"
7191 msgstr ""
7192
7193 #. type: Plain text
7194 #: build/C/man3/getcwd.3:192
7195 msgid "B<getwd>(): I<buf> is NULL."
7196 msgstr ""
7197
7198 #. type: TP
7199 #: build/C/man3/getcwd.3:192
7200 #, no-wrap
7201 msgid "ENAMETOOLONG"
7202 msgstr ""
7203
7204 #. type: Plain text
7205 #: build/C/man3/getcwd.3:198
7206 msgid ""
7207 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7208 "B<PATH_MAX> bytes."
7209 msgstr ""
7210
7211 #. type: Plain text
7212 #: build/C/man3/getcwd.3:201
7213 msgid "The current working directory has been unlinked."
7214 msgstr ""
7215
7216 #. type: TP
7217 #: build/C/man3/getcwd.3:201 build/C/man3/getlogin.3:112
7218 #, no-wrap
7219 msgid "B<ERANGE>"
7220 msgstr ""
7221
7222 #. type: Plain text
7223 #: build/C/man3/getcwd.3:208
7224 msgid ""
7225 "The I<size> argument is less than the length of the absolute pathname of the "
7226 "working directory, including the terminating null byte.  You need to "
7227 "allocate a bigger array and try again."
7228 msgstr ""
7229
7230 #. type: Plain text
7231 #: build/C/man3/getcwd.3:216
7232 msgid ""
7233 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7234 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7235 msgstr ""
7236
7237 #. type: Plain text
7238 #: build/C/man3/getcwd.3:227
7239 msgid ""
7240 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7241 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7242 "POSIX.1-2001 does not define any errors for B<getwd>()."
7243 msgstr ""
7244
7245 #. type: Plain text
7246 #: build/C/man3/getcwd.3:230
7247 msgid "B<get_current_dir_name>()  is a GNU extension."
7248 msgstr ""
7249
7250 #. type: Plain text
7251 #: build/C/man3/getcwd.3:241
7252 msgid ""
7253 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7254 "older systems it would query I</proc/self/cwd>.  If both system call and "
7255 "proc file system are missing, a generic implementation is called.  Only in "
7256 "that case can these calls fail under Linux with B<EACCES>."
7257 msgstr ""
7258
7259 #. type: Plain text
7260 #: build/C/man3/getcwd.3:249
7261 msgid ""
7262 "These functions are often used to save the location of the current working "
7263 "directory for the purpose of returning to it later.  Opening the current "
7264 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7265 "and more reliable alternative when sufficiently many file descriptors are "
7266 "available, especially on platforms other than Linux."
7267 msgstr ""
7268
7269 #. type: Plain text
7270 #: build/C/man3/getcwd.3:256
7271 msgid ""
7272 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7273 "B<malloc>(3)"
7274 msgstr ""
7275
7276 #. type: TH
7277 #: build/C/man2/getdomainname.2:29
7278 #, no-wrap
7279 msgid "GETDOMAINNAME"
7280 msgstr ""
7281
7282 #. type: TH
7283 #: build/C/man2/getdomainname.2:29
7284 #, no-wrap
7285 msgid "2012-10-25"
7286 msgstr ""
7287
7288 #. type: Plain text
7289 #: build/C/man2/getdomainname.2:32
7290 msgid "getdomainname, setdomainname - get/set NIS domain name"
7291 msgstr ""
7292
7293 #. type: Plain text
7294 #: build/C/man2/getdomainname.2:36
7295 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7296 msgstr ""
7297
7298 #. type: Plain text
7299 #: build/C/man2/getdomainname.2:38
7300 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7301 msgstr ""
7302
7303 #. type: Plain text
7304 #: build/C/man2/getdomainname.2:47
7305 msgid "B<getdomainname>(), B<setdomainname>():"
7306 msgstr ""
7307
7308 #. type: Plain text
7309 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:55
7310 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7311 msgstr ""
7312
7313 #. type: Plain text
7314 #: build/C/man2/getdomainname.2:54
7315 msgid ""
7316 "These functions are used to access or to change the NIS domain name of the "
7317 "host system."
7318 msgstr ""
7319
7320 #. type: Plain text
7321 #: build/C/man2/getdomainname.2:65
7322 msgid ""
7323 "B<setdomainname>()  sets the domain name to the value given in the character "
7324 "array I<name>.  The I<len> argument specifies the number of bytes in "
7325 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7326 msgstr ""
7327
7328 #. type: Plain text
7329 #: build/C/man2/getdomainname.2:75
7330 msgid ""
7331 "B<getdomainname>()  returns the null-terminated domain name in the character "
7332 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7333 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7334 "first I<len> bytes (glibc) or gives an error (libc)."
7335 msgstr ""
7336
7337 #. type: Plain text
7338 #: build/C/man2/getdomainname.2:83
7339 msgid "B<setdomainname>()  can fail with the following errors:"
7340 msgstr ""
7341
7342 #. type: Plain text
7343 #: build/C/man2/getdomainname.2:87
7344 msgid "I<name> pointed outside of user address space."
7345 msgstr ""
7346
7347 #. type: Plain text
7348 #: build/C/man2/getdomainname.2:91
7349 msgid "I<len> was negative or too large."
7350 msgstr ""
7351
7352 #. type: Plain text
7353 #: build/C/man2/getdomainname.2:96
7354 msgid ""
7355 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7356 "capability)."
7357 msgstr ""
7358
7359 #. type: Plain text
7360 #: build/C/man2/getdomainname.2:99
7361 msgid "B<getdomainname>()  can fail with the following errors:"
7362 msgstr ""
7363
7364 #. type: Plain text
7365 #: build/C/man2/getdomainname.2:110
7366 msgid ""
7367 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7368 "than I<len> bytes."
7369 msgstr ""
7370
7371 #.  But they appear on most systems...
7372 #. type: Plain text
7373 #: build/C/man2/getdomainname.2:113
7374 msgid "POSIX does not specify these calls."
7375 msgstr ""
7376
7377 #. type: Plain text
7378 #: build/C/man2/getdomainname.2:117
7379 msgid ""
7380 "Since Linux 1.0, the limit on the length of a domain name, including the "
7381 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7382 msgstr ""
7383
7384 #. type: Plain text
7385 #: build/C/man2/getdomainname.2:127
7386 msgid ""
7387 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7388 "system call; instead, glibc implements B<getdomainname>()  as a library "
7389 "function that returns a copy of the I<domainname> field returned from a call "
7390 "to B<uname>(2)."
7391 msgstr ""
7392
7393 #. type: Plain text
7394 #: build/C/man2/getdomainname.2:131
7395 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7396 msgstr ""
7397
7398 #. type: TH
7399 #: build/C/man3/getdtablesize.3:27
7400 #, no-wrap
7401 msgid "GETDTABLESIZE"
7402 msgstr ""
7403
7404 #. type: TH
7405 #: build/C/man3/getdtablesize.3:27
7406 #, no-wrap
7407 msgid "2013-02-05"
7408 msgstr ""
7409
7410 #. type: Plain text
7411 #: build/C/man3/getdtablesize.3:30
7412 msgid "getdtablesize - get descriptor table size"
7413 msgstr ""
7414
7415 #. type: Plain text
7416 #: build/C/man3/getdtablesize.3:34
7417 msgid "B<int getdtablesize(void);>"
7418 msgstr ""
7419
7420 #. type: Plain text
7421 #: build/C/man3/getdtablesize.3:41
7422 msgid "B<getdtablesize>():"
7423 msgstr ""
7424
7425 #. type: Plain text
7426 #: build/C/man3/getdtablesize.3:49 build/C/man2/getpagesize.2:47
7427 #, no-wrap
7428 msgid ""
7429 "_BSD_SOURCE ||\n"
7430 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7431 msgstr ""
7432
7433 #. type: Plain text
7434 #: build/C/man3/getdtablesize.3:61
7435 msgid ""
7436 "B<getdtablesize>()  returns the maximum number of files a process can have "
7437 "open, one more than the largest possible value for a file descriptor."
7438 msgstr ""
7439
7440 #. type: Plain text
7441 #: build/C/man3/getdtablesize.3:63
7442 msgid "The current limit on the number of open files per process."
7443 msgstr ""
7444
7445 #. type: Plain text
7446 #: build/C/man3/getdtablesize.3:69
7447 msgid ""
7448 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7449 "B<getrlimit>(2); see NOTES below."
7450 msgstr ""
7451
7452 #. type: Plain text
7453 #: build/C/man3/getdtablesize.3:77
7454 msgid ""
7455 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7456 "It is not specified in POSIX.1-2001; portable applications should employ "
7457 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7458 msgstr ""
7459
7460 #. type: Plain text
7461 #: build/C/man3/getdtablesize.3:90
7462 msgid ""
7463 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7464 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7465 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7466 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7467 msgstr ""
7468
7469 #. type: Plain text
7470 #: build/C/man3/getdtablesize.3:95
7471 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7472 msgstr ""
7473
7474 #. type: TH
7475 #: build/C/man3/gethostid.3:29
7476 #, no-wrap
7477 msgid "GETHOSTID"
7478 msgstr ""
7479
7480 #. type: Plain text
7481 #: build/C/man3/gethostid.3:32
7482 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7483 msgstr ""
7484
7485 #. type: Plain text
7486 #: build/C/man3/gethostid.3:36
7487 msgid "B<long gethostid(void);>"
7488 msgstr ""
7489
7490 #. type: Plain text
7491 #: build/C/man3/gethostid.3:38
7492 msgid "B<int sethostid(long >I<hostid>B<);>"
7493 msgstr ""
7494
7495 #. type: Plain text
7496 #: build/C/man3/gethostid.3:47
7497 msgid "B<gethostid>():"
7498 msgstr ""
7499
7500 #. type: Plain text
7501 #: build/C/man3/gethostid.3:52
7502 msgid "B<sethostid>():"
7503 msgstr ""
7504
7505 #. type: Plain text
7506 #: build/C/man3/gethostid.3:67
7507 msgid ""
7508 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
7509 "identifier for the current machine.  The 32-bit identifier is intended to be "
7510 "unique among all UNIX systems in existence.  This normally resembles the "
7511 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
7512 "and thus usually never needs to be set."
7513 msgstr ""
7514
7515 #. type: Plain text
7516 #: build/C/man3/gethostid.3:71
7517 msgid "The B<sethostid>()  call is restricted to the superuser."
7518 msgstr ""
7519
7520 #. type: Plain text
7521 #: build/C/man3/gethostid.3:75
7522 msgid ""
7523 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
7524 "B<sethostid>()."
7525 msgstr ""
7526
7527 #. type: Plain text
7528 #: build/C/man3/gethostid.3:81
7529 msgid ""
7530 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
7531 "I<errno> is set to indicate the error."
7532 msgstr ""
7533
7534 #. type: Plain text
7535 #: build/C/man3/gethostid.3:84
7536 msgid "B<sethostid>()  can fail with the following errors:"
7537 msgstr ""
7538
7539 #. type: Plain text
7540 #: build/C/man3/gethostid.3:88
7541 msgid ""
7542 "The caller did not have permission to write to the file used to store the "
7543 "host ID."
7544 msgstr ""
7545
7546 #. type: Plain text
7547 #: build/C/man3/gethostid.3:92
7548 msgid ""
7549 "The calling process's effective user or group ID is not the same as its "
7550 "corresponding real ID."
7551 msgstr ""
7552
7553 #. type: Plain text
7554 #: build/C/man3/gethostid.3:102
7555 msgid ""
7556 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
7557 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
7558 "B<gethostid>()  but not B<sethostid>()."
7559 msgstr ""
7560
7561 #.  libc5 used /etc/hostid; libc4 didn't have these functions
7562 #. type: Plain text
7563 #: build/C/man3/gethostid.3:111
7564 msgid ""
7565 "In the glibc implementation, the I<hostid> is stored in the file "
7566 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
7567 "was used.)"
7568 msgstr ""
7569
7570 #. type: Plain text
7571 #: build/C/man3/gethostid.3:122
7572 msgid ""
7573 "In the glibc implementation, if B<gethostid>()  cannot open the file "
7574 "containing the host ID, then it obtains the hostname using "
7575 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
7576 "to obtain the host's IPv4 address, and returns a value obtained by "
7577 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
7578 msgstr ""
7579
7580 #. type: Plain text
7581 #: build/C/man3/gethostid.3:124
7582 msgid "It is impossible to ensure that the identifier is globally unique."
7583 msgstr ""
7584
7585 #. type: Plain text
7586 #: build/C/man3/gethostid.3:127
7587 msgid "B<hostid>(1), B<gethostbyname>(3)"
7588 msgstr ""
7589
7590 #. type: TH
7591 #: build/C/man2/gethostname.2:32
7592 #, no-wrap
7593 msgid "GETHOSTNAME"
7594 msgstr ""
7595
7596 #. type: Plain text
7597 #: build/C/man2/gethostname.2:35
7598 msgid "gethostname, sethostname - get/set hostname"
7599 msgstr ""
7600
7601 #. type: Plain text
7602 #: build/C/man2/gethostname.2:39
7603 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7604 msgstr ""
7605
7606 #. type: Plain text
7607 #: build/C/man2/gethostname.2:41
7608 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7609 msgstr ""
7610
7611 #. type: Plain text
7612 #: build/C/man2/gethostname.2:50
7613 msgid "B<gethostname>():"
7614 msgstr ""
7615
7616 #. type: Plain text
7617 #: build/C/man2/gethostname.2:53
7618 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7619 msgstr ""
7620
7621 #. type: Plain text
7622 #: build/C/man2/gethostname.2:55
7623 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7624 msgstr ""
7625
7626 #. type: Plain text
7627 #: build/C/man2/gethostname.2:58
7628 msgid "B<sethostname>():"
7629 msgstr ""
7630
7631 #. type: Plain text
7632 #: build/C/man2/gethostname.2:66
7633 msgid ""
7634 "These system calls are used to access or to change the hostname of the "
7635 "current processor."
7636 msgstr ""
7637
7638 #. type: Plain text
7639 #: build/C/man2/gethostname.2:77
7640 msgid ""
7641 "B<sethostname>()  sets the hostname to the value given in the character "
7642 "array I<name>.  The I<len> argument specifies the number of bytes in "
7643 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7644 msgstr ""
7645
7646 #. type: Plain text
7647 #: build/C/man2/gethostname.2:89
7648 msgid ""
7649 "B<gethostname>()  returns the null-terminated hostname in the character "
7650 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7651 "hostname is too large to fit, then the name is truncated, and no error is "
7652 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
7653 "occurs, then it is unspecified whether the returned buffer includes a "
7654 "terminating null byte."
7655 msgstr ""
7656
7657 #. type: Plain text
7658 #: build/C/man2/gethostname.2:99
7659 msgid "I<name> is an invalid address."
7660 msgstr ""
7661
7662 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
7663 #.  unsigned type; can occur for the underlying system call.
7664 #. type: Plain text
7665 #: build/C/man2/gethostname.2:109
7666 msgid ""
7667 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
7668 "maximum allowed size."
7669 msgstr ""
7670
7671 #. type: Plain text
7672 #: build/C/man2/gethostname.2:117
7673 msgid ""
7674 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
7675 "version 2.1, glibc uses B<EINVAL> for this case.)"
7676 msgstr ""
7677
7678 #. type: Plain text
7679 #: build/C/man2/gethostname.2:124
7680 msgid ""
7681 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
7682 "capability."
7683 msgstr ""
7684
7685 #. type: Plain text
7686 #: build/C/man2/gethostname.2:130
7687 msgid ""
7688 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
7689 "specifies B<gethostname>()  but not B<sethostname>()."
7690 msgstr ""
7691
7692 #. type: Plain text
7693 #: build/C/man2/gethostname.2:140
7694 msgid ""
7695 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
7696 "guarantees that \"Host names (not including the terminating null byte) are "
7697 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
7698 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
7699 "imposed a limit of 8 bytes)."
7700 msgstr ""
7701
7702 #. type: Plain text
7703 #: build/C/man2/gethostname.2:163
7704 msgid ""
7705 "The GNU C library does not employ the B<gethostname>()  system call; "
7706 "instead, it implements B<gethostname>()  as a library function that calls "
7707 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
7708 "field into I<name>.  Having performed the copy, the function then checks if "
7709 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
7710 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
7711 "this case, a terminating null byte is not included in the returned I<name>."
7712 msgstr ""
7713
7714 #.  At least glibc 2.0 and 2.1, older versions not checked
7715 #. type: Plain text
7716 #: build/C/man2/gethostname.2:176
7717 msgid ""
7718 "Versions of glibc before 2.2 handle the case where the length of the "
7719 "I<nodename> was greater than or equal to I<len> differently: nothing is "
7720 "copied into I<name> and the function returns -1 with I<errno> set to "
7721 "B<ENAMETOOLONG>."
7722 msgstr ""
7723
7724 #. type: Plain text
7725 #: build/C/man2/gethostname.2:180
7726 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7727 msgstr ""
7728
7729 #. type: TH
7730 #: build/C/man3/getlogin.3:28
7731 #, no-wrap
7732 msgid "GETLOGIN"
7733 msgstr ""
7734
7735 #. type: TH
7736 #: build/C/man3/getlogin.3:28
7737 #, no-wrap
7738 msgid "2008-06-29"
7739 msgstr ""
7740
7741 #. type: Plain text
7742 #: build/C/man3/getlogin.3:31
7743 msgid "getlogin, getlogin_r, cuserid - get username"
7744 msgstr ""
7745
7746 #. type: Plain text
7747 #: build/C/man3/getlogin.3:35
7748 msgid "B<char *getlogin(void);>"
7749 msgstr ""
7750
7751 #. type: Plain text
7752 #: build/C/man3/getlogin.3:37
7753 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7754 msgstr ""
7755
7756 #. type: Plain text
7757 #: build/C/man3/getlogin.3:39
7758 msgid "B<#include E<lt>stdio.hE<gt>>"
7759 msgstr ""
7760
7761 #. type: Plain text
7762 #: build/C/man3/getlogin.3:41
7763 msgid "B<char *cuserid(char *>I<string>B<);>"
7764 msgstr ""
7765
7766 #. type: Plain text
7767 #: build/C/man3/getlogin.3:49
7768 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7769 msgstr ""
7770
7771 #. type: Plain text
7772 #: build/C/man3/getlogin.3:52
7773 msgid "B<cuserid>(): _XOPEN_SOURCE"
7774 msgstr ""
7775
7776 #. type: Plain text
7777 #: build/C/man3/getlogin.3:61
7778 msgid ""
7779 "B<getlogin>()  returns a pointer to a string containing the name of the user "
7780 "logged in on the controlling terminal of the process, or a NULL pointer if "
7781 "this information cannot be determined.  The string is statically allocated "
7782 "and might be overwritten on subsequent calls to this function or to "
7783 "B<cuserid>()."
7784 msgstr ""
7785
7786 #. type: Plain text
7787 #: build/C/man3/getlogin.3:67
7788 msgid ""
7789 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
7790 "I<bufsize>."
7791 msgstr ""
7792
7793 #. type: Plain text
7794 #: build/C/man3/getlogin.3:79
7795 msgid ""
7796 "B<cuserid>()  returns a pointer to a string containing a username associated "
7797 "with the effective user ID of the process.  If I<string> is not a NULL "
7798 "pointer, it should be an array that can hold at least B<L_cuserid> "
7799 "characters; the string is returned in this array.  Otherwise, a pointer to a "
7800 "string in a static area is returned.  This string is statically allocated "
7801 "and might be overwritten on subsequent calls to this function or to "
7802 "B<getlogin>()."
7803 msgstr ""
7804
7805 #. type: Plain text
7806 #: build/C/man3/getlogin.3:83
7807 msgid ""
7808 "The macro B<L_cuserid> is an integer constant that indicates how long an "
7809 "array you might need to store a username.  B<L_cuserid> is declared in "
7810 "I<E<lt>stdio.hE<gt>>."
7811 msgstr ""
7812
7813 #. type: Plain text
7814 #: build/C/man3/getlogin.3:90
7815 msgid ""
7816 "These functions let your program identify positively the user who is running "
7817 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
7818 "(These can differ when set-user-ID programs are involved.)"
7819 msgstr ""
7820
7821 #. type: Plain text
7822 #: build/C/man3/getlogin.3:95
7823 msgid ""
7824 "For most purposes, it is more useful to use the environment variable "
7825 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
7826 "because the user can set B<LOGNAME> arbitrarily."
7827 msgstr ""
7828
7829 #. type: Plain text
7830 #: build/C/man3/getlogin.3:101
7831 msgid ""
7832 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
7833 "on failure.  B<getlogin_r>()  returns 0 when successful, and nonzero on "
7834 "failure."
7835 msgstr ""
7836
7837 #. type: Plain text
7838 #: build/C/man3/getlogin.3:103
7839 msgid "POSIX specifies"
7840 msgstr ""
7841
7842 #. type: Plain text
7843 #: build/C/man3/getlogin.3:106
7844 msgid "The calling process already has the maximum allowed number of open files."
7845 msgstr ""
7846
7847 #. type: Plain text
7848 #: build/C/man3/getlogin.3:109
7849 msgid "The system already has the maximum allowed number of open files."
7850 msgstr ""
7851
7852 #. type: TP
7853 #: build/C/man3/getlogin.3:109
7854 #, no-wrap
7855 msgid "B<ENXIO>"
7856 msgstr ""
7857
7858 #. type: Plain text
7859 #: build/C/man3/getlogin.3:112
7860 msgid "The calling process has no controlling terminal."
7861 msgstr ""
7862
7863 #. type: Plain text
7864 #: build/C/man3/getlogin.3:118
7865 msgid ""
7866 "(getlogin_r)  The length of the username, including the terminating null "
7867 "byte, is larger than I<bufsize>."
7868 msgstr ""
7869
7870 #. type: Plain text
7871 #: build/C/man3/getlogin.3:120
7872 msgid "Linux/glibc also has"
7873 msgstr ""
7874
7875 #. type: Plain text
7876 #: build/C/man3/getlogin.3:123
7877 msgid "There was no corresponding entry in the utmp-file."
7878 msgstr ""
7879
7880 #. type: Plain text
7881 #: build/C/man3/getlogin.3:126
7882 msgid "Insufficient memory to allocate passwd structure."
7883 msgstr ""
7884
7885 #. type: TP
7886 #: build/C/man3/getlogin.3:126 build/C/man2/ioctl.2:107 build/C/man2/ioctl.2:111 build/C/man3/tcgetpgrp.3:92
7887 #, no-wrap
7888 msgid "B<ENOTTY>"
7889 msgstr ""
7890
7891 #. type: Plain text
7892 #: build/C/man3/getlogin.3:130
7893 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
7894 msgstr ""
7895
7896 #. type: TP
7897 #: build/C/man3/getlogin.3:131
7898 #, no-wrap
7899 msgid "I</etc/passwd>"
7900 msgstr ""
7901
7902 #. type: Plain text
7903 #: build/C/man3/getlogin.3:134
7904 msgid "password database file"
7905 msgstr ""
7906
7907 #. type: TP
7908 #: build/C/man3/getlogin.3:134
7909 #, no-wrap
7910 msgid "I</var/run/utmp>"
7911 msgstr ""
7912
7913 #. type: Plain text
7914 #: build/C/man3/getlogin.3:138
7915 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
7916 msgstr ""
7917
7918 #. type: Plain text
7919 #: build/C/man3/getlogin.3:143
7920 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
7921 msgstr ""
7922
7923 #. type: Plain text
7924 #: build/C/man3/getlogin.3:154
7925 msgid ""
7926 "System V has a B<cuserid>()  function which uses the real user ID rather "
7927 "than the effective user ID.  The B<cuserid>()  function was included in the "
7928 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
7929 "SUSv2, but removed in POSIX.1-2001."
7930 msgstr ""
7931
7932 #. type: Plain text
7933 #: build/C/man3/getlogin.3:161
7934 msgid ""
7935 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
7936 "a session, even if it has no controlling terminal."
7937 msgstr ""
7938
7939 #. type: Plain text
7940 #: build/C/man3/getlogin.3:173
7941 msgid ""
7942 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
7943 "does not work at all, because some program messed up the utmp file.  Often, "
7944 "it gives only the first 8 characters of the login name.  The user currently "
7945 "logged in on the controlling terminal of our program need not be the user "
7946 "who started it.  Avoid B<getlogin>()  for security-related purposes."
7947 msgstr ""
7948
7949 #. type: Plain text
7950 #: build/C/man3/getlogin.3:183
7951 msgid ""
7952 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
7953 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
7954 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
7955 "redirected.)"
7956 msgstr ""
7957
7958 #. type: Plain text
7959 #: build/C/man3/getlogin.3:193
7960 msgid ""
7961 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
7962 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
7963 "that is what you meant.  B<Do not use> B<cuserid>()."
7964 msgstr ""
7965
7966 #. type: Plain text
7967 #: build/C/man3/getlogin.3:197
7968 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
7969 msgstr ""
7970
7971 #. type: TH
7972 #: build/C/man3/getopt.3:41
7973 #, no-wrap
7974 msgid "GETOPT"
7975 msgstr ""
7976
7977 #. type: Plain text
7978 #: build/C/man3/getopt.3:45
7979 msgid ""
7980 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
7981 "Parse command-line options"
7982 msgstr ""
7983
7984 #. type: Plain text
7985 #: build/C/man3/getopt.3:51
7986 #, no-wrap
7987 msgid ""
7988 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7989 "B<           const char *>I<optstring>B<);>\n"
7990 msgstr ""
7991
7992 #. type: Plain text
7993 #: build/C/man3/getopt.3:54
7994 #, no-wrap
7995 msgid ""
7996 "B<extern char *>I<optarg>B<;>\n"
7997 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
7998 msgstr ""
7999
8000 #. type: Plain text
8001 #: build/C/man3/getopt.3:56
8002 #, no-wrap
8003 msgid "B<#include E<lt>getopt.hE<gt>>\n"
8004 msgstr ""
8005
8006 #. type: Plain text
8007 #: build/C/man3/getopt.3:60
8008 #, no-wrap
8009 msgid ""
8010 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8011 "B<           const char *>I<optstring>B<,>\n"
8012 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8013 msgstr ""
8014
8015 #. type: Plain text
8016 #: build/C/man3/getopt.3:64
8017 #, no-wrap
8018 msgid ""
8019 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
8020 "B<           const char *>I<optstring>B<,>\n"
8021 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man3/getopt.3:74
8026 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
8027 msgstr ""
8028
8029 #. type: Plain text
8030 #: build/C/man3/getopt.3:78
8031 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
8032 msgstr ""
8033
8034 #. type: Plain text
8035 #: build/C/man3/getopt.3:99
8036 msgid ""
8037 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
8038 "I<argc> and I<argv> are the argument count and array as passed to the "
8039 "I<main>()  function on program invocation.  An element of I<argv> that "
8040 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
8041 "element.  The characters of this element (aside from the initial "
8042 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
8043 "it returns successively each of the option characters from each of the "
8044 "option elements."
8045 msgstr ""
8046
8047 #. type: Plain text
8048 #: build/C/man3/getopt.3:108
8049 msgid ""
8050 "The variable I<optind> is the index of the next element to be processed in "
8051 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
8052 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
8053 "argument vector."
8054 msgstr ""
8055
8056 #. type: Plain text
8057 #: build/C/man3/getopt.3:118
8058 msgid ""
8059 "If B<getopt>()  finds another option character, it returns that character, "
8060 "updating the external variable I<optind> and a static variable I<nextchar> "
8061 "so that the next call to B<getopt>()  can resume the scan with the following "
8062 "option character or I<argv>-element."
8063 msgstr ""
8064
8065 #. type: Plain text
8066 #: build/C/man3/getopt.3:124
8067 msgid ""
8068 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8069 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8070 "an option."
8071 msgstr ""
8072
8073 #. type: Plain text
8074 #: build/C/man3/getopt.3:151
8075 msgid ""
8076 "I<optstring> is a string containing the legitimate option characters.  If "
8077 "such a character is followed by a colon, the option requires an argument, so "
8078 "B<getopt>()  places a pointer to the following text in the same "
8079 "I<argv>-element, or the text of the following I<argv>-element, in "
8080 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8081 "text in the current I<argv>-element (i.e., in the same word as the option "
8082 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8083 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8084 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8085 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8086 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8087 "not available with libraries before glibc 2."
8088 msgstr ""
8089
8090 #. type: Plain text
8091 #: build/C/man3/getopt.3:169
8092 msgid ""
8093 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8094 "that eventually all the nonoptions are at the end.  Two other modes are also "
8095 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8096 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8097 "as soon as a nonoption argument is encountered.  If the first character of "
8098 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8099 "as if it were the argument of an option with character code 1.  (This is "
8100 "used by programs that were written to expect options and other "
8101 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8102 "The special argument \"--\" forces an end of option-scanning regardless of "
8103 "the scanning mode."
8104 msgstr ""
8105
8106 #. type: Plain text
8107 #: build/C/man3/getopt.3:177
8108 msgid ""
8109 "If B<getopt>()  does not recognize an option character, it prints an error "
8110 "message to I<stderr>, stores the character in I<optopt>, and returns "
8111 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8112 "I<opterr> to 0."
8113 msgstr ""
8114
8115 #. type: Plain text
8116 #: build/C/man3/getopt.3:196
8117 msgid ""
8118 "If B<getopt>()  finds an option character in I<argv> that was not included "
8119 "in I<optstring>, or if it detects a missing option argument, it returns "
8120 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8121 "character.  If the first character (following any optional \\(aq+\\(aq or "
8122 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8123 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8124 "missing option argument.  If an error was detected, and the first character "
8125 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8126 "nonzero (which is the default), B<getopt>()  prints an error message."
8127 msgstr ""
8128
8129 #. type: SS
8130 #: build/C/man3/getopt.3:196
8131 #, no-wrap
8132 msgid "getopt_long() and getopt_long_only()"
8133 msgstr ""
8134
8135 #. type: Plain text
8136 #: build/C/man3/getopt.3:212
8137 msgid ""
8138 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8139 "accepts long options, started with two dashes.  (If the program accepts only "
8140 "long options, then I<optstring> should be specified as an empty string "
8141 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8142 "is unique or is an exact match for some defined option.  A long option may "
8143 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8144 msgstr ""
8145
8146 #. type: Plain text
8147 #: build/C/man3/getopt.3:219
8148 msgid ""
8149 "I<longopts> is a pointer to the first element of an array of I<struct "
8150 "option> declared in I<E<lt>getopt.hE<gt>> as"
8151 msgstr ""
8152
8153 #. type: Plain text
8154 #: build/C/man3/getopt.3:228
8155 #, no-wrap
8156 msgid ""
8157 "struct option {\n"
8158 "    const char *name;\n"
8159 "    int         has_arg;\n"
8160 "    int        *flag;\n"
8161 "    int         val;\n"
8162 "};\n"
8163 msgstr ""
8164
8165 #. type: Plain text
8166 #: build/C/man3/getopt.3:232
8167 msgid "The meanings of the different fields are:"
8168 msgstr ""
8169
8170 #. type: TP
8171 #: build/C/man3/getopt.3:232
8172 #, no-wrap
8173 msgid "I<name>"
8174 msgstr ""
8175
8176 #. type: Plain text
8177 #: build/C/man3/getopt.3:235
8178 msgid "is the name of the long option."
8179 msgstr ""
8180
8181 #. type: TP
8182 #: build/C/man3/getopt.3:235
8183 #, no-wrap
8184 msgid "I<has_arg>"
8185 msgstr ""
8186
8187 #. type: Plain text
8188 #: build/C/man3/getopt.3:241
8189 msgid ""
8190 "is: B<no_argument> (or 0) if the option does not take an argument; "
8191 "B<required_argument> (or 1) if the option requires an argument; or "
8192 "B<optional_argument> (or 2) if the option takes an optional argument."
8193 msgstr ""
8194
8195 #. type: TP
8196 #: build/C/man3/getopt.3:241
8197 #, no-wrap
8198 msgid "I<flag>"
8199 msgstr ""
8200
8201 #. type: Plain text
8202 #: build/C/man3/getopt.3:255
8203 msgid ""
8204 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8205 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8206 "may set I<val> to the equivalent short option character.)  Otherwise, "
8207 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8208 "to I<val> if the option is found, but left unchanged if the option is not "
8209 "found."
8210 msgstr ""
8211
8212 #. type: TP
8213 #: build/C/man3/getopt.3:255
8214 #, no-wrap
8215 msgid "I<val>"
8216 msgstr ""
8217
8218 #. type: Plain text
8219 #: build/C/man3/getopt.3:259
8220 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8221 msgstr ""
8222
8223 #. type: Plain text
8224 #: build/C/man3/getopt.3:261
8225 msgid "The last element of the array has to be filled with zeros."
8226 msgstr ""
8227
8228 #. type: Plain text
8229 #: build/C/man3/getopt.3:265
8230 msgid ""
8231 "If I<longindex> is not NULL, it points to a variable which is set to the "
8232 "index of the long option relative to I<longopts>."
8233 msgstr ""
8234
8235 #. type: Plain text
8236 #: build/C/man3/getopt.3:274
8237 msgid ""
8238 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8239 "\"--\" can indicate a long option.  If an option that starts with "
8240 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8241 "option, it is parsed as a short option instead."
8242 msgstr ""
8243
8244 #. type: Plain text
8245 #: build/C/man3/getopt.3:292
8246 msgid ""
8247 "If an option was successfully found, then B<getopt>()  returns the option "
8248 "character.  If all command-line options have been parsed, then B<getopt>()  "
8249 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8250 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8251 "option with a missing argument, then the return value depends on the first "
8252 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8253 "returned; otherwise \\(aq?\\(aq is returned."
8254 msgstr ""
8255
8256 #. type: Plain text
8257 #: build/C/man3/getopt.3:304
8258 msgid ""
8259 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8260 "character when a short option is recognized.  For a long option, they return "
8261 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8262 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8263 "extraneous parameter."
8264 msgstr ""
8265
8266 #. type: SH
8267 #: build/C/man3/getopt.3:304
8268 #, no-wrap
8269 msgid "ENVIRONMENT"
8270 msgstr ""
8271
8272 #. type: TP
8273 #: build/C/man3/getopt.3:305
8274 #, no-wrap
8275 msgid "B<POSIXLY_CORRECT>"
8276 msgstr ""
8277
8278 #. type: Plain text
8279 #: build/C/man3/getopt.3:309
8280 msgid ""
8281 "If this is set, then option processing stops as soon as a nonoption argument "
8282 "is encountered."
8283 msgstr ""
8284
8285 #. type: TP
8286 #: build/C/man3/getopt.3:309
8287 #, no-wrap
8288 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8289 msgstr ""
8290
8291 #. type: Plain text
8292 #: build/C/man3/getopt.3:318
8293 msgid ""
8294 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8295 "arguments are the results of wildcard expansion and so should not be "
8296 "considered as options.  This behavior was removed in B<bash>(1)  version "
8297 "2.01, but the support remains in glibc."
8298 msgstr ""
8299
8300 #. type: TP
8301 #: build/C/man3/getopt.3:319
8302 #, no-wrap
8303 msgid "B<getopt>():"
8304 msgstr ""
8305
8306 #. type: Plain text
8307 #: build/C/man3/getopt.3:329
8308 msgid ""
8309 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8310 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8311 "const, because we permute them.  We pretend they're const in the prototype "
8312 "to be compatible with other systems."
8313 msgstr ""
8314
8315 #. type: Plain text
8316 #: build/C/man3/getopt.3:333
8317 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8318 msgstr ""
8319
8320 #. type: Plain text
8321 #: build/C/man3/getopt.3:347
8322 msgid ""
8323 "On some older implementations, B<getopt>()  was declared in "
8324 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8325 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8326 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8327 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8328 msgstr ""
8329
8330 #. type: TP
8331 #: build/C/man3/getopt.3:347
8332 #, no-wrap
8333 msgid "B<getopt_long>() and B<getopt_long_only>():"
8334 msgstr ""
8335
8336 #. type: Plain text
8337 #: build/C/man3/getopt.3:369
8338 msgid ""
8339 "A program that scans multiple argument vectors, or rescans the same vector "
8340 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8341 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8342 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8343 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8344 "(Resetting to 0 forces the invocation of an internal initialization routine "
8345 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8346 "I<optstring>.)"
8347 msgstr ""
8348
8349 #. type: Plain text
8350 #: build/C/man3/getopt.3:376
8351 msgid ""
8352 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8353 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8354 "implementations) implements the correct behavior rather than that specified."
8355 msgstr ""
8356
8357 #. type: Plain text
8358 #: build/C/man3/getopt.3:384
8359 msgid ""
8360 "The following trivial example program uses B<getopt>()  to handle two "
8361 "program options: I<-n>, with no associated value; and I<-t val>, which "
8362 "expects an associated value."
8363 msgstr ""
8364
8365 #. type: Plain text
8366 #: build/C/man3/getopt.3:389
8367 #, no-wrap
8368 msgid ""
8369 "#include E<lt>unistd.hE<gt>\n"
8370 "#include E<lt>stdlib.hE<gt>\n"
8371 "#include E<lt>stdio.hE<gt>\n"
8372 msgstr ""
8373
8374 #. type: Plain text
8375 #: build/C/man3/getopt.3:395
8376 #, no-wrap
8377 msgid ""
8378 "int\n"
8379 "main(int argc, char *argv[])\n"
8380 "{\n"
8381 "    int flags, opt;\n"
8382 "    int nsecs, tfnd;\n"
8383 msgstr ""
8384
8385 #. type: Plain text
8386 #: build/C/man3/getopt.3:414
8387 #, no-wrap
8388 msgid ""
8389 "    nsecs = 0;\n"
8390 "    tfnd = 0;\n"
8391 "    flags = 0;\n"
8392 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8393 "        switch (opt) {\n"
8394 "        case \\(aqn\\(aq:\n"
8395 "            flags = 1;\n"
8396 "            break;\n"
8397 "        case \\(aqt\\(aq:\n"
8398 "            nsecs = atoi(optarg);\n"
8399 "            tfnd = 1;\n"
8400 "            break;\n"
8401 "        default: /* \\(aq?\\(aq */\n"
8402 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8403 "                    argv[0]);\n"
8404 "            exit(EXIT_FAILURE);\n"
8405 "        }\n"
8406 "    }\n"
8407 msgstr ""
8408
8409 #. type: Plain text
8410 #: build/C/man3/getopt.3:416
8411 #, no-wrap
8412 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8413 msgstr ""
8414
8415 #. type: Plain text
8416 #: build/C/man3/getopt.3:421
8417 #, no-wrap
8418 msgid ""
8419 "    if (optind E<gt>= argc) {\n"
8420 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8421 "        exit(EXIT_FAILURE);\n"
8422 "    }\n"
8423 msgstr ""
8424
8425 #. type: Plain text
8426 #: build/C/man3/getopt.3:423
8427 #, no-wrap
8428 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8429 msgstr ""
8430
8431 #. type: Plain text
8432 #: build/C/man3/getopt.3:425
8433 #, no-wrap
8434 msgid "    /* Other code omitted */\n"
8435 msgstr ""
8436
8437 #. type: Plain text
8438 #: build/C/man3/getopt.3:433
8439 msgid ""
8440 "The following example program illustrates the use of B<getopt_long>()  with "
8441 "most of its features."
8442 msgstr ""
8443
8444 #. type: Plain text
8445 #: build/C/man3/getopt.3:438
8446 #, no-wrap
8447 msgid ""
8448 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8449 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8450 "#include E<lt>getopt.hE<gt>\n"
8451 msgstr ""
8452
8453 #. type: Plain text
8454 #: build/C/man3/getopt.3:444
8455 #, no-wrap
8456 msgid ""
8457 "int\n"
8458 "main(int argc, char **argv)\n"
8459 "{\n"
8460 "    int c;\n"
8461 "    int digit_optind = 0;\n"
8462 msgstr ""
8463
8464 #. type: Plain text
8465 #: build/C/man3/getopt.3:457
8466 #, no-wrap
8467 msgid ""
8468 "    while (1) {\n"
8469 "        int this_option_optind = optind ? optind : 1;\n"
8470 "        int option_index = 0;\n"
8471 "        static struct option long_options[] = {\n"
8472 "            {\"add\",     required_argument, 0,  0 },\n"
8473 "            {\"append\",  no_argument,       0,  0 },\n"
8474 "            {\"delete\",  required_argument, 0,  0 },\n"
8475 "            {\"verbose\", no_argument,       0,  0 },\n"
8476 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8477 "            {\"file\",    required_argument, 0,  0 },\n"
8478 "            {0,         0,                 0,  0 }\n"
8479 "        };\n"
8480 msgstr ""
8481
8482 #. type: Plain text
8483 #: build/C/man3/getopt.3:462
8484 #, no-wrap
8485 msgid ""
8486 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8487 "                 long_options, &option_index);\n"
8488 "        if (c == -1)\n"
8489 "            break;\n"
8490 msgstr ""
8491
8492 #. type: Plain text
8493 #: build/C/man3/getopt.3:470
8494 #, no-wrap
8495 msgid ""
8496 "        switch (c) {\n"
8497 "        case 0:\n"
8498 "            printf(\"option %s\", long_options[option_index].name);\n"
8499 "            if (optarg)\n"
8500 "                printf(\" with arg %s\", optarg);\n"
8501 "            printf(\"\\en\");\n"
8502 "            break;\n"
8503 msgstr ""
8504
8505 #. type: Plain text
8506 #: build/C/man3/getopt.3:479
8507 #, no-wrap
8508 msgid ""
8509 "        case \\(aq0\\(aq:\n"
8510 "        case \\(aq1\\(aq:\n"
8511 "        case \\(aq2\\(aq:\n"
8512 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8513 "              printf(\"digits occur in two different "
8514 "argv-elements.\\en\");\n"
8515 "            digit_optind = this_option_optind;\n"
8516 "            printf(\"option %c\\en\", c);\n"
8517 "            break;\n"
8518 msgstr ""
8519
8520 #. type: Plain text
8521 #: build/C/man3/getopt.3:483
8522 #, no-wrap
8523 msgid ""
8524 "        case \\(aqa\\(aq:\n"
8525 "            printf(\"option a\\en\");\n"
8526 "            break;\n"
8527 msgstr ""
8528
8529 #. type: Plain text
8530 #: build/C/man3/getopt.3:487
8531 #, no-wrap
8532 msgid ""
8533 "        case \\(aqb\\(aq:\n"
8534 "            printf(\"option b\\en\");\n"
8535 "            break;\n"
8536 msgstr ""
8537
8538 #. type: Plain text
8539 #: build/C/man3/getopt.3:491
8540 #, no-wrap
8541 msgid ""
8542 "        case \\(aqc\\(aq:\n"
8543 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8544 "            break;\n"
8545 msgstr ""
8546
8547 #. type: Plain text
8548 #: build/C/man3/getopt.3:495
8549 #, no-wrap
8550 msgid ""
8551 "        case \\(aqd\\(aq:\n"
8552 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8553 "            break;\n"
8554 msgstr ""
8555
8556 #. type: Plain text
8557 #: build/C/man3/getopt.3:498
8558 #, no-wrap
8559 msgid ""
8560 "        case \\(aq?\\(aq:\n"
8561 "            break;\n"
8562 msgstr ""
8563
8564 #. type: Plain text
8565 #: build/C/man3/getopt.3:503
8566 #, no-wrap
8567 msgid ""
8568 "        default:\n"
8569 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8570 "        }\n"
8571 "    }\n"
8572 msgstr ""
8573
8574 #. type: Plain text
8575 #: build/C/man3/getopt.3:510
8576 #, no-wrap
8577 msgid ""
8578 "    if (optind E<lt> argc) {\n"
8579 "        printf(\"non-option ARGV-elements: \");\n"
8580 "        while (optind E<lt> argc)\n"
8581 "            printf(\"%s \", argv[optind++]);\n"
8582 "        printf(\"\\en\");\n"
8583 "    }\n"
8584 msgstr ""
8585
8586 #. type: Plain text
8587 #: build/C/man3/getopt.3:516
8588 msgid "B<getsubopt>(3)"
8589 msgstr ""
8590
8591 #. type: TH
8592 #: build/C/man2/getpagesize.2:25
8593 #, no-wrap
8594 msgid "GETPAGESIZE"
8595 msgstr ""
8596
8597 #. type: TH
8598 #: build/C/man2/getpagesize.2:25
8599 #, no-wrap
8600 msgid "2010-11-16"
8601 msgstr ""
8602
8603 #. type: Plain text
8604 #: build/C/man2/getpagesize.2:28
8605 msgid "getpagesize - get memory page size"
8606 msgstr ""
8607
8608 #. type: Plain text
8609 #: build/C/man2/getpagesize.2:32
8610 msgid "B<int getpagesize(void);>"
8611 msgstr ""
8612
8613 #. type: Plain text
8614 #: build/C/man2/getpagesize.2:39
8615 msgid "B<getpagesize>():"
8616 msgstr ""
8617
8618 #.  .SH HISTORY
8619 #.  This call first appeared in 4.2BSD.
8620 #. type: Plain text
8621 #: build/C/man2/getpagesize.2:64
8622 msgid ""
8623 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
8624 "where \"page\" is a fixed-length block, the unit for memory allocation and "
8625 "file mapping performed by B<mmap>(2)."
8626 msgstr ""
8627
8628 #. type: Plain text
8629 #: build/C/man2/getpagesize.2:71
8630 msgid ""
8631 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
8632 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
8633 msgstr ""
8634
8635 #. type: Plain text
8636 #: build/C/man2/getpagesize.2:76
8637 msgid ""
8638 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
8639 "B<getpagesize>():"
8640 msgstr ""
8641
8642 #. type: Plain text
8643 #: build/C/man2/getpagesize.2:81
8644 #, no-wrap
8645 msgid ""
8646 "#include E<lt>unistd.hE<gt>\n"
8647 "long sz = sysconf(_SC_PAGESIZE);\n"
8648 msgstr ""
8649
8650 #. type: Plain text
8651 #: build/C/man2/getpagesize.2:88
8652 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
8653 msgstr ""
8654
8655 #. type: Plain text
8656 #: build/C/man2/getpagesize.2:108
8657 msgid ""
8658 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
8659 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
8660 "value depends on the architecture and machine model.  Generally, one uses "
8661 "binaries that are dependent on the architecture but not on the machine "
8662 "model, in order to have a single binary distribution per architecture.  This "
8663 "means that a user program should not find B<PAGE_SIZE> at compile time from "
8664 "a header file, but use an actual system call, at least for those "
8665 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
8666 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
8667 "value, and does not use a system call.  Things are OK in glibc 2.1."
8668 msgstr ""
8669
8670 #. type: Plain text
8671 #: build/C/man2/getpagesize.2:111
8672 msgid "B<mmap>(2), B<sysconf>(3)"
8673 msgstr ""
8674
8675 #. type: TH
8676 #: build/C/man2/gettid.2:26
8677 #, no-wrap
8678 msgid "GETTID"
8679 msgstr ""
8680
8681 #. type: TH
8682 #: build/C/man2/gettid.2:26
8683 #, no-wrap
8684 msgid "2013-02-04"
8685 msgstr ""
8686
8687 #. type: Plain text
8688 #: build/C/man2/gettid.2:29
8689 msgid "gettid - get thread identification"
8690 msgstr ""
8691
8692 #. type: Plain text
8693 #: build/C/man2/gettid.2:32
8694 #, no-wrap
8695 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
8696 msgstr ""
8697
8698 #. type: Plain text
8699 #: build/C/man2/gettid.2:34
8700 #, no-wrap
8701 msgid "B<pid_t gettid(void);>\n"
8702 msgstr ""
8703
8704 #. type: Plain text
8705 #: build/C/man2/gettid.2:50
8706 msgid ""
8707 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
8708 "process, the thread ID is equal to the process ID (PID, as returned by "
8709 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
8710 "but each one has a unique TID.  For further details, see the discussion of "
8711 "B<CLONE_THREAD> in B<clone>(2)."
8712 msgstr ""
8713
8714 #. type: Plain text
8715 #: build/C/man2/gettid.2:52
8716 msgid "On success, returns the thread ID of the calling process."
8717 msgstr ""
8718
8719 #. type: Plain text
8720 #: build/C/man2/gettid.2:54
8721 msgid "This call is always successful."
8722 msgstr ""
8723
8724 #. type: Plain text
8725 #: build/C/man2/gettid.2:58
8726 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
8727 msgstr ""
8728
8729 #. type: Plain text
8730 #: build/C/man2/gettid.2:62
8731 msgid ""
8732 "B<gettid>()  is Linux-specific and should not be used in programs that are "
8733 "intended to be portable."
8734 msgstr ""
8735
8736 #.  FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399
8737 #.  "gettid() should have a wrapper"
8738 #. type: Plain text
8739 #: build/C/man2/gettid.2:67
8740 msgid ""
8741 "Glibc does not provide a wrapper for this system call; call it using "
8742 "B<syscall>(2)."
8743 msgstr ""
8744
8745 #. type: Plain text
8746 #: build/C/man2/gettid.2:71
8747 msgid ""
8748 "The thread ID returned by this call is not the same thing as a POSIX thread "
8749 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
8750 msgstr ""
8751
8752 #.  .BR kcmp (2),
8753 #.  .BR move_pages (2),
8754 #.  .BR migrate_pages (2),
8755 #.  .BR process_vm_readv (2),
8756 #.  .BR ptrace (2),
8757 #. type: Plain text
8758 #: build/C/man2/gettid.2:90
8759 msgid ""
8760 "B<capget>(2), B<clone>(2), B<fcntl>(2), B<fork>(2), B<get_robust_list>(2), "
8761 "B<getpid>(2), B<ioprio_set>(2), B<perf_event_open>(2), "
8762 "B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), "
8763 "B<timer_create>(2), B<tgkill>(2)"
8764 msgstr ""
8765
8766 #. type: TH
8767 #: build/C/man3/getumask.3:28
8768 #, no-wrap
8769 msgid "GETUMASK"
8770 msgstr ""
8771
8772 #. type: TH
8773 #: build/C/man3/getumask.3:28
8774 #, no-wrap
8775 msgid "2010-09-10"
8776 msgstr ""
8777
8778 #. type: Plain text
8779 #: build/C/man3/getumask.3:31
8780 msgid "getumask - get file creation mask"
8781 msgstr ""
8782
8783 #. type: Plain text
8784 #: build/C/man3/getumask.3:35 build/C/man2/truncate.2:50 build/C/man2/umask.2:39 build/C/man2/vfork.2:33
8785 msgid "B<#include E<lt>sys/types.hE<gt>>"
8786 msgstr ""
8787
8788 #. type: Plain text
8789 #: build/C/man3/getumask.3:39
8790 msgid "B<mode_t getumask(void);>"
8791 msgstr ""
8792
8793 #. type: Plain text
8794 #: build/C/man3/getumask.3:42
8795 msgid "This function returns the current file creation mask.  It is equivalent to"
8796 msgstr ""
8797
8798 #. type: Plain text
8799 #: build/C/man3/getumask.3:51
8800 #, no-wrap
8801 msgid ""
8802 "mode_t getumask(void)\n"
8803 "{\n"
8804 "    mode_t mask = umask( 0 );\n"
8805 "    umask(mask);\n"
8806 "    return mask;\n"
8807 "}\n"
8808 msgstr ""
8809
8810 #. type: Plain text
8811 #: build/C/man3/getumask.3:58
8812 msgid ""
8813 "except that it is documented to be thread-safe (that is, shares a lock with "
8814 "the B<umask>(2)  library call)."
8815 msgstr ""
8816
8817 #. type: Plain text
8818 #: build/C/man3/getumask.3:60
8819 msgid "This is a vaporware GNU extension."
8820 msgstr ""
8821
8822 #. type: Plain text
8823 #: build/C/man3/getumask.3:63
8824 msgid ""
8825 "This function is documented but not implemented yet in glibc, as at version "
8826 "2.9."
8827 msgstr ""
8828
8829 #. type: Plain text
8830 #: build/C/man3/getumask.3:65
8831 msgid "B<umask>(2)"
8832 msgstr ""
8833
8834 #. type: TH
8835 #: build/C/man3/getusershell.3:30
8836 #, no-wrap
8837 msgid "GETUSERSHELL"
8838 msgstr ""
8839
8840 #. type: TH
8841 #: build/C/man3/getusershell.3:30 build/C/man2/nice.2:31 build/C/man2/vhangup.2:28
8842 #, no-wrap
8843 msgid "2007-07-26"
8844 msgstr ""
8845
8846 #. type: Plain text
8847 #: build/C/man3/getusershell.3:33
8848 msgid "getusershell, setusershell, endusershell - get permitted user shells"
8849 msgstr ""
8850
8851 #. type: Plain text
8852 #: build/C/man3/getusershell.3:38
8853 #, no-wrap
8854 msgid "B<char *getusershell(void);>\n"
8855 msgstr ""
8856
8857 #. type: Plain text
8858 #: build/C/man3/getusershell.3:40
8859 #, no-wrap
8860 msgid "B<void setusershell(void);>\n"
8861 msgstr ""
8862
8863 #. type: Plain text
8864 #: build/C/man3/getusershell.3:42
8865 #, no-wrap
8866 msgid "B<void endusershell(void);>\n"
8867 msgstr ""
8868
8869 #. type: Plain text
8870 #: build/C/man3/getusershell.3:53
8871 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
8872 msgstr ""
8873
8874 #. type: Plain text
8875 #: build/C/man3/getusershell.3:69
8876 msgid ""
8877 "The B<getusershell>()  function returns the next line from the file "
8878 "I</etc/shells>, opening the file if necessary.  The line should contain the "
8879 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
8880 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
8881 "listed in the file."
8882 msgstr ""
8883
8884 #. type: Plain text
8885 #: build/C/man3/getusershell.3:73
8886 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
8887 msgstr ""
8888
8889 #. type: Plain text
8890 #: build/C/man3/getusershell.3:77
8891 msgid "The B<endusershell>()  function closes I</etc/shells>."
8892 msgstr ""
8893
8894 #. type: Plain text
8895 #: build/C/man3/getusershell.3:81
8896 msgid "The B<getusershell>()  function returns a NULL pointer on end-of-file."
8897 msgstr ""
8898
8899 #. type: Plain text
8900 #: build/C/man3/getusershell.3:84
8901 #, no-wrap
8902 msgid "/etc/shells\n"
8903 msgstr ""
8904
8905 #. type: Plain text
8906 #: build/C/man3/getusershell.3:87
8907 msgid "4.3BSD."
8908 msgstr ""
8909
8910 #. type: Plain text
8911 #: build/C/man3/getusershell.3:89
8912 msgid "B<shells>(5)"
8913 msgstr ""
8914
8915 #. type: TH
8916 #: build/C/man2/idle.2:32
8917 #, no-wrap
8918 msgid "IDLE"
8919 msgstr ""
8920
8921 #. type: TH
8922 #: build/C/man2/idle.2:32 build/C/man5/shells.5:28
8923 #, no-wrap
8924 msgid "2012-12-31"
8925 msgstr ""
8926
8927 #. type: Plain text
8928 #: build/C/man2/idle.2:35
8929 msgid "idle - make process 0 idle"
8930 msgstr ""
8931
8932 #. type: Plain text
8933 #: build/C/man2/idle.2:39
8934 msgid "B<int idle(void);>"
8935 msgstr ""
8936
8937 #. type: Plain text
8938 #: build/C/man2/idle.2:46
8939 msgid ""
8940 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
8941 "process's pages as swappable, lowers its priority, and enters the main "
8942 "scheduling loop.  B<idle>()  never returns."
8943 msgstr ""
8944
8945 #. type: Plain text
8946 #: build/C/man2/idle.2:52
8947 msgid ""
8948 "Only process 0 may call B<idle>().  Any user process, even a process with "
8949 "superuser permission, will receive B<EPERM>."
8950 msgstr ""
8951
8952 #. type: Plain text
8953 #: build/C/man2/idle.2:55
8954 msgid ""
8955 "B<idle>()  never returns for process 0, and always returns -1 for a user "
8956 "process."
8957 msgstr ""
8958
8959 #. type: Plain text
8960 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
8961 msgid "Always, for a user process."
8962 msgstr ""
8963
8964 #. type: Plain text
8965 #: build/C/man2/idle.2:61
8966 msgid "Since Linux 2.3.13, this system call does not exist anymore."
8967 msgstr ""
8968
8969 #. type: Plain text
8970 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
8971 msgid ""
8972 "This function is Linux-specific, and should not be used in programs intended "
8973 "to be portable."
8974 msgstr ""
8975
8976 #. type: TH
8977 #: build/C/man2/ioctl.2:41
8978 #, no-wrap
8979 msgid "IOCTL"
8980 msgstr ""
8981
8982 #. type: TH
8983 #: build/C/man2/ioctl.2:41
8984 #, no-wrap
8985 msgid "2000-09-21"
8986 msgstr ""
8987
8988 #. type: Plain text
8989 #: build/C/man2/ioctl.2:44
8990 msgid "ioctl - control device"
8991 msgstr ""
8992
8993 #. type: Plain text
8994 #: build/C/man2/ioctl.2:46
8995 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
8996 msgstr ""
8997
8998 #. type: Plain text
8999 #: build/C/man2/ioctl.2:48
9000 msgid "B<int ioctl(int >I<d>B<, int >I<request>B<, ...);>"
9001 msgstr ""
9002
9003 #. type: Plain text
9004 #: build/C/man2/ioctl.2:59
9005 msgid ""
9006 "The B<ioctl>()  function manipulates the underlying device parameters of "
9007 "special files.  In particular, many operating characteristics of character "
9008 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
9009 "requests.  The argument I<d> must be an open file descriptor."
9010 msgstr ""
9011
9012 #. type: Plain text
9013 #: build/C/man2/ioctl.2:67
9014 msgid ""
9015 "The second argument is a device-dependent request code.  The third argument "
9016 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
9017 "the days before B<void *> was valid C), and will be so named for this "
9018 "discussion."
9019 msgstr ""
9020
9021 #. type: Plain text
9022 #: build/C/man2/ioctl.2:83
9023 msgid ""
9024 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
9025 "parameter or I<out> parameter, and the size of the argument I<argp> in "
9026 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
9027 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
9028 msgstr ""
9029
9030 #. type: Plain text
9031 #: build/C/man2/ioctl.2:92
9032 msgid ""
9033 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
9034 "return value as an output parameter and return a nonnegative value on "
9035 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9036 msgstr ""
9037
9038 #. type: Plain text
9039 #: build/C/man2/ioctl.2:97
9040 msgid "I<d> is not a valid descriptor."
9041 msgstr ""
9042
9043 #. type: Plain text
9044 #: build/C/man2/ioctl.2:101
9045 msgid "I<argp> references an inaccessible memory area."
9046 msgstr ""
9047
9048 #. type: Plain text
9049 #: build/C/man2/ioctl.2:107
9050 msgid "I<Request> or I<argp> is not valid."
9051 msgstr ""
9052
9053 #. type: Plain text
9054 #: build/C/man2/ioctl.2:111
9055 msgid "I<d> is not associated with a character special device."
9056 msgstr ""
9057
9058 #. type: Plain text
9059 #: build/C/man2/ioctl.2:117
9060 msgid ""
9061 "The specified request does not apply to the kind of object that the "
9062 "descriptor I<d> references."
9063 msgstr ""
9064
9065 #. type: Plain text
9066 #: build/C/man2/ioctl.2:132
9067 msgid ""
9068 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
9069 "according to the device driver in question (the call is used as a catch-all "
9070 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
9071 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
9072 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
9073 msgstr ""
9074
9075 #. type: Plain text
9076 #: build/C/man2/ioctl.2:140
9077 msgid ""
9078 "In order to use this call, one needs an open file descriptor.  Often the "
9079 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
9080 "by giving it the B<O_NONBLOCK> flag."
9081 msgstr ""
9082
9083 #.  .BR mt (4),
9084 #. type: Plain text
9085 #: build/C/man2/ioctl.2:148
9086 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9087 msgstr ""
9088
9089 #. type: TH
9090 #: build/C/man2/ioctl_list.2:30
9091 #, no-wrap
9092 msgid "IOCTL_LIST"
9093 msgstr ""
9094
9095 #. type: TH
9096 #: build/C/man2/ioctl_list.2:30
9097 #, no-wrap
9098 msgid "2007-12-29"
9099 msgstr ""
9100
9101 #. type: Plain text
9102 #: build/C/man2/ioctl_list.2:33
9103 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9104 msgstr ""
9105
9106 #. type: Plain text
9107 #: build/C/man2/ioctl_list.2:40
9108 msgid ""
9109 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9110 "1.3.27.  It contains 421 ioctls from "
9111 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9112 "value, its name, and its argument type are given."
9113 msgstr ""
9114
9115 #. type: Plain text
9116 #: build/C/man2/ioctl_list.2:48
9117 msgid ""
9118 "An argument type of I<const struct foo *> means the argument is input to the "
9119 "kernel.  I<struct foo *> means the kernel outputs the argument.  If the "
9120 "kernel uses the argument for both input and output, this is marked with "
9121 "I<//\\ I-O>."
9122 msgstr ""
9123
9124 #. type: Plain text
9125 #: build/C/man2/ioctl_list.2:53
9126 msgid ""
9127 "Some ioctls take more arguments or return more values than a single "
9128 "structure.  These are marked I<//\\ MORE> and documented further in a "
9129 "separate section."
9130 msgstr ""
9131
9132 #. type: Plain text
9133 #: build/C/man2/ioctl_list.2:55
9134 msgid "This list is very incomplete."
9135 msgstr ""
9136
9137 #. type: SS
9138 #: build/C/man2/ioctl_list.2:55
9139 #, no-wrap
9140 msgid "ioctl structure"
9141 msgstr ""
9142
9143 #.  added two sections - aeb
9144 #. type: Plain text
9145 #: build/C/man2/ioctl_list.2:60
9146 msgid ""
9147 "Ioctl command values are 32-bit constants.  In principle these constants are "
9148 "completely arbitrary, but people have tried to build some structure into "
9149 "them."
9150 msgstr ""
9151
9152 #. type: Plain text
9153 #: build/C/man2/ioctl_list.2:79
9154 msgid ""
9155 "The old Linux situation was that of mostly 16-bit constants, where the last "
9156 "byte is a serial number, and the preceding byte(s) give a type indicating "
9157 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9158 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9159 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9160 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9161 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9162 "driver."
9163 msgstr ""
9164
9165 #. type: Plain text
9166 #: build/C/man2/ioctl_list.2:87
9167 msgid ""
9168 "Later (0.98p5) some more information was built into the number.  One has 2 "
9169 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9170 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9171 "(collecting the ioctls in groups for a common purpose or a common driver), "
9172 "and an 8-bit serial number."
9173 msgstr ""
9174
9175 #. type: Plain text
9176 #: build/C/man2/ioctl_list.2:97
9177 msgid ""
9178 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9179 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9180 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9181 "data type."
9182 msgstr ""
9183
9184 #. type: Plain text
9185 #: build/C/man2/ioctl_list.2:102
9186 msgid ""
9187 "Note that the size bits are very unreliable: in lots of cases they are "
9188 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9189 "because of legacy values."
9190 msgstr ""
9191
9192 #. type: Plain text
9193 #: build/C/man2/ioctl_list.2:106
9194 msgid ""
9195 "Thus, it seems that the new structure only gave disadvantages: it does not "
9196 "help in checking, but it causes varying values for the various "
9197 "architectures."
9198 msgstr ""
9199
9200 #. type: Plain text
9201 #: build/C/man2/ioctl_list.2:112
9202 msgid ""
9203 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9204 "stored via the argument.  However, quite a few ioctls in fact return an "
9205 "output value.  This is not yet indicated below."
9206 msgstr ""
9207
9208 #. type: Plain text
9209 #: build/C/man2/ioctl_list.2:114
9210 msgid "// Main table."
9211 msgstr ""
9212
9213 #. type: Plain text
9214 #: build/C/man2/ioctl_list.2:116
9215 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9216 msgstr ""
9217
9218 #. type: tbl table
9219 #: build/C/man2/ioctl_list.2:118
9220 #, no-wrap
9221 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9222 msgstr ""
9223
9224 #. type: tbl table
9225 #: build/C/man2/ioctl_list.2:119
9226 #, no-wrap
9227 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9228 msgstr ""
9229
9230 #. type: tbl table
9231 #: build/C/man2/ioctl_list.2:120
9232 #, no-wrap
9233 msgid "0x00008903\tFIOGETOWN\tint *\n"
9234 msgstr ""
9235
9236 #. type: tbl table
9237 #: build/C/man2/ioctl_list.2:121
9238 #, no-wrap
9239 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9240 msgstr ""
9241
9242 #. type: tbl table
9243 #: build/C/man2/ioctl_list.2:122
9244 #, no-wrap
9245 msgid "0x00008905\tSIOCATMAR\tint *\n"
9246 msgstr ""
9247
9248 #. type: tbl table
9249 #: build/C/man2/ioctl_list.2:123
9250 #, no-wrap
9251 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9252 msgstr ""
9253
9254 #. type: Plain text
9255 #: build/C/man2/ioctl_list.2:127
9256 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9257 msgstr ""
9258
9259 #. type: tbl table
9260 #: build/C/man2/ioctl_list.2:129
9261 #, no-wrap
9262 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9263 msgstr ""
9264
9265 #. type: tbl table
9266 #: build/C/man2/ioctl_list.2:130
9267 #, no-wrap
9268 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9269 msgstr ""
9270
9271 #. type: tbl table
9272 #: build/C/man2/ioctl_list.2:131
9273 #, no-wrap
9274 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9275 msgstr ""
9276
9277 #. type: tbl table
9278 #: build/C/man2/ioctl_list.2:132
9279 #, no-wrap
9280 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9281 msgstr ""
9282
9283 #. type: tbl table
9284 #: build/C/man2/ioctl_list.2:133
9285 #, no-wrap
9286 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9287 msgstr ""
9288
9289 #. type: tbl table
9290 #: build/C/man2/ioctl_list.2:134
9291 #, no-wrap
9292 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9293 msgstr ""
9294
9295 #. type: tbl table
9296 #: build/C/man2/ioctl_list.2:135
9297 #, no-wrap
9298 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9299 msgstr ""
9300
9301 #. type: tbl table
9302 #: build/C/man2/ioctl_list.2:136
9303 #, no-wrap
9304 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9305 msgstr ""
9306
9307 #. type: tbl table
9308 #: build/C/man2/ioctl_list.2:137
9309 #, no-wrap
9310 msgid "0x00005409\tTCSBRK\tint\n"
9311 msgstr ""
9312
9313 #. type: tbl table
9314 #: build/C/man2/ioctl_list.2:138
9315 #, no-wrap
9316 msgid "0x0000540A\tTCXONC\tint\n"
9317 msgstr ""
9318
9319 #. type: tbl table
9320 #: build/C/man2/ioctl_list.2:139
9321 #, no-wrap
9322 msgid "0x0000540B\tTCFLSH\tint\n"
9323 msgstr ""
9324
9325 #. type: tbl table
9326 #: build/C/man2/ioctl_list.2:140
9327 #, no-wrap
9328 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9329 msgstr ""
9330
9331 #. type: tbl table
9332 #: build/C/man2/ioctl_list.2:141
9333 #, no-wrap
9334 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9335 msgstr ""
9336
9337 #. type: tbl table
9338 #: build/C/man2/ioctl_list.2:142
9339 #, no-wrap
9340 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9341 msgstr ""
9342
9343 #. type: tbl table
9344 #: build/C/man2/ioctl_list.2:143
9345 #, no-wrap
9346 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9347 msgstr ""
9348
9349 #. type: tbl table
9350 #: build/C/man2/ioctl_list.2:144
9351 #, no-wrap
9352 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9353 msgstr ""
9354
9355 #. type: tbl table
9356 #: build/C/man2/ioctl_list.2:145
9357 #, no-wrap
9358 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9359 msgstr ""
9360
9361 #. type: tbl table
9362 #: build/C/man2/ioctl_list.2:146
9363 #, no-wrap
9364 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9365 msgstr ""
9366
9367 #. type: tbl table
9368 #: build/C/man2/ioctl_list.2:147
9369 #, no-wrap
9370 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9371 msgstr ""
9372
9373 #. type: tbl table
9374 #: build/C/man2/ioctl_list.2:148
9375 #, no-wrap
9376 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9377 msgstr ""
9378
9379 #. type: tbl table
9380 #: build/C/man2/ioctl_list.2:149
9381 #, no-wrap
9382 msgid "0x00005415\tTIOCMGET\tint *\n"
9383 msgstr ""
9384
9385 #. type: tbl table
9386 #: build/C/man2/ioctl_list.2:150
9387 #, no-wrap
9388 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9389 msgstr ""
9390
9391 #. type: tbl table
9392 #: build/C/man2/ioctl_list.2:151
9393 #, no-wrap
9394 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9395 msgstr ""
9396
9397 #. type: tbl table
9398 #: build/C/man2/ioctl_list.2:152
9399 #, no-wrap
9400 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9401 msgstr ""
9402
9403 #. type: tbl table
9404 #: build/C/man2/ioctl_list.2:153
9405 #, no-wrap
9406 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9407 msgstr ""
9408
9409 #. type: tbl table
9410 #: build/C/man2/ioctl_list.2:154
9411 #, no-wrap
9412 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9413 msgstr ""
9414
9415 #. type: tbl table
9416 #: build/C/man2/ioctl_list.2:155
9417 #, no-wrap
9418 msgid "0x0000541B\tFIONREAD\tint *\n"
9419 msgstr ""
9420
9421 #. type: tbl table
9422 #: build/C/man2/ioctl_list.2:156
9423 #, no-wrap
9424 msgid "0x0000541B\tTIOCINQ\tint *\n"
9425 msgstr ""
9426
9427 #. type: tbl table
9428 #: build/C/man2/ioctl_list.2:157
9429 #, no-wrap
9430 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9431 msgstr ""
9432
9433 #. type: tbl table
9434 #: build/C/man2/ioctl_list.2:158
9435 #, no-wrap
9436 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9437 msgstr ""
9438
9439 #. type: tbl table
9440 #: build/C/man2/ioctl_list.2:159
9441 #, no-wrap
9442 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9443 msgstr ""
9444
9445 #. type: tbl table
9446 #: build/C/man2/ioctl_list.2:160
9447 #, no-wrap
9448 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9449 msgstr ""
9450
9451 #. type: tbl table
9452 #: build/C/man2/ioctl_list.2:161
9453 #, no-wrap
9454 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9455 msgstr ""
9456
9457 #. type: tbl table
9458 #: build/C/man2/ioctl_list.2:162
9459 #, no-wrap
9460 msgid "0x00005421\tFIONBIO\tconst int *\n"
9461 msgstr ""
9462
9463 #. type: tbl table
9464 #: build/C/man2/ioctl_list.2:163
9465 #, no-wrap
9466 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
9467 msgstr ""
9468
9469 #. type: tbl table
9470 #: build/C/man2/ioctl_list.2:164
9471 #, no-wrap
9472 msgid "0x00005423\tTIOCSETD\tconst int *\n"
9473 msgstr ""
9474
9475 #. type: tbl table
9476 #: build/C/man2/ioctl_list.2:165
9477 #, no-wrap
9478 msgid "0x00005424\tTIOCGETD\tint *\n"
9479 msgstr ""
9480
9481 #. type: tbl table
9482 #: build/C/man2/ioctl_list.2:166
9483 #, no-wrap
9484 msgid "0x00005425\tTCSBRKP\tint\n"
9485 msgstr ""
9486
9487 #. type: tbl table
9488 #: build/C/man2/ioctl_list.2:167
9489 #, no-wrap
9490 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9491 msgstr ""
9492
9493 #. type: tbl table
9494 #: build/C/man2/ioctl_list.2:168
9495 #, no-wrap
9496 msgid "0x00005450\tFIONCLEX\tvoid\n"
9497 msgstr ""
9498
9499 #. type: tbl table
9500 #: build/C/man2/ioctl_list.2:169
9501 #, no-wrap
9502 msgid "0x00005451\tFIOCLEX\tvoid\n"
9503 msgstr ""
9504
9505 #. type: tbl table
9506 #: build/C/man2/ioctl_list.2:170
9507 #, no-wrap
9508 msgid "0x00005452\tFIOASYNC\tconst int *\n"
9509 msgstr ""
9510
9511 #. type: tbl table
9512 #: build/C/man2/ioctl_list.2:171
9513 #, no-wrap
9514 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
9515 msgstr ""
9516
9517 #. type: tbl table
9518 #: build/C/man2/ioctl_list.2:172
9519 #, no-wrap
9520 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
9521 msgstr ""
9522
9523 #. type: tbl table
9524 #: build/C/man2/ioctl_list.2:173
9525 #, no-wrap
9526 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
9527 msgstr ""
9528
9529 #. type: tbl table
9530 #: build/C/man2/ioctl_list.2:174
9531 #, no-wrap
9532 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9533 msgstr ""
9534
9535 #. type: tbl table
9536 #: build/C/man2/ioctl_list.2:175
9537 #, no-wrap
9538 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9539 msgstr ""
9540
9541 #. type: tbl table
9542 #: build/C/man2/ioctl_list.2:176
9543 #, no-wrap
9544 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9545 msgstr ""
9546
9547 #. type: tbl table
9548 #: build/C/man2/ioctl_list.2:177
9549 #, no-wrap
9550 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
9551 msgstr ""
9552
9553 #. type: tbl table
9554 #: build/C/man2/ioctl_list.2:184
9555 #, no-wrap
9556 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9557 msgstr ""
9558
9559 #. type: tbl table
9560 #: build/C/man2/ioctl_list.2:185
9561 #, no-wrap
9562 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9563 msgstr ""
9564
9565 #. type: Plain text
9566 #: build/C/man2/ioctl_list.2:189
9567 msgid "// E<lt>include/linux/ax25.hE<gt>"
9568 msgstr ""
9569
9570 #. type: tbl table
9571 #: build/C/man2/ioctl_list.2:191
9572 #, no-wrap
9573 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9574 msgstr ""
9575
9576 #. type: tbl table
9577 #: build/C/man2/ioctl_list.2:192
9578 #, no-wrap
9579 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9580 msgstr ""
9581
9582 #. type: tbl table
9583 #: build/C/man2/ioctl_list.2:193
9584 #, no-wrap
9585 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9586 msgstr ""
9587
9588 #. type: tbl table
9589 #: build/C/man2/ioctl_list.2:194
9590 #, no-wrap
9591 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9592 msgstr ""
9593
9594 #. type: tbl table
9595 #: build/C/man2/ioctl_list.2:195
9596 #, no-wrap
9597 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9598 msgstr ""
9599
9600 #. type: tbl table
9601 #: build/C/man2/ioctl_list.2:196
9602 #, no-wrap
9603 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9604 msgstr ""
9605
9606 #. type: tbl table
9607 #: build/C/man2/ioctl_list.2:200
9608 #, no-wrap
9609 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9610 msgstr ""
9611
9612 #. type: Plain text
9613 #: build/C/man2/ioctl_list.2:204
9614 msgid "// E<lt>include/linux/cdk.hE<gt>"
9615 msgstr ""
9616
9617 #. type: tbl table
9618 #: build/C/man2/ioctl_list.2:206
9619 #, no-wrap
9620 msgid "0x00007314\tSTL_BINTR\tvoid\n"
9621 msgstr ""
9622
9623 #. type: tbl table
9624 #: build/C/man2/ioctl_list.2:207
9625 #, no-wrap
9626 msgid "0x00007315\tSTL_BSTART\tvoid\n"
9627 msgstr ""
9628
9629 #. type: tbl table
9630 #: build/C/man2/ioctl_list.2:208
9631 #, no-wrap
9632 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
9633 msgstr ""
9634
9635 #. type: tbl table
9636 #: build/C/man2/ioctl_list.2:209
9637 #, no-wrap
9638 msgid "0x00007317\tSTL_BRESET\tvoid\n"
9639 msgstr ""
9640
9641 #. type: Plain text
9642 #: build/C/man2/ioctl_list.2:213
9643 msgid "// E<lt>include/linux/cdrom.hE<gt>"
9644 msgstr ""
9645
9646 #. type: tbl table
9647 #: build/C/man2/ioctl_list.2:215
9648 #, no-wrap
9649 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
9650 msgstr ""
9651
9652 #. type: tbl table
9653 #: build/C/man2/ioctl_list.2:216
9654 #, no-wrap
9655 msgid "0x00005302\tCDROMRESUME\tvoid\n"
9656 msgstr ""
9657
9658 #. type: tbl table
9659 #: build/C/man2/ioctl_list.2:217
9660 #, no-wrap
9661 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9662 msgstr ""
9663
9664 #. type: tbl table
9665 #: build/C/man2/ioctl_list.2:218
9666 #, no-wrap
9667 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9668 msgstr ""
9669
9670 #. type: tbl table
9671 #: build/C/man2/ioctl_list.2:219
9672 #, no-wrap
9673 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9674 msgstr ""
9675
9676 #. type: tbl table
9677 #: build/C/man2/ioctl_list.2:223
9678 #, no-wrap
9679 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9680 msgstr ""
9681
9682 #. type: tbl table
9683 #: build/C/man2/ioctl_list.2:227
9684 #, no-wrap
9685 msgid "0x00005307\tCDROMSTOP\tvoid\n"
9686 msgstr ""
9687
9688 #. type: tbl table
9689 #: build/C/man2/ioctl_list.2:228
9690 #, no-wrap
9691 msgid "0x00005308\tCDROMSTART\tvoid\n"
9692 msgstr ""
9693
9694 #. type: tbl table
9695 #: build/C/man2/ioctl_list.2:229
9696 #, no-wrap
9697 msgid "0x00005309\tCDROMEJECT\tvoid\n"
9698 msgstr ""
9699
9700 #. type: tbl table
9701 #: build/C/man2/ioctl_list.2:230
9702 #, no-wrap
9703 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9704 msgstr ""
9705
9706 #. type: tbl table
9707 #: build/C/man2/ioctl_list.2:231
9708 #, no-wrap
9709 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9710 msgstr ""
9711
9712 #. type: tbl table
9713 #: build/C/man2/ioctl_list.2:232
9714 #, no-wrap
9715 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9716 msgstr ""
9717
9718 #. type: tbl table
9719 #: build/C/man2/ioctl_list.2:233
9720 #, no-wrap
9721 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9722 msgstr ""
9723
9724 #. type: tbl table
9725 #: build/C/man2/ioctl_list.2:234
9726 #, no-wrap
9727 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9728 msgstr ""
9729
9730 #. type: tbl table
9731 #: build/C/man2/ioctl_list.2:235
9732 #, no-wrap
9733 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
9734 msgstr ""
9735
9736 #. type: tbl table
9737 #: build/C/man2/ioctl_list.2:239
9738 #, no-wrap
9739 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9740 msgstr ""
9741
9742 #. type: tbl table
9743 #: build/C/man2/ioctl_list.2:243
9744 #, no-wrap
9745 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9746 msgstr ""
9747
9748 #. type: tbl table
9749 #: build/C/man2/ioctl_list.2:244
9750 #, no-wrap
9751 msgid "0x00005312\tCDROMRESET\tvoid\n"
9752 msgstr ""
9753
9754 #. type: tbl table
9755 #: build/C/man2/ioctl_list.2:245
9756 #, no-wrap
9757 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9758 msgstr ""
9759
9760 #. type: tbl table
9761 #: build/C/man2/ioctl_list.2:246
9762 #, no-wrap
9763 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9764 msgstr ""
9765
9766 #. type: tbl table
9767 #: build/C/man2/ioctl_list.2:247
9768 #, no-wrap
9769 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9770 msgstr ""
9771
9772 #. type: tbl table
9773 #: build/C/man2/ioctl_list.2:248
9774 #, no-wrap
9775 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9776 msgstr ""
9777
9778 #. type: Plain text
9779 #: build/C/man2/ioctl_list.2:252
9780 msgid "// E<lt>include/linux/cm206.hE<gt>"
9781 msgstr ""
9782
9783 #. type: tbl table
9784 #: build/C/man2/ioctl_list.2:254
9785 #, no-wrap
9786 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
9787 msgstr ""
9788
9789 #. type: tbl table
9790 #: build/C/man2/ioctl_list.2:255
9791 #, no-wrap
9792 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9793 msgstr ""
9794
9795 #. type: Plain text
9796 #: build/C/man2/ioctl_list.2:259
9797 msgid "// E<lt>include/linux/cyclades.hE<gt>"
9798 msgstr ""
9799
9800 #. type: tbl table
9801 #: build/C/man2/ioctl_list.2:261
9802 #, no-wrap
9803 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9804 msgstr ""
9805
9806 #. type: tbl table
9807 #: build/C/man2/ioctl_list.2:262
9808 #, no-wrap
9809 msgid "0x00435902\tCYGETTHRESH\tint *\n"
9810 msgstr ""
9811
9812 #. type: tbl table
9813 #: build/C/man2/ioctl_list.2:263
9814 #, no-wrap
9815 msgid "0x00435903\tCYSETTHRESH\tint\n"
9816 msgstr ""
9817
9818 #. type: tbl table
9819 #: build/C/man2/ioctl_list.2:264
9820 #, no-wrap
9821 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
9822 msgstr ""
9823
9824 #. type: tbl table
9825 #: build/C/man2/ioctl_list.2:265
9826 #, no-wrap
9827 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
9828 msgstr ""
9829
9830 #. type: tbl table
9831 #: build/C/man2/ioctl_list.2:266
9832 #, no-wrap
9833 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
9834 msgstr ""
9835
9836 #. type: tbl table
9837 #: build/C/man2/ioctl_list.2:267
9838 #, no-wrap
9839 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
9840 msgstr ""
9841
9842 #. type: tbl table
9843 #: build/C/man2/ioctl_list.2:268
9844 #, no-wrap
9845 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9846 msgstr ""
9847
9848 #. type: tbl table
9849 #: build/C/man2/ioctl_list.2:269
9850 #, no-wrap
9851 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9852 msgstr ""
9853
9854 #. type: Plain text
9855 #: build/C/man2/ioctl_list.2:273
9856 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
9857 msgstr ""
9858
9859 #. type: tbl table
9860 #: build/C/man2/ioctl_list.2:275
9861 #, no-wrap
9862 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9863 msgstr ""
9864
9865 #. type: tbl table
9866 #: build/C/man2/ioctl_list.2:276
9867 #, no-wrap
9868 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9869 msgstr ""
9870
9871 #. type: tbl table
9872 #: build/C/man2/ioctl_list.2:277
9873 #, no-wrap
9874 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9875 msgstr ""
9876
9877 #. type: tbl table
9878 #: build/C/man2/ioctl_list.2:278
9879 #, no-wrap
9880 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9881 msgstr ""
9882
9883 #. type: Plain text
9884 #: build/C/man2/ioctl_list.2:282
9885 msgid "// E<lt>include/linux/fd.hE<gt>"
9886 msgstr ""
9887
9888 #. type: tbl table
9889 #: build/C/man2/ioctl_list.2:284
9890 #, no-wrap
9891 msgid "0x00000000\tFDCLRPRM\tvoid\n"
9892 msgstr ""
9893
9894 #. type: tbl table
9895 #: build/C/man2/ioctl_list.2:285
9896 #, no-wrap
9897 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9898 msgstr ""
9899
9900 #. type: tbl table
9901 #: build/C/man2/ioctl_list.2:286
9902 #, no-wrap
9903 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9904 msgstr ""
9905
9906 #. type: tbl table
9907 #: build/C/man2/ioctl_list.2:287
9908 #, no-wrap
9909 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
9910 msgstr ""
9911
9912 #. type: tbl table
9913 #: build/C/man2/ioctl_list.2:288
9914 #, no-wrap
9915 msgid "0x00000004\tFDMSGON\tvoid\n"
9916 msgstr ""
9917
9918 #. type: tbl table
9919 #: build/C/man2/ioctl_list.2:289
9920 #, no-wrap
9921 msgid "0x00000005\tFDMSGOFF\tvoid\n"
9922 msgstr ""
9923
9924 #. type: tbl table
9925 #: build/C/man2/ioctl_list.2:290
9926 #, no-wrap
9927 msgid "0x00000006\tFDFMTBEG\tvoid\n"
9928 msgstr ""
9929
9930 #. type: tbl table
9931 #: build/C/man2/ioctl_list.2:291
9932 #, no-wrap
9933 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
9934 msgstr ""
9935
9936 #. type: tbl table
9937 #: build/C/man2/ioctl_list.2:292
9938 #, no-wrap
9939 msgid "0x00000008\tFDFMTEND\tvoid\n"
9940 msgstr ""
9941
9942 #. type: tbl table
9943 #: build/C/man2/ioctl_list.2:293
9944 #, no-wrap
9945 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
9946 msgstr ""
9947
9948 #. type: tbl table
9949 #: build/C/man2/ioctl_list.2:294
9950 #, no-wrap
9951 msgid "0x0000000B\tFDFLUSH\tvoid\n"
9952 msgstr ""
9953
9954 #. type: tbl table
9955 #: build/C/man2/ioctl_list.2:295
9956 #, no-wrap
9957 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
9958 msgstr ""
9959
9960 #. type: tbl table
9961 #: build/C/man2/ioctl_list.2:296
9962 #, no-wrap
9963 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
9964 msgstr ""
9965
9966 #. type: tbl table
9967 #: build/C/man2/ioctl_list.2:297
9968 #, no-wrap
9969 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
9970 msgstr ""
9971
9972 #. type: tbl table
9973 #: build/C/man2/ioctl_list.2:298
9974 #, no-wrap
9975 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
9976 msgstr ""
9977
9978 #. type: tbl table
9979 #: build/C/man2/ioctl_list.2:299
9980 #, no-wrap
9981 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
9982 msgstr ""
9983
9984 #. type: tbl table
9985 #: build/C/man2/ioctl_list.2:300
9986 #, no-wrap
9987 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
9988 msgstr ""
9989
9990 #. type: tbl table
9991 #: build/C/man2/ioctl_list.2:301
9992 #, no-wrap
9993 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
9994 msgstr ""
9995
9996 #. type: tbl table
9997 #: build/C/man2/ioctl_list.2:302
9998 #, no-wrap
9999 msgid "0x00000018\tFDRESET\tint\n"
10000 msgstr ""
10001
10002 #. type: tbl table
10003 #: build/C/man2/ioctl_list.2:303
10004 #, no-wrap
10005 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
10006 msgstr ""
10007
10008 #. type: tbl table
10009 #: build/C/man2/ioctl_list.2:304
10010 #, no-wrap
10011 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
10012 msgstr ""
10013
10014 #. type: tbl table
10015 #: build/C/man2/ioctl_list.2:305
10016 #, no-wrap
10017 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
10018 msgstr ""
10019
10020 #. type: tbl table
10021 #: build/C/man2/ioctl_list.2:309
10022 #, no-wrap
10023 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
10024 msgstr ""
10025
10026 #. type: tbl table
10027 #: build/C/man2/ioctl_list.2:310
10028 #, no-wrap
10029 msgid "0x00000028\tFDTWADDLE\tvoid\n"
10030 msgstr ""
10031
10032 #. type: Plain text
10033 #: build/C/man2/ioctl_list.2:314
10034 msgid "// E<lt>include/linux/fs.hE<gt>"
10035 msgstr ""
10036
10037 #. type: tbl table
10038 #: build/C/man2/ioctl_list.2:316
10039 #, no-wrap
10040 msgid "0x0000125D\tBLKROSET\tconst int *\n"
10041 msgstr ""
10042
10043 #. type: tbl table
10044 #: build/C/man2/ioctl_list.2:317
10045 #, no-wrap
10046 msgid "0x0000125E\tBLKROGET\tint *\n"
10047 msgstr ""
10048
10049 #. type: tbl table
10050 #: build/C/man2/ioctl_list.2:318
10051 #, no-wrap
10052 msgid "0x0000125F\tBLKRRPART\tvoid\n"
10053 msgstr ""
10054
10055 #. type: tbl table
10056 #: build/C/man2/ioctl_list.2:319
10057 #, no-wrap
10058 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
10059 msgstr ""
10060
10061 #. type: tbl table
10062 #: build/C/man2/ioctl_list.2:320
10063 #, no-wrap
10064 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
10065 msgstr ""
10066
10067 #. type: tbl table
10068 #: build/C/man2/ioctl_list.2:321
10069 #, no-wrap
10070 msgid "0x00001262\tBLKRASET\tint\n"
10071 msgstr ""
10072
10073 #. type: tbl table
10074 #: build/C/man2/ioctl_list.2:322
10075 #, no-wrap
10076 msgid "0x00001263\tBLKRAGET\tint *\n"
10077 msgstr ""
10078
10079 #. type: tbl table
10080 #: build/C/man2/ioctl_list.2:323
10081 #, no-wrap
10082 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
10083 msgstr ""
10084
10085 #. type: tbl table
10086 #: build/C/man2/ioctl_list.2:324
10087 #, no-wrap
10088 msgid "0x00000002\tFIGETBSZ\tint *\n"
10089 msgstr ""
10090
10091 #. type: Plain text
10092 #: build/C/man2/ioctl_list.2:328
10093 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10094 msgstr ""
10095
10096 #. type: tbl table
10097 #: build/C/man2/ioctl_list.2:330
10098 #, no-wrap
10099 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10100 msgstr ""
10101
10102 #. type: tbl table
10103 #: build/C/man2/ioctl_list.2:331
10104 #, no-wrap
10105 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10106 msgstr ""
10107
10108 #. type: tbl table
10109 #: build/C/man2/ioctl_list.2:332
10110 #, no-wrap
10111 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10112 msgstr ""
10113
10114 #. type: tbl table
10115 #: build/C/man2/ioctl_list.2:333
10116 #, no-wrap
10117 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10118 msgstr ""
10119
10120 #. type: tbl table
10121 #: build/C/man2/ioctl_list.2:334
10122 #, no-wrap
10123 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10124 msgstr ""
10125
10126 #. type: tbl table
10127 #: build/C/man2/ioctl_list.2:335
10128 #, no-wrap
10129 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10130 msgstr ""
10131
10132 #. type: tbl table
10133 #: build/C/man2/ioctl_list.2:336
10134 #, no-wrap
10135 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10136 msgstr ""
10137
10138 #. type: tbl table
10139 #: build/C/man2/ioctl_list.2:337
10140 #, no-wrap
10141 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10142 msgstr ""
10143
10144 #. type: tbl table
10145 #: build/C/man2/ioctl_list.2:338
10146 #, no-wrap
10147 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10148 msgstr ""
10149
10150 #. type: tbl table
10151 #: build/C/man2/ioctl_list.2:339
10152 #, no-wrap
10153 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10154 msgstr ""
10155
10156 #. type: tbl table
10157 #: build/C/man2/ioctl_list.2:340
10158 #, no-wrap
10159 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10160 msgstr ""
10161
10162 #. type: tbl table
10163 #: build/C/man2/ioctl_list.2:341
10164 #, no-wrap
10165 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10166 msgstr ""
10167
10168 #. type: tbl table
10169 #: build/C/man2/ioctl_list.2:342
10170 #, no-wrap
10171 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10172 msgstr ""
10173
10174 #. type: tbl table
10175 #: build/C/man2/ioctl_list.2:343
10176 #, no-wrap
10177 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10178 msgstr ""
10179
10180 #. type: tbl table
10181 #: build/C/man2/ioctl_list.2:344
10182 #, no-wrap
10183 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10184 msgstr ""
10185
10186 #. type: Plain text
10187 #: build/C/man2/ioctl_list.2:348
10188 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10189 msgstr ""
10190
10191 #. type: tbl table
10192 #: build/C/man2/ioctl_list.2:350
10193 #, no-wrap
10194 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10195 msgstr ""
10196
10197 #. type: tbl table
10198 #: build/C/man2/ioctl_list.2:351
10199 #, no-wrap
10200 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10201 msgstr ""
10202
10203 #. type: tbl table
10204 #: build/C/man2/ioctl_list.2:352
10205 #, no-wrap
10206 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10207 msgstr ""
10208
10209 #. type: tbl table
10210 #: build/C/man2/ioctl_list.2:353
10211 #, no-wrap
10212 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10213 msgstr ""
10214
10215 #. type: tbl table
10216 #: build/C/man2/ioctl_list.2:354
10217 #, no-wrap
10218 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10219 msgstr ""
10220
10221 #. type: tbl table
10222 #: build/C/man2/ioctl_list.2:355
10223 #, no-wrap
10224 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10225 msgstr ""
10226
10227 #. type: Plain text
10228 #: build/C/man2/ioctl_list.2:359
10229 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10230 msgstr ""
10231
10232 #. type: tbl table
10233 #: build/C/man2/ioctl_list.2:361
10234 #, no-wrap
10235 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10236 msgstr ""
10237
10238 #. type: Plain text
10239 #: build/C/man2/ioctl_list.2:365
10240 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10241 msgstr ""
10242
10243 #. type: tbl table
10244 #: build/C/man2/ioctl_list.2:367
10245 #, no-wrap
10246 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10247 msgstr ""
10248
10249 #. type: tbl table
10250 #: build/C/man2/ioctl_list.2:368
10251 #, no-wrap
10252 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10253 msgstr ""
10254
10255 #. type: tbl table
10256 #: build/C/man2/ioctl_list.2:369
10257 #, no-wrap
10258 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10259 msgstr ""
10260
10261 #. type: tbl table
10262 #: build/C/man2/ioctl_list.2:370
10263 #, no-wrap
10264 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10265 msgstr ""
10266
10267 #. type: tbl table
10268 #: build/C/man2/ioctl_list.2:371
10269 #, no-wrap
10270 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10271 msgstr ""
10272
10273 #. type: tbl table
10274 #: build/C/man2/ioctl_list.2:372
10275 #, no-wrap
10276 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10277 msgstr ""
10278
10279 #. type: tbl table
10280 #: build/C/man2/ioctl_list.2:373
10281 #, no-wrap
10282 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10283 msgstr ""
10284
10285 #. type: tbl table
10286 #: build/C/man2/ioctl_list.2:374
10287 #, no-wrap
10288 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10289 msgstr ""
10290
10291 #. type: tbl table
10292 #: build/C/man2/ioctl_list.2:375
10293 #, no-wrap
10294 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10295 msgstr ""
10296
10297 #. type: tbl table
10298 #: build/C/man2/ioctl_list.2:376
10299 #, no-wrap
10300 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10301 msgstr ""
10302
10303 #. type: tbl table
10304 #: build/C/man2/ioctl_list.2:377
10305 #, no-wrap
10306 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10307 msgstr ""
10308
10309 #. type: tbl table
10310 #: build/C/man2/ioctl_list.2:378
10311 #, no-wrap
10312 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10313 msgstr ""
10314
10315 #. type: tbl table
10316 #: build/C/man2/ioctl_list.2:379
10317 #, no-wrap
10318 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10319 msgstr ""
10320
10321 #. type: tbl table
10322 #: build/C/man2/ioctl_list.2:380
10323 #, no-wrap
10324 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10325 msgstr ""
10326
10327 #. type: tbl table
10328 #: build/C/man2/ioctl_list.2:381
10329 #, no-wrap
10330 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10331 msgstr ""
10332
10333 #. type: Plain text
10334 #: build/C/man2/ioctl_list.2:385
10335 msgid "// E<lt>include/linux/ipx.hE<gt>"
10336 msgstr ""
10337
10338 #. type: tbl table
10339 #: build/C/man2/ioctl_list.2:387
10340 #, no-wrap
10341 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10342 msgstr ""
10343
10344 #. type: tbl table
10345 #: build/C/man2/ioctl_list.2:388
10346 #, no-wrap
10347 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10348 msgstr ""
10349
10350 #. type: tbl table
10351 #: build/C/man2/ioctl_list.2:389
10352 #, no-wrap
10353 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10354 msgstr ""
10355
10356 #. type: Plain text
10357 #: build/C/man2/ioctl_list.2:393
10358 msgid "// E<lt>include/linux/kd.hE<gt>"
10359 msgstr ""
10360
10361 #. type: tbl table
10362 #: build/C/man2/ioctl_list.2:395
10363 #, no-wrap
10364 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10365 msgstr ""
10366
10367 #. type: tbl table
10368 #: build/C/man2/ioctl_list.2:396
10369 #, no-wrap
10370 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10371 msgstr ""
10372
10373 #. type: tbl table
10374 #: build/C/man2/ioctl_list.2:400
10375 #, no-wrap
10376 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10377 msgstr ""
10378
10379 #. type: tbl table
10380 #: build/C/man2/ioctl_list.2:401
10381 #, no-wrap
10382 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10383 msgstr ""
10384
10385 #. type: tbl table
10386 #: build/C/man2/ioctl_list.2:405
10387 #, no-wrap
10388 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10389 msgstr ""
10390
10391 #. type: tbl table
10392 #: build/C/man2/ioctl_list.2:406
10393 #, no-wrap
10394 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10395 msgstr ""
10396
10397 #. type: tbl table
10398 #: build/C/man2/ioctl_list.2:410
10399 #, no-wrap
10400 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10401 msgstr ""
10402
10403 #. type: tbl table
10404 #: build/C/man2/ioctl_list.2:411
10405 #, no-wrap
10406 msgid "0x00004B30\tKDMKTONE\tint\n"
10407 msgstr ""
10408
10409 #. type: tbl table
10410 #: build/C/man2/ioctl_list.2:412
10411 #, no-wrap
10412 msgid "0x00004B31\tKDGETLED\tchar *\n"
10413 msgstr ""
10414
10415 #. type: tbl table
10416 #: build/C/man2/ioctl_list.2:413
10417 #, no-wrap
10418 msgid "0x00004B32\tKDSETLED\tint\n"
10419 msgstr ""
10420
10421 #. type: tbl table
10422 #: build/C/man2/ioctl_list.2:414
10423 #, no-wrap
10424 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10425 msgstr ""
10426
10427 #. type: tbl table
10428 #: build/C/man2/ioctl_list.2:415
10429 #, no-wrap
10430 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10431 msgstr ""
10432
10433 #. type: tbl table
10434 #: build/C/man2/ioctl_list.2:416
10435 #, no-wrap
10436 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10437 msgstr ""
10438
10439 #. type: tbl table
10440 #: build/C/man2/ioctl_list.2:417
10441 #, no-wrap
10442 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10443 msgstr ""
10444
10445 #. type: tbl table
10446 #: build/C/man2/ioctl_list.2:418
10447 #, no-wrap
10448 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10449 msgstr ""
10450
10451 #. type: tbl table
10452 #: build/C/man2/ioctl_list.2:419
10453 #, no-wrap
10454 msgid "0x00004B3A\tKDSETMODE\tint\n"
10455 msgstr ""
10456
10457 #. type: tbl table
10458 #: build/C/man2/ioctl_list.2:420
10459 #, no-wrap
10460 msgid "0x00004B3B\tKDGETMODE\tint *\n"
10461 msgstr ""
10462
10463 #. type: tbl table
10464 #: build/C/man2/ioctl_list.2:421
10465 #, no-wrap
10466 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10467 msgstr ""
10468
10469 #. type: tbl table
10470 #: build/C/man2/ioctl_list.2:422
10471 #, no-wrap
10472 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10473 msgstr ""
10474
10475 #. type: tbl table
10476 #: build/C/man2/ioctl_list.2:423
10477 #, no-wrap
10478 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10479 msgstr ""
10480
10481 #. type: tbl table
10482 #: build/C/man2/ioctl_list.2:427
10483 #, no-wrap
10484 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10485 msgstr ""
10486
10487 #. type: tbl table
10488 #: build/C/man2/ioctl_list.2:428
10489 #, no-wrap
10490 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10491 msgstr ""
10492
10493 #. type: tbl table
10494 #: build/C/man2/ioctl_list.2:429
10495 #, no-wrap
10496 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10497 msgstr ""
10498
10499 #. type: tbl table
10500 #: build/C/man2/ioctl_list.2:433
10501 #, no-wrap
10502 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10503 msgstr ""
10504
10505 #. type: tbl table
10506 #: build/C/man2/ioctl_list.2:434
10507 #, no-wrap
10508 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10509 msgstr ""
10510
10511 #. type: tbl table
10512 #: build/C/man2/ioctl_list.2:435
10513 #, no-wrap
10514 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10515 msgstr ""
10516
10517 #. type: tbl table
10518 #: build/C/man2/ioctl_list.2:436
10519 #, no-wrap
10520 msgid "0x00004B44\tKDGKBMODE\tint *\n"
10521 msgstr ""
10522
10523 #. type: tbl table
10524 #: build/C/man2/ioctl_list.2:437
10525 #, no-wrap
10526 msgid "0x00004B45\tKDSKBMODE\tint\n"
10527 msgstr ""
10528
10529 #. type: tbl table
10530 #: build/C/man2/ioctl_list.2:438
10531 #, no-wrap
10532 msgid "0x00004B62\tKDGKBMETA\tint *\n"
10533 msgstr ""
10534
10535 #. type: tbl table
10536 #: build/C/man2/ioctl_list.2:439
10537 #, no-wrap
10538 msgid "0x00004B63\tKDSKBMETA\tint\n"
10539 msgstr ""
10540
10541 #. type: tbl table
10542 #: build/C/man2/ioctl_list.2:440
10543 #, no-wrap
10544 msgid "0x00004B64\tKDGKBLED\tint *\n"
10545 msgstr ""
10546
10547 #. type: tbl table
10548 #: build/C/man2/ioctl_list.2:441
10549 #, no-wrap
10550 msgid "0x00004B65\tKDSKBLED\tint\n"
10551 msgstr ""
10552
10553 #. type: tbl table
10554 #: build/C/man2/ioctl_list.2:442
10555 #, no-wrap
10556 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10557 msgstr ""
10558
10559 #. type: tbl table
10560 #: build/C/man2/ioctl_list.2:443
10561 #, no-wrap
10562 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10563 msgstr ""
10564
10565 #. type: tbl table
10566 #: build/C/man2/ioctl_list.2:444
10567 #, no-wrap
10568 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10569 msgstr ""
10570
10571 #. type: tbl table
10572 #: build/C/man2/ioctl_list.2:445
10573 #, no-wrap
10574 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10575 msgstr ""
10576
10577 #. type: tbl table
10578 #: build/C/man2/ioctl_list.2:446
10579 #, no-wrap
10580 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10581 msgstr ""
10582
10583 #. type: tbl table
10584 #: build/C/man2/ioctl_list.2:447
10585 #, no-wrap
10586 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10587 msgstr ""
10588
10589 #. type: tbl table
10590 #: build/C/man2/ioctl_list.2:448
10591 #, no-wrap
10592 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10593 msgstr ""
10594
10595 #. type: tbl table
10596 #: build/C/man2/ioctl_list.2:449
10597 #, no-wrap
10598 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10599 msgstr ""
10600
10601 #. type: tbl table
10602 #: build/C/man2/ioctl_list.2:450
10603 #, no-wrap
10604 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
10605 msgstr ""
10606
10607 #. type: Plain text
10608 #: build/C/man2/ioctl_list.2:454
10609 msgid "// E<lt>include/linux/lp.hE<gt>"
10610 msgstr ""
10611
10612 #. type: tbl table
10613 #: build/C/man2/ioctl_list.2:456
10614 #, no-wrap
10615 msgid "0x00000601\tLPCHAR\tint\n"
10616 msgstr ""
10617
10618 #. type: tbl table
10619 #: build/C/man2/ioctl_list.2:457
10620 #, no-wrap
10621 msgid "0x00000602\tLPTIME\tint\n"
10622 msgstr ""
10623
10624 #. type: tbl table
10625 #: build/C/man2/ioctl_list.2:458
10626 #, no-wrap
10627 msgid "0x00000604\tLPABORT\tint\n"
10628 msgstr ""
10629
10630 #. type: tbl table
10631 #: build/C/man2/ioctl_list.2:459
10632 #, no-wrap
10633 msgid "0x00000605\tLPSETIRQ\tint\n"
10634 msgstr ""
10635
10636 #. type: tbl table
10637 #: build/C/man2/ioctl_list.2:460
10638 #, no-wrap
10639 msgid "0x00000606\tLPGETIRQ\tint *\n"
10640 msgstr ""
10641
10642 #. type: tbl table
10643 #: build/C/man2/ioctl_list.2:461
10644 #, no-wrap
10645 msgid "0x00000608\tLPWAIT\tint\n"
10646 msgstr ""
10647
10648 #. type: tbl table
10649 #: build/C/man2/ioctl_list.2:462
10650 #, no-wrap
10651 msgid "0x00000609\tLPCAREFUL\tint\n"
10652 msgstr ""
10653
10654 #. type: tbl table
10655 #: build/C/man2/ioctl_list.2:463
10656 #, no-wrap
10657 msgid "0x0000060A\tLPABORTOPEN\tint\n"
10658 msgstr ""
10659
10660 #. type: tbl table
10661 #: build/C/man2/ioctl_list.2:464
10662 #, no-wrap
10663 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
10664 msgstr ""
10665
10666 #. type: tbl table
10667 #: build/C/man2/ioctl_list.2:465
10668 #, no-wrap
10669 msgid "0x0000060C\tLPRESET\tvoid\n"
10670 msgstr ""
10671
10672 #. type: tbl table
10673 #: build/C/man2/ioctl_list.2:466
10674 #, no-wrap
10675 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10676 msgstr ""
10677
10678 #. type: Plain text
10679 #: build/C/man2/ioctl_list.2:470
10680 msgid "// E<lt>include/linux/mroute.hE<gt>"
10681 msgstr ""
10682
10683 #. type: tbl table
10684 #: build/C/man2/ioctl_list.2:472
10685 #, no-wrap
10686 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10687 msgstr ""
10688
10689 #. type: tbl table
10690 #: build/C/man2/ioctl_list.2:473
10691 #, no-wrap
10692 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10693 msgstr ""
10694
10695 #. type: Plain text
10696 #: build/C/man2/ioctl_list.2:477
10697 msgid "// E<lt>include/linux/mtio.hE<gt>"
10698 msgstr ""
10699
10700 #. type: tbl table
10701 #: build/C/man2/ioctl_list.2:479
10702 #, no-wrap
10703 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10704 msgstr ""
10705
10706 #. type: tbl table
10707 #: build/C/man2/ioctl_list.2:480
10708 #, no-wrap
10709 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10710 msgstr ""
10711
10712 #. type: tbl table
10713 #: build/C/man2/ioctl_list.2:481
10714 #, no-wrap
10715 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10716 msgstr ""
10717
10718 #. type: tbl table
10719 #: build/C/man2/ioctl_list.2:482
10720 #, no-wrap
10721 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10722 msgstr ""
10723
10724 #. type: tbl table
10725 #: build/C/man2/ioctl_list.2:483
10726 #, no-wrap
10727 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10728 msgstr ""
10729
10730 #. type: Plain text
10731 #: build/C/man2/ioctl_list.2:487
10732 msgid "// E<lt>include/linux/netrom.hE<gt>"
10733 msgstr ""
10734
10735 #. type: tbl table
10736 #: build/C/man2/ioctl_list.2:489
10737 #, no-wrap
10738 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10739 msgstr ""
10740
10741 #. type: tbl table
10742 #: build/C/man2/ioctl_list.2:490
10743 #, no-wrap
10744 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10745 msgstr ""
10746
10747 #. type: tbl table
10748 #: build/C/man2/ioctl_list.2:491
10749 #, no-wrap
10750 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10751 msgstr ""
10752
10753 #. type: tbl table
10754 #: build/C/man2/ioctl_list.2:492
10755 #, no-wrap
10756 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10757 msgstr ""
10758
10759 #. type: Plain text
10760 #: build/C/man2/ioctl_list.2:496
10761 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
10762 msgstr ""
10763
10764 #. type: tbl table
10765 #: build/C/man2/ioctl_list.2:498
10766 #, no-wrap
10767 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
10768 msgstr ""
10769
10770 #. type: tbl table
10771 #: build/C/man2/ioctl_list.2:499
10772 #, no-wrap
10773 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10774 msgstr ""
10775
10776 #. type: Plain text
10777 #: build/C/man2/ioctl_list.2:503
10778 msgid "// E<lt>include/linux/scc.hE<gt>"
10779 msgstr ""
10780
10781 #. type: tbl table
10782 #: build/C/man2/ioctl_list.2:505
10783 #, no-wrap
10784 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
10785 msgstr ""
10786
10787 #. type: tbl table
10788 #: build/C/man2/ioctl_list.2:506
10789 #, no-wrap
10790 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10791 msgstr ""
10792
10793 #. type: tbl table
10794 #: build/C/man2/ioctl_list.2:507
10795 #, no-wrap
10796 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10797 msgstr ""
10798
10799 #. type: tbl table
10800 #: build/C/man2/ioctl_list.2:508
10801 #, no-wrap
10802 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10803 msgstr ""
10804
10805 #. type: tbl table
10806 #: build/C/man2/ioctl_list.2:509
10807 #, no-wrap
10808 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10809 msgstr ""
10810
10811 #. type: Plain text
10812 #: build/C/man2/ioctl_list.2:513
10813 msgid "// E<lt>include/linux/scsi.hE<gt>"
10814 msgstr ""
10815
10816 #. type: tbl table
10817 #: build/C/man2/ioctl_list.2:515
10818 #, no-wrap
10819 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10820 msgstr ""
10821
10822 #. type: tbl table
10823 #: build/C/man2/ioctl_list.2:516
10824 #, no-wrap
10825 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10826 msgstr ""
10827
10828 #. type: tbl table
10829 #: build/C/man2/ioctl_list.2:517
10830 #, no-wrap
10831 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10832 msgstr ""
10833
10834 #. type: tbl table
10835 #: build/C/man2/ioctl_list.2:521
10836 #, no-wrap
10837 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10838 msgstr ""
10839
10840 #. type: Plain text
10841 #: build/C/man2/ioctl_list.2:525
10842 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
10843 msgstr ""
10844
10845 #. type: tbl table
10846 #: build/C/man2/ioctl_list.2:527
10847 #, no-wrap
10848 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10849 msgstr ""
10850
10851 #. type: Plain text
10852 #: build/C/man2/ioctl_list.2:531
10853 msgid "// E<lt>include/linux/sockios.hE<gt>"
10854 msgstr ""
10855
10856 #. type: tbl table
10857 #: build/C/man2/ioctl_list.2:533
10858 #, no-wrap
10859 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10860 msgstr ""
10861
10862 #. type: tbl table
10863 #: build/C/man2/ioctl_list.2:534
10864 #, no-wrap
10865 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10866 msgstr ""
10867
10868 #. type: tbl table
10869 #: build/C/man2/ioctl_list.2:535
10870 #, no-wrap
10871 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
10872 msgstr ""
10873
10874 #. type: tbl table
10875 #: build/C/man2/ioctl_list.2:536
10876 #, no-wrap
10877 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
10878 msgstr ""
10879
10880 #. type: tbl table
10881 #: build/C/man2/ioctl_list.2:537
10882 #, no-wrap
10883 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
10884 msgstr ""
10885
10886 #. type: tbl table
10887 #: build/C/man2/ioctl_list.2:538
10888 #, no-wrap
10889 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
10890 msgstr ""
10891
10892 #. type: tbl table
10893 #: build/C/man2/ioctl_list.2:539
10894 #, no-wrap
10895 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
10896 msgstr ""
10897
10898 #. type: tbl table
10899 #: build/C/man2/ioctl_list.2:540
10900 #, no-wrap
10901 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
10902 msgstr ""
10903
10904 #. type: tbl table
10905 #: build/C/man2/ioctl_list.2:541
10906 #, no-wrap
10907 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
10908 msgstr ""
10909
10910 #. type: tbl table
10911 #: build/C/man2/ioctl_list.2:542
10912 #, no-wrap
10913 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
10914 msgstr ""
10915
10916 #. type: tbl table
10917 #: build/C/man2/ioctl_list.2:543
10918 #, no-wrap
10919 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
10920 msgstr ""
10921
10922 #. type: tbl table
10923 #: build/C/man2/ioctl_list.2:544
10924 #, no-wrap
10925 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
10926 msgstr ""
10927
10928 #. type: tbl table
10929 #: build/C/man2/ioctl_list.2:545
10930 #, no-wrap
10931 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
10932 msgstr ""
10933
10934 #. type: tbl table
10935 #: build/C/man2/ioctl_list.2:546
10936 #, no-wrap
10937 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
10938 msgstr ""
10939
10940 #. type: tbl table
10941 #: build/C/man2/ioctl_list.2:547
10942 #, no-wrap
10943 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
10944 msgstr ""
10945
10946 #. type: tbl table
10947 #: build/C/man2/ioctl_list.2:548
10948 #, no-wrap
10949 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
10950 msgstr ""
10951
10952 #. type: tbl table
10953 #: build/C/man2/ioctl_list.2:549
10954 #, no-wrap
10955 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
10956 msgstr ""
10957
10958 #. type: tbl table
10959 #: build/C/man2/ioctl_list.2:550
10960 #, no-wrap
10961 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
10962 msgstr ""
10963
10964 #. type: tbl table
10965 #: build/C/man2/ioctl_list.2:551
10966 #, no-wrap
10967 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
10968 msgstr ""
10969
10970 #. type: tbl table
10971 #: build/C/man2/ioctl_list.2:552
10972 #, no-wrap
10973 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
10974 msgstr ""
10975
10976 #. type: tbl table
10977 #: build/C/man2/ioctl_list.2:553
10978 #, no-wrap
10979 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
10980 msgstr ""
10981
10982 #. type: tbl table
10983 #: build/C/man2/ioctl_list.2:557
10984 #, no-wrap
10985 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
10986 msgstr ""
10987
10988 #. type: tbl table
10989 #: build/C/man2/ioctl_list.2:558
10990 #, no-wrap
10991 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
10992 msgstr ""
10993
10994 #. type: tbl table
10995 #: build/C/man2/ioctl_list.2:559
10996 #, no-wrap
10997 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
10998 msgstr ""
10999
11000 #. type: tbl table
11001 #: build/C/man2/ioctl_list.2:560
11002 #, no-wrap
11003 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
11004 msgstr ""
11005
11006 #. type: tbl table
11007 #: build/C/man2/ioctl_list.2:561
11008 #, no-wrap
11009 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
11010 msgstr ""
11011
11012 #. type: tbl table
11013 #: build/C/man2/ioctl_list.2:562
11014 #, no-wrap
11015 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
11016 msgstr ""
11017
11018 #. type: tbl table
11019 #: build/C/man2/ioctl_list.2:563
11020 #, no-wrap
11021 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
11022 msgstr ""
11023
11024 #. type: tbl table
11025 #: build/C/man2/ioctl_list.2:564
11026 #, no-wrap
11027 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
11028 msgstr ""
11029
11030 #. type: tbl table
11031 #: build/C/man2/ioctl_list.2:565
11032 #, no-wrap
11033 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
11034 msgstr ""
11035
11036 #. type: tbl table
11037 #: build/C/man2/ioctl_list.2:566
11038 #, no-wrap
11039 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
11040 msgstr ""
11041
11042 #. type: tbl table
11043 #: build/C/man2/ioctl_list.2:567
11044 #, no-wrap
11045 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
11046 msgstr ""
11047
11048 #. type: tbl table
11049 #: build/C/man2/ioctl_list.2:568
11050 #, no-wrap
11051 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
11052 msgstr ""
11053
11054 #. type: tbl table
11055 #: build/C/man2/ioctl_list.2:569
11056 #, no-wrap
11057 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
11058 msgstr ""
11059
11060 #. type: tbl table
11061 #: build/C/man2/ioctl_list.2:570
11062 #, no-wrap
11063 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
11064 msgstr ""
11065
11066 #. type: tbl table
11067 #: build/C/man2/ioctl_list.2:571
11068 #, no-wrap
11069 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
11070 msgstr ""
11071
11072 #. type: tbl table
11073 #: build/C/man2/ioctl_list.2:572
11074 #, no-wrap
11075 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
11076 msgstr ""
11077
11078 #. type: tbl table
11079 #: build/C/man2/ioctl_list.2:573
11080 #, no-wrap
11081 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
11082 msgstr ""
11083
11084 #. type: tbl table
11085 #: build/C/man2/ioctl_list.2:574
11086 #, no-wrap
11087 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11088 msgstr ""
11089
11090 #. type: tbl table
11091 #: build/C/man2/ioctl_list.2:575
11092 #, no-wrap
11093 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11094 msgstr ""
11095
11096 #. type: Plain text
11097 #: build/C/man2/ioctl_list.2:579
11098 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11099 msgstr ""
11100
11101 #. type: tbl table
11102 #: build/C/man2/ioctl_list.2:581
11103 #, no-wrap
11104 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11105 msgstr ""
11106
11107 #. type: tbl table
11108 #: build/C/man2/ioctl_list.2:582
11109 #, no-wrap
11110 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11111 msgstr ""
11112
11113 #. type: tbl table
11114 #: build/C/man2/ioctl_list.2:586
11115 #, no-wrap
11116 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11117 msgstr ""
11118
11119 #. type: tbl table
11120 #: build/C/man2/ioctl_list.2:587
11121 #, no-wrap
11122 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11123 msgstr ""
11124
11125 #. type: tbl table
11126 #: build/C/man2/ioctl_list.2:588
11127 #, no-wrap
11128 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11129 msgstr ""
11130
11131 #. type: tbl table
11132 #: build/C/man2/ioctl_list.2:589
11133 #, no-wrap
11134 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11135 msgstr ""
11136
11137 #. type: tbl table
11138 #: build/C/man2/ioctl_list.2:590
11139 #, no-wrap
11140 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11141 msgstr ""
11142
11143 #. type: tbl table
11144 #: build/C/man2/ioctl_list.2:594
11145 #, no-wrap
11146 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11147 msgstr ""
11148
11149 #. type: tbl table
11150 #: build/C/man2/ioctl_list.2:598
11151 #, no-wrap
11152 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11153 msgstr ""
11154
11155 #. type: tbl table
11156 #: build/C/man2/ioctl_list.2:599
11157 #, no-wrap
11158 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11159 msgstr ""
11160
11161 #. type: tbl table
11162 #: build/C/man2/ioctl_list.2:600
11163 #, no-wrap
11164 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11165 msgstr ""
11166
11167 #. type: tbl table
11168 #: build/C/man2/ioctl_list.2:601
11169 #, no-wrap
11170 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11171 msgstr ""
11172
11173 #. type: tbl table
11174 #: build/C/man2/ioctl_list.2:602
11175 #, no-wrap
11176 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11177 msgstr ""
11178
11179 #. type: tbl table
11180 #: build/C/man2/ioctl_list.2:603
11181 #, no-wrap
11182 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11183 msgstr ""
11184
11185 #. type: tbl table
11186 #: build/C/man2/ioctl_list.2:604
11187 #, no-wrap
11188 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11189 msgstr ""
11190
11191 #. type: tbl table
11192 #: build/C/man2/ioctl_list.2:605
11193 #, no-wrap
11194 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11195 msgstr ""
11196
11197 #. type: tbl table
11198 #: build/C/man2/ioctl_list.2:606
11199 #, no-wrap
11200 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11201 msgstr ""
11202
11203 #. type: tbl table
11204 #: build/C/man2/ioctl_list.2:607
11205 #, no-wrap
11206 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11207 msgstr ""
11208
11209 #. type: tbl table
11210 #: build/C/man2/ioctl_list.2:611
11211 #, no-wrap
11212 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11213 msgstr ""
11214
11215 #. type: tbl table
11216 #: build/C/man2/ioctl_list.2:615
11217 #, no-wrap
11218 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11219 msgstr ""
11220
11221 #. type: tbl table
11222 #: build/C/man2/ioctl_list.2:616
11223 #, no-wrap
11224 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11225 msgstr ""
11226
11227 #. type: tbl table
11228 #: build/C/man2/ioctl_list.2:617
11229 #, no-wrap
11230 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11231 msgstr ""
11232
11233 #. type: tbl table
11234 #: build/C/man2/ioctl_list.2:618
11235 #, no-wrap
11236 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11237 msgstr ""
11238
11239 #. type: tbl table
11240 #: build/C/man2/ioctl_list.2:619
11241 #, no-wrap
11242 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11243 msgstr ""
11244
11245 #. type: tbl table
11246 #: build/C/man2/ioctl_list.2:620
11247 #, no-wrap
11248 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11249 msgstr ""
11250
11251 #. type: tbl table
11252 #: build/C/man2/ioctl_list.2:621
11253 #, no-wrap
11254 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11255 msgstr ""
11256
11257 #. type: tbl table
11258 #: build/C/man2/ioctl_list.2:622
11259 #, no-wrap
11260 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11261 msgstr ""
11262
11263 #. type: tbl table
11264 #: build/C/man2/ioctl_list.2:623
11265 #, no-wrap
11266 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11267 msgstr ""
11268
11269 #. type: tbl table
11270 #: build/C/man2/ioctl_list.2:624
11271 #, no-wrap
11272 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11273 msgstr ""
11274
11275 #. type: tbl table
11276 #: build/C/man2/ioctl_list.2:625
11277 #, no-wrap
11278 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11279 msgstr ""
11280
11281 #. type: tbl table
11282 #: build/C/man2/ioctl_list.2:629
11283 #, no-wrap
11284 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11285 msgstr ""
11286
11287 #. type: tbl table
11288 #: build/C/man2/ioctl_list.2:633
11289 #, no-wrap
11290 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11291 msgstr ""
11292
11293 #. type: tbl table
11294 #: build/C/man2/ioctl_list.2:634
11295 #, no-wrap
11296 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11297 msgstr ""
11298
11299 #. type: tbl table
11300 #: build/C/man2/ioctl_list.2:635
11301 #, no-wrap
11302 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11303 msgstr ""
11304
11305 #. type: tbl table
11306 #: build/C/man2/ioctl_list.2:636
11307 #, no-wrap
11308 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11309 msgstr ""
11310
11311 #. type: tbl table
11312 #: build/C/man2/ioctl_list.2:637
11313 #, no-wrap
11314 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11315 msgstr ""
11316
11317 #. type: tbl table
11318 #: build/C/man2/ioctl_list.2:638
11319 #, no-wrap
11320 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11321 msgstr ""
11322
11323 #. type: tbl table
11324 #: build/C/man2/ioctl_list.2:639
11325 #, no-wrap
11326 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11327 msgstr ""
11328
11329 #. type: tbl table
11330 #: build/C/man2/ioctl_list.2:640
11331 #, no-wrap
11332 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11333 msgstr ""
11334
11335 #. type: tbl table
11336 #: build/C/man2/ioctl_list.2:641
11337 #, no-wrap
11338 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11339 msgstr ""
11340
11341 #. type: tbl table
11342 #: build/C/man2/ioctl_list.2:642
11343 #, no-wrap
11344 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11345 msgstr ""
11346
11347 #. type: tbl table
11348 #: build/C/man2/ioctl_list.2:643
11349 #, no-wrap
11350 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11351 msgstr ""
11352
11353 #. type: tbl table
11354 #: build/C/man2/ioctl_list.2:644
11355 #, no-wrap
11356 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11357 msgstr ""
11358
11359 #. type: tbl table
11360 #: build/C/man2/ioctl_list.2:648
11361 #, no-wrap
11362 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11363 msgstr ""
11364
11365 #. type: tbl table
11366 #: build/C/man2/ioctl_list.2:649
11367 #, no-wrap
11368 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11369 msgstr ""
11370
11371 #. type: tbl table
11372 #: build/C/man2/ioctl_list.2:650
11373 #, no-wrap
11374 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11375 msgstr ""
11376
11377 #. type: tbl table
11378 #: build/C/man2/ioctl_list.2:651
11379 #, no-wrap
11380 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11381 msgstr ""
11382
11383 #. type: tbl table
11384 #: build/C/man2/ioctl_list.2:652
11385 #, no-wrap
11386 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11387 msgstr ""
11388
11389 #. type: tbl table
11390 #: build/C/man2/ioctl_list.2:653
11391 #, no-wrap
11392 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11393 msgstr ""
11394
11395 #. type: tbl table
11396 #: build/C/man2/ioctl_list.2:654
11397 #, no-wrap
11398 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11399 msgstr ""
11400
11401 #. type: tbl table
11402 #: build/C/man2/ioctl_list.2:655
11403 #, no-wrap
11404 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11405 msgstr ""
11406
11407 #. type: tbl table
11408 #: build/C/man2/ioctl_list.2:656
11409 #, no-wrap
11410 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11411 msgstr ""
11412
11413 #. type: tbl table
11414 #: build/C/man2/ioctl_list.2:660
11415 #, no-wrap
11416 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11417 msgstr ""
11418
11419 #. type: tbl table
11420 #: build/C/man2/ioctl_list.2:661
11421 #, no-wrap
11422 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11423 msgstr ""
11424
11425 #. type: tbl table
11426 #: build/C/man2/ioctl_list.2:665
11427 #, no-wrap
11428 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11429 msgstr ""
11430
11431 #. type: tbl table
11432 #: build/C/man2/ioctl_list.2:666
11433 #, no-wrap
11434 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11435 msgstr ""
11436
11437 #. type: tbl table
11438 #: build/C/man2/ioctl_list.2:670
11439 #, no-wrap
11440 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11441 msgstr ""
11442
11443 #. type: tbl table
11444 #: build/C/man2/ioctl_list.2:671
11445 #, no-wrap
11446 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11447 msgstr ""
11448
11449 #. type: tbl table
11450 #: build/C/man2/ioctl_list.2:675
11451 #, no-wrap
11452 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11453 msgstr ""
11454
11455 #. type: tbl table
11456 #: build/C/man2/ioctl_list.2:676
11457 #, no-wrap
11458 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11459 msgstr ""
11460
11461 #. type: tbl table
11462 #: build/C/man2/ioctl_list.2:677
11463 #, no-wrap
11464 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11465 msgstr ""
11466
11467 #. type: tbl table
11468 #: build/C/man2/ioctl_list.2:678
11469 #, no-wrap
11470 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11471 msgstr ""
11472
11473 #. type: tbl table
11474 #: build/C/man2/ioctl_list.2:679
11475 #, no-wrap
11476 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11477 msgstr ""
11478
11479 #. type: tbl table
11480 #: build/C/man2/ioctl_list.2:680
11481 #, no-wrap
11482 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11483 msgstr ""
11484
11485 #. type: tbl table
11486 #: build/C/man2/ioctl_list.2:681
11487 #, no-wrap
11488 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11489 msgstr ""
11490
11491 #. type: tbl table
11492 #: build/C/man2/ioctl_list.2:682
11493 #, no-wrap
11494 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11495 msgstr ""
11496
11497 #. type: tbl table
11498 #: build/C/man2/ioctl_list.2:683
11499 #, no-wrap
11500 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11501 msgstr ""
11502
11503 #. type: tbl table
11504 #: build/C/man2/ioctl_list.2:684
11505 #, no-wrap
11506 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11507 msgstr ""
11508
11509 #. type: tbl table
11510 #: build/C/man2/ioctl_list.2:685
11511 #, no-wrap
11512 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11513 msgstr ""
11514
11515 #. type: tbl table
11516 #: build/C/man2/ioctl_list.2:686
11517 #, no-wrap
11518 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11519 msgstr ""
11520
11521 #. type: tbl table
11522 #: build/C/man2/ioctl_list.2:687
11523 #, no-wrap
11524 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11525 msgstr ""
11526
11527 #. type: tbl table
11528 #: build/C/man2/ioctl_list.2:688
11529 #, no-wrap
11530 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11531 msgstr ""
11532
11533 #. type: tbl table
11534 #: build/C/man2/ioctl_list.2:689
11535 #, no-wrap
11536 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11537 msgstr ""
11538
11539 #. type: tbl table
11540 #: build/C/man2/ioctl_list.2:690
11541 #, no-wrap
11542 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11543 msgstr ""
11544
11545 #. type: tbl table
11546 #: build/C/man2/ioctl_list.2:691
11547 #, no-wrap
11548 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11549 msgstr ""
11550
11551 #. type: tbl table
11552 #: build/C/man2/ioctl_list.2:692
11553 #, no-wrap
11554 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11555 msgstr ""
11556
11557 #. type: tbl table
11558 #: build/C/man2/ioctl_list.2:693
11559 #, no-wrap
11560 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11561 msgstr ""
11562
11563 #. type: tbl table
11564 #: build/C/man2/ioctl_list.2:694
11565 #, no-wrap
11566 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11567 msgstr ""
11568
11569 #. type: tbl table
11570 #: build/C/man2/ioctl_list.2:695
11571 #, no-wrap
11572 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11573 msgstr ""
11574
11575 #. type: tbl table
11576 #: build/C/man2/ioctl_list.2:696
11577 #, no-wrap
11578 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11579 msgstr ""
11580
11581 #. type: tbl table
11582 #: build/C/man2/ioctl_list.2:697
11583 #, no-wrap
11584 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11585 msgstr ""
11586
11587 #. type: tbl table
11588 #: build/C/man2/ioctl_list.2:698
11589 #, no-wrap
11590 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11591 msgstr ""
11592
11593 #. type: tbl table
11594 #: build/C/man2/ioctl_list.2:699
11595 #, no-wrap
11596 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11597 msgstr ""
11598
11599 #. type: tbl table
11600 #: build/C/man2/ioctl_list.2:700
11601 #, no-wrap
11602 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11603 msgstr ""
11604
11605 #. type: tbl table
11606 #: build/C/man2/ioctl_list.2:701
11607 #, no-wrap
11608 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11609 msgstr ""
11610
11611 #. type: tbl table
11612 #: build/C/man2/ioctl_list.2:705
11613 #, no-wrap
11614 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11615 msgstr ""
11616
11617 #. type: tbl table
11618 #: build/C/man2/ioctl_list.2:706
11619 #, no-wrap
11620 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11621 msgstr ""
11622
11623 #. type: tbl table
11624 #: build/C/man2/ioctl_list.2:707
11625 #, no-wrap
11626 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11627 msgstr ""
11628
11629 #. type: tbl table
11630 #: build/C/man2/ioctl_list.2:708
11631 #, no-wrap
11632 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11633 msgstr ""
11634
11635 #. type: tbl table
11636 #: build/C/man2/ioctl_list.2:709
11637 #, no-wrap
11638 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11639 msgstr ""
11640
11641 #. type: tbl table
11642 #: build/C/man2/ioctl_list.2:710
11643 #, no-wrap
11644 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11645 msgstr ""
11646
11647 #. type: tbl table
11648 #: build/C/man2/ioctl_list.2:711
11649 #, no-wrap
11650 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11651 msgstr ""
11652
11653 #. type: tbl table
11654 #: build/C/man2/ioctl_list.2:712
11655 #, no-wrap
11656 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11657 msgstr ""
11658
11659 #. type: tbl table
11660 #: build/C/man2/ioctl_list.2:713
11661 #, no-wrap
11662 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11663 msgstr ""
11664
11665 #. type: tbl table
11666 #: build/C/man2/ioctl_list.2:714
11667 #, no-wrap
11668 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11669 msgstr ""
11670
11671 #. type: tbl table
11672 #: build/C/man2/ioctl_list.2:715
11673 #, no-wrap
11674 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11675 msgstr ""
11676
11677 #. type: tbl table
11678 #: build/C/man2/ioctl_list.2:716
11679 #, no-wrap
11680 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11681 msgstr ""
11682
11683 #. type: tbl table
11684 #: build/C/man2/ioctl_list.2:717
11685 #, no-wrap
11686 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11687 msgstr ""
11688
11689 #. type: tbl table
11690 #: build/C/man2/ioctl_list.2:718
11691 #, no-wrap
11692 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11693 msgstr ""
11694
11695 #. type: tbl table
11696 #: build/C/man2/ioctl_list.2:719
11697 #, no-wrap
11698 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11699 msgstr ""
11700
11701 #. type: tbl table
11702 #: build/C/man2/ioctl_list.2:720
11703 #, no-wrap
11704 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11705 msgstr ""
11706
11707 #. type: tbl table
11708 #: build/C/man2/ioctl_list.2:721
11709 #, no-wrap
11710 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11711 msgstr ""
11712
11713 #. type: tbl table
11714 #: build/C/man2/ioctl_list.2:722
11715 #, no-wrap
11716 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11717 msgstr ""
11718
11719 #. type: tbl table
11720 #: build/C/man2/ioctl_list.2:723
11721 #, no-wrap
11722 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11723 msgstr ""
11724
11725 #. type: tbl table
11726 #: build/C/man2/ioctl_list.2:724
11727 #, no-wrap
11728 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11729 msgstr ""
11730
11731 #. type: tbl table
11732 #: build/C/man2/ioctl_list.2:725
11733 #, no-wrap
11734 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11735 msgstr ""
11736
11737 #. type: Plain text
11738 #: build/C/man2/ioctl_list.2:729
11739 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
11740 msgstr ""
11741
11742 #. type: tbl table
11743 #: build/C/man2/ioctl_list.2:731
11744 #, no-wrap
11745 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11746 msgstr ""
11747
11748 #. type: tbl table
11749 #: build/C/man2/ioctl_list.2:732
11750 #, no-wrap
11751 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11752 msgstr ""
11753
11754 #. type: tbl table
11755 #: build/C/man2/ioctl_list.2:733
11756 #, no-wrap
11757 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11758 msgstr ""
11759
11760 #. type: tbl table
11761 #: build/C/man2/ioctl_list.2:734
11762 #, no-wrap
11763 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11764 msgstr ""
11765
11766 #. type: tbl table
11767 #: build/C/man2/ioctl_list.2:735
11768 #, no-wrap
11769 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11770 msgstr ""
11771
11772 #. type: tbl table
11773 #: build/C/man2/ioctl_list.2:736
11774 #, no-wrap
11775 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11776 msgstr ""
11777
11778 #. type: tbl table
11779 #: build/C/man2/ioctl_list.2:737
11780 #, no-wrap
11781 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11782 msgstr ""
11783
11784 #. type: tbl table
11785 #: build/C/man2/ioctl_list.2:738
11786 #, no-wrap
11787 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11788 msgstr ""
11789
11790 #. type: tbl table
11791 #: build/C/man2/ioctl_list.2:739
11792 #, no-wrap
11793 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11794 msgstr ""
11795
11796 #. type: tbl table
11797 #: build/C/man2/ioctl_list.2:740
11798 #, no-wrap
11799 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11800 msgstr ""
11801
11802 #. type: tbl table
11803 #: build/C/man2/ioctl_list.2:741
11804 #, no-wrap
11805 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11806 msgstr ""
11807
11808 #. type: Plain text
11809 #: build/C/man2/ioctl_list.2:745
11810 msgid "// E<lt>include/linux/vt.hE<gt>"
11811 msgstr ""
11812
11813 #. type: tbl table
11814 #: build/C/man2/ioctl_list.2:747
11815 #, no-wrap
11816 msgid "0x00005600\tVT_OPENQRY\tint *\n"
11817 msgstr ""
11818
11819 #. type: tbl table
11820 #: build/C/man2/ioctl_list.2:748
11821 #, no-wrap
11822 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11823 msgstr ""
11824
11825 #. type: tbl table
11826 #: build/C/man2/ioctl_list.2:749
11827 #, no-wrap
11828 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11829 msgstr ""
11830
11831 #. type: tbl table
11832 #: build/C/man2/ioctl_list.2:750
11833 #, no-wrap
11834 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11835 msgstr ""
11836
11837 #. type: tbl table
11838 #: build/C/man2/ioctl_list.2:751
11839 #, no-wrap
11840 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
11841 msgstr ""
11842
11843 #. type: tbl table
11844 #: build/C/man2/ioctl_list.2:752
11845 #, no-wrap
11846 msgid "0x00005605\tVT_RELDISP\tint\n"
11847 msgstr ""
11848
11849 #. type: tbl table
11850 #: build/C/man2/ioctl_list.2:753
11851 #, no-wrap
11852 msgid "0x00005606\tVT_ACTIVATE\tint\n"
11853 msgstr ""
11854
11855 #. type: tbl table
11856 #: build/C/man2/ioctl_list.2:754
11857 #, no-wrap
11858 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
11859 msgstr ""
11860
11861 #. type: tbl table
11862 #: build/C/man2/ioctl_list.2:755
11863 #, no-wrap
11864 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
11865 msgstr ""
11866
11867 #. type: tbl table
11868 #: build/C/man2/ioctl_list.2:756
11869 #, no-wrap
11870 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11871 msgstr ""
11872
11873 #. type: tbl table
11874 #: build/C/man2/ioctl_list.2:757
11875 #, no-wrap
11876 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11877 msgstr ""
11878
11879 #. type: Plain text
11880 #: build/C/man2/ioctl_list.2:764
11881 msgid ""
11882 "// More arguments.  Some ioctl's take a pointer to a structure which "
11883 "contains additional pointers.  These are documented here in alphabetical "
11884 "order."
11885 msgstr ""
11886
11887 #. type: Plain text
11888 #: build/C/man2/ioctl_list.2:772
11889 msgid ""
11890 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio "
11891 "*>.  The I<buf> field points to an output buffer of length I<nframes * "
11892 "CD_FRAMESIZE_RAW>."
11893 msgstr ""
11894
11895 #. type: Plain text
11896 #: build/C/man2/ioctl_list.2:788
11897 msgid ""
11898 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
11899 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf *>.  They use "
11900 "the same pointer as an output pointer to I<char []>.  The length varies by "
11901 "request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
11902 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
11903 "value 2048)."
11904 msgstr ""
11905
11906 #. type: Plain text
11907 #: build/C/man2/ioctl_list.2:794
11908 #, no-wrap
11909 msgid ""
11910 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
11911 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
11912 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
11913 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
11914 msgstr ""
11915
11916 #. type: Plain text
11917 #: build/C/man2/ioctl_list.2:808
11918 msgid ""
11919 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
11920 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq *>.  The "
11921 "I<ifr_data> field is a pointer to another structure as follows:"
11922 msgstr ""
11923
11924 #. type: Plain text
11925 #: build/C/man2/ioctl_list.2:816
11926 #, no-wrap
11927 msgid ""
11928 "    EQL_ENSLAVE         const struct slaving_request *\n"
11929 "    EQL_EMANCIPATE      const struct slaving_request *\n"
11930 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
11931 "    EQL_SETSLAVECFG     const struct slave_config *\n"
11932 "    EQL_GETMASTERCFG    struct master_config *\n"
11933 "    EQL_SETMASTERCFG    const struct master_config *\n"
11934 msgstr ""
11935
11936 #. type: Plain text
11937 #: build/C/man2/ioctl_list.2:833
11938 msgid ""
11939 "B<FDRAWCMD> takes a I<struct floppy raw_cmd *>.  If I<flags & FD_RAW_WRITE> "
11940 "is nonzero, then I<data> points to an input buffer of length I<length>.  If "
11941 "I<flags & FD_RAW_READ> is nonzero, then I<data> points to an output buffer "
11942 "of length I<length>."
11943 msgstr ""
11944
11945 #. type: Plain text
11946 #: build/C/man2/ioctl_list.2:849
11947 msgid ""
11948 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc *> or a "
11949 "I<const struct console_font_desc *>, respectively.  I<chardata> points to a "
11950 "buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
11951 "and an input buffer for B<PIO_FONTX>."
11952 msgstr ""
11953
11954 #. type: Plain text
11955 #: build/C/man2/ioctl_list.2:865
11956 msgid ""
11957 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc *> or a I<const "
11958 "struct unimapdesc *>, respectively.  I<entries> points to a buffer of "
11959 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
11960 "and an input buffer for B<PIO_UNIMAP>."
11961 msgstr ""
11962
11963 #. type: Plain text
11964 #: build/C/man2/ioctl_list.2:869
11965 msgid ""
11966 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
11967 "ports.  They are essentially alternate interfaces to 'ioperm'."
11968 msgstr ""
11969
11970 #. type: Plain text
11971 #: build/C/man2/ioctl_list.2:875
11972 msgid ""
11973 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
11974 "port access.  They are not implemented in the kernel."
11975 msgstr ""
11976
11977 #. type: Plain text
11978 #: build/C/man2/ioctl_list.2:883
11979 msgid ""
11980 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int *>, which is a "
11981 "length.  It uses the same pointer as an output pointer to a I<char []> "
11982 "buffer of this length."
11983 msgstr ""
11984
11985 #. type: Plain text
11986 #: build/C/man2/ioctl_list.2:889
11987 msgid ""
11988 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
11989 "the protocol:"
11990 msgstr ""
11991
11992 #. type: Plain text
11993 #: build/C/man2/ioctl_list.2:894
11994 #, no-wrap
11995 msgid ""
11996 "    Most protocols      const struct rtentry *\n"
11997 "    AX.25               const struct ax25_route *\n"
11998 "    NET/ROM             const struct nr_route_struct *\n"
11999 msgstr ""
12000
12001 #. type: Plain text
12002 #: build/C/man2/ioctl_list.2:905
12003 msgid ""
12004 "B<SIOCGIFCONF> takes a I<struct ifconf *>.  The I<ifc_buf> field points to a "
12005 "buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
12006 "type I<struct ifreq []>."
12007 msgstr ""
12008
12009 #. type: Plain text
12010 #: build/C/man2/ioctl_list.2:908
12011 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
12012 msgstr ""
12013
12014 #. type: Plain text
12015 #: build/C/man2/ioctl_list.2:912
12016 #, no-wrap
12017 msgid ""
12018 "    Most protocols      const struct ifreq *\n"
12019 "    AX.25               const char [AX25_ADDR_LEN]\n"
12020 msgstr ""
12021
12022 #. type: Plain text
12023 #: build/C/man2/ioctl_list.2:927
12024 msgid ""
12025 "B<TIOCLINUX> takes a I<const char *>.  It uses this to distinguish several "
12026 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
12027 "N-byte pad.  I<struct selection> is implicitly defined in "
12028 "I<drivers/char/selection.c>"
12029 msgstr ""
12030
12031 #. type: Plain text
12032 #: build/C/man2/ioctl_list.2:936
12033 #, no-wrap
12034 msgid ""
12035 "    TIOCLINUX-2         1 + const struct selection *\n"
12036 "    TIOCLINUX-3         void\n"
12037 "    TIOCLINUX-4         void\n"
12038 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
12039 "    TIOCLINUX-6         char *\n"
12040 "    TIOCLINUX-7         char *\n"
12041 "    TIOCLINUX-10        1 + const char *\n"
12042 msgstr ""
12043
12044 #. type: Plain text
12045 #: build/C/man2/ioctl_list.2:939
12046 msgid "// Duplicate ioctls"
12047 msgstr ""
12048
12049 #. type: Plain text
12050 #: build/C/man2/ioctl_list.2:944
12051 msgid ""
12052 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
12053 "B<SIOCPROTOPRIVATE>."
12054 msgstr ""
12055
12056 #. type: tbl table
12057 #: build/C/man2/ioctl_list.2:946
12058 #, no-wrap
12059 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
12060 msgstr ""
12061
12062 #. type: tbl table
12063 #: build/C/man2/ioctl_list.2:947
12064 #, no-wrap
12065 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
12066 msgstr ""
12067
12068 #. type: tbl table
12069 #: build/C/man2/ioctl_list.2:948
12070 #, no-wrap
12071 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
12072 msgstr ""
12073
12074 #. type: tbl table
12075 #: build/C/man2/ioctl_list.2:949
12076 #, no-wrap
12077 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
12078 msgstr ""
12079
12080 #. type: tbl table
12081 #: build/C/man2/ioctl_list.2:950
12082 #, no-wrap
12083 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
12084 msgstr ""
12085
12086 #. type: tbl table
12087 #: build/C/man2/ioctl_list.2:951
12088 #, no-wrap
12089 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12090 msgstr ""
12091
12092 #. type: Plain text
12093 #: build/C/man2/ioctl_list.2:955
12094 msgid "B<ioctl>(2)"
12095 msgstr ""
12096
12097 #. type: TH
12098 #: build/C/man2/ioperm.2:34
12099 #, no-wrap
12100 msgid "IOPERM"
12101 msgstr ""
12102
12103 #. type: Plain text
12104 #: build/C/man2/ioperm.2:37
12105 msgid "ioperm - set port input/output permissions"
12106 msgstr ""
12107
12108 #. type: Plain text
12109 #: build/C/man2/ioperm.2:40
12110 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12111 msgstr ""
12112
12113 #. type: Plain text
12114 #: build/C/man2/ioperm.2:43
12115 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12116 msgstr ""
12117
12118 #. type: Plain text
12119 #: build/C/man2/ioperm.2:45
12120 msgid ""
12121 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12122 ">I<turn_on>B<);>"
12123 msgstr ""
12124
12125 #. type: Plain text
12126 #: build/C/man2/ioperm.2:59
12127 msgid ""
12128 "B<ioperm>()  sets the port access permission bits for the calling thread for "
12129 "I<num> bits starting from port address I<from>.  If I<turn_on> is nonzero, "
12130 "then permission for the specified bits is enabled; otherwise it is "
12131 "disabled.  If I<turn_on> is nonzero, the calling thread must be privileged "
12132 "(B<CAP_SYS_RAWIO>)."
12133 msgstr ""
12134
12135 #. type: Plain text
12136 #: build/C/man2/ioperm.2:68
12137 msgid ""
12138 "Before Linux 2.6.8, only the first 0x3ff I/O ports could be specified in "
12139 "this manner.  For more ports, the B<iopl>(2)  system call had to be used "
12140 "(with a I<level> argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can be "
12141 "specified."
12142 msgstr ""
12143
12144 #. type: Plain text
12145 #: build/C/man2/ioperm.2:78
12146 msgid ""
12147 "Permissions are not inherited by the child created by B<fork>(2); following "
12148 "a B<fork>(2)  the child must turn on those permissions that it needs.  "
12149 "Permissions are preserved across B<execve>(2); this is useful for giving "
12150 "port access permissions to unprivileged programs."
12151 msgstr ""
12152
12153 #. type: Plain text
12154 #: build/C/man2/ioperm.2:82
12155 msgid ""
12156 "This call is mostly for the i386 architecture.  On many other architectures "
12157 "it does not exist or will always return an error."
12158 msgstr ""
12159
12160 #. type: Plain text
12161 #: build/C/man2/ioperm.2:94
12162 msgid "Invalid values for I<from> or I<num>."
12163 msgstr ""
12164
12165 #. type: Plain text
12166 #: build/C/man2/ioperm.2:97
12167 msgid "(on PowerPC) This call is not supported."
12168 msgstr ""
12169
12170 #.  Could not allocate I/O bitmap.
12171 #. type: Plain text
12172 #: build/C/man2/ioperm.2:101
12173 msgid "Out of memory."
12174 msgstr ""
12175
12176 #. type: Plain text
12177 #: build/C/man2/ioperm.2:104
12178 msgid "The calling thread has insufficient privilege."
12179 msgstr ""
12180
12181 #. type: Plain text
12182 #: build/C/man2/ioperm.2:108
12183 msgid ""
12184 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12185 "to be portable."
12186 msgstr ""
12187
12188 #. type: Plain text
12189 #: build/C/man2/ioperm.2:112
12190 msgid ""
12191 "The I</proc/ioports> file shows the I/O ports that are currently allocated "
12192 "on the system."
12193 msgstr ""
12194
12195 #. type: Plain text
12196 #: build/C/man2/ioperm.2:121
12197 msgid ""
12198 "Libc5 treats it as a system call and has a prototype in "
12199 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12200 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12201 "Avoid the latter, it is available on i386 only."
12202 msgstr ""
12203
12204 #. type: Plain text
12205 #: build/C/man2/ioperm.2:125
12206 msgid "B<iopl>(2), B<outb>(2), B<capabilities>(7)"
12207 msgstr ""
12208
12209 #. type: TH
12210 #: build/C/man3/lockf.3:28
12211 #, no-wrap
12212 msgid "LOCKF"
12213 msgstr ""
12214
12215 #. type: TH
12216 #: build/C/man3/lockf.3:28
12217 #, no-wrap
12218 msgid "2012-07-07"
12219 msgstr ""
12220
12221 #. type: Plain text
12222 #: build/C/man3/lockf.3:31
12223 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12224 msgstr ""
12225
12226 #. type: Plain text
12227 #: build/C/man3/lockf.3:35
12228 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12229 msgstr ""
12230
12231 #. type: Plain text
12232 #: build/C/man3/lockf.3:42
12233 msgid "B<lockf>():"
12234 msgstr ""
12235
12236 #. type: Plain text
12237 #: build/C/man3/lockf.3:46
12238 msgid ""
12239 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12240 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12241 msgstr ""
12242
12243 #. type: Plain text
12244 #: build/C/man3/lockf.3:69
12245 msgid ""
12246 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12247 "is specified by I<fd>, a file descriptor open for writing, the action by "
12248 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12249 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12250 "where I<pos> is the current file position, and if I<len> is zero, the "
12251 "section extends from the current file position to infinity, encompassing the "
12252 "present and future end-of-file positions.  In all cases, the section may "
12253 "extend past current end-of-file."
12254 msgstr ""
12255
12256 #. type: Plain text
12257 #: build/C/man3/lockf.3:84
12258 msgid ""
12259 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12260 "Many other systems implement B<lockf>()  in this way, but note that "
12261 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12262 "locks unspecified.  A portable application should probably avoid mixing "
12263 "calls to these interfaces."
12264 msgstr ""
12265
12266 #. type: Plain text
12267 #: build/C/man3/lockf.3:86
12268 msgid "Valid operations are given below:"
12269 msgstr ""
12270
12271 #. type: TP
12272 #: build/C/man3/lockf.3:86
12273 #, no-wrap
12274 msgid "B<F_LOCK>"
12275 msgstr ""
12276
12277 #. type: Plain text
12278 #: build/C/man3/lockf.3:96
12279 msgid ""
12280 "Set an exclusive lock on the specified section of the file.  If (part of) "
12281 "this section is already locked, the call blocks until the previous lock is "
12282 "released.  If this section overlaps an earlier locked section, both are "
12283 "merged.  File locks are released as soon as the process holding the locks "
12284 "closes some file descriptor for the file.  A child process does not inherit "
12285 "these locks."
12286 msgstr ""
12287
12288 #. type: TP
12289 #: build/C/man3/lockf.3:96
12290 #, no-wrap
12291 msgid "B<F_TLOCK>"
12292 msgstr ""
12293
12294 #. type: Plain text
12295 #: build/C/man3/lockf.3:102
12296 msgid ""
12297 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12298 "the file is already locked."
12299 msgstr ""
12300
12301 #. type: TP
12302 #: build/C/man3/lockf.3:102
12303 #, no-wrap
12304 msgid "B<F_ULOCK>"
12305 msgstr ""
12306
12307 #. type: Plain text
12308 #: build/C/man3/lockf.3:106
12309 msgid ""
12310 "Unlock the indicated section of the file.  This may cause a locked section "
12311 "to be split into two locked sections."
12312 msgstr ""
12313
12314 #. type: TP
12315 #: build/C/man3/lockf.3:106
12316 #, no-wrap
12317 msgid "B<F_TEST>"
12318 msgstr ""
12319
12320 #. type: Plain text
12321 #: build/C/man3/lockf.3:116
12322 msgid ""
12323 "Test the lock: return 0 if the specified section is unlocked or locked by "
12324 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12325 "systems), if another process holds a lock."
12326 msgstr ""
12327
12328 #. type: Plain text
12329 #: build/C/man3/lockf.3:130
12330 msgid ""
12331 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12332 "operation is prohibited because the file has been memory-mapped by another "
12333 "process."
12334 msgstr ""
12335
12336 #. type: Plain text
12337 #: build/C/man3/lockf.3:142
12338 msgid ""
12339 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12340 "and I<fd> is not a writable file descriptor."
12341 msgstr ""
12342
12343 #. type: Plain text
12344 #: build/C/man3/lockf.3:147
12345 msgid "The command was B<F_LOCK> and this lock operation would cause a deadlock."
12346 msgstr ""
12347
12348 #. type: Plain text
12349 #: build/C/man3/lockf.3:151
12350 msgid "An invalid operation was specified in I<fd>."
12351 msgstr ""
12352
12353 #. type: Plain text
12354 #: build/C/man3/lockf.3:154
12355 msgid "Too many segment locks open, lock table is full."
12356 msgstr ""
12357
12358 #. type: Plain text
12359 #: build/C/man3/lockf.3:156
12360 msgid "SVr4, POSIX.1-2001."
12361 msgstr ""
12362
12363 #. type: Plain text
12364 #: build/C/man3/lockf.3:159
12365 msgid "B<fcntl>(2), B<flock>(2)"
12366 msgstr ""
12367
12368 #. type: Plain text
12369 #: build/C/man3/lockf.3:171
12370 msgid ""
12371 "I<locks.txt> and I<mandatory-locking.txt> in the Linux kernel source "
12372 "directory I<Documentation/filesystems> (on older kernels, these files are "
12373 "directly under the I<Documentation> directory, and I<mandatory-locking.txt> "
12374 "is called I<mandatory.txt>)"
12375 msgstr ""
12376
12377 #. type: TH
12378 #: build/C/man2/mincore.2:34
12379 #, no-wrap
12380 msgid "MINCORE"
12381 msgstr ""
12382
12383 #. type: TH
12384 #: build/C/man2/mincore.2:34
12385 #, no-wrap
12386 msgid "2008-04-22"
12387 msgstr ""
12388
12389 #. type: Plain text
12390 #: build/C/man2/mincore.2:37
12391 msgid "mincore - determine whether pages are resident in memory"
12392 msgstr ""
12393
12394 #. type: Plain text
12395 #: build/C/man2/mincore.2:41
12396 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12397 msgstr ""
12398
12399 #. type: Plain text
12400 #: build/C/man2/mincore.2:43
12401 msgid ""
12402 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12403 "*>I<vec>B<);>"
12404 msgstr ""
12405
12406 #. type: Plain text
12407 #: build/C/man2/mincore.2:51
12408 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12409 msgstr ""
12410
12411 #. type: Plain text
12412 #: build/C/man2/mincore.2:62
12413 msgid ""
12414 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12415 "process's virtual memory are resident in core (RAM), and so will not cause a "
12416 "disk access (page fault) if referenced.  The kernel returns residency "
12417 "information about the pages starting at the address I<addr>, and continuing "
12418 "for I<length> bytes."
12419 msgstr ""
12420
12421 #. type: Plain text
12422 #: build/C/man2/mincore.2:76
12423 msgid ""
12424 "The I<addr> argument must be a multiple of the system page size.  The "
12425 "I<length> argument need not be a multiple of the page size, but since "
12426 "residency information is returned for whole pages, I<length> is effectively "
12427 "rounded up to the next multiple of the page size.  One may obtain the page "
12428 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12429 msgstr ""
12430
12431 #. type: Plain text
12432 #: build/C/man2/mincore.2:94
12433 msgid ""
12434 "The I<vec> argument must point to an array containing at least "
12435 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
12436 "bit of each byte will be set if the corresponding page is currently resident "
12437 "in memory, and be clear otherwise.  (The settings of the other bits in each "
12438 "byte are undefined; these bits are reserved for possible later use.)  Of "
12439 "course the information returned in I<vec> is only a snapshot: pages that are "
12440 "not locked in memory can come and go at any moment, and the contents of "
12441 "I<vec> may already be stale by the time this call returns."
12442 msgstr ""
12443
12444 #. type: Plain text
12445 #: build/C/man2/mincore.2:101
12446 msgid ""
12447 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
12448 "I<errno> is set appropriately."
12449 msgstr ""
12450
12451 #. type: Plain text
12452 #: build/C/man2/mincore.2:104
12453 msgid "B<EAGAIN> kernel is temporarily out of resources."
12454 msgstr ""
12455
12456 #. type: Plain text
12457 #: build/C/man2/mincore.2:108
12458 msgid "I<vec> points to an invalid address."
12459 msgstr ""
12460
12461 #. type: Plain text
12462 #: build/C/man2/mincore.2:112
12463 msgid "I<addr> is not a multiple of the page size."
12464 msgstr ""
12465
12466 #. type: Plain text
12467 #: build/C/man2/mincore.2:124
12468 msgid ""
12469 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
12470 "negative value is specified for I<length>, since that value will be "
12471 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
12472 "error B<EINVAL> was returned for this condition."
12473 msgstr ""
12474
12475 #. type: Plain text
12476 #: build/C/man2/mincore.2:132
12477 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
12478 msgstr ""
12479
12480 #. type: Plain text
12481 #: build/C/man2/mincore.2:134
12482 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
12483 msgstr ""
12484
12485 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
12486 #.  AIX 5.1, SunOS 4.1
12487 #.  .SH HISTORY
12488 #.  The
12489 #.  .BR mincore ()
12490 #.  function first appeared in 4.4BSD.
12491 #. type: Plain text
12492 #: build/C/man2/mincore.2:144
12493 msgid ""
12494 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
12495 "all UNIX implementations."
12496 msgstr ""
12497
12498 #.  Linux (up to now, 2.6.5),
12499 #.  .B mincore
12500 #.  does not return correct information for MAP_PRIVATE mappings:
12501 #.  for a MAP_PRIVATE file mapping,
12502 #.  .B mincore
12503 #.  returns the residency of the file pages, rather than any
12504 #.  modified process-private pages that have been copied on write;
12505 #.  for a MAP_PRIVATE mapping of
12506 #.  .IR /dev/zero ,
12507 #.  .B mincore
12508 #.  always reports pages as nonresident;
12509 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
12510 #.  .B mincore
12511 #.  always fails with the error
12512 #.  .BR ENOMEM .
12513 #. type: Plain text
12514 #: build/C/man2/mincore.2:166
12515 msgid ""
12516 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
12517 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
12518 "B<remap_file_pages>(2))."
12519 msgstr ""
12520
12521 #. type: Plain text
12522 #: build/C/man2/mincore.2:169
12523 msgid "B<mlock>(2), B<mmap>(2)"
12524 msgstr ""
12525
12526 #. type: TH
12527 #: build/C/man2/mkdir.2:10
12528 #, no-wrap
12529 msgid "MKDIR"
12530 msgstr ""
12531
12532 #. type: TH
12533 #: build/C/man2/mkdir.2:10
12534 #, no-wrap
12535 msgid "2013-01-27"
12536 msgstr ""
12537
12538 #. type: Plain text
12539 #: build/C/man2/mkdir.2:13
12540 msgid "mkdir - create a directory"
12541 msgstr ""
12542
12543 #.  .B #include <unistd.h>
12544 #. type: Plain text
12545 #: build/C/man2/mkdir.2:18
12546 #, no-wrap
12547 msgid ""
12548 "B<#include E<lt>sys/stat.hE<gt>>\n"
12549 "B<#include E<lt>sys/types.hE<gt>>\n"
12550 msgstr ""
12551
12552 #. type: Plain text
12553 #: build/C/man2/mkdir.2:20
12554 #, no-wrap
12555 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12556 msgstr ""
12557
12558 #. type: Plain text
12559 #: build/C/man2/mkdir.2:25
12560 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
12561 msgstr ""
12562
12563 #. type: Plain text
12564 #: build/C/man2/mkdir.2:35
12565 msgid ""
12566 "The argument I<mode> specifies the permissions to use.  It is modified by "
12567 "the process's I<umask> in the usual way: the permissions of the created "
12568 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
12569 "directory depend on the operating system.  For Linux, see below."
12570 msgstr ""
12571
12572 #. type: Plain text
12573 #: build/C/man2/mkdir.2:45
12574 msgid ""
12575 "The newly created directory will be owned by the effective user ID of the "
12576 "process.  If the directory containing the file has the set-group-ID bit set, "
12577 "or if the file system is mounted with BSD group semantics (I<mount -o "
12578 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
12579 "inherit the group ownership from its parent; otherwise it will be owned by "
12580 "the effective group ID of the process."
12581 msgstr ""
12582
12583 #. type: Plain text
12584 #: build/C/man2/mkdir.2:48
12585 msgid ""
12586 "If the parent directory has the set-group-ID bit set then so will the newly "
12587 "created directory."
12588 msgstr ""
12589
12590 #. type: Plain text
12591 #: build/C/man2/mkdir.2:53
12592 msgid ""
12593 "B<mkdir>()  returns zero on success, or -1 if an error occurred (in which "
12594 "case, I<errno> is set appropriately)."
12595 msgstr ""
12596
12597 #. type: Plain text
12598 #: build/C/man2/mkdir.2:62
12599 msgid ""
12600 "The parent directory does not allow write permission to the process, or one "
12601 "of the directories in I<pathname> did not allow search permission.  (See "
12602 "also B<path_resolution>(7).)"
12603 msgstr ""
12604
12605 #. type: TP
12606 #: build/C/man2/mkdir.2:62
12607 #, no-wrap
12608 msgid "B<EDQUOT>"
12609 msgstr ""
12610
12611 #. type: Plain text
12612 #: build/C/man2/mkdir.2:66
12613 msgid ""
12614 "The user's quota of disk blocks or inodes on the file system has been "
12615 "exhausted."
12616 msgstr ""
12617
12618 #. type: TP
12619 #: build/C/man2/mkdir.2:66
12620 #, no-wrap
12621 msgid "B<EEXIST>"
12622 msgstr ""
12623
12624 #. type: Plain text
12625 #: build/C/man2/mkdir.2:73
12626 msgid ""
12627 "I<pathname> already exists (not necessarily as a directory).  This includes "
12628 "the case where I<pathname> is a symbolic link, dangling or not."
12629 msgstr ""
12630
12631 #. type: TP
12632 #: build/C/man2/mkdir.2:80
12633 #, no-wrap
12634 msgid "B<EMLINK>"
12635 msgstr ""
12636
12637 #. type: Plain text
12638 #: build/C/man2/mkdir.2:84
12639 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
12640 msgstr ""
12641
12642 #. type: Plain text
12643 #: build/C/man2/mkdir.2:87
12644 msgid "I<pathname> was too long."
12645 msgstr ""
12646
12647 #. type: Plain text
12648 #: build/C/man2/mkdir.2:92
12649 msgid ""
12650 "A directory component in I<pathname> does not exist or is a dangling "
12651 "symbolic link."
12652 msgstr ""
12653
12654 #. type: TP
12655 #: build/C/man2/mkdir.2:95 build/C/man2/mkdir.2:100
12656 #, no-wrap
12657 msgid "B<ENOSPC>"
12658 msgstr ""
12659
12660 #. type: Plain text
12661 #: build/C/man2/mkdir.2:100
12662 msgid "The device containing I<pathname> has no room for the new directory."
12663 msgstr ""
12664
12665 #. type: Plain text
12666 #: build/C/man2/mkdir.2:104
12667 msgid ""
12668 "The new directory cannot be created because the user's disk quota is "
12669 "exhausted."
12670 msgstr ""
12671
12672 #. type: Plain text
12673 #: build/C/man2/mkdir.2:114
12674 msgid ""
12675 "The file system containing I<pathname> does not support the creation of "
12676 "directories."
12677 msgstr ""
12678
12679 #. type: Plain text
12680 #: build/C/man2/mkdir.2:118
12681 msgid "I<pathname> refers to a file on a read-only file system."
12682 msgstr ""
12683
12684 #.  SVr4 documents additional EIO, EMULTIHOP
12685 #. type: Plain text
12686 #: build/C/man2/mkdir.2:121
12687 msgid "SVr4, BSD, POSIX.1-2001."
12688 msgstr ""
12689
12690 #. type: Plain text
12691 #: build/C/man2/mkdir.2:129
12692 msgid ""
12693 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
12694 "honored.  That is, under Linux the created directory actually gets mode "
12695 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
12696 msgstr ""
12697
12698 #. type: Plain text
12699 #: build/C/man2/mkdir.2:133
12700 msgid ""
12701 "There are many infelicities in the protocol underlying NFS.  Some of these "
12702 "affect B<mkdir>()."
12703 msgstr ""
12704
12705 #. type: Plain text
12706 #: build/C/man2/mkdir.2:145
12707 msgid ""
12708 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mkdirat>(2), B<mknod>(2), "
12709 "B<mount>(2), B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
12710 "B<path_resolution>(7)"
12711 msgstr ""
12712
12713 #. type: TH
12714 #: build/C/man2/nice.2:31
12715 #, no-wrap
12716 msgid "NICE"
12717 msgstr ""
12718
12719 #. type: Plain text
12720 #: build/C/man2/nice.2:34
12721 msgid "nice - change process priority"
12722 msgstr ""
12723
12724 #. type: Plain text
12725 #: build/C/man2/nice.2:38
12726 msgid "B<int nice(int >I<inc>B<);>"
12727 msgstr ""
12728
12729 #. type: Plain text
12730 #: build/C/man2/nice.2:46
12731 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12732 msgstr ""
12733
12734 #. type: Plain text
12735 #: build/C/man2/nice.2:56
12736 msgid ""
12737 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
12738 "nice value means a low priority.)  Only the super\\%user may specify a "
12739 "negative increment, or priority increase.  The range for nice values is "
12740 "described in B<getpriority>(2)."
12741 msgstr ""
12742
12743 #. type: Plain text
12744 #: build/C/man2/nice.2:61
12745 msgid ""
12746 "On success, the new nice value is returned (but see NOTES below).  On error, "
12747 "-1 is returned, and I<errno> is set appropriately."
12748 msgstr ""
12749
12750 #. type: Plain text
12751 #: build/C/man2/nice.2:75
12752 msgid ""
12753 "The calling process attempted to increase its priority by supplying a "
12754 "negative I<inc> but has insufficient privileges.  Under Linux the "
12755 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
12756 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
12757 msgstr ""
12758
12759 #. type: Plain text
12760 #: build/C/man2/nice.2:82
12761 msgid ""
12762 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
12763 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
12764 "additional B<EINVAL> error code."
12765 msgstr ""
12766
12767 #. type: Plain text
12768 #: build/C/man2/nice.2:92
12769 msgid ""
12770 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
12771 "value.  However, the Linux syscall and the B<nice>()  library function "
12772 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
12773 "success.  The new nice value can be found using B<getpriority>(2)."
12774 msgstr ""
12775
12776 #. type: Plain text
12777 #: build/C/man2/nice.2:105
12778 msgid ""
12779 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
12780 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
12781 "caller.  With this implementation, a successful call can legitimately return "
12782 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
12783 "check its value when B<nice>()  returns -1."
12784 msgstr ""
12785
12786 #. type: Plain text
12787 #: build/C/man2/nice.2:112
12788 msgid ""
12789 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
12790 "B<capabilities>(7)"
12791 msgstr ""
12792
12793 #. type: TH
12794 #: build/C/man2/pread.2:25
12795 #, no-wrap
12796 msgid "PREAD"
12797 msgstr ""
12798
12799 #. type: TH
12800 #: build/C/man2/pread.2:25
12801 #, no-wrap
12802 msgid "2012-04-30"
12803 msgstr ""
12804
12805 #. type: Plain text
12806 #: build/C/man2/pread.2:28
12807 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
12808 msgstr ""
12809
12810 #. type: Plain text
12811 #: build/C/man2/pread.2:33
12812 msgid ""
12813 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
12814 ">I<offset>B<);>"
12815 msgstr ""
12816
12817 #. type: Plain text
12818 #: build/C/man2/pread.2:36
12819 msgid ""
12820 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
12821 "off_t >I<offset>B<);>"
12822 msgstr ""
12823
12824 #. type: Plain text
12825 #: build/C/man2/pread.2:46
12826 msgid "B<pread>(), B<pwrite>():"
12827 msgstr ""
12828
12829 #. type: Plain text
12830 #: build/C/man2/pread.2:48
12831 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12832 msgstr ""
12833
12834 #. type: Plain text
12835 #: build/C/man2/pread.2:64
12836 msgid ""
12837 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
12838 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
12839 "The file offset is not changed."
12840 msgstr ""
12841
12842 #. type: Plain text
12843 #: build/C/man2/pread.2:75
12844 msgid ""
12845 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
12846 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
12847 "changed."
12848 msgstr ""
12849
12850 #. type: Plain text
12851 #: build/C/man2/pread.2:79
12852 msgid "The file referenced by I<fd> must be capable of seeking."
12853 msgstr ""
12854
12855 #. type: Plain text
12856 #: build/C/man2/pread.2:89
12857 msgid ""
12858 "On success, the number of bytes read or written is returned (zero indicates "
12859 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
12860 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
12861 "indicate the error."
12862 msgstr ""
12863
12864 #. type: Plain text
12865 #: build/C/man2/pread.2:104
12866 msgid ""
12867 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
12868 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
12869 "specified for B<write>(2)  or B<lseek>(2)."
12870 msgstr ""
12871
12872 #. type: Plain text
12873 #: build/C/man2/pread.2:115
12874 msgid ""
12875 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
12876 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
12877 "library support (including emulation using B<lseek>(2)  on older kernels "
12878 "without the system calls) was added in glibc 2.1."
12879 msgstr ""
12880
12881 #. type: Plain text
12882 #: build/C/man2/pread.2:133
12883 msgid ""
12884 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
12885 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
12886 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
12887 "functions transparently deal with the change."
12888 msgstr ""
12889
12890 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=43178
12891 #. type: Plain text
12892 #: build/C/man2/pread.2:145
12893 msgid ""
12894 "POSIX requires that opening a file with the B<O_APPEND> flag should have no "
12895 "affect on the location at which B<pwrite>()  writes data.  However, on "
12896 "Linux, if a file is opened with B<O_APPEND>, B<pwrite>()  appends data to "
12897 "the end of the file, regardless of the value of I<offset>."
12898 msgstr ""
12899
12900 #. type: Plain text
12901 #: build/C/man2/pread.2:150
12902 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
12903 msgstr ""
12904
12905 #. type: TH
12906 #: build/C/man2/set_thread_area.2:8
12907 #, no-wrap
12908 msgid "SET_THREAD_AREA"
12909 msgstr ""
12910
12911 #. type: Plain text
12912 #: build/C/man2/set_thread_area.2:11
12913 msgid "set_thread_area - set a thread local storage (TLS) area"
12914 msgstr ""
12915
12916 #. type: Plain text
12917 #: build/C/man2/set_thread_area.2:17
12918 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
12919 msgstr ""
12920
12921 #. type: Plain text
12922 #: build/C/man2/set_thread_area.2:33
12923 msgid ""
12924 "B<set_thread_area>()  sets an entry in the current thread's thread-local "
12925 "storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
12926 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
12927 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
12928 "descriptor pointed to by I<u_info> into the thread's TLS array."
12929 msgstr ""
12930
12931 #. type: Plain text
12932 #: build/C/man2/set_thread_area.2:44
12933 msgid ""
12934 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
12935 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
12936 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
12937 "changed."
12938 msgstr ""
12939
12940 #. type: Plain text
12941 #: build/C/man2/set_thread_area.2:49
12942 msgid ""
12943 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
12944 "set appropriately."
12945 msgstr ""
12946
12947 #. type: TP
12948 #: build/C/man2/set_thread_area.2:56
12949 #, no-wrap
12950 msgid "B<ESRCH>"
12951 msgstr ""
12952
12953 #. type: Plain text
12954 #: build/C/man2/set_thread_area.2:59
12955 msgid "A free TLS entry could not be located."
12956 msgstr ""
12957
12958 #. type: Plain text
12959 #: build/C/man2/set_thread_area.2:63
12960 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
12961 msgstr ""
12962
12963 #. type: Plain text
12964 #: build/C/man2/set_thread_area.2:67
12965 msgid ""
12966 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
12967 "that are intended to be portable."
12968 msgstr ""
12969
12970 #. type: Plain text
12971 #: build/C/man2/set_thread_area.2:74
12972 msgid "B<get_thread_area>(2)"
12973 msgstr ""
12974
12975 #. type: TH
12976 #: build/C/man2/setup.2:34
12977 #, no-wrap
12978 msgid "SETUP"
12979 msgstr ""
12980
12981 #. type: TH
12982 #: build/C/man2/setup.2:34 build/C/man2/uname.2:27
12983 #, no-wrap
12984 msgid "2008-12-03"
12985 msgstr ""
12986
12987 #. type: Plain text
12988 #: build/C/man2/setup.2:37
12989 msgid "setup - setup devices and file systems, mount root file system"
12990 msgstr ""
12991
12992 #. type: Plain text
12993 #: build/C/man2/setup.2:41
12994 msgid "B<int setup(void);>"
12995 msgstr ""
12996
12997 #. type: Plain text
12998 #: build/C/man2/setup.2:47
12999 msgid ""
13000 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
13001 "initialization functions for devices and file systems configured into the "
13002 "kernel and then mounts the root file system."
13003 msgstr ""
13004
13005 #. type: Plain text
13006 #: build/C/man2/setup.2:53
13007 msgid ""
13008 "No user process may call B<setup>().  Any user process, even a process with "
13009 "superuser permission, will receive B<EPERM>."
13010 msgstr ""
13011
13012 #. type: Plain text
13013 #: build/C/man2/setup.2:56
13014 msgid "B<setup>()  always returns -1 for a user process."
13015 msgstr ""
13016
13017 #. type: Plain text
13018 #: build/C/man2/setup.2:62
13019 msgid "Since Linux 2.1.121, no such function exists anymore."
13020 msgstr ""
13021
13022 #. type: Plain text
13023 #: build/C/man2/setup.2:65
13024 msgid ""
13025 "This function is Linux-specific, and should not be used in programs intended "
13026 "to be portable, or indeed in any programs at all."
13027 msgstr ""
13028
13029 #. type: Plain text
13030 #: build/C/man2/setup.2:72
13031 msgid ""
13032 "The calling sequence varied: at some times I<setup ()> has had a single "
13033 "argument I<void *BIOS> and at other times a single argument I<int magic>."
13034 msgstr ""
13035
13036 #. type: TH
13037 #: build/C/man5/shells.5:28
13038 #, no-wrap
13039 msgid "SHELLS"
13040 msgstr ""
13041
13042 #. type: Plain text
13043 #: build/C/man5/shells.5:31
13044 msgid "shells - pathnames of valid login shells"
13045 msgstr ""
13046
13047 #. type: Plain text
13048 #: build/C/man5/shells.5:37
13049 msgid ""
13050 "I</etc/shells> is a text file which contains the full pathnames of valid "
13051 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
13052 "queried by other programs."
13053 msgstr ""
13054
13055 #. type: Plain text
13056 #: build/C/man5/shells.5:43
13057 msgid ""
13058 "Be aware that there are programs which consult this file to find out if a "
13059 "user is a normal user; for example, FTP daemons traditionally disallow "
13060 "access to users with shells not included in this file."
13061 msgstr ""
13062
13063 #. type: Plain text
13064 #: build/C/man5/shells.5:45
13065 msgid "I</etc/shells>"
13066 msgstr ""
13067
13068 #. type: Plain text
13069 #: build/C/man5/shells.5:48
13070 msgid "I</etc/shells> may contain the following paths:"
13071 msgstr ""
13072
13073 #. type: Plain text
13074 #: build/C/man5/shells.5:51
13075 msgid "I</bin/sh>"
13076 msgstr ""
13077
13078 #. type: Plain text
13079 #: build/C/man5/shells.5:53
13080 msgid "I</bin/bash>"
13081 msgstr ""
13082
13083 #. type: Plain text
13084 #: build/C/man5/shells.5:55
13085 msgid "I</bin/csh>"
13086 msgstr ""
13087
13088 #. type: Plain text
13089 #: build/C/man5/shells.5:59
13090 msgid "B<chsh>(1), B<getusershell>(3)"
13091 msgstr ""
13092
13093 #. type: TH
13094 #: build/C/man3/sleep.3:26
13095 #, no-wrap
13096 msgid "SLEEP"
13097 msgstr ""
13098
13099 #. type: TH
13100 #: build/C/man3/sleep.3:26
13101 #, no-wrap
13102 msgid "2010-02-03"
13103 msgstr ""
13104
13105 #. type: Plain text
13106 #: build/C/man3/sleep.3:29
13107 msgid "sleep - sleep for the specified number of seconds"
13108 msgstr ""
13109
13110 #. type: Plain text
13111 #: build/C/man3/sleep.3:34
13112 #, no-wrap
13113 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
13114 msgstr ""
13115
13116 #. type: Plain text
13117 #: build/C/man3/sleep.3:40
13118 msgid ""
13119 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13120 "elapsed or a signal arrives which is not ignored."
13121 msgstr ""
13122
13123 #. type: Plain text
13124 #: build/C/man3/sleep.3:44
13125 msgid ""
13126 "Zero if the requested time has elapsed, or the number of seconds left to "
13127 "sleep, if the call was interrupted by a signal handler."
13128 msgstr ""
13129
13130 #. type: Plain text
13131 #: build/C/man3/sleep.3:55
13132 msgid ""
13133 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13134 "and B<sleep>()  is a bad idea."
13135 msgstr ""
13136
13137 #. type: Plain text
13138 #: build/C/man3/sleep.3:61
13139 msgid ""
13140 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13141 "B<SIGALRM> while sleeping will cause undefined results."
13142 msgstr ""
13143
13144 #. type: Plain text
13145 #: build/C/man3/sleep.3:66
13146 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13147 msgstr ""
13148
13149 #. type: TH
13150 #: build/C/man3/swab.3:31
13151 #, no-wrap
13152 msgid "SWAB"
13153 msgstr ""
13154
13155 #. type: TH
13156 #: build/C/man3/swab.3:31
13157 #, no-wrap
13158 msgid "2001-12-15"
13159 msgstr ""
13160
13161 #. type: Plain text
13162 #: build/C/man3/swab.3:34
13163 msgid "swab - swap adjacent bytes"
13164 msgstr ""
13165
13166 #. type: Plain text
13167 #: build/C/man3/swab.3:38
13168 #, no-wrap
13169 msgid ""
13170 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13171 "B<#include E<lt>unistd.hE<gt>>\n"
13172 msgstr ""
13173
13174 #. type: Plain text
13175 #: build/C/man3/swab.3:40
13176 #, no-wrap
13177 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13178 msgstr ""
13179
13180 #. type: Plain text
13181 #: build/C/man3/swab.3:49
13182 msgid ""
13183 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13184 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13185 "bytes.  This function is used to exchange data between machines that have "
13186 "different low/high byte ordering."
13187 msgstr ""
13188
13189 #. type: Plain text
13190 #: build/C/man3/swab.3:54
13191 msgid ""
13192 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13193 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13194 "the last byte.  (In other words, I<n> should be even.)"
13195 msgstr ""
13196
13197 #. type: Plain text
13198 #: build/C/man3/swab.3:58
13199 msgid "The B<swab>()  function returns no value."
13200 msgstr ""
13201
13202 #. type: Plain text
13203 #: build/C/man3/swab.3:62
13204 msgid "B<bstring>(3)"
13205 msgstr ""
13206
13207 #. type: TH
13208 #: build/C/man2/swapon.2:37
13209 #, no-wrap
13210 msgid "SWAPON"
13211 msgstr ""
13212
13213 #. type: TH
13214 #: build/C/man2/swapon.2:37
13215 #, no-wrap
13216 msgid "2010-11-15"
13217 msgstr ""
13218
13219 #. type: Plain text
13220 #: build/C/man2/swapon.2:40
13221 msgid "swapon, swapoff - start/stop swapping to file/device"
13222 msgstr ""
13223
13224 #. type: Plain text
13225 #: build/C/man2/swapon.2:44
13226 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
13227 msgstr ""
13228
13229 #. type: Plain text
13230 #: build/C/man2/swapon.2:46
13231 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13232 msgstr ""
13233
13234 #. type: Plain text
13235 #: build/C/man2/swapon.2:48
13236 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13237 msgstr ""
13238
13239 #. type: Plain text
13240 #: build/C/man2/swapon.2:50
13241 msgid "B<int swapoff(const char *>I<path>B<);>"
13242 msgstr ""
13243
13244 #. type: Plain text
13245 #: build/C/man2/swapon.2:57
13246 msgid ""
13247 "B<swapon>()  sets the swap area to the file or block device specified by "
13248 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13249 "by I<path>."
13250 msgstr ""
13251
13252 #. type: Plain text
13253 #: build/C/man2/swapon.2:67
13254 msgid ""
13255 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13256 "I<swapflags> argument, the new swap area will have a higher priority than "
13257 "default.  The priority is encoded within I<swapflags> as:"
13258 msgstr ""
13259
13260 #. type: Plain text
13261 #: build/C/man2/swapon.2:70
13262 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13263 msgstr ""
13264
13265 #. type: Plain text
13266 #: build/C/man2/swapon.2:82
13267 msgid ""
13268 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13269 "I<swapflags> argument, freed swap pages will be discarded before they are "
13270 "reused, if the swap device supports the discard or trim operation.  (This "
13271 "may improve performance on some Solid State Devices, but often it does not.)  "
13272 "See also NOTES."
13273 msgstr ""
13274
13275 #. type: Plain text
13276 #: build/C/man2/swapon.2:86
13277 msgid ""
13278 "These functions may only be used by a privileged process (one having the "
13279 "B<CAP_SYS_ADMIN> capability)."
13280 msgstr ""
13281
13282 #. type: SS
13283 #: build/C/man2/swapon.2:86
13284 #, no-wrap
13285 msgid "Priority"
13286 msgstr ""
13287
13288 #. type: Plain text
13289 #: build/C/man2/swapon.2:91
13290 msgid ""
13291 "Each swap area has a priority, either high or low.  The default priority is "
13292 "low.  Within the low-priority areas, newer areas are even lower priority "
13293 "than older areas."
13294 msgstr ""
13295
13296 #. type: Plain text
13297 #: build/C/man2/swapon.2:97
13298 msgid ""
13299 "All priorities set with I<swapflags> are high-priority, higher than "
13300 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13301 "numbers mean higher priority."
13302 msgstr ""
13303
13304 #. type: Plain text
13305 #: build/C/man2/swapon.2:105
13306 msgid ""
13307 "Swap pages are allocated from areas in priority order, highest priority "
13308 "first.  For areas with different priorities, a higher-priority area is "
13309 "exhausted before using a lower-priority area.  If two or more areas have the "
13310 "same priority, and it is the highest priority available, pages are allocated "
13311 "on a round-robin basis between them."
13312 msgstr ""
13313
13314 #. type: Plain text
13315 #: build/C/man2/swapon.2:108
13316 msgid ""
13317 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13318 "exceptions."
13319 msgstr ""
13320
13321 #. type: Plain text
13322 #: build/C/man2/swapon.2:121
13323 msgid ""
13324 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13325 "area."
13326 msgstr ""
13327
13328 #. type: Plain text
13329 #: build/C/man2/swapon.2:133
13330 msgid ""
13331 "The file I<path> exists, but refers neither to a regular file nor to a block "
13332 "device; or, for B<swapon>(), the indicated path does not contain a valid "
13333 "swap signature or resides on an in-memory file system like tmpfs; or, for "
13334 "B<swapoff>(), I<path> is not currently a swap area."
13335 msgstr ""
13336
13337 #. type: Plain text
13338 #: build/C/man2/swapon.2:141
13339 msgid "The file I<path> does not exist."
13340 msgstr ""
13341
13342 #. type: Plain text
13343 #: build/C/man2/swapon.2:144
13344 msgid "The system has insufficient memory to start swapping."
13345 msgstr ""
13346
13347 #. type: Plain text
13348 #: build/C/man2/swapon.2:151
13349 msgid ""
13350 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
13351 "the maximum number of swap files are already in use; see NOTES below."
13352 msgstr ""
13353
13354 #. type: Plain text
13355 #: build/C/man2/swapon.2:157
13356 msgid ""
13357 "These functions are Linux-specific and should not be used in programs "
13358 "intended to be portable.  The second I<swapflags> argument was introduced in "
13359 "Linux 1.3.2."
13360 msgstr ""
13361
13362 #. type: Plain text
13363 #: build/C/man2/swapon.2:160
13364 msgid "The partition or path must be prepared with B<mkswap>(8)."
13365 msgstr ""
13366
13367 #. type: Plain text
13368 #: build/C/man2/swapon.2:180
13369 msgid ""
13370 "There is an upper limit on the number of swap files that may be used, "
13371 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
13372 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
13373 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
13374 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
13375 "entries for the page migration features of B<mbind>(2)  and "
13376 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
13377 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
13378 msgstr ""
13379
13380 #.  To be precise: 2.6.35.5
13381 #. type: Plain text
13382 #: build/C/man2/swapon.2:191
13383 msgid ""
13384 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
13385 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
13386 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
13387 "set."
13388 msgstr ""
13389
13390 #. type: Plain text
13391 #: build/C/man2/swapon.2:195
13392 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13393 msgstr ""
13394
13395 #. type: TH
13396 #: build/C/man2/syscall.2:40
13397 #, no-wrap
13398 msgid "SYSCALL"
13399 msgstr ""
13400
13401 #. type: TH
13402 #: build/C/man2/syscall.2:40
13403 #, no-wrap
13404 msgid "2012-08-14"
13405 msgstr ""
13406
13407 #. type: Plain text
13408 #: build/C/man2/syscall.2:43
13409 msgid "syscall - indirect system call"
13410 msgstr ""
13411
13412 #. type: Plain text
13413 #: build/C/man2/syscall.2:48
13414 #, no-wrap
13415 msgid ""
13416 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
13417 "B<#include E<lt>unistd.hE<gt>>\n"
13418 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
13419 msgstr ""
13420
13421 #. type: Plain text
13422 #: build/C/man2/syscall.2:50
13423 #, no-wrap
13424 msgid "B<int syscall(int >I<number>B<, ...);>\n"
13425 msgstr ""
13426
13427 #. type: Plain text
13428 #: build/C/man2/syscall.2:62
13429 msgid ""
13430 "B<syscall>()  is a small library function that invokes the system call whose "
13431 "assembly language interface has the specified I<number> with the specified "
13432 "arguments.  Employing B<syscall>()  is useful, for example, when invoking a "
13433 "system call that has no wrapper function in the C library."
13434 msgstr ""
13435
13436 #. type: Plain text
13437 #: build/C/man2/syscall.2:69
13438 msgid ""
13439 "B<syscall>()  saves CPU registers before making the system call, restores "
13440 "the registers upon return from the system call, and stores any error code "
13441 "returned by the system call in B<errno>(3)  if an error occurs."
13442 msgstr ""
13443
13444 #. type: Plain text
13445 #: build/C/man2/syscall.2:72
13446 msgid ""
13447 "Symbolic constants for system call numbers can be found in the header file "
13448 "I<E<lt>sys/syscall.hE<gt>>."
13449 msgstr ""
13450
13451 #. type: Plain text
13452 #: build/C/man2/syscall.2:78
13453 msgid ""
13454 "The return value is defined by the system call being invoked.  In general, a "
13455 "0 return value indicates success.  A -1 return value indicates an error, and "
13456 "an error code is stored in I<errno>."
13457 msgstr ""
13458
13459 #. type: Plain text
13460 #: build/C/man2/syscall.2:82
13461 msgid "B<syscall>()  first appeared in 4BSD."
13462 msgstr ""
13463
13464 #. type: Plain text
13465 #: build/C/man2/syscall.2:88
13466 #, no-wrap
13467 msgid ""
13468 "#define _GNU_SOURCE\n"
13469 "#include E<lt>unistd.hE<gt>\n"
13470 "#include E<lt>sys/syscall.hE<gt>\n"
13471 "#include E<lt>sys/types.hE<gt>\n"
13472 msgstr ""
13473
13474 #. type: Plain text
13475 #: build/C/man2/syscall.2:93
13476 #, no-wrap
13477 msgid ""
13478 "int\n"
13479 "main(int argc, char *argv[])\n"
13480 "{\n"
13481 "    pid_t tid;\n"
13482 msgstr ""
13483
13484 #. type: Plain text
13485 #: build/C/man2/syscall.2:97
13486 #, no-wrap
13487 msgid ""
13488 "    tid = syscall(SYS_gettid);\n"
13489 "    tid = syscall(SYS_tgkill, getpid(), tid);\n"
13490 "}\n"
13491 msgstr ""
13492
13493 #. type: Plain text
13494 #: build/C/man2/syscall.2:102
13495 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2)"
13496 msgstr ""
13497
13498 #. type: TH
13499 #: build/C/man2/syscalls.2:31
13500 #, no-wrap
13501 msgid "SYSCALLS"
13502 msgstr ""
13503
13504 #. type: TH
13505 #: build/C/man2/syscalls.2:31
13506 #, no-wrap
13507 msgid "2013-03-10"
13508 msgstr ""
13509
13510 #. type: Plain text
13511 #: build/C/man2/syscalls.2:34
13512 msgid "syscalls - Linux system calls"
13513 msgstr ""
13514
13515 #. type: Plain text
13516 #: build/C/man2/syscalls.2:36
13517 msgid "Linux system calls."
13518 msgstr ""
13519
13520 #. type: Plain text
13521 #: build/C/man2/syscalls.2:39
13522 msgid ""
13523 "The system call is the fundamental interface between an application and the "
13524 "Linux kernel."
13525 msgstr ""
13526
13527 #. type: SS
13528 #: build/C/man2/syscalls.2:39
13529 #, no-wrap
13530 msgid "System calls and library wrapper functions"
13531 msgstr ""
13532
13533 #. type: Plain text
13534 #: build/C/man2/syscalls.2:49
13535 msgid ""
13536 "System calls are generally not invoked directly, but rather via wrapper "
13537 "functions in glibc (or perhaps some other library).  For details of direct "
13538 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
13539 "name of the wrapper function is the same as the name of the system call that "
13540 "it invokes.  For example, glibc contains a function B<truncate>()  which "
13541 "invokes the underlying \"truncate\" system call."
13542 msgstr ""
13543
13544 #. type: Plain text
13545 #: build/C/man2/syscalls.2:67
13546 msgid ""
13547 "Often the glibc wrapper function is quite thin, doing little work other than "
13548 "copying arguments to the right registers before invoking the system call, "
13549 "and then setting I<errno> appropriately after the system call has returned.  "
13550 "(These are the same steps that are performed by B<syscall>(2), which can be "
13551 "used to invoke system calls for which no wrapper function is provided.)  "
13552 "Note: system calls indicate a failure by returning a negative error number "
13553 "to the caller; when this happens, the wrapper function negates the returned "
13554 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
13555 "the caller of the wrapper."
13556 msgstr ""
13557
13558 #. type: Plain text
13559 #: build/C/man2/syscalls.2:79
13560 msgid ""
13561 "Sometimes, however, the wrapper function does some extra work before "
13562 "invoking the system call.  For example, nowadays there are (for reasons "
13563 "described below) two related system calls, B<truncate>(2)  and "
13564 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
13565 "of those system calls are provided by the kernel and determines which should "
13566 "be employed."
13567 msgstr ""
13568
13569 #. type: SS
13570 #: build/C/man2/syscalls.2:79
13571 #, no-wrap
13572 msgid "System call list"
13573 msgstr ""
13574
13575 #. type: Plain text
13576 #: build/C/man2/syscalls.2:87
13577 msgid ""
13578 "Below is a list of the Linux system calls.  In the list, the I<Kernel> "
13579 "column indicates the kernel version for those system calls that were new in "
13580 "Linux 2.2, or have appeared since that kernel version.  Note the following "
13581 "points:"
13582 msgstr ""
13583
13584 #. type: Plain text
13585 #: build/C/man2/syscalls.2:90
13586 msgid ""
13587 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
13588 "or earlier."
13589 msgstr ""
13590
13591 #. type: Plain text
13592 #: build/C/man2/syscalls.2:96
13593 msgid ""
13594 "Where a system call is marked \"1.2\" this means the system call probably "
13595 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
13596 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
13597 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
13598 msgstr ""
13599
13600 #.  Was kernel 2.0 started from a branch of 1.2.10?
13601 #.  At least from the timestamps of the tarballs of
13602 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
13603 #.  fact the diff doesn't seem very clear, the
13604 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
13605 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
13606 #.  timestamps of some files in 1.3.0 seem to be older
13607 #.  than those in 1.2.10.  All of this suggests
13608 #.  that there might not have been a clean branch point.
13609 #. type: Plain text
13610 #: build/C/man2/syscalls.2:112
13611 msgid ""
13612 "Where a system call is marked \"2.0\" this means the system call probably "
13613 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
13614 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
13615 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
13616 "series.)"
13617 msgstr ""
13618
13619 #. type: Plain text
13620 #: build/C/man2/syscalls.2:118
13621 msgid ""
13622 "Where a system call is marked \"2.2\" this means the system call probably "
13623 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
13624 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
13625 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
13626 msgstr ""
13627
13628 #. type: Plain text
13629 #: build/C/man2/syscalls.2:124
13630 msgid ""
13631 "Where a system call is marked \"2.4\" this means the system call probably "
13632 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
13633 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
13634 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
13635 msgstr ""
13636
13637 #. type: Plain text
13638 #: build/C/man2/syscalls.2:130
13639 msgid ""
13640 "Where a system call is marked \"2.6\" this means the system call probably "
13641 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
13642 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
13643 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
13644 msgstr ""
13645
13646 #. type: Plain text
13647 #: build/C/man2/syscalls.2:137
13648 msgid ""
13649 "Starting with kernel 2.6.0, the development model changed, and new system "
13650 "calls may appear in each 2.6.x release.  In this case, the exact version "
13651 "number where the system call appeared is shown.  This convention continues "
13652 "with the 3.x kernel series, which followed on from kernel 2.6.39."
13653 msgstr ""
13654
13655 #. type: Plain text
13656 #: build/C/man2/syscalls.2:145
13657 msgid ""
13658 "In some cases, a system call was added to a stable kernel series after it "
13659 "branched from the previous stable kernel series, and then backported into "
13660 "the earlier stable kernel series.  For example some system calls that "
13661 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
13662 "When this is so, the version where the system call appeared in both of the "
13663 "major kernel series is listed."
13664 msgstr ""
13665
13666 #
13667 #.  Looking at scripts/checksyscalls.sh in the kernel source is
13668 #.  instructive about x86 specifics.
13669 #. type: Plain text
13670 #: build/C/man2/syscalls.2:152
13671 msgid ""
13672 "The list of system calls that are available as at kernel 3.5 (or in a few "
13673 "cases only on older kernels) is as follows:"
13674 msgstr ""
13675
13676 #. type: tbl table
13677 #: build/C/man2/syscalls.2:157
13678 #, no-wrap
13679 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
13680 msgstr ""
13681
13682 #. type: tbl table
13683 #: build/C/man2/syscalls.2:159
13684 #, no-wrap
13685 msgid "B<_llseek>(2)\t1.2\n"
13686 msgstr ""
13687
13688 #. type: tbl table
13689 #: build/C/man2/syscalls.2:160
13690 #, no-wrap
13691 msgid "B<_newselect>(2)\t2.0\n"
13692 msgstr ""
13693
13694 #. type: tbl table
13695 #: build/C/man2/syscalls.2:161
13696 #, no-wrap
13697 msgid "B<_sysctl>(2)\t2.0\n"
13698 msgstr ""
13699
13700 #. type: tbl table
13701 #: build/C/man2/syscalls.2:162
13702 #, no-wrap
13703 msgid "B<accept>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
13704 msgstr ""
13705
13706 #. type: tbl table
13707 #: build/C/man2/syscalls.2:163
13708 #, no-wrap
13709 msgid "B<accept4>(2)\t2.6.28\n"
13710 msgstr ""
13711
13712 #. type: tbl table
13713 #: build/C/man2/syscalls.2:164
13714 #, no-wrap
13715 msgid "B<access>(2)\t1.0\n"
13716 msgstr ""
13717
13718 #. type: tbl table
13719 #: build/C/man2/syscalls.2:165
13720 #, no-wrap
13721 msgid "B<acct>(2)\t1.0\n"
13722 msgstr ""
13723
13724 #. type: tbl table
13725 #: build/C/man2/syscalls.2:166
13726 #, no-wrap
13727 msgid "B<add_key>(2)\t2.6.11\n"
13728 msgstr ""
13729
13730 #. type: tbl table
13731 #: build/C/man2/syscalls.2:167
13732 #, no-wrap
13733 msgid "B<adjtimex>(2)\t1.0\n"
13734 msgstr ""
13735
13736 #. type: tbl table
13737 #: build/C/man2/syscalls.2:168
13738 #, no-wrap
13739 msgid "B<alarm>(2)\t1.0\n"
13740 msgstr ""
13741
13742 #. type: tbl table
13743 #: build/C/man2/syscalls.2:169
13744 #, no-wrap
13745 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13746 msgstr ""
13747
13748 #. type: tbl table
13749 #: build/C/man2/syscalls.2:170
13750 #, no-wrap
13751 msgid "B<bdflush>(2)\t1.2\tT{\n"
13752 msgstr ""
13753
13754 #. type: tbl table
13755 #: build/C/man2/syscalls.2:171
13756 #, no-wrap
13757 msgid "Deprecated (does nothing) since 2.6\n"
13758 msgstr ""
13759
13760 #. type: tbl table
13761 #: build/C/man2/syscalls.2:172 build/C/man2/syscalls.2:182 build/C/man2/syscalls.2:310 build/C/man2/syscalls.2:381 build/C/man2/syscalls.2:395 build/C/man2/syscalls.2:405 build/C/man2/syscalls.2:532
13762 #, no-wrap
13763 msgid "T}\n"
13764 msgstr ""
13765
13766 #. type: tbl table
13767 #: build/C/man2/syscalls.2:173
13768 #, no-wrap
13769 msgid "B<bind>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
13770 msgstr ""
13771
13772 #. type: tbl table
13773 #: build/C/man2/syscalls.2:174
13774 #, no-wrap
13775 msgid "B<brk>(2)\t1.0\n"
13776 msgstr ""
13777
13778 #. type: tbl table
13779 #: build/C/man2/syscalls.2:175
13780 #, no-wrap
13781 msgid "B<cacheflush>(2)\t1.2\tNot on x86\n"
13782 msgstr ""
13783
13784 #. type: tbl table
13785 #: build/C/man2/syscalls.2:176
13786 #, no-wrap
13787 msgid "B<capget>(2)\t2.2\n"
13788 msgstr ""
13789
13790 #. type: tbl table
13791 #: build/C/man2/syscalls.2:177
13792 #, no-wrap
13793 msgid "B<capset>(2)\t2.2\n"
13794 msgstr ""
13795
13796 #. type: tbl table
13797 #: build/C/man2/syscalls.2:178
13798 #, no-wrap
13799 msgid "B<chdir>(2)\t1.0\n"
13800 msgstr ""
13801
13802 #. type: tbl table
13803 #: build/C/man2/syscalls.2:179
13804 #, no-wrap
13805 msgid "B<chmod>(2)\t1.0\n"
13806 msgstr ""
13807
13808 #. type: tbl table
13809 #: build/C/man2/syscalls.2:180
13810 #, no-wrap
13811 msgid "B<chown>(2)\t2.2\tT{\n"
13812 msgstr ""
13813
13814 #. type: tbl table
13815 #: build/C/man2/syscalls.2:181 build/C/man2/syscalls.2:309
13816 #, no-wrap
13817 msgid "See B<chown>(2) for version details\n"
13818 msgstr ""
13819
13820 #. type: tbl table
13821 #: build/C/man2/syscalls.2:183
13822 #, no-wrap
13823 msgid "B<chown32>(2)\t2.4\n"
13824 msgstr ""
13825
13826 #. type: tbl table
13827 #: build/C/man2/syscalls.2:184
13828 #, no-wrap
13829 msgid "B<chroot>(2)\t1.0\n"
13830 msgstr ""
13831
13832 #. type: tbl table
13833 #: build/C/man2/syscalls.2:185
13834 #, no-wrap
13835 msgid "B<clock_adjtime>(2)\t2.6.39\n"
13836 msgstr ""
13837
13838 #. type: tbl table
13839 #: build/C/man2/syscalls.2:186
13840 #, no-wrap
13841 msgid "B<clock_getres>(2)\t2.6\n"
13842 msgstr ""
13843
13844 #. type: tbl table
13845 #: build/C/man2/syscalls.2:187
13846 #, no-wrap
13847 msgid "B<clock_gettime>(2)\t2.6\n"
13848 msgstr ""
13849
13850 #. type: tbl table
13851 #: build/C/man2/syscalls.2:188
13852 #, no-wrap
13853 msgid "B<clock_nanosleep>(2)\t2.6\n"
13854 msgstr ""
13855
13856 #. type: tbl table
13857 #: build/C/man2/syscalls.2:189
13858 #, no-wrap
13859 msgid "B<clock_settime>(2)\t2.6\n"
13860 msgstr ""
13861
13862 #. type: tbl table
13863 #: build/C/man2/syscalls.2:190
13864 #, no-wrap
13865 msgid "B<clone>(2)\t1.0\n"
13866 msgstr ""
13867
13868 #. type: tbl table
13869 #: build/C/man2/syscalls.2:191
13870 #, no-wrap
13871 msgid "B<close>(2)\t1.0\n"
13872 msgstr ""
13873
13874 #. type: tbl table
13875 #: build/C/man2/syscalls.2:192
13876 #, no-wrap
13877 msgid "B<connect>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
13878 msgstr ""
13879
13880 #. type: tbl table
13881 #: build/C/man2/syscalls.2:193
13882 #, no-wrap
13883 msgid "B<creat>(2)\t1.0\n"
13884 msgstr ""
13885
13886 #. type: tbl table
13887 #: build/C/man2/syscalls.2:194
13888 #, no-wrap
13889 msgid "B<create_module>(2)\t\tRemoved in 2.6\n"
13890 msgstr ""
13891
13892 #. type: tbl table
13893 #: build/C/man2/syscalls.2:195
13894 #, no-wrap
13895 msgid "B<delete_module>(2)\t1.0\n"
13896 msgstr ""
13897
13898 #. type: tbl table
13899 #: build/C/man2/syscalls.2:196
13900 #, no-wrap
13901 msgid "B<dup>(2)\t1.0\n"
13902 msgstr ""
13903
13904 #. type: tbl table
13905 #: build/C/man2/syscalls.2:197
13906 #, no-wrap
13907 msgid "B<dup2>(2)\t1.0\n"
13908 msgstr ""
13909
13910 #. type: tbl table
13911 #: build/C/man2/syscalls.2:198
13912 #, no-wrap
13913 msgid "B<dup3>(2)\t2.6.27\n"
13914 msgstr ""
13915
13916 #. type: tbl table
13917 #: build/C/man2/syscalls.2:199
13918 #, no-wrap
13919 msgid "B<epoll_create>(2)\t2.6\n"
13920 msgstr ""
13921
13922 #. type: tbl table
13923 #: build/C/man2/syscalls.2:200
13924 #, no-wrap
13925 msgid "B<epoll_create1>(2)\t2.6.27\n"
13926 msgstr ""
13927
13928 #. type: tbl table
13929 #: build/C/man2/syscalls.2:201
13930 #, no-wrap
13931 msgid "B<epoll_ctl>(2)\t2.6\n"
13932 msgstr ""
13933
13934 #. type: tbl table
13935 #: build/C/man2/syscalls.2:202
13936 #, no-wrap
13937 msgid "B<epoll_pwait>(2)\t2.6.19\n"
13938 msgstr ""
13939
13940 #. type: tbl table
13941 #: build/C/man2/syscalls.2:203
13942 #, no-wrap
13943 msgid "B<epoll_wait>(2)\t2.6\n"
13944 msgstr ""
13945
13946 #. type: tbl table
13947 #: build/C/man2/syscalls.2:204
13948 #, no-wrap
13949 msgid "B<eventfd>(2)\t2.6.22\n"
13950 msgstr ""
13951
13952 #. type: tbl table
13953 #: build/C/man2/syscalls.2:205
13954 #, no-wrap
13955 msgid "B<eventfd2>(2)\t2.6.27\n"
13956 msgstr ""
13957
13958 #. type: tbl table
13959 #: build/C/man2/syscalls.2:206
13960 #, no-wrap
13961 msgid "B<execve>(2)\t1.0\n"
13962 msgstr ""
13963
13964 #. type: tbl table
13965 #: build/C/man2/syscalls.2:207
13966 #, no-wrap
13967 msgid "B<exit>(2)\t1.0\n"
13968 msgstr ""
13969
13970 #. type: tbl table
13971 #: build/C/man2/syscalls.2:208
13972 #, no-wrap
13973 msgid "B<exit_group>(2)\t2.6\n"
13974 msgstr ""
13975
13976 #. type: tbl table
13977 #: build/C/man2/syscalls.2:209
13978 #, no-wrap
13979 msgid "B<faccessat>(2)\t2.6.16\n"
13980 msgstr ""
13981
13982 #. type: tbl table
13983 #: build/C/man2/syscalls.2:210
13984 #, no-wrap
13985 msgid "B<fadvise64>(2)\t2.6\n"
13986 msgstr ""
13987
13988 #.  Implements \fBposix_fadvise\fP(2)
13989 #. type: tbl table
13990 #: build/C/man2/syscalls.2:212
13991 #, no-wrap
13992 msgid "B<fadvise64_64>(2)\t2.6\n"
13993 msgstr ""
13994
13995 #. type: tbl table
13996 #: build/C/man2/syscalls.2:213
13997 #, no-wrap
13998 msgid "B<fallocate>(2)\t2.6.23\n"
13999 msgstr ""
14000
14001 #. type: tbl table
14002 #: build/C/man2/syscalls.2:214
14003 #, no-wrap
14004 msgid "B<fanotify_init>(2)\t2.6.37\n"
14005 msgstr ""
14006
14007 #. type: tbl table
14008 #: build/C/man2/syscalls.2:215
14009 #, no-wrap
14010 msgid "B<fanotify_mark>(2)\t2.6.37\n"
14011 msgstr ""
14012
14013 #.  The fanotify calls were added in Linux 2.6.36,
14014 #.  but disabled while the API was finalized.
14015 #. type: tbl table
14016 #: build/C/man2/syscalls.2:218
14017 #, no-wrap
14018 msgid "B<fchdir>(2)\t1.0\n"
14019 msgstr ""
14020
14021 #. type: tbl table
14022 #: build/C/man2/syscalls.2:219
14023 #, no-wrap
14024 msgid "B<fchmod>(2)\t1.0\n"
14025 msgstr ""
14026
14027 #. type: tbl table
14028 #: build/C/man2/syscalls.2:220
14029 #, no-wrap
14030 msgid "B<fchmodat>(2)\t2.6.16\n"
14031 msgstr ""
14032
14033 #. type: tbl table
14034 #: build/C/man2/syscalls.2:221
14035 #, no-wrap
14036 msgid "B<fchown>(2)\t1.0\n"
14037 msgstr ""
14038
14039 #. type: tbl table
14040 #: build/C/man2/syscalls.2:222
14041 #, no-wrap
14042 msgid "B<fchown32>(2)\t2.4\n"
14043 msgstr ""
14044
14045 #. type: tbl table
14046 #: build/C/man2/syscalls.2:223
14047 #, no-wrap
14048 msgid "B<fchownat>(2)\t2.6.16\n"
14049 msgstr ""
14050
14051 #. type: tbl table
14052 #: build/C/man2/syscalls.2:224
14053 #, no-wrap
14054 msgid "B<fcntl>(2)\t1.0\n"
14055 msgstr ""
14056
14057 #. type: tbl table
14058 #: build/C/man2/syscalls.2:225
14059 #, no-wrap
14060 msgid "B<fcntl64>(2)\t2.4\n"
14061 msgstr ""
14062
14063 #. type: tbl table
14064 #: build/C/man2/syscalls.2:226
14065 #, no-wrap
14066 msgid "B<fdatasync>(2)\t2.0\n"
14067 msgstr ""
14068
14069 #. type: tbl table
14070 #: build/C/man2/syscalls.2:227
14071 #, no-wrap
14072 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
14073 msgstr ""
14074
14075 #. type: tbl table
14076 #: build/C/man2/syscalls.2:228
14077 #, no-wrap
14078 msgid "B<finit_module>(2)\t3.8\n"
14079 msgstr ""
14080
14081 #. type: tbl table
14082 #: build/C/man2/syscalls.2:229
14083 #, no-wrap
14084 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
14085 msgstr ""
14086
14087 #. type: tbl table
14088 #: build/C/man2/syscalls.2:230
14089 #, no-wrap
14090 msgid "B<flock>(2)\t2.0\n"
14091 msgstr ""
14092
14093 #. type: tbl table
14094 #: build/C/man2/syscalls.2:231
14095 #, no-wrap
14096 msgid "B<fork>(2)\t1.0\n"
14097 msgstr ""
14098
14099 #. type: tbl table
14100 #: build/C/man2/syscalls.2:232
14101 #, no-wrap
14102 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
14103 msgstr ""
14104
14105 #. type: tbl table
14106 #: build/C/man2/syscalls.2:233
14107 #, no-wrap
14108 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
14109 msgstr ""
14110
14111 #. type: tbl table
14112 #: build/C/man2/syscalls.2:234
14113 #, no-wrap
14114 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
14115 msgstr ""
14116
14117 #. type: tbl table
14118 #: build/C/man2/syscalls.2:235
14119 #, no-wrap
14120 msgid "B<fstat>(2)\t1.0\n"
14121 msgstr ""
14122
14123 #. type: tbl table
14124 #: build/C/man2/syscalls.2:236
14125 #, no-wrap
14126 msgid "B<fstat64>(2)\t2.4\n"
14127 msgstr ""
14128
14129 #. type: tbl table
14130 #: build/C/man2/syscalls.2:237
14131 #, no-wrap
14132 msgid "B<fstatat64>(2)\t2.6.16\n"
14133 msgstr ""
14134
14135 #. type: tbl table
14136 #: build/C/man2/syscalls.2:238
14137 #, no-wrap
14138 msgid "B<fstatfs>(2)\t1.0\n"
14139 msgstr ""
14140
14141 #. type: tbl table
14142 #: build/C/man2/syscalls.2:239
14143 #, no-wrap
14144 msgid "B<fstatfs64>(2)\t2.6\n"
14145 msgstr ""
14146
14147 #. type: tbl table
14148 #: build/C/man2/syscalls.2:240
14149 #, no-wrap
14150 msgid "B<fsync>(2)\t1.0\t1.0\n"
14151 msgstr ""
14152
14153 #. type: tbl table
14154 #: build/C/man2/syscalls.2:241
14155 #, no-wrap
14156 msgid "B<ftruncate>(2)\t1.0\n"
14157 msgstr ""
14158
14159 #. type: tbl table
14160 #: build/C/man2/syscalls.2:242
14161 #, no-wrap
14162 msgid "B<ftruncate64>(2)\t2.4\n"
14163 msgstr ""
14164
14165 #. type: tbl table
14166 #: build/C/man2/syscalls.2:243
14167 #, no-wrap
14168 msgid "B<futex>(2)\t2.6\n"
14169 msgstr ""
14170
14171 #. type: tbl table
14172 #: build/C/man2/syscalls.2:244
14173 #, no-wrap
14174 msgid "B<futimesat>(2)\t2.6.16\n"
14175 msgstr ""
14176
14177 #. type: tbl table
14178 #: build/C/man2/syscalls.2:245
14179 #, no-wrap
14180 msgid "B<get_kernel_syms>(2)\t\tRemoved in 2.6\n"
14181 msgstr ""
14182
14183 #. type: tbl table
14184 #: build/C/man2/syscalls.2:246
14185 #, no-wrap
14186 msgid "B<get_mempolicy>(2)\t2.6.6\n"
14187 msgstr ""
14188
14189 #. type: tbl table
14190 #: build/C/man2/syscalls.2:247
14191 #, no-wrap
14192 msgid "B<get_robust_list>(2)\t2.6.17\n"
14193 msgstr ""
14194
14195 #. type: tbl table
14196 #: build/C/man2/syscalls.2:248
14197 #, no-wrap
14198 msgid "B<get_thread_area>(2)\t2.6\n"
14199 msgstr ""
14200
14201 #. type: tbl table
14202 #: build/C/man2/syscalls.2:249
14203 #, no-wrap
14204 msgid "B<getcpu>(2)\t2.6.19\n"
14205 msgstr ""
14206
14207 #. type: tbl table
14208 #: build/C/man2/syscalls.2:250
14209 #, no-wrap
14210 msgid "B<getcwd>(2)\t2.2\n"
14211 msgstr ""
14212
14213 #. type: tbl table
14214 #: build/C/man2/syscalls.2:251
14215 #, no-wrap
14216 msgid "B<getdents>(2)\t2.0\n"
14217 msgstr ""
14218
14219 #. type: tbl table
14220 #: build/C/man2/syscalls.2:252
14221 #, no-wrap
14222 msgid "B<getdents64>(2)\t2.4\n"
14223 msgstr ""
14224
14225 #. type: tbl table
14226 #: build/C/man2/syscalls.2:253
14227 #, no-wrap
14228 msgid "B<getegid>(2)\t1.0\n"
14229 msgstr ""
14230
14231 #. type: tbl table
14232 #: build/C/man2/syscalls.2:254
14233 #, no-wrap
14234 msgid "B<getegid32>(2)\t2.4\n"
14235 msgstr ""
14236
14237 #. type: tbl table
14238 #: build/C/man2/syscalls.2:255
14239 #, no-wrap
14240 msgid "B<geteuid>(2)\t1.0\n"
14241 msgstr ""
14242
14243 #. type: tbl table
14244 #: build/C/man2/syscalls.2:256
14245 #, no-wrap
14246 msgid "B<geteuid32>(2)\t2.4\n"
14247 msgstr ""
14248
14249 #. type: tbl table
14250 #: build/C/man2/syscalls.2:257
14251 #, no-wrap
14252 msgid "B<getgid>(2)\t1.0\n"
14253 msgstr ""
14254
14255 #. type: tbl table
14256 #: build/C/man2/syscalls.2:258
14257 #, no-wrap
14258 msgid "B<getgid32>(2)\t2.4\n"
14259 msgstr ""
14260
14261 #. type: tbl table
14262 #: build/C/man2/syscalls.2:259
14263 #, no-wrap
14264 msgid "B<getgroups>(2)\t1.0\n"
14265 msgstr ""
14266
14267 #. type: tbl table
14268 #: build/C/man2/syscalls.2:260
14269 #, no-wrap
14270 msgid "B<getgroups32>(2)\t2.4\n"
14271 msgstr ""
14272
14273 #. type: tbl table
14274 #: build/C/man2/syscalls.2:261
14275 #, no-wrap
14276 msgid "B<getitimer>(2)\t1.0\n"
14277 msgstr ""
14278
14279 #. type: tbl table
14280 #: build/C/man2/syscalls.2:262
14281 #, no-wrap
14282 msgid "B<getpeername>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14283 msgstr ""
14284
14285 #. type: tbl table
14286 #: build/C/man2/syscalls.2:263
14287 #, no-wrap
14288 msgid "B<getpagesize>(2)\t2.0\tNot on x86\n"
14289 msgstr ""
14290
14291 #. type: tbl table
14292 #: build/C/man2/syscalls.2:264
14293 #, no-wrap
14294 msgid "B<getpgid>(2)\t1.0\n"
14295 msgstr ""
14296
14297 #. type: tbl table
14298 #: build/C/man2/syscalls.2:265
14299 #, no-wrap
14300 msgid "B<getpgrp>(2)\t1.0\n"
14301 msgstr ""
14302
14303 #. type: tbl table
14304 #: build/C/man2/syscalls.2:266
14305 #, no-wrap
14306 msgid "B<getpid>(2)\t1.0\n"
14307 msgstr ""
14308
14309 #. type: tbl table
14310 #: build/C/man2/syscalls.2:267
14311 #, no-wrap
14312 msgid "B<getppid>(2)\t1.0\n"
14313 msgstr ""
14314
14315 #. type: tbl table
14316 #: build/C/man2/syscalls.2:268
14317 #, no-wrap
14318 msgid "B<getpriority>(2)\t1.0\n"
14319 msgstr ""
14320
14321 #. type: tbl table
14322 #: build/C/man2/syscalls.2:269
14323 #, no-wrap
14324 msgid "B<getresgid>(2)\t2.2\n"
14325 msgstr ""
14326
14327 #. type: tbl table
14328 #: build/C/man2/syscalls.2:270
14329 #, no-wrap
14330 msgid "B<getresgid32>(2)\t2.4\n"
14331 msgstr ""
14332
14333 #. type: tbl table
14334 #: build/C/man2/syscalls.2:271
14335 #, no-wrap
14336 msgid "B<getresuid>(2)\t2.2\n"
14337 msgstr ""
14338
14339 #. type: tbl table
14340 #: build/C/man2/syscalls.2:272
14341 #, no-wrap
14342 msgid "B<getresuid32>(2)\t2.4\n"
14343 msgstr ""
14344
14345 #. type: tbl table
14346 #: build/C/man2/syscalls.2:273
14347 #, no-wrap
14348 msgid "B<getrlimit>(2)\t1.0\n"
14349 msgstr ""
14350
14351 #. type: tbl table
14352 #: build/C/man2/syscalls.2:274
14353 #, no-wrap
14354 msgid "B<getrusage>(2)\t1.0\n"
14355 msgstr ""
14356
14357 #. type: tbl table
14358 #: build/C/man2/syscalls.2:275
14359 #, no-wrap
14360 msgid "B<getsid>(2)\t2.0\n"
14361 msgstr ""
14362
14363 #. type: tbl table
14364 #: build/C/man2/syscalls.2:276
14365 #, no-wrap
14366 msgid "B<getsockname>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14367 msgstr ""
14368
14369 #. type: tbl table
14370 #: build/C/man2/syscalls.2:277
14371 #, no-wrap
14372 msgid "B<getsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14373 msgstr ""
14374
14375 #. type: tbl table
14376 #: build/C/man2/syscalls.2:278
14377 #, no-wrap
14378 msgid "B<gettid>(2)\t2.4.11\n"
14379 msgstr ""
14380
14381 #. type: tbl table
14382 #: build/C/man2/syscalls.2:279
14383 #, no-wrap
14384 msgid "B<gettimeofday>(2)\t1.0\n"
14385 msgstr ""
14386
14387 #. type: tbl table
14388 #: build/C/man2/syscalls.2:280
14389 #, no-wrap
14390 msgid "B<getuid>(2)\t1.0\n"
14391 msgstr ""
14392
14393 #. type: tbl table
14394 #: build/C/man2/syscalls.2:281
14395 #, no-wrap
14396 msgid "B<getuid32>(2)\t2.4\n"
14397 msgstr ""
14398
14399 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
14400 #. type: tbl table
14401 #: build/C/man2/syscalls.2:283
14402 #, no-wrap
14403 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
14404 msgstr ""
14405
14406 #. type: tbl table
14407 #: build/C/man2/syscalls.2:284
14408 #, no-wrap
14409 msgid "B<init_module>(2)\t1.0\n"
14410 msgstr ""
14411
14412 #. type: tbl table
14413 #: build/C/man2/syscalls.2:285
14414 #, no-wrap
14415 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
14416 msgstr ""
14417
14418 #. type: tbl table
14419 #: build/C/man2/syscalls.2:286
14420 #, no-wrap
14421 msgid "B<inotify_init>(2)\t2.6.13\n"
14422 msgstr ""
14423
14424 #. type: tbl table
14425 #: build/C/man2/syscalls.2:287
14426 #, no-wrap
14427 msgid "B<inotify_init1>(2)\t2.6.27\n"
14428 msgstr ""
14429
14430 #. type: tbl table
14431 #: build/C/man2/syscalls.2:288
14432 #, no-wrap
14433 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
14434 msgstr ""
14435
14436 #. type: tbl table
14437 #: build/C/man2/syscalls.2:289
14438 #, no-wrap
14439 msgid "B<io_cancel>(2)\t2.6\n"
14440 msgstr ""
14441
14442 #. type: tbl table
14443 #: build/C/man2/syscalls.2:290
14444 #, no-wrap
14445 msgid "B<io_destroy>(2)\t2.6\n"
14446 msgstr ""
14447
14448 #. type: tbl table
14449 #: build/C/man2/syscalls.2:291
14450 #, no-wrap
14451 msgid "B<io_getevents>(2)\t2.6\n"
14452 msgstr ""
14453
14454 #. type: tbl table
14455 #: build/C/man2/syscalls.2:292
14456 #, no-wrap
14457 msgid "B<io_setup>(2)\t2.6\n"
14458 msgstr ""
14459
14460 #. type: tbl table
14461 #: build/C/man2/syscalls.2:293
14462 #, no-wrap
14463 msgid "B<io_submit>(2)\t2.6\n"
14464 msgstr ""
14465
14466 #. type: tbl table
14467 #: build/C/man2/syscalls.2:294
14468 #, no-wrap
14469 msgid "B<ioctl>(2)\t1.0\n"
14470 msgstr ""
14471
14472 #. type: tbl table
14473 #: build/C/man2/syscalls.2:295
14474 #, no-wrap
14475 msgid "B<ioperm>(2)\t1.0\n"
14476 msgstr ""
14477
14478 #. type: tbl table
14479 #: build/C/man2/syscalls.2:296
14480 #, no-wrap
14481 msgid "B<iopl>(2)\t1.0\n"
14482 msgstr ""
14483
14484 #. type: tbl table
14485 #: build/C/man2/syscalls.2:297
14486 #, no-wrap
14487 msgid "B<ioprio_get>(2)\t2.6.13\n"
14488 msgstr ""
14489
14490 #. type: tbl table
14491 #: build/C/man2/syscalls.2:298
14492 #, no-wrap
14493 msgid "B<ioprio_set>(2)\t2.6.13\n"
14494 msgstr ""
14495
14496 #. type: tbl table
14497 #: build/C/man2/syscalls.2:299
14498 #, no-wrap
14499 msgid "B<ipc>(2)\t1.0\n"
14500 msgstr ""
14501
14502 #.  Implements System V IPC calls
14503 #. type: tbl table
14504 #: build/C/man2/syscalls.2:301
14505 #, no-wrap
14506 msgid "B<kcmp>(2)\t3.5\n"
14507 msgstr ""
14508
14509 #. type: tbl table
14510 #: build/C/man2/syscalls.2:302
14511 #, no-wrap
14512 msgid "B<kern_features>(2)\t3.7\tSparc64\n"
14513 msgstr ""
14514
14515 #. type: tbl table
14516 #: build/C/man2/syscalls.2:303
14517 #, no-wrap
14518 msgid "B<kexec_load>(2)\t2.6.13\n"
14519 msgstr ""
14520
14521 #.  The entry in the syscall table was reserved starting in 2.6.7
14522 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
14523 #. type: tbl table
14524 #: build/C/man2/syscalls.2:306
14525 #, no-wrap
14526 msgid "B<keyctl>(2)\t2.6.11\n"
14527 msgstr ""
14528
14529 #. type: tbl table
14530 #: build/C/man2/syscalls.2:307
14531 #, no-wrap
14532 msgid "B<kill>(2)\t1.0\n"
14533 msgstr ""
14534
14535 #. type: tbl table
14536 #: build/C/man2/syscalls.2:308
14537 #, no-wrap
14538 msgid "B<lchown>(2)\t1.0\tT{\n"
14539 msgstr ""
14540
14541 #. type: tbl table
14542 #: build/C/man2/syscalls.2:311
14543 #, no-wrap
14544 msgid "B<lchown32>(2)\t2.4\n"
14545 msgstr ""
14546
14547 #. type: tbl table
14548 #: build/C/man2/syscalls.2:312
14549 #, no-wrap
14550 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14551 msgstr ""
14552
14553 #. type: tbl table
14554 #: build/C/man2/syscalls.2:313
14555 #, no-wrap
14556 msgid "B<link>(2)\t1.0\n"
14557 msgstr ""
14558
14559 #. type: tbl table
14560 #: build/C/man2/syscalls.2:314
14561 #, no-wrap
14562 msgid "B<linkat>(2)\t2.6.16\n"
14563 msgstr ""
14564
14565 #. type: tbl table
14566 #: build/C/man2/syscalls.2:315
14567 #, no-wrap
14568 msgid "B<listen>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
14569 msgstr ""
14570
14571 #. type: tbl table
14572 #: build/C/man2/syscalls.2:316
14573 #, no-wrap
14574 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
14575 msgstr ""
14576
14577 #. type: tbl table
14578 #: build/C/man2/syscalls.2:317
14579 #, no-wrap
14580 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
14581 msgstr ""
14582
14583 #. type: tbl table
14584 #: build/C/man2/syscalls.2:318
14585 #, no-wrap
14586 msgid "B<lookup_dcookie>(2)\t2.6\n"
14587 msgstr ""
14588
14589 #. type: tbl table
14590 #: build/C/man2/syscalls.2:319
14591 #, no-wrap
14592 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14593 msgstr ""
14594
14595 #. type: tbl table
14596 #: build/C/man2/syscalls.2:320
14597 #, no-wrap
14598 msgid "B<lseek>(2)\t1.0\n"
14599 msgstr ""
14600
14601 #. type: tbl table
14602 #: build/C/man2/syscalls.2:321
14603 #, no-wrap
14604 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14605 msgstr ""
14606
14607 #. type: tbl table
14608 #: build/C/man2/syscalls.2:322
14609 #, no-wrap
14610 msgid "B<lstat>(2)\t1.0\n"
14611 msgstr ""
14612
14613 #. type: tbl table
14614 #: build/C/man2/syscalls.2:323
14615 #, no-wrap
14616 msgid "B<lstat64>(2)\t2.4\n"
14617 msgstr ""
14618
14619 #. type: tbl table
14620 #: build/C/man2/syscalls.2:324
14621 #, no-wrap
14622 msgid "B<madvise>(2)\t2.4\n"
14623 msgstr ""
14624
14625 #. type: tbl table
14626 #: build/C/man2/syscalls.2:325
14627 #, no-wrap
14628 msgid "B<madvise1>(2)\t2.4\n"
14629 msgstr ""
14630
14631 #. type: tbl table
14632 #: build/C/man2/syscalls.2:326
14633 #, no-wrap
14634 msgid "B<mbind>(2)\t2.6.6\n"
14635 msgstr ""
14636
14637 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
14638 #. type: tbl table
14639 #: build/C/man2/syscalls.2:328
14640 #, no-wrap
14641 msgid "B<migrate_pages>(2)\t2.6.16\n"
14642 msgstr ""
14643
14644 #. type: tbl table
14645 #: build/C/man2/syscalls.2:329
14646 #, no-wrap
14647 msgid "B<mincore>(2)\t2.4\n"
14648 msgstr ""
14649
14650 #. type: tbl table
14651 #: build/C/man2/syscalls.2:330
14652 #, no-wrap
14653 msgid "B<mkdir>(2)\t1.0\n"
14654 msgstr ""
14655
14656 #. type: tbl table
14657 #: build/C/man2/syscalls.2:331
14658 #, no-wrap
14659 msgid "B<mkdirat>(2)\t2.6.16\n"
14660 msgstr ""
14661
14662 #. type: tbl table
14663 #: build/C/man2/syscalls.2:332
14664 #, no-wrap
14665 msgid "B<mknod>(2)\t1.0\n"
14666 msgstr ""
14667
14668 #. type: tbl table
14669 #: build/C/man2/syscalls.2:333
14670 #, no-wrap
14671 msgid "B<mknodat>(2)\t2.6.16\n"
14672 msgstr ""
14673
14674 #. type: tbl table
14675 #: build/C/man2/syscalls.2:334
14676 #, no-wrap
14677 msgid "B<mlock>(2)\t2.0\n"
14678 msgstr ""
14679
14680 #. type: tbl table
14681 #: build/C/man2/syscalls.2:335
14682 #, no-wrap
14683 msgid "B<mlockall>(2)\t2.0\n"
14684 msgstr ""
14685
14686 #. type: tbl table
14687 #: build/C/man2/syscalls.2:336
14688 #, no-wrap
14689 msgid "B<mmap>(2)\t1.0\n"
14690 msgstr ""
14691
14692 #. type: tbl table
14693 #: build/C/man2/syscalls.2:337
14694 #, no-wrap
14695 msgid "B<mmap2>(2)\t2.4\n"
14696 msgstr ""
14697
14698 #. type: tbl table
14699 #: build/C/man2/syscalls.2:338
14700 #, no-wrap
14701 msgid "B<modify_ldt>(2)\t1.0\n"
14702 msgstr ""
14703
14704 #. type: tbl table
14705 #: build/C/man2/syscalls.2:339
14706 #, no-wrap
14707 msgid "B<mount>(2)\t1.0\n"
14708 msgstr ""
14709
14710 #. type: tbl table
14711 #: build/C/man2/syscalls.2:340
14712 #, no-wrap
14713 msgid "B<move_pages>(2)\t2.6.18\n"
14714 msgstr ""
14715
14716 #. type: tbl table
14717 #: build/C/man2/syscalls.2:341
14718 #, no-wrap
14719 msgid "B<mprotect>(2)\t1.0\n"
14720 msgstr ""
14721
14722 #. type: tbl table
14723 #: build/C/man2/syscalls.2:342
14724 #, no-wrap
14725 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
14726 msgstr ""
14727
14728 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
14729 #. type: tbl table
14730 #: build/C/man2/syscalls.2:344
14731 #, no-wrap
14732 msgid "B<mq_notify>(2)\t2.6.6\n"
14733 msgstr ""
14734
14735 #. type: tbl table
14736 #: build/C/man2/syscalls.2:345
14737 #, no-wrap
14738 msgid "B<mq_open>(2)\t2.6.6\n"
14739 msgstr ""
14740
14741 #. type: tbl table
14742 #: build/C/man2/syscalls.2:346
14743 #, no-wrap
14744 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
14745 msgstr ""
14746
14747 #. type: tbl table
14748 #: build/C/man2/syscalls.2:347
14749 #, no-wrap
14750 msgid "B<mq_timedsend>(2)\t2.6.6\n"
14751 msgstr ""
14752
14753 #. type: tbl table
14754 #: build/C/man2/syscalls.2:348
14755 #, no-wrap
14756 msgid "B<mq_unlink>(2)\t2.6.6\n"
14757 msgstr ""
14758
14759 #. type: tbl table
14760 #: build/C/man2/syscalls.2:349
14761 #, no-wrap
14762 msgid "B<mremap>(2)\t2.0\n"
14763 msgstr ""
14764
14765 #. type: tbl table
14766 #: build/C/man2/syscalls.2:350
14767 #, no-wrap
14768 msgid "B<msgctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14769 msgstr ""
14770
14771 #. type: tbl table
14772 #: build/C/man2/syscalls.2:351
14773 #, no-wrap
14774 msgid "B<msgget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14775 msgstr ""
14776
14777 #. type: tbl table
14778 #: build/C/man2/syscalls.2:352
14779 #, no-wrap
14780 msgid "B<msgrcv>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14781 msgstr ""
14782
14783 #. type: tbl table
14784 #: build/C/man2/syscalls.2:353
14785 #, no-wrap
14786 msgid "B<msgsnd>(2)\t2.0\tSee notes on B<ipc>(2)\n"
14787 msgstr ""
14788
14789 #. type: tbl table
14790 #: build/C/man2/syscalls.2:354
14791 #, no-wrap
14792 msgid "B<msync>(2)\t2.0\n"
14793 msgstr ""
14794
14795 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
14796 #.              PowerPC, but unimplemented?
14797 #. type: tbl table
14798 #: build/C/man2/syscalls.2:357
14799 #, no-wrap
14800 msgid "B<munlock>(2)\t2.0\n"
14801 msgstr ""
14802
14803 #. type: tbl table
14804 #: build/C/man2/syscalls.2:358
14805 #, no-wrap
14806 msgid "B<munlockall>(2)\t2.0\n"
14807 msgstr ""
14808
14809 #. type: tbl table
14810 #: build/C/man2/syscalls.2:359
14811 #, no-wrap
14812 msgid "B<munmap>(2)\t1.0\n"
14813 msgstr ""
14814
14815 #. type: tbl table
14816 #: build/C/man2/syscalls.2:360
14817 #, no-wrap
14818 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
14819 msgstr ""
14820
14821 #. type: tbl table
14822 #: build/C/man2/syscalls.2:361
14823 #, no-wrap
14824 msgid "B<nanosleep>(2)\t2.0\n"
14825 msgstr ""
14826
14827 #. type: tbl table
14828 #: build/C/man2/syscalls.2:362
14829 #, no-wrap
14830 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
14831 msgstr ""
14832
14833 #. type: tbl table
14834 #: build/C/man2/syscalls.2:363
14835 #, no-wrap
14836 msgid "B<nice>(2)\t1.0\n"
14837 msgstr ""
14838
14839 #. type: tbl table
14840 #: build/C/man2/syscalls.2:364
14841 #, no-wrap
14842 msgid "B<oldfstat>(2)\t1.0\n"
14843 msgstr ""
14844
14845 #. type: tbl table
14846 #: build/C/man2/syscalls.2:365
14847 #, no-wrap
14848 msgid "B<oldlstat>(2)\t1.0\n"
14849 msgstr ""
14850
14851 #. type: tbl table
14852 #: build/C/man2/syscalls.2:366
14853 #, no-wrap
14854 msgid "B<oldolduname>(2)\t1.0\n"
14855 msgstr ""
14856
14857 #. type: tbl table
14858 #: build/C/man2/syscalls.2:367
14859 #, no-wrap
14860 msgid "B<oldstat>(2)\t1.0\n"
14861 msgstr ""
14862
14863 #. type: tbl table
14864 #: build/C/man2/syscalls.2:368
14865 #, no-wrap
14866 msgid "B<olduname>(2)\t1.0\n"
14867 msgstr ""
14868
14869 #. type: tbl table
14870 #: build/C/man2/syscalls.2:369
14871 #, no-wrap
14872 msgid "B<open>(2)\t1.0\n"
14873 msgstr ""
14874
14875 #. type: tbl table
14876 #: build/C/man2/syscalls.2:370
14877 #, no-wrap
14878 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
14879 msgstr ""
14880
14881 #. type: tbl table
14882 #: build/C/man2/syscalls.2:371
14883 #, no-wrap
14884 msgid "B<openat>(2)\t2.6.16\n"
14885 msgstr ""
14886
14887 #. type: tbl table
14888 #: build/C/man2/syscalls.2:372
14889 #, no-wrap
14890 msgid "B<pause>(2)\t1.0\n"
14891 msgstr ""
14892
14893 #. type: tbl table
14894 #: build/C/man2/syscalls.2:373
14895 #, no-wrap
14896 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on x86\n"
14897 msgstr ""
14898
14899 #.  Alpha, PowerPC, ARM; not x86
14900 #. type: tbl table
14901 #: build/C/man2/syscalls.2:375
14902 #, no-wrap
14903 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on x86\n"
14904 msgstr ""
14905
14906 #.  , PowerPC, ARM; not x86
14907 #. type: tbl table
14908 #: build/C/man2/syscalls.2:377
14909 #, no-wrap
14910 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on x86\n"
14911 msgstr ""
14912
14913 #.  , PowerPC, ARM; not x86
14914 #. type: tbl table
14915 #: build/C/man2/syscalls.2:379
14916 #, no-wrap
14917 msgid "B<perf_event_open>(2)\t2.6.31\tT{\n"
14918 msgstr ""
14919
14920 #. type: tbl table
14921 #: build/C/man2/syscalls.2:380
14922 #, no-wrap
14923 msgid "Was called perf_counter_open() in 2.6.31; renamed in 2.6.32\n"
14924 msgstr ""
14925
14926 #. type: tbl table
14927 #: build/C/man2/syscalls.2:382
14928 #, no-wrap
14929 msgid "B<personality>(2)\t1.2\n"
14930 msgstr ""
14931
14932 #. type: tbl table
14933 #: build/C/man2/syscalls.2:383
14934 #, no-wrap
14935 msgid "B<perfctr>(2)\t2.2\tSparc; removed in 2.6.34\n"
14936 msgstr ""
14937
14938 #.      commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr()
14939 #. type: tbl table
14940 #: build/C/man2/syscalls.2:385
14941 #, no-wrap
14942 msgid "B<perfmonctl>(2)\t2.4\tia64\n"
14943 msgstr ""
14944
14945 #. type: tbl table
14946 #: build/C/man2/syscalls.2:386
14947 #, no-wrap
14948 msgid "B<pipe>(2)\t1.0\n"
14949 msgstr ""
14950
14951 #. type: tbl table
14952 #: build/C/man2/syscalls.2:387
14953 #, no-wrap
14954 msgid "B<pipe2>(2)\t2.6.27\n"
14955 msgstr ""
14956
14957 #. type: tbl table
14958 #: build/C/man2/syscalls.2:388
14959 #, no-wrap
14960 msgid "B<pivot_root>(2)\t2.4\n"
14961 msgstr ""
14962
14963 #. type: tbl table
14964 #: build/C/man2/syscalls.2:389
14965 #, no-wrap
14966 msgid "B<poll>(2)\t2.0.36; 2.2\n"
14967 msgstr ""
14968
14969 #. type: tbl table
14970 #: build/C/man2/syscalls.2:390
14971 #, no-wrap
14972 msgid "B<ppc_rtas>(2)\t\tPowerPC only\n"
14973 msgstr ""
14974
14975 #. type: tbl table
14976 #: build/C/man2/syscalls.2:391
14977 #, no-wrap
14978 msgid "B<ppoll>(2)\t2.6.16\n"
14979 msgstr ""
14980
14981 #. type: tbl table
14982 #: build/C/man2/syscalls.2:392
14983 #, no-wrap
14984 msgid "B<prctl>(2)\t2.2\n"
14985 msgstr ""
14986
14987 #. type: tbl table
14988 #: build/C/man2/syscalls.2:393
14989 #, no-wrap
14990 msgid "B<pread64>(2)\t\tT{\n"
14991 msgstr ""
14992
14993 #. type: tbl table
14994 #: build/C/man2/syscalls.2:394
14995 #, no-wrap
14996 msgid "Added as \"pread\" in 2.2; renamed \"pread64\" in 2.6\n"
14997 msgstr ""
14998
14999 #. type: tbl table
15000 #: build/C/man2/syscalls.2:396
15001 #, no-wrap
15002 msgid "B<preadv>(2)\t2.6.30\n"
15003 msgstr ""
15004
15005 #. type: tbl table
15006 #: build/C/man2/syscalls.2:397
15007 #, no-wrap
15008 msgid "B<prlimit>(2)\t2.6.36\n"
15009 msgstr ""
15010
15011 #. type: tbl table
15012 #: build/C/man2/syscalls.2:398
15013 #, no-wrap
15014 msgid "B<process_vm_readv>(2)\t3.2\n"
15015 msgstr ""
15016
15017 #. type: tbl table
15018 #: build/C/man2/syscalls.2:399
15019 #, no-wrap
15020 msgid "B<process_vm_writev>(2)\t3.2\n"
15021 msgstr ""
15022
15023 #. type: tbl table
15024 #: build/C/man2/syscalls.2:400
15025 #, no-wrap
15026 msgid "B<pselect6>(2)\t2.6.16\n"
15027 msgstr ""
15028
15029 #.  Implements \fBpselect\fP(2)
15030 #. type: tbl table
15031 #: build/C/man2/syscalls.2:402
15032 #, no-wrap
15033 msgid "B<ptrace>(2)\t1.0\n"
15034 msgstr ""
15035
15036 #. type: tbl table
15037 #: build/C/man2/syscalls.2:403
15038 #, no-wrap
15039 msgid "B<pwrite64>(2)\t\tT{\n"
15040 msgstr ""
15041
15042 #. type: tbl table
15043 #: build/C/man2/syscalls.2:404
15044 #, no-wrap
15045 msgid "Added as \"pwrite\" in 2.2; renamed \"pwrite64\" in 2.6\n"
15046 msgstr ""
15047
15048 #. type: tbl table
15049 #: build/C/man2/syscalls.2:406
15050 #, no-wrap
15051 msgid "B<pwritev>(2)\t2.6.30\n"
15052 msgstr ""
15053
15054 #. type: tbl table
15055 #: build/C/man2/syscalls.2:407
15056 #, no-wrap
15057 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
15058 msgstr ""
15059
15060 #. type: tbl table
15061 #: build/C/man2/syscalls.2:408
15062 #, no-wrap
15063 msgid "B<quotactl>(2)\t1.0\n"
15064 msgstr ""
15065
15066 #. type: tbl table
15067 #: build/C/man2/syscalls.2:409
15068 #, no-wrap
15069 msgid "B<read>(2)\t1.0\n"
15070 msgstr ""
15071
15072 #. type: tbl table
15073 #: build/C/man2/syscalls.2:410
15074 #, no-wrap
15075 msgid "B<readahead>(2)\t2.4.13\n"
15076 msgstr ""
15077
15078 #. type: tbl table
15079 #: build/C/man2/syscalls.2:411
15080 #, no-wrap
15081 msgid "B<readdir>(2)\t1.0\n"
15082 msgstr ""
15083
15084 #.  Supersedes \fBgetdents\fP(2)
15085 #. type: tbl table
15086 #: build/C/man2/syscalls.2:413
15087 #, no-wrap
15088 msgid "B<readlink>(2)\t1.0\n"
15089 msgstr ""
15090
15091 #. type: tbl table
15092 #: build/C/man2/syscalls.2:414
15093 #, no-wrap
15094 msgid "B<readlinkat>(2)\t2.6.16\n"
15095 msgstr ""
15096
15097 #. type: tbl table
15098 #: build/C/man2/syscalls.2:415
15099 #, no-wrap
15100 msgid "B<readv>(2)\t2.0\n"
15101 msgstr ""
15102
15103 #. type: tbl table
15104 #: build/C/man2/syscalls.2:416
15105 #, no-wrap
15106 msgid "B<reboot>(2)\t1.0\n"
15107 msgstr ""
15108
15109 #. type: tbl table
15110 #: build/C/man2/syscalls.2:417
15111 #, no-wrap
15112 msgid "B<recv>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15113 msgstr ""
15114
15115 #. type: tbl table
15116 #: build/C/man2/syscalls.2:418
15117 #, no-wrap
15118 msgid "B<recvfrom>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15119 msgstr ""
15120
15121 #. type: tbl table
15122 #: build/C/man2/syscalls.2:419
15123 #, no-wrap
15124 msgid "B<recvmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15125 msgstr ""
15126
15127 #. type: tbl table
15128 #: build/C/man2/syscalls.2:420
15129 #, no-wrap
15130 msgid "B<recvmmsg>(2)\t2.6.33\n"
15131 msgstr ""
15132
15133 #. type: tbl table
15134 #: build/C/man2/syscalls.2:421
15135 #, no-wrap
15136 msgid "B<remap_file_pages>(2)\t2.6\n"
15137 msgstr ""
15138
15139 #. type: tbl table
15140 #: build/C/man2/syscalls.2:422
15141 #, no-wrap
15142 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
15143 msgstr ""
15144
15145 #. type: tbl table
15146 #: build/C/man2/syscalls.2:423
15147 #, no-wrap
15148 msgid "B<rename>(2)\t1.0\n"
15149 msgstr ""
15150
15151 #. type: tbl table
15152 #: build/C/man2/syscalls.2:424
15153 #, no-wrap
15154 msgid "B<renameat>(2)\t2.6.16\n"
15155 msgstr ""
15156
15157 #. type: tbl table
15158 #: build/C/man2/syscalls.2:425
15159 #, no-wrap
15160 msgid "B<request_key>(2)\t2.6.11\n"
15161 msgstr ""
15162
15163 #. type: tbl table
15164 #: build/C/man2/syscalls.2:426
15165 #, no-wrap
15166 msgid "B<restart_syscall>(2)\t2.6\n"
15167 msgstr ""
15168
15169 #. type: tbl table
15170 #: build/C/man2/syscalls.2:427
15171 #, no-wrap
15172 msgid "B<rmdir>(2)\t1.0\n"
15173 msgstr ""
15174
15175 #. type: tbl table
15176 #: build/C/man2/syscalls.2:428
15177 #, no-wrap
15178 msgid "B<rt_sigaction>(2)\t2.2\n"
15179 msgstr ""
15180
15181 #. type: tbl table
15182 #: build/C/man2/syscalls.2:429
15183 #, no-wrap
15184 msgid "B<rt_sigpending>(2)\t2.2\n"
15185 msgstr ""
15186
15187 #. type: tbl table
15188 #: build/C/man2/syscalls.2:430
15189 #, no-wrap
15190 msgid "B<rt_sigprocmask>(2)\t2.2\n"
15191 msgstr ""
15192
15193 #. type: tbl table
15194 #: build/C/man2/syscalls.2:431
15195 #, no-wrap
15196 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
15197 msgstr ""
15198
15199 #. type: tbl table
15200 #: build/C/man2/syscalls.2:432
15201 #, no-wrap
15202 msgid "B<rt_sigreturn>(2)\t2.2\n"
15203 msgstr ""
15204
15205 #. type: tbl table
15206 #: build/C/man2/syscalls.2:433
15207 #, no-wrap
15208 msgid "B<rt_sigsuspend>(2)\t2.2\n"
15209 msgstr ""
15210
15211 #. type: tbl table
15212 #: build/C/man2/syscalls.2:434
15213 #, no-wrap
15214 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
15215 msgstr ""
15216
15217 #. type: tbl table
15218 #: build/C/man2/syscalls.2:435
15219 #, no-wrap
15220 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
15221 msgstr ""
15222
15223 #. type: tbl table
15224 #: build/C/man2/syscalls.2:436
15225 #, no-wrap
15226 msgid "B<s390_runtime_instr>(2)\t3.7\ts390 only\n"
15227 msgstr ""
15228
15229 #. type: tbl table
15230 #: build/C/man2/syscalls.2:437
15231 #, no-wrap
15232 msgid "B<sched_get_priority_max>(2)\t2.0\n"
15233 msgstr ""
15234
15235 #. type: tbl table
15236 #: build/C/man2/syscalls.2:438
15237 #, no-wrap
15238 msgid "B<sched_get_priority_min>(2)\t2.0\n"
15239 msgstr ""
15240
15241 #. type: tbl table
15242 #: build/C/man2/syscalls.2:439
15243 #, no-wrap
15244 msgid "B<sched_getaffinity>(2)\t2.6\n"
15245 msgstr ""
15246
15247 #. type: tbl table
15248 #: build/C/man2/syscalls.2:440
15249 #, no-wrap
15250 msgid "B<sched_getparam>(2)\t2.0\n"
15251 msgstr ""
15252
15253 #. type: tbl table
15254 #: build/C/man2/syscalls.2:441
15255 #, no-wrap
15256 msgid "B<sched_getscheduler>(2)\t2.0\n"
15257 msgstr ""
15258
15259 #. type: tbl table
15260 #: build/C/man2/syscalls.2:442
15261 #, no-wrap
15262 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
15263 msgstr ""
15264
15265 #. type: tbl table
15266 #: build/C/man2/syscalls.2:443
15267 #, no-wrap
15268 msgid "B<sched_setaffinity>(2)\t2.6\n"
15269 msgstr ""
15270
15271 #. type: tbl table
15272 #: build/C/man2/syscalls.2:444
15273 #, no-wrap
15274 msgid "B<sched_setparam>(2)\t2.0\n"
15275 msgstr ""
15276
15277 #. type: tbl table
15278 #: build/C/man2/syscalls.2:445
15279 #, no-wrap
15280 msgid "B<sched_setscheduler>(2)\t2.0\n"
15281 msgstr ""
15282
15283 #. type: tbl table
15284 #: build/C/man2/syscalls.2:446
15285 #, no-wrap
15286 msgid "B<sched_yield>(2)\t2.0\n"
15287 msgstr ""
15288
15289 #. type: tbl table
15290 #: build/C/man2/syscalls.2:447
15291 #, no-wrap
15292 msgid "B<select>(2)\t1.0\n"
15293 msgstr ""
15294
15295 #. type: tbl table
15296 #: build/C/man2/syscalls.2:448
15297 #, no-wrap
15298 msgid "B<semctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15299 msgstr ""
15300
15301 #. type: tbl table
15302 #: build/C/man2/syscalls.2:449
15303 #, no-wrap
15304 msgid "B<semget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15305 msgstr ""
15306
15307 #. type: tbl table
15308 #: build/C/man2/syscalls.2:450
15309 #, no-wrap
15310 msgid "B<semop>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15311 msgstr ""
15312
15313 #. type: tbl table
15314 #: build/C/man2/syscalls.2:451
15315 #, no-wrap
15316 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
15317 msgstr ""
15318
15319 #. type: tbl table
15320 #: build/C/man2/syscalls.2:452
15321 #, no-wrap
15322 msgid "B<send>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15323 msgstr ""
15324
15325 #. type: tbl table
15326 #: build/C/man2/syscalls.2:453
15327 #, no-wrap
15328 msgid "B<sendfile>(2)\t2.2\n"
15329 msgstr ""
15330
15331 #. type: tbl table
15332 #: build/C/man2/syscalls.2:454
15333 #, no-wrap
15334 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
15335 msgstr ""
15336
15337 #. type: tbl table
15338 #: build/C/man2/syscalls.2:455
15339 #, no-wrap
15340 msgid "B<sendmmsg>(2)\t3.0\n"
15341 msgstr ""
15342
15343 #. type: tbl table
15344 #: build/C/man2/syscalls.2:456
15345 #, no-wrap
15346 msgid "B<sendmsg>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15347 msgstr ""
15348
15349 #. type: tbl table
15350 #: build/C/man2/syscalls.2:457
15351 #, no-wrap
15352 msgid "B<sendto>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15353 msgstr ""
15354
15355 #. type: tbl table
15356 #: build/C/man2/syscalls.2:458
15357 #, no-wrap
15358 msgid "B<set_mempolicy>(2)\t2.6.6\n"
15359 msgstr ""
15360
15361 #. type: tbl table
15362 #: build/C/man2/syscalls.2:459
15363 #, no-wrap
15364 msgid "B<set_robust_list>(2)\t2.6.17\n"
15365 msgstr ""
15366
15367 #. type: tbl table
15368 #: build/C/man2/syscalls.2:460
15369 #, no-wrap
15370 msgid "B<set_thread_area>(2)\t2.6\n"
15371 msgstr ""
15372
15373 #. type: tbl table
15374 #: build/C/man2/syscalls.2:461
15375 #, no-wrap
15376 msgid "B<set_tid_address>(2)\t2.6\n"
15377 msgstr ""
15378
15379 #.  See http://lkml.org/lkml/2005/8/1/83
15380 #.  "[PATCH] remove sys_set_zone_reclaim()"
15381 #. type: tbl table
15382 #: build/C/man2/syscalls.2:464
15383 #, no-wrap
15384 msgid "B<setdomainname>(2)\t1.0\n"
15385 msgstr ""
15386
15387 #. type: tbl table
15388 #: build/C/man2/syscalls.2:465
15389 #, no-wrap
15390 msgid "B<setfsgid>(2)\t1.2\n"
15391 msgstr ""
15392
15393 #. type: tbl table
15394 #: build/C/man2/syscalls.2:466
15395 #, no-wrap
15396 msgid "B<setfsgid32>(2)\t2.4\n"
15397 msgstr ""
15398
15399 #. type: tbl table
15400 #: build/C/man2/syscalls.2:467
15401 #, no-wrap
15402 msgid "B<setfsuid>(2)\t1.2\n"
15403 msgstr ""
15404
15405 #. type: tbl table
15406 #: build/C/man2/syscalls.2:468
15407 #, no-wrap
15408 msgid "B<setfsuid32>(2)\t2.4\n"
15409 msgstr ""
15410
15411 #. type: tbl table
15412 #: build/C/man2/syscalls.2:469
15413 #, no-wrap
15414 msgid "B<setgid>(2)\t1.0\n"
15415 msgstr ""
15416
15417 #. type: tbl table
15418 #: build/C/man2/syscalls.2:470
15419 #, no-wrap
15420 msgid "B<setgid32>(2)\t2.4\n"
15421 msgstr ""
15422
15423 #. type: tbl table
15424 #: build/C/man2/syscalls.2:471
15425 #, no-wrap
15426 msgid "B<setgroups>(2)\t1.0\n"
15427 msgstr ""
15428
15429 #. type: tbl table
15430 #: build/C/man2/syscalls.2:472
15431 #, no-wrap
15432 msgid "B<setgroups32>(2)\t2.4\n"
15433 msgstr ""
15434
15435 #. type: tbl table
15436 #: build/C/man2/syscalls.2:473
15437 #, no-wrap
15438 msgid "B<sethostname>(2)\t1.0\n"
15439 msgstr ""
15440
15441 #. type: tbl table
15442 #: build/C/man2/syscalls.2:474
15443 #, no-wrap
15444 msgid "B<setitimer>(2)\t1.0\n"
15445 msgstr ""
15446
15447 #. type: tbl table
15448 #: build/C/man2/syscalls.2:475
15449 #, no-wrap
15450 msgid "B<setns>(2)\t3.0\n"
15451 msgstr ""
15452
15453 #. type: tbl table
15454 #: build/C/man2/syscalls.2:476
15455 #, no-wrap
15456 msgid "B<setpgid>(2)\t1.0\n"
15457 msgstr ""
15458
15459 #. type: tbl table
15460 #: build/C/man2/syscalls.2:477
15461 #, no-wrap
15462 msgid "B<setpriority>(2)\t1.0\n"
15463 msgstr ""
15464
15465 #. type: tbl table
15466 #: build/C/man2/syscalls.2:478
15467 #, no-wrap
15468 msgid "B<setregid>(2)\t1.0\n"
15469 msgstr ""
15470
15471 #. type: tbl table
15472 #: build/C/man2/syscalls.2:479
15473 #, no-wrap
15474 msgid "B<setregid32>(2)\t2.4\n"
15475 msgstr ""
15476
15477 #. type: tbl table
15478 #: build/C/man2/syscalls.2:480
15479 #, no-wrap
15480 msgid "B<setresgid>(2)\t2.2\n"
15481 msgstr ""
15482
15483 #. type: tbl table
15484 #: build/C/man2/syscalls.2:481
15485 #, no-wrap
15486 msgid "B<setresgid32>(2)\t2.4\n"
15487 msgstr ""
15488
15489 #. type: tbl table
15490 #: build/C/man2/syscalls.2:482
15491 #, no-wrap
15492 msgid "B<setresuid>(2)\t2.2\n"
15493 msgstr ""
15494
15495 #. type: tbl table
15496 #: build/C/man2/syscalls.2:483
15497 #, no-wrap
15498 msgid "B<setresuid32>(2)\t2.4\n"
15499 msgstr ""
15500
15501 #. type: tbl table
15502 #: build/C/man2/syscalls.2:484
15503 #, no-wrap
15504 msgid "B<setreuid>(2)\t1.0\n"
15505 msgstr ""
15506
15507 #. type: tbl table
15508 #: build/C/man2/syscalls.2:485
15509 #, no-wrap
15510 msgid "B<setreuid32>(2)\t2.4\n"
15511 msgstr ""
15512
15513 #. type: tbl table
15514 #: build/C/man2/syscalls.2:486
15515 #, no-wrap
15516 msgid "B<setrlimit>(2)\t1.0\n"
15517 msgstr ""
15518
15519 #. type: tbl table
15520 #: build/C/man2/syscalls.2:487
15521 #, no-wrap
15522 msgid "B<setsid>(2)\t1.0\n"
15523 msgstr ""
15524
15525 #. type: tbl table
15526 #: build/C/man2/syscalls.2:488
15527 #, no-wrap
15528 msgid "B<setsockopt>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15529 msgstr ""
15530
15531 #. type: tbl table
15532 #: build/C/man2/syscalls.2:489
15533 #, no-wrap
15534 msgid "B<settimeofday>(2)\t1.0\n"
15535 msgstr ""
15536
15537 #. type: tbl table
15538 #: build/C/man2/syscalls.2:490
15539 #, no-wrap
15540 msgid "B<setuid>(2)\t1.0\n"
15541 msgstr ""
15542
15543 #. type: tbl table
15544 #: build/C/man2/syscalls.2:491
15545 #, no-wrap
15546 msgid "B<setuid32>(2)\t2.4\n"
15547 msgstr ""
15548
15549 #. type: tbl table
15550 #: build/C/man2/syscalls.2:492
15551 #, no-wrap
15552 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
15553 msgstr ""
15554
15555 #. type: tbl table
15556 #: build/C/man2/syscalls.2:493
15557 #, no-wrap
15558 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
15559 msgstr ""
15560
15561 #. type: tbl table
15562 #: build/C/man2/syscalls.2:494
15563 #, no-wrap
15564 msgid "B<sgetmask>(2)\t1.0\n"
15565 msgstr ""
15566
15567 #. type: tbl table
15568 #: build/C/man2/syscalls.2:495
15569 #, no-wrap
15570 msgid "B<shmat>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15571 msgstr ""
15572
15573 #. type: tbl table
15574 #: build/C/man2/syscalls.2:496
15575 #, no-wrap
15576 msgid "B<shmctl>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15577 msgstr ""
15578
15579 #. type: tbl table
15580 #: build/C/man2/syscalls.2:497
15581 #, no-wrap
15582 msgid "B<shmdt>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15583 msgstr ""
15584
15585 #. type: tbl table
15586 #: build/C/man2/syscalls.2:498
15587 #, no-wrap
15588 msgid "B<shmget>(2)\t2.0\tSee notes on B<ipc>(2)\n"
15589 msgstr ""
15590
15591 #. type: tbl table
15592 #: build/C/man2/syscalls.2:499
15593 #, no-wrap
15594 msgid "B<shutdown>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15595 msgstr ""
15596
15597 #. type: tbl table
15598 #: build/C/man2/syscalls.2:500
15599 #, no-wrap
15600 msgid "B<sigaction>(2)\t1.0\n"
15601 msgstr ""
15602
15603 #. type: tbl table
15604 #: build/C/man2/syscalls.2:501
15605 #, no-wrap
15606 msgid "B<sigaltstack>(2)\t2.2\n"
15607 msgstr ""
15608
15609 #. type: tbl table
15610 #: build/C/man2/syscalls.2:502
15611 #, no-wrap
15612 msgid "B<signal>(2)\t1.0\n"
15613 msgstr ""
15614
15615 #. type: tbl table
15616 #: build/C/man2/syscalls.2:503
15617 #, no-wrap
15618 msgid "B<signalfd>(2)\t2.6.22\n"
15619 msgstr ""
15620
15621 #. type: tbl table
15622 #: build/C/man2/syscalls.2:504
15623 #, no-wrap
15624 msgid "B<signalfd4>(2)\t2.6.27\n"
15625 msgstr ""
15626
15627 #. type: tbl table
15628 #: build/C/man2/syscalls.2:505
15629 #, no-wrap
15630 msgid "B<sigpending>(2)\t1.0\n"
15631 msgstr ""
15632
15633 #. type: tbl table
15634 #: build/C/man2/syscalls.2:506
15635 #, no-wrap
15636 msgid "B<sigprocmask>(2)\t1.0\n"
15637 msgstr ""
15638
15639 #. type: tbl table
15640 #: build/C/man2/syscalls.2:507
15641 #, no-wrap
15642 msgid "B<sigreturn>(2)\t1.0\n"
15643 msgstr ""
15644
15645 #. type: tbl table
15646 #: build/C/man2/syscalls.2:508
15647 #, no-wrap
15648 msgid "B<sigsuspend>(2)\t1.0\n"
15649 msgstr ""
15650
15651 #. type: tbl table
15652 #: build/C/man2/syscalls.2:509
15653 #, no-wrap
15654 msgid "B<socket>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15655 msgstr ""
15656
15657 #. type: tbl table
15658 #: build/C/man2/syscalls.2:510
15659 #, no-wrap
15660 msgid "B<socketcall>(2)\t1.0\n"
15661 msgstr ""
15662
15663 #.  Implements BSD socket calls
15664 #. type: tbl table
15665 #: build/C/man2/syscalls.2:512
15666 #, no-wrap
15667 msgid "B<socketpair>(2)\t2.0\tSee notes on B<socketcall>(2)\n"
15668 msgstr ""
15669
15670 #. type: tbl table
15671 #: build/C/man2/syscalls.2:513
15672 #, no-wrap
15673 msgid "B<splice>(2)\t2.6.17\n"
15674 msgstr ""
15675
15676 #. type: tbl table
15677 #: build/C/man2/syscalls.2:514
15678 #, no-wrap
15679 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
15680 msgstr ""
15681
15682 #. type: tbl table
15683 #: build/C/man2/syscalls.2:515
15684 #, no-wrap
15685 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
15686 msgstr ""
15687
15688 #. type: tbl table
15689 #: build/C/man2/syscalls.2:516
15690 #, no-wrap
15691 msgid "B<ssetmask>(2)\t1.0\n"
15692 msgstr ""
15693
15694 #. type: tbl table
15695 #: build/C/man2/syscalls.2:517
15696 #, no-wrap
15697 msgid "B<stat>(2)\t1.0\n"
15698 msgstr ""
15699
15700 #. type: tbl table
15701 #: build/C/man2/syscalls.2:518
15702 #, no-wrap
15703 msgid "B<stat64>(2)\t2.4\n"
15704 msgstr ""
15705
15706 #. type: tbl table
15707 #: build/C/man2/syscalls.2:519
15708 #, no-wrap
15709 msgid "B<statfs>(2)\t1.0\n"
15710 msgstr ""
15711
15712 #. type: tbl table
15713 #: build/C/man2/syscalls.2:520
15714 #, no-wrap
15715 msgid "B<statfs64>(2)\t2.6\n"
15716 msgstr ""
15717
15718 #. type: tbl table
15719 #: build/C/man2/syscalls.2:521
15720 #, no-wrap
15721 msgid "B<stime>(2)\t1.0\n"
15722 msgstr ""
15723
15724 #. type: tbl table
15725 #: build/C/man2/syscalls.2:522
15726 #, no-wrap
15727 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if\n"
15728 msgstr ""
15729
15730 #. type: tbl table
15731 #: build/C/man2/syscalls.2:523
15732 #, no-wrap
15733 msgid "\t\tCONFIG_PPC_64K_PAGES\n"
15734 msgstr ""
15735
15736 #. type: tbl table
15737 #: build/C/man2/syscalls.2:524
15738 #, no-wrap
15739 msgid "B<swapoff>(2)\t1.0\n"
15740 msgstr ""
15741
15742 #. type: tbl table
15743 #: build/C/man2/syscalls.2:525
15744 #, no-wrap
15745 msgid "B<swapon>(2)\t1.0\n"
15746 msgstr ""
15747
15748 #. type: tbl table
15749 #: build/C/man2/syscalls.2:526
15750 #, no-wrap
15751 msgid "B<symlink>(2)\t1.0\n"
15752 msgstr ""
15753
15754 #. type: tbl table
15755 #: build/C/man2/syscalls.2:527
15756 #, no-wrap
15757 msgid "B<symlinkat>(2)\t2.6.16\n"
15758 msgstr ""
15759
15760 #. type: tbl table
15761 #: build/C/man2/syscalls.2:528
15762 #, no-wrap
15763 msgid "B<sync>(2)\t1.0\n"
15764 msgstr ""
15765
15766 #. type: tbl table
15767 #: build/C/man2/syscalls.2:529
15768 #, no-wrap
15769 msgid "B<sync_file_range>(2)\t2.6.17\n"
15770 msgstr ""
15771
15772 #. type: tbl table
15773 #: build/C/man2/syscalls.2:530
15774 #, no-wrap
15775 msgid "B<sync_file_range2>(2)\t2.6.22\tT{\n"
15776 msgstr ""
15777
15778 #. type: tbl table
15779 #: build/C/man2/syscalls.2:531
15780 #, no-wrap
15781 msgid "Architecture-specific variant of B<sync_file_range>(2)\n"
15782 msgstr ""
15783
15784 #.  PowerPC, ARM, tile
15785 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
15786 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
15787 #. type: tbl table
15788 #: build/C/man2/syscalls.2:536
15789 #, no-wrap
15790 msgid "B<syncfs>(2)\t2.6.39\n"
15791 msgstr ""
15792
15793 #. type: tbl table
15794 #: build/C/man2/syscalls.2:537
15795 #, no-wrap
15796 msgid "B<sysfs>(2)\t1.2\n"
15797 msgstr ""
15798
15799 #. type: tbl table
15800 #: build/C/man2/syscalls.2:538
15801 #, no-wrap
15802 msgid "B<sysinfo>(2)\t1.0\n"
15803 msgstr ""
15804
15805 #. type: tbl table
15806 #: build/C/man2/syscalls.2:539
15807 #, no-wrap
15808 msgid "B<syslog>(2)\t1.0\n"
15809 msgstr ""
15810
15811 #.  glibc interface is \fBklogctl\fP(3)
15812 #. type: tbl table
15813 #: build/C/man2/syscalls.2:541
15814 #, no-wrap
15815 msgid "B<tee>(2)\t2.6.17\n"
15816 msgstr ""
15817
15818 #. type: tbl table
15819 #: build/C/man2/syscalls.2:542
15820 #, no-wrap
15821 msgid "B<tgkill>(2)\t2.6\n"
15822 msgstr ""
15823
15824 #. type: tbl table
15825 #: build/C/man2/syscalls.2:543
15826 #, no-wrap
15827 msgid "B<time>(2)\t1.0\n"
15828 msgstr ""
15829
15830 #. type: tbl table
15831 #: build/C/man2/syscalls.2:544
15832 #, no-wrap
15833 msgid "B<timer_create>(2)\t2.6\n"
15834 msgstr ""
15835
15836 #. type: tbl table
15837 #: build/C/man2/syscalls.2:545
15838 #, no-wrap
15839 msgid "B<timer_delete>(2)\t2.6\n"
15840 msgstr ""
15841
15842 #. type: tbl table
15843 #: build/C/man2/syscalls.2:546
15844 #, no-wrap
15845 msgid "B<timer_getoverrun>(2)\t2.6\n"
15846 msgstr ""
15847
15848 #. type: tbl table
15849 #: build/C/man2/syscalls.2:547
15850 #, no-wrap
15851 msgid "B<timer_gettime>(2)\t2.6\n"
15852 msgstr ""
15853
15854 #. type: tbl table
15855 #: build/C/man2/syscalls.2:548
15856 #, no-wrap
15857 msgid "B<timer_settime>(2)\t2.6\n"
15858 msgstr ""
15859
15860 #. type: tbl table
15861 #: build/C/man2/syscalls.2:549
15862 #, no-wrap
15863 msgid "B<timerfd_create>(2)\t2.6.25\n"
15864 msgstr ""
15865
15866 #. type: tbl table
15867 #: build/C/man2/syscalls.2:550
15868 #, no-wrap
15869 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
15870 msgstr ""
15871
15872 #. type: tbl table
15873 #: build/C/man2/syscalls.2:551
15874 #, no-wrap
15875 msgid "B<timerfd_settime>(2)\t2.6.25\n"
15876 msgstr ""
15877
15878 #. type: tbl table
15879 #: build/C/man2/syscalls.2:552
15880 #, no-wrap
15881 msgid "B<times>(2)\t1.0\n"
15882 msgstr ""
15883
15884 #. type: tbl table
15885 #: build/C/man2/syscalls.2:553
15886 #, no-wrap
15887 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
15888 msgstr ""
15889
15890 #. type: tbl table
15891 #: build/C/man2/syscalls.2:554
15892 #, no-wrap
15893 msgid "B<truncate>(2)\t1.0\n"
15894 msgstr ""
15895
15896 #. type: tbl table
15897 #: build/C/man2/syscalls.2:555
15898 #, no-wrap
15899 msgid "B<truncate64>(2)\t2.4\n"
15900 msgstr ""
15901
15902 #. type: tbl table
15903 #: build/C/man2/syscalls.2:556
15904 #, no-wrap
15905 msgid "B<ugetrlimit>(2)\t2.4\n"
15906 msgstr ""
15907
15908 #. type: tbl table
15909 #: build/C/man2/syscalls.2:557
15910 #, no-wrap
15911 msgid "B<umask>(2)\t1.0\n"
15912 msgstr ""
15913
15914 #. type: tbl table
15915 #: build/C/man2/syscalls.2:558
15916 #, no-wrap
15917 msgid "B<umount>(2)\t1.0\n"
15918 msgstr ""
15919
15920 #.  sys_oldumount() -- __NR_umount
15921 #. type: tbl table
15922 #: build/C/man2/syscalls.2:560
15923 #, no-wrap
15924 msgid "B<umount2>(2)\t2.2\n"
15925 msgstr ""
15926
15927 #.  sys_umount() -- __NR_umount2
15928 #. type: tbl table
15929 #: build/C/man2/syscalls.2:562
15930 #, no-wrap
15931 msgid "B<uname>(2)\t1.0\n"
15932 msgstr ""
15933
15934 #. type: tbl table
15935 #: build/C/man2/syscalls.2:563
15936 #, no-wrap
15937 msgid "B<unlink>(2)\t1.0\n"
15938 msgstr ""
15939
15940 #. type: tbl table
15941 #: build/C/man2/syscalls.2:564
15942 #, no-wrap
15943 msgid "B<unlinkat>(2)\t2.6.16\n"
15944 msgstr ""
15945
15946 #. type: tbl table
15947 #: build/C/man2/syscalls.2:565
15948 #, no-wrap
15949 msgid "B<unshare>(2)\t2.6.16\n"
15950 msgstr ""
15951
15952 #. type: tbl table
15953 #: build/C/man2/syscalls.2:566
15954 #, no-wrap
15955 msgid "B<uselib>(2)\t1.0\n"
15956 msgstr ""
15957
15958 #. type: tbl table
15959 #: build/C/man2/syscalls.2:567
15960 #, no-wrap
15961 msgid "B<ustat>(2)\t1.0\n"
15962 msgstr ""
15963
15964 #. type: tbl table
15965 #: build/C/man2/syscalls.2:568
15966 #, no-wrap
15967 msgid "B<utime>(2)\t1.0\n"
15968 msgstr ""
15969
15970 #. type: tbl table
15971 #: build/C/man2/syscalls.2:569
15972 #, no-wrap
15973 msgid "B<utimensat>(2)\t2.6.22\n"
15974 msgstr ""
15975
15976 #. type: tbl table
15977 #: build/C/man2/syscalls.2:570
15978 #, no-wrap
15979 msgid "B<utimes>(2)\t2.2\n"
15980 msgstr ""
15981
15982 #. type: tbl table
15983 #: build/C/man2/syscalls.2:571
15984 #, no-wrap
15985 msgid "B<utrap_install>(2)\t2.2\tSparc\n"
15986 msgstr ""
15987
15988 #. type: tbl table
15989 #: build/C/man2/syscalls.2:572
15990 #, no-wrap
15991 msgid "B<vfork>(2)\t2.2\n"
15992 msgstr ""
15993
15994 #. type: tbl table
15995 #: build/C/man2/syscalls.2:573
15996 #, no-wrap
15997 msgid "B<vhangup>(2)\t1.0\n"
15998 msgstr ""
15999
16000 #. type: tbl table
16001 #: build/C/man2/syscalls.2:574
16002 #, no-wrap
16003 msgid "B<vm86old>(2)\t1.0\tWas \"vm86\"; renamed in 2.0.28/2.2\n"
16004 msgstr ""
16005
16006 #. type: tbl table
16007 #: build/C/man2/syscalls.2:575
16008 #, no-wrap
16009 msgid "B<vm86>(2)\t2.0.28; 2.2\n"
16010 msgstr ""
16011
16012 #. type: tbl table
16013 #: build/C/man2/syscalls.2:576
16014 #, no-wrap
16015 msgid "B<vmsplice>(2)\t2.6.17\n"
16016 msgstr ""
16017
16018 #. type: tbl table
16019 #: build/C/man2/syscalls.2:577
16020 #, no-wrap
16021 msgid "B<wait4>(2)\t1.0\n"
16022 msgstr ""
16023
16024 #. type: tbl table
16025 #: build/C/man2/syscalls.2:578
16026 #, no-wrap
16027 msgid "B<waitid>(2)\t2.6.10\n"
16028 msgstr ""
16029
16030 #. type: tbl table
16031 #: build/C/man2/syscalls.2:579
16032 #, no-wrap
16033 msgid "B<waitpid>(2)\t1.0\n"
16034 msgstr ""
16035
16036 #. type: tbl table
16037 #: build/C/man2/syscalls.2:580
16038 #, no-wrap
16039 msgid "B<write>(2)\t1.0\n"
16040 msgstr ""
16041
16042 #. type: tbl table
16043 #: build/C/man2/syscalls.2:581
16044 #, no-wrap
16045 msgid "B<writev>(2)\t2.0\n"
16046 msgstr ""
16047
16048 #. type: Plain text
16049 #: build/C/man2/syscalls.2:590
16050 msgid ""
16051 "On many platforms, including x86-32, socket calls are all multiplexed (via "
16052 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
16053 "IPC calls are multiplexed through B<ipc>(2)."
16054 msgstr ""
16055
16056 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
16057 #.  __NR_break is 17 on Linux 2.6.22/i386
16058 #.  __NR_ftime is 35 on Linux 2.6.22/i386
16059 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
16060 #.  __NR_gtty is 32 on Linux 2.6.22/i386
16061 #.  __NR_idle is 112 on Linux 2.6.22/i386
16062 #.  __NR_lock is 53 on Linux 2.6.22/i386
16063 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
16064 #.  __NR_mpx is 66 on Linux 2.6.22/i386
16065 #.  Slot has been reused
16066 #.  __NR_prof is 44 on Linux 2.6.22/i386
16067 #.  __NR_profil is 98 on Linux 2.6.22/i386
16068 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
16069 #.  __NR_security is 223 on Linux 2.4/i386
16070 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
16071 #.  on a couple of 2.6 architectures
16072 #.  __NR_stty is 31 on Linux 2.6.22/i386
16073 #.  The security call is for future use.
16074 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
16075 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
16076 #.  __NR_vserver is 273 on Linux 2.6.22/i386
16077 #. type: Plain text
16078 #: build/C/man2/syscalls.2:635
16079 msgid ""
16080 "Although slots are reserved for them in the system call table, the following "
16081 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
16082 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
16083 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
16084 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
16085 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
16086 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
16087 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
16088 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
16089 "for kernels patched to support STREAMS, and may never be in the standard "
16090 "kernel."
16091 msgstr ""
16092
16093 #. type: Plain text
16094 #: build/C/man2/syscalls.2:640
16095 msgid ""
16096 "There was briefly B<set_zone_reclaim>(2), added in Linux 2.6.13, and removed "
16097 "in 2.6.16; this system call was never available to user space."
16098 msgstr ""
16099
16100 #. type: Plain text
16101 #: build/C/man2/syscalls.2:657
16102 msgid ""
16103 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
16104 "defined in I</usr/include/asm/unistd.h> can be found in the Linux kernel "
16105 "source in the routine I<sys_xxx>().  (The dispatch table for i386 can be "
16106 "found in I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many "
16107 "exceptions, however, mostly because older system calls were superseded by "
16108 "newer ones, and this has been treated somewhat unsystematically.  On "
16109 "platforms with proprietary operating-system emulation, such as parisc, "
16110 "sparc, sparc64 and alpha, there are many additional system calls; mips64 "
16111 "also contains a full set of 32-bit system calls."
16112 msgstr ""
16113
16114 #. type: Plain text
16115 #: build/C/man2/syscalls.2:676
16116 msgid ""
16117 "Over time, changes to the interfaces of some system calls have been "
16118 "necessary.  One reason for such changes was the need to increase the size of "
16119 "structures or scalar values passed to the system call.  Because of these "
16120 "changes, there are now various groups of related system calls (e.g., "
16121 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
16122 "which vary in details such as the size of their arguments.  (As noted "
16123 "earlier, applications are generally unaware of this: the glibc wrapper "
16124 "functions do some work to ensure that the right system call is invoked, and "
16125 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
16126 "calls that exist in multiple versions are the following:"
16127 msgstr ""
16128
16129 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
16130 #.  The stat system calls deal with three different data structures,
16131 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
16132 #. type: Plain text
16133 #: build/C/man2/syscalls.2:697
16134 msgid ""
16135 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
16136 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
16137 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
16138 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
16139 msgstr ""
16140
16141 #. type: Plain text
16142 #: build/C/man2/syscalls.2:708
16143 msgid ""
16144 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
16145 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
16146 "I<sys_newuname>()."
16147 msgstr ""
16148
16149 #. type: Plain text
16150 #: build/C/man2/syscalls.2:715
16151 msgid ""
16152 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
16153 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
16154 msgstr ""
16155
16156 #. type: Plain text
16157 #: build/C/man2/syscalls.2:726
16158 msgid ""
16159 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
16160 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
16161 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
16162 msgstr ""
16163
16164 #.  64-bit off_t changes: ftruncate64, *stat64,
16165 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
16166 #. type: Plain text
16167 #: build/C/man2/syscalls.2:738
16168 msgid ""
16169 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
16170 "support this change, a range of system calls were added (e.g., "
16171 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
16172 "superseding earlier calls of the same name without the \"32\" suffix."
16173 msgstr ""
16174
16175 #. type: Plain text
16176 #: build/C/man2/syscalls.2:755
16177 msgid ""
16178 "Linux 2.4 added support for applications on 32-bit architectures to access "
16179 "large files (i.e., files for which the sizes and file offsets can't be "
16180 "represented in 32 bits.)  To support this change, replacements were required "
16181 "for system calls that deal with file offsets and sizes.  Thus the following "
16182 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
16183 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
16184 "descriptors or symbolic links.  These system calls supersede the older "
16185 "system calls which, except in the case of the \"stat\" calls, have the same "
16186 "name without the \"64\" suffix."
16187 msgstr ""
16188
16189 #. type: Plain text
16190 #: build/C/man2/syscalls.2:759
16191 msgid ""
16192 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
16193 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
16194 "calls exist, the other versions are obsolete."
16195 msgstr ""
16196
16197 #. type: Plain text
16198 #: build/C/man2/syscalls.2:767
16199 msgid ""
16200 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
16201 "real-time signals (see B<signal>(7)).  These system calls supersede the "
16202 "older system calls of the same name without the \"rt_\" prefix."
16203 msgstr ""
16204
16205 #.  (used by libc 6)
16206 #.  .PP
16207 #.  Two system call numbers,
16208 #.  .IR __NR__llseek
16209 #.  and
16210 #.  .IR __NR__sysctl
16211 #.  have an additional underscore absent in
16212 #.  .IR sys_llseek ()
16213 #.  and
16214 #.  .IR sys_sysctl ().
16215 #
16216 #.  In kernel 2.1.81,
16217 #.  .BR lchown (2)
16218 #.  and
16219 #.  .BR chown (2)
16220 #.  were swapped; that is,
16221 #.  .BR lchown (2)
16222 #.  was added with the semantics that were then current for
16223 #.  .BR chown (2),
16224 #.  and the semantics of the latter call were changed to what
16225 #.  they are today.
16226 #. type: Plain text
16227 #: build/C/man2/syscalls.2:817
16228 msgid ""
16229 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
16230 "which caused problems in the way argument passing on the i386 used to be set "
16231 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
16232 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
16233 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
16234 "argument block) instead.  These days passing five arguments is not a problem "
16235 "any more, and there is a I<__NR__newselect> that corresponds directly to "
16236 "I<sys_select>()  and similarly I<__NR_mmap2>."
16237 msgstr ""
16238
16239 #. type: Plain text
16240 #: build/C/man2/syscalls.2:821
16241 msgid "B<syscall>(2), B<unimplemented>(2), B<libc>(7)"
16242 msgstr ""
16243
16244 #. type: TH
16245 #: build/C/man3/sysconf.3:27
16246 #, no-wrap
16247 msgid "SYSCONF"
16248 msgstr ""
16249
16250 #. type: TH
16251 #: build/C/man3/sysconf.3:27
16252 #, no-wrap
16253 msgid "2013-02-12"
16254 msgstr ""
16255
16256 #. type: Plain text
16257 #: build/C/man3/sysconf.3:30
16258 msgid "sysconf - get configuration information at run time"
16259 msgstr ""
16260
16261 #. type: Plain text
16262 #: build/C/man3/sysconf.3:35
16263 #, no-wrap
16264 msgid "B<long sysconf(int >I<name>B<);>\n"
16265 msgstr ""
16266
16267 #. type: Plain text
16268 #: build/C/man3/sysconf.3:40
16269 msgid ""
16270 "POSIX allows an application to test at compile or run time whether certain "
16271 "options are supported, or what the value is of certain configurable "
16272 "constants or limits."
16273 msgstr ""
16274
16275 #. type: Plain text
16276 #: build/C/man3/sysconf.3:46
16277 msgid ""
16278 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
16279 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
16280 msgstr ""
16281
16282 #. type: Plain text
16283 #: build/C/man3/sysconf.3:56
16284 msgid ""
16285 "At run time, one can ask for numerical values using the present function "
16286 "B<sysconf>().  One can ask for numerical values that may depend on the file "
16287 "system a file is in using the calls B<fpathconf>(3)  and B<pathconf>(3).  "
16288 "One can ask for string values using B<confstr>(3)."
16289 msgstr ""
16290
16291 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
16292 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
16293 #. type: Plain text
16294 #: build/C/man3/sysconf.3:61
16295 msgid ""
16296 "The values obtained from these functions are system configuration "
16297 "constants.  They do not change during the lifetime of a process."
16298 msgstr ""
16299
16300 #.  and 999 to indicate support for options no longer present in the latest
16301 #.  standard. (?)
16302 #. type: Plain text
16303 #: build/C/man3/sysconf.3:84
16304 msgid ""
16305 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
16306 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
16307 "time.  If it is defined to -1, then the option is not supported.  If it is "
16308 "defined to 0, then relevant functions and headers exist, but one has to ask "
16309 "at run time what degree of support is available.  If it is defined to a "
16310 "value other than -1 or 0, then the option is supported.  Usually the value "
16311 "(such as 200112L) indicates the year and month of the POSIX revision "
16312 "describing the option.  Glibc uses the value 1 to indicate support as long "
16313 "as the POSIX revision has not been published yet.  The B<sysconf>()  "
16314 "argument will be B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
16315 msgstr ""
16316
16317 #. type: Plain text
16318 #: build/C/man3/sysconf.3:104
16319 msgid ""
16320 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
16321 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
16322 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
16323 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
16324 "greater value might actually be supported.  If an application wants to take "
16325 "advantage of values which may change between systems, a call to B<sysconf>()  "
16326 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
16327 msgstr ""
16328
16329 #. type: SS
16330 #: build/C/man3/sysconf.3:104
16331 #, no-wrap
16332 msgid "POSIX.1 variables"
16333 msgstr ""
16334
16335 #. type: Plain text
16336 #: build/C/man3/sysconf.3:109
16337 msgid ""
16338 "We give the name of the variable, the name of the B<sysconf>()  argument "
16339 "used to inquire about its value, and a short description."
16340 msgstr ""
16341
16342 #.  [for the moment: only the things that are unconditionally present]
16343 #.  .TP
16344 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
16345 #.  (if _POSIX_ASYNCHRONOUS_IO)
16346 #.  Maximum number of I/O operations in a single list I/O call.
16347 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
16348 #.  .TP
16349 #.  .BR AIO_MAX " - " _SC_AIO_MAX
16350 #.  (if _POSIX_ASYNCHRONOUS_IO)
16351 #.  Maximum number of outstanding asynchronous I/O operations.
16352 #.  Must not be less than _POSIX_AIO_MAX.
16353 #.  .TP
16354 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
16355 #.  (if _POSIX_ASYNCHRONOUS_IO)
16356 #.  The maximum amount by which a process can decrease its
16357 #.  asynchronous I/O priority level from its own scheduling priority.
16358 #.  Must be nonnegative.
16359 #. type: Plain text
16360 #: build/C/man3/sysconf.3:128
16361 msgid "First, the POSIX.1 compatible values."
16362 msgstr ""
16363
16364 #. type: TP
16365 #: build/C/man3/sysconf.3:128
16366 #, no-wrap
16367 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
16368 msgstr ""
16369
16370 #. type: Plain text
16371 #: build/C/man3/sysconf.3:136
16372 msgid ""
16373 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
16374 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
16375 msgstr ""
16376
16377 #. type: TP
16378 #: build/C/man3/sysconf.3:136
16379 #, no-wrap
16380 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16381 msgstr ""
16382
16383 #. type: Plain text
16384 #: build/C/man3/sysconf.3:142
16385 msgid ""
16386 "The max number of simultaneous processes per user ID.  Must not be less than "
16387 "B<_POSIX_CHILD_MAX> (25)."
16388 msgstr ""
16389
16390 #. type: TP
16391 #: build/C/man3/sysconf.3:142
16392 #, no-wrap
16393 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16394 msgstr ""
16395
16396 #. type: Plain text
16397 #: build/C/man3/sysconf.3:150
16398 msgid ""
16399 "Max length of a hostname, not including the terminating null byte, as "
16400 "returned by B<gethostname>(2).  Must not be less than "
16401 "B<_POSIX_HOST_NAME_MAX> (255)."
16402 msgstr ""
16403
16404 #. type: TP
16405 #: build/C/man3/sysconf.3:150
16406 #, no-wrap
16407 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16408 msgstr ""
16409
16410 #. type: Plain text
16411 #: build/C/man3/sysconf.3:156
16412 msgid ""
16413 "Maximum length of a login name, including the terminating null byte.  Must "
16414 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
16415 msgstr ""
16416
16417 #. type: TP
16418 #: build/C/man3/sysconf.3:156
16419 #, no-wrap
16420 msgid "clock ticks - B<_SC_CLK_TCK>"
16421 msgstr ""
16422
16423 #. type: Plain text
16424 #: build/C/man3/sysconf.3:165
16425 msgid ""
16426 "The number of clock ticks per second.  The corresponding variable is "
16427 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
16428 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
16429 msgstr ""
16430
16431 #. type: TP
16432 #: build/C/man3/sysconf.3:165
16433 #, no-wrap
16434 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16435 msgstr ""
16436
16437 #. type: Plain text
16438 #: build/C/man3/sysconf.3:171
16439 msgid ""
16440 "The maximum number of files that a process can have open at any time.  Must "
16441 "not be less than B<_POSIX_OPEN_MAX> (20)."
16442 msgstr ""
16443
16444 #. type: TP
16445 #: build/C/man3/sysconf.3:171
16446 #, no-wrap
16447 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
16448 msgstr ""
16449
16450 #. type: Plain text
16451 #: build/C/man3/sysconf.3:176
16452 msgid ""
16453 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
16454 "PAGE_SIZE instead.)"
16455 msgstr ""
16456
16457 #. type: TP
16458 #: build/C/man3/sysconf.3:176 build/C/man3/sysconf.3:263
16459 #, no-wrap
16460 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16461 msgstr ""
16462
16463 #. type: Plain text
16464 #: build/C/man3/sysconf.3:185
16465 msgid ""
16466 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
16467 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
16468 msgstr ""
16469
16470 #. type: TP
16471 #: build/C/man3/sysconf.3:185
16472 #, no-wrap
16473 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16474 msgstr ""
16475
16476 #. type: Plain text
16477 #: build/C/man3/sysconf.3:194
16478 msgid ""
16479 "The maximum number of streams that a process can have open at any time.  If "
16480 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
16481 "not be less than B<_POSIX_STREAM_MAX> (8)."
16482 msgstr ""
16483
16484 #. type: TP
16485 #: build/C/man3/sysconf.3:194
16486 #, no-wrap
16487 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16488 msgstr ""
16489
16490 #. type: Plain text
16491 #: build/C/man3/sysconf.3:202
16492 msgid ""
16493 "The maximum number of symbolic links seen in a pathname before resolution "
16494 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
16495 msgstr ""
16496
16497 #. type: TP
16498 #: build/C/man3/sysconf.3:202
16499 #, no-wrap
16500 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16501 msgstr ""
16502
16503 #. type: Plain text
16504 #: build/C/man3/sysconf.3:209
16505 msgid ""
16506 "The maximum length of terminal device name, including the terminating null "
16507 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
16508 msgstr ""
16509
16510 #. type: TP
16511 #: build/C/man3/sysconf.3:209
16512 #, no-wrap
16513 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16514 msgstr ""
16515
16516 #. type: Plain text
16517 #: build/C/man3/sysconf.3:215
16518 msgid ""
16519 "The maximum number of bytes in a timezone name.  Must not be less than "
16520 "B<_POSIX_TZNAME_MAX> (6)."
16521 msgstr ""
16522
16523 #. type: TP
16524 #: build/C/man3/sysconf.3:215
16525 #, no-wrap
16526 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
16527 msgstr ""
16528
16529 #. type: Plain text
16530 #: build/C/man3/sysconf.3:223
16531 msgid ""
16532 "indicates the year and month the POSIX.1 standard was approved in the format "
16533 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
16534 msgstr ""
16535
16536 #. type: SS
16537 #: build/C/man3/sysconf.3:223
16538 #, no-wrap
16539 msgid "POSIX.2 variables"
16540 msgstr ""
16541
16542 #. type: Plain text
16543 #: build/C/man3/sysconf.3:225
16544 msgid "Next, the POSIX.2 values, giving limits for utilities."
16545 msgstr ""
16546
16547 #. type: TP
16548 #: build/C/man3/sysconf.3:225
16549 #, no-wrap
16550 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16551 msgstr ""
16552
16553 #. type: Plain text
16554 #: build/C/man3/sysconf.3:232
16555 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
16556 msgstr ""
16557
16558 #. type: TP
16559 #: build/C/man3/sysconf.3:232
16560 #, no-wrap
16561 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16562 msgstr ""
16563
16564 #. type: Plain text
16565 #: build/C/man3/sysconf.3:236
16566 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
16567 msgstr ""
16568
16569 #. type: TP
16570 #: build/C/man3/sysconf.3:236
16571 #, no-wrap
16572 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16573 msgstr ""
16574
16575 #. type: Plain text
16576 #: build/C/man3/sysconf.3:242
16577 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
16578 msgstr ""
16579
16580 #. type: TP
16581 #: build/C/man3/sysconf.3:242
16582 #, no-wrap
16583 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16584 msgstr ""
16585
16586 #. type: Plain text
16587 #: build/C/man3/sysconf.3:246
16588 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
16589 msgstr ""
16590
16591 #. type: TP
16592 #: build/C/man3/sysconf.3:246
16593 #, no-wrap
16594 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16595 msgstr ""
16596
16597 #. type: Plain text
16598 #: build/C/man3/sysconf.3:252
16599 msgid ""
16600 "indicates the maximum numbers of weights that can be assigned to an entry of "
16601 "the B<LC_COLLATE order> keyword in the locale definition file,"
16602 msgstr ""
16603
16604 #. type: TP
16605 #: build/C/man3/sysconf.3:252
16606 #, no-wrap
16607 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
16608 msgstr ""
16609
16610 #. type: Plain text
16611 #: build/C/man3/sysconf.3:257
16612 msgid ""
16613 "is the maximum number of expressions which can be nested within parentheses "
16614 "by B<expr>(1)."
16615 msgstr ""
16616
16617 #. type: TP
16618 #: build/C/man3/sysconf.3:257
16619 #, no-wrap
16620 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
16621 msgstr ""
16622
16623 #. type: Plain text
16624 #: build/C/man3/sysconf.3:263
16625 msgid ""
16626 "The maximum length of a utility's input line, either from standard input or "
16627 "from a file.  This includes space for a trailing newline."
16628 msgstr ""
16629
16630 #. type: Plain text
16631 #: build/C/man3/sysconf.3:269
16632 msgid ""
16633 "The maximum number of repeated occurrences of a regular expression when the "
16634 "interval notation B<\\e{m,n\\e}> is used."
16635 msgstr ""
16636
16637 #. type: TP
16638 #: build/C/man3/sysconf.3:269
16639 #, no-wrap
16640 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
16641 msgstr ""
16642
16643 #. type: Plain text
16644 #: build/C/man3/sysconf.3:273
16645 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
16646 msgstr ""
16647
16648 #. type: TP
16649 #: build/C/man3/sysconf.3:273
16650 #, no-wrap
16651 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
16652 msgstr ""
16653
16654 #. type: Plain text
16655 #: build/C/man3/sysconf.3:277
16656 msgid ""
16657 "indicates whether the POSIX.2 C language development facilities are "
16658 "supported."
16659 msgstr ""
16660
16661 #. type: TP
16662 #: build/C/man3/sysconf.3:277
16663 #, no-wrap
16664 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
16665 msgstr ""
16666
16667 #. type: Plain text
16668 #: build/C/man3/sysconf.3:281
16669 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
16670 msgstr ""
16671
16672 #. type: TP
16673 #: build/C/man3/sysconf.3:281
16674 #, no-wrap
16675 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
16676 msgstr ""
16677
16678 #. type: Plain text
16679 #: build/C/man3/sysconf.3:284
16680 msgid "indicates whether the POSIX.2 FORTRAN run-time utilities are supported."
16681 msgstr ""
16682
16683 #. type: TP
16684 #: build/C/man3/sysconf.3:284
16685 #, no-wrap
16686 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
16687 msgstr ""
16688
16689 #. type: Plain text
16690 #: build/C/man3/sysconf.3:289
16691 msgid ""
16692 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
16693 "supported."
16694 msgstr ""
16695
16696 #. type: TP
16697 #: build/C/man3/sysconf.3:289
16698 #, no-wrap
16699 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
16700 msgstr ""
16701
16702 #. type: Plain text
16703 #: build/C/man3/sysconf.3:293
16704 msgid ""
16705 "indicates whether the POSIX.2 software development utilities option is "
16706 "supported."
16707 msgstr ""
16708
16709 #. type: Plain text
16710 #: build/C/man3/sysconf.3:295
16711 msgid "These values also exist, but may not be standard."
16712 msgstr ""
16713
16714 #. type: TP
16715 #: build/C/man3/sysconf.3:295
16716 #, no-wrap
16717 msgid " - B<_SC_PHYS_PAGES>"
16718 msgstr ""
16719
16720 #. type: Plain text
16721 #: build/C/man3/sysconf.3:302
16722 msgid ""
16723 "The number of pages of physical memory.  Note that it is possible for the "
16724 "product of this value and the value of B<_SC_PAGESIZE> to overflow."
16725 msgstr ""
16726
16727 #. type: TP
16728 #: build/C/man3/sysconf.3:302
16729 #, no-wrap
16730 msgid " - B<_SC_AVPHYS_PAGES>"
16731 msgstr ""
16732
16733 #. type: Plain text
16734 #: build/C/man3/sysconf.3:305
16735 msgid "The number of currently available pages of physical memory."
16736 msgstr ""
16737
16738 #. type: TP
16739 #: build/C/man3/sysconf.3:305
16740 #, no-wrap
16741 msgid " - B<_SC_NPROCESSORS_CONF>"
16742 msgstr ""
16743
16744 #. type: Plain text
16745 #: build/C/man3/sysconf.3:308
16746 msgid "The number of processors configured."
16747 msgstr ""
16748
16749 #. type: TP
16750 #: build/C/man3/sysconf.3:308
16751 #, no-wrap
16752 msgid " - B<_SC_NPROCESSORS_ONLN>"
16753 msgstr ""
16754
16755 #. type: Plain text
16756 #: build/C/man3/sysconf.3:311
16757 msgid "The number of processors currently online (available)."
16758 msgstr ""
16759
16760 #. type: Plain text
16761 #: build/C/man3/sysconf.3:324
16762 msgid ""
16763 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
16764 "Otherwise, the value returned is the value of the system resource and "
16765 "I<errno> is not changed.  In the case of options, a positive value is "
16766 "returned if a queried option is available, and -1 if it is not.  In the case "
16767 "of limits, -1 means that there is no definite limit."
16768 msgstr ""
16769
16770 #. type: Plain text
16771 #: build/C/man3/sysconf.3:332
16772 msgid ""
16773 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
16774 "the argument space for B<exec>(3)  is consumed by the user's environment "
16775 "variables."
16776 msgstr ""
16777
16778 #. type: Plain text
16779 #: build/C/man3/sysconf.3:343
16780 msgid ""
16781 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
16782 "B<pathconf>(3), B<posixoptions>(7)"
16783 msgstr ""
16784
16785 #. type: TH
16786 #: build/C/man2/sysctl.2:30
16787 #, no-wrap
16788 msgid "SYSCTL"
16789 msgstr ""
16790
16791 #. type: TH
16792 #: build/C/man2/sysctl.2:30
16793 #, no-wrap
16794 msgid "2012-12-22"
16795 msgstr ""
16796
16797 #. type: Plain text
16798 #: build/C/man2/sysctl.2:33
16799 msgid "sysctl - read/write system parameters"
16800 msgstr ""
16801
16802 #. type: Plain text
16803 #: build/C/man2/sysctl.2:38
16804 #, no-wrap
16805 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
16806 msgstr ""
16807
16808 #. type: Plain text
16809 #: build/C/man2/sysctl.2:40
16810 #, no-wrap
16811 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
16812 msgstr ""
16813
16814 #. type: Plain text
16815 #: build/C/man2/sysctl.2:47
16816 msgid "B<Do not use this system call!> See NOTES."
16817 msgstr ""
16818
16819 #. type: Plain text
16820 #: build/C/man2/sysctl.2:54
16821 msgid ""
16822 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
16823 "the hostname, or the maximum number of open files.  The argument has the "
16824 "form"
16825 msgstr ""
16826
16827 #. type: Plain text
16828 #: build/C/man2/sysctl.2:66
16829 #, no-wrap
16830 msgid ""
16831 "struct __sysctl_args {\n"
16832 "    int    *name;    /* integer vector describing variable */\n"
16833 "    int     nlen;    /* length of this vector */\n"
16834 "    void   *oldval;  /* 0 or address where to store old value */\n"
16835 "    size_t *oldlenp; /* available room for old value,\n"
16836 "                        overwritten by actual size of old value */\n"
16837 "    void   *newval;  /* 0 or address of new value */\n"
16838 "    size_t  newlen;  /* size of new value */\n"
16839 "};\n"
16840 msgstr ""
16841
16842 #. type: Plain text
16843 #: build/C/man2/sysctl.2:74
16844 msgid ""
16845 "This call does a search in a tree structure, possibly resembling a directory "
16846 "tree under I</proc/sys>, and if the requested item is found calls some "
16847 "appropriate routine to read or modify the value."
16848 msgstr ""
16849
16850 #. type: Plain text
16851 #: build/C/man2/sysctl.2:81
16852 msgid ""
16853 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
16854 "-1 is returned and I<errno> is set to indicate the error."
16855 msgstr ""
16856
16857 #. type: Plain text
16858 #: build/C/man2/sysctl.2:88
16859 msgid ""
16860 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
16861 "but allowed zero room in I<oldlenp>."
16862 msgstr ""
16863
16864 #. type: Plain text
16865 #: build/C/man2/sysctl.2:92
16866 msgid "I<name> was not found."
16867 msgstr ""
16868
16869 #. type: TP
16870 #: build/C/man2/sysctl.2:92
16871 #, no-wrap
16872 msgid "B<EACCES>, B<EPERM>"
16873 msgstr ""
16874
16875 #. type: Plain text
16876 #: build/C/man2/sysctl.2:100
16877 msgid ""
16878 "No search permission for one of the encountered \"directories\", or no read "
16879 "permission where I<oldval> was nonzero, or no write permission where "
16880 "I<newval> was nonzero."
16881 msgstr ""
16882
16883 #. type: Plain text
16884 #: build/C/man2/sysctl.2:114
16885 msgid ""
16886 "This call is Linux-specific, and should not be used in programs intended to "
16887 "be portable.  A B<sysctl>()  call has been present in Linux since version "
16888 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
16889 "and the object naming schemes differ between Linux and 4.4BSD, but the "
16890 "declaration of the B<sysctl>()  function is the same in both."
16891 msgstr ""
16892
16893 #.  See http://lwn.net/Articles/247243/
16894 #.  Though comments in suggest that it is needed by old glibc binaries,
16895 #.  so maybe it's not going away.
16896 #. type: Plain text
16897 #: build/C/man2/sysctl.2:131
16898 msgid ""
16899 "Glibc does not provide a wrapper for this system call; call it using "
16900 "B<syscall>(2).  Or rather...  I<don't> call it: use of this system call has "
16901 "long been discouraged, and it is so unloved that B<it is likely to disappear "
16902 "in a future kernel version>.  Since Linux 2.6.24, uses of this system call "
16903 "result in warnings in the kernel log.  Remove it from your programs now; use "
16904 "the I</proc/sys> interface instead."
16905 msgstr ""
16906
16907 #. type: Plain text
16908 #: build/C/man2/sysctl.2:135
16909 msgid ""
16910 "This system call is available only if the kernel was configured with the "
16911 "B<CONFIG_SYSCTL_SYSCALL> option."
16912 msgstr ""
16913
16914 #. type: Plain text
16915 #: build/C/man2/sysctl.2:138
16916 msgid ""
16917 "The object names vary between kernel versions, making this system call "
16918 "worthless for applications."
16919 msgstr ""
16920
16921 #. type: Plain text
16922 #: build/C/man2/sysctl.2:140
16923 msgid "Not all available objects are properly documented."
16924 msgstr ""
16925
16926 #. type: Plain text
16927 #: build/C/man2/sysctl.2:143
16928 msgid ""
16929 "It is not yet possible to change operating system by writing to "
16930 "I</proc/sys/kernel/ostype>."
16931 msgstr ""
16932
16933 #. type: Plain text
16934 #: build/C/man2/sysctl.2:152
16935 #, no-wrap
16936 msgid ""
16937 "#define _GNU_SOURCE\n"
16938 "#include E<lt>unistd.hE<gt>\n"
16939 "#include E<lt>sys/syscall.hE<gt>\n"
16940 "#include E<lt>string.hE<gt>\n"
16941 "#include E<lt>stdio.hE<gt>\n"
16942 "#include E<lt>stdlib.hE<gt>\n"
16943 "#include E<lt>linux/sysctl.hE<gt>\n"
16944 msgstr ""
16945
16946 #. type: Plain text
16947 #: build/C/man2/sysctl.2:154
16948 #, no-wrap
16949 msgid "int _sysctl(struct __sysctl_args *args );\n"
16950 msgstr ""
16951
16952 #. type: Plain text
16953 #: build/C/man2/sysctl.2:156
16954 #, no-wrap
16955 msgid "#define OSNAMESZ 100\n"
16956 msgstr ""
16957
16958 #. type: Plain text
16959 #: build/C/man2/sysctl.2:164
16960 #, no-wrap
16961 msgid ""
16962 "int\n"
16963 "main(void)\n"
16964 "{\n"
16965 "    struct __sysctl_args args;\n"
16966 "    char osname[OSNAMESZ];\n"
16967 "    size_t osnamelth;\n"
16968 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
16969 msgstr ""
16970
16971 #. type: Plain text
16972 #: build/C/man2/sysctl.2:170
16973 #, no-wrap
16974 msgid ""
16975 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
16976 "    args.name = name;\n"
16977 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
16978 "    args.oldval = osname;\n"
16979 "    args.oldlenp = &osnamelth;\n"
16980 msgstr ""
16981
16982 #. type: Plain text
16983 #: build/C/man2/sysctl.2:172
16984 #, no-wrap
16985 msgid "    osnamelth = sizeof(osname);\n"
16986 msgstr ""
16987
16988 #. type: Plain text
16989 #: build/C/man2/sysctl.2:180
16990 #, no-wrap
16991 msgid ""
16992 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
16993 "        perror(\"_sysctl\");\n"
16994 "        exit(EXIT_FAILURE);\n"
16995 "    }\n"
16996 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
16997 "    exit(EXIT_SUCCESS);\n"
16998 "}\n"
16999 msgstr ""
17000
17001 #. type: Plain text
17002 #: build/C/man2/sysctl.2:183 build/C/man2/sysinfo.2:96
17003 msgid "B<proc>(5)"
17004 msgstr ""
17005
17006 #. type: TH
17007 #: build/C/man2/sysinfo.2:14
17008 #, no-wrap
17009 msgid "SYSINFO"
17010 msgstr ""
17011
17012 #. type: TH
17013 #: build/C/man2/sysinfo.2:14
17014 #, no-wrap
17015 msgid "2012-05-05"
17016 msgstr ""
17017
17018 #. type: Plain text
17019 #: build/C/man2/sysinfo.2:17
17020 msgid "sysinfo - returns information on overall system statistics"
17021 msgstr ""
17022
17023 #. type: Plain text
17024 #: build/C/man2/sysinfo.2:21
17025 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
17026 msgstr ""
17027
17028 #. type: Plain text
17029 #: build/C/man2/sysinfo.2:25
17030 msgid ""
17031 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
17032 "following structure:"
17033 msgstr ""
17034
17035 #. type: Plain text
17036 #: build/C/man2/sysinfo.2:40
17037 #, no-wrap
17038 msgid ""
17039 "struct sysinfo {\n"
17040 "    long uptime;             /* Seconds since boot */\n"
17041 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17042 "    unsigned long totalram;  /* Total usable main memory size */\n"
17043 "    unsigned long freeram;   /* Available memory size */\n"
17044 "    unsigned long sharedram; /* Amount of shared memory */\n"
17045 "    unsigned long bufferram; /* Memory used by buffers */\n"
17046 "    unsigned long totalswap; /* Total swap space size */\n"
17047 "    unsigned long freeswap;  /* swap space still available */\n"
17048 "    unsigned short procs;    /* Number of current processes */\n"
17049 "    char _f[22];             /* Pads structure to 64 bytes */\n"
17050 "};\n"
17051 msgstr ""
17052
17053 #. type: Plain text
17054 #: build/C/man2/sysinfo.2:44
17055 msgid "and the sizes were given in bytes."
17056 msgstr ""
17057
17058 #. type: Plain text
17059 #: build/C/man2/sysinfo.2:47
17060 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
17061 msgstr ""
17062
17063 #. type: Plain text
17064 #: build/C/man2/sysinfo.2:65
17065 #, no-wrap
17066 msgid ""
17067 "struct sysinfo {\n"
17068 "    long uptime;             /* Seconds since boot */\n"
17069 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
17070 "    unsigned long totalram;  /* Total usable main memory size */\n"
17071 "    unsigned long freeram;   /* Available memory size */\n"
17072 "    unsigned long sharedram; /* Amount of shared memory */\n"
17073 "    unsigned long bufferram; /* Memory used by buffers */\n"
17074 "    unsigned long totalswap; /* Total swap space size */\n"
17075 "    unsigned long freeswap;  /* swap space still available */\n"
17076 "    unsigned short procs;    /* Number of current processes */\n"
17077 "    unsigned long totalhigh; /* Total high memory size */\n"
17078 "    unsigned long freehigh;  /* Available high memory size */\n"
17079 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
17080 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding to 64 bytes */\n"
17081 "};\n"
17082 msgstr ""
17083
17084 #. type: Plain text
17085 #: build/C/man2/sysinfo.2:69
17086 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
17087 msgstr ""
17088
17089 #. type: Plain text
17090 #: build/C/man2/sysinfo.2:74
17091 msgid ""
17092 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
17093 "This is more portable than reading I</dev/kmem>."
17094 msgstr ""
17095
17096 #. type: Plain text
17097 #: build/C/man2/sysinfo.2:83
17098 msgid "pointer to I<struct\\ sysinfo> is invalid"
17099 msgstr ""
17100
17101 #. type: Plain text
17102 #: build/C/man2/sysinfo.2:94
17103 msgid ""
17104 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
17105 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
17106 msgstr ""
17107
17108 #. type: TH
17109 #: build/C/man3/tcgetpgrp.3:25
17110 #, no-wrap
17111 msgid "TCGETPGRP"
17112 msgstr ""
17113
17114 #. type: TH
17115 #: build/C/man3/tcgetpgrp.3:25
17116 #, no-wrap
17117 msgid "2003-01-28"
17118 msgstr ""
17119
17120 #. type: Plain text
17121 #: build/C/man3/tcgetpgrp.3:28
17122 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
17123 msgstr ""
17124
17125 #. type: Plain text
17126 #: build/C/man3/tcgetpgrp.3:32
17127 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
17128 msgstr ""
17129
17130 #. type: Plain text
17131 #: build/C/man3/tcgetpgrp.3:34
17132 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
17133 msgstr ""
17134
17135 #.  The process itself may be a background process.
17136 #. type: Plain text
17137 #: build/C/man3/tcgetpgrp.3:42
17138 msgid ""
17139 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
17140 "process group on the terminal associated to I<fd>, which must be the "
17141 "controlling terminal of the calling process."
17142 msgstr ""
17143
17144 #. type: Plain text
17145 #: build/C/man3/tcgetpgrp.3:52
17146 msgid ""
17147 "The function B<tcsetpgrp>()  makes the process group with process group ID "
17148 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
17149 "which must be the controlling terminal of the calling process, and still be "
17150 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
17151 "group belonging to the same session as the calling process."
17152 msgstr ""
17153
17154 #. type: Plain text
17155 #: build/C/man3/tcgetpgrp.3:61
17156 msgid ""
17157 "If B<tcsetpgrp>()  is called by a member of a background process group in "
17158 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
17159 "a B<SIGTTOU> signal is sent to all members of this background process group."
17160 msgstr ""
17161
17162 #. type: Plain text
17163 #: build/C/man3/tcgetpgrp.3:76
17164 msgid ""
17165 "When I<fd> refers to the controlling terminal of the calling process, the "
17166 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
17167 "terminal if there is one, and some value larger than 1 that is not presently "
17168 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
17169 "terminal of the calling process, -1 is returned, and I<errno> is set "
17170 "appropriately."
17171 msgstr ""
17172
17173 #. type: Plain text
17174 #: build/C/man3/tcgetpgrp.3:83
17175 msgid ""
17176 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
17177 "I<errno> is set appropriately."
17178 msgstr ""
17179
17180 #. type: Plain text
17181 #: build/C/man3/tcgetpgrp.3:92
17182 msgid "I<pgrp> has an unsupported value."
17183 msgstr ""
17184
17185 #. type: Plain text
17186 #: build/C/man3/tcgetpgrp.3:101
17187 msgid ""
17188 "The calling process does not have a controlling terminal, or it has one but "
17189 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
17190 "terminal is no longer associated with the session of the calling process."
17191 msgstr ""
17192
17193 #. type: Plain text
17194 #: build/C/man3/tcgetpgrp.3:106
17195 msgid ""
17196 "I<pgrp> has a supported value, but is not the process group ID of a process "
17197 "in the same session as the calling process."
17198 msgstr ""
17199
17200 #. type: Plain text
17201 #: build/C/man3/tcgetpgrp.3:114
17202 msgid ""
17203 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
17204 "ioctls."
17205 msgstr ""
17206
17207 #. type: SS
17208 #: build/C/man3/tcgetpgrp.3:114 build/C/man2/vfork.2:234
17209 #, no-wrap
17210 msgid "History"
17211 msgstr ""
17212
17213 #. type: Plain text
17214 #: build/C/man3/tcgetpgrp.3:117
17215 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
17216 msgstr ""
17217
17218 #. type: Plain text
17219 #: build/C/man3/tcgetpgrp.3:121
17220 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
17221 msgstr ""
17222
17223 #. type: TH
17224 #: build/C/man2/truncate.2:43
17225 #, no-wrap
17226 msgid "TRUNCATE"
17227 msgstr ""
17228
17229 #. type: TH
17230 #: build/C/man2/truncate.2:43
17231 #, no-wrap
17232 msgid "2011-09-08"
17233 msgstr ""
17234
17235 #. type: Plain text
17236 #: build/C/man2/truncate.2:46
17237 msgid "truncate, ftruncate - truncate a file to a specified length"
17238 msgstr ""
17239
17240 #. type: Plain text
17241 #: build/C/man2/truncate.2:52
17242 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
17243 msgstr ""
17244
17245 #. type: Plain text
17246 #: build/C/man2/truncate.2:54
17247 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
17248 msgstr ""
17249
17250 #. type: Plain text
17251 #: build/C/man2/truncate.2:63
17252 msgid "B<truncate>():"
17253 msgstr ""
17254
17255 #. type: Plain text
17256 #: build/C/man2/truncate.2:71
17257 msgid "B<ftruncate>():"
17258 msgstr ""
17259
17260 #. type: Plain text
17261 #: build/C/man2/truncate.2:76
17262 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
17263 msgstr ""
17264
17265 #. type: Plain text
17266 #: build/C/man2/truncate.2:91
17267 msgid ""
17268 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
17269 "named by I<path> or referenced by I<fd> to be truncated to a size of "
17270 "precisely I<length> bytes."
17271 msgstr ""
17272
17273 #. type: Plain text
17274 #: build/C/man2/truncate.2:95
17275 msgid ""
17276 "If the file previously was larger than this size, the extra data is lost.  "
17277 "If the file previously was shorter, it is extended, and the extended part "
17278 "reads as null bytes (\\(aq\\e0\\(aq)."
17279 msgstr ""
17280
17281 #. type: Plain text
17282 #: build/C/man2/truncate.2:97
17283 msgid "The file offset is not changed."
17284 msgstr ""
17285
17286 #. type: Plain text
17287 #: build/C/man2/truncate.2:104
17288 msgid ""
17289 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
17290 "time of last status change and time of last modification; see B<stat>(2))  "
17291 "for the file are updated, and the set-user-ID and set-group-ID permission "
17292 "bits may be cleared."
17293 msgstr ""
17294
17295 #. type: Plain text
17296 #: build/C/man2/truncate.2:110
17297 msgid ""
17298 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
17299 "the file must be writable."
17300 msgstr ""
17301
17302 #. type: Plain text
17303 #: build/C/man2/truncate.2:118
17304 msgid "For B<truncate>():"
17305 msgstr ""
17306
17307 #. type: Plain text
17308 #: build/C/man2/truncate.2:124
17309 msgid ""
17310 "Search permission is denied for a component of the path prefix, or the named "
17311 "file is not writable by the user.  (See also B<path_resolution>(7).)"
17312 msgstr ""
17313
17314 #. type: Plain text
17315 #: build/C/man2/truncate.2:128
17316 msgid "I<Path> points outside the process's allocated address space."
17317 msgstr ""
17318
17319 #. type: TP
17320 #: build/C/man2/truncate.2:128
17321 #, no-wrap
17322 msgid "B<EFBIG>"
17323 msgstr ""
17324
17325 #. type: Plain text
17326 #: build/C/man2/truncate.2:133
17327 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
17328 msgstr ""
17329
17330 #. type: Plain text
17331 #: build/C/man2/truncate.2:140
17332 msgid ""
17333 "While blocked waiting to complete, the call was interrupted by a signal "
17334 "handler; see B<fcntl>(2)  and B<signal>(7)."
17335 msgstr ""
17336
17337 #. type: Plain text
17338 #: build/C/man2/truncate.2:145
17339 msgid "The argument I<length> is negative or larger than the maximum file size."
17340 msgstr ""
17341
17342 #. type: Plain text
17343 #: build/C/man2/truncate.2:148
17344 msgid "An I/O error occurred updating the inode."
17345 msgstr ""
17346
17347 #. type: Plain text
17348 #: build/C/man2/truncate.2:151
17349 msgid "The named file is a directory."
17350 msgstr ""
17351
17352 #. type: Plain text
17353 #: build/C/man2/truncate.2:154
17354 msgid "Too many symbolic links were encountered in translating the pathname."
17355 msgstr ""
17356
17357 #. type: Plain text
17358 #: build/C/man2/truncate.2:158
17359 msgid ""
17360 "A component of a pathname exceeded 255 characters, or an entire pathname "
17361 "exceeded 1023 characters."
17362 msgstr ""
17363
17364 #. type: Plain text
17365 #: build/C/man2/truncate.2:161
17366 msgid "The named file does not exist."
17367 msgstr ""
17368
17369 #.  This happens for at least MSDOS and VFAT file systems
17370 #.  on kernel 2.6.13
17371 #. type: Plain text
17372 #: build/C/man2/truncate.2:170
17373 msgid ""
17374 "The underlying file system does not support extending a file beyond its "
17375 "current size."
17376 msgstr ""
17377
17378 #. type: Plain text
17379 #: build/C/man2/truncate.2:176
17380 msgid "The file is a pure procedure (shared text) file that is being executed."
17381 msgstr ""
17382
17383 #. type: Plain text
17384 #: build/C/man2/truncate.2:183
17385 msgid ""
17386 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
17387 "wrong with I<path>, we now have things that can be wrong with the file "
17388 "descriptor, I<fd>:"
17389 msgstr ""
17390
17391 #. type: Plain text
17392 #: build/C/man2/truncate.2:187
17393 msgid "I<fd> is not a valid descriptor."
17394 msgstr ""
17395
17396 #. type: TP
17397 #: build/C/man2/truncate.2:187
17398 #, no-wrap
17399 msgid "B<EBADF> or B<EINVAL>"
17400 msgstr ""
17401
17402 #. type: Plain text
17403 #: build/C/man2/truncate.2:191
17404 msgid "I<fd> is not open for writing."
17405 msgstr ""
17406
17407 #. type: Plain text
17408 #: build/C/man2/truncate.2:195
17409 msgid "I<fd> does not reference a regular file."
17410 msgstr ""
17411
17412 #.  POSIX.1-1996 has
17413 #.  .BR ftruncate ().
17414 #.  POSIX.1-2001 also has
17415 #.  .BR truncate (),
17416 #.  as an XSI extension.
17417 #.  .LP
17418 #.  SVr4 documents additional
17419 #.  .BR truncate ()
17420 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
17421 #.  .BR ftruncate ()
17422 #.  an additional EAGAIN error condition.
17423 #. type: Plain text
17424 #: build/C/man2/truncate.2:208
17425 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
17426 msgstr ""
17427
17428 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
17429 #. type: Plain text
17430 #: build/C/man2/truncate.2:229
17431 msgid ""
17432 "The details in DESCRIPTION are for XSI-compliant systems.  For "
17433 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
17434 "B<ftruncate>()  when I<length> exceeds the file length (note that "
17435 "B<truncate>()  is not specified at all in such an environment): either "
17436 "returning an error, or extending the file.  Like most UNIX implementations, "
17437 "Linux follows the XSI requirement when dealing with native file systems.  "
17438 "However, some nonnative file systems do not permit B<truncate>()  and "
17439 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
17440 "notable example on Linux is VFAT."
17441 msgstr ""
17442
17443 #. type: Plain text
17444 #: build/C/man2/truncate.2:243
17445 msgid ""
17446 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
17447 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
17448 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
17449 "files.  However, these details can be ignored by applications using glibc, "
17450 "whose wrapper functions transparently employ the more recent system calls "
17451 "where they are available."
17452 msgstr ""
17453
17454 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
17455 #. type: Plain text
17456 #: build/C/man2/truncate.2:251
17457 msgid ""
17458 "A header file bug in glibc 2.12 meant that the minimum value of "
17459 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
17460 "200809L instead of 200112L.  This has been fixed in later glibc versions."
17461 msgstr ""
17462
17463 #. type: Plain text
17464 #: build/C/man2/truncate.2:255
17465 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17466 msgstr ""
17467
17468 #. type: TH
17469 #: build/C/man3/ualarm.3:24
17470 #, no-wrap
17471 msgid "UALARM"
17472 msgstr ""
17473
17474 #. type: Plain text
17475 #: build/C/man3/ualarm.3:27
17476 msgid "ualarm - schedule signal after given number of microseconds"
17477 msgstr ""
17478
17479 #. type: Plain text
17480 #: build/C/man3/ualarm.3:32
17481 #, no-wrap
17482 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17483 msgstr ""
17484
17485 #. type: Plain text
17486 #: build/C/man3/ualarm.3:40
17487 msgid "B<ualarm>():"
17488 msgstr ""
17489
17490 #. type: Plain text
17491 #: build/C/man3/ualarm.3:69
17492 msgid ""
17493 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
17494 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
17495 "may be lengthened slightly by any system activity or by the time spent "
17496 "processing the call or by the granularity of system timers."
17497 msgstr ""
17498
17499 #. type: Plain text
17500 #: build/C/man3/ualarm.3:73
17501 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
17502 msgstr ""
17503
17504 #. type: Plain text
17505 #: build/C/man3/ualarm.3:81
17506 msgid ""
17507 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
17508 "sent every I<interval> microseconds after the first."
17509 msgstr ""
17510
17511 #. type: Plain text
17512 #: build/C/man3/ualarm.3:84
17513 msgid ""
17514 "This function returns the number of microseconds remaining for any alarm "
17515 "that was previously set, or 0 if no alarm was pending."
17516 msgstr ""
17517
17518 #. type: Plain text
17519 #: build/C/man3/ualarm.3:88
17520 msgid "Interrupted by a signal."
17521 msgstr ""
17522
17523 #. type: Plain text
17524 #: build/C/man3/ualarm.3:92
17525 msgid ""
17526 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
17527 "is considered an error.)"
17528 msgstr ""
17529
17530 #. type: Plain text
17531 #: build/C/man3/ualarm.3:100
17532 msgid ""
17533 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
17534 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
17535 "POSIX do not define any errors."
17536 msgstr ""
17537
17538 #. type: Plain text
17539 #: build/C/man3/ualarm.3:113
17540 msgid ""
17541 "The type I<useconds_t> is an unsigned integer type capable of holding "
17542 "integers in the range [0,1000000].  On the original BSD implementation, and "
17543 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
17544 "typed as I<unsigned int>.  Programs will be more portable if they never "
17545 "mention I<useconds_t> explicitly."
17546 msgstr ""
17547
17548 #. type: Plain text
17549 #: build/C/man3/ualarm.3:127
17550 msgid ""
17551 "The interaction of this function with other timer functions such as "
17552 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
17553 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
17554 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
17555 msgstr ""
17556
17557 #. type: Plain text
17558 #: build/C/man3/ualarm.3:135
17559 msgid ""
17560 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
17561 "(B<timer_create>(2), etc.)  instead."
17562 msgstr ""
17563
17564 #. type: Plain text
17565 #: build/C/man3/ualarm.3:143
17566 msgid ""
17567 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17568 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
17569 msgstr ""
17570
17571 #. type: TH
17572 #: build/C/man2/umask.2:34
17573 #, no-wrap
17574 msgid "UMASK"
17575 msgstr ""
17576
17577 #. type: TH
17578 #: build/C/man2/umask.2:34
17579 #, no-wrap
17580 msgid "2008-01-09"
17581 msgstr ""
17582
17583 #. type: Plain text
17584 #: build/C/man2/umask.2:37
17585 msgid "umask - set file mode creation mask"
17586 msgstr ""
17587
17588 #. type: Plain text
17589 #: build/C/man2/umask.2:43
17590 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
17591 msgstr ""
17592
17593 #. type: Plain text
17594 #: build/C/man2/umask.2:50
17595 msgid ""
17596 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
17597 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
17598 "and returns the previous value of the mask."
17599 msgstr ""
17600
17601 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
17602 #.  but NOT the System V IPC *get() calls
17603 #. type: Plain text
17604 #: build/C/man2/umask.2:63
17605 msgid ""
17606 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
17607 "create files to modify the permissions placed on newly created files or "
17608 "directories.  Specifically, permissions in the umask are turned off from the "
17609 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
17610 msgstr ""
17611
17612 #. type: Plain text
17613 #: build/C/man2/umask.2:68
17614 msgid ""
17615 "The constants that should be used to specify I<mask> are described under "
17616 "B<stat>(2)."
17617 msgstr ""
17618
17619 #. type: Plain text
17620 #: build/C/man2/umask.2:77
17621 msgid ""
17622 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
17623 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
17624 "specified as:"
17625 msgstr ""
17626
17627 #. type: Plain text
17628 #: build/C/man2/umask.2:80
17629 #, no-wrap
17630 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
17631 msgstr ""
17632
17633 #. type: Plain text
17634 #: build/C/man2/umask.2:84
17635 msgid ""
17636 "(octal 0666) when creating a new file, the permissions on the resulting file "
17637 "will be:"
17638 msgstr ""
17639
17640 #. type: Plain text
17641 #: build/C/man2/umask.2:87
17642 #, no-wrap
17643 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
17644 msgstr ""
17645
17646 #. type: Plain text
17647 #: build/C/man2/umask.2:90
17648 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
17649 msgstr ""
17650
17651 #. type: Plain text
17652 #: build/C/man2/umask.2:93
17653 msgid ""
17654 "This system call always succeeds and the previous value of the mask is "
17655 "returned."
17656 msgstr ""
17657
17658 #. type: Plain text
17659 #: build/C/man2/umask.2:101
17660 msgid ""
17661 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
17662 "umask is left unchanged by B<execve>(2)."
17663 msgstr ""
17664
17665 #. type: Plain text
17666 #: build/C/man2/umask.2:116
17667 msgid ""
17668 "The umask setting also affects the permissions assigned to POSIX IPC objects "
17669 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
17670 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
17671 "not affect the permissions assigned to System V IPC objects created by the "
17672 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
17673 msgstr ""
17674
17675 #.  FIXME . eventually: .BR acl (5)
17676 #. type: Plain text
17677 #: build/C/man2/umask.2:122
17678 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2)"
17679 msgstr ""
17680
17681 #. type: TH
17682 #: build/C/man2/uname.2:27
17683 #, no-wrap
17684 msgid "UNAME"
17685 msgstr ""
17686
17687 #. type: Plain text
17688 #: build/C/man2/uname.2:30
17689 msgid "uname - get name and information about current kernel"
17690 msgstr ""
17691
17692 #. type: Plain text
17693 #: build/C/man2/uname.2:32
17694 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
17695 msgstr ""
17696
17697 #. type: Plain text
17698 #: build/C/man2/uname.2:34
17699 msgid "B<int uname(struct utsname *>I<buf>B<);>"
17700 msgstr ""
17701
17702 #. type: Plain text
17703 #: build/C/man2/uname.2:42
17704 msgid ""
17705 "B<uname>()  returns system information in the structure pointed to by "
17706 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
17707 msgstr ""
17708
17709 #. type: Plain text
17710 #: build/C/man2/uname.2:56
17711 #, no-wrap
17712 msgid ""
17713 "struct utsname {\n"
17714 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
17715 "    char nodename[];   /* Name within \"some implementation-defined\n"
17716 "                          network\" */\n"
17717 "    char release[];    /* Operating system release (e.g., \"2.6.28\") */\n"
17718 "    char version[];    /* Operating system version */\n"
17719 "    char machine[];    /* Hardware identifier */\n"
17720 "#ifdef _GNU_SOURCE\n"
17721 "    char domainname[]; /* NIS or YP domain name */\n"
17722 "#endif\n"
17723 "};\n"
17724 msgstr ""
17725
17726 #. type: Plain text
17727 #: build/C/man2/uname.2:63
17728 msgid ""
17729 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
17730 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
17731 msgstr ""
17732
17733 #. type: Plain text
17734 #: build/C/man2/uname.2:73
17735 msgid "I<buf> is not valid."
17736 msgstr ""
17737
17738 #. type: Plain text
17739 #: build/C/man2/uname.2:78
17740 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
17741 msgstr ""
17742
17743 #. type: Plain text
17744 #: build/C/man2/uname.2:82
17745 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
17746 msgstr ""
17747
17748 #. type: Plain text
17749 #: build/C/man2/uname.2:94
17750 msgid ""
17751 "This is a system call, and the operating system presumably knows its name, "
17752 "release and version.  It also knows what hardware it runs on.  So, four of "
17753 "the fields of the struct are meaningful.  On the other hand, the field "
17754 "I<nodename> is meaningless: it gives the name of the present machine in some "
17755 "undefined network, but typically machines are in more than one network and "
17756 "have several names.  Moreover, the kernel has no way of knowing about such "
17757 "things, so it has to be told what to answer here.  The same holds for the "
17758 "additional I<domainname> field."
17759 msgstr ""
17760
17761 #. type: Plain text
17762 #: build/C/man2/uname.2:108
17763 msgid ""
17764 "To this end Linux uses the system calls B<sethostname>(2)  and "
17765 "B<setdomainname>(2).  Note that there is no standard that says that the "
17766 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
17767 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
17768 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
17769 "same holds for B<setdomainname>(2)  and the I<domainname> field."
17770 msgstr ""
17771
17772 #. type: Plain text
17773 #: build/C/man2/uname.2:123
17774 msgid ""
17775 "The length of the fields in the struct varies.  Some operating systems or "
17776 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
17777 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
17778 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
17779 "257 is chosen in order to have room for an internet hostname."
17780 msgstr ""
17781
17782 #. type: Plain text
17783 #: build/C/man2/uname.2:130
17784 msgid ""
17785 "Part of the utsname information is also accessible via "
17786 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
17787 "I<domainname>}."
17788 msgstr ""
17789
17790 #. type: SS
17791 #: build/C/man2/uname.2:130
17792 #, no-wrap
17793 msgid "Underlying kernel interface"
17794 msgstr ""
17795
17796 #.  That was back before Linux 1.0
17797 #.  That was also back before Linux 1.0
17798 #. type: Plain text
17799 #: build/C/man2/uname.2:157
17800 msgid ""
17801 "Over time, increases in the size of the I<utsname> structure have led to "
17802 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
17803 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
17804 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
17805 "all fields; the second used 65; the third also uses 65 but adds the "
17806 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
17807 "details from applications, invoking the most recent version of the system "
17808 "call provided by the kernel."
17809 msgstr ""
17810
17811 #. type: Plain text
17812 #: build/C/man2/uname.2:161
17813 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
17814 msgstr ""
17815
17816 #. type: TH
17817 #: build/C/man2/uselib.2:31
17818 #, no-wrap
17819 msgid "USELIB"
17820 msgstr ""
17821
17822 #. type: TH
17823 #: build/C/man2/uselib.2:31
17824 #, no-wrap
17825 msgid "2005-01-09"
17826 msgstr ""
17827
17828 #. type: Plain text
17829 #: build/C/man2/uselib.2:34
17830 msgid "uselib - load shared library"
17831 msgstr ""
17832
17833 #. type: Plain text
17834 #: build/C/man2/uselib.2:38
17835 msgid "B<int uselib(const char *>I<library>B<);>"
17836 msgstr ""
17837
17838 #. type: Plain text
17839 #: build/C/man2/uselib.2:48
17840 msgid ""
17841 "The system call B<uselib>()  serves to load a shared library to be used by "
17842 "the calling process.  It is given a pathname.  The address where to load is "
17843 "found in the library itself.  The library can have any recognized binary "
17844 "format."
17845 msgstr ""
17846
17847 #. type: Plain text
17848 #: build/C/man2/uselib.2:59
17849 msgid ""
17850 "In addition to all of the error codes returned by B<open>(2)  and "
17851 "B<mmap>(2), the following may also be returned:"
17852 msgstr ""
17853
17854 #. type: Plain text
17855 #: build/C/man2/uselib.2:67
17856 msgid ""
17857 "The library specified by I<library> does not have read or execute "
17858 "permission, or the caller does not have search permission for one of the "
17859 "directories in the path prefix.  (See also B<path_resolution>(7).)"
17860 msgstr ""
17861
17862 #. type: Plain text
17863 #: build/C/man2/uselib.2:76
17864 msgid ""
17865 "The file specified by I<library> is not an executable of known type, e.g., "
17866 "does not have the correct magic numbers."
17867 msgstr ""
17868
17869 #. type: Plain text
17870 #: build/C/man2/uselib.2:80
17871 msgid ""
17872 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
17873 "to be portable."
17874 msgstr ""
17875
17876 #. type: Plain text
17877 #: build/C/man2/uselib.2:85
17878 msgid ""
17879 "B<uselib>()  was used by early libc startup code to load the shared "
17880 "libraries with names found in an array of names in the binary."
17881 msgstr ""
17882
17883 #.  libc 4.3.1f - changelog 1993-03-02
17884 #.  libc 4.3.4 - changelog 1993-04-21
17885 #. type: Plain text
17886 #: build/C/man2/uselib.2:95
17887 msgid ""
17888 "Since libc 4.3.2, startup code tries to prefix these names with "
17889 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
17890 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
17891 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
17892 msgstr ""
17893
17894 #. type: Plain text
17895 #: build/C/man2/uselib.2:100
17896 msgid ""
17897 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
17898 "dynamic library can load the remaining libraries needed (again using this "
17899 "call).  This is also the state of affairs in libc5."
17900 msgstr ""
17901
17902 #. type: Plain text
17903 #: build/C/man2/uselib.2:102
17904 msgid "glibc2 does not use this call."
17905 msgstr ""
17906
17907 #. type: Plain text
17908 #: build/C/man2/uselib.2:112
17909 msgid ""
17910 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
17911 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
17912 msgstr ""
17913
17914 #. type: TH
17915 #: build/C/man3/usleep.3:33
17916 #, no-wrap
17917 msgid "USLEEP"
17918 msgstr ""
17919
17920 #. type: TH
17921 #: build/C/man3/usleep.3:33
17922 #, no-wrap
17923 msgid "2010-12-03"
17924 msgstr ""
17925
17926 #. type: Plain text
17927 #: build/C/man3/usleep.3:36
17928 msgid "usleep - suspend execution for microsecond intervals"
17929 msgstr ""
17930
17931 #. type: Plain text
17932 #: build/C/man3/usleep.3:41
17933 #, no-wrap
17934 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
17935 msgstr ""
17936
17937 #. type: Plain text
17938 #: build/C/man3/usleep.3:49
17939 msgid "B<usleep>():"
17940 msgstr ""
17941
17942 #. type: Plain text
17943 #: build/C/man3/usleep.3:75
17944 msgid ""
17945 "The B<usleep>()  function suspends execution of the calling thread for (at "
17946 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
17947 "system activity or by the time spent processing the call or by the "
17948 "granularity of system timers."
17949 msgstr ""
17950
17951 #. type: Plain text
17952 #: build/C/man3/usleep.3:77
17953 msgid "0 on success, -1 on error."
17954 msgstr ""
17955
17956 #. type: Plain text
17957 #: build/C/man3/usleep.3:82
17958 msgid "Interrupted by a signal; see B<signal>(7)."
17959 msgstr ""
17960
17961 #. type: Plain text
17962 #: build/C/man3/usleep.3:86
17963 msgid ""
17964 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
17965 "an error.)"
17966 msgstr ""
17967
17968 #. type: Plain text
17969 #: build/C/man3/usleep.3:93
17970 msgid ""
17971 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
17972 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
17973 "B<usleep>()."
17974 msgstr ""
17975
17976 #. type: Plain text
17977 #: build/C/man3/usleep.3:100
17978 msgid ""
17979 "On the original BSD implementation, and in glibc before version 2.2.2, the "
17980 "return type of this function is I<void>.  The POSIX version returns I<int>, "
17981 "and this is also the prototype used since glibc 2.2.2."
17982 msgstr ""
17983
17984 #. type: Plain text
17985 #: build/C/man3/usleep.3:104
17986 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
17987 msgstr ""
17988
17989 #. type: Plain text
17990 #: build/C/man3/usleep.3:112
17991 msgid ""
17992 "The type I<useconds_t> is an unsigned integer type capable of holding "
17993 "integers in the range [0,1000000].  Programs will be more portable if they "
17994 "never mention this type explicitly.  Use"
17995 msgstr ""
17996
17997 #. type: Plain text
17998 #: build/C/man3/usleep.3:120
17999 #, no-wrap
18000 msgid ""
18001 "#include E<lt>unistd.hE<gt>\n"
18002 "\\&...\n"
18003 "    unsigned int usecs;\n"
18004 "\\&...\n"
18005 "    usleep(usecs);\n"
18006 msgstr ""
18007
18008 #. type: Plain text
18009 #: build/C/man3/usleep.3:137
18010 msgid ""
18011 "The interaction of this function with the B<SIGALRM> signal, and with other "
18012 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
18013 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
18014 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
18015 "B<ualarm>(3)  is unspecified."
18016 msgstr ""
18017
18018 #. type: Plain text
18019 #: build/C/man3/usleep.3:146
18020 msgid ""
18021 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
18022 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
18023 msgstr ""
18024
18025 #. type: TH
18026 #: build/C/man2/vfork.2:28
18027 #, no-wrap
18028 msgid "VFORK"
18029 msgstr ""
18030
18031 #. type: TH
18032 #: build/C/man2/vfork.2:28
18033 #, no-wrap
18034 msgid "2012-08-05"
18035 msgstr ""
18036
18037 #. type: Plain text
18038 #: build/C/man2/vfork.2:31
18039 msgid "vfork - create a child process and block parent"
18040 msgstr ""
18041
18042 #. type: Plain text
18043 #: build/C/man2/vfork.2:37
18044 msgid "B<pid_t vfork(void);>"
18045 msgstr ""
18046
18047 #. type: Plain text
18048 #: build/C/man2/vfork.2:44
18049 msgid "B<vfork>():"
18050 msgstr ""
18051
18052 #. type: SS
18053 #: build/C/man2/vfork.2:63
18054 #, no-wrap
18055 msgid "Standard description"
18056 msgstr ""
18057
18058 #. type: Plain text
18059 #: build/C/man2/vfork.2:82
18060 msgid ""
18061 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
18062 "except that the behavior is undefined if the process created by B<vfork>()  "
18063 "either modifies any data other than a variable of type I<pid_t> used to "
18064 "store the return value from B<vfork>(), or returns from the function in "
18065 "which B<vfork>()  was called, or calls any other function before "
18066 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
18067 "functions."
18068 msgstr ""
18069
18070 #. type: SS
18071 #: build/C/man2/vfork.2:82
18072 #, no-wrap
18073 msgid "Linux description"
18074 msgstr ""
18075
18076 #. type: Plain text
18077 #: build/C/man2/vfork.2:89
18078 msgid ""
18079 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
18080 "process.  For details and return value and errors, see B<fork>(2)."
18081 msgstr ""
18082
18083 #. type: Plain text
18084 #: build/C/man2/vfork.2:98
18085 msgid ""
18086 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
18087 "processes without copying the page tables of the parent process.  It may be "
18088 "useful in performance-sensitive applications where a child is created which "
18089 "then immediately issues an B<execve>(2)."
18090 msgstr ""
18091
18092 #. type: Plain text
18093 #: build/C/man2/vfork.2:115
18094 msgid ""
18095 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
18096 "until the child terminates (either normally, by calling B<_exit>(2), or "
18097 "abnormally, after delivery of a fatal signal), or it makes a call to "
18098 "B<execve>(2).  Until that point, the child shares all memory with its "
18099 "parent, including the stack.  The child must not return from the current "
18100 "function or call B<exit>(3), but may call B<_exit>(2)."
18101 msgstr ""
18102
18103 #. type: Plain text
18104 #: build/C/man2/vfork.2:126
18105 msgid ""
18106 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
18107 "of various of the caller's process attributes (e.g., file descriptors, "
18108 "signal dispositions, and current working directory); the B<vfork>()  call "
18109 "differs only in the treatment of the virtual address space, as described "
18110 "above."
18111 msgstr ""
18112
18113 #. type: Plain text
18114 #: build/C/man2/vfork.2:132
18115 msgid ""
18116 "Signals sent to the parent arrive after the child releases the parent's "
18117 "memory (i.e., after the child terminates or calls B<execve>(2))."
18118 msgstr ""
18119
18120 #. type: SS
18121 #: build/C/man2/vfork.2:132
18122 #, no-wrap
18123 msgid "Historic description"
18124 msgstr ""
18125
18126 #. type: Plain text
18127 #: build/C/man2/vfork.2:159
18128 msgid ""
18129 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
18130 "only penalty incurred by B<fork>(2)  is the time and memory required to "
18131 "duplicate the parent's page tables, and to create a unique task structure "
18132 "for the child.  However, in the bad old days a B<fork>(2)  would require "
18133 "making a complete copy of the caller's data space, often needlessly, since "
18134 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
18135 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
18136 "copy the address space of the parent process, but borrowed the parent's "
18137 "memory and thread of control until a call to B<execve>(2)  or an exit "
18138 "occurred.  The parent process was suspended while the child was using its "
18139 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
18140 "data in the parent process depended on knowing which variables were held in "
18141 "a register."
18142 msgstr ""
18143
18144 #. type: Plain text
18145 #: build/C/man2/vfork.2:163
18146 msgid ""
18147 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
18148 "specification of B<vfork>()."
18149 msgstr ""
18150
18151 #.  In AIXv3.1 vfork is equivalent to fork.
18152 #. type: Plain text
18153 #: build/C/man2/vfork.2:174
18154 msgid ""
18155 "The requirements put on B<vfork>()  by the standards are weaker than those "
18156 "put on B<fork>(2), so an implementation where the two are synonymous is "
18157 "compliant.  In particular, the programmer cannot rely on the parent "
18158 "remaining blocked until the child either terminates or calls B<execve>(2), "
18159 "and cannot rely on any specific behavior with respect to shared memory."
18160 msgstr ""
18161
18162 #. type: Plain text
18163 #: build/C/man2/vfork.2:193
18164 msgid ""
18165 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
18166 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
18167 "proper system sharing mechanisms are implemented.  Users should not depend "
18168 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
18169 "made synonymous to B<fork>(2).\" However, even though modern memory "
18170 "management hardware has decreased the performance difference between "
18171 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
18172 "systems have retained B<vfork>():"
18173 msgstr ""
18174
18175 #. type: Plain text
18176 #: build/C/man2/vfork.2:197
18177 msgid ""
18178 "Some performance-critical applications require the small performance "
18179 "advantage conferred by B<vfork>()."
18180 msgstr ""
18181
18182 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
18183 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
18184 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
18185 #. type: Plain text
18186 #: build/C/man2/vfork.2:213
18187 msgid ""
18188 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
18189 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
18190 "removed B<vfork>()  from the standard; the POSIX rationale for the "
18191 "B<posix_spawn>(3)  function notes that that function, which provides "
18192 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
18193 "implementable on systems that lack an MMU.)"
18194 msgstr ""
18195
18196 #. type: Plain text
18197 #: build/C/man2/vfork.2:224
18198 msgid ""
18199 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
18200 "multithreaded program employing the NPTL threading library calls "
18201 "B<vfork>().  Fork handlers are called in this case in a program using the "
18202 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
18203 "Linux threading libraries.)"
18204 msgstr ""
18205
18206 #. type: Plain text
18207 #: build/C/man2/vfork.2:232
18208 msgid ""
18209 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
18210 "specified as:"
18211 msgstr ""
18212
18213 #. type: Plain text
18214 #: build/C/man2/vfork.2:234
18215 #, no-wrap
18216 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
18217 msgstr ""
18218
18219 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
18220 #.  present, but definitely on its way out'.
18221 #. type: Plain text
18222 #: build/C/man2/vfork.2:252
18223 msgid ""
18224 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
18225 "synonymous to B<fork>(2)  but NetBSD introduced it again, cf.  E<.UR "
18226 "http://www.netbsd.org\\:/Documentation\\:/kernel\\:/vfork.html> E<.UE .> In "
18227 "Linux, it has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since "
18228 "2.2.0-pre9 (on i386, somewhat later on other architectures) it is an "
18229 "independent system call.  Support was added in glibc 2.0.112."
18230 msgstr ""
18231
18232 #
18233 #.  As far as I can tell, the following is not true in 2.6.19:
18234 #.  Currently (Linux 2.3.25),
18235 #.  .BR strace (1)
18236 #.  cannot follow
18237 #.  .BR vfork ()
18238 #.  and requires a kernel patch.
18239 #. type: Plain text
18240 #: build/C/man2/vfork.2:273
18241 msgid ""
18242 "Details of the signal handling are obscure and differ between systems.  The "
18243 "BSD man page states: \"To avoid a possible deadlock situation, processes "
18244 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
18245 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
18246 "attempts result in an end-of-file indication.\""
18247 msgstr ""
18248
18249 #. type: Plain text
18250 #: build/C/man2/vfork.2:279
18251 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
18252 msgstr ""
18253
18254 #. type: TH
18255 #: build/C/man2/vhangup.2:28
18256 #, no-wrap
18257 msgid "VHANGUP"
18258 msgstr ""
18259
18260 #. type: Plain text
18261 #: build/C/man2/vhangup.2:31
18262 msgid "vhangup - virtually hangup the current terminal"
18263 msgstr ""
18264
18265 #. type: Plain text
18266 #: build/C/man2/vhangup.2:35
18267 msgid "B<int vhangup(void);>"
18268 msgstr ""
18269
18270 #. type: Plain text
18271 #: build/C/man2/vhangup.2:44
18272 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
18273 msgstr ""
18274
18275 #. type: Plain text
18276 #: build/C/man2/vhangup.2:50
18277 msgid ""
18278 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
18279 "arranges for other users to have a ``clean'' terminal at login time."
18280 msgstr ""
18281
18282 #. type: Plain text
18283 #: build/C/man2/vhangup.2:63
18284 msgid ""
18285 "The calling process has insufficient privilege to call B<vhangup>(); the "
18286 "B<CAP_SYS_TTY_CONFIG> capability is required."
18287 msgstr ""
18288
18289 #. type: Plain text
18290 #: build/C/man2/vhangup.2:66
18291 msgid ""
18292 "This call is Linux-specific, and should not be used in programs intended to "
18293 "be portable."
18294 msgstr ""
18295
18296 #. type: Plain text
18297 #: build/C/man2/vhangup.2:69
18298 msgid "B<capabilities>(7), B<init>(8)"
18299 msgstr ""