OSDN Git Service

(split) LDP: Regenerate POT and ja.po with updated perkamon.
[linuxjm/LDP_man-pages.git] / po4a / unistd / po / unistd.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2012-05-10 20:03+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man2/_syscall.2:38
21 #, no-wrap
22 msgid "_SYSCALL"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man2/_syscall.2:38
27 #, no-wrap
28 msgid "2007-12-19"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:30 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man2/dup.2:36 build/C/man7/environ.7:33 build/C/man2/execve.2:37 build/C/man2/exit_group.2:23 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:34 build/C/man2/fork.2:39 build/C/man2/fsync.2:38 build/C/man2/get_thread_area.2:6 build/C/man2/getdomainname.2:29 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man2/getpagesize.2:23 build/C/man2/gettid.2:26 build/C/man2/idle.2:32 build/C/man2/ioctl.2:39 build/C/man2/ioctl_list.2:27 build/C/man2/ioperm.2:35 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:9 build/C/man2/nice.2:31 build/C/man2/pread.2:23 build/C/man2/set_thread_area.2:7 build/C/man2/setup.2:34 build/C/man2/swapon.2:37 build/C/man2/syscall.2:38 build/C/man2/syscalls.2:29 build/C/man2/sysctl.2:28 build/C/man2/sysinfo.2:14 build/C/man2/truncate.2:41 build/C/man2/umask.2:34 build/C/man2/uname.2:25 build/C/man2/uselib.2:31 build/C/man2/vfork.2:26 build/C/man2/vhangup.2:27
33 #, no-wrap
34 msgid "Linux"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man2/_syscall.2:38 build/C/man2/access.2:43 build/C/man2/alarm.2:30 build/C/man2/brk.2:30 build/C/man2/chdir.2:33 build/C/man2/chmod.2:31 build/C/man2/chown.2:38 build/C/man2/chroot.2:33 build/C/man2/close.2:35 build/C/man3/confstr.3:29 build/C/man3/crypt.3:35 build/C/man3/daemon.3:34 build/C/man3/des_crypt.3:10 build/C/man2/dup.2:36 build/C/man3/encrypt.3:24 build/C/man7/environ.7:33 build/C/man3/euidaccess.3:26 build/C/man3/exec.3:39 build/C/man2/execve.2:37 build/C/man2/exit_group.2:23 build/C/man2/fcntl.2:61 build/C/man3/fexecve.3:25 build/C/man2/flock.2:34 build/C/man2/fork.2:39 build/C/man3/fpathconf.3:24 build/C/man2/fsync.2:38 build/C/man3/get_nprocs_conf.3:24 build/C/man2/get_thread_area.2:6 build/C/man3/getcwd.3:30 build/C/man2/getdomainname.2:29 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man2/gethostname.2:32 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:39 build/C/man2/getpagesize.2:23 build/C/man2/gettid.2:26 build/C/man3/getumask.3:26 build/C/man3/getusershell.3:28 build/C/man2/idle.2:32 build/C/man2/ioctl.2:39 build/C/man2/ioctl_list.2:27 build/C/man2/ioperm.2:35 build/C/man3/lockf.3:22 build/C/man2/mincore.2:34 build/C/man2/mkdir.2:9 build/C/man2/nice.2:31 build/C/man2/pread.2:23 build/C/man2/set_thread_area.2:7 build/C/man2/setup.2:34 build/C/man5/shells.5:27 build/C/man3/sleep.3:24 build/C/man3/swab.3:29 build/C/man2/swapon.2:37 build/C/man2/syscall.2:38 build/C/man2/syscalls.2:29 build/C/man3/sysconf.3:25 build/C/man2/sysctl.2:28 build/C/man2/sysinfo.2:14 build/C/man3/tcgetpgrp.3:23 build/C/man2/truncate.2:41 build/C/man3/ualarm.3:23 build/C/man2/umask.2:34 build/C/man2/uname.2:25 build/C/man2/uselib.2:31 build/C/man3/usleep.3:31 build/C/man2/vfork.2:26 build/C/man2/vhangup.2:27
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man2/_syscall.2:39 build/C/man2/access.2:44 build/C/man2/alarm.2:31 build/C/man2/brk.2:31 build/C/man2/chdir.2:34 build/C/man2/chmod.2:32 build/C/man2/chown.2:39 build/C/man2/chroot.2:34 build/C/man2/close.2:36 build/C/man3/confstr.3:30 build/C/man3/crypt.3:36 build/C/man3/daemon.3:35 build/C/man3/des_crypt.3:11 build/C/man2/dup.2:37 build/C/man3/encrypt.3:25 build/C/man7/environ.7:34 build/C/man3/euidaccess.3:27 build/C/man3/exec.3:40 build/C/man2/execve.2:38 build/C/man2/exit_group.2:24 build/C/man2/fcntl.2:62 build/C/man3/fexecve.3:26 build/C/man2/flock.2:35 build/C/man2/fork.2:40 build/C/man3/fpathconf.3:25 build/C/man2/fsync.2:39 build/C/man3/get_nprocs_conf.3:25 build/C/man2/get_thread_area.2:7 build/C/man3/getcwd.3:31 build/C/man2/getdomainname.2:30 build/C/man2/getdtablesize.2:28 build/C/man3/gethostid.3:30 build/C/man2/gethostname.2:33 build/C/man3/getlogin.3:29 build/C/man3/getopt.3:40 build/C/man2/getpagesize.2:24 build/C/man2/gettid.2:27 build/C/man3/getumask.3:27 build/C/man3/getusershell.3:29 build/C/man2/idle.2:33 build/C/man2/ioctl.2:40 build/C/man2/ioctl_list.2:28 build/C/man2/ioperm.2:36 build/C/man3/lockf.3:23 build/C/man2/mincore.2:35 build/C/man2/mkdir.2:10 build/C/man2/nice.2:32 build/C/man2/pread.2:24 build/C/man2/set_thread_area.2:8 build/C/man2/setup.2:35 build/C/man5/shells.5:28 build/C/man3/sleep.3:25 build/C/man3/swab.3:30 build/C/man2/swapon.2:38 build/C/man2/syscall.2:39 build/C/man2/syscalls.2:30 build/C/man3/sysconf.3:26 build/C/man2/sysctl.2:29 build/C/man2/sysinfo.2:15 build/C/man3/tcgetpgrp.3:24 build/C/man2/truncate.2:42 build/C/man3/ualarm.3:24 build/C/man2/umask.2:35 build/C/man2/uname.2:26 build/C/man2/uselib.2:32 build/C/man3/usleep.3:32 build/C/man2/vfork.2:27 build/C/man2/vhangup.2:28
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man2/_syscall.2:41
51 msgid "_syscall - invoking a system call without library support (OBSOLETE)"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man2/_syscall.2:41 build/C/man2/access.2:46 build/C/man2/alarm.2:33 build/C/man2/brk.2:33 build/C/man2/chdir.2:36 build/C/man2/chmod.2:34 build/C/man2/chown.2:41 build/C/man2/chroot.2:36 build/C/man2/close.2:38 build/C/man3/confstr.3:32 build/C/man3/crypt.3:38 build/C/man3/daemon.3:37 build/C/man3/des_crypt.3:14 build/C/man2/dup.2:39 build/C/man3/encrypt.3:27 build/C/man7/environ.7:36 build/C/man3/euidaccess.3:29 build/C/man3/exec.3:42 build/C/man2/execve.2:40 build/C/man2/exit_group.2:26 build/C/man2/fcntl.2:64 build/C/man3/fexecve.3:28 build/C/man2/flock.2:37 build/C/man2/fork.2:42 build/C/man3/fpathconf.3:27 build/C/man2/fsync.2:41 build/C/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:32 build/C/man2/getdtablesize.2:30 build/C/man3/gethostid.3:32 build/C/man2/gethostname.2:35 build/C/man3/getlogin.3:31 build/C/man3/getopt.3:43 build/C/man2/getpagesize.2:26 build/C/man2/gettid.2:29 build/C/man3/getumask.3:29 build/C/man3/getusershell.3:31 build/C/man2/idle.2:35 build/C/man2/ioctl.2:42 build/C/man2/ioperm.2:38 build/C/man3/lockf.3:25 build/C/man2/mincore.2:37 build/C/man2/mkdir.2:12 build/C/man2/nice.2:34 build/C/man2/pread.2:26 build/C/man2/set_thread_area.2:10 build/C/man2/setup.2:37 build/C/man3/sleep.3:27 build/C/man3/swab.3:32 build/C/man2/swapon.2:40 build/C/man2/syscall.2:41 build/C/man2/syscalls.2:32 build/C/man3/sysconf.3:28 build/C/man2/sysctl.2:31 build/C/man2/sysinfo.2:17 build/C/man3/tcgetpgrp.3:26 build/C/man2/truncate.2:44 build/C/man3/ualarm.3:26 build/C/man2/umask.2:37 build/C/man2/uname.2:28 build/C/man2/uselib.2:34 build/C/man3/usleep.3:34 build/C/man2/vfork.2:29 build/C/man2/vhangup.2:30
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man2/_syscall.2:43 build/C/man2/get_thread_area.2:11 build/C/man2/set_thread_area.2:12
62 msgid "B<#include E<lt>linux/unistd.hE<gt>>"
63 msgstr ""
64
65 #. type: Plain text
66 #: build/C/man2/_syscall.2:45
67 msgid "A _syscall macro"
68 msgstr ""
69
70 #. type: Plain text
71 #: build/C/man2/_syscall.2:47
72 msgid "desired system call"
73 msgstr ""
74
75 #. type: SH
76 #: build/C/man2/_syscall.2:47 build/C/man2/access.2:52 build/C/man2/alarm.2:39 build/C/man2/brk.2:65 build/C/man2/chdir.2:59 build/C/man2/chmod.2:58 build/C/man2/chown.2:67 build/C/man2/chroot.2:63 build/C/man2/close.2:44 build/C/man3/confstr.3:46 build/C/man3/crypt.3:55 build/C/man3/daemon.3:49 build/C/man3/des_crypt.3:30 build/C/man2/dup.2:52 build/C/man3/encrypt.3:50 build/C/man7/environ.7:41 build/C/man3/euidaccess.3:37 build/C/man3/exec.3:70 build/C/man2/execve.2:46 build/C/man2/exit_group.2:32 build/C/man2/fcntl.2:71 build/C/man3/fexecve.3:53 build/C/man2/flock.2:41 build/C/man2/fork.2:46 build/C/man3/fpathconf.3:35 build/C/man2/fsync.2:61 build/C/man3/get_nprocs_conf.3:33 build/C/man2/get_thread_area.2:15 build/C/man3/getcwd.3:73 build/C/man2/getdomainname.2:51 build/C/man2/getdtablesize.2:57 build/C/man3/gethostid.3:56 build/C/man2/gethostname.2:63 build/C/man3/getlogin.3:52 build/C/man3/getopt.3:77 build/C/man2/getpagesize.2:53 build/C/man2/gettid.2:35 build/C/man3/getumask.3:37 build/C/man3/getusershell.3:55 build/C/man2/idle.2:39 build/C/man2/ioctl.2:46 build/C/man2/ioctl_list.2:30 build/C/man2/ioperm.2:46 build/C/man3/lockf.3:42 build/C/man2/mincore.2:51 build/C/man2/mkdir.2:20 build/C/man2/nice.2:46 build/C/man2/pread.2:51 build/C/man2/set_thread_area.2:16 build/C/man2/setup.2:41 build/C/man5/shells.5:30 build/C/man3/sleep.3:33 build/C/man3/swab.3:39 build/C/man2/swapon.2:50 build/C/man2/syscall.2:49 build/C/man2/syscalls.2:34 build/C/man3/sysconf.3:34 build/C/man2/sysctl.2:39 build/C/man2/sysinfo.2:21 build/C/man3/tcgetpgrp.3:32 build/C/man2/truncate.2:77 build/C/man3/ualarm.3:57 build/C/man2/umask.2:43 build/C/man2/uname.2:32 build/C/man2/uselib.2:38 build/C/man3/usleep.3:65 build/C/man2/vfork.2:60 build/C/man2/vhangup.2:44
77 #, no-wrap
78 msgid "DESCRIPTION"
79 msgstr ""
80
81 #. type: Plain text
82 #: build/C/man2/_syscall.2:53
83 msgid ""
84 "The important thing to know about a system call is its prototype.  You need "
85 "to know how many arguments, their types, and the function return type.  "
86 "There are seven macros that make the actual call into the system easier.  "
87 "They have the form:"
88 msgstr ""
89
90 #. type: Plain text
91 #: build/C/man2/_syscall.2:56
92 msgid "_syscallI<X>(I<type>,I<name>,I<type1>,I<arg1>,I<type2>,I<arg2>,...)"
93 msgstr ""
94
95 #. type: Plain text
96 #: build/C/man2/_syscall.2:59
97 msgid "where"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man2/_syscall.2:62
102 msgid "I<X> is 0\\(en6, which are the number of arguments taken by the system call"
103 msgstr ""
104
105 #. type: Plain text
106 #: build/C/man2/_syscall.2:64
107 msgid "I<type> is the return type of the system call"
108 msgstr ""
109
110 #. type: Plain text
111 #: build/C/man2/_syscall.2:66
112 msgid "I<name> is the name of the system call"
113 msgstr ""
114
115 #. type: Plain text
116 #: build/C/man2/_syscall.2:68
117 msgid "I<typeN> is the Nth argument's type"
118 msgstr ""
119
120 #. type: Plain text
121 #: build/C/man2/_syscall.2:70
122 msgid "I<argN> is the name of the Nth argument"
123 msgstr ""
124
125 #. type: Plain text
126 #: build/C/man2/_syscall.2:75
127 msgid ""
128 "These macros create a function called I<name> with the arguments you "
129 "specify.  Once you include the _syscall() in your source file, you call the "
130 "system call by I<name>."
131 msgstr ""
132
133 #. type: SH
134 #: build/C/man2/_syscall.2:75 build/C/man3/getlogin.3:130 build/C/man3/getusershell.3:79 build/C/man5/shells.5:41
135 #, no-wrap
136 msgid "FILES"
137 msgstr ""
138
139 #. type: Plain text
140 #: build/C/man2/_syscall.2:77
141 msgid "I</usr/include/linux/unistd.h>"
142 msgstr ""
143
144 #. type: SH
145 #: build/C/man2/_syscall.2:77 build/C/man2/access.2:148 build/C/man2/alarm.2:61 build/C/man2/brk.2:115 build/C/man2/chdir.2:125 build/C/man2/chmod.2:219 build/C/man2/chown.2:181 build/C/man2/chroot.2:134 build/C/man2/close.2:84 build/C/man3/confstr.3:125 build/C/man3/crypt.3:162 build/C/man3/daemon.3:88 build/C/man3/des_crypt.3:130 build/C/man2/dup.2:170 build/C/man3/encrypt.3:118 build/C/man3/euidaccess.3:74 build/C/man3/exec.3:197 build/C/man2/execve.2:435 build/C/man2/exit_group.2:41 build/C/man2/fcntl.2:1146 build/C/man3/fexecve.3:94 build/C/man2/flock.2:137 build/C/man2/fork.2:187 build/C/man3/fpathconf.3:152 build/C/man2/fsync.2:126 build/C/man3/get_nprocs_conf.3:46 build/C/man2/get_thread_area.2:41 build/C/man3/getcwd.3:206 build/C/man2/getdomainname.2:110 build/C/man2/getdtablesize.2:69 build/C/man3/gethostid.3:92 build/C/man2/gethostname.2:124 build/C/man3/getlogin.3:138 build/C/man3/getopt.3:316 build/C/man2/getpagesize.2:62 build/C/man2/gettid.2:55 build/C/man3/getumask.3:56 build/C/man3/getusershell.3:83 build/C/man2/idle.2:61 build/C/man2/ioctl.2:115 build/C/man2/ioperm.2:95 build/C/man3/lockf.3:148 build/C/man2/mincore.2:134 build/C/man2/mkdir.2:113 build/C/man2/nice.2:75 build/C/man2/pread.2:113 build/C/man2/set_thread_area.2:59 build/C/man2/setup.2:62 build/C/man3/sleep.3:42 build/C/man3/swab.3:56 build/C/man2/swapon.2:151 build/C/man3/sysconf.3:322 build/C/man2/sysctl.2:95 build/C/man2/sysinfo.2:83 build/C/man3/tcgetpgrp.3:104 build/C/man2/truncate.2:193 build/C/man3/ualarm.3:91 build/C/man2/umask.2:93 build/C/man2/uname.2:71 build/C/man2/uselib.2:76 build/C/man3/usleep.3:84 build/C/man2/vfork.2:157 build/C/man2/vhangup.2:62
146 #, no-wrap
147 msgid "CONFORMING TO"
148 msgstr ""
149
150 #. type: Plain text
151 #: build/C/man2/_syscall.2:79
152 msgid "The use of these macros is Linux-specific, and deprecated."
153 msgstr ""
154
155 #. type: SH
156 #: build/C/man2/_syscall.2:79 build/C/man2/access.2:150 build/C/man2/alarm.2:63 build/C/man2/brk.2:123 build/C/man2/chdir.2:127 build/C/man2/chown.2:192 build/C/man2/chroot.2:139 build/C/man2/close.2:87 build/C/man3/crypt.3:167 build/C/man3/daemon.3:94 build/C/man2/dup.2:180 build/C/man3/encrypt.3:129 build/C/man3/euidaccess.3:80 build/C/man3/exec.3:203 build/C/man2/execve.2:443 build/C/man2/exit_group.2:43 build/C/man2/fcntl.2:1196 build/C/man3/fexecve.3:98 build/C/man2/flock.2:146 build/C/man2/fork.2:189 build/C/man3/fpathconf.3:154 build/C/man2/fsync.2:141 build/C/man3/get_nprocs_conf.3:48 build/C/man2/get_thread_area.2:45 build/C/man3/getcwd.3:228 build/C/man2/getdomainname.2:113 build/C/man2/getdtablesize.2:77 build/C/man3/gethostid.3:102 build/C/man2/gethostname.2:130 build/C/man3/getopt.3:348 build/C/man2/getpagesize.2:69 build/C/man2/gettid.2:59 build/C/man3/getumask.3:58 build/C/man2/ioctl.2:130 build/C/man2/ioperm.2:99 build/C/man2/mkdir.2:116 build/C/man2/nice.2:82 build/C/man2/pread.2:115 build/C/man2/set_thread_area.2:63 build/C/man2/setup.2:65 build/C/man2/swapon.2:157 build/C/man2/syscall.2:63 build/C/man2/syscalls.2:616 build/C/man2/sysctl.2:109 build/C/man3/tcgetpgrp.3:106 build/C/man2/truncate.2:206 build/C/man3/ualarm.3:99 build/C/man2/umask.2:95 build/C/man2/uname.2:80 build/C/man2/uselib.2:80 build/C/man3/usleep.3:102 build/C/man2/vfork.2:172
157 #, no-wrap
158 msgid "NOTES"
159 msgstr ""
160
161 #. type: Plain text
162 #: build/C/man2/_syscall.2:89
163 msgid ""
164 "Starting around kernel 2.6.18, the _syscall macros were removed from header "
165 "files supplied to user space.  Use B<syscall>(2)  instead.  (Some "
166 "architectures, notably ia64, never provided the _syscall macros; on those "
167 "architectures, B<syscall>(2)  was always required.)"
168 msgstr ""
169
170 #. type: Plain text
171 #: build/C/man2/_syscall.2:93
172 msgid ""
173 "The _syscall() macros I<do not> produce a prototype.  You may have to create "
174 "one, especially for C++ users."
175 msgstr ""
176
177 #. type: Plain text
178 #: build/C/man2/_syscall.2:105
179 msgid ""
180 "System calls are not required to return only positive or negative error "
181 "codes.  You need to read the source to be sure how it will return errors.  "
182 "Usually, it is the negative of a standard error code, for example, "
183 "-B<EPERM>.  The _syscall() macros will return the result I<r> of the system "
184 "call when I<r> is nonnegative, but will return -1 and set the variable "
185 "I<errno> to -I<r> when I<r> is negative.  For the error codes, see "
186 "B<errno>(3)."
187 msgstr ""
188
189 #.  The preferred way to invoke system calls that glibc does not know
190 #.  about yet is via
191 #.  .BR syscall (2).
192 #.  However, this mechanism can only be used if using a libc
193 #.  (such as glibc) that supports
194 #.  .BR syscall (2),
195 #.  and if the
196 #.  .I <sys/syscall.h>
197 #.  header file contains the required SYS_foo definition.
198 #.  Otherwise, the use of a _syscall macro is required.
199 #. type: Plain text
200 #: build/C/man2/_syscall.2:119
201 msgid ""
202 "When defining a system call, the argument types I<must> be passed by-value "
203 "or by-pointer (for aggregates like structs)."
204 msgstr ""
205
206 #. type: SH
207 #: build/C/man2/_syscall.2:119 build/C/man2/chown.2:288 build/C/man3/confstr.3:127 build/C/man3/encrypt.3:131 build/C/man2/execve.2:527 build/C/man2/fork.2:220 build/C/man3/get_nprocs_conf.3:65 build/C/man3/getopt.3:374 build/C/man5/shells.5:43 build/C/man2/syscall.2:67 build/C/man2/sysctl.2:129
208 #, no-wrap
209 msgid "EXAMPLE"
210 msgstr ""
211
212 #. type: Plain text
213 #: build/C/man2/_syscall.2:126
214 #, no-wrap
215 msgid ""
216 "#include E<lt>stdio.hE<gt>\n"
217 "#include E<lt>stdlib.hE<gt>\n"
218 "#include E<lt>errno.hE<gt>\n"
219 "#include E<lt>linux/unistd.hE<gt>       /* for _syscallX macros/related "
220 "stuff */\n"
221 "#include E<lt>linux/kernel.hE<gt>       /* for struct sysinfo */\n"
222 msgstr ""
223
224 #. type: Plain text
225 #: build/C/man2/_syscall.2:128
226 #, no-wrap
227 msgid "_syscall1(int, sysinfo, struct sysinfo *, info);\n"
228 msgstr ""
229
230 #. type: Plain text
231 #: build/C/man2/_syscall.2:131
232 #, no-wrap
233 msgid ""
234 "/* Note: if you copy directly from the nroff source, remember to\n"
235 "REMOVE the extra backslashes in the printf statement. */\n"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man2/_syscall.2:137
240 #, no-wrap
241 msgid ""
242 "int\n"
243 "main(void)\n"
244 "{\n"
245 "    struct sysinfo s_info;\n"
246 "    int error;\n"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man2/_syscall.2:152
251 #, no-wrap
252 msgid ""
253 "    error = sysinfo(&s_info);\n"
254 "    printf(\"code error = %d\\en\", error);\n"
255 "    printf(\"Uptime = %lds\\enLoad: 1 min %lu / 5 min %lu / 15 min "
256 "%lu\\en\"\n"
257 "           \"RAM: total %lu / free %lu / shared %lu\\en\"\n"
258 "           \"Memory in buffers = %lu\\enSwap: total %lu / free %lu\\en\"\n"
259 "           \"Number of processes = %d\\en\",\n"
260 "           s_info.uptime, s_info.loads[0],\n"
261 "           s_info.loads[1], s_info.loads[2],\n"
262 "           s_info.totalram, s_info.freeram,\n"
263 "           s_info.sharedram, s_info.bufferram,\n"
264 "           s_info.totalswap, s_info.freeswap,\n"
265 "           s_info.procs);\n"
266 "    exit(EXIT_SUCCESS);\n"
267 "}\n"
268 msgstr ""
269
270 #. type: SS
271 #: build/C/man2/_syscall.2:153
272 #, no-wrap
273 msgid "Sample Output"
274 msgstr ""
275
276 #. type: Plain text
277 #: build/C/man2/_syscall.2:162
278 #, no-wrap
279 msgid ""
280 "code error = 0\n"
281 "uptime = 502034s\n"
282 "Load: 1 min 13376 / 5 min 5504 / 15 min 1152\n"
283 "RAM: total 15343616 / free 827392 / shared 8237056\n"
284 "Memory in buffers = 5066752\n"
285 "Swap: total 27881472 / free 24698880\n"
286 "Number of processes = 40\n"
287 msgstr ""
288
289 #. type: SH
290 #: build/C/man2/_syscall.2:163 build/C/man2/access.2:241 build/C/man2/alarm.2:81 build/C/man2/brk.2:165 build/C/man2/chdir.2:136 build/C/man2/chmod.2:221 build/C/man2/chown.2:336 build/C/man2/chroot.2:151 build/C/man2/close.2:125 build/C/man3/confstr.3:144 build/C/man3/crypt.3:228 build/C/man3/daemon.3:102 build/C/man3/des_crypt.3:133 build/C/man2/dup.2:207 build/C/man3/encrypt.3:155 build/C/man7/environ.7:227 build/C/man3/euidaccess.3:95 build/C/man3/exec.3:239 build/C/man2/execve.2:622 build/C/man2/exit_group.2:47 build/C/man2/fcntl.2:1297 build/C/man3/fexecve.3:106 build/C/man2/flock.2:200 build/C/man2/fork.2:225 build/C/man3/fpathconf.3:163 build/C/man2/fsync.2:163 build/C/man2/get_thread_area.2:49 build/C/man3/getcwd.3:247 build/C/man2/getdomainname.2:127 build/C/man2/getdtablesize.2:90 build/C/man3/gethostid.3:124 build/C/man2/gethostname.2:176 build/C/man3/getlogin.3:193 build/C/man3/getopt.3:512 build/C/man2/getpagesize.2:106 build/C/man2/gettid.2:68 build/C/man3/getumask.3:61 build/C/man3/getusershell.3:85 build/C/man2/ioctl.2:138 build/C/man2/ioctl_list.2:866 build/C/man2/ioperm.2:108 build/C/man3/lockf.3:150 build/C/man2/mincore.2:166 build/C/man2/mkdir.2:128 build/C/man2/nice.2:105 build/C/man2/pread.2:131 build/C/man2/set_thread_area.2:67 build/C/man5/shells.5:52 build/C/man3/sleep.3:59 build/C/man3/swab.3:58 build/C/man2/swapon.2:191 build/C/man2/syscall.2:82 build/C/man2/syscalls.2:792 build/C/man3/sysconf.3:333 build/C/man2/sysctl.2:167 build/C/man2/sysinfo.2:94 build/C/man3/tcgetpgrp.3:115 build/C/man2/truncate.2:249 build/C/man3/ualarm.3:134 build/C/man2/umask.2:116 build/C/man2/uname.2:155 build/C/man2/uselib.2:102 build/C/man3/usleep.3:135 build/C/man2/vfork.2:270 build/C/man2/vhangup.2:65
291 #, no-wrap
292 msgid "SEE ALSO"
293 msgstr ""
294
295 #. type: Plain text
296 #: build/C/man2/_syscall.2: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:252 build/C/man2/alarm.2:90 build/C/man2/brk.2:170 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:148 build/C/man3/crypt.3:234 build/C/man3/daemon.3:105 build/C/man3/des_crypt.3:137 build/C/man2/dup.2:211 build/C/man3/encrypt.3:160 build/C/man7/environ.7:241 build/C/man3/euidaccess.3:106 build/C/man3/exec.3:246 build/C/man2/execve.2:633 build/C/man2/exit_group.2:49 build/C/man2/fcntl.2:1319 build/C/man3/fexecve.3:108 build/C/man2/flock.2:214 build/C/man2/fork.2:235 build/C/man3/fpathconf.3:168 build/C/man2/fsync.2:172 build/C/man3/get_nprocs_conf.3:86 build/C/man2/get_thread_area.2:52 build/C/man3/getcwd.3:254 build/C/man2/getdomainname.2:131 build/C/man2/getdtablesize.2:95 build/C/man3/gethostid.3:127 build/C/man2/gethostname.2:180 build/C/man3/getlogin.3:197 build/C/man3/getopt.3:514 build/C/man2/getpagesize.2:109 build/C/man2/gettid.2:72 build/C/man3/getumask.3:63 build/C/man3/getusershell.3:87 build/C/man2/idle.2:64 build/C/man2/ioctl.2:146 build/C/man2/ioctl_list.2:868 build/C/man2/ioperm.2:111 build/C/man3/lockf.3:166 build/C/man2/mincore.2:169 build/C/man2/mkdir.2:140 build/C/man2/nice.2:112 build/C/man2/pread.2:136 build/C/man2/set_thread_area.2:69 build/C/man2/setup.2:72 build/C/man5/shells.5:55 build/C/man3/sleep.3:64 build/C/man3/swab.3:60 build/C/man2/swapon.2:195 build/C/man2/syscall.2:86 build/C/man2/syscalls.2:796 build/C/man3/sysconf.3:341 build/C/man2/sysctl.2:169 build/C/man2/sysinfo.2:96 build/C/man3/tcgetpgrp.3:119 build/C/man2/truncate.2:253 build/C/man3/ualarm.3:142 build/C/man2/umask.2:122 build/C/man2/uname.2:159 build/C/man2/uselib.2:112 build/C/man3/usleep.3:144 build/C/man2/vfork.2:276 build/C/man2/vhangup.2:68
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:259 build/C/man2/alarm.2:97 build/C/man2/brk.2:177 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:155 build/C/man3/crypt.3:241 build/C/man3/daemon.3:112 build/C/man3/des_crypt.3:144 build/C/man2/dup.2:218 build/C/man3/encrypt.3:167 build/C/man7/environ.7:248 build/C/man3/euidaccess.3:113 build/C/man3/exec.3:253 build/C/man2/execve.2:640 build/C/man2/exit_group.2:56 build/C/man2/fcntl.2:1326 build/C/man3/fexecve.3:115 build/C/man2/flock.2:221 build/C/man2/fork.2:242 build/C/man3/fpathconf.3:175 build/C/man2/fsync.2:179 build/C/man3/get_nprocs_conf.3:93 build/C/man2/get_thread_area.2:59 build/C/man3/getcwd.3:261 build/C/man2/getdomainname.2:138 build/C/man2/getdtablesize.2:102 build/C/man3/gethostid.3:134 build/C/man2/gethostname.2:187 build/C/man3/getlogin.3:204 build/C/man3/getopt.3:521 build/C/man2/getpagesize.2:116 build/C/man2/gettid.2:79 build/C/man3/getumask.3:70 build/C/man3/getusershell.3:94 build/C/man2/idle.2:71 build/C/man2/ioctl.2:153 build/C/man2/ioctl_list.2:875 build/C/man2/ioperm.2:118 build/C/man3/lockf.3:173 build/C/man2/mincore.2:176 build/C/man2/mkdir.2:147 build/C/man2/nice.2:119 build/C/man2/pread.2:143 build/C/man2/set_thread_area.2:76 build/C/man2/setup.2:79 build/C/man5/shells.5:62 build/C/man3/sleep.3:71 build/C/man3/swab.3:67 build/C/man2/swapon.2:202 build/C/man2/syscall.2:93 build/C/man2/syscalls.2:803 build/C/man3/sysconf.3:348 build/C/man2/sysctl.2:176 build/C/man2/sysinfo.2:103 build/C/man3/tcgetpgrp.3:126 build/C/man2/truncate.2:260 build/C/man3/ualarm.3:149 build/C/man2/umask.2:129 build/C/man2/uname.2:166 build/C/man2/uselib.2:119 build/C/man3/usleep.3:151 build/C/man2/vfork.2:283 build/C/man2/vhangup.2:75
308 msgid ""
309 "This page is part of release 3.40 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 "2010-10-24"
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:35 build/C/man3/crypt.3:43 build/C/man2/dup.2:42 build/C/man3/fexecve.3:31 build/C/man3/fpathconf.3:30 build/C/man3/getcwd.3:36 build/C/man3/getopt.3:46 build/C/man3/getusershell.3:34 build/C/man3/sleep.3:30 build/C/man3/sysconf.3:31 build/C/man2/sysctl.2:34 build/C/man3/ualarm.3:29 build/C/man3/usleep.3:37
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:94 build/C/man2/chdir.2:70 build/C/man2/chmod.2:153 build/C/man2/chown.2:119 build/C/man2/chroot.2:90 build/C/man2/close.2:64 build/C/man3/confstr.3:92 build/C/man3/crypt.3:119 build/C/man3/daemon.3:70 build/C/man3/des_crypt.3:102 build/C/man2/dup.2:120 build/C/man3/encrypt.3:107 build/C/man3/euidaccess.3:59 build/C/man3/exec.3:181 build/C/man2/execve.2:340 build/C/man2/exit_group.2:37 build/C/man2/fcntl.2:1051 build/C/man3/fexecve.3:67 build/C/man2/flock.2:110 build/C/man2/fork.2:160 build/C/man3/fpathconf.3:143 build/C/man2/fsync.2:109 build/C/man3/get_nprocs_conf.3:44 build/C/man2/get_thread_area.2:24 build/C/man3/getcwd.3:154 build/C/man2/getdomainname.2:75 build/C/man2/getdtablesize.2:61 build/C/man3/gethostid.3:71 build/C/man2/gethostname.2:89 build/C/man3/getlogin.3:95 build/C/man3/getopt.3:272 build/C/man2/gettid.2:47 build/C/man3/getusershell.3:75 build/C/man2/idle.2:52 build/C/man2/ioctl.2:81 build/C/man2/ioctl_list.2:103 build/C/man2/ioperm.2:73 build/C/man3/lockf.3:110 build/C/man2/mincore.2:94 build/C/man2/mkdir.2:47 build/C/man2/nice.2:56 build/C/man2/pread.2:77 build/C/man2/set_thread_area.2:40 build/C/man2/setup.2:53 build/C/man3/sleep.3:38 build/C/man3/swab.3:52 build/C/man2/swapon.2:108 build/C/man2/syscall.2:57 build/C/man3/sysconf.3:309 build/C/man2/sysctl.2:69 build/C/man2/sysinfo.2:74 build/C/man3/tcgetpgrp.3:59 build/C/man2/truncate.2:108 build/C/man3/ualarm.3:80 build/C/man2/umask.2:90 build/C/man2/uname.2:61 build/C/man2/uselib.2:48 build/C/man3/usleep.3:73 build/C/man2/vhangup.2:49
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:67
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:119 build/C/man3/crypt.3:122 build/C/man2/dup.2:126 build/C/man3/encrypt.3:109 build/C/man3/euidaccess.3:67 build/C/man3/exec.3:188 build/C/man2/execve.2:346 build/C/man2/fcntl.2:1084 build/C/man3/fexecve.3:74 build/C/man2/flock.2:115 build/C/man2/fork.2:167 build/C/man2/fsync.2:114 build/C/man2/get_thread_area.2:30 build/C/man3/getcwd.3:170 build/C/man2/getdomainname.2:80 build/C/man2/getdtablesize.2:63 build/C/man3/gethostid.3:81 build/C/man2/gethostname.2:94 build/C/man3/getlogin.3:101 build/C/man2/gettid.2:49 build/C/man2/idle.2:55 build/C/man2/ioctl.2:90 build/C/man2/ioperm.2:78 build/C/man3/lockf.3:115 build/C/man2/mincore.2:101 build/C/man2/mkdir.2:52 build/C/man2/nice.2:61 build/C/man2/pread.2:87 build/C/man2/set_thread_area.2:45 build/C/man2/setup.2:56 build/C/man2/swapon.2:113 build/C/man2/sysctl.2:76 build/C/man2/sysinfo.2:79 build/C/man3/tcgetpgrp.3:81 build/C/man2/truncate.2:113 build/C/man3/ualarm.3:83 build/C/man2/uname.2:66 build/C/man2/uselib.2:53 build/C/man3/usleep.3:75 build/C/man2/vhangup.2:54
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:354 build/C/man2/execve.2:361 build/C/man2/execve.2:364 build/C/man2/execve.2:367 build/C/man3/getcwd.3:171 build/C/man3/gethostid.3:84 build/C/man2/mkdir.2:53 build/C/man2/truncate.2:116 build/C/man2/uselib.2:59
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:388 build/C/man2/mkdir.2:71 build/C/man2/truncate.2:149
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:75
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:396 build/C/man2/gethostname.2:109 build/C/man2/mkdir.2:79 build/C/man2/truncate.2:152
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:403 build/C/man3/getcwd.3:196 build/C/man3/getlogin.3:120 build/C/man2/mkdir.2:82 build/C/man2/swapon.2:136 build/C/man2/truncate.2:156
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:417 build/C/man2/mkdir.2:99 build/C/man2/sysctl.2:83 build/C/man2/truncate.2:159
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:104
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:109 build/C/man2/truncate.2:168
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:371 build/C/man2/fcntl.2:1106 build/C/man2/get_thread_area.2:31 build/C/man3/getcwd.3:174 build/C/man2/getdomainname.2:83 build/C/man2/gethostname.2:95 build/C/man2/ioctl.2:95 build/C/man2/mincore.2:104 build/C/man2/mkdir.2:68 build/C/man2/set_thread_area.2:49 build/C/man2/sysctl.2:77 build/C/man2/sysinfo.2:80 build/C/man2/truncate.2:122 build/C/man2/uname.2:67
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:71
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:120 build/C/man2/dup.2:151 build/C/man2/execve.2:375 build/C/man2/fcntl.2:1122 build/C/man3/fexecve.3:78 build/C/man2/flock.2:125 build/C/man2/get_thread_area.2:34 build/C/man3/getcwd.3:178 build/C/man2/getdomainname.2:87 build/C/man2/getdomainname.2:99 build/C/man2/gethostname.2:99 build/C/man2/ioctl.2:99 build/C/man2/ioperm.2:79 build/C/man3/lockf.3:141 build/C/man2/mincore.2:108 build/C/man2/set_thread_area.2:46 build/C/man2/swapon.2:121 build/C/man3/tcgetpgrp.3:86 build/C/man2/truncate.2:138 build/C/man2/truncate.2:189 build/C/man3/ualarm.3:87 build/C/man3/usleep.3:80
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:379 build/C/man2/fsync.2:119 build/C/man2/ioperm.2:85 build/C/man2/truncate.2:143
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:382
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:414 build/C/man2/fork.2:183 build/C/man3/getlogin.3:123 build/C/man2/ioperm.2:88 build/C/man2/mincore.2:112 build/C/man2/mincore.2:124 build/C/man2/mkdir.2:87 build/C/man2/swapon.2:141
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:417 build/C/man2/mkdir.2:90
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:432 build/C/man2/truncate.2:171
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:189 build/C/man3/swab.3:58 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:207
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."
599 msgstr ""
600
601 #. type: SH
602 #: build/C/man2/access.2:207 build/C/man7/environ.7:189 build/C/man2/fcntl.2:1239 build/C/man3/gethostid.3:122 build/C/man3/getlogin.3:161 build/C/man3/getopt.3:367 build/C/man2/mincore.2:144 build/C/man3/sleep.3:44 build/C/man3/sysconf.3:324 build/C/man2/sysctl.2:121 build/C/man2/truncate.2:241 build/C/man2/vfork.2:249
603 #, no-wrap
604 msgid "BUGS"
605 msgstr ""
606
607 #.  This behavior appears to have been an implementation accident.
608 #. type: Plain text
609 #: build/C/man2/access.2:230
610 msgid ""
611 "In kernel 2.4 (and earlier) there is some strangeness in the handling of "
612 "B<X_OK> tests for superuser.  If all categories of execute permission are "
613 "disabled for a nondirectory file, then the only B<access>()  test that "
614 "returns -1 is when I<mode> is specified as just B<X_OK>; if B<R_OK> or "
615 "B<W_OK> is also specified in I<mode>, then B<access>()  returns 0 for such "
616 "files.  Early 2.6 kernels (up to and including 2.6.3)  also behaved in the "
617 "same way as kernel 2.4."
618 msgstr ""
619
620 #. type: Plain text
621 #: build/C/man2/access.2:241
622 msgid ""
623 "In kernels before 2.6.20, B<access>()  ignored the effect of the "
624 "B<MS_NOEXEC> flag if it was used to B<mount>(2)  the underlying file "
625 "system.  Since kernel 2.6.20, B<access>()  honors this flag."
626 msgstr ""
627
628 #. type: Plain text
629 #: build/C/man2/access.2:252
630 msgid ""
631 "B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), B<setgid>(2), "
632 "B<setuid>(2), B<stat>(2), B<euidaccess>(3), B<credentials>(7), "
633 "B<path_resolution>(7)"
634 msgstr ""
635
636 #. type: TH
637 #: build/C/man2/alarm.2:30
638 #, no-wrap
639 msgid "ALARM"
640 msgstr ""
641
642 #. type: TH
643 #: build/C/man2/alarm.2:30
644 #, no-wrap
645 msgid "2008-06-12"
646 msgstr ""
647
648 #. type: Plain text
649 #: build/C/man2/alarm.2:33
650 msgid "alarm - set an alarm clock for delivery of a signal"
651 msgstr ""
652
653 #. type: Plain text
654 #: build/C/man2/alarm.2:38
655 #, no-wrap
656 msgid "B<unsigned int alarm(unsigned int >I<seconds>B<);>\n"
657 msgstr ""
658
659 #. type: Plain text
660 #: build/C/man2/alarm.2:46
661 msgid ""
662 "B<alarm>()  arranges for a B<SIGALRM> signal to be delivered to the calling "
663 "process in I<seconds> seconds."
664 msgstr ""
665
666 #. type: Plain text
667 #: build/C/man2/alarm.2:52
668 msgid "If I<seconds> is zero, no new B<alarm>()  is scheduled."
669 msgstr ""
670
671 #. type: Plain text
672 #: build/C/man2/alarm.2:56
673 msgid "In any event any previously set B<alarm>()  is canceled."
674 msgstr ""
675
676 #. type: Plain text
677 #: build/C/man2/alarm.2:61
678 msgid ""
679 "B<alarm>()  returns the number of seconds remaining until any previously "
680 "scheduled alarm was due to be delivered, or zero if there was no previously "
681 "scheduled alarm."
682 msgstr ""
683
684 #. type: Plain text
685 #: build/C/man2/alarm.2:63
686 msgid "SVr4, POSIX.1-2001, 4.3BSD."
687 msgstr ""
688
689 #. type: Plain text
690 #: build/C/man2/alarm.2:69
691 msgid ""
692 "B<alarm>()  and B<setitimer>(2)  share the same timer; calls to one will "
693 "interfere with use of the other."
694 msgstr ""
695
696 #. type: Plain text
697 #: build/C/man2/alarm.2:78
698 msgid ""
699 "B<sleep>(3)  may be implemented using B<SIGALRM>; mixing calls to B<alarm>()  "
700 "and B<sleep>(3)  is a bad idea."
701 msgstr ""
702
703 #. type: Plain text
704 #: build/C/man2/alarm.2:81
705 msgid ""
706 "Scheduling delays can, as ever, cause the execution of the process to be "
707 "delayed by an arbitrary amount of time."
708 msgstr ""
709
710 #. type: Plain text
711 #: build/C/man2/alarm.2:90
712 msgid ""
713 "B<gettimeofday>(2), B<pause>(2), B<select>(2), B<setitimer>(2), "
714 "B<sigaction>(2), B<signal>(2), B<sleep>(3), B<time>(7)"
715 msgstr ""
716
717 #. type: TH
718 #: build/C/man2/brk.2:30
719 #, no-wrap
720 msgid "BRK"
721 msgstr ""
722
723 #. type: TH
724 #: build/C/man2/brk.2:30 build/C/man2/chroot.2:33 build/C/man3/getcwd.3:30 build/C/man2/getdtablesize.2:27 build/C/man3/gethostid.3:29 build/C/man3/ualarm.3:23
725 #, no-wrap
726 msgid "2010-09-20"
727 msgstr ""
728
729 #. type: Plain text
730 #: build/C/man2/brk.2:33
731 msgid "brk, sbrk - change data segment size"
732 msgstr ""
733
734 #. type: Plain text
735 #: build/C/man2/brk.2:35 build/C/man2/chdir.2:38 build/C/man2/chown.2:43 build/C/man2/chroot.2:38 build/C/man3/daemon.3:39 build/C/man3/encrypt.3:31 build/C/man3/exec.3:44 build/C/man2/execve.2:42 build/C/man2/fork.2:44 build/C/man2/fsync.2:43 build/C/man2/getdomainname.2:34 build/C/man2/getdtablesize.2:32 build/C/man3/gethostid.3:34 build/C/man2/gethostname.2:37 build/C/man3/getlogin.3:33 build/C/man2/getpagesize.2:28 build/C/man2/idle.2:37 build/C/man3/lockf.3:27 build/C/man2/mincore.2:39 build/C/man2/nice.2:36 build/C/man2/pread.2:28 build/C/man2/setup.2:39 build/C/man2/swapon.2:42 build/C/man3/tcgetpgrp.3:28 build/C/man2/truncate.2:46 build/C/man2/uselib.2:36 build/C/man2/vfork.2:33 build/C/man2/vhangup.2:32
736 msgid "B<#include E<lt>unistd.hE<gt>>"
737 msgstr ""
738
739 #. type: Plain text
740 #: build/C/man2/brk.2:37
741 msgid "B<int brk(void *>I<addr>B<);>"
742 msgstr ""
743
744 #. type: Plain text
745 #: build/C/man2/brk.2:39
746 msgid "B<void *sbrk(intptr_t >I<increment>B<);>"
747 msgstr ""
748
749 #. type: Plain text
750 #: build/C/man2/brk.2:43 build/C/man2/chdir.2:46 build/C/man2/chmod.2:44 build/C/man2/chown.2:53 build/C/man2/chroot.2:44 build/C/man3/confstr.3:42 build/C/man3/daemon.3:45 build/C/man3/exec.3:66 build/C/man3/fexecve.3:38 build/C/man2/fsync.2:51 build/C/man3/getcwd.3:47 build/C/man2/getdomainname.2:42 build/C/man2/getdtablesize.2:38 build/C/man3/gethostid.3:42 build/C/man2/gethostname.2:45 build/C/man3/getlogin.3:45 build/C/man3/getopt.3:67 build/C/man2/getpagesize.2:34 build/C/man3/getusershell.3:45 build/C/man3/lockf.3:33 build/C/man2/mincore.2:47 build/C/man2/nice.2:42 build/C/man2/pread.2:38 build/C/man2/truncate.2:56 build/C/man3/ualarm.3:36 build/C/man3/usleep.3:44 build/C/man2/vfork.2:39 build/C/man2/vhangup.2:38
751 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
752 msgstr ""
753
754 #. type: Plain text
755 #: build/C/man2/brk.2:47
756 msgid "B<brk>(), B<sbrk>():"
757 msgstr ""
758
759 #. type: TP
760 #: build/C/man2/brk.2:50 build/C/man3/getcwd.3:58 build/C/man2/getdtablesize.2:44 build/C/man2/getpagesize.2:40 build/C/man3/ualarm.3:42 build/C/man3/usleep.3:50 build/C/man2/vfork.2:45
761 #, no-wrap
762 msgid "Since glibc 2.12:"
763 msgstr ""
764
765 #. type: Plain text
766 #: build/C/man2/brk.2:57
767 #, no-wrap
768 msgid ""
769 "_BSD_SOURCE || _SVID_SOURCE ||\n"
770 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
771 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
772 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
773 msgstr ""
774
775 #. type: Plain text
776 #: build/C/man2/brk.2:62
777 msgid ""
778 "Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ "
779 "500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
780 msgstr ""
781
782 #. type: Plain text
783 #: build/C/man2/brk.2:77
784 msgid ""
785 "B<brk>()  and B<sbrk>()  change the location of the I<program break>, which "
786 "defines the end of the process's data segment (i.e., the program break is "
787 "the first location after the end of the uninitialized data segment).  "
788 "Increasing the program break has the effect of allocating memory to the "
789 "process; decreasing the break deallocates memory."
790 msgstr ""
791
792 #. type: Plain text
793 #: build/C/man2/brk.2:84
794 msgid ""
795 "B<brk>()  sets the end of the data segment to the value specified by "
796 "I<addr>, when that value is reasonable, the system has enough memory, and "
797 "the process does not exceed its maximum data size (see B<setrlimit>(2))."
798 msgstr ""
799
800 #. type: Plain text
801 #: build/C/man2/brk.2:94
802 msgid ""
803 "B<sbrk>()  increments the program's data space by I<increment> bytes.  "
804 "Calling B<sbrk>()  with an I<increment> of 0 can be used to find the current "
805 "location of the program break."
806 msgstr ""
807
808 #. type: Plain text
809 #: build/C/man2/brk.2:103
810 msgid ""
811 "On success, B<brk>()  returns zero.  On error, -1 is returned, and I<errno> "
812 "is set to B<ENOMEM>.  (But see I<Linux Notes> below.)"
813 msgstr ""
814
815 #. type: Plain text
816 #: build/C/man2/brk.2:115
817 msgid ""
818 "On success, B<sbrk>()  returns the previous program break.  (If the break "
819 "was increased, then this value is a pointer to the start of the newly "
820 "allocated memory).  On error, I<(void\\ *)\\ -1> is returned, and I<errno> "
821 "is set to B<ENOMEM>."
822 msgstr ""
823
824 #
825 #.  .BR brk ()
826 #.  and
827 #.  .BR sbrk ()
828 #.  are not defined in the C Standard and are deliberately excluded from the
829 #.  POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3).
830 #. type: Plain text
831 #: build/C/man2/brk.2:123
832 msgid "4.3BSD; SUSv1, marked LEGACY in SUSv2, removed in POSIX.1-2001."
833 msgstr ""
834
835 #. type: Plain text
836 #: build/C/man2/brk.2:132
837 msgid ""
838 "Avoid using B<brk>()  and B<sbrk>(): the B<malloc>(3)  memory allocation "
839 "package is the portable and comfortable way of allocating memory."
840 msgstr ""
841
842 #.  One sees
843 #.  \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2),
844 #.  \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5),
845 #.  \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1),
846 #.  \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6,
847 #.  Tru64 5.1, glibc2.2).
848 #. type: Plain text
849 #: build/C/man2/brk.2:142
850 msgid ""
851 "Various systems use various types for the argument of B<sbrk>().  Common are "
852 "I<int>, I<ssize_t>, I<ptrdiff_t>, I<intptr_t>."
853 msgstr ""
854
855 #. type: SS
856 #: build/C/man2/brk.2:142 build/C/man2/vfork.2:211
857 #, no-wrap
858 msgid "Linux Notes"
859 msgstr ""
860
861 #. type: Plain text
862 #: build/C/man2/brk.2:158
863 msgid ""
864 "The return value described above for B<brk>()  is the behavior provided by "
865 "the glibc wrapper function for the Linux B<brk>()  system call.  (On most "
866 "other implementations, the return value from B<brk>()  is the same; this "
867 "return value was also specified in SUSv2.)  However, the actual Linux system "
868 "call returns the new program break on success.  On failure, the system call "
869 "returns the current break.  The glibc wrapper function does some work (i.e., "
870 "checks whether the new break is less than I<addr>)  to provide the 0 and -1 "
871 "return values described above."
872 msgstr ""
873
874 #. type: Plain text
875 #: build/C/man2/brk.2:165
876 msgid ""
877 "On Linux, B<sbrk>()  is implemented as a library function that uses the "
878 "B<brk>()  system call, and does some internal bookkeeping so that it can "
879 "return the old break value."
880 msgstr ""
881
882 #. type: Plain text
883 #: build/C/man2/brk.2:170
884 msgid "B<execve>(2), B<getrlimit>(2), B<end>(3), B<malloc>(3)"
885 msgstr ""
886
887 #. type: TH
888 #: build/C/man2/chdir.2:33
889 #, no-wrap
890 msgid "CHDIR"
891 msgstr ""
892
893 #. type: TH
894 #: build/C/man2/chdir.2:33
895 #, no-wrap
896 msgid "2010-11-25"
897 msgstr ""
898
899 #. type: Plain text
900 #: build/C/man2/chdir.2:36
901 msgid "chdir, fchdir - change working directory"
902 msgstr ""
903
904 #. type: Plain text
905 #: build/C/man2/chdir.2:40
906 msgid "B<int chdir(const char *>I<path>B<);>"
907 msgstr ""
908
909 #. type: Plain text
910 #: build/C/man2/chdir.2:42
911 msgid "B<int fchdir(int >I<fd>B<);>"
912 msgstr ""
913
914 #. type: Plain text
915 #: build/C/man2/chdir.2:49
916 msgid "B<fchdir>():"
917 msgstr ""
918
919 #. type: Plain text
920 #: build/C/man2/chdir.2:54 build/C/man2/chmod.2:53 build/C/man2/chown.2:62 build/C/man3/gethostid.3:50 build/C/man2/truncate.2:64 build/C/man2/truncate.2:72
921 msgid ""
922 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
923 "_XOPEN_SOURCE_EXTENDED"
924 msgstr ""
925
926 #. type: Plain text
927 #: build/C/man2/chdir.2:56 build/C/man2/chmod.2:55 build/C/man2/chown.2:64 build/C/man2/pread.2:48 build/C/man2/truncate.2:66
928 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
929 msgstr ""
930
931 #. type: Plain text
932 #: build/C/man2/chdir.2:64
933 msgid ""
934 "B<chdir>()  changes the current working directory of the calling process to "
935 "the directory specified in I<path>."
936 msgstr ""
937
938 #. type: Plain text
939 #: build/C/man2/chdir.2:70
940 msgid ""
941 "B<fchdir>()  is identical to B<chdir>(); the only difference is that the "
942 "directory is given as an open file descriptor."
943 msgstr ""
944
945 #. type: Plain text
946 #: build/C/man2/chdir.2:75 build/C/man2/chmod.2:158 build/C/man2/chown.2:124 build/C/man2/chroot.2:95 build/C/man2/flock.2:115 build/C/man2/getdomainname.2:80 build/C/man2/gethostname.2:94 build/C/man2/ioperm.2:78 build/C/man3/lockf.3:115 build/C/man2/swapon.2:113 build/C/man2/sysinfo.2:79 build/C/man2/truncate.2:113 build/C/man2/uname.2:66 build/C/man2/uselib.2:53 build/C/man2/vhangup.2:54
947 msgid ""
948 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
949 "appropriately."
950 msgstr ""
951
952 #. type: Plain text
953 #: build/C/man2/chdir.2:81
954 msgid ""
955 "Depending on the file system, other errors can be returned.  The more "
956 "general errors for B<chdir>()  are listed below:"
957 msgstr ""
958
959 #. type: Plain text
960 #: build/C/man2/chdir.2:87
961 msgid ""
962 "Search permission is denied for one of the components of I<path>.  (See also "
963 "B<path_resolution>(7).)"
964 msgstr ""
965
966 #. type: Plain text
967 #: build/C/man2/chdir.2:91 build/C/man2/chmod.2:172 build/C/man2/chown.2:138 build/C/man2/chroot.2:109
968 msgid "I<path> points outside your accessible address space."
969 msgstr ""
970
971 #. type: Plain text
972 #: build/C/man2/chdir.2:98 build/C/man2/chmod.2:179 build/C/man2/chown.2:142 build/C/man2/chroot.2:116
973 msgid "Too many symbolic links were encountered in resolving I<path>."
974 msgstr ""
975
976 #. type: Plain text
977 #: build/C/man2/chdir.2:102 build/C/man2/chmod.2:183 build/C/man2/chown.2:146 build/C/man2/chroot.2:120
978 msgid "I<path> is too long."
979 msgstr ""
980
981 #. type: Plain text
982 #: build/C/man2/chdir.2:105 build/C/man2/chmod.2:186 build/C/man2/chown.2:149 build/C/man2/chroot.2:123
983 msgid "The file does not exist."
984 msgstr ""
985
986 #. type: Plain text
987 #: build/C/man2/chdir.2:113 build/C/man2/chroot.2:131
988 msgid "A component of I<path> is not a directory."
989 msgstr ""
990
991 #. type: Plain text
992 #: build/C/man2/chdir.2:117
993 msgid "The general errors for B<fchdir>()  are listed below:"
994 msgstr ""
995
996 #. type: Plain text
997 #: build/C/man2/chdir.2:121
998 msgid "Search permission was denied on the directory open on I<fd>."
999 msgstr ""
1000
1001 #. type: TP
1002 #: build/C/man2/chdir.2:121 build/C/man2/chmod.2:205 build/C/man2/chown.2:166 build/C/man2/close.2:71 build/C/man2/dup.2:127 build/C/man2/fcntl.2:1092 build/C/man2/flock.2:116 build/C/man2/fsync.2:115 build/C/man2/ioctl.2:91 build/C/man3/lockf.3:124 build/C/man3/tcgetpgrp.3:82 build/C/man2/truncate.2:181
1003 #, no-wrap
1004 msgid "B<EBADF>"
1005 msgstr ""
1006
1007 #. type: Plain text
1008 #: build/C/man2/chdir.2:125 build/C/man3/tcgetpgrp.3:86
1009 msgid "I<fd> is not a valid file descriptor."
1010 msgstr ""
1011
1012 #. type: Plain text
1013 #: build/C/man2/chdir.2:127
1014 msgid "SVr4, 4.4BSD, POSIX.1-2001."
1015 msgstr ""
1016
1017 #. type: Plain text
1018 #: build/C/man2/chdir.2:130
1019 msgid ""
1020 "The current working directory is the starting point for interpreting "
1021 "relative pathnames (those not starting with \\(aq/\\(aq)."
1022 msgstr ""
1023
1024 #. type: Plain text
1025 #: build/C/man2/chdir.2:136
1026 msgid ""
1027 "A child process created via B<fork>(2)  inherits its parent's current "
1028 "working directory.  The current working directory is left unchanged by "
1029 "B<execve>(2)."
1030 msgstr ""
1031
1032 #. type: Plain text
1033 #: build/C/man2/chdir.2:140
1034 msgid "B<chroot>(2), B<getcwd>(3), B<path_resolution>(7)"
1035 msgstr ""
1036
1037 #. type: TH
1038 #: build/C/man2/chmod.2:31
1039 #, no-wrap
1040 msgid "CHMOD"
1041 msgstr ""
1042
1043 #. type: TH
1044 #: build/C/man2/chmod.2:31 build/C/man2/gethostname.2:32
1045 #, no-wrap
1046 msgid "2010-09-26"
1047 msgstr ""
1048
1049 #. type: Plain text
1050 #: build/C/man2/chmod.2:34
1051 msgid "chmod, fchmod - change permissions of a file"
1052 msgstr ""
1053
1054 #. type: Plain text
1055 #: build/C/man2/chmod.2:36 build/C/man3/getumask.3:35 build/C/man2/umask.2:41
1056 msgid "B<#include E<lt>sys/stat.hE<gt>>"
1057 msgstr ""
1058
1059 #. type: Plain text
1060 #: build/C/man2/chmod.2:38
1061 msgid "B<int chmod(const char *>I<path>B<, mode_t >I<mode>B<);>"
1062 msgstr ""
1063
1064 #. type: Plain text
1065 #: build/C/man2/chmod.2:40
1066 msgid "B<int fchmod(int >I<fd>B<, mode_t >I<mode>B<);>"
1067 msgstr ""
1068
1069 #. type: Plain text
1070 #: build/C/man2/chmod.2:49
1071 msgid "B<fchmod>():"
1072 msgstr ""
1073
1074 #. type: Plain text
1075 #: build/C/man2/chmod.2:61
1076 msgid ""
1077 "These system calls change the permissions of a file.  They differ only in "
1078 "how the file is specified:"
1079 msgstr ""
1080
1081 #. type: IP
1082 #: build/C/man2/chmod.2:61 build/C/man2/chmod.2:66 build/C/man2/chown.2:70 build/C/man2/chown.2:75 build/C/man2/chown.2:79 build/C/man2/chown.2:233 build/C/man2/chown.2:238 build/C/man2/chown.2:244 build/C/man2/dup.2:62 build/C/man2/dup.2:68 build/C/man2/dup.2:101 build/C/man2/dup.2:110 build/C/man2/execve.2:123 build/C/man2/execve.2:127 build/C/man2/execve.2:130 build/C/man2/execve.2:133 build/C/man2/execve.2:136 build/C/man2/execve.2:139 build/C/man2/execve.2:142 build/C/man2/execve.2:145 build/C/man2/execve.2:148 build/C/man2/execve.2:151 build/C/man2/execve.2:155 build/C/man2/execve.2:159 build/C/man2/execve.2:168 build/C/man2/execve.2:175 build/C/man2/execve.2:180 build/C/man2/execve.2:187 build/C/man2/execve.2:194 build/C/man2/execve.2:198 build/C/man2/execve.2:201 build/C/man2/execve.2:209 build/C/man2/execve.2:213 build/C/man2/execve.2:218 build/C/man2/fork.2:52 build/C/man2/fork.2:56 build/C/man2/fork.2:58 build/C/man2/fork.2:62 build/C/man2/fork.2:68 build/C/man2/fork.2:71 build/C/man2/fork.2:74 build/C/man2/fork.2:77 build/C/man2/fork.2:82 build/C/man2/fork.2:94 build/C/man2/fork.2:101 build/C/man2/fork.2:107 build/C/man2/fork.2:113 build/C/man2/fork.2:120 build/C/man2/fork.2:129 build/C/man2/fork.2:143 build/C/man2/fork.2:152 build/C/man2/syscalls.2:85 build/C/man2/syscalls.2:88 build/C/man2/syscalls.2:94 build/C/man2/syscalls.2:110 build/C/man2/syscalls.2:116 build/C/man2/syscalls.2:122 build/C/man2/syscalls.2:128 build/C/man2/syscalls.2:135 build/C/man2/syscalls.2:651 build/C/man2/syscalls.2:672 build/C/man2/syscalls.2:683 build/C/man2/syscalls.2:690 build/C/man2/syscalls.2:701 build/C/man2/syscalls.2:713 build/C/man2/syscalls.2:734 build/C/man2/syscalls.2:742 build/C/man2/vfork.2:191 build/C/man2/vfork.2:195
1083 #, no-wrap
1084 msgid "*"
1085 msgstr ""
1086
1087 #. type: Plain text
1088 #: build/C/man2/chmod.2:66
1089 msgid ""
1090 "B<chmod>()  changes the permissions of the file specified whose pathname is "
1091 "given in I<path>, which is dereferenced if it is a symbolic link."
1092 msgstr ""
1093
1094 #. type: Plain text
1095 #: build/C/man2/chmod.2:70
1096 msgid ""
1097 "B<fchmod>()  changes the permissions of the file referred to by the open "
1098 "file descriptor I<fd>."
1099 msgstr ""
1100
1101 #. type: Plain text
1102 #: build/C/man2/chmod.2:75
1103 msgid ""
1104 "The new file permissions are specified in I<mode>, which is a bit mask "
1105 "created by ORing together zero or more of the following:"
1106 msgstr ""
1107
1108 #. type: TP
1109 #: build/C/man2/chmod.2:75
1110 #, no-wrap
1111 msgid "B<S_ISUID>  (04000)"
1112 msgstr ""
1113
1114 #. type: Plain text
1115 #: build/C/man2/chmod.2:79
1116 msgid "set-user-ID (set process effective user ID on B<execve>(2))"
1117 msgstr ""
1118
1119 #. type: TP
1120 #: build/C/man2/chmod.2:79
1121 #, no-wrap
1122 msgid "B<S_ISGID>  (02000)"
1123 msgstr ""
1124
1125 #. type: Plain text
1126 #: build/C/man2/chmod.2:89
1127 msgid ""
1128 "set-group-ID (set process effective group ID on B<execve>(2); mandatory "
1129 "locking, as described in B<fcntl>(2); take a new file's group from parent "
1130 "directory, as described in B<chown>(2)  and B<mkdir>(2))"
1131 msgstr ""
1132
1133 #. type: TP
1134 #: build/C/man2/chmod.2:89
1135 #, no-wrap
1136 msgid "B<S_ISVTX>  (01000)"
1137 msgstr ""
1138
1139 #. type: Plain text
1140 #: build/C/man2/chmod.2:93
1141 msgid "sticky bit (restricted deletion flag, as described in B<unlink>(2))"
1142 msgstr ""
1143
1144 #. type: TP
1145 #: build/C/man2/chmod.2:93
1146 #, no-wrap
1147 msgid "B<S_IRUSR>  (00400)"
1148 msgstr ""
1149
1150 #. type: Plain text
1151 #: build/C/man2/chmod.2:96
1152 msgid "read by owner"
1153 msgstr ""
1154
1155 #. type: TP
1156 #: build/C/man2/chmod.2:96
1157 #, no-wrap
1158 msgid "B<S_IWUSR>  (00200)"
1159 msgstr ""
1160
1161 #. type: Plain text
1162 #: build/C/man2/chmod.2:99
1163 msgid "write by owner"
1164 msgstr ""
1165
1166 #. type: TP
1167 #: build/C/man2/chmod.2:99
1168 #, no-wrap
1169 msgid "B<S_IXUSR>  (00100)"
1170 msgstr ""
1171
1172 #. type: Plain text
1173 #: build/C/man2/chmod.2:103
1174 msgid ""
1175 "execute/search by owner (\"search\" applies for directories, and means that "
1176 "entries within the directory can be accessed)"
1177 msgstr ""
1178
1179 #. type: TP
1180 #: build/C/man2/chmod.2:103
1181 #, no-wrap
1182 msgid "B<S_IRGRP>  (00040)"
1183 msgstr ""
1184
1185 #. type: Plain text
1186 #: build/C/man2/chmod.2:106
1187 msgid "read by group"
1188 msgstr ""
1189
1190 #. type: TP
1191 #: build/C/man2/chmod.2:106
1192 #, no-wrap
1193 msgid "B<S_IWGRP>  (00020)"
1194 msgstr ""
1195
1196 #. type: Plain text
1197 #: build/C/man2/chmod.2:109
1198 msgid "write by group"
1199 msgstr ""
1200
1201 #. type: TP
1202 #: build/C/man2/chmod.2:109
1203 #, no-wrap
1204 msgid "B<S_IXGRP>  (00010)"
1205 msgstr ""
1206
1207 #. type: Plain text
1208 #: build/C/man2/chmod.2:112
1209 msgid "execute/search by group"
1210 msgstr ""
1211
1212 #. type: TP
1213 #: build/C/man2/chmod.2:112
1214 #, no-wrap
1215 msgid "B<S_IROTH>  (00004)"
1216 msgstr ""
1217
1218 #. type: Plain text
1219 #: build/C/man2/chmod.2:115
1220 msgid "read by others"
1221 msgstr ""
1222
1223 #. type: TP
1224 #: build/C/man2/chmod.2:115
1225 #, no-wrap
1226 msgid "B<S_IWOTH>  (00002)"
1227 msgstr ""
1228
1229 #. type: Plain text
1230 #: build/C/man2/chmod.2:118
1231 msgid "write by others"
1232 msgstr ""
1233
1234 #. type: TP
1235 #: build/C/man2/chmod.2:118
1236 #, no-wrap
1237 msgid "B<S_IXOTH>  (00001)"
1238 msgstr ""
1239
1240 #. type: Plain text
1241 #: build/C/man2/chmod.2:121
1242 msgid "execute/search by others"
1243 msgstr ""
1244
1245 #. type: Plain text
1246 #: build/C/man2/chmod.2:126
1247 msgid ""
1248 "The effective UID of the calling process must match the owner of the file, "
1249 "or the process must be privileged (Linux: it must have the B<CAP_FOWNER> "
1250 "capability)."
1251 msgstr ""
1252
1253 #. type: Plain text
1254 #: build/C/man2/chmod.2:135
1255 msgid ""
1256 "If the calling process is not privileged (Linux: does not have the "
1257 "B<CAP_FSETID> capability), and the group of the file does not match the "
1258 "effective group ID of the process or one of its supplementary group IDs, the "
1259 "B<S_ISGID> bit will be turned off, but this will not cause an error to be "
1260 "returned."
1261 msgstr ""
1262
1263 #. type: Plain text
1264 #: build/C/man2/chmod.2:147
1265 msgid ""
1266 "As a security measure, depending on the file system, the set-user-ID and "
1267 "set-group-ID execution bits may be turned off if a file is written.  (On "
1268 "Linux this occurs if the writing process does not have the B<CAP_FSETID> "
1269 "capability.)  On some file systems, only the superuser can set the sticky "
1270 "bit, which may have a special meaning.  For the sticky bit, and for "
1271 "set-user-ID and set-group-ID bits on directories, see B<stat>(2)."
1272 msgstr ""
1273
1274 #. type: Plain text
1275 #: build/C/man2/chmod.2:153
1276 msgid ""
1277 "On NFS file systems, restricting the permissions will immediately influence "
1278 "already open files, because the access control is done on the server, but "
1279 "open files are maintained by the client.  Widening the permissions may be "
1280 "delayed for other clients if attribute caching is enabled on them."
1281 msgstr ""
1282
1283 #. type: Plain text
1284 #: build/C/man2/chmod.2:163
1285 msgid ""
1286 "Depending on the file system, other errors can be returned.  The more "
1287 "general errors for B<chmod>()  are listed below:"
1288 msgstr ""
1289
1290 #.  Also search permission is required on the final component,
1291 #.  maybe just to guarantee that it is a directory?
1292 #. type: Plain text
1293 #: build/C/man2/chmod.2:168 build/C/man2/chown.2:134 build/C/man2/chroot.2:105
1294 msgid ""
1295 "Search permission is denied on a component of the path prefix.  (See also "
1296 "B<path_resolution>(7).)"
1297 msgstr ""
1298
1299 #. type: Plain text
1300 #: build/C/man2/chmod.2:192 build/C/man2/chown.2:155 build/C/man2/truncate.2:162
1301 msgid "A component of the path prefix is not a directory."
1302 msgstr ""
1303
1304 #. type: TP
1305 #: build/C/man2/chmod.2:192 build/C/man2/chmod.2:213 build/C/man2/chown.2:155 build/C/man2/chown.2:175 build/C/man2/chroot.2:131 build/C/man2/execve.2:422 build/C/man2/execve.2:428 build/C/man2/fcntl.2:1141 build/C/man2/getdomainname.2:91 build/C/man3/gethostid.3:88 build/C/man2/gethostname.2:117 build/C/man2/idle.2:56 build/C/man2/ioperm.2:92 build/C/man2/mkdir.2:104 build/C/man2/nice.2:62 build/C/man2/setup.2:57 build/C/man2/swapon.2:144 build/C/man2/sysctl.2:87 build/C/man3/tcgetpgrp.3:99 build/C/man2/truncate.2:162 build/C/man2/vhangup.2:55
1306 #, no-wrap
1307 msgid "B<EPERM>"
1308 msgstr ""
1309
1310 #. type: Plain text
1311 #: build/C/man2/chmod.2:198
1312 msgid ""
1313 "The effective UID does not match the owner of the file, and the process is "
1314 "not privileged (Linux: it does not have the B<CAP_FOWNER> capability)."
1315 msgstr ""
1316
1317 #. type: Plain text
1318 #: build/C/man2/chmod.2:201 build/C/man2/chown.2:162 build/C/man2/truncate.2:171
1319 msgid "The named file resides on a read-only file system."
1320 msgstr ""
1321
1322 #. type: Plain text
1323 #: build/C/man2/chmod.2:205
1324 msgid "The general errors for B<fchmod>()  are listed below:"
1325 msgstr ""
1326
1327 #. type: Plain text
1328 #: build/C/man2/chmod.2:210
1329 msgid "The file descriptor I<fd> is not valid."
1330 msgstr ""
1331
1332 #. type: Plain text
1333 #: 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
1334 msgid "See above."
1335 msgstr ""
1336
1337 #. type: Plain text
1338 #: build/C/man2/chmod.2:221 build/C/man2/chown.2:183
1339 msgid "4.4BSD, SVr4, POSIX.1-2001."
1340 msgstr ""
1341
1342 #. type: Plain text
1343 #: build/C/man2/chmod.2:228
1344 msgid ""
1345 "B<chown>(2), B<execve>(2), B<fchmodat>(2), B<open>(2), B<stat>(2), "
1346 "B<path_resolution>(7)"
1347 msgstr ""
1348
1349 #. type: TH
1350 #: build/C/man2/chown.2:38
1351 #, no-wrap
1352 msgid "CHOWN"
1353 msgstr ""
1354
1355 #. type: TH
1356 #: build/C/man2/chown.2:38
1357 #, no-wrap
1358 msgid "2010-11-22"
1359 msgstr ""
1360
1361 #. type: Plain text
1362 #: build/C/man2/chown.2:41
1363 msgid "chown, fchown, lchown - change ownership of a file"
1364 msgstr ""
1365
1366 #. type: Plain text
1367 #: build/C/man2/chown.2:45
1368 msgid "B<int chown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1369 msgstr ""
1370
1371 #. type: Plain text
1372 #: build/C/man2/chown.2:47
1373 msgid "B<int fchown(int >I<fd>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1374 msgstr ""
1375
1376 #. type: Plain text
1377 #: build/C/man2/chown.2:49
1378 msgid "B<int lchown(const char *>I<path>B<, uid_t >I<owner>B<, gid_t >I<group>B<);>"
1379 msgstr ""
1380
1381 #. type: Plain text
1382 #: build/C/man2/chown.2:57
1383 msgid "B<fchown>(), B<lchown>():"
1384 msgstr ""
1385
1386 #. type: Plain text
1387 #: build/C/man2/chown.2:70
1388 msgid ""
1389 "These system calls change the owner and group of a file.  The differ only in "
1390 "how the file is specified:"
1391 msgstr ""
1392
1393 #. type: Plain text
1394 #: build/C/man2/chown.2:75
1395 msgid ""
1396 "B<chown>()  changes the ownership of the file specified by I<path>, which is "
1397 "dereferenced if it is a symbolic link."
1398 msgstr ""
1399
1400 #. type: Plain text
1401 #: build/C/man2/chown.2:79
1402 msgid ""
1403 "B<fchown>()  changes the ownership of the file referred to by the open file "
1404 "descriptor I<fd>."
1405 msgstr ""
1406
1407 #. type: Plain text
1408 #: build/C/man2/chown.2:84
1409 msgid "B<lchown>()  is like B<chown>(), but does not dereference symbolic links."
1410 msgstr ""
1411
1412 #. type: Plain text
1413 #: build/C/man2/chown.2:93
1414 msgid ""
1415 "Only a privileged process (Linux: one with the B<CAP_CHOWN> capability) may "
1416 "change the owner of a file.  The owner of a file may change the group of the "
1417 "file to any group of which that owner is a member.  A privileged process "
1418 "(Linux: with B<CAP_CHOWN>)  may change the group arbitrarily."
1419 msgstr ""
1420
1421 #. type: Plain text
1422 #: build/C/man2/chown.2:99
1423 msgid "If the I<owner> or I<group> is specified as -1, then that ID is not changed."
1424 msgstr ""
1425
1426 #.  In Linux 2.0 kernels, superuser was like everyone else
1427 #.  In 2.2, up to 2.2.12, these bits were not cleared for superuser.
1428 #.  Since 2.2.13, superuser is once more like everyone else.
1429 #. type: Plain text
1430 #: build/C/man2/chown.2:119
1431 msgid ""
1432 "When the owner or group of an executable file are changed by an unprivileged "
1433 "user the B<S_ISUID> and B<S_ISGID> mode bits are cleared.  POSIX does not "
1434 "specify whether this also should happen when root does the B<chown>(); the "
1435 "Linux behavior depends on the kernel version.  In case of a "
1436 "non-group-executable file (i.e., one for which the B<S_IXGRP> bit is not "
1437 "set) the B<S_ISGID> bit indicates mandatory locking, and is not cleared by a "
1438 "B<chown>()."
1439 msgstr ""
1440
1441 #. type: Plain text
1442 #: build/C/man2/chown.2:129
1443 msgid ""
1444 "Depending on the file system, other errors can be returned.  The more "
1445 "general errors for B<chown>()  are listed below."
1446 msgstr ""
1447
1448 #. type: Plain text
1449 #: build/C/man2/chown.2:159
1450 msgid ""
1451 "The calling process did not have the required permissions (see above) to "
1452 "change owner and/or group."
1453 msgstr ""
1454
1455 #. type: Plain text
1456 #: build/C/man2/chown.2:166
1457 msgid "The general errors for B<fchown>()  are listed below:"
1458 msgstr ""
1459
1460 #. type: Plain text
1461 #: build/C/man2/chown.2:169
1462 msgid "The descriptor is not valid."
1463 msgstr ""
1464
1465 #. type: Plain text
1466 #: build/C/man2/chown.2:172
1467 msgid "A low-level I/O error occurred while modifying the inode."
1468 msgstr ""
1469
1470 #.  chown():
1471 #.  SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no
1472 #.  ENOMEM.  POSIX.1 does not document ENOMEM or ELOOP error conditions.
1473 #.  fchown():
1474 #.  SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK
1475 #.  error conditions.
1476 #. type: Plain text
1477 #: build/C/man2/chown.2:192
1478 msgid ""
1479 "The 4.4BSD version can only be used by the superuser (that is, ordinary "
1480 "users cannot give away files)."
1481 msgstr ""
1482
1483 #. type: Plain text
1484 #: build/C/man2/chown.2:211
1485 msgid ""
1486 "The original Linux B<chown>(), B<fchown>(), and B<lchown>()  system calls "
1487 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
1488 "B<chown32>(), B<fchown32>(), and B<lchown32>(), supporting 32-bit IDs.  The "
1489 "glibc B<chown>(), B<fchown>(), and B<lchown>()  wrapper functions "
1490 "transparently deal with the variations across kernel versions."
1491 msgstr ""
1492
1493 #. type: Plain text
1494 #: build/C/man2/chown.2:233
1495 msgid ""
1496 "When a new file is created (by, for example, B<open>(2)  or B<mkdir>(2)), "
1497 "its owner is made the same as the file system user ID of the creating "
1498 "process.  The group of the file depends on a range of factors, including the "
1499 "type of file system, the options used to mount the file system, and whether "
1500 "or not the set-group-ID permission bit is enabled on the parent directory.  "
1501 "If the file system supports the I<-o\\ grpid> (or, synonymously I<-o\\ "
1502 "bsdgroups>)  and I<-o\\ nogrpid> (or, synonymously I<-o\\ sysvgroups>)  "
1503 "B<mount>(8)  options, then the rules are as follows:"
1504 msgstr ""
1505
1506 #. type: Plain text
1507 #: build/C/man2/chown.2:238
1508 msgid ""
1509 "If the file system is mounted with I<-o\\ grpid>, then the group of a new "
1510 "file is made the same as that of the parent directory."
1511 msgstr ""
1512
1513 #. type: Plain text
1514 #: build/C/man2/chown.2:244
1515 msgid ""
1516 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1517 "is disabled on the parent directory, then the group of a new file is made "
1518 "the same as the process's file system GID."
1519 msgstr ""
1520
1521 #. type: Plain text
1522 #: build/C/man2/chown.2:250
1523 msgid ""
1524 "If the file system is mounted with I<-o\\ nogrpid> and the set-group-ID bit "
1525 "is enabled on the parent directory, then the group of a new file is made the "
1526 "same as that of the parent directory."
1527 msgstr ""
1528
1529 #. type: Plain text
1530 #: build/C/man2/chown.2:260
1531 msgid ""
1532 "As at Linux 2.6.25, the I<-o\\ grpid> and I<-o\\ nogrpid> mount options are "
1533 "supported by ext2, ext3, ext4, and XFS.  File systems that don't support "
1534 "these mount options follow the I<-o\\ nogrpid> rules."
1535 msgstr ""
1536
1537 #. type: Plain text
1538 #: build/C/man2/chown.2:273
1539 msgid ""
1540 "The B<chown>()  semantics are deliberately violated on NFS file systems "
1541 "which have UID mapping enabled.  Additionally, the semantics of all system "
1542 "calls which access the file contents are violated, because B<chown>()  may "
1543 "cause immediate access revocation on already open files.  Client side "
1544 "caching may lead to a delay between the time where ownership have been "
1545 "changed to allow access for a user and the time where the file can actually "
1546 "be accessed by the user on other clients."
1547 msgstr ""
1548
1549 #. type: Plain text
1550 #: build/C/man2/chown.2:288
1551 msgid ""
1552 "In versions of Linux prior to 2.1.81 (and distinct from 2.1.46), B<chown>()  "
1553 "did not follow symbolic links.  Since Linux 2.1.81, B<chown>()  does follow "
1554 "symbolic links, and there is a new system call B<lchown>()  that does not "
1555 "follow symbolic links.  Since Linux 2.1.86, this new call (that has the same "
1556 "semantics as the old B<chown>())  has got the same syscall number, and "
1557 "B<chown>()  got the newly introduced number."
1558 msgstr ""
1559
1560 #. type: Plain text
1561 #: build/C/man2/chown.2:297
1562 msgid ""
1563 "The following program changes the ownership of the file named in its second "
1564 "command-line argument to the value specified in its first command-line "
1565 "argument.  The new owner can be specified either as a numeric user ID, or as "
1566 "a username (which is converted to a user ID by using B<getpwnam>(3)  to "
1567 "perform a lookup in the system password file)."
1568 msgstr ""
1569
1570 #. type: Plain text
1571 #: build/C/man2/chown.2:303
1572 #, no-wrap
1573 msgid ""
1574 "#include E<lt>pwd.hE<gt>\n"
1575 "#include E<lt>stdio.hE<gt>\n"
1576 "#include E<lt>stdlib.hE<gt>\n"
1577 "#include E<lt>unistd.hE<gt>\n"
1578 msgstr ""
1579
1580 #. type: Plain text
1581 #: build/C/man2/chown.2:310
1582 #, no-wrap
1583 msgid ""
1584 "int\n"
1585 "main(int argc, char *argv[])\n"
1586 "{\n"
1587 "    uid_t uid;\n"
1588 "    struct passwd *pwd;\n"
1589 "    char *endptr;\n"
1590 msgstr ""
1591
1592 #. type: Plain text
1593 #: build/C/man2/chown.2:315
1594 #, no-wrap
1595 msgid ""
1596 "    if (argc != 3 || argv[1][0] == \\(aq\\e0\\(aq) {\n"
1597 "        fprintf(stderr, \"%s E<lt>ownerE<gt> E<lt>fileE<gt>\\en\", "
1598 "argv[0]);\n"
1599 "        exit(EXIT_FAILURE);\n"
1600 "    }\n"
1601 msgstr ""
1602
1603 #. type: Plain text
1604 #: build/C/man2/chown.2:317
1605 #, no-wrap
1606 msgid "    uid = strtol(argv[1], &endptr, 10);  /* Allow a numeric string */\n"
1607 msgstr ""
1608
1609 #. type: Plain text
1610 #: build/C/man2/chown.2:324
1611 #, no-wrap
1612 msgid ""
1613 "    if (*endptr != \\(aq\\e0\\(aq) {         /* Was not pure numeric string "
1614 "*/\n"
1615 "        pwd = getpwnam(argv[1]);   /* Try getting UID for username */\n"
1616 "        if (pwd == NULL) {\n"
1617 "            perror(\"getpwnam\");\n"
1618 "            exit(EXIT_FAILURE);\n"
1619 "        }\n"
1620 msgstr ""
1621
1622 #. type: Plain text
1623 #: build/C/man2/chown.2:327
1624 #, no-wrap
1625 msgid ""
1626 "        uid = pwd-E<gt>pw_uid;\n"
1627 "    }\n"
1628 msgstr ""
1629
1630 #. type: Plain text
1631 #: build/C/man2/chown.2:332
1632 #, no-wrap
1633 msgid ""
1634 "    if (chown(argv[2], uid, -1) == -1) {\n"
1635 "        perror(\"chown\");\n"
1636 "        exit(EXIT_FAILURE);\n"
1637 "    }\n"
1638 msgstr ""
1639
1640 #. type: Plain text
1641 #: build/C/man2/chown.2:335 build/C/man2/execve.2:548 build/C/man3/getopt.3:426 build/C/man3/getopt.3:511
1642 #, no-wrap
1643 msgid ""
1644 "    exit(EXIT_SUCCESS);\n"
1645 "}\n"
1646 msgstr ""
1647
1648 #. type: Plain text
1649 #: build/C/man2/chown.2:342
1650 msgid ""
1651 "B<chmod>(2), B<fchownat>(2), B<flock>(2), B<path_resolution>(7), "
1652 "B<symlink>(7)"
1653 msgstr ""
1654
1655 #. type: TH
1656 #: build/C/man2/chroot.2:33
1657 #, no-wrap
1658 msgid "CHROOT"
1659 msgstr ""
1660
1661 #. type: Plain text
1662 #: build/C/man2/chroot.2:36
1663 msgid "chroot - change root directory"
1664 msgstr ""
1665
1666 #. type: Plain text
1667 #: build/C/man2/chroot.2:40
1668 msgid "B<int chroot(const char *>I<path>B<);>"
1669 msgstr ""
1670
1671 #. type: Plain text
1672 #: build/C/man2/chroot.2:47
1673 msgid "B<chroot>():"
1674 msgstr ""
1675
1676 #. type: TP
1677 #: build/C/man2/chroot.2:50
1678 #, no-wrap
1679 msgid "Since glibc 2.2.2:"
1680 msgstr ""
1681
1682 #. type: Plain text
1683 #: build/C/man2/chroot.2:57
1684 #, no-wrap
1685 msgid ""
1686 "_BSD_SOURCE ||\n"
1687 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
1688 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
1689 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
1690 msgstr ""
1691
1692 #. type: Plain text
1693 #: build/C/man2/chroot.2:60
1694 msgid "Before glibc 2.2.2: none"
1695 msgstr ""
1696
1697 #. type: Plain text
1698 #: build/C/man2/chroot.2:69
1699 msgid ""
1700 "B<chroot>()  changes the root directory of the calling process to that "
1701 "specified in I<path>.  This directory will be used for pathnames beginning "
1702 "with I</>.  The root directory is inherited by all children of the calling "
1703 "process."
1704 msgstr ""
1705
1706 #. type: Plain text
1707 #: build/C/man2/chroot.2:74
1708 msgid ""
1709 "Only a privileged process (Linux: one with the B<CAP_SYS_CHROOT> capability) "
1710 "may call B<chroot>()."
1711 msgstr ""
1712
1713 #. type: Plain text
1714 #: build/C/man2/chroot.2:77
1715 msgid ""
1716 "This call changes an ingredient in the pathname resolution process and does "
1717 "nothing else."
1718 msgstr ""
1719
1720 #. type: Plain text
1721 #: build/C/man2/chroot.2:83
1722 msgid ""
1723 "This call does not change the current working directory, so that after the "
1724 "call \\(aqI<.>\\(aq can be outside the tree rooted at \\(aqI</>\\(aq.  In "
1725 "particular, the superuser can escape from a \"chroot jail\" by doing:"
1726 msgstr ""
1727
1728 #. type: Plain text
1729 #: build/C/man2/chroot.2:86
1730 #, no-wrap
1731 msgid "    mkdir foo; chroot foo; cd ..\n"
1732 msgstr ""
1733
1734 #. type: Plain text
1735 #: build/C/man2/chroot.2:90
1736 msgid ""
1737 "This call does not close open file descriptors, and such file descriptors "
1738 "may allow access to files outside the chroot tree."
1739 msgstr ""
1740
1741 #. type: Plain text
1742 #: build/C/man2/chroot.2:98
1743 msgid ""
1744 "Depending on the file system, other errors can be returned.  The more "
1745 "general errors are listed below:"
1746 msgstr ""
1747
1748 #. type: Plain text
1749 #: build/C/man2/chroot.2:134
1750 msgid "The caller has insufficient privilege."
1751 msgstr ""
1752
1753 #.  SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions.
1754 #.  X/OPEN does not document EIO, ENOMEM or EFAULT error conditions.
1755 #. type: Plain text
1756 #: build/C/man2/chroot.2:139
1757 msgid ""
1758 "SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of "
1759 "POSIX.1-2001."
1760 msgstr ""
1761
1762 #. type: Plain text
1763 #: build/C/man2/chroot.2:145
1764 msgid ""
1765 "A child process created via B<fork>(2)  inherits its parent's root "
1766 "directory.  The root directory is left unchanged by B<execve>(2)."
1767 msgstr ""
1768
1769 #.  FIXME . eventually say something about containers,
1770 #.  virtual servers, etc.?
1771 #. type: Plain text
1772 #: build/C/man2/chroot.2:151
1773 msgid "FreeBSD has a stronger B<jail>()  system call."
1774 msgstr ""
1775
1776 #. type: Plain text
1777 #: build/C/man2/chroot.2:154
1778 msgid "B<chdir>(2), B<path_resolution>(7)"
1779 msgstr ""
1780
1781 #. type: TH
1782 #: build/C/man2/close.2:35
1783 #, no-wrap
1784 msgid "CLOSE"
1785 msgstr ""
1786
1787 #. type: TH
1788 #: build/C/man2/close.2:35
1789 #, no-wrap
1790 msgid "2007-12-28"
1791 msgstr ""
1792
1793 #. type: Plain text
1794 #: build/C/man2/close.2:38
1795 msgid "close - close a file descriptor"
1796 msgstr ""
1797
1798 #. type: Plain text
1799 #: build/C/man2/close.2:43
1800 #, no-wrap
1801 msgid "B<int close(int >I<fd>B<);>\n"
1802 msgstr ""
1803
1804 #. type: Plain text
1805 #: build/C/man2/close.2:53
1806 msgid ""
1807 "B<close>()  closes a file descriptor, so that it no longer refers to any "
1808 "file and may be reused.  Any record locks (see B<fcntl>(2))  held on the "
1809 "file it was associated with, and owned by the process, are removed "
1810 "(regardless of the file descriptor that was used to obtain the lock)."
1811 msgstr ""
1812
1813 #. type: Plain text
1814 #: build/C/man2/close.2:64
1815 msgid ""
1816 "If I<fd> is the last file descriptor referring to the underlying open file "
1817 "description (see B<open>(2)), the resources associated with the open file "
1818 "description are freed; if the descriptor was the last reference to a file "
1819 "which has been removed using B<unlink>(2)  the file is deleted."
1820 msgstr ""
1821
1822 #. type: Plain text
1823 #: build/C/man2/close.2:70
1824 msgid ""
1825 "B<close>()  returns zero on success.  On error, -1 is returned, and I<errno> "
1826 "is set appropriately."
1827 msgstr ""
1828
1829 #. type: Plain text
1830 #: build/C/man2/close.2:75
1831 msgid "I<fd> isn't a valid open file descriptor."
1832 msgstr ""
1833
1834 #. type: TP
1835 #: build/C/man2/close.2:75 build/C/man2/dup.2:143 build/C/man2/fcntl.2:1110 build/C/man2/flock.2:120 build/C/man2/truncate.2:131 build/C/man3/ualarm.3:84 build/C/man3/usleep.3:76
1836 #, no-wrap
1837 msgid "B<EINTR>"
1838 msgstr ""
1839
1840 #. type: Plain text
1841 #: build/C/man2/close.2:81
1842 msgid "The B<close>()  call was interrupted by a signal; see B<signal>(7)."
1843 msgstr ""
1844
1845 #. type: Plain text
1846 #: build/C/man2/close.2:101
1847 msgid ""
1848 "Not checking the return value of B<close>()  is a common but nevertheless "
1849 "serious programming error.  It is quite possible that errors on a previous "
1850 "B<write>(2)  operation are first reported at the final B<close>().  Not "
1851 "checking the return value when closing the file may lead to silent loss of "
1852 "data.  This can especially be observed with NFS and with disk quota."
1853 msgstr ""
1854
1855 #. type: Plain text
1856 #: build/C/man2/close.2:110
1857 msgid ""
1858 "A successful close does not guarantee that the data has been successfully "
1859 "saved to disk, as the kernel defers writes.  It is not common for a file "
1860 "system to flush the buffers when the stream is closed.  If you need to be "
1861 "sure that the data is physically stored use B<fsync>(2).  (It will depend on "
1862 "the disk hardware at this point.)"
1863 msgstr ""
1864
1865 #.  Date: Tue, 4 Sep 2007 13:57:35 +0200
1866 #.  From: Fredrik Noring <noring@nocrew.org>
1867 #.  One such race involves signals and ERESTARTSYS. If a file descriptor
1868 #.  in use by a system call is closed and then reused by e.g. an
1869 #.  independent open() in some unrelated thread, before the original system
1870 #.  call has restared after ERESTARTSYS, the original system call will
1871 #.  later restart with the reused file descriptor. This is most likely a
1872 #.  serious programming error.
1873 #. type: Plain text
1874 #: build/C/man2/close.2:125
1875 msgid ""
1876 "It is probably unwise to close file descriptors while they may be in use by "
1877 "system calls in other threads in the same process.  Since a file descriptor "
1878 "may be reused, there are some obscure race conditions that may cause "
1879 "unintended side effects."
1880 msgstr ""
1881
1882 #. type: Plain text
1883 #: build/C/man2/close.2:132
1884 msgid ""
1885 "B<fcntl>(2), B<fsync>(2), B<open>(2), B<shutdown>(2), B<unlink>(2), "
1886 "B<fclose>(3)"
1887 msgstr ""
1888
1889 #. type: TH
1890 #: build/C/man3/confstr.3:29
1891 #, no-wrap
1892 msgid "CONFSTR"
1893 msgstr ""
1894
1895 #. type: TH
1896 #: build/C/man3/confstr.3:29 build/C/man3/sleep.3:24
1897 #, no-wrap
1898 msgid "2010-02-03"
1899 msgstr ""
1900
1901 #. type: TH
1902 #: build/C/man3/confstr.3:29 build/C/man3/daemon.3:34 build/C/man3/exec.3:39 build/C/man3/fpathconf.3:24 build/C/man3/get_nprocs_conf.3:24 build/C/man3/getcwd.3:30 build/C/man3/getlogin.3:28 build/C/man3/getopt.3:39 build/C/man3/getumask.3:26 build/C/man3/getusershell.3:28 build/C/man3/lockf.3:22 build/C/man3/sleep.3:24 build/C/man3/sysconf.3:25 build/C/man3/tcgetpgrp.3:23
1903 #, no-wrap
1904 msgid "GNU"
1905 msgstr ""
1906
1907 #. type: Plain text
1908 #: build/C/man3/confstr.3:32
1909 msgid "confstr - get configuration dependent string variables"
1910 msgstr ""
1911
1912 #. type: Plain text
1913 #: build/C/man3/confstr.3:37
1914 #, no-wrap
1915 msgid "B<size_t confstr(int >I<name>B<, char *>I<buf>B<, size_t >I<len>B<);>\n"
1916 msgstr ""
1917
1918 #. type: Plain text
1919 #: build/C/man3/confstr.3:46
1920 msgid "B<confstr>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
1921 msgstr ""
1922
1923 #. type: Plain text
1924 #: build/C/man3/confstr.3:49
1925 msgid "B<confstr>()  gets the value of configuration-dependent string variables."
1926 msgstr ""
1927
1928 #. type: Plain text
1929 #: build/C/man3/confstr.3:54
1930 msgid ""
1931 "The I<name> argument is the system variable to be queried.  The following "
1932 "variables are supported:"
1933 msgstr ""
1934
1935 #. type: TP
1936 #: build/C/man3/confstr.3:54
1937 #, no-wrap
1938 msgid "B<_CS_GNU_LIBC_VERSION> (GNU C library only; since glibc 2.3.2)"
1939 msgstr ""
1940
1941 #. type: Plain text
1942 #: build/C/man3/confstr.3:58
1943 msgid ""
1944 "A string which identifies the GNU C library version on this system (e.g, "
1945 "\"glibc 2.3.4\")."
1946 msgstr ""
1947
1948 #. type: TP
1949 #: build/C/man3/confstr.3:58
1950 #, no-wrap
1951 msgid "B<_CS_GNU_LIBPTHREAD_VERSION> (GNU C library only; since glibc 2.3.2)"
1952 msgstr ""
1953
1954 #. type: Plain text
1955 #: build/C/man3/confstr.3:62
1956 msgid ""
1957 "A string which identifies the POSIX implementation supplied by this C "
1958 "library (e.g, \"NPTL 2.3.4\" or \"linuxthreads-0.10\")."
1959 msgstr ""
1960
1961 #. type: TP
1962 #: build/C/man3/confstr.3:62
1963 #, no-wrap
1964 msgid "B<_CS_PATH>"
1965 msgstr ""
1966
1967 #. type: Plain text
1968 #: build/C/man3/confstr.3:68
1969 msgid ""
1970 "A value for the B<PATH> variable which indicates where all the POSIX.2 "
1971 "standard utilities can be found."
1972 msgstr ""
1973
1974 #. type: Plain text
1975 #: build/C/man3/confstr.3:84
1976 msgid ""
1977 "If I<buf> is not NULL and I<len> is not zero, B<confstr>()  copies the value "
1978 "of the string to I<buf> truncated to I<len - 1> characters if necessary, "
1979 "with a null byte (\\(aq\\e0\\(aq) as terminator.  This can be detected by "
1980 "comparing the return value of B<confstr>()  against I<len>."
1981 msgstr ""
1982
1983 #. type: Plain text
1984 #: build/C/man3/confstr.3:92
1985 msgid ""
1986 "If I<len> is zero and I<buf> is NULL, B<confstr>()  just returns the value "
1987 "as defined below."
1988 msgstr ""
1989
1990 #. type: Plain text
1991 #: build/C/man3/confstr.3:104
1992 msgid ""
1993 "If I<name> is a valid configuration variable, B<confstr>()  returns the "
1994 "number of bytes (including the terminating null byte)  that would be "
1995 "required to hold the entire value of that variable.  This value may be "
1996 "greater than I<len>, which means that the value in I<buf> is truncated."
1997 msgstr ""
1998
1999 #. type: Plain text
2000 #: build/C/man3/confstr.3:119
2001 msgid ""
2002 "If I<name> is a valid configuration variable, but that variable does not "
2003 "have a value, then B<confstr>()  returns 0.  If I<name> does not correspond "
2004 "to a valid configuration variable, B<confstr>()  returns 0, and I<errno> is "
2005 "set to B<EINVAL>."
2006 msgstr ""
2007
2008 #. type: Plain text
2009 #: build/C/man3/confstr.3:125
2010 msgid "If the value of I<name> is invalid."
2011 msgstr ""
2012
2013 #. type: Plain text
2014 #: build/C/man3/confstr.3:127 build/C/man3/fpathconf.3:154 build/C/man2/pread.2:115 build/C/man3/sleep.3:44 build/C/man3/sysconf.3:324 build/C/man3/tcgetpgrp.3:106
2015 msgid "POSIX.1-2001."
2016 msgstr ""
2017
2018 #. type: Plain text
2019 #: build/C/man3/confstr.3:130
2020 msgid ""
2021 "The following code fragment determines the path where to find the POSIX.2 "
2022 "system utilities:"
2023 msgstr ""
2024
2025 #. type: Plain text
2026 #: build/C/man3/confstr.3:136
2027 #, no-wrap
2028 msgid ""
2029 "char *pathbuf;\n"
2030 "size_t n;\n"
2031 msgstr ""
2032
2033 #. type: Plain text
2034 #: build/C/man3/confstr.3:142
2035 #, no-wrap
2036 msgid ""
2037 "n = confstr(_CS_PATH,NULL,(size_t) 0);\n"
2038 "pathbuf = malloc(n);\n"
2039 "if (pathbuf == NULL)\n"
2040 "    abort();\n"
2041 "confstr(_CS_PATH, pathbuf, n);\n"
2042 msgstr ""
2043
2044 #. type: Plain text
2045 #: build/C/man3/confstr.3:148
2046 msgid "B<sh>(1), B<exec>(3), B<system>(3)"
2047 msgstr ""
2048
2049 #. type: TH
2050 #: build/C/man3/crypt.3:35
2051 #, no-wrap
2052 msgid "CRYPT"
2053 msgstr ""
2054
2055 #. type: TH
2056 #: build/C/man3/crypt.3:35
2057 #, no-wrap
2058 msgid "2011-09-15"
2059 msgstr ""
2060
2061 #. type: Plain text
2062 #: build/C/man3/crypt.3:38
2063 msgid "crypt, crypt_r - password and data encryption"
2064 msgstr ""
2065
2066 #. type: Plain text
2067 #: build/C/man3/crypt.3:41
2068 #, no-wrap
2069 msgid "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
2070 msgstr ""
2071
2072 #. type: Plain text
2073 #: build/C/man3/crypt.3:45
2074 #, no-wrap
2075 msgid "B<char *crypt(const char *>I<key>B<, const char *>I<salt>B<);>\n"
2076 msgstr ""
2077
2078 #. type: Plain text
2079 #: build/C/man3/crypt.3:47
2080 #, no-wrap
2081 msgid "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
2082 msgstr ""
2083
2084 #. type: Plain text
2085 #: build/C/man3/crypt.3:49
2086 #, no-wrap
2087 msgid "B<#include E<lt>crypt.hE<gt>>\n"
2088 msgstr ""
2089
2090 #. type: Plain text
2091 #: build/C/man3/crypt.3:52
2092 #, no-wrap
2093 msgid ""
2094 "B<char *crypt_r(const char *>I<key>B<, const char *>I<salt>B<,>\n"
2095 "B<              struct crypt_data *>I<data>B<);>\n"
2096 msgstr ""
2097
2098 #. type: Plain text
2099 #: build/C/man3/crypt.3:55
2100 msgid "Link with I<-lcrypt>."
2101 msgstr ""
2102
2103 #. type: Plain text
2104 #: build/C/man3/crypt.3:61
2105 msgid ""
2106 "B<crypt>()  is the password encryption function.  It is based on the Data "
2107 "Encryption Standard algorithm with variations intended (among other things) "
2108 "to discourage use of hardware implementations of a key search."
2109 msgstr ""
2110
2111 #. type: Plain text
2112 #: build/C/man3/crypt.3:64
2113 msgid "I<key> is a user's typed password."
2114 msgstr ""
2115
2116 #. type: Plain text
2117 #: build/C/man3/crypt.3:70
2118 msgid ""
2119 "I<salt> is a two-character string chosen from the set "
2120 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  This string is used to perturb the "
2121 "algorithm in one of 4096 different ways."
2122 msgstr ""
2123
2124 #. type: Plain text
2125 #: build/C/man3/crypt.3:81
2126 msgid ""
2127 "By taking the lowest 7 bits of each of the first eight characters of the "
2128 "I<key>, a 56-bit key is obtained.  This 56-bit key is used to encrypt "
2129 "repeatedly a constant string (usually a string consisting of all zeros).  "
2130 "The returned value points to the encrypted password, a series of 13 "
2131 "printable ASCII characters (the first two characters represent the salt "
2132 "itself).  The return value points to static data whose content is "
2133 "overwritten by each call."
2134 msgstr ""
2135
2136 #. type: Plain text
2137 #: build/C/man3/crypt.3:83
2138 msgid "Warning: The key space consists of"
2139 msgstr ""
2140
2141 #. type: Plain text
2142 #: build/C/man3/crypt.3:98
2143 msgid ""
2144 "equal 7.2e16 possible values.  Exhaustive searches of this key space are "
2145 "possible using massively parallel computers.  Software, such as B<crack>(1), "
2146 "is available which will search the portion of this key space that is "
2147 "generally used by humans for passwords.  Hence, password selection should, "
2148 "at minimum, avoid common words and names.  The use of a B<passwd>(1)  "
2149 "program that checks for crackable passwords during the selection process is "
2150 "recommended."
2151 msgstr ""
2152
2153 #. type: Plain text
2154 #: build/C/man3/crypt.3:107
2155 msgid ""
2156 "The DES algorithm itself has a few quirks which make the use of the "
2157 "B<crypt>()  interface a very poor choice for anything other than password "
2158 "authentication.  If you are planning on using the B<crypt>()  interface for "
2159 "a cryptography project, don't do it: get a good book on encryption and one "
2160 "of the widely available DES libraries."
2161 msgstr ""
2162
2163 #. type: Plain text
2164 #: build/C/man3/crypt.3:119
2165 msgid ""
2166 "B<crypt_r>()  is a reentrant version of B<crypt>().  The structure pointed "
2167 "to by I<data> is used to store result data and bookkeeping information.  "
2168 "Other than allocating it, the only thing that the caller should do with this "
2169 "structure is to set I<data-E<gt>initialized> to zero before the first call "
2170 "to B<crypt_r>()."
2171 msgstr ""
2172
2173 #. type: Plain text
2174 #: build/C/man3/crypt.3:122
2175 msgid ""
2176 "On success, a pointer to the encrypted password is returned.  On error, NULL "
2177 "is returned."
2178 msgstr ""
2179
2180 #. type: TP
2181 #: build/C/man3/crypt.3:123 build/C/man3/encrypt.3:114 build/C/man3/fexecve.3:86
2182 #, no-wrap
2183 msgid "B<ENOSYS>"
2184 msgstr ""
2185
2186 #.  This level of detail is not necessary in this man page. . .
2187 #.  .PP
2188 #.  When encrypting a plain text P using DES with the key K results in the
2189 #.  encrypted text C, then the complementary plain text P' being encrypted
2190 #.  using the complementary key K' will result in the complementary encrypted
2191 #.  text C'.
2192 #.  .PP
2193 #.  Weak keys are keys which stay invariant under the DES key transformation.
2194 #.  The four known weak keys 0101010101010101, fefefefefefefefe,
2195 #.  1f1f1f1f0e0e0e0e and e0e0e0e0f1f1f1f1 must be avoided.
2196 #.  .PP
2197 #.  There are six known half weak key pairs, which keys lead to the same
2198 #.  encrypted data.  Keys which are part of such key clusters should be
2199 #.  avoided.
2200 #.  Sorry, I could not find out what they are.
2201 #. "
2202 #.  .PP
2203 #.  Heavily redundant data causes trouble with DES encryption, when used in the
2204 #.  .I codebook
2205 #.  mode that
2206 #.  .BR crypt ()
2207 #.  implements.  The
2208 #.  .BR crypt ()
2209 #.  interface should be used only for its intended purpose of password
2210 #.  verification, and should not be used as part of a data encryption tool.
2211 #.  .PP
2212 #.  The first and last three output bits of the fourth S-box can be
2213 #.  represented as function of their input bits.  Empiric studies have
2214 #.  shown that S-boxes partially compute the same output for similar input.
2215 #.  It is suspected that this may contain a back door which could allow the
2216 #.  NSA to decrypt DES encrypted data.
2217 #.  .PP
2218 #.  Making encrypted data computed using crypt() publicly available has
2219 #.  to be considered insecure for the given reasons.
2220 #. type: Plain text
2221 #: build/C/man3/crypt.3:162
2222 msgid ""
2223 "The B<crypt>()  function was not implemented, probably because of "
2224 "U.S.A. export restrictions."
2225 msgstr ""
2226
2227 #. type: Plain text
2228 #: build/C/man3/crypt.3:167
2229 msgid "B<crypt>(): SVr4, 4.3BSD, POSIX.1-2001.  B<crypt_r>()  is a GNU extension."
2230 msgstr ""
2231
2232 #. type: SS
2233 #: build/C/man3/crypt.3:168 build/C/man2/gethostname.2:140
2234 #, no-wrap
2235 msgid "Glibc Notes"
2236 msgstr ""
2237
2238 #. type: Plain text
2239 #: build/C/man3/crypt.3:171
2240 msgid ""
2241 "The glibc2 version of this function supports additional encryption "
2242 "algorithms."
2243 msgstr ""
2244
2245 #. type: Plain text
2246 #: build/C/man3/crypt.3:176
2247 msgid ""
2248 "If I<salt> is a character string starting with the characters \"$I<id>$\" "
2249 "followed by a string terminated by \"$\":"
2250 msgstr ""
2251
2252 #. type: Plain text
2253 #: build/C/man3/crypt.3:179
2254 msgid "$I<id>$I<salt>$I<encrypted>"
2255 msgstr ""
2256
2257 #. type: Plain text
2258 #: build/C/man3/crypt.3:188
2259 msgid ""
2260 "then instead of using the DES machine, I<id> identifies the encryption "
2261 "method used and this then determines how the rest of the password string is "
2262 "interpreted.  The following values of I<id> are supported:"
2263 msgstr ""
2264
2265 #. type: tbl table
2266 #: build/C/man3/crypt.3:191
2267 #, no-wrap
2268 msgid "ID  | Method\n"
2269 msgstr ""
2270
2271 #. type: tbl table
2272 #: build/C/man3/crypt.3:192
2273 #, no-wrap
2274 msgid "_\n"
2275 msgstr ""
2276
2277 #. type: tbl table
2278 #: build/C/man3/crypt.3:193
2279 #, no-wrap
2280 msgid "1   | MD5\n"
2281 msgstr ""
2282
2283 #. type: tbl table
2284 #: build/C/man3/crypt.3:194
2285 #, no-wrap
2286 msgid "2a  | Blowfish (not in mainline glibc; added in some\n"
2287 msgstr ""
2288
2289 #. type: tbl table
2290 #: build/C/man3/crypt.3:195
2291 #, no-wrap
2292 msgid "    | Linux distributions)\n"
2293 msgstr ""
2294
2295 #.  openSUSE has Blowfish, but AFAICS, this option is not supported
2296 #.  natively by glibc -- mtk, Jul 08
2297 #
2298 #.  md5 | Sun MD5
2299 #.  glibc doesn't appear to natively support Sun MD5; I don't know
2300 #.  if any distros add the support.
2301 #. type: tbl table
2302 #: build/C/man3/crypt.3:202
2303 #, no-wrap
2304 msgid "5   | SHA-256 (since glibc 2.7)\n"
2305 msgstr ""
2306
2307 #. type: tbl table
2308 #: build/C/man3/crypt.3:203
2309 #, no-wrap
2310 msgid "6   | SHA-512 (since glibc 2.7)\n"
2311 msgstr ""
2312
2313 #. type: Plain text
2314 #: build/C/man3/crypt.3:210
2315 msgid ""
2316 "So $5$I<salt>$I<encrypted> is an SHA-256 encoded password and "
2317 "$6$I<salt>$I<encrypted> is an SHA-512 encoded one."
2318 msgstr ""
2319
2320 #. type: Plain text
2321 #: build/C/man3/crypt.3:215
2322 msgid ""
2323 "\"I<salt>\" stands for the up to 16 characters following \"$I<id>$\" in the "
2324 "salt.  The encrypted part of the password string is the actual computed "
2325 "password.  The size of this string is fixed:"
2326 msgstr ""
2327
2328 #. type: tbl table
2329 #: build/C/man3/crypt.3:217
2330 #, no-wrap
2331 msgid "MD5     | 22 characters\n"
2332 msgstr ""
2333
2334 #. type: tbl table
2335 #: build/C/man3/crypt.3:218
2336 #, no-wrap
2337 msgid "SHA-256 | 43 characters\n"
2338 msgstr ""
2339
2340 #. type: tbl table
2341 #: build/C/man3/crypt.3:219
2342 #, no-wrap
2343 msgid "SHA-512 | 86 characters\n"
2344 msgstr ""
2345
2346 #. type: Plain text
2347 #: build/C/man3/crypt.3:228
2348 msgid ""
2349 "The characters in \"I<salt>\" and \"I<encrypted>\" are drawn from the set "
2350 "[B<a>\\(enB<zA>\\(enB<Z0>\\(enB<9./>].  In the MD5 and SHA implementations "
2351 "the entire I<key> is significant (instead of only the first 8 bytes in DES)."
2352 msgstr ""
2353
2354 #. type: Plain text
2355 #: build/C/man3/crypt.3:234
2356 msgid "B<login>(1), B<passwd>(1), B<encrypt>(3), B<getpass>(3), B<passwd>(5)"
2357 msgstr ""
2358
2359 #. type: TH
2360 #: build/C/man3/daemon.3:34
2361 #, no-wrap
2362 msgid "DAEMON"
2363 msgstr ""
2364
2365 #. type: TH
2366 #: build/C/man3/daemon.3:34
2367 #, no-wrap
2368 msgid "2009-12-05"
2369 msgstr ""
2370
2371 #. type: Plain text
2372 #: build/C/man3/daemon.3:37
2373 msgid "daemon - run in the background"
2374 msgstr ""
2375
2376 #. type: Plain text
2377 #: build/C/man3/daemon.3:41
2378 msgid "B<int daemon(int >I<nochdir>B<, int >I<noclose>B<);>"
2379 msgstr ""
2380
2381 #. type: Plain text
2382 #: build/C/man3/daemon.3:49
2383 msgid "B<daemon>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
2384 msgstr ""
2385
2386 #. type: Plain text
2387 #: build/C/man3/daemon.3:54
2388 msgid ""
2389 "The B<daemon>()  function is for programs wishing to detach themselves from "
2390 "the controlling terminal and run in the background as system daemons."
2391 msgstr ""
2392
2393 #. type: Plain text
2394 #: build/C/man3/daemon.3:62
2395 msgid ""
2396 "If I<nochdir> is zero, B<daemon>()  changes the calling process's current "
2397 "working directory to the root directory (\"/\"); otherwise, the current "
2398 "working directory is left unchanged."
2399 msgstr ""
2400
2401 #. type: Plain text
2402 #: build/C/man3/daemon.3:70
2403 msgid ""
2404 "If I<noclose> is zero, B<daemon>()  redirects standard input, standard "
2405 "output and standard error to I</dev/null>; otherwise, no changes are made to "
2406 "these file descriptors."
2407 msgstr ""
2408
2409 #.  not .IR in order not to underline _
2410 #. type: Plain text
2411 #: build/C/man3/daemon.3:88
2412 msgid ""
2413 "(This function forks, and if the B<fork>(2)  succeeds, the parent calls "
2414 "B<_exit>(2), so that further errors are seen by the child only.)  On success "
2415 "B<daemon>()  returns zero.  If an error occurs, B<daemon>()  returns -1 and "
2416 "sets I<errno> to any of the errors specified for the B<fork>(2)  and "
2417 "B<setsid>(2)."
2418 msgstr ""
2419
2420 #. type: Plain text
2421 #: build/C/man3/daemon.3:94
2422 msgid ""
2423 "Not in POSIX.1-2001.  A similar function appears on the BSDs.  The "
2424 "B<daemon>()  function first appeared in 4.4BSD."
2425 msgstr ""
2426
2427 #. type: Plain text
2428 #: build/C/man3/daemon.3:102
2429 msgid ""
2430 "The glibc implementation can also return -1 when I</dev/null> exists but is "
2431 "not a character device with the expected major and minor numbers.  In this "
2432 "case I<errno> need not be set."
2433 msgstr ""
2434
2435 #. type: Plain text
2436 #: build/C/man3/daemon.3:105
2437 msgid "B<fork>(2), B<setsid>(2)"
2438 msgstr ""
2439
2440 #. type: TH
2441 #: build/C/man3/des_crypt.3:10
2442 #, no-wrap
2443 msgid "DES_CRYPT"
2444 msgstr ""
2445
2446 #. type: TH
2447 #: build/C/man3/des_crypt.3:10
2448 #, no-wrap
2449 msgid "2007-05-18"
2450 msgstr ""
2451
2452 #. type: Plain text
2453 #: build/C/man3/des_crypt.3:14
2454 msgid ""
2455 "des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES "
2456 "encryption"
2457 msgstr ""
2458
2459 #.  Sun version
2460 #.  .B #include <des_crypt.h>
2461 #. type: Plain text
2462 #: build/C/man3/des_crypt.3:19
2463 #, no-wrap
2464 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2465 msgstr ""
2466
2467 #. type: Plain text
2468 #: build/C/man3/des_crypt.3:22
2469 #, no-wrap
2470 msgid ""
2471 "B<int ecb_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2472 ">I<datalen>B<,>\n"
2473 "B<              unsigned >I<mode>B<);>\n"
2474 msgstr ""
2475
2476 #. type: Plain text
2477 #: build/C/man3/des_crypt.3:25
2478 #, no-wrap
2479 msgid ""
2480 "B<int cbc_crypt(char *>I<key>B<, char *>I<data>B<, unsigned "
2481 ">I<datalen>B<,>\n"
2482 "B<              unsigned >I<mode>B<, char *>I<ivec>B<);>\n"
2483 msgstr ""
2484
2485 #. type: Plain text
2486 #: build/C/man3/des_crypt.3:27
2487 #, no-wrap
2488 msgid "B<void des_setparity(char *>I<key>B<);>\n"
2489 msgstr ""
2490
2491 #. type: Plain text
2492 #: build/C/man3/des_crypt.3:29
2493 #, no-wrap
2494 msgid "B<int DES_FAILED(int >I<status>B<);>\n"
2495 msgstr ""
2496
2497 #. type: Plain text
2498 #: build/C/man3/des_crypt.3:59
2499 msgid ""
2500 "B<ecb_crypt>()  and B<cbc_crypt>()  implement the NBS DES (Data Encryption "
2501 "Standard).  These routines are faster and more general purpose than "
2502 "B<crypt>(3).  They also are able to utilize DES hardware if it is "
2503 "available.  B<ecb_crypt>()  encrypts in ECB (Electronic Code Book)  mode, "
2504 "which encrypts blocks of data independently.  B<cbc_crypt>()  encrypts in "
2505 "CBC (Cipher Block Chaining)  mode, which chains together successive blocks.  "
2506 "CBC mode protects against insertions, deletions and substitutions of "
2507 "blocks.  Also, regularities in the clear text will not appear in the cipher "
2508 "text."
2509 msgstr ""
2510
2511 #. type: Plain text
2512 #: build/C/man3/des_crypt.3:102
2513 msgid ""
2514 "Here is how to use these routines.  The first argument, I<key>, is the "
2515 "8-byte encryption key with parity.  To set the key's parity, which for DES "
2516 "is in the low bit of each byte, use B<des_setparity>().  The second "
2517 "argument, I<data>, contains the data to be encrypted or decrypted.  The "
2518 "third argument, I<datalen>, is the length in bytes of I<data>, which must be "
2519 "a multiple of 8.  The fourth argument, I<mode>, is formed by ORing together "
2520 "some things.  For the encryption direction OR in either B<DES_ENCRYPT> or "
2521 "B<DES_DECRYPT>.  For software versus hardware encryption, OR in either "
2522 "B<DES_HW> or B<DES_SW>.  If B<DES_HW> is specified, and there is no "
2523 "hardware, then the encryption is performed in software and the routine "
2524 "returns B<DESERR_NOHWDEVICE>.  For B<cbc_crypt>(), the argument I<ivec> is "
2525 "the 8-byte initialization vector for the chaining.  It is updated to the "
2526 "next initialization vector upon return."
2527 msgstr ""
2528
2529 #. type: TP
2530 #: build/C/man3/des_crypt.3:104
2531 #, no-wrap
2532 msgid "B<DESERR_NONE>"
2533 msgstr ""
2534
2535 #. type: Plain text
2536 #: build/C/man3/des_crypt.3:107
2537 msgid "No error."
2538 msgstr ""
2539
2540 #. type: TP
2541 #: build/C/man3/des_crypt.3:107
2542 #, no-wrap
2543 msgid "B<DESERR_NOHWDEVICE>"
2544 msgstr ""
2545
2546 #. type: Plain text
2547 #: build/C/man3/des_crypt.3:110
2548 msgid ""
2549 "Encryption succeeded, but done in software instead of the requested "
2550 "hardware."
2551 msgstr ""
2552
2553 #. type: TP
2554 #: build/C/man3/des_crypt.3:110
2555 #, no-wrap
2556 msgid "B<DESERR_HWERROR>"
2557 msgstr ""
2558
2559 #. type: Plain text
2560 #: build/C/man3/des_crypt.3:113
2561 msgid "An error occurred in the hardware or driver."
2562 msgstr ""
2563
2564 #. type: TP
2565 #: build/C/man3/des_crypt.3:113
2566 #, no-wrap
2567 msgid "B<DESERR_BADPARAM>"
2568 msgstr ""
2569
2570 #. type: Plain text
2571 #: build/C/man3/des_crypt.3:116
2572 msgid "Bad argument to routine."
2573 msgstr ""
2574
2575 #.  .BR DES_FAILED\c
2576 #.  .BR ( stat )
2577 #.  So far the Sun page
2578 #.  Some additions - aeb
2579 #. type: Plain text
2580 #: build/C/man3/des_crypt.3:127
2581 msgid ""
2582 "Given a result status I<stat>, the macro B<DES_FAILED(>I<stat>B<)> is false "
2583 "only for the first two statuses."
2584 msgstr ""
2585
2586 #. type: SH
2587 #: build/C/man3/des_crypt.3:127 build/C/man2/dup.2:165 build/C/man3/euidaccess.3:70 build/C/man3/exec.3:193 build/C/man2/exit_group.2:39 build/C/man3/fexecve.3:91 build/C/man2/get_thread_area.2:37 build/C/man2/gettid.2:51 build/C/man2/idle.2:59 build/C/man2/mincore.2:132 build/C/man2/pread.2:102 build/C/man2/set_thread_area.2:55 build/C/man2/setup.2:60
2588 #, no-wrap
2589 msgid "VERSIONS"
2590 msgstr ""
2591
2592 #. type: Plain text
2593 #: build/C/man3/des_crypt.3:130
2594 msgid ""
2595 "These routines are present in libc 4.6.27 and later, and in glibc 2.1 and "
2596 "later."
2597 msgstr ""
2598
2599 #. type: Plain text
2600 #: build/C/man3/des_crypt.3:133
2601 msgid "4.3BSD.  Not in POSIX.1-2001."
2602 msgstr ""
2603
2604 #. type: Plain text
2605 #: build/C/man3/des_crypt.3:137
2606 msgid "B<des>(1), B<crypt>(3), B<xcrypt>(3)"
2607 msgstr ""
2608
2609 #. type: TH
2610 #: build/C/man2/dup.2:36
2611 #, no-wrap
2612 msgid "DUP"
2613 msgstr ""
2614
2615 #. type: TH
2616 #: build/C/man2/dup.2:36
2617 #, no-wrap
2618 msgid "2012-02-14"
2619 msgstr ""
2620
2621 #. type: Plain text
2622 #: build/C/man2/dup.2:39
2623 msgid "dup, dup2, dup3 - duplicate a file descriptor"
2624 msgstr ""
2625
2626 #. type: Plain text
2627 #: build/C/man2/dup.2:45
2628 #, no-wrap
2629 msgid ""
2630 "B<int dup(int >I<oldfd>B<);>\n"
2631 "B<int dup2(int >I<oldfd>B<, int >I<newfd>B<);>\n"
2632 msgstr ""
2633
2634 #. type: Plain text
2635 #: build/C/man2/dup.2:49
2636 #, no-wrap
2637 msgid ""
2638 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
2639 "B<#include E<lt>fcntl.hE<gt>>              /* Obtain O_* constant "
2640 "definitions */\n"
2641 "B<#include E<lt>unistd.hE<gt>>\n"
2642 msgstr ""
2643
2644 #. type: Plain text
2645 #: build/C/man2/dup.2:51
2646 #, no-wrap
2647 msgid "B<int dup3(int >I<oldfd>B<, int >I<newfd>B<, int >I<flags>B<);>\n"
2648 msgstr ""
2649
2650 #. type: Plain text
2651 #: build/C/man2/dup.2:55
2652 msgid "These system calls create a copy of the file descriptor I<oldfd>."
2653 msgstr ""
2654
2655 #. type: Plain text
2656 #: build/C/man2/dup.2:58
2657 msgid "B<dup>()  uses the lowest-numbered unused descriptor for the new descriptor."
2658 msgstr ""
2659
2660 #. type: Plain text
2661 #: build/C/man2/dup.2:62
2662 msgid ""
2663 "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first if "
2664 "necessary, but note the following:"
2665 msgstr ""
2666
2667 #. type: Plain text
2668 #: build/C/man2/dup.2:68
2669 msgid ""
2670 "If I<oldfd> is not a valid file descriptor, then the call fails, and "
2671 "I<newfd> is not closed."
2672 msgstr ""
2673
2674 #. type: Plain text
2675 #: build/C/man2/dup.2:79
2676 msgid ""
2677 "If I<oldfd> is a valid file descriptor, and I<newfd> has the same value as "
2678 "I<oldfd>, then B<dup2>()  does nothing, and returns I<newfd>."
2679 msgstr ""
2680
2681 #. type: Plain text
2682 #: build/C/man2/dup.2:88
2683 msgid ""
2684 "After a successful return from one of these system calls, the old and new "
2685 "file descriptors may be used interchangeably.  They refer to the same open "
2686 "file description (see B<open>(2))  and thus share file offset and file "
2687 "status flags; for example, if the file offset is modified by using "
2688 "B<lseek>(2)  on one of the descriptors, the offset is also changed for the "
2689 "other."
2690 msgstr ""
2691
2692 #. type: Plain text
2693 #: build/C/man2/dup.2:96
2694 msgid ""
2695 "The two descriptors do not share file descriptor flags (the close-on-exec "
2696 "flag).  The close-on-exec flag (B<FD_CLOEXEC>; see B<fcntl>(2))  for the "
2697 "duplicate descriptor is off."
2698 msgstr ""
2699
2700 #. type: Plain text
2701 #: build/C/man2/dup.2:101
2702 msgid "B<dup3>()  is the same as B<dup2>(), except that:"
2703 msgstr ""
2704
2705 #. type: Plain text
2706 #: build/C/man2/dup.2:110
2707 msgid ""
2708 "The caller can force the close-on-exec flag to be set for the new file "
2709 "descriptor by specifying B<O_CLOEXEC> in I<flags>.  See the description of "
2710 "the same flag in B<open>(2)  for reasons why this may be useful."
2711 msgstr ""
2712
2713 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2714 #. type: Plain text
2715 #: build/C/man2/dup.2:120
2716 msgid "If I<oldfd> equals I<newfd>, then B<dup3>()  fails with the error B<EINVAL>."
2717 msgstr ""
2718
2719 #. type: Plain text
2720 #: build/C/man2/dup.2:126
2721 msgid ""
2722 "On success, these system calls return the new descriptor.  On error, -1 is "
2723 "returned, and I<errno> is set appropriately."
2724 msgstr ""
2725
2726 #. type: Plain text
2727 #: build/C/man2/dup.2:133
2728 msgid ""
2729 "I<oldfd> isn't an open file descriptor, or I<newfd> is out of the allowed "
2730 "range for file descriptors."
2731 msgstr ""
2732
2733 #. type: TP
2734 #: build/C/man2/dup.2:133 build/C/man2/swapon.2:114
2735 #, no-wrap
2736 msgid "B<EBUSY>"
2737 msgstr ""
2738
2739 #. type: Plain text
2740 #: build/C/man2/dup.2:143
2741 msgid ""
2742 "(Linux only) This may be returned by B<dup2>()  or B<dup3>()  during a race "
2743 "condition with B<open>(2)  and B<dup>()."
2744 msgstr ""
2745
2746 #. type: Plain text
2747 #: build/C/man2/dup.2:151
2748 msgid ""
2749 "The B<dup2>()  or B<dup3>()  call was interrupted by a signal; see "
2750 "B<signal>(7)."
2751 msgstr ""
2752
2753 #.  FIXME . To confirm with Al Viro that this was intended, and its rationale
2754 #. type: Plain text
2755 #: build/C/man2/dup.2:161
2756 msgid ""
2757 "(B<dup3>())  I<flags> contain an invalid value.  Or, I<oldfd> was equal to "
2758 "I<newfd>."
2759 msgstr ""
2760
2761 #. type: TP
2762 #: build/C/man2/dup.2:161 build/C/man2/execve.2:393 build/C/man2/fcntl.2:1132 build/C/man3/getlogin.3:103
2763 #, no-wrap
2764 msgid "B<EMFILE>"
2765 msgstr ""
2766
2767 #. type: Plain text
2768 #: build/C/man2/dup.2:165
2769 msgid ""
2770 "The process already has the maximum number of file descriptors open and "
2771 "tried to open a new one."
2772 msgstr ""
2773
2774 #. type: Plain text
2775 #: build/C/man2/dup.2:170
2776 msgid ""
2777 "B<dup3>()  was added to Linux in version 2.6.27; glibc support is available "
2778 "starting with version 2.9."
2779 msgstr ""
2780
2781 #. type: Plain text
2782 #: build/C/man2/dup.2:174
2783 msgid "B<dup>(), B<dup2>(): SVr4, 4.3BSD, POSIX.1-2001."
2784 msgstr ""
2785
2786 #.  SVr4 documents additional
2787 #.  EINTR and ENOLINK error conditions.  POSIX.1 adds EINTR.
2788 #.  The EBUSY return is Linux-specific.
2789 #. type: Plain text
2790 #: build/C/man2/dup.2:180
2791 msgid "B<dup3>()  is Linux-specific."
2792 msgstr ""
2793
2794 #. type: Plain text
2795 #: build/C/man2/dup.2:194
2796 msgid ""
2797 "The error returned by B<dup2>()  is different from that returned by "
2798 "B<fcntl(>..., B<F_DUPFD>, ...B<)> when I<newfd> is out of range.  On some "
2799 "systems B<dup2>()  also sometimes returns B<EINVAL> like B<F_DUPFD>."
2800 msgstr ""
2801
2802 #. type: Plain text
2803 #: build/C/man2/dup.2:207
2804 msgid ""
2805 "If I<newfd> was open, any errors that would have been reported at "
2806 "B<close>(2)  time are lost.  A careful programmer will not use B<dup2>()  or "
2807 "B<dup3>()  without closing I<newfd> first."
2808 msgstr ""
2809
2810 #. type: Plain text
2811 #: build/C/man2/dup.2:211
2812 msgid "B<close>(2), B<fcntl>(2), B<open>(2)"
2813 msgstr ""
2814
2815 #. type: TH
2816 #: build/C/man3/encrypt.3:24
2817 #, no-wrap
2818 msgid "ENCRYPT"
2819 msgstr ""
2820
2821 #. type: TH
2822 #: build/C/man3/encrypt.3:24
2823 #, no-wrap
2824 msgid "2003-04-04"
2825 msgstr ""
2826
2827 #. type: Plain text
2828 #: build/C/man3/encrypt.3:27
2829 msgid "encrypt, setkey, encrypt_r, setkey_r - encrypt 64-bit messages"
2830 msgstr ""
2831
2832 #. type: Plain text
2833 #: build/C/man3/encrypt.3:29 build/C/man3/encrypt.3:35
2834 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
2835 msgstr ""
2836
2837 #. type: Plain text
2838 #: build/C/man3/encrypt.3:33
2839 msgid "B<void encrypt(char >I<block>B<[64], int >I<edflag>B<);>"
2840 msgstr ""
2841
2842 #. type: Plain text
2843 #: build/C/man3/encrypt.3:37
2844 msgid "B<#include E<lt>stdlib.hE<gt>>"
2845 msgstr ""
2846
2847 #. type: Plain text
2848 #: build/C/man3/encrypt.3:39
2849 msgid "B<void setkey(const char *>I<key>B<);>"
2850 msgstr ""
2851
2852 #. type: Plain text
2853 #: build/C/man3/encrypt.3:41 build/C/man3/getumask.3:31
2854 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
2855 msgstr ""
2856
2857 #. type: Plain text
2858 #: build/C/man3/encrypt.3:43
2859 msgid "B<#include E<lt>crypt.hE<gt>>"
2860 msgstr ""
2861
2862 #. type: Plain text
2863 #: build/C/man3/encrypt.3:45
2864 msgid "B<void setkey_r(const char *>I<key>B<, struct crypt_data *>I<data>B<);>"
2865 msgstr ""
2866
2867 #. type: Plain text
2868 #: build/C/man3/encrypt.3:48
2869 msgid ""
2870 "B<void encrypt_r(char *>I<block>B<, int >I<edflag>B<, struct crypt_data "
2871 "*>I<data>B<);>"
2872 msgstr ""
2873
2874 #. type: Plain text
2875 #: build/C/man3/encrypt.3:50
2876 msgid "Each of these requires linking with I<-lcrypt>."
2877 msgstr ""
2878
2879 #. type: Plain text
2880 #: build/C/man3/encrypt.3:62
2881 msgid ""
2882 "These functions encrypt and decrypt 64-bit messages.  The B<setkey>()  "
2883 "function sets the key used by B<encrypt>().  The I<key> argument used here "
2884 "is an array of 64 bytes, each of which has numerical value 1 or 0.  The "
2885 "bytes key[n] where n=8*i-1 are ignored, so that the effective key length is "
2886 "56 bits."
2887 msgstr ""
2888
2889 #. type: Plain text
2890 #: build/C/man3/encrypt.3:74
2891 msgid ""
2892 "The B<encrypt>()  function modifies the passed buffer, encoding if I<edflag> "
2893 "is 0, and decoding if 1 is being passed.  Like the I<key> argument, also "
2894 "I<block> is a bit vector representation of the actual value that is "
2895 "encoded.  The result is returned in that same vector."
2896 msgstr ""
2897
2898 #. type: Plain text
2899 #: build/C/man3/encrypt.3:84
2900 msgid ""
2901 "These two functions are not reentrant, that is, the key data is kept in "
2902 "static storage.  The functions B<setkey_r>()  and B<encrypt_r>()  are the "
2903 "reentrant versions.  They use the following structure to hold the key data:"
2904 msgstr ""
2905
2906 #. type: Plain text
2907 #: build/C/man3/encrypt.3:99
2908 #, no-wrap
2909 msgid ""
2910 "struct crypt_data {\n"
2911 "    char     keysched[16 * 8];\n"
2912 "    char     sb0[32768];\n"
2913 "    char     sb1[32768];\n"
2914 "    char     sb2[32768];\n"
2915 "    char     sb3[32768];\n"
2916 "    char     crypt_3_buf[14];\n"
2917 "    char     current_salt[2];\n"
2918 "    long int current_saltbits;\n"
2919 "    int      direction;\n"
2920 "    int      initialized;\n"
2921 "};\n"
2922 msgstr ""
2923
2924 #. type: Plain text
2925 #: build/C/man3/encrypt.3:107
2926 msgid "Before calling B<setkey_r>()  set I<data-E<gt>initialized> to zero."
2927 msgstr ""
2928
2929 #. type: Plain text
2930 #: build/C/man3/encrypt.3:109
2931 msgid "These functions do not return any value."
2932 msgstr ""
2933
2934 #. type: Plain text
2935 #: build/C/man3/encrypt.3:114
2936 msgid ""
2937 "Set I<errno> to zero before calling the above functions.  On success, it is "
2938 "unchanged."
2939 msgstr ""
2940
2941 #. type: Plain text
2942 #: build/C/man3/encrypt.3:118
2943 msgid ""
2944 "The function is not provided.  (For example because of former USA export "
2945 "restrictions.)"
2946 msgstr ""
2947
2948 #. type: Plain text
2949 #: build/C/man3/encrypt.3:129
2950 msgid ""
2951 "The functions B<encrypt>()  and B<setkey>()  conform to SVr4, SUSv2, and "
2952 "POSIX.1-2001.  The functions B<encrypt_r>()  and B<setkey_r>()  are GNU "
2953 "extensions."
2954 msgstr ""
2955
2956 #. type: Plain text
2957 #: build/C/man3/encrypt.3:131
2958 msgid "In glibc 2.2 these functions use the DES algorithm."
2959 msgstr ""
2960
2961 #. type: Plain text
2962 #: build/C/man3/encrypt.3:138
2963 msgid ""
2964 "You need to link with libcrypt to compile this example with glibc.  To do "
2965 "useful work the I<key[]> and I<txt[]> arrays must be filled with a useful "
2966 "bit pattern."
2967 msgstr ""
2968
2969 #. type: Plain text
2970 #: build/C/man3/encrypt.3:143
2971 #, no-wrap
2972 msgid ""
2973 "#define _XOPEN_SOURCE\n"
2974 "#include E<lt>unistd.hE<gt>\n"
2975 "#include E<lt>stdlib.hE<gt>\n"
2976 msgstr ""
2977
2978 #. type: Plain text
2979 #: build/C/man3/encrypt.3:149
2980 #, no-wrap
2981 msgid ""
2982 "int\n"
2983 "main(void)\n"
2984 "{\n"
2985 "    char key[64];      /* bit pattern for key */\n"
2986 "    char txt[64];      /* bit pattern for messages */\n"
2987 msgstr ""
2988
2989 #. type: Plain text
2990 #: build/C/man3/encrypt.3:154
2991 #, no-wrap
2992 msgid ""
2993 "    setkey(key);\n"
2994 "    encrypt(txt, 0);   /* encode */\n"
2995 "    encrypt(txt, 1);   /* decode */\n"
2996 "}\n"
2997 msgstr ""
2998
2999 #.  .BR fcrypt (3)
3000 #. type: Plain text
3001 #: build/C/man3/encrypt.3:160
3002 msgid "B<cbc_crypt>(3), B<crypt>(3), B<ecb_crypt>(3),"
3003 msgstr ""
3004
3005 #. type: TH
3006 #: build/C/man7/environ.7:33
3007 #, no-wrap
3008 msgid "ENVIRON"
3009 msgstr ""
3010
3011 #. type: TH
3012 #: build/C/man7/environ.7:33 build/C/man2/flock.2:34
3013 #, no-wrap
3014 msgid "2009-07-25"
3015 msgstr ""
3016
3017 #. type: Plain text
3018 #: build/C/man7/environ.7:36
3019 msgid "environ - user environment"
3020 msgstr ""
3021
3022 #. type: Plain text
3023 #: build/C/man7/environ.7:39
3024 #, no-wrap
3025 msgid "B<extern char **>I<environ>B<;>\n"
3026 msgstr ""
3027
3028 #. type: Plain text
3029 #: build/C/man7/environ.7:56
3030 msgid ""
3031 "The variable I<environ> points to an array of pointers to strings called the "
3032 "\"environment\".  The last pointer in this array has the value NULL.  (This "
3033 "variable must be declared in the user program, but is declared in the header "
3034 "file I<E<lt>unistd.hE<gt>> in case the header files came from libc4 or "
3035 "libc5, and in case they came from glibc and B<_GNU_SOURCE> was defined.)  "
3036 "This array of strings is made available to the process by the B<exec>(3)  "
3037 "call that started the process."
3038 msgstr ""
3039
3040 #. type: Plain text
3041 #: build/C/man7/environ.7:61
3042 msgid ""
3043 "By convention the strings in I<environ> have the form "
3044 "\"I<name>B<=>I<value>\".  Common examples are:"
3045 msgstr ""
3046
3047 #. type: TP
3048 #: build/C/man7/environ.7:61
3049 #, no-wrap
3050 msgid "B<USER>"
3051 msgstr ""
3052
3053 #. type: Plain text
3054 #: build/C/man7/environ.7:64
3055 msgid "The name of the logged-in user (used by some BSD-derived programs)."
3056 msgstr ""
3057
3058 #. type: TP
3059 #: build/C/man7/environ.7:64
3060 #, no-wrap
3061 msgid "B<LOGNAME>"
3062 msgstr ""
3063
3064 #. type: Plain text
3065 #: build/C/man7/environ.7:67
3066 msgid "The name of the logged-in user (used by some System-V derived programs)."
3067 msgstr ""
3068
3069 #. type: TP
3070 #: build/C/man7/environ.7:67
3071 #, no-wrap
3072 msgid "B<HOME>"
3073 msgstr ""
3074
3075 #. type: Plain text
3076 #: build/C/man7/environ.7:73
3077 msgid ""
3078 "A user's login directory, set by B<login>(1)  from the password file "
3079 "B<passwd>(5)."
3080 msgstr ""
3081
3082 #. type: TP
3083 #: build/C/man7/environ.7:73
3084 #, no-wrap
3085 msgid "B<LANG>"
3086 msgstr ""
3087
3088 #. type: Plain text
3089 #: build/C/man7/environ.7:80
3090 msgid ""
3091 "The name of a locale to use for locale categories when not overridden by "
3092 "B<LC_ALL> or more specific environment variables like B<LC_COLLATE>, "
3093 "B<LC_CTYPE>, B<LC_MESSAGES>, B<LC_MONETARY>, B<LC_NUMERIC>, B<LC_TIME>, cf.  "
3094 "B<locale>(5)."
3095 msgstr ""
3096
3097 #. type: TP
3098 #: build/C/man7/environ.7:80
3099 #, no-wrap
3100 msgid "B<PATH>"
3101 msgstr ""
3102
3103 #. type: Plain text
3104 #: build/C/man7/environ.7:92
3105 msgid ""
3106 "The sequence of directory prefixes that B<sh>(1)  and many other programs "
3107 "apply in searching for a file known by an incomplete pathname.  The prefixes "
3108 "are separated by \\(aqB<:>\\(aq.  (Similarly one has B<CDPATH> used by some "
3109 "shells to find the target of a change directory command, B<MANPATH> used by "
3110 "B<man>(1)  to find manual pages, etc.)"
3111 msgstr ""
3112
3113 #. type: TP
3114 #: build/C/man7/environ.7:92
3115 #, no-wrap
3116 msgid "B<PWD>"
3117 msgstr ""
3118
3119 #. type: Plain text
3120 #: build/C/man7/environ.7:96
3121 msgid "The current working directory.  Set by some shells."
3122 msgstr ""
3123
3124 #. type: TP
3125 #: build/C/man7/environ.7:96
3126 #, no-wrap
3127 msgid "B<SHELL>"
3128 msgstr ""
3129
3130 #. type: Plain text
3131 #: build/C/man7/environ.7:99
3132 msgid "The pathname of the user's login shell."
3133 msgstr ""
3134
3135 #. type: TP
3136 #: build/C/man7/environ.7:99
3137 #, no-wrap
3138 msgid "B<TERM>"
3139 msgstr ""
3140
3141 #. type: Plain text
3142 #: build/C/man7/environ.7:102
3143 msgid "The terminal type for which output is to be prepared."
3144 msgstr ""
3145
3146 #. type: TP
3147 #: build/C/man7/environ.7:102
3148 #, no-wrap
3149 msgid "B<PAGER>"
3150 msgstr ""
3151
3152 #. type: Plain text
3153 #: build/C/man7/environ.7:105
3154 msgid "The user's preferred utility to display text files."
3155 msgstr ""
3156
3157 #. type: TP
3158 #: build/C/man7/environ.7:105
3159 #, no-wrap
3160 msgid "B<EDITOR>/B<VISUAL>"
3161 msgstr ""
3162
3163 #.  .TP
3164 #.  .B BROWSER
3165 #.  The user's preferred utility to browse URLs. Sequence of colon-separated
3166 #.  browser commands. See http://www.catb.org/~esr/BROWSER/ .
3167 #. type: Plain text
3168 #: build/C/man7/environ.7:112
3169 msgid "The user's preferred utility to edit text files."
3170 msgstr ""
3171
3172 #. type: Plain text
3173 #: build/C/man7/environ.7:127
3174 msgid ""
3175 "Further names may be placed in the environment by the I<export> command and "
3176 "\"name=value\" in B<sh>(1), or by the I<setenv> command if you use "
3177 "B<csh>(1).  Arguments may also be placed in the environment at the point of "
3178 "an B<exec>(3).  A C program can manipulate its environment using the "
3179 "functions B<getenv>(3), B<putenv>(3), B<setenv>(3), and B<unsetenv>(3)."
3180 msgstr ""
3181
3182 #. type: Plain text
3183 #: build/C/man7/environ.7:131
3184 msgid ""
3185 "Note that the behavior of many programs and library routines is influenced "
3186 "by the presence or value of certain environment variables.  A random "
3187 "collection:"
3188 msgstr ""
3189
3190 #. type: Plain text
3191 #: build/C/man7/environ.7:137
3192 msgid ""
3193 "The variables B<LANG>, B<LANGUAGE>, B<NLSPATH>, B<LOCPATH>, B<LC_ALL>, "
3194 "B<LC_MESSAGES>, etc. influence locale handling, cf.  B<locale>(5)."
3195 msgstr ""
3196
3197 #. type: Plain text
3198 #: build/C/man7/environ.7:144
3199 msgid ""
3200 "B<TMPDIR> influences the path prefix of names created by B<tmpnam>(3)  and "
3201 "other routines, the temporary directory used by B<sort>(1)  and other "
3202 "programs, etc."
3203 msgstr ""
3204
3205 #. type: Plain text
3206 #: build/C/man7/environ.7:148
3207 msgid ""
3208 "B<LD_LIBRARY_PATH>, B<LD_PRELOAD> and other LD_* variables influence the "
3209 "behavior of the dynamic loader/linker."
3210 msgstr ""
3211
3212 #. type: Plain text
3213 #: build/C/man7/environ.7:152
3214 msgid ""
3215 "B<POSIXLY_CORRECT> makes certain programs and library routines follow the "
3216 "prescriptions of POSIX."
3217 msgstr ""
3218
3219 #. type: Plain text
3220 #: build/C/man7/environ.7:158
3221 msgid "The behavior of B<malloc>(3)  is influenced by B<MALLOC_*> variables."
3222 msgstr ""
3223
3224 #. type: Plain text
3225 #: build/C/man7/environ.7:164
3226 msgid ""
3227 "The variable B<HOSTALIASES> gives the name of a file containing aliases to "
3228 "be used with B<gethostbyname>(3)."
3229 msgstr ""
3230
3231 #. type: Plain text
3232 #: build/C/man7/environ.7:175
3233 msgid ""
3234 "B<TZ> and B<TZDIR> give timezone information used by B<tzset>(3)  and "
3235 "through that by functions like B<ctime>(3), B<localtime>(3), B<mktime>(3), "
3236 "B<strftime>(3).  See also B<tzselect>(8)."
3237 msgstr ""
3238
3239 #. type: Plain text
3240 #: build/C/man7/environ.7:179
3241 msgid ""
3242 "B<TERMCAP> gives information on how to address a given terminal (or gives "
3243 "the name of a file containing such information)."
3244 msgstr ""
3245
3246 #. type: Plain text
3247 #: build/C/man7/environ.7:182
3248 msgid ""
3249 "B<COLUMNS> and B<LINES> tell applications about the window size, possibly "
3250 "overriding the actual size."
3251 msgstr ""
3252
3253 #. type: Plain text
3254 #: build/C/man7/environ.7:187
3255 msgid ""
3256 "B<PRINTER> or B<LPDEST> may specify the desired printer to use.  See "
3257 "B<lpr>(1)."
3258 msgstr ""
3259
3260 #. type: Plain text
3261 #: build/C/man7/environ.7:189
3262 msgid "Etc."
3263 msgstr ""
3264
3265 #. type: Plain text
3266 #: build/C/man7/environ.7:194
3267 msgid ""
3268 "Clearly there is a security risk here.  Many a system command has been "
3269 "tricked into mischief by a user who specified unusual values for B<IFS> or "
3270 "B<LD_LIBRARY_PATH>."
3271 msgstr ""
3272
3273 #. type: Plain text
3274 #: build/C/man7/environ.7:227
3275 msgid ""
3276 "There is also the risk of name space pollution.  Programs like I<make> and "
3277 "I<autoconf> allow overriding of default utility names from the environment "
3278 "with similarly named variables in all caps.  Thus one uses B<CC> to select "
3279 "the desired C compiler (and similarly B<MAKE>, B<AR>, B<AS>, B<FC>, B<LD>, "
3280 "B<LEX>, B<RM>, B<YACC>, etc.).  However, in some traditional uses such an "
3281 "environment variable gives options for the program instead of a pathname.  "
3282 "Thus, one has B<MORE>, B<LESS>, and B<GZIP>.  Such usage is considered "
3283 "mistaken, and to be avoided in new programs.  The authors of I<gzip> should "
3284 "consider renaming their option to B<GZIP_OPT>."
3285 msgstr ""
3286
3287 #. type: Plain text
3288 #: build/C/man7/environ.7:241
3289 msgid ""
3290 "B<bash>(1), B<csh>(1), B<login>(1), B<sh>(1), B<tcsh>(1), B<execve>(2), "
3291 "B<clearenv>(3), B<exec>(3), B<getenv>(3), B<putenv>(3), B<setenv>(3), "
3292 "B<unsetenv>(3), B<locale>(5)"
3293 msgstr ""
3294
3295 #. type: TH
3296 #: build/C/man3/euidaccess.3:26
3297 #, no-wrap
3298 msgid "EUIDACCESS"
3299 msgstr ""
3300
3301 #. type: TH
3302 #: build/C/man3/euidaccess.3:26 build/C/man3/getopt.3:39
3303 #, no-wrap
3304 msgid "2010-11-01"
3305 msgstr ""
3306
3307 #. type: Plain text
3308 #: build/C/man3/euidaccess.3:29
3309 msgid "euidaccess, eaccess - check effective user's permissions for a file"
3310 msgstr ""
3311
3312 #. type: Plain text
3313 #: build/C/man3/euidaccess.3:33
3314 #, no-wrap
3315 msgid ""
3316 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
3317 "B<#include E<lt>unistd.hE<gt>>\n"
3318 msgstr ""
3319
3320 #. type: Plain text
3321 #: build/C/man3/euidaccess.3:36
3322 #, no-wrap
3323 msgid ""
3324 "B<int euidaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3325 "B<int eaccess(const char *>I<pathname>B<, int >I<mode>B<);>\n"
3326 msgstr ""
3327
3328 #. type: Plain text
3329 #: build/C/man3/euidaccess.3:48
3330 msgid ""
3331 "Like B<access>(2), B<euidaccess>()  checks permissions and existence of the "
3332 "file identified by its argument I<pathname>.  However, whereas B<access>(2), "
3333 "performs checks using the real user and group identifiers of the process, "
3334 "B<euidaccess>()  uses the effective identifiers."
3335 msgstr ""
3336
3337 #. type: Plain text
3338 #: build/C/man3/euidaccess.3:54
3339 msgid ""
3340 "I<mode> is a mask consisting of one or more of B<R_OK>, B<W_OK>, B<X_OK> and "
3341 "B<F_OK>, with the same meanings as for B<access>(2)."
3342 msgstr ""
3343
3344 #. type: Plain text
3345 #: build/C/man3/euidaccess.3:59
3346 msgid ""
3347 "B<eaccess>()  is a synonym for B<euidaccess>(), provided for compatibility "
3348 "with some other systems."
3349 msgstr ""
3350
3351 #. type: Plain text
3352 #: build/C/man3/euidaccess.3:70
3353 msgid "As for B<access>(2)."
3354 msgstr ""
3355
3356 #. type: Plain text
3357 #: build/C/man3/euidaccess.3:74
3358 msgid "The B<eaccess>()  function was added to glibc in version 2.4."
3359 msgstr ""
3360
3361 #.  e.g., FreeBSD 6.1.
3362 #. type: Plain text
3363 #: build/C/man3/euidaccess.3:80
3364 msgid ""
3365 "These functions are nonstandard.  Some other systems have an B<eaccess>()  "
3366 "function."
3367 msgstr ""
3368
3369 #. type: Plain text
3370 #: build/C/man3/euidaccess.3:87
3371 msgid ""
3372 "I<Warning>: Using this function to check a process's permissions on a file "
3373 "before performing some operation based on that information leads to race "
3374 "conditions: the file permissions may change between the two steps.  "
3375 "Generally, it is safer just to attempt the desired operation and handle any "
3376 "permission error that occurs."
3377 msgstr ""
3378
3379 #. type: Plain text
3380 #: build/C/man3/euidaccess.3:95
3381 msgid ""
3382 "This function always dereferences symbolic links.  If you need to check the "
3383 "permissions on a symbolic link, use B<faccessat(2)> with the flags "
3384 "B<AT_EACCESS> and B<AT_SYMLINK_NOFOLLOW>."
3385 msgstr ""
3386
3387 #. type: Plain text
3388 #: build/C/man3/euidaccess.3:106
3389 msgid ""
3390 "B<access>(2), B<chmod>(2), B<chown>(2), B<faccessat>(2), B<open>(2), "
3391 "B<setgid>(2), B<setuid>(2), B<stat>(2), B<credentials>(7), "
3392 "B<path_resolution>(7)"
3393 msgstr ""
3394
3395 #. type: TH
3396 #: build/C/man3/exec.3:39
3397 #, no-wrap
3398 msgid "EXEC"
3399 msgstr ""
3400
3401 #. type: TH
3402 #: build/C/man3/exec.3:39
3403 #, no-wrap
3404 msgid "2010-09-25"
3405 msgstr ""
3406
3407 #. type: Plain text
3408 #: build/C/man3/exec.3:42
3409 msgid "execl, execlp, execle, execv, execvp, execvpe - execute a file"
3410 msgstr ""
3411
3412 #. type: Plain text
3413 #: build/C/man3/exec.3:46
3414 msgid "B<extern char **environ;>"
3415 msgstr ""
3416
3417 #. type: Plain text
3418 #: build/C/man3/exec.3:48
3419 msgid "B<int execl(const char *>I<path>B<, const char *>I<arg>B<, ...);>"
3420 msgstr ""
3421
3422 #. type: Plain text
3423 #: build/C/man3/exec.3:50
3424 msgid "B<int execlp(const char *>I<file>B<, const char *>I<arg>B<, ...);>"
3425 msgstr ""
3426
3427 #. type: Plain text
3428 #: build/C/man3/exec.3:52
3429 msgid "B<int execle(const char *>I<path>B<, const char *>I<arg>B<,>"
3430 msgstr ""
3431
3432 #. type: Plain text
3433 #: build/C/man3/exec.3:54
3434 msgid "B< ..., char * const >I<envp>B<[]);>"
3435 msgstr ""
3436
3437 #. type: Plain text
3438 #: build/C/man3/exec.3:56
3439 msgid "B<int execv(const char *>I<path>B<, char *const >I<argv>B<[]);>"
3440 msgstr ""
3441
3442 #. type: Plain text
3443 #: build/C/man3/exec.3:58
3444 msgid "B<int execvp(const char *>I<file>B<, char *const >I<argv>B<[]);>"
3445 msgstr ""
3446
3447 #. type: Plain text
3448 #: build/C/man3/exec.3:60
3449 msgid "B<int execvpe(const char *>I<file>B<, char *const >I<argv>B<[],>"
3450 msgstr ""
3451
3452 #. type: Plain text
3453 #: build/C/man3/exec.3:62 build/C/man2/execve.2:46
3454 msgid "B< char *const >I<envp>B<[]);>"
3455 msgstr ""
3456
3457 #. type: Plain text
3458 #: build/C/man3/exec.3:70
3459 msgid "B<execvpe>(): _GNU_SOURCE"
3460 msgstr ""
3461
3462 #. type: Plain text
3463 #: build/C/man3/exec.3:80
3464 msgid ""
3465 "The B<exec>()  family of functions replaces the current process image with a "
3466 "new process image.  The functions described in this manual page are "
3467 "front-ends for B<execve>(2).  (See the manual page for B<execve>(2)  for "
3468 "further details about the replacement of the current process image.)"
3469 msgstr ""
3470
3471 #. type: Plain text
3472 #: build/C/man3/exec.3:83
3473 msgid ""
3474 "The initial argument for these functions is the name of a file that is to be "
3475 "executed."
3476 msgstr ""
3477
3478 #. type: Plain text
3479 #: build/C/man3/exec.3:105
3480 msgid ""
3481 "The I<const char *arg> and subsequent ellipses in the B<execl>(), "
3482 "B<execlp>(), and B<execle>()  functions can be thought of as I<arg0>, "
3483 "I<arg1>, \\&..., I<argn>.  Together they describe a list of one or more "
3484 "pointers to null-terminated strings that represent the argument list "
3485 "available to the executed program.  The first argument, by convention, "
3486 "should point to the filename associated with the file being executed.  The "
3487 "list of arguments I<must> be terminated by a NULL pointer, and, since these "
3488 "are variadic functions, this pointer must be cast I<(char *) NULL>."
3489 msgstr ""
3490
3491 #. type: Plain text
3492 #: build/C/man3/exec.3:118
3493 msgid ""
3494 "The B<execv>(), B<execvp>(), and B<execvpe>()  functions provide an array of "
3495 "pointers to null-terminated strings that represent the argument list "
3496 "available to the new program.  The first argument, by convention, should "
3497 "point to the filename associated with the file being executed.  The array of "
3498 "pointers I<must> be terminated by a NULL pointer."
3499 msgstr ""
3500
3501 #. type: Plain text
3502 #: build/C/man3/exec.3:135
3503 msgid ""
3504 "The B<execle>()  and B<execvpe>()  functions allow the caller to specify the "
3505 "environment of the executed program via the argument I<envp>.  The I<envp> "
3506 "argument is an array of pointers to null-terminated strings and I<must> be "
3507 "terminated by a NULL pointer.  The other functions take the environment for "
3508 "the new process image from the external variable I<environ> in the calling "
3509 "process."
3510 msgstr ""
3511
3512 #. type: SS
3513 #: build/C/man3/exec.3:135
3514 #, no-wrap
3515 msgid "Special semantics for execlp() and execvp()"
3516 msgstr ""
3517
3518 #. type: Plain text
3519 #: build/C/man3/exec.3:155
3520 msgid ""
3521 "The B<execlp>(), B<execvp>(), and B<execvpe>()  functions duplicate the "
3522 "actions of the shell in searching for an executable file if the specified "
3523 "filename does not contain a slash (/) character.  The file is sought in the "
3524 "colon-separated list of directory pathnames specified in the B<PATH> "
3525 "environment variable.  If this variable isn't defined, the path list "
3526 "defaults to the current directory followed by the list of directories "
3527 "returned by I<confstr(_CS_PATH)>.  (This B<confstr>(3)  call typically "
3528 "returns the value \"/bin:/usr/bin\".)"
3529 msgstr ""
3530
3531 #. type: Plain text
3532 #: build/C/man3/exec.3:159
3533 msgid ""
3534 "If the specified filename includes a slash character, then B<PATH> is "
3535 "ignored, and the file at the specified pathname is executed."
3536 msgstr ""
3537
3538 #. type: Plain text
3539 #: build/C/man3/exec.3:161
3540 msgid "In addition, certain errors are treated specially."
3541 msgstr ""
3542
3543 #. type: Plain text
3544 #: build/C/man3/exec.3:172
3545 msgid ""
3546 "If permission is denied for a file (the attempted B<execve>(2)  failed with "
3547 "the error B<EACCES>), these functions will continue searching the rest of "
3548 "the search path.  If no other file is found, however, they will return with "
3549 "I<errno> set to B<EACCES>."
3550 msgstr ""
3551
3552 #. type: Plain text
3553 #: build/C/man3/exec.3:181
3554 msgid ""
3555 "If the header of a file isn't recognized (the attempted B<execve>(2)  failed "
3556 "with the error B<ENOEXEC>), these functions will execute the shell "
3557 "(I</bin/sh>)  with the path of the file as its first argument.  (If this "
3558 "attempt fails, no further searching is done.)"
3559 msgstr ""
3560
3561 #. type: Plain text
3562 #: build/C/man3/exec.3:188
3563 msgid ""
3564 "The B<exec>()  functions only return if an error has have occurred.  The "
3565 "return value is -1, and I<errno> is set to indicate the error."
3566 msgstr ""
3567
3568 #. type: Plain text
3569 #: build/C/man3/exec.3:193
3570 msgid ""
3571 "All of these functions may fail and set I<errno> for any of the errors "
3572 "specified for B<execve>(2)."
3573 msgstr ""
3574
3575 #. type: Plain text
3576 #: build/C/man3/exec.3:197
3577 msgid "The B<execvpe>()  function first appeared in glibc 2.11."
3578 msgstr ""
3579
3580 #. type: Plain text
3581 #: build/C/man3/exec.3:199
3582 msgid "POSIX.1-2001, POSIX.1-2008."
3583 msgstr ""
3584
3585 #. type: Plain text
3586 #: build/C/man3/exec.3:203
3587 msgid "The B<execvpe>()  function is a GNU extension."
3588 msgstr ""
3589
3590 #. type: Plain text
3591 #: build/C/man3/exec.3:213
3592 msgid ""
3593 "On some other systems, the default path (used when the environment does not "
3594 "contain the variable B<PATH>) has the current working directory listed after "
3595 "I</bin> and I</usr/bin>, as an anti-Trojan-horse measure.  Linux uses here "
3596 "the traditional \"current directory first\" default path."
3597 msgstr ""
3598
3599 #. type: Plain text
3600 #: build/C/man3/exec.3:227
3601 msgid ""
3602 "The behavior of B<execlp>()  and B<execvp>()  when errors occur while "
3603 "attempting to execute the file is historic practice, but has not "
3604 "traditionally been documented and is not specified by the POSIX standard.  "
3605 "BSD (and possibly other systems) do an automatic sleep and retry if "
3606 "B<ETXTBSY> is encountered.  Linux treats it as a hard error and returns "
3607 "immediately."
3608 msgstr ""
3609
3610 #. type: Plain text
3611 #: build/C/man3/exec.3:239
3612 msgid ""
3613 "Traditionally, the functions B<execlp>()  and B<execvp>()  ignored all "
3614 "errors except for the ones described above and B<ENOMEM> and B<E2BIG>, upon "
3615 "which they returned.  They now return if any error other than the ones "
3616 "described above occurs."
3617 msgstr ""
3618
3619 #. type: Plain text
3620 #: build/C/man3/exec.3:246
3621 msgid ""
3622 "B<sh>(1), B<execve>(2), B<fork>(2), B<ptrace>(2), B<fexecve>(3), "
3623 "B<environ>(7)"
3624 msgstr ""
3625
3626 #. type: TH
3627 #: build/C/man2/execve.2:37
3628 #, no-wrap
3629 msgid "EXECVE"
3630 msgstr ""
3631
3632 #. type: TH
3633 #: build/C/man2/execve.2:37
3634 #, no-wrap
3635 msgid "2011-09-14"
3636 msgstr ""
3637
3638 #. type: Plain text
3639 #: build/C/man2/execve.2:40
3640 msgid "execve - execute program"
3641 msgstr ""
3642
3643 #. type: Plain text
3644 #: build/C/man2/execve.2:44
3645 msgid "B<int execve(const char *>I<filename>B<, char *const >I<argv>B<[], >"
3646 msgstr ""
3647
3648 #. type: Plain text
3649 #: build/C/man2/execve.2:51
3650 msgid ""
3651 "B<execve>()  executes the program pointed to by I<filename>.  I<filename> "
3652 "must be either a binary executable, or a script starting with a line of the "
3653 "form:"
3654 msgstr ""
3655
3656 #. type: Plain text
3657 #: build/C/man2/execve.2:55 build/C/man2/execve.2:252
3658 #, no-wrap
3659 msgid "B<#!> I<interpreter >[optional-arg]\n"
3660 msgstr ""
3661
3662 #. type: Plain text
3663 #: build/C/man2/execve.2:59
3664 msgid "For details of the latter case, see \"Interpreter scripts\" below."
3665 msgstr ""
3666
3667 #. type: Plain text
3668 #: build/C/man2/execve.2:68
3669 msgid ""
3670 "I<argv> is an array of argument strings passed to the new program.  By "
3671 "convention, the first of these strings should contain the filename "
3672 "associated with the file being executed.  I<envp> is an array of strings, "
3673 "conventionally of the form B<key=value>, which are passed as environment to "
3674 "the new program.  Both I<argv> and I<envp> must be terminated by a NULL "
3675 "pointer.  The argument vector and environment can be accessed by the called "
3676 "program's main function, when it is defined as:"
3677 msgstr ""
3678
3679 #. type: Plain text
3680 #: build/C/man2/execve.2:72
3681 #, no-wrap
3682 msgid "int main(int argc, char *argv[], char *envp[])\n"
3683 msgstr ""
3684
3685 #. type: Plain text
3686 #: build/C/man2/execve.2:79
3687 msgid ""
3688 "B<execve>()  does not return on success, and the text, data, bss, and stack "
3689 "of the calling process are overwritten by that of the program loaded."
3690 msgstr ""
3691
3692 #. type: Plain text
3693 #: build/C/man2/execve.2:83
3694 msgid ""
3695 "If the current program is being ptraced, a B<SIGTRAP> is sent to it after a "
3696 "successful B<execve>()."
3697 msgstr ""
3698
3699 #. type: Plain text
3700 #: build/C/man2/execve.2:98
3701 msgid ""
3702 "If the set-user-ID bit is set on the program file pointed to by I<filename>, "
3703 "and the underlying file system is not mounted I<nosuid> (the B<MS_NOSUID> "
3704 "flag for B<mount>(2)), and the calling process is not being ptraced, then "
3705 "the effective user ID of the calling process is changed to that of the owner "
3706 "of the program file.  Similarly, when the set-group-ID bit of the program "
3707 "file is set the effective group ID of the calling process is set to the "
3708 "group of the program file."
3709 msgstr ""
3710
3711 #. type: Plain text
3712 #: build/C/man2/execve.2:103
3713 msgid ""
3714 "The effective user ID of the process is copied to the saved set-user-ID; "
3715 "similarly, the effective group ID is copied to the saved set-group-ID.  This "
3716 "copying takes place after any effective ID changes that occur because of the "
3717 "set-user-ID and set-group-ID permission bits."
3718 msgstr ""
3719
3720 #. type: Plain text
3721 #: build/C/man2/execve.2:111
3722 msgid ""
3723 "If the executable is an a.out dynamically linked binary executable "
3724 "containing shared-library stubs, the Linux dynamic linker B<ld.so>(8)  is "
3725 "called at the start of execution to bring needed shared libraries into "
3726 "memory and link the executable with them."
3727 msgstr ""
3728
3729 #. type: Plain text
3730 #: build/C/man2/execve.2:119
3731 msgid ""
3732 "If the executable is a dynamically linked ELF executable, the interpreter "
3733 "named in the PT_INTERP segment is used to load the needed shared libraries.  "
3734 "This interpreter is typically I</lib/ld-linux.so.1> for binaries linked with "
3735 "the Linux libc 5, or I</lib/ld-linux.so.2> for binaries linked with the "
3736 "glibc 2."
3737 msgstr ""
3738
3739 #. type: Plain text
3740 #: build/C/man2/execve.2:123
3741 msgid ""
3742 "All process attributes are preserved during an B<execve>(), except the "
3743 "following:"
3744 msgstr ""
3745
3746 #. type: Plain text
3747 #: build/C/man2/execve.2:127
3748 msgid ""
3749 "The dispositions of any signals that are being caught are reset to the "
3750 "default (B<signal>(7))."
3751 msgstr ""
3752
3753 #. type: Plain text
3754 #: build/C/man2/execve.2:130
3755 msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))."
3756 msgstr ""
3757
3758 #. type: Plain text
3759 #: build/C/man2/execve.2:133
3760 msgid "Memory mappings are not preserved (B<mmap>(2))."
3761 msgstr ""
3762
3763 #. type: Plain text
3764 #: build/C/man2/execve.2:136
3765 msgid "Attached System V shared memory segments are detached (B<shmat>(2))."
3766 msgstr ""
3767
3768 #. type: Plain text
3769 #: build/C/man2/execve.2:139
3770 msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))."
3771 msgstr ""
3772
3773 #. type: Plain text
3774 #: build/C/man2/execve.2:142
3775 msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))."
3776 msgstr ""
3777
3778 #. type: Plain text
3779 #: build/C/man2/execve.2:145
3780 msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))."
3781 msgstr ""
3782
3783 #. type: Plain text
3784 #: build/C/man2/execve.2:148
3785 msgid "POSIX timers are not preserved (B<timer_create>(2))."
3786 msgstr ""
3787
3788 #. type: Plain text
3789 #: build/C/man2/execve.2:151
3790 msgid "Any open directory streams are closed (B<opendir>(3))."
3791 msgstr ""
3792
3793 #. type: Plain text
3794 #: build/C/man2/execve.2:155
3795 msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))."
3796 msgstr ""
3797
3798 #. type: Plain text
3799 #: build/C/man2/execve.2:159
3800 msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))."
3801 msgstr ""
3802
3803 #. type: Plain text
3804 #: build/C/man2/execve.2:162
3805 msgid "The floating-point environment is reset to the default (see B<fenv>(3))."
3806 msgstr ""
3807
3808 #. type: Plain text
3809 #: build/C/man2/execve.2:168
3810 msgid ""
3811 "The process attributes in the preceding list are all specified in "
3812 "POSIX.1-2001.  The following Linux-specific process attributes are also not "
3813 "preserved during an B<execve>():"
3814 msgstr ""
3815
3816 #. type: Plain text
3817 #: build/C/man2/execve.2:175
3818 msgid ""
3819 "The B<prctl>(2)  B<PR_SET_DUMPABLE> flag is set, unless a set-user-ID or "
3820 "set-group ID program is being executed, in which case it is cleared."
3821 msgstr ""
3822
3823 #. type: Plain text
3824 #: build/C/man2/execve.2:180
3825 msgid "The B<prctl>(2)  B<PR_SET_KEEPCAPS> flag is cleared."
3826 msgstr ""
3827
3828 #. type: Plain text
3829 #: build/C/man2/execve.2:187
3830 msgid ""
3831 "The process name, as set by B<prctl>(2)  B<PR_SET_NAME> (and displayed by "
3832 "I<ps\\ -o comm>), is reset to the name of the new executable file."
3833 msgstr ""
3834
3835 #. type: Plain text
3836 #: build/C/man2/execve.2:192
3837 msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))."
3838 msgstr ""
3839
3840 #. type: Plain text
3841 #: build/C/man2/execve.2:194 build/C/man2/fork.2:120
3842 msgid "Note the following further points:"
3843 msgstr ""
3844
3845 #. type: Plain text
3846 #: build/C/man2/execve.2:198
3847 msgid ""
3848 "All threads other than the calling thread are destroyed during an "
3849 "B<execve>().  Mutexes, condition variables, and other pthreads objects are "
3850 "not preserved."
3851 msgstr ""
3852
3853 #. type: Plain text
3854 #: build/C/man2/execve.2:201
3855 msgid ""
3856 "The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program "
3857 "start-up."
3858 msgstr ""
3859
3860 #. type: Plain text
3861 #: build/C/man2/execve.2:209
3862 msgid ""
3863 "POSIX.1-2001 specifies that the dispositions of any signals that are ignored "
3864 "or set to the default are left unchanged.  POSIX.1-2001 specifies one "
3865 "exception: if B<SIGCHLD> is being ignored, then an implementation may leave "
3866 "the disposition unchanged or reset it to the default; Linux does the former."
3867 msgstr ""
3868
3869 #. type: Plain text
3870 #: build/C/man2/execve.2:213
3871 msgid ""
3872 "Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), "
3873 "B<aio_write>(3))."
3874 msgstr ""
3875
3876 #. type: Plain text
3877 #: build/C/man2/execve.2:218
3878 msgid "For the handling of capabilities during B<execve>(), see B<capabilities>(7)."
3879 msgstr ""
3880
3881 #.  On Linux it appears that these file descriptors are
3882 #.  always open after an execve(), and it looks like
3883 #.  Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007
3884 #. type: Plain text
3885 #: build/C/man2/execve.2:245
3886 msgid ""
3887 "By default, file descriptors remain open across an B<execve>().  File "
3888 "descriptors that are marked close-on-exec are closed; see the description of "
3889 "B<FD_CLOEXEC> in B<fcntl>(2).  (If a file descriptor is closed, this will "
3890 "cause the release of all record locks obtained on the underlying file by "
3891 "this process.  See B<fcntl>(2)  for details.)  POSIX.1-2001 says that if "
3892 "file descriptors 0, 1, and 2 would otherwise be closed after a successful "
3893 "B<execve>(), and the process would gain privilege because the set-user_ID or "
3894 "set-group_ID permission bit was set on the executed file, then the system "
3895 "may open an unspecified file for each of these file descriptors.  As a "
3896 "general principle, no portable program, whether privileged or not, can "
3897 "assume that these three file descriptors will remain closed across an "
3898 "B<execve>()."
3899 msgstr ""
3900
3901 #. type: SS
3902 #: build/C/man2/execve.2:245
3903 #, no-wrap
3904 msgid "Interpreter scripts"
3905 msgstr ""
3906
3907 #. type: Plain text
3908 #: build/C/man2/execve.2:248
3909 msgid ""
3910 "An interpreter script is a text file that has execute permission enabled and "
3911 "whose first line is of the form:"
3912 msgstr ""
3913
3914 #. type: Plain text
3915 #: build/C/man2/execve.2:266
3916 msgid ""
3917 "The I<interpreter> must be a valid pathname for an executable which is not "
3918 "itself a script.  If the I<filename> argument of B<execve>()  specifies an "
3919 "interpreter script, then I<interpreter> will be invoked with the following "
3920 "arguments:"
3921 msgstr ""
3922
3923 #. type: Plain text
3924 #: build/C/man2/execve.2:270
3925 #, no-wrap
3926 msgid "I<interpreter> [optional-arg] I<filename> arg...\n"
3927 msgstr ""
3928
3929 #. type: Plain text
3930 #: build/C/man2/execve.2:279
3931 msgid ""
3932 "where I<arg...> is the series of words pointed to by the I<argv> argument of "
3933 "B<execve>()."
3934 msgstr ""
3935
3936 #. type: Plain text
3937 #: build/C/man2/execve.2:284
3938 msgid ""
3939 "For portable use, I<optional-arg> should either be absent, or be specified "
3940 "as a single word (i.e., it should not contain white space); see NOTES below."
3941 msgstr ""
3942
3943 #. type: SS
3944 #: build/C/man2/execve.2:284
3945 #, no-wrap
3946 msgid "Limits on size of arguments and environment"
3947 msgstr ""
3948
3949 #. type: Plain text
3950 #: build/C/man2/execve.2:297
3951 msgid ""
3952 "Most UNIX implementations impose some limit on the total size of the "
3953 "command-line argument (I<argv>)  and environment (I<envp>)  strings that may "
3954 "be passed to a new program.  POSIX.1 allows an implementation to advertise "
3955 "this limit using the B<ARG_MAX> constant (either defined in "
3956 "I<E<lt>limits.hE<gt>> or available at run time using the call "
3957 "I<sysconf(_SC_ARG_MAX)>)."
3958 msgstr ""
3959
3960 #. type: Plain text
3961 #: build/C/man2/execve.2:304
3962 msgid ""
3963 "On Linux prior to kernel 2.6.23, the memory used to store the environment "
3964 "and argument strings was limited to 32 pages (defined by the kernel constant "
3965 "B<MAX_ARG_PAGES>).  On architectures with a 4-kB page size, this yields a "
3966 "maximum size of 128 kB."
3967 msgstr ""
3968
3969 #.  For some background on the changes to ARG_MAX in kernels 2.6.23 and
3970 #.  2.6.25, see:
3971 #.      http://sourceware.org/bugzilla/show_bug.cgi?id=5786
3972 #.      http://bugzilla.kernel.org/show_bug.cgi?id=10095
3973 #.      http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
3974 #.      checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
3975 #.  Ollie: That doesn't include the lists of pointers, though,
3976 #.  so the actual usage is a bit higher (1 pointer per argument).
3977 #. type: Plain text
3978 #: build/C/man2/execve.2:340
3979 msgid ""
3980 "On kernel 2.6.23 and later, most architectures support a size limit derived "
3981 "from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2))  that is "
3982 "in force at the time of the B<execve>()  call.  (Architectures with no "
3983 "memory management unit are excepted: they maintain the limit that was in "
3984 "effect before kernel 2.6.23.)  This change allows programs to have a much "
3985 "larger argument and/or environment list.  For these architectures, the total "
3986 "size is limited to 1/4 of the allowed stack size.  (Imposing the 1/4-limit "
3987 "ensures that the new program always has some stack space.)  Since Linux "
3988 "2.6.25, the kernel places a floor of 32 pages on this size limit, so that, "
3989 "even when B<RLIMIT_STACK> is set very low, applications are guaranteed to "
3990 "have at least as much argument and environment space as was provided by "
3991 "Linux 2.6.23 and earlier.  (This guarantee was not provided in Linux 2.6.23 "
3992 "and 2.6.24.)  Additionally, the limit per string is 32 pages (the kernel "
3993 "constant B<MAX_ARG_STRLEN>), and the maximum number of strings is "
3994 "0x7FFFFFFF."
3995 msgstr ""
3996
3997 #. type: Plain text
3998 #: build/C/man2/execve.2:346
3999 msgid ""
4000 "On success, B<execve>()  does not return, on error -1 is returned, and "
4001 "I<errno> is set appropriately."
4002 msgstr ""
4003
4004 #. type: TP
4005 #: build/C/man2/execve.2:347
4006 #, no-wrap
4007 msgid "B<E2BIG>"
4008 msgstr ""
4009
4010 #. type: Plain text
4011 #: build/C/man2/execve.2:354
4012 msgid ""
4013 "The total number of bytes in the environment (I<envp>)  and argument list "
4014 "(I<argv>)  is too large."
4015 msgstr ""
4016
4017 #. type: Plain text
4018 #: build/C/man2/execve.2:361
4019 msgid ""
4020 "Search permission is denied on a component of the path prefix of I<filename> "
4021 "or the name of a script interpreter.  (See also B<path_resolution>(7).)"
4022 msgstr ""
4023
4024 #. type: Plain text
4025 #: build/C/man2/execve.2:364
4026 msgid "The file or a script interpreter is not a regular file."
4027 msgstr ""
4028
4029 #. type: Plain text
4030 #: build/C/man2/execve.2:367
4031 msgid "Execute permission is denied for the file or a script or ELF interpreter."
4032 msgstr ""
4033
4034 #. type: Plain text
4035 #: build/C/man2/execve.2:371
4036 msgid "The file system is mounted I<noexec>."
4037 msgstr ""
4038
4039 #. type: Plain text
4040 #: build/C/man2/execve.2:375
4041 msgid "I<filename> points outside your accessible address space."
4042 msgstr ""
4043
4044 #. type: Plain text
4045 #: build/C/man2/execve.2:379
4046 msgid ""
4047 "An ELF executable had more than one PT_INTERP segment (i.e., tried to name "
4048 "more than one interpreter)."
4049 msgstr ""
4050
4051 #. type: TP
4052 #: build/C/man2/execve.2:382 build/C/man2/truncate.2:146
4053 #, no-wrap
4054 msgid "B<EISDIR>"
4055 msgstr ""
4056
4057 #. type: Plain text
4058 #: build/C/man2/execve.2:385
4059 msgid "An ELF interpreter was a directory."
4060 msgstr ""
4061
4062 #. type: TP
4063 #: build/C/man2/execve.2:385
4064 #, no-wrap
4065 msgid "B<ELIBBAD>"
4066 msgstr ""
4067
4068 #. type: Plain text
4069 #: build/C/man2/execve.2:388
4070 msgid "An ELF interpreter was not in a recognized format."
4071 msgstr ""
4072
4073 #. type: Plain text
4074 #: build/C/man2/execve.2:393
4075 msgid ""
4076 "Too many symbolic links were encountered in resolving I<filename> or the "
4077 "name of a script or ELF interpreter."
4078 msgstr ""
4079
4080 #. type: Plain text
4081 #: build/C/man2/execve.2:396
4082 msgid "The process has the maximum number of files open."
4083 msgstr ""
4084
4085 #. type: Plain text
4086 #: build/C/man2/execve.2:400
4087 msgid "I<filename> is too long."
4088 msgstr ""
4089
4090 #. type: TP
4091 #: build/C/man2/execve.2:400 build/C/man3/getlogin.3:106 build/C/man2/swapon.2:133 build/C/man2/uselib.2:67
4092 #, no-wrap
4093 msgid "B<ENFILE>"
4094 msgstr ""
4095
4096 #. type: Plain text
4097 #: build/C/man2/execve.2:403 build/C/man2/swapon.2:136 build/C/man2/uselib.2:70
4098 msgid "The system limit on the total number of open files has been reached."
4099 msgstr ""
4100
4101 #. type: Plain text
4102 #: build/C/man2/execve.2:409
4103 msgid ""
4104 "The file I<filename> or a script or ELF interpreter does not exist, or a "
4105 "shared library needed for file or interpreter cannot be found."
4106 msgstr ""
4107
4108 #. type: TP
4109 #: build/C/man2/execve.2:409 build/C/man2/uselib.2:70
4110 #, no-wrap
4111 msgid "B<ENOEXEC>"
4112 msgstr ""
4113
4114 #. type: Plain text
4115 #: build/C/man2/execve.2:414
4116 msgid ""
4117 "An executable is not in a recognized format, is for the wrong architecture, "
4118 "or has some other format error that means it cannot be executed."
4119 msgstr ""
4120
4121 #. type: Plain text
4122 #: build/C/man2/execve.2:422
4123 msgid ""
4124 "A component of the path prefix of I<filename> or a script or ELF interpreter "
4125 "is not a directory."
4126 msgstr ""
4127
4128 #. type: Plain text
4129 #: build/C/man2/execve.2:428
4130 msgid ""
4131 "The file system is mounted I<nosuid>, the user is not the superuser, and the "
4132 "file has the set-user-ID or set-group-ID bit set."
4133 msgstr ""
4134
4135 #. type: Plain text
4136 #: build/C/man2/execve.2:432
4137 msgid ""
4138 "The process is being traced, the user is not the superuser and the file has "
4139 "the set-user-ID or set-group-ID bit set."
4140 msgstr ""
4141
4142 #. type: Plain text
4143 #: build/C/man2/execve.2:435
4144 msgid "Executable was open for writing by one or more processes."
4145 msgstr ""
4146
4147 #.  SVr4 documents additional error
4148 #.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
4149 #.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
4150 #.  EISDIR or ELIBBAD error conditions.
4151 #. type: Plain text
4152 #: build/C/man2/execve.2:443
4153 msgid ""
4154 "SVr4, 4.3BSD, POSIX.1-2001.  POSIX.1-2001 does not document the #! behavior "
4155 "but is otherwise compatible."
4156 msgstr ""
4157
4158 #. type: Plain text
4159 #: build/C/man2/execve.2:446
4160 msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
4161 msgstr ""
4162
4163 #. type: Plain text
4164 #: build/C/man2/execve.2:448
4165 msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
4166 msgstr ""
4167
4168 #. type: Plain text
4169 #: build/C/man2/execve.2:459
4170 msgid ""
4171 "The result of mounting a file system I<nosuid> varies across Linux kernel "
4172 "versions: some will refuse execution of set-user-ID and set-group-ID "
4173 "executables when this would give the user powers she did not have already "
4174 "(and return B<EPERM>), some will just ignore the set-user-ID and "
4175 "set-group-ID bits and B<exec>()  successfully."
4176 msgstr ""
4177
4178 #. type: Plain text
4179 #: build/C/man2/execve.2:462
4180 msgid ""
4181 "A maximum line length of 127 characters is allowed for the first line in a "
4182 "#! executable shell script."
4183 msgstr ""
4184
4185 #.  e.g., Solaris 8
4186 #.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
4187 #. type: Plain text
4188 #: build/C/man2/execve.2:481
4189 msgid ""
4190 "The semantics of the I<optional-arg> argument of an interpreter script vary "
4191 "across implementations.  On Linux, the entire string following the "
4192 "I<interpreter> name is passed as a single argument to the interpreter, and "
4193 "this string can include white space.  However, behavior differs on some "
4194 "other systems.  Some systems use the first white space to terminate "
4195 "I<optional-arg>.  On some systems, an interpreter script can have multiple "
4196 "arguments, and white spaces in I<optional-arg> are used to delimit the "
4197 "arguments."
4198 msgstr ""
4199
4200 #.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
4201 #.  HP-UX 11 is like Linux -- mtk, Apr 2007
4202 #.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
4203 #.  Bug rejected (because fix would constitute an ABI change).
4204 #. type: Plain text
4205 #: build/C/man2/execve.2:496
4206 msgid ""
4207 "On Linux, I<argv> can be specified as NULL, which has the same effect as "
4208 "specifying this argument as a pointer to a list containing a single NULL "
4209 "pointer.  B<Do not take advantage of this misfeature!> It is nonstandard and "
4210 "nonportable: on most other UNIX systems doing this will result in an error "
4211 "(B<EFAULT>)."
4212 msgstr ""
4213
4214 #
4215 #.  .SH BUGS
4216 #.  Some Linux versions have failed to check permissions on ELF
4217 #.  interpreters.  This is a security hole, because it allows users to
4218 #.  open any file, such as a rewinding tape device, for reading.  Some
4219 #.  Linux versions have also had other security holes in
4220 #.  .BR execve ()
4221 #.  that could be exploited for denial of service by a suitably crafted
4222 #.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
4223 #. type: Plain text
4224 #: build/C/man2/execve.2:516
4225 msgid ""
4226 "POSIX.1-2001 says that values returned by B<sysconf>(3)  should be invariant "
4227 "over the lifetime of a process.  However, since Linux 2.6.23, if the "
4228 "B<RLIMIT_STACK> resource limit changes, then the value reported by "
4229 "B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
4230 "for holding command-line arguments and environment variables has changed."
4231 msgstr ""
4232
4233 #. type: SS
4234 #: build/C/man2/execve.2:516
4235 #, no-wrap
4236 msgid "Historical"
4237 msgstr ""
4238
4239 #. type: Plain text
4240 #: build/C/man2/execve.2:527
4241 msgid ""
4242 "With UNIX V6 the argument list of an B<exec>()  call was ended by 0, while "
4243 "the argument list of I<main> was ended by -1.  Thus, this argument list was "
4244 "not directly usable in a further B<exec>()  call.  Since UNIX V7 both are "
4245 "NULL."
4246 msgstr ""
4247
4248 #. type: Plain text
4249 #: build/C/man2/execve.2:530
4250 msgid ""
4251 "The following program is designed to be execed by the second program below.  "
4252 "It just echoes its command-line one per line."
4253 msgstr ""
4254
4255 #. type: Plain text
4256 #: build/C/man2/execve.2:534
4257 #, no-wrap
4258 msgid "/* myecho.c */\n"
4259 msgstr ""
4260
4261 #. type: Plain text
4262 #: build/C/man2/execve.2:537
4263 #, no-wrap
4264 msgid ""
4265 "#include E<lt>stdio.hE<gt>\n"
4266 "#include E<lt>stdlib.hE<gt>\n"
4267 msgstr ""
4268
4269 #. type: Plain text
4270 #: build/C/man2/execve.2:542
4271 #, no-wrap
4272 msgid ""
4273 "int\n"
4274 "main(int argc, char *argv[])\n"
4275 "{\n"
4276 "    int j;\n"
4277 msgstr ""
4278
4279 #. type: Plain text
4280 #: build/C/man2/execve.2:545
4281 #, no-wrap
4282 msgid ""
4283 "    for (j = 0; j E<lt> argc; j++)\n"
4284 "        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
4285 msgstr ""
4286
4287 #. type: Plain text
4288 #: build/C/man2/execve.2:553
4289 msgid ""
4290 "This program can be used to exec the program named in its command-line "
4291 "argument:"
4292 msgstr ""
4293
4294 #. type: Plain text
4295 #: build/C/man2/execve.2:557
4296 #, no-wrap
4297 msgid "/* execve.c */\n"
4298 msgstr ""
4299
4300 #. type: Plain text
4301 #: build/C/man2/execve.2:561
4302 #, no-wrap
4303 msgid ""
4304 "#include E<lt>stdio.hE<gt>\n"
4305 "#include E<lt>stdlib.hE<gt>\n"
4306 "#include E<lt>unistd.hE<gt>\n"
4307 msgstr ""
4308
4309 #. type: Plain text
4310 #: build/C/man2/execve.2:567
4311 #, no-wrap
4312 msgid ""
4313 "int\n"
4314 "main(int argc, char *argv[])\n"
4315 "{\n"
4316 "    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
4317 "    char *newenviron[] = { NULL };\n"
4318 msgstr ""
4319
4320 #. type: Plain text
4321 #: build/C/man2/execve.2:572
4322 #, no-wrap
4323 msgid ""
4324 "    if (argc != 2) {\n"
4325 "\tfprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
4326 "\texit(EXIT_FAILURE);\n"
4327 "    }\n"
4328 msgstr ""
4329
4330 #. type: Plain text
4331 #: build/C/man2/execve.2:574
4332 #, no-wrap
4333 msgid "    newargv[0] = argv[1];\n"
4334 msgstr ""
4335
4336 #. type: Plain text
4337 #: build/C/man2/execve.2:579
4338 #, no-wrap
4339 msgid ""
4340 "    execve(argv[1], newargv, newenviron);\n"
4341 "    perror(\"execve\");   /* execve() only returns on error */\n"
4342 "    exit(EXIT_FAILURE);\n"
4343 "}\n"
4344 msgstr ""
4345
4346 #. type: Plain text
4347 #: build/C/man2/execve.2:583
4348 msgid "We can use the second program to exec the first as follows:"
4349 msgstr ""
4350
4351 #. type: Plain text
4352 #: build/C/man2/execve.2:592
4353 #, no-wrap
4354 msgid ""
4355 "$B< cc myecho.c -o myecho>\n"
4356 "$B< cc execve.c -o execve>\n"
4357 "$B< ./execve ./myecho>\n"
4358 "argv[0]: ./myecho\n"
4359 "argv[1]: hello\n"
4360 "argv[2]: world\n"
4361 msgstr ""
4362
4363 #. type: Plain text
4364 #: build/C/man2/execve.2:600
4365 msgid ""
4366 "We can also use these programs to demonstrate the use of a script "
4367 "interpreter.  To do this we create a script whose \"interpreter\" is our "
4368 "I<myecho> program:"
4369 msgstr ""
4370
4371 #. type: Plain text
4372 #: build/C/man2/execve.2:607
4373 #, no-wrap
4374 msgid ""
4375 "$B< cat E<gt> script.sh>\n"
4376 "B<#! ./myecho script-arg>\n"
4377 "B<^D>\n"
4378 "$B< chmod +x script.sh>\n"
4379 msgstr ""
4380
4381 #. type: Plain text
4382 #: build/C/man2/execve.2:611
4383 msgid "We can then use our program to exec the script:"
4384 msgstr ""
4385
4386 #. type: Plain text
4387 #: build/C/man2/execve.2:620
4388 #, no-wrap
4389 msgid ""
4390 "$B< ./execve ./script.sh>\n"
4391 "argv[0]: ./myecho\n"
4392 "argv[1]: script-arg\n"
4393 "argv[2]: ./script.sh\n"
4394 "argv[3]: hello\n"
4395 "argv[4]: world\n"
4396 msgstr ""
4397
4398 #. type: Plain text
4399 #: build/C/man2/execve.2:633
4400 msgid ""
4401 "B<chmod>(2), B<fork>(2), B<ptrace>(2), B<execl>(3), B<fexecve>(3), "
4402 "B<getopt>(3), B<credentials>(7), B<environ>(7), B<path_resolution>(7), "
4403 "B<ld.so>(8)"
4404 msgstr ""
4405
4406 #. type: TH
4407 #: build/C/man2/exit_group.2:23
4408 #, no-wrap
4409 msgid "EXIT_GROUP"
4410 msgstr ""
4411
4412 #. type: TH
4413 #: build/C/man2/exit_group.2:23 build/C/man2/get_thread_area.2:6 build/C/man2/set_thread_area.2:7
4414 #, no-wrap
4415 msgid "2008-11-27"
4416 msgstr ""
4417
4418 #. type: Plain text
4419 #: build/C/man2/exit_group.2:26
4420 msgid "exit_group - exit all threads in a process"
4421 msgstr ""
4422
4423 #. type: Plain text
4424 #: build/C/man2/exit_group.2:29
4425 #, no-wrap
4426 msgid "B<#include E<lt>linux/unistd.hE<gt>>\n"
4427 msgstr ""
4428
4429 #. type: Plain text
4430 #: build/C/man2/exit_group.2:31
4431 #, no-wrap
4432 msgid "B<void exit_group(int >I<status>B<);>\n"
4433 msgstr ""
4434
4435 #. type: Plain text
4436 #: build/C/man2/exit_group.2:37
4437 msgid ""
4438 "This system call is equivalent to B<exit>(2)  except that it terminates not "
4439 "only the calling thread, but all threads in the calling process's thread "
4440 "group."
4441 msgstr ""
4442
4443 #. type: Plain text
4444 #: build/C/man2/exit_group.2:39
4445 msgid "This system call does not return."
4446 msgstr ""
4447
4448 #. type: Plain text
4449 #: build/C/man2/exit_group.2:41
4450 msgid "This call is present since Linux 2.5.35."
4451 msgstr ""
4452
4453 #. type: Plain text
4454 #: build/C/man2/exit_group.2:43
4455 msgid "This call is Linux-specific."
4456 msgstr ""
4457
4458 #. type: Plain text
4459 #: build/C/man2/exit_group.2:47
4460 msgid ""
4461 "Since glibc 2.3, this is the system call invoked when the B<exit>(2)  "
4462 "wrapper function is called."
4463 msgstr ""
4464
4465 #. type: Plain text
4466 #: build/C/man2/exit_group.2:49
4467 msgid "B<exit>(2)"
4468 msgstr ""
4469
4470 #. type: TH
4471 #: build/C/man2/fcntl.2:61
4472 #, no-wrap
4473 msgid "FCNTL"
4474 msgstr ""
4475
4476 #. type: TH
4477 #: build/C/man2/fcntl.2:61 build/C/man3/sysconf.3:25
4478 #, no-wrap
4479 msgid "2012-04-15"
4480 msgstr ""
4481
4482 #. type: Plain text
4483 #: build/C/man2/fcntl.2:64
4484 msgid "fcntl - manipulate file descriptor"
4485 msgstr ""
4486
4487 #. type: Plain text
4488 #: build/C/man2/fcntl.2:68
4489 #, no-wrap
4490 msgid ""
4491 "B<#include E<lt>unistd.hE<gt>>\n"
4492 "B<#include E<lt>fcntl.hE<gt>>\n"
4493 msgstr ""
4494
4495 #. type: Plain text
4496 #: build/C/man2/fcntl.2:70
4497 #, no-wrap
4498 msgid "B<int fcntl(int >I<fd>B<, int >I<cmd>B<, ... /* >I<arg>B< */ );>\n"
4499 msgstr ""
4500
4501 #. type: Plain text
4502 #: build/C/man2/fcntl.2:77
4503 msgid ""
4504 "B<fcntl>()  performs one of the operations described below on the open file "
4505 "descriptor I<fd>.  The operation is determined by I<cmd>."
4506 msgstr ""
4507
4508 #. type: Plain text
4509 #: build/C/man2/fcntl.2:91
4510 msgid ""
4511 "B<fcntl>()  can take an optional third argument.  Whether or not this "
4512 "argument is required is determined by I<cmd>.  The required argument type is "
4513 "indicated in parentheses after each I<cmd> name (in most cases, the required "
4514 "type is I<int>, and we identify the argument using the name I<arg>), or "
4515 "I<void> is specified if the argument is not required."
4516 msgstr ""
4517
4518 #. type: SS
4519 #: build/C/man2/fcntl.2:91
4520 #, no-wrap
4521 msgid "Duplicating a file descriptor"
4522 msgstr ""
4523
4524 #. type: TP
4525 #: build/C/man2/fcntl.2:92
4526 #, no-wrap
4527 msgid "B<F_DUPFD> (I<int>)"
4528 msgstr ""
4529
4530 #. type: Plain text
4531 #: build/C/man2/fcntl.2:102
4532 msgid ""
4533 "Find the lowest numbered available file descriptor greater than or equal to "
4534 "I<arg> and make it be a copy of I<fd>.  This is different from B<dup2>(2), "
4535 "which uses exactly the descriptor specified."
4536 msgstr ""
4537
4538 #. type: Plain text
4539 #: build/C/man2/fcntl.2:104
4540 msgid "On success, the new descriptor is returned."
4541 msgstr ""
4542
4543 #. type: Plain text
4544 #: build/C/man2/fcntl.2:108
4545 msgid "See B<dup>(2)  for further details."
4546 msgstr ""
4547
4548 #. type: TP
4549 #: build/C/man2/fcntl.2:108
4550 #, no-wrap
4551 msgid "B<F_DUPFD_CLOEXEC> (I<int>; since Linux 2.6.24)"
4552 msgstr ""
4553
4554 #. type: Plain text
4555 #: build/C/man2/fcntl.2:125
4556 msgid ""
4557 "As for B<F_DUPFD>, but additionally set the close-on-exec flag for the "
4558 "duplicate descriptor.  Specifying this flag permits a program to avoid an "
4559 "additional B<fcntl>()  B<F_SETFD> operation to set the B<FD_CLOEXEC> flag.  "
4560 "For an explanation of why this flag is useful, see the description of "
4561 "B<O_CLOEXEC> in B<open>(2)."
4562 msgstr ""
4563
4564 #. type: SS
4565 #: build/C/man2/fcntl.2:125
4566 #, no-wrap
4567 msgid "File descriptor flags"
4568 msgstr ""
4569
4570 #. type: Plain text
4571 #: build/C/man2/fcntl.2:136
4572 msgid ""
4573 "The following commands manipulate the flags associated with a file "
4574 "descriptor.  Currently, only one such flag is defined: B<FD_CLOEXEC>, the "
4575 "close-on-exec flag.  If the B<FD_CLOEXEC> bit is 0, the file descriptor will "
4576 "remain open across an B<execve>(2), otherwise it will be closed."
4577 msgstr ""
4578
4579 #. type: TP
4580 #: build/C/man2/fcntl.2:136
4581 #, no-wrap
4582 msgid "B<F_GETFD> (I<void>)"
4583 msgstr ""
4584
4585 #. type: Plain text
4586 #: build/C/man2/fcntl.2:141
4587 msgid "Read the file descriptor flags; I<arg> is ignored."
4588 msgstr ""
4589
4590 #. type: TP
4591 #: build/C/man2/fcntl.2:141
4592 #, no-wrap
4593 msgid "B<F_SETFD> (I<int>)"
4594 msgstr ""
4595
4596 #. type: Plain text
4597 #: build/C/man2/fcntl.2:145
4598 msgid "Set the file descriptor flags to the value specified by I<arg>."
4599 msgstr ""
4600
4601 #. type: SS
4602 #: build/C/man2/fcntl.2:145
4603 #, no-wrap
4604 msgid "File status flags"
4605 msgstr ""
4606
4607 #.  or
4608 #.  .BR creat (2),
4609 #. type: Plain text
4610 #: build/C/man2/fcntl.2:160
4611 msgid ""
4612 "Each open file description has certain associated status flags, initialized "
4613 "by B<open>(2)  and possibly modified by B<fcntl>().  Duplicated file "
4614 "descriptors (made with B<dup>(2), B<fcntl>(F_DUPFD), B<fork>(2), etc.) refer "
4615 "to the same open file description, and thus share the same file status "
4616 "flags."
4617 msgstr ""
4618
4619 #. type: Plain text
4620 #: build/C/man2/fcntl.2:163
4621 msgid "The file status flags and their semantics are described in B<open>(2)."
4622 msgstr ""
4623
4624 #. type: TP
4625 #: build/C/man2/fcntl.2:163
4626 #, no-wrap
4627 msgid "B<F_GETFL> (I<void>)"
4628 msgstr ""
4629
4630 #. type: Plain text
4631 #: build/C/man2/fcntl.2:168
4632 msgid "Get the file access mode and the file status flags; I<arg> is ignored."
4633 msgstr ""
4634
4635 #. type: TP
4636 #: build/C/man2/fcntl.2:168
4637 #, no-wrap
4638 msgid "B<F_SETFL> (I<int>)"
4639 msgstr ""
4640
4641 #.  FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
4642 #.  via fcntl(2), but currently Linux does not permit this
4643 #.  See http://bugzilla.kernel.org/show_bug.cgi?id=5994
4644 #. type: Plain text
4645 #: build/C/man2/fcntl.2:191
4646 msgid ""
4647 "Set the file status flags to the value specified by I<arg>.  File access "
4648 "mode (B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR>)  and file creation flags (i.e., "
4649 "B<O_CREAT>, B<O_EXCL>, B<O_NOCTTY>, B<O_TRUNC>)  in I<arg> are ignored.  On "
4650 "Linux this command can change only the B<O_APPEND>, B<O_ASYNC>, B<O_DIRECT>, "
4651 "B<O_NOATIME>, and B<O_NONBLOCK> flags."
4652 msgstr ""
4653
4654 #. type: SS
4655 #: build/C/man2/fcntl.2:191
4656 #, no-wrap
4657 msgid "Advisory locking"
4658 msgstr ""
4659
4660 #. type: Plain text
4661 #: build/C/man2/fcntl.2:199
4662 msgid ""
4663 "B<F_GETLK>, B<F_SETLK> and B<F_SETLKW> are used to acquire, release, and "
4664 "test for the existence of record locks (also known as file-segment or "
4665 "file-region locks).  The third argument, I<lock>, is a pointer to a "
4666 "structure that has at least the following fields (in unspecified order)."
4667 msgstr ""
4668
4669 #. type: Plain text
4670 #: build/C/man2/fcntl.2:214
4671 #, no-wrap
4672 msgid ""
4673 "struct flock {\n"
4674 "    ...\n"
4675 "    short l_type;    /* Type of lock: F_RDLCK,\n"
4676 "                        F_WRLCK, F_UNLCK */\n"
4677 "    short l_whence;  /* How to interpret l_start:\n"
4678 "                        SEEK_SET, SEEK_CUR, SEEK_END */\n"
4679 "    off_t l_start;   /* Starting offset for lock */\n"
4680 "    off_t l_len;     /* Number of bytes to lock */\n"
4681 "    pid_t l_pid;     /* PID of process blocking our lock\n"
4682 "                        (F_GETLK only) */\n"
4683 "    ...\n"
4684 "};\n"
4685 msgstr ""
4686
4687 #. type: Plain text
4688 #: build/C/man2/fcntl.2:222
4689 msgid ""
4690 "The I<l_whence>, I<l_start>, and I<l_len> fields of this structure specify "
4691 "the range of bytes we wish to lock.  Bytes past the end of the file may be "
4692 "locked, but not bytes before the start of the file."
4693 msgstr ""
4694
4695 #. type: Plain text
4696 #: build/C/man2/fcntl.2:242
4697 msgid ""
4698 "I<l_start> is the starting offset for the lock, and is interpreted relative "
4699 "to either: the start of the file (if I<l_whence> is B<SEEK_SET>); the "
4700 "current file offset (if I<l_whence> is B<SEEK_CUR>); or the end of the file "
4701 "(if I<l_whence> is B<SEEK_END>).  In the final two cases, I<l_start> can be "
4702 "a negative number provided the offset does not lie before the start of the "
4703 "file."
4704 msgstr ""
4705
4706 #. type: Plain text
4707 #: build/C/man2/fcntl.2:257
4708 msgid ""
4709 "I<l_len> specifies the number of bytes to be locked.  If I<l_len> is "
4710 "positive, then the range to be locked covers bytes I<l_start> up to and "
4711 "including I<l_start>+I<l_len>-I<1>.  Specifying 0 for I<l_len> has the "
4712 "special meaning: lock all bytes starting at the location specified by "
4713 "I<l_whence> and I<l_start> through to the end of file, no matter how large "
4714 "the file grows."
4715 msgstr ""
4716
4717 #. type: Plain text
4718 #: build/C/man2/fcntl.2:270
4719 msgid ""
4720 "POSIX.1-2001 allows (but does not require)  an implementation to support a "
4721 "negative I<l_len> value; if I<l_len> is negative, the interval described by "
4722 "I<lock> covers bytes I<l_start>+I<l_len> up to and including I<l_start>-1.  "
4723 "This is supported by Linux since kernel versions 2.4.21 and 2.5.49."
4724 msgstr ""
4725
4726 #. type: Plain text
4727 #: build/C/man2/fcntl.2:289
4728 msgid ""
4729 "The I<l_type> field can be used to place a read (B<F_RDLCK>)  or a write "
4730 "(B<F_WRLCK>)  lock on a file.  Any number of processes may hold a read lock "
4731 "(shared lock)  on a file region, but only one process may hold a write lock "
4732 "(exclusive lock).  An exclusive lock excludes all other locks, both shared "
4733 "and exclusive.  A single process can hold only one type of lock on a file "
4734 "region; if a new lock is applied to an already-locked region, then the "
4735 "existing lock is converted to the new lock type.  (Such conversions may "
4736 "involve splitting, shrinking, or coalescing with an existing lock if the "
4737 "byte range specified by the new lock does not precisely coincide with the "
4738 "range of the existing lock.)"
4739 msgstr ""
4740
4741 #. type: TP
4742 #: build/C/man2/fcntl.2:289
4743 #, no-wrap
4744 msgid "B<F_SETLK> (I<struct flock *>)"
4745 msgstr ""
4746
4747 #. type: Plain text
4748 #: build/C/man2/fcntl.2:312
4749 msgid ""
4750 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
4751 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
4752 "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a conflicting "
4753 "lock is held by another process, this call returns -1 and sets I<errno> to "
4754 "B<EACCES> or B<EAGAIN>."
4755 msgstr ""
4756
4757 #. type: TP
4758 #: build/C/man2/fcntl.2:312
4759 #, no-wrap
4760 msgid "B<F_SETLKW> (I<struct flock *>)"
4761 msgstr ""
4762
4763 #. type: Plain text
4764 #: build/C/man2/fcntl.2:326
4765 msgid ""
4766 "As for B<F_SETLK>, but if a conflicting lock is held on the file, then wait "
4767 "for that lock to be released.  If a signal is caught while waiting, then the "
4768 "call is interrupted and (after the signal handler has returned)  returns "
4769 "immediately (with return value -1 and I<errno> set to B<EINTR>; see "
4770 "B<signal>(7))."
4771 msgstr ""
4772
4773 #. type: TP
4774 #: build/C/man2/fcntl.2:326
4775 #, no-wrap
4776 msgid "B<F_GETLK> (I<struct flock *>)"
4777 msgstr ""
4778
4779 #. type: Plain text
4780 #: build/C/man2/fcntl.2:350
4781 msgid ""
4782 "On input to this call, I<lock> describes a lock we would like to place on "
4783 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
4784 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
4785 "other fields of the structure unchanged.  If one or more incompatible locks "
4786 "would prevent this lock being placed, then B<fcntl>()  returns details about "
4787 "one of these locks in the I<l_type>, I<l_whence>, I<l_start>, and I<l_len> "
4788 "fields of I<lock> and sets I<l_pid> to be the PID of the process holding "
4789 "that lock."
4790 msgstr ""
4791
4792 #. type: Plain text
4793 #: build/C/man2/fcntl.2:358
4794 msgid ""
4795 "In order to place a read lock, I<fd> must be open for reading.  In order to "
4796 "place a write lock, I<fd> must be open for writing.  To place both types of "
4797 "lock, open a file read-write."
4798 msgstr ""
4799
4800 #.  (Additional file descriptors referring to the same file
4801 #.  may have been obtained by calls to
4802 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
4803 #. type: Plain text
4804 #: build/C/man2/fcntl.2:375
4805 msgid ""
4806 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
4807 "automatically released when the process terminates or if it closes I<any> "
4808 "file descriptor referring to a file on which locks are held.  This is bad: "
4809 "it means that a process can lose the locks on a file like I</etc/passwd> or "
4810 "I</etc/mtab> when for some reason a library function decides to open, read "
4811 "and close it."
4812 msgstr ""
4813
4814 #. type: Plain text
4815 #: build/C/man2/fcntl.2:380
4816 msgid ""
4817 "Record locks are not inherited by a child created via B<fork>(2), but are "
4818 "preserved across an B<execve>(2)."
4819 msgstr ""
4820
4821 #. type: Plain text
4822 #: build/C/man2/fcntl.2:389
4823 msgid ""
4824 "Because of the buffering performed by the B<stdio>(3)  library, the use of "
4825 "record locking with routines in that package should be avoided; use "
4826 "B<read>(2)  and B<write>(2)  instead."
4827 msgstr ""
4828
4829 #. type: SS
4830 #: build/C/man2/fcntl.2:389
4831 #, no-wrap
4832 msgid "Mandatory locking"
4833 msgstr ""
4834
4835 #. type: Plain text
4836 #: build/C/man2/fcntl.2:393
4837 msgid ""
4838 "(Non-POSIX.)  The above record locks may be either advisory or mandatory, "
4839 "and are advisory by default."
4840 msgstr ""
4841
4842 #. type: Plain text
4843 #: build/C/man2/fcntl.2:396
4844 msgid ""
4845 "Advisory locks are not enforced and are useful only between cooperating "
4846 "processes."
4847 msgstr ""
4848
4849 #. type: Plain text
4850 #: build/C/man2/fcntl.2:415
4851 msgid ""
4852 "Mandatory locks are enforced for all processes.  If a process tries to "
4853 "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a file "
4854 "region that has an incompatible mandatory lock, then the result depends upon "
4855 "whether the B<O_NONBLOCK> flag is enabled for its open file description.  If "
4856 "the B<O_NONBLOCK> flag is not enabled, then system call is blocked until the "
4857 "lock is removed or converted to a mode that is compatible with the access.  "
4858 "If the B<O_NONBLOCK> flag is enabled, then the system call fails with the "
4859 "error B<EAGAIN>."
4860 msgstr ""
4861
4862 #. type: Plain text
4863 #: build/C/man2/fcntl.2:432
4864 msgid ""
4865 "To make use of mandatory locks, mandatory locking must be enabled both on "
4866 "the file system that contains the file to be locked, and on the file "
4867 "itself.  Mandatory locking is enabled on a file system using the \"-o mand\" "
4868 "option to B<mount>(8), or the B<MS_MANDLOCK> flag for B<mount>(2).  "
4869 "Mandatory locking is enabled on a file by disabling group execute permission "
4870 "on the file and enabling the set-group-ID permission bit (see B<chmod>(1)  "
4871 "and B<chmod>(2))."
4872 msgstr ""
4873
4874 #. type: Plain text
4875 #: build/C/man2/fcntl.2:435
4876 msgid ""
4877 "The Linux implementation of mandatory locking is unreliable.  See BUGS "
4878 "below."
4879 msgstr ""
4880
4881 #. type: SS
4882 #: build/C/man2/fcntl.2:435
4883 #, no-wrap
4884 msgid "Managing signals"
4885 msgstr ""
4886
4887 #. type: Plain text
4888 #: build/C/man2/fcntl.2:444
4889 msgid ""
4890 "B<F_GETOWN>, B<F_SETOWN>, B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG> and "
4891 "B<F_SETSIG> are used to manage I/O availability signals:"
4892 msgstr ""
4893
4894 #. type: TP
4895 #: build/C/man2/fcntl.2:444
4896 #, no-wrap
4897 msgid "B<F_GETOWN> (I<void>)"
4898 msgstr ""
4899
4900 #. type: Plain text
4901 #: build/C/man2/fcntl.2:457
4902 msgid ""
4903 "Return (as the function result)  the process ID or process group currently "
4904 "receiving B<SIGIO> and B<SIGURG> signals for events on file descriptor "
4905 "I<fd>.  Process IDs are returned as positive values; process group IDs are "
4906 "returned as negative values (but see BUGS below).  I<arg> is ignored."
4907 msgstr ""
4908
4909 #. type: TP
4910 #: build/C/man2/fcntl.2:457
4911 #, no-wrap
4912 msgid "B<F_SETOWN> (I<int>)"
4913 msgstr ""
4914
4915 #. type: Plain text
4916 #: build/C/man2/fcntl.2:474
4917 msgid ""
4918 "Set the process ID or process group ID that will receive B<SIGIO> and "
4919 "B<SIGURG> signals for events on file descriptor I<fd> to the ID given in "
4920 "I<arg>.  A process ID is specified as a positive value; a process group ID "
4921 "is specified as a negative value.  Most commonly, the calling process "
4922 "specifies itself as the owner (that is, I<arg> is specified as "
4923 "B<getpid>(2))."
4924 msgstr ""
4925
4926 #.  From glibc.info:
4927 #. type: Plain text
4928 #: build/C/man2/fcntl.2:491
4929 msgid ""
4930 "If you set the B<O_ASYNC> status flag on a file descriptor by using the "
4931 "B<F_SETFL> command of B<fcntl>(), a B<SIGIO> signal is sent whenever input "
4932 "or output becomes possible on that file descriptor.  B<F_SETSIG> can be used "
4933 "to obtain delivery of a signal other than B<SIGIO>.  If this permission "
4934 "check fails, then the signal is silently discarded."
4935 msgstr ""
4936
4937 #. type: Plain text
4938 #: build/C/man2/fcntl.2:499
4939 msgid ""
4940 "Sending a signal to the owner process (group) specified by B<F_SETOWN> is "
4941 "subject to the same permissions checks as are described for B<kill>(2), "
4942 "where the sending process is the one that employs B<F_SETOWN> (but see BUGS "
4943 "below)."
4944 msgstr ""
4945
4946 #.  The following appears to be rubbish.  It doesn't seem to
4947 #.  be true according to the kernel source, and I can write
4948 #.  a program that gets a terminal-generated SIGIO even though
4949 #.  it is not the foreground process group of the terminal.
4950 #.  -- MTK, 8 Apr 05
4951 #
4952 #.  If the file descriptor
4953 #.  .I fd
4954 #.  refers to a terminal device, then SIGIO
4955 #.  signals are sent to the foreground process group of the terminal.
4956 #. type: Plain text
4957 #: build/C/man2/fcntl.2:523
4958 msgid ""
4959 "If the file descriptor I<fd> refers to a socket, B<F_SETOWN> also selects "
4960 "the recipient of B<SIGURG> signals that are delivered when out-of-band data "
4961 "arrives on that socket.  (B<SIGURG> is sent in any situation where "
4962 "B<select>(2)  would report the socket as having an \"exceptional "
4963 "condition\".)"
4964 msgstr ""
4965
4966 #. type: Plain text
4967 #: build/C/man2/fcntl.2:526
4968 msgid "The following was true in 2.6.x kernels up to and including kernel 2.6.11:"
4969 msgstr ""
4970
4971 #.  The relevant place in the (2.6) kernel source is the
4972 #.  'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005
4973 #.  send_sigurg()/send_sigurg_to_task() bypasses
4974 #.  kill_fasync()/send_sigio()/send_sigio_to_task()
4975 #.  to directly call send_group_sig_info()
4976 #.      -- MTK, Apr 2005 (kernel 2.6.11)
4977 #. type: Plain text
4978 #: build/C/man2/fcntl.2:566
4979 msgid ""
4980 "If a nonzero value is given to B<F_SETSIG> in a multithreaded process "
4981 "running with a threading library that supports thread groups (e.g., NPTL), "
4982 "then a positive value given to B<F_SETOWN> has a different meaning: instead "
4983 "of being a process ID identifying a whole process, it is a thread ID "
4984 "identifying a specific thread within a process.  Consequently, it may be "
4985 "necessary to pass B<F_SETOWN> the result of B<gettid>(2)  instead of "
4986 "B<getpid>(2)  to get sensible results when B<F_SETSIG> is used.  (In current "
4987 "Linux threading implementations, a main thread's thread ID is the same as "
4988 "its process ID.  This means that a single-threaded program can equally use "
4989 "B<gettid>(2)  or B<getpid>(2)  in this scenario.)  Note, however, that the "
4990 "statements in this paragraph do not apply to the B<SIGURG> signal generated "
4991 "for out-of-band data on a socket: this signal is always sent to either a "
4992 "process or a process group, depending on the value given to B<F_SETOWN>."
4993 msgstr ""
4994
4995 #. type: Plain text
4996 #: build/C/man2/fcntl.2:577
4997 msgid ""
4998 "The above behavior was accidentally dropped in Linux 2.6.12, and won't be "
4999 "restored.  From Linux 2.6.32 onward, use B<F_SETOWN_EX> to target B<SIGIO> "
5000 "and B<SIGURG> signals at a particular thread."
5001 msgstr ""
5002
5003 #. type: TP
5004 #: build/C/man2/fcntl.2:577
5005 #, no-wrap
5006 msgid "B<F_GETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5007 msgstr ""
5008
5009 #. type: Plain text
5010 #: build/C/man2/fcntl.2:586
5011 msgid ""
5012 "Return the current file descriptor owner settings as defined by a previous "
5013 "B<F_SETOWN_EX> operation.  The information is returned in the structure "
5014 "pointed to by I<arg>, which has the following form:"
5015 msgstr ""
5016
5017 #. type: Plain text
5018 #: build/C/man2/fcntl.2:593
5019 #, no-wrap
5020 msgid ""
5021 "struct f_owner_ex {\n"
5022 "    int   type;\n"
5023 "    pid_t pid;\n"
5024 "};\n"
5025 msgstr ""
5026
5027 #. type: Plain text
5028 #: build/C/man2/fcntl.2:610
5029 msgid ""
5030 "The I<type> field will have one of the values B<F_OWNER_TID>, "
5031 "B<F_OWNER_PID>, or B<F_OWNER_PGRP>.  The I<pid> field is a positive integer "
5032 "representing a thread ID, process ID, or process group ID.  See "
5033 "B<F_SETOWN_EX> for more details."
5034 msgstr ""
5035
5036 #. type: TP
5037 #: build/C/man2/fcntl.2:610
5038 #, no-wrap
5039 msgid "B<F_SETOWN_EX> (struct f_owner_ex *) (since Linux 2.6.32)"
5040 msgstr ""
5041
5042 #. type: Plain text
5043 #: build/C/man2/fcntl.2:626
5044 msgid ""
5045 "This operation performs a similar task to B<F_SETOWN>.  It allows the caller "
5046 "to direct I/O availability signals to a specific thread, process, or process "
5047 "group.  The caller specifies the target of signals via I<arg>, which is a "
5048 "pointer to a I<f_owner_ex> structure.  The I<type> field has one of the "
5049 "following values, which define how I<pid> is interpreted:"
5050 msgstr ""
5051
5052 #. type: TP
5053 #: build/C/man2/fcntl.2:627
5054 #, no-wrap
5055 msgid "B<F_OWNER_TID>"
5056 msgstr ""
5057
5058 #. type: Plain text
5059 #: build/C/man2/fcntl.2:636
5060 msgid ""
5061 "Send the signal to the thread whose thread ID (the value returned by a call "
5062 "to B<clone>(2)  or B<gettid>(2))  is specified in I<pid>."
5063 msgstr ""
5064
5065 #. type: TP
5066 #: build/C/man2/fcntl.2:636
5067 #, no-wrap
5068 msgid "B<F_OWNER_PID>"
5069 msgstr ""
5070
5071 #. type: Plain text
5072 #: build/C/man2/fcntl.2:641
5073 msgid "Send the signal to the process whose ID is specified in I<pid>."
5074 msgstr ""
5075
5076 #. type: TP
5077 #: build/C/man2/fcntl.2:641
5078 #, no-wrap
5079 msgid "B<F_OWNER_PGRP>"
5080 msgstr ""
5081
5082 #. type: Plain text
5083 #: build/C/man2/fcntl.2:649
5084 msgid ""
5085 "Send the signal to the process group whose ID is specified in I<pid>.  (Note "
5086 "that, unlike with B<F_SETOWN>, a process group ID is specified as a positive "
5087 "value here.)"
5088 msgstr ""
5089
5090 #. type: TP
5091 #: build/C/man2/fcntl.2:650
5092 #, no-wrap
5093 msgid "B<F_GETSIG> (I<void>)"
5094 msgstr ""
5095
5096 #. type: Plain text
5097 #: build/C/man2/fcntl.2:665
5098 msgid ""
5099 "Return (as the function result)  the signal sent when input or output "
5100 "becomes possible.  A value of zero means B<SIGIO> is sent.  Any other value "
5101 "(including B<SIGIO>)  is the signal sent instead, and in this case "
5102 "additional info is available to the signal handler if installed with "
5103 "B<SA_SIGINFO>.  I<arg> is ignored."
5104 msgstr ""
5105
5106 #. type: TP
5107 #: build/C/man2/fcntl.2:665
5108 #, no-wrap
5109 msgid "B<F_SETSIG> (I<int>)"
5110 msgstr ""
5111
5112 #
5113 #.  The following was true only up until 2.6.11:
5114 #
5115 #.  Additionally, passing a nonzero value to
5116 #.  .B F_SETSIG
5117 #.  changes the signal recipient from a whole process to a specific thread
5118 #.  within a process.
5119 #.  See the description of
5120 #.  .B F_SETOWN
5121 #.  for more details.
5122 #. type: Plain text
5123 #: build/C/man2/fcntl.2:688
5124 msgid ""
5125 "Set the signal sent when input or output becomes possible to the value given "
5126 "in I<arg>.  A value of zero means to send the default B<SIGIO> signal.  Any "
5127 "other value (including B<SIGIO>)  is the signal to send instead, and in this "
5128 "case additional info is available to the signal handler if installed with "
5129 "B<SA_SIGINFO>."
5130 msgstr ""
5131
5132 #. type: Plain text
5133 #: build/C/man2/fcntl.2:716
5134 msgid ""
5135 "By using B<F_SETSIG> with a nonzero value, and setting B<SA_SIGINFO> for the "
5136 "signal handler (see B<sigaction>(2)), extra information about I/O events is "
5137 "passed to the handler in a I<siginfo_t> structure.  If the I<si_code> field "
5138 "indicates the source is B<SI_SIGIO>, the I<si_fd> field gives the file "
5139 "descriptor associated with the event.  Otherwise, there is no indication "
5140 "which file descriptors are pending, and you should use the usual mechanisms "
5141 "(B<select>(2), B<poll>(2), B<read>(2)  with B<O_NONBLOCK> set etc.) to "
5142 "determine which file descriptors are available for I/O."
5143 msgstr ""
5144
5145 #. type: Plain text
5146 #: build/C/man2/fcntl.2:725
5147 msgid ""
5148 "By selecting a real time signal (value E<gt>= B<SIGRTMIN>), multiple I/O "
5149 "events may be queued using the same signal numbers.  (Queuing is dependent "
5150 "on available memory).  Extra information is available if B<SA_SIGINFO> is "
5151 "set for the signal handler, as above."
5152 msgstr ""
5153
5154 #.  See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05
5155 #. type: Plain text
5156 #: build/C/man2/fcntl.2:738
5157 msgid ""
5158 "Note that Linux imposes a limit on the number of real-time signals that may "
5159 "be queued to a process (see B<getrlimit>(2)  and B<signal>(7))  and if this "
5160 "limit is reached, then the kernel reverts to delivering B<SIGIO>, and this "
5161 "signal is delivered to the entire process rather than to a specific thread."
5162 msgstr ""
5163
5164 #. type: Plain text
5165 #: build/C/man2/fcntl.2:745
5166 msgid ""
5167 "Using these mechanisms, a program can implement fully asynchronous I/O "
5168 "without using B<select>(2)  or B<poll>(2)  most of the time."
5169 msgstr ""
5170
5171 #. type: Plain text
5172 #: build/C/man2/fcntl.2:761
5173 msgid ""
5174 "The use of B<O_ASYNC>, B<F_GETOWN>, B<F_SETOWN> is specific to BSD and "
5175 "Linux.  B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_GETSIG>, and B<F_SETSIG> are "
5176 "Linux-specific.  POSIX has asynchronous I/O and the I<aio_sigevent> "
5177 "structure to achieve similar things; these are also available in Linux as "
5178 "part of the GNU C Library (Glibc)."
5179 msgstr ""
5180
5181 #. type: SS
5182 #: build/C/man2/fcntl.2:761
5183 #, no-wrap
5184 msgid "Leases"
5185 msgstr ""
5186
5187 #. type: Plain text
5188 #: build/C/man2/fcntl.2:776
5189 msgid ""
5190 "B<F_SETLEASE> and B<F_GETLEASE> (Linux 2.4 onward) are used (respectively) "
5191 "to establish a new lease, and retrieve the current lease, on the open file "
5192 "description referred to by the file descriptor I<fd>.  A file lease provides "
5193 "a mechanism whereby the process holding the lease (the \"lease holder\") is "
5194 "notified (via delivery of a signal)  when a process (the \"lease breaker\") "
5195 "tries to B<open>(2)  or B<truncate>(2)  the file referred to by that file "
5196 "descriptor."
5197 msgstr ""
5198
5199 #. type: TP
5200 #: build/C/man2/fcntl.2:776
5201 #, no-wrap
5202 msgid "B<F_SETLEASE> (I<int>)"
5203 msgstr ""
5204
5205 #. type: Plain text
5206 #: build/C/man2/fcntl.2:781
5207 msgid ""
5208 "Set or remove a file lease according to which of the following values is "
5209 "specified in the integer I<arg>:"
5210 msgstr ""
5211
5212 #. type: TP
5213 #: build/C/man2/fcntl.2:782
5214 #, no-wrap
5215 msgid "B<F_RDLCK>"
5216 msgstr ""
5217
5218 #.  The following became true in kernel 2.6.10:
5219 #.  See the man-pages-2.09 Changelog for further info.
5220 #. type: Plain text
5221 #: build/C/man2/fcntl.2:791
5222 msgid ""
5223 "Take out a read lease.  This will cause the calling process to be notified "
5224 "when the file is opened for writing or is truncated.  A read lease can only "
5225 "be placed on a file descriptor that is opened read-only."
5226 msgstr ""
5227
5228 #. type: TP
5229 #: build/C/man2/fcntl.2:791
5230 #, no-wrap
5231 msgid "B<F_WRLCK>"
5232 msgstr ""
5233
5234 #. type: Plain text
5235 #: build/C/man2/fcntl.2:798
5236 msgid ""
5237 "Take out a write lease.  This will cause the caller to be notified when the "
5238 "file is opened for reading or writing or is truncated.  A write lease may be "
5239 "placed on a file only if there are no other open file descriptors for the "
5240 "file."
5241 msgstr ""
5242
5243 #. type: TP
5244 #: build/C/man2/fcntl.2:798
5245 #, no-wrap
5246 msgid "B<F_UNLCK>"
5247 msgstr ""
5248
5249 #. type: Plain text
5250 #: build/C/man2/fcntl.2:801
5251 msgid "Remove our lease from the file."
5252 msgstr ""
5253
5254 #. type: Plain text
5255 #: build/C/man2/fcntl.2:815
5256 msgid ""
5257 "Leases are associated with an open file description (see B<open>(2)).  This "
5258 "means that duplicate file descriptors (created by, for example, B<fork>(2)  "
5259 "or B<dup>(2))  refer to the same lease, and this lease may be modified or "
5260 "released using any of these descriptors.  Furthermore, the lease is released "
5261 "by either an explicit B<F_UNLCK> operation on any of these duplicate "
5262 "descriptors, or when all such descriptors have been closed."
5263 msgstr ""
5264
5265 #. type: Plain text
5266 #: build/C/man2/fcntl.2:822
5267 msgid ""
5268 "Leases may only be taken out on regular files.  An unprivileged process may "
5269 "only take out a lease on a file whose UID (owner) matches the file system "
5270 "UID of the process.  A process with the B<CAP_LEASE> capability may take out "
5271 "leases on arbitrary files."
5272 msgstr ""
5273
5274 #. type: TP
5275 #: build/C/man2/fcntl.2:822
5276 #, no-wrap
5277 msgid "B<F_GETLEASE> (I<void>)"
5278 msgstr ""
5279
5280 #. type: Plain text
5281 #: build/C/man2/fcntl.2:831
5282 msgid ""
5283 "Indicates what type of lease is associated with the file descriptor I<fd> by "
5284 "returning either B<F_RDLCK>, B<F_WRLCK>, or B<F_UNLCK>, indicating, "
5285 "respectively, a read lease , a write lease, or no lease.  I<arg> is ignored."
5286 msgstr ""
5287
5288 #. type: Plain text
5289 #: build/C/man2/fcntl.2:862
5290 msgid ""
5291 "When a process (the \"lease breaker\") performs an B<open>(2)  or "
5292 "B<truncate>(2)  that conflicts with a lease established via B<F_SETLEASE>, "
5293 "the system call is blocked by the kernel and the kernel notifies the lease "
5294 "holder by sending it a signal (B<SIGIO> by default).  The lease holder "
5295 "should respond to receipt of this signal by doing whatever cleanup is "
5296 "required in preparation for the file to be accessed by another process "
5297 "(e.g., flushing cached buffers) and then either remove or downgrade its "
5298 "lease.  A lease is removed by performing an B<F_SETLEASE> command specifying "
5299 "I<arg> as B<F_UNLCK>.  If the lease holder currently holds a write lease on "
5300 "the file, and the lease breaker is opening the file for reading, then it is "
5301 "sufficient for the lease holder to downgrade the lease to a read lease.  "
5302 "This is done by performing an B<F_SETLEASE> command specifying I<arg> as "
5303 "B<F_RDLCK>."
5304 msgstr ""
5305
5306 #. type: Plain text
5307 #: build/C/man2/fcntl.2:867
5308 msgid ""
5309 "If the lease holder fails to downgrade or remove the lease within the number "
5310 "of seconds specified in I</proc/sys/fs/lease-break-time> then the kernel "
5311 "forcibly removes or downgrades the lease holder's lease."
5312 msgstr ""
5313
5314 #. type: Plain text
5315 #: build/C/man2/fcntl.2:877
5316 msgid ""
5317 "Once a lease break has been initiated, B<F_GETLEASE> returns the target "
5318 "lease type (either B<F_RDLCK> or B<F_UNLCK>, depending on what would be "
5319 "compatible with the lease breaker)  until the lease holder voluntarily "
5320 "downgrades or removes the lease or the kernel forcibly does so after the "
5321 "lease break timer expires."
5322 msgstr ""
5323
5324 #. type: Plain text
5325 #: build/C/man2/fcntl.2:881
5326 msgid ""
5327 "Once the lease has been voluntarily or forcibly removed or downgraded, and "
5328 "assuming the lease breaker has not unblocked its system call, the kernel "
5329 "permits the lease breaker's system call to proceed."
5330 msgstr ""
5331
5332 #. type: Plain text
5333 #: build/C/man2/fcntl.2:902
5334 msgid ""
5335 "If the lease breaker's blocked B<open>(2)  or B<truncate>(2)  is interrupted "
5336 "by a signal handler, then the system call fails with the error B<EINTR>, but "
5337 "the other steps still occur as described above.  If the lease breaker is "
5338 "killed by a signal while blocked in B<open>(2)  or B<truncate>(2), then the "
5339 "other steps still occur as described above.  If the lease breaker specifies "
5340 "the B<O_NONBLOCK> flag when calling B<open>(2), then the call immediately "
5341 "fails with the error B<EWOULDBLOCK>, but the other steps still occur as "
5342 "described above."
5343 msgstr ""
5344
5345 #. type: Plain text
5346 #: build/C/man2/fcntl.2:923
5347 msgid ""
5348 "The default signal used to notify the lease holder is B<SIGIO>, but this can "
5349 "be changed using the B<F_SETSIG> command to B<fcntl>().  If a B<F_SETSIG> "
5350 "command is performed (even one specifying B<SIGIO>), and the signal handler "
5351 "is established using B<SA_SIGINFO>, then the handler will receive a "
5352 "I<siginfo_t> structure as its second argument, and the I<si_fd> field of "
5353 "this argument will hold the descriptor of the leased file that has been "
5354 "accessed by another process.  (This is useful if the caller holds leases "
5355 "against multiple files)."
5356 msgstr ""
5357
5358 #. type: SS
5359 #: build/C/man2/fcntl.2:923
5360 #, no-wrap
5361 msgid "File and directory change notification (dnotify)"
5362 msgstr ""
5363
5364 #. type: TP
5365 #: build/C/man2/fcntl.2:924
5366 #, no-wrap
5367 msgid "B<F_NOTIFY> (I<int>)"
5368 msgstr ""
5369
5370 #. type: Plain text
5371 #: build/C/man2/fcntl.2:934
5372 msgid ""
5373 "(Linux 2.4 onward)  Provide notification when the directory referred to by "
5374 "I<fd> or any of the files that it contains is changed.  The events to be "
5375 "notified are specified in I<arg>, which is a bit mask specified by ORing "
5376 "together zero or more of the following bits:"
5377 msgstr ""
5378
5379 #. type: TP
5380 #: build/C/man2/fcntl.2:937
5381 #, no-wrap
5382 msgid "B<DN_ACCESS>"
5383 msgstr ""
5384
5385 #. type: Plain text
5386 #: build/C/man2/fcntl.2:940
5387 msgid "A file was accessed (read, pread, readv)"
5388 msgstr ""
5389
5390 #. type: TP
5391 #: build/C/man2/fcntl.2:940
5392 #, no-wrap
5393 msgid "B<DN_MODIFY>"
5394 msgstr ""
5395
5396 #. type: Plain text
5397 #: build/C/man2/fcntl.2:943
5398 msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
5399 msgstr ""
5400
5401 #. type: TP
5402 #: build/C/man2/fcntl.2:943
5403 #, no-wrap
5404 msgid "B<DN_CREATE>"
5405 msgstr ""
5406
5407 #. type: Plain text
5408 #: build/C/man2/fcntl.2:946
5409 msgid "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
5410 msgstr ""
5411
5412 #. type: TP
5413 #: build/C/man2/fcntl.2:946
5414 #, no-wrap
5415 msgid "B<DN_DELETE>"
5416 msgstr ""
5417
5418 #. type: Plain text
5419 #: build/C/man2/fcntl.2:949
5420 msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
5421 msgstr ""
5422
5423 #. type: TP
5424 #: build/C/man2/fcntl.2:949
5425 #, no-wrap
5426 msgid "B<DN_RENAME>"
5427 msgstr ""
5428
5429 #. type: Plain text
5430 #: build/C/man2/fcntl.2:952
5431 msgid "A file was renamed within this directory (rename)."
5432 msgstr ""
5433
5434 #. type: TP
5435 #: build/C/man2/fcntl.2:952
5436 #, no-wrap
5437 msgid "B<DN_ATTRIB>"
5438 msgstr ""
5439
5440 #. type: Plain text
5441 #: build/C/man2/fcntl.2:955
5442 msgid "The attributes of a file were changed (chown, chmod, utime[s])."
5443 msgstr ""
5444
5445 #. type: Plain text
5446 #: build/C/man2/fcntl.2:963
5447 msgid ""
5448 "(In order to obtain these definitions, the B<_GNU_SOURCE> feature test macro "
5449 "must be defined before including I<any> header files.)"
5450 msgstr ""
5451
5452 #. type: Plain text
5453 #: build/C/man2/fcntl.2:971
5454 msgid ""
5455 "Directory notifications are normally \"one-shot\", and the application must "
5456 "reregister to receive further notifications.  Alternatively, if "
5457 "B<DN_MULTISHOT> is included in I<arg>, then notification will remain in "
5458 "effect until explicitly removed."
5459 msgstr ""
5460
5461 #.  The following does seem a poor API-design choice...
5462 #. type: Plain text
5463 #: build/C/man2/fcntl.2:983
5464 msgid ""
5465 "A series of B<F_NOTIFY> requests is cumulative, with the events in I<arg> "
5466 "being added to the set already monitored.  To disable notification of all "
5467 "events, make an B<F_NOTIFY> call specifying I<arg> as 0."
5468 msgstr ""
5469
5470 #. type: Plain text
5471 #: build/C/man2/fcntl.2:1001
5472 msgid ""
5473 "Notification occurs via delivery of a signal.  The default signal is "
5474 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
5475 "B<fcntl>().  In the latter case, the signal handler receives a I<siginfo_t> "
5476 "structure as its second argument (if the handler was established using "
5477 "B<SA_SIGINFO>)  and the I<si_fd> field of this structure contains the file "
5478 "descriptor which generated the notification (useful when establishing "
5479 "notification on multiple directories)."
5480 msgstr ""
5481
5482 #. type: Plain text
5483 #: build/C/man2/fcntl.2:1006
5484 msgid ""
5485 "Especially when using B<DN_MULTISHOT>, a real time signal should be used for "
5486 "notification, so that multiple notifications can be queued."
5487 msgstr ""
5488
5489 #. type: Plain text
5490 #: build/C/man2/fcntl.2:1015
5491 msgid ""
5492 "B<NOTE:> New applications should use the I<inotify> interface (available "
5493 "since kernel 2.6.13), which provides a much superior interface for obtaining "
5494 "notifications of file system events.  See B<inotify>(7)."
5495 msgstr ""
5496
5497 #. type: SS
5498 #: build/C/man2/fcntl.2:1015
5499 #, no-wrap
5500 msgid "Changing the capacity of a pipe"
5501 msgstr ""
5502
5503 #. type: TP
5504 #: build/C/man2/fcntl.2:1016
5505 #, no-wrap
5506 msgid "B<F_SETPIPE_SZ> (I<int>; since Linux 2.6.35)"
5507 msgstr ""
5508
5509 #. type: Plain text
5510 #: build/C/man2/fcntl.2:1047
5511 msgid ""
5512 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
5513 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
5514 "between the system page size and the limit defined in "
5515 "I</proc/sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
5516 "capacity below the page size are silently rounded up to the page size.  "
5517 "Attempts by an unprivileged process to set the pipe capacity above the limit "
5518 "in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a privileged "
5519 "process (B<CAP_SYS_RESOURCE>)  can override the limit.  When allocating the "
5520 "buffer for the pipe, the kernel may use a capacity larger than I<arg>, if "
5521 "that is convenient for the implementation.  The B<F_GETPIPE_SZ> operation "
5522 "returns the actual size used.  Attempting to set the pipe capacity smaller "
5523 "than the amount of buffer space currently used to store data produces the "
5524 "error B<EBUSY>."
5525 msgstr ""
5526
5527 #. type: TP
5528 #: build/C/man2/fcntl.2:1047
5529 #, no-wrap
5530 msgid "B<F_GETPIPE_SZ> (I<void>; since Linux 2.6.35)"
5531 msgstr ""
5532
5533 #. type: Plain text
5534 #: build/C/man2/fcntl.2:1051
5535 msgid ""
5536 "Return (as the function result) the capacity of the pipe referred to by "
5537 "I<fd>."
5538 msgstr ""
5539
5540 #. type: Plain text
5541 #: build/C/man2/fcntl.2:1053
5542 msgid "For a successful call, the return value depends on the operation:"
5543 msgstr ""
5544
5545 #. type: TP
5546 #: build/C/man2/fcntl.2:1053
5547 #, no-wrap
5548 msgid "B<F_DUPFD>"
5549 msgstr ""
5550
5551 #. type: Plain text
5552 #: build/C/man2/fcntl.2:1056
5553 msgid "The new descriptor."
5554 msgstr ""
5555
5556 #. type: TP
5557 #: build/C/man2/fcntl.2:1056
5558 #, no-wrap
5559 msgid "B<F_GETFD>"
5560 msgstr ""
5561
5562 #. type: Plain text
5563 #: build/C/man2/fcntl.2:1059
5564 msgid "Value of file descriptor flags."
5565 msgstr ""
5566
5567 #. type: TP
5568 #: build/C/man2/fcntl.2:1059
5569 #, no-wrap
5570 msgid "B<F_GETFL>"
5571 msgstr ""
5572
5573 #. type: Plain text
5574 #: build/C/man2/fcntl.2:1062
5575 msgid "Value of file status flags."
5576 msgstr ""
5577
5578 #. type: TP
5579 #: build/C/man2/fcntl.2:1062
5580 #, no-wrap
5581 msgid "B<F_GETLEASE>"
5582 msgstr ""
5583
5584 #. type: Plain text
5585 #: build/C/man2/fcntl.2:1065
5586 msgid "Type of lease held on file descriptor."
5587 msgstr ""
5588
5589 #. type: TP
5590 #: build/C/man2/fcntl.2:1065
5591 #, no-wrap
5592 msgid "B<F_GETOWN>"
5593 msgstr ""
5594
5595 #. type: Plain text
5596 #: build/C/man2/fcntl.2:1068
5597 msgid "Value of descriptor owner."
5598 msgstr ""
5599
5600 #. type: TP
5601 #: build/C/man2/fcntl.2:1068
5602 #, no-wrap
5603 msgid "B<F_GETSIG>"
5604 msgstr ""
5605
5606 #. type: Plain text
5607 #: build/C/man2/fcntl.2:1074
5608 msgid ""
5609 "Value of signal sent when read or write becomes possible, or zero for "
5610 "traditional B<SIGIO> behavior."
5611 msgstr ""
5612
5613 #. type: TP
5614 #: build/C/man2/fcntl.2:1074
5615 #, no-wrap
5616 msgid "B<F_GETPIPE_SZ>"
5617 msgstr ""
5618
5619 #. type: Plain text
5620 #: build/C/man2/fcntl.2:1077
5621 msgid "The pipe capacity."
5622 msgstr ""
5623
5624 #. type: TP
5625 #: build/C/man2/fcntl.2:1077
5626 #, no-wrap
5627 msgid "All other commands"
5628 msgstr ""
5629
5630 #. type: Plain text
5631 #: build/C/man2/fcntl.2:1080
5632 msgid "Zero."
5633 msgstr ""
5634
5635 #. type: Plain text
5636 #: build/C/man2/fcntl.2:1084
5637 msgid "On error, -1 is returned, and I<errno> is set appropriately."
5638 msgstr ""
5639
5640 #. type: TP
5641 #: build/C/man2/fcntl.2:1085 build/C/man3/lockf.3:116
5642 #, no-wrap
5643 msgid "B<EACCES> or B<EAGAIN>"
5644 msgstr ""
5645
5646 #. type: Plain text
5647 #: build/C/man2/fcntl.2:1088
5648 msgid "Operation is prohibited by locks held by other processes."
5649 msgstr ""
5650
5651 #. type: TP
5652 #: build/C/man2/fcntl.2:1088 build/C/man2/fork.2:168 build/C/man2/fork.2:173
5653 #, no-wrap
5654 msgid "B<EAGAIN>"
5655 msgstr ""
5656
5657 #. type: Plain text
5658 #: build/C/man2/fcntl.2:1092
5659 msgid ""
5660 "The operation is prohibited because the file has been memory-mapped by "
5661 "another process."
5662 msgstr ""
5663
5664 #. type: Plain text
5665 #: build/C/man2/fcntl.2:1101
5666 msgid ""
5667 "I<fd> is not an open file descriptor, or the command was B<F_SETLK> or "
5668 "B<F_SETLKW> and the file descriptor open mode doesn't match with the type of "
5669 "lock requested."
5670 msgstr ""
5671
5672 #. type: TP
5673 #: build/C/man2/fcntl.2:1101 build/C/man3/lockf.3:136
5674 #, no-wrap
5675 msgid "B<EDEADLK>"
5676 msgstr ""
5677
5678 #. type: Plain text
5679 #: build/C/man2/fcntl.2:1106
5680 msgid ""
5681 "It was detected that the specified B<F_SETLKW> command would cause a "
5682 "deadlock."
5683 msgstr ""
5684
5685 #. type: Plain text
5686 #: build/C/man2/fcntl.2:1110
5687 msgid "I<lock> is outside your accessible address space."
5688 msgstr ""
5689
5690 #. type: Plain text
5691 #: build/C/man2/fcntl.2:1122
5692 msgid ""
5693 "For B<F_SETLKW>, the command was interrupted by a signal; see B<signal>(7).  "
5694 "For B<F_GETLK> and B<F_SETLK>, the command was interrupted by a signal "
5695 "before the lock was checked or acquired.  Most likely when locking a remote "
5696 "file (e.g., locking over NFS), but can sometimes happen locally."
5697 msgstr ""
5698
5699 #. type: Plain text
5700 #: build/C/man2/fcntl.2:1132
5701 msgid ""
5702 "For B<F_DUPFD>, I<arg> is negative or is greater than the maximum allowable "
5703 "value.  For B<F_SETSIG>, I<arg> is not an allowable signal number."
5704 msgstr ""
5705
5706 #. type: Plain text
5707 #: build/C/man2/fcntl.2:1137
5708 msgid ""
5709 "For B<F_DUPFD>, the process already has the maximum number of file "
5710 "descriptors open."
5711 msgstr ""
5712
5713 #. type: TP
5714 #: build/C/man2/fcntl.2:1137 build/C/man2/flock.2:129 build/C/man3/lockf.3:145
5715 #, no-wrap
5716 msgid "B<ENOLCK>"
5717 msgstr ""
5718
5719 #. type: Plain text
5720 #: build/C/man2/fcntl.2:1141
5721 msgid ""
5722 "Too many segment locks open, lock table is full, or a remote locking "
5723 "protocol failed (e.g., locking over NFS)."
5724 msgstr ""
5725
5726 #. type: Plain text
5727 #: build/C/man2/fcntl.2:1146
5728 msgid ""
5729 "Attempted to clear the B<O_APPEND> flag on a file that has the append-only "
5730 "attribute set."
5731 msgstr ""
5732
5733 #. type: Plain text
5734 #: build/C/man2/fcntl.2:1159
5735 msgid ""
5736 "SVr4, 4.3BSD, POSIX.1-2001.  Only the operations B<F_DUPFD>, B<F_GETFD>, "
5737 "B<F_SETFD>, B<F_GETFL>, B<F_SETFL>, B<F_GETLK>, B<F_SETLK> and B<F_SETLKW>, "
5738 "are specified in POSIX.1-2001."
5739 msgstr ""
5740
5741 #. type: Plain text
5742 #: build/C/man2/fcntl.2:1171
5743 msgid ""
5744 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
5745 "definitions, define B<BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value 500 or "
5746 "greater, or define B<_POSIX_C_SOURCE> with the value 200809L or greater.)"
5747 msgstr ""
5748
5749 #. type: Plain text
5750 #: build/C/man2/fcntl.2:1179
5751 msgid ""
5752 "B<F_DUPFD_CLOEXEC> is specified in POSIX.1-2008.  (To get this definition, "
5753 "define B<_POSIX_C_SOURCE> with the value 200809L or greater, or "
5754 "B<_XOPEN_SOURCE> with the value 700 or greater.)"
5755 msgstr ""
5756
5757 #.  .PP
5758 #.  SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
5759 #. type: Plain text
5760 #: build/C/man2/fcntl.2:1196
5761 msgid ""
5762 "B<F_GETOWN_EX>, B<F_SETOWN_EX>, B<F_SETPIPE_SZ>, B<F_GETPIPE_SZ>, "
5763 "B<F_GETSIG>, B<F_SETSIG>, B<F_NOTIFY>, B<F_GETLEASE>, and B<F_SETLEASE> are "
5764 "Linux-specific.  (Define the B<_GNU_SOURCE> macro to obtain these "
5765 "definitions.)"
5766 msgstr ""
5767
5768 #. type: Plain text
5769 #: build/C/man2/fcntl.2:1217
5770 msgid ""
5771 "The original Linux B<fcntl>()  system call was not designed to handle large "
5772 "file offsets (in the I<flock> structure).  Consequently, an B<fcntl64>()  "
5773 "system call was added in Linux 2.4.  The newer system call employs a "
5774 "different structure for file locking, I<flock64>, and corresponding "
5775 "commands, B<F_GETLK64>, B<F_SETLK64>, and B<F_SETLKW64>.  However, these "
5776 "details can be ignored by applications using glibc, whose B<fcntl>()  "
5777 "wrapper function transparently employs the more recent system call where it "
5778 "is available."
5779 msgstr ""
5780
5781 #. type: Plain text
5782 #: build/C/man2/fcntl.2:1222
5783 msgid ""
5784 "The errors returned by B<dup2>(2)  are different from those returned by "
5785 "B<F_DUPFD>."
5786 msgstr ""
5787
5788 #. type: Plain text
5789 #: build/C/man2/fcntl.2:1228
5790 msgid ""
5791 "Since kernel 2.0, there is no interaction between the types of lock placed "
5792 "by B<flock>(2)  and B<fcntl>()."
5793 msgstr ""
5794
5795 #.  e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
5796 #.  documents it in fcntl(5).  mtk, May 2007
5797 #. type: Plain text
5798 #: build/C/man2/fcntl.2:1239
5799 msgid ""
5800 "Several systems have more fields in I<struct flock> such as, for example, "
5801 "I<l_sysid>.  Clearly, I<l_pid> alone is not going to be very useful if the "
5802 "process holding the lock may live on a different machine."
5803 msgstr ""
5804
5805 #.  glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h
5806 #.  mtk, Dec 04: some limited testing on alpha and ia64 seems to
5807 #.  indicate that ANY negative PGID value will cause F_GETOWN
5808 #.  to misinterpret the return as an error. Some other architectures
5809 #.  seem to have the same range check as i386.
5810 #. type: Plain text
5811 #: build/C/man2/fcntl.2:1265
5812 msgid ""
5813 "A limitation of the Linux system call conventions on some architectures "
5814 "(notably i386) means that if a (negative)  process group ID to be returned "
5815 "by B<F_GETOWN> falls in the range -1 to -4095, then the return value is "
5816 "wrongly interpreted by glibc as an error in the system call; that is, the "
5817 "return value of B<fcntl>()  will be -1, and I<errno> will contain the "
5818 "(positive) process group ID.  The Linux-specific B<F_GETOWN_EX> operation "
5819 "avoids this problem.  Since glibc version 2.11, glibc makes the kernel "
5820 "B<F_GETOWN> problem invisible by implementing B<F_GETOWN> using "
5821 "B<F_GETOWN_EX>."
5822 msgstr ""
5823
5824 #. type: Plain text
5825 #: build/C/man2/fcntl.2:1282
5826 msgid ""
5827 "In Linux 2.4 and earlier, there is bug that can occur when an unprivileged "
5828 "process uses B<F_SETOWN> to specify the owner of a socket file descriptor as "
5829 "a process (group) other than the caller.  In this case, B<fcntl>()  can "
5830 "return -1 with I<errno> set to B<EPERM>, even when the owner process (group) "
5831 "is one that the caller has permission to send signals to.  Despite this "
5832 "error return, the file descriptor owner is set, and signals will be sent to "
5833 "the owner."
5834 msgstr ""
5835
5836 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
5837 #. type: Plain text
5838 #: build/C/man2/fcntl.2:1297
5839 msgid ""
5840 "The implementation of mandatory locking in all known versions of Linux is "
5841 "subject to race conditions which render it unreliable: a B<write>(2)  call "
5842 "that overlaps with a lock may modify data after the mandatory lock is "
5843 "acquired; a B<read>(2)  call that overlaps with a lock may detect changes to "
5844 "data that were made only after a write lock was acquired.  Similar races "
5845 "exist between mandatory locks and B<mmap>(2).  It is therefore inadvisable "
5846 "to rely on mandatory locking."
5847 msgstr ""
5848
5849 #. type: Plain text
5850 #: build/C/man2/fcntl.2:1305
5851 msgid ""
5852 "B<dup2>(2), B<flock>(2), B<open>(2), B<socket>(2), B<lockf>(3), "
5853 "B<capabilities>(7), B<feature_test_macros>(7)"
5854 msgstr ""
5855
5856 #. type: Plain text
5857 #: build/C/man2/fcntl.2:1319
5858 msgid ""
5859 "See also I<locks.txt>, I<mandatory-locking.txt>, and I<dnotify.txt> in the "
5860 "kernel source directory I<Documentation/filesystems/>.  (On older kernels, "
5861 "these files are directly under the I<Documentation/> directory, and "
5862 "I<mandatory-locking.txt> is called I<mandatory.txt>.)"
5863 msgstr ""
5864
5865 #. type: TH
5866 #: build/C/man3/fexecve.3:25
5867 #, no-wrap
5868 msgid "FEXECVE"
5869 msgstr ""
5870
5871 #. type: TH
5872 #: build/C/man3/fexecve.3:25
5873 #, no-wrap
5874 msgid "2010-09-15"
5875 msgstr ""
5876
5877 #. type: Plain text
5878 #: build/C/man3/fexecve.3:28
5879 msgid "fexecve - execute program specified via file descriptor"
5880 msgstr ""
5881
5882 #. type: Plain text
5883 #: build/C/man3/fexecve.3:33
5884 #, no-wrap
5885 msgid ""
5886 "B<int fexecve(int >I<fd>B<, char *const >I<argv>B<[], char *const "
5887 ">I<envp>B<[]);>\n"
5888 msgstr ""
5889
5890 #. type: Plain text
5891 #: build/C/man3/fexecve.3:41
5892 msgid "B<fexecve>():"
5893 msgstr ""
5894
5895 #. type: TP
5896 #: build/C/man3/fexecve.3:44
5897 #, no-wrap
5898 msgid "Since glibc 2.10:"
5899 msgstr ""
5900
5901 #. type: Plain text
5902 #: build/C/man3/fexecve.3:47
5903 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5904 msgstr ""
5905
5906 #. type: TP
5907 #: build/C/man3/fexecve.3:47
5908 #, no-wrap
5909 msgid "Before glibc 2.10:"
5910 msgstr ""
5911
5912 #. type: Plain text
5913 #: build/C/man3/fexecve.3:50 build/C/man3/getcwd.3:52
5914 msgid "_GNU_SOURCE"
5915 msgstr ""
5916
5917 #.  POSIX.1-2008 specifies the O_EXEC flag for open as an alternative,
5918 #.  but Linux doesn't support this flag yet.
5919 #. type: Plain text
5920 #: build/C/man3/fexecve.3:67
5921 msgid ""
5922 "B<fexecve>()  performs the same task as B<execve>(2), with the difference "
5923 "that the file to be executed is specified via a file descriptor, I<fd>, "
5924 "rather than via a pathname.  The file descriptor I<fd> must be opened "
5925 "read-only, and the caller must have permission to execute the file that it "
5926 "refers to."
5927 msgstr ""
5928
5929 #. type: Plain text
5930 #: build/C/man3/fexecve.3:74
5931 msgid ""
5932 "A successful call to B<fexecve>()  never returns.  On error, the function "
5933 "returns, with a result value of -1, and I<errno> is set appropriately."
5934 msgstr ""
5935
5936 #. type: Plain text
5937 #: build/C/man3/fexecve.3:78
5938 msgid "Errors are as for B<execve>(2), with the following additions:"
5939 msgstr ""
5940
5941 #. type: Plain text
5942 #: build/C/man3/fexecve.3:86
5943 msgid ""
5944 "I<fd> is not a valid file descriptor, or I<argv> is NULL, or I<envp> is "
5945 "NULL."
5946 msgstr ""
5947
5948 #. type: Plain text
5949 #: build/C/man3/fexecve.3:91
5950 msgid "The I</proc> file system could not be accessed."
5951 msgstr ""
5952
5953 #. type: Plain text
5954 #: build/C/man3/fexecve.3:94
5955 msgid "B<fexecve>()  is implemented since glibc 2.3.2."
5956 msgstr ""
5957
5958 #. type: Plain text
5959 #: build/C/man3/fexecve.3:98
5960 msgid ""
5961 "POSIX.1-2008.  This function is not specified in POSIX.1-2001, and is not "
5962 "widely available on other systems."
5963 msgstr ""
5964
5965 #. type: Plain text
5966 #: build/C/man3/fexecve.3:106
5967 msgid ""
5968 "On Linux, B<fexecve>()  is implemented using the B<proc>(5)  file system, so "
5969 "I</proc> needs to be mounted and available at the time of the call."
5970 msgstr ""
5971
5972 #. type: Plain text
5973 #: build/C/man3/fexecve.3:108
5974 msgid "B<execve>(2)"
5975 msgstr ""
5976
5977 #. type: TH
5978 #: build/C/man2/flock.2:34
5979 #, no-wrap
5980 msgid "FLOCK"
5981 msgstr ""
5982
5983 #. type: Plain text
5984 #: build/C/man2/flock.2:37
5985 msgid "flock - apply or remove an advisory lock on an open file"
5986 msgstr ""
5987
5988 #. type: Plain text
5989 #: build/C/man2/flock.2:39
5990 msgid "B<#include E<lt>sys/file.hE<gt>>"
5991 msgstr ""
5992
5993 #. type: Plain text
5994 #: build/C/man2/flock.2:41
5995 msgid "B<int flock(int >I<fd>B<, int >I<operation>B<);>"
5996 msgstr ""
5997
5998 #. type: Plain text
5999 #: build/C/man2/flock.2:47
6000 msgid ""
6001 "Apply or remove an advisory lock on the open file specified by I<fd>.  The "
6002 "argument I<operation> is one of the following:"
6003 msgstr ""
6004
6005 #. type: TP
6006 #: build/C/man2/flock.2:48
6007 #, no-wrap
6008 msgid "B<LOCK_SH>"
6009 msgstr ""
6010
6011 #. type: Plain text
6012 #: build/C/man2/flock.2:53
6013 msgid ""
6014 "Place a shared lock.  More than one process may hold a shared lock for a "
6015 "given file at a given time."
6016 msgstr ""
6017
6018 #. type: TP
6019 #: build/C/man2/flock.2:53
6020 #, no-wrap
6021 msgid "B<LOCK_EX>"
6022 msgstr ""
6023
6024 #. type: Plain text
6025 #: build/C/man2/flock.2:58
6026 msgid ""
6027 "Place an exclusive lock.  Only one process may hold an exclusive lock for a "
6028 "given file at a given time."
6029 msgstr ""
6030
6031 #. type: TP
6032 #: build/C/man2/flock.2:58
6033 #, no-wrap
6034 msgid "B<LOCK_UN>"
6035 msgstr ""
6036
6037 #. type: Plain text
6038 #: build/C/man2/flock.2:61
6039 msgid "Remove an existing lock held by this process."
6040 msgstr ""
6041
6042 #. type: Plain text
6043 #: build/C/man2/flock.2:70
6044 msgid ""
6045 "A call to B<flock>()  may block if an incompatible lock is held by another "
6046 "process.  To make a nonblocking request, include B<LOCK_NB> (by ORing)  with "
6047 "any of the above operations."
6048 msgstr ""
6049
6050 #. type: Plain text
6051 #: build/C/man2/flock.2:72
6052 msgid "A single file may not simultaneously have both shared and exclusive locks."
6053 msgstr ""
6054
6055 #. type: Plain text
6056 #: build/C/man2/flock.2:86
6057 msgid ""
6058 "Locks created by B<flock>()  are associated with an open file table entry.  "
6059 "This means that duplicate file descriptors (created by, for example, "
6060 "B<fork>(2)  or B<dup>(2))  refer to the same lock, and this lock may be "
6061 "modified or released using any of these descriptors.  Furthermore, the lock "
6062 "is released either by an explicit B<LOCK_UN> operation on any of these "
6063 "duplicate descriptors, or when all such descriptors have been closed."
6064 msgstr ""
6065
6066 #. type: Plain text
6067 #: build/C/man2/flock.2:95
6068 msgid ""
6069 "If a process uses B<open>(2)  (or similar) to obtain more than one "
6070 "descriptor for the same file, these descriptors are treated independently by "
6071 "B<flock>().  An attempt to lock the file using one of these file descriptors "
6072 "may be denied by a lock that the calling process has already placed via "
6073 "another descriptor."
6074 msgstr ""
6075
6076 #. type: Plain text
6077 #: build/C/man2/flock.2:102
6078 msgid ""
6079 "A process may only hold one type of lock (shared or exclusive)  on a file.  "
6080 "Subsequent B<flock>()  calls on an already locked file will convert an "
6081 "existing lock to the new lock mode."
6082 msgstr ""
6083
6084 #. type: Plain text
6085 #: build/C/man2/flock.2:107
6086 msgid "Locks created by B<flock>()  are preserved across an B<execve>(2)."
6087 msgstr ""
6088
6089 #. type: Plain text
6090 #: build/C/man2/flock.2:110
6091 msgid ""
6092 "A shared or exclusive lock can be placed on a file regardless of the mode in "
6093 "which the file was opened."
6094 msgstr ""
6095
6096 #. type: Plain text
6097 #: build/C/man2/flock.2:120
6098 msgid "I<fd> is not an open file descriptor."
6099 msgstr ""
6100
6101 #. type: Plain text
6102 #: build/C/man2/flock.2:125
6103 msgid ""
6104 "While waiting to acquire a lock, the call was interrupted by delivery of a "
6105 "signal caught by a handler; see B<signal>(7)."
6106 msgstr ""
6107
6108 #. type: Plain text
6109 #: build/C/man2/flock.2:129
6110 msgid "I<operation> is invalid."
6111 msgstr ""
6112
6113 #. type: Plain text
6114 #: build/C/man2/flock.2:132
6115 msgid "The kernel ran out of memory for allocating lock records."
6116 msgstr ""
6117
6118 #. type: TP
6119 #: build/C/man2/flock.2:132
6120 #, no-wrap
6121 msgid "B<EWOULDBLOCK>"
6122 msgstr ""
6123
6124 #. type: Plain text
6125 #: build/C/man2/flock.2:137
6126 msgid "The file is locked and the B<LOCK_NB> flag was selected."
6127 msgstr ""
6128
6129 #. type: Plain text
6130 #: build/C/man2/flock.2:146
6131 msgid ""
6132 "4.4BSD (the B<flock>()  call first appeared in 4.2BSD).  A version of "
6133 "B<flock>(), possibly implemented in terms of B<fcntl>(2), appears on most "
6134 "UNIX systems."
6135 msgstr ""
6136
6137 #. type: Plain text
6138 #: build/C/man2/flock.2:153
6139 msgid ""
6140 "B<flock>()  does not lock files over NFS.  Use B<fcntl>(2)  instead: that "
6141 "does work over NFS, given a sufficiently recent version of Linux and a "
6142 "server which supports locking."
6143 msgstr ""
6144
6145 #. type: Plain text
6146 #: build/C/man2/flock.2:168
6147 msgid ""
6148 "Since kernel 2.0, B<flock>()  is implemented as a system call in its own "
6149 "right rather than being emulated in the GNU C library as a call to "
6150 "B<fcntl>(2).  This yields true BSD semantics: there is no interaction "
6151 "between the types of lock placed by B<flock>()  and B<fcntl>(2), and "
6152 "B<flock>()  does not detect deadlock."
6153 msgstr ""
6154
6155 #. type: Plain text
6156 #: build/C/man2/flock.2:174
6157 msgid ""
6158 "B<flock>()  places advisory locks only; given suitable permissions on a "
6159 "file, a process is free to ignore the use of B<flock>()  and perform I/O on "
6160 "the file."
6161 msgstr ""
6162
6163 #. type: Plain text
6164 #: build/C/man2/flock.2:187
6165 msgid ""
6166 "B<flock>()  and B<fcntl>(2)  locks have different semantics with respect to "
6167 "forked processes and B<dup>(2).  On systems that implement B<flock>()  using "
6168 "B<fcntl>(2), the semantics of B<flock>()  will be different from those "
6169 "described in this manual page."
6170 msgstr ""
6171
6172 #.  Kernel 2.5.21 changed things a little: during lock conversion
6173 #.  it is now the highest priority process that will get the lock -- mtk
6174 #. type: Plain text
6175 #: build/C/man2/flock.2:200
6176 msgid ""
6177 "Converting a lock (shared to exclusive, or vice versa) is not guaranteed to "
6178 "be atomic: the existing lock is first removed, and then a new lock is "
6179 "established.  Between these two steps, a pending lock request by another "
6180 "process may be granted, with the result that the conversion either blocks, "
6181 "or fails if B<LOCK_NB> was specified.  (This is the original BSD behavior, "
6182 "and occurs on many other implementations.)"
6183 msgstr ""
6184
6185 #. type: Plain text
6186 #: build/C/man2/flock.2:208
6187 msgid ""
6188 "B<close>(2), B<dup>(2), B<execve>(2), B<fcntl>(2), B<fork>(2), B<open>(2), "
6189 "B<lockf>(3)"
6190 msgstr ""
6191
6192 #. type: Plain text
6193 #: build/C/man2/flock.2:214
6194 msgid ""
6195 "See also I<Documentation/filesystem/locks.txt> in the kernel source "
6196 "(I<Documentation/locks.txt> in older kernels)."
6197 msgstr ""
6198
6199 #. type: TH
6200 #: build/C/man2/fork.2:39
6201 #, no-wrap
6202 msgid "FORK"
6203 msgstr ""
6204
6205 #. type: TH
6206 #: build/C/man2/fork.2:39 build/C/man2/fsync.2:38
6207 #, no-wrap
6208 msgid "2012-02-27"
6209 msgstr ""
6210
6211 #. type: Plain text
6212 #: build/C/man2/fork.2:42
6213 msgid "fork - create a child process"
6214 msgstr ""
6215
6216 #. type: Plain text
6217 #: build/C/man2/fork.2:46
6218 msgid "B<pid_t fork(void);>"
6219 msgstr ""
6220
6221 #. type: Plain text
6222 #: build/C/man2/fork.2:52
6223 msgid ""
6224 "B<fork>()  creates a new process by duplicating the calling process.  The "
6225 "new process, referred to as the I<child>, is an exact duplicate of the "
6226 "calling process, referred to as the I<parent>, except for the following "
6227 "points:"
6228 msgstr ""
6229
6230 #. type: Plain text
6231 #: build/C/man2/fork.2:56
6232 msgid ""
6233 "The child has its own unique process ID, and this PID does not match the ID "
6234 "of any existing process group (B<setpgid>(2))."
6235 msgstr ""
6236
6237 #. type: Plain text
6238 #: build/C/man2/fork.2:58
6239 msgid "The child's parent process ID is the same as the parent's process ID."
6240 msgstr ""
6241
6242 #. type: Plain text
6243 #: build/C/man2/fork.2:62
6244 msgid ""
6245 "The child does not inherit its parent's memory locks (B<mlock>(2), "
6246 "B<mlockall>(2))."
6247 msgstr ""
6248
6249 #. type: Plain text
6250 #: build/C/man2/fork.2:68
6251 msgid ""
6252 "Process resource utilizations (B<getrusage>(2))  and CPU time counters "
6253 "(B<times>(2))  are reset to zero in the child."
6254 msgstr ""
6255
6256 #. type: Plain text
6257 #: build/C/man2/fork.2:71
6258 msgid "The child's set of pending signals is initially empty (B<sigpending>(2))."
6259 msgstr ""
6260
6261 #. type: Plain text
6262 #: build/C/man2/fork.2:74
6263 msgid ""
6264 "The child does not inherit semaphore adjustments from its parent "
6265 "(B<semop>(2))."
6266 msgstr ""
6267
6268 #. type: Plain text
6269 #: build/C/man2/fork.2:77
6270 msgid "The child does not inherit record locks from its parent (B<fcntl>(2))."
6271 msgstr ""
6272
6273 #. type: Plain text
6274 #: build/C/man2/fork.2:82
6275 msgid ""
6276 "The child does not inherit timers from its parent (B<setitimer>(2), "
6277 "B<alarm>(2), B<timer_create>(2))."
6278 msgstr ""
6279
6280 #. type: Plain text
6281 #: build/C/man2/fork.2:89
6282 msgid ""
6283 "The child does not inherit outstanding asynchronous I/O operations from its "
6284 "parent (B<aio_read>(3), B<aio_write>(3)), nor does it inherit any "
6285 "asynchronous I/O contexts from its parent (see B<io_setup>(2))."
6286 msgstr ""
6287
6288 #. type: Plain text
6289 #: build/C/man2/fork.2:94
6290 msgid ""
6291 "The process attributes in the preceding list are all specified in "
6292 "POSIX.1-2001.  The parent and child also differ with respect to the "
6293 "following Linux-specific process attributes:"
6294 msgstr ""
6295
6296 #. type: Plain text
6297 #: build/C/man2/fork.2:101
6298 msgid ""
6299 "The child does not inherit directory change notifications (dnotify)  from "
6300 "its parent (see the description of B<F_NOTIFY> in B<fcntl>(2))."
6301 msgstr ""
6302
6303 #. type: Plain text
6304 #: build/C/man2/fork.2:107
6305 msgid ""
6306 "The B<prctl>(2)  B<PR_SET_PDEATHSIG> setting is reset so that the child does "
6307 "not receive a signal when its parent terminates."
6308 msgstr ""
6309
6310 #. type: Plain text
6311 #: build/C/man2/fork.2:113
6312 msgid ""
6313 "Memory mappings that have been marked with the B<madvise>(2)  "
6314 "B<MADV_DONTFORK> flag are not inherited across a B<fork>()."
6315 msgstr ""
6316
6317 #. type: Plain text
6318 #: build/C/man2/fork.2:118
6319 msgid "The termination signal of the child is always B<SIGCHLD> (see B<clone>(2))."
6320 msgstr ""
6321
6322 #. type: Plain text
6323 #: build/C/man2/fork.2:129
6324 msgid ""
6325 "The child process is created with a single thread\\(emthe one that called "
6326 "B<fork>().  The entire virtual address space of the parent is replicated in "
6327 "the child, including the states of mutexes, condition variables, and other "
6328 "pthreads objects; the use of B<pthread_atfork>(3)  may be helpful for "
6329 "dealing with problems that this can cause."
6330 msgstr ""
6331
6332 #. type: Plain text
6333 #: build/C/man2/fork.2:143
6334 msgid ""
6335 "The child inherits copies of the parent's set of open file descriptors.  "
6336 "Each file descriptor in the child refers to the same open file description "
6337 "(see B<open>(2))  as the corresponding file descriptor in the parent.  This "
6338 "means that the two descriptors share open file status flags, current file "
6339 "offset, and signal-driven I/O attributes (see the description of B<F_SETOWN> "
6340 "and B<F_SETSIG> in B<fcntl>(2))."
6341 msgstr ""
6342
6343 #. type: Plain text
6344 #: build/C/man2/fork.2:152
6345 msgid ""
6346 "The child inherits copies of the parent's set of open message queue "
6347 "descriptors (see B<mq_overview>(7)).  Each descriptor in the child refers to "
6348 "the same open message queue description as the corresponding descriptor in "
6349 "the parent.  This means that the two descriptors share the same flags "
6350 "(I<mq_flags>)."
6351 msgstr ""
6352
6353 #. type: Plain text
6354 #: build/C/man2/fork.2:160
6355 msgid ""
6356 "The child inherits copies of the parent's set of open directory streams (see "
6357 "B<opendir>(3)).  POSIX.1-2001 says that the corresponding directory streams "
6358 "in the parent and child I<may> share the directory stream positioning; on "
6359 "Linux/glibc they do not."
6360 msgstr ""
6361
6362 #. type: Plain text
6363 #: build/C/man2/fork.2:167
6364 msgid ""
6365 "On success, the PID of the child process is returned in the parent, and 0 is "
6366 "returned in the child.  On failure, -1 is returned in the parent, no child "
6367 "process is created, and I<errno> is set appropriately."
6368 msgstr ""
6369
6370 #. type: Plain text
6371 #: build/C/man2/fork.2:173
6372 msgid ""
6373 "B<fork>()  cannot allocate sufficient memory to copy the parent's page "
6374 "tables and allocate a task structure for the child."
6375 msgstr ""
6376
6377 #. type: Plain text
6378 #: build/C/man2/fork.2:183
6379 msgid ""
6380 "It was not possible to create a new process because the caller's "
6381 "B<RLIMIT_NPROC> resource limit was encountered.  To exceed this limit, the "
6382 "process must have either the B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> "
6383 "capability."
6384 msgstr ""
6385
6386 #. type: Plain text
6387 #: build/C/man2/fork.2:187
6388 msgid ""
6389 "B<fork>()  failed to allocate the necessary kernel structures because memory "
6390 "is tight."
6391 msgstr ""
6392
6393 #. type: Plain text
6394 #: build/C/man2/fork.2:196
6395 msgid ""
6396 "Under Linux, B<fork>()  is implemented using copy-on-write pages, so the "
6397 "only penalty that it incurs is the time and memory required to duplicate the "
6398 "parent's page tables, and to create a unique task structure for the child."
6399 msgstr ""
6400
6401 #.  nptl/sysdeps/unix/sysv/linux/fork.c
6402 #.  and does some magic to ensure that getpid(2) returns the right value.
6403 #. type: Plain text
6404 #: build/C/man2/fork.2:220
6405 msgid ""
6406 "Since version 2.3.3, rather than invoking the kernel's B<fork>()  system "
6407 "call, the glibc B<fork>()  wrapper that is provided as part of the NPTL "
6408 "threading implementation invokes B<clone>(2)  with flags that provide the "
6409 "same effect as the traditional system call.  (A call to B<fork>()  is "
6410 "equivalent to a call to B<clone>(2)  specifying I<flags> as just "
6411 "B<SIGCHLD>.)  The glibc wrapper invokes any fork handlers that have been "
6412 "established using B<pthread_atfork>(3)."
6413 msgstr ""
6414
6415 #. type: Plain text
6416 #: build/C/man2/fork.2:225
6417 msgid "See B<pipe>(2)  and B<wait>(2)."
6418 msgstr ""
6419
6420 #. type: Plain text
6421 #: build/C/man2/fork.2:235
6422 msgid ""
6423 "B<clone>(2), B<execve>(2), B<setrlimit>(2), B<unshare>(2), B<vfork>(2), "
6424 "B<wait>(2), B<daemon>(3), B<capabilities>(7), B<credentials>(7)"
6425 msgstr ""
6426
6427 #. type: TH
6428 #: build/C/man3/fpathconf.3:24
6429 #, no-wrap
6430 msgid "FPATHCONF"
6431 msgstr ""
6432
6433 #. type: TH
6434 #: build/C/man3/fpathconf.3:24
6435 #, no-wrap
6436 msgid "1993-04-04"
6437 msgstr ""
6438
6439 #. type: Plain text
6440 #: build/C/man3/fpathconf.3:27
6441 msgid "fpathconf, pathconf - get configuration values for files"
6442 msgstr ""
6443
6444 #. type: Plain text
6445 #: build/C/man3/fpathconf.3:32
6446 #, no-wrap
6447 msgid "B<long fpathconf(int >I<fd>B<, int >I<name>B<);>\n"
6448 msgstr ""
6449
6450 #. type: Plain text
6451 #: build/C/man3/fpathconf.3:34
6452 #, no-wrap
6453 msgid "B<long pathconf(char *>I<path>B<, int >I<name>B<);>\n"
6454 msgstr ""
6455
6456 #. type: Plain text
6457 #: build/C/man3/fpathconf.3:41
6458 msgid ""
6459 "B<fpathconf>()  gets a value for the configuration option I<name> for the "
6460 "open file descriptor I<fd>."
6461 msgstr ""
6462
6463 #. type: Plain text
6464 #: build/C/man3/fpathconf.3:47
6465 msgid ""
6466 "B<pathconf>()  gets a value for configuration option I<name> for the "
6467 "filename I<path>."
6468 msgstr ""
6469
6470 #. type: Plain text
6471 #: build/C/man3/fpathconf.3:56
6472 msgid ""
6473 "The corresponding macros defined in I<E<lt>unistd.hE<gt>> are minimum "
6474 "values; if an application wants to take advantage of values which may "
6475 "change, a call to B<fpathconf>()  or B<pathconf>()  can be made, which may "
6476 "yield more liberal results."
6477 msgstr ""
6478
6479 #. type: Plain text
6480 #: build/C/man3/fpathconf.3:61
6481 msgid ""
6482 "Setting I<name> equal to one of the following constants returns the "
6483 "following configuration options:"
6484 msgstr ""
6485
6486 #. type: TP
6487 #: build/C/man3/fpathconf.3:61
6488 #, no-wrap
6489 msgid "B<_PC_LINK_MAX>"
6490 msgstr ""
6491
6492 #. type: Plain text
6493 #: build/C/man3/fpathconf.3:71
6494 msgid ""
6495 "returns the maximum number of links to the file.  If I<fd> or I<path> refer "
6496 "to a directory, then the value applies to the whole directory.  The "
6497 "corresponding macro is B<_POSIX_LINK_MAX>."
6498 msgstr ""
6499
6500 #. type: TP
6501 #: build/C/man3/fpathconf.3:71
6502 #, no-wrap
6503 msgid "B<_PC_MAX_CANON>"
6504 msgstr ""
6505
6506 #. type: Plain text
6507 #: build/C/man3/fpathconf.3:80
6508 msgid ""
6509 "returns the maximum length of a formatted input line, where I<fd> or I<path> "
6510 "must refer to a terminal.  The corresponding macro is B<_POSIX_MAX_CANON>."
6511 msgstr ""
6512
6513 #. type: TP
6514 #: build/C/man3/fpathconf.3:80
6515 #, no-wrap
6516 msgid "B<_PC_MAX_INPUT>"
6517 msgstr ""
6518
6519 #. type: Plain text
6520 #: build/C/man3/fpathconf.3:89
6521 msgid ""
6522 "returns the maximum length of an input line, where I<fd> or I<path> must "
6523 "refer to a terminal.  The corresponding macro is B<_POSIX_MAX_INPUT>."
6524 msgstr ""
6525
6526 #. type: TP
6527 #: build/C/man3/fpathconf.3:89
6528 #, no-wrap
6529 msgid "B<_PC_NAME_MAX>"
6530 msgstr ""
6531
6532 #. type: Plain text
6533 #: build/C/man3/fpathconf.3:98
6534 msgid ""
6535 "returns the maximum length of a filename in the directory I<path> or I<fd> "
6536 "that the process is allowed to create.  The corresponding macro is "
6537 "B<_POSIX_NAME_MAX>."
6538 msgstr ""
6539
6540 #. type: TP
6541 #: build/C/man3/fpathconf.3:98
6542 #, no-wrap
6543 msgid "B<_PC_PATH_MAX>"
6544 msgstr ""
6545
6546 #. type: Plain text
6547 #: build/C/man3/fpathconf.3:107
6548 msgid ""
6549 "returns the maximum length of a relative pathname when I<path> or I<fd> is "
6550 "the current working directory.  The corresponding macro is "
6551 "B<_POSIX_PATH_MAX>."
6552 msgstr ""
6553
6554 #. type: TP
6555 #: build/C/man3/fpathconf.3:107
6556 #, no-wrap
6557 msgid "B<_PC_PIPE_BUF>"
6558 msgstr ""
6559
6560 #. type: Plain text
6561 #: build/C/man3/fpathconf.3:116
6562 msgid ""
6563 "returns the size of the pipe buffer, where I<fd> must refer to a pipe or "
6564 "FIFO and I<path> must refer to a FIFO.  The corresponding macro is "
6565 "B<_POSIX_PIPE_BUF>."
6566 msgstr ""
6567
6568 #. type: TP
6569 #: build/C/man3/fpathconf.3:116
6570 #, no-wrap
6571 msgid "B<_PC_CHOWN_RESTRICTED>"
6572 msgstr ""
6573
6574 #. type: Plain text
6575 #: build/C/man3/fpathconf.3:129
6576 msgid ""
6577 "returns nonzero if the B<chown>(2)  call may not be used on this file.  If "
6578 "I<fd> or I<path> refer to a directory, then this applies to all files in "
6579 "that directory.  The corresponding macro is B<_POSIX_CHOWN_RESTRICTED>."
6580 msgstr ""
6581
6582 #. type: TP
6583 #: build/C/man3/fpathconf.3:129
6584 #, no-wrap
6585 msgid "B<_PC_NO_TRUNC>"
6586 msgstr ""
6587
6588 #. type: Plain text
6589 #: build/C/man3/fpathconf.3:136
6590 msgid ""
6591 "returns nonzero if accessing filenames longer than B<_POSIX_NAME_MAX> "
6592 "generates an error.  The corresponding macro is B<_POSIX_NO_TRUNC>."
6593 msgstr ""
6594
6595 #. type: TP
6596 #: build/C/man3/fpathconf.3:136
6597 #, no-wrap
6598 msgid "B<_PC_VDISABLE>"
6599 msgstr ""
6600
6601 #. type: Plain text
6602 #: build/C/man3/fpathconf.3:143
6603 msgid ""
6604 "returns nonzero if special character processing can be disabled, where I<fd> "
6605 "or I<path> must refer to a terminal."
6606 msgstr ""
6607
6608 #. type: Plain text
6609 #: build/C/man3/fpathconf.3:152
6610 msgid ""
6611 "The limit is returned, if one exists.  If the system does not have a limit "
6612 "for the requested resource, -1 is returned, and I<errno> is unchanged.  If "
6613 "there is an error, -1 is returned, and I<errno> is set to reflect the nature "
6614 "of the error."
6615 msgstr ""
6616
6617 #. type: Plain text
6618 #: build/C/man3/fpathconf.3:160
6619 msgid ""
6620 "Files with name lengths longer than the value returned for I<name> equal to "
6621 "B<_PC_NAME_MAX> may exist in the given directory."
6622 msgstr ""
6623
6624 #. type: Plain text
6625 #: build/C/man3/fpathconf.3:163 build/C/man3/sysconf.3:333
6626 msgid ""
6627 "Some returned values may be huge; they are not suitable for allocating "
6628 "memory."
6629 msgstr ""
6630
6631 #. type: Plain text
6632 #: build/C/man3/fpathconf.3:168
6633 msgid "B<getconf>(1), B<open>(2), B<statfs>(2), B<sysconf>(3)"
6634 msgstr ""
6635
6636 #. type: TH
6637 #: build/C/man2/fsync.2:38
6638 #, no-wrap
6639 msgid "FSYNC"
6640 msgstr ""
6641
6642 #. type: Plain text
6643 #: build/C/man2/fsync.2:41
6644 msgid "fsync, fdatasync - synchronize a file's in-core state with storage device"
6645 msgstr ""
6646
6647 #. type: Plain text
6648 #: build/C/man2/fsync.2:45
6649 msgid "B<int fsync(int >I<fd>B<);>"
6650 msgstr ""
6651
6652 #. type: Plain text
6653 #: build/C/man2/fsync.2:47
6654 msgid "B<int fdatasync(int >I<fd>B<);>"
6655 msgstr ""
6656
6657 #. type: Plain text
6658 #: build/C/man2/fsync.2:55
6659 msgid "B<fsync>(): _BSD_SOURCE || _XOPEN_SOURCE"
6660 msgstr ""
6661
6662 #.  _POSIX_C_SOURCE\ >=\ 200112L only since glibc 2.8
6663 #. type: Plain text
6664 #: build/C/man2/fsync.2:58
6665 #, no-wrap
6666 msgid "         || /* since glibc 2.8: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
6667 msgstr ""
6668
6669 #. type: Plain text
6670 #: build/C/man2/fsync.2:61
6671 msgid ""
6672 "B<fdatasync>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L || _XOPEN_SOURCE\\ "
6673 "E<gt>=\\ 500"
6674 msgstr ""
6675
6676 #. type: Plain text
6677 #: build/C/man2/fsync.2:74
6678 msgid ""
6679 "B<fsync>()  transfers (\"flushes\") all modified in-core data of (i.e., "
6680 "modified buffer cache pages for) the file referred to by the file descriptor "
6681 "I<fd> to the disk device (or other permanent storage device) so that all "
6682 "changed information can be retrieved even after the system crashed or was "
6683 "rebooted.  This includes writing through or flushing a disk cache if "
6684 "present.  The call blocks until the device reports that the transfer has "
6685 "completed.  It also flushes metadata information associated with the file "
6686 "(see B<stat>(2))."
6687 msgstr ""
6688
6689 #. type: Plain text
6690 #: build/C/man2/fsync.2:83
6691 msgid ""
6692 "Calling B<fsync>()  does not necessarily ensure that the entry in the "
6693 "directory containing the file has also reached disk.  For that an explicit "
6694 "B<fsync>()  on a file descriptor for the directory is also needed."
6695 msgstr ""
6696
6697 #. type: Plain text
6698 #: build/C/man2/fsync.2:104
6699 msgid ""
6700 "B<fdatasync>()  is similar to B<fsync>(), but does not flush modified "
6701 "metadata unless that metadata is needed in order to allow a subsequent data "
6702 "retrieval to be correctly handled.  For example, changes to I<st_atime> or "
6703 "I<st_mtime> (respectively, time of last access and time of last "
6704 "modification; see B<stat>(2))  do not require flushing because they are not "
6705 "necessary for a subsequent data read to be handled correctly.  On the other "
6706 "hand, a change to the file size (I<st_size>, as made by say "
6707 "B<ftruncate>(2)), would require a metadata flush."
6708 msgstr ""
6709
6710 #. type: Plain text
6711 #: build/C/man2/fsync.2:109
6712 msgid ""
6713 "The aim of B<fdatasync>()  is to reduce disk activity for applications that "
6714 "do not require all metadata to be synchronized with the disk."
6715 msgstr ""
6716
6717 #. type: Plain text
6718 #: build/C/man2/fsync.2:114
6719 msgid ""
6720 "On success, these system calls return zero.  On error, -1 is returned, and "
6721 "I<errno> is set appropriately."
6722 msgstr ""
6723
6724 #. type: Plain text
6725 #: build/C/man2/fsync.2:119
6726 msgid "I<fd> is not a valid open file descriptor."
6727 msgstr ""
6728
6729 #. type: Plain text
6730 #: build/C/man2/fsync.2:122
6731 msgid "An error occurred during synchronization."
6732 msgstr ""
6733
6734 #. type: TP
6735 #: build/C/man2/fsync.2:122
6736 #, no-wrap
6737 msgid "B<EROFS>, B<EINVAL>"
6738 msgstr ""
6739
6740 #. type: Plain text
6741 #: build/C/man2/fsync.2:126
6742 msgid "I<fd> is bound to a special file which does not support synchronization."
6743 msgstr ""
6744
6745 #. type: Plain text
6746 #: build/C/man2/fsync.2:128
6747 msgid "4.3BSD, POSIX.1-2001."
6748 msgstr ""
6749
6750 #. type: SH
6751 #: build/C/man2/fsync.2:128
6752 #, no-wrap
6753 msgid "AVAILABILITY"
6754 msgstr ""
6755
6756 #.  POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
6757 #.  -1: unavailable, 0: ask using sysconf().
6758 #.  glibc defines them to 1.
6759 #. type: Plain text
6760 #: build/C/man2/fsync.2:141
6761 msgid ""
6762 "On POSIX systems on which B<fdatasync>()  is available, "
6763 "B<_POSIX_SYNCHRONIZED_IO> is defined in I<E<lt>unistd.hE<gt>> to a value "
6764 "greater than 0.  (See also B<sysconf>(3).)"
6765 msgstr ""
6766
6767 #. type: Plain text
6768 #: build/C/man2/fsync.2:147
6769 msgid ""
6770 "On some UNIX systems (but not Linux), I<fd> must be a I<writable> file "
6771 "descriptor."
6772 msgstr ""
6773
6774 #. type: Plain text
6775 #: build/C/man2/fsync.2:153
6776 msgid ""
6777 "In Linux 2.2 and earlier, B<fdatasync>()  is equivalent to B<fsync>(), and "
6778 "so has no performance advantage."
6779 msgstr ""
6780
6781 #. type: Plain text
6782 #: build/C/man2/fsync.2:163
6783 msgid ""
6784 "The B<fsync>()  implementations in older kernels and lesser used filesystems "
6785 "does not know how to flush disk caches.  In these cases disk caches need to "
6786 "be disabled using B<hdparm>(8)  or B<sdparm>(8)  to guarantee safe "
6787 "operation."
6788 msgstr ""
6789
6790 #. type: Plain text
6791 #: build/C/man2/fsync.2:172
6792 msgid ""
6793 "B<bdflush>(2), B<open>(2), B<sync>(2), B<sync_file_range>(2), B<hdparm>(8), "
6794 "B<mount>(8), B<sync>(8), B<update>(8)"
6795 msgstr ""
6796
6797 #. type: TH
6798 #: build/C/man3/get_nprocs_conf.3:24
6799 #, no-wrap
6800 msgid "GET_NPROCS"
6801 msgstr ""
6802
6803 #. type: TH
6804 #: build/C/man3/get_nprocs_conf.3:24
6805 #, no-wrap
6806 msgid "2012-03-20"
6807 msgstr ""
6808
6809 #. type: Plain text
6810 #: build/C/man3/get_nprocs_conf.3:27
6811 msgid "get_nprocs, get_nprocs_conf - get number of processors"
6812 msgstr ""
6813
6814 #. type: Plain text
6815 #: build/C/man3/get_nprocs_conf.3:29 build/C/man2/sysinfo.2:19
6816 msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
6817 msgstr ""
6818
6819 #. type: Plain text
6820 #: build/C/man3/get_nprocs_conf.3:31
6821 msgid "B<int get_nprocs(void);>"
6822 msgstr ""
6823
6824 #. type: Plain text
6825 #: build/C/man3/get_nprocs_conf.3:33
6826 msgid "B<int get_nprocs_conf(void);>"
6827 msgstr ""
6828
6829 #. type: Plain text
6830 #: build/C/man3/get_nprocs_conf.3:37
6831 msgid ""
6832 "The function B<get_nprocs_conf>()  returns the number of processors "
6833 "configured by the operating system."
6834 msgstr ""
6835
6836 #. type: Plain text
6837 #: build/C/man3/get_nprocs_conf.3:44
6838 msgid ""
6839 "The function B<get_nprocs>()  returns the number of processors currently "
6840 "available in the system.  This may be less than the number returned by "
6841 "B<get_nprocs_conf>()  because processors may be offline (e.g., on "
6842 "hotpluggable systems)."
6843 msgstr ""
6844
6845 #. type: Plain text
6846 #: build/C/man3/get_nprocs_conf.3:46
6847 msgid "As given in DESCRIPTION."
6848 msgstr ""
6849
6850 #. type: Plain text
6851 #: build/C/man3/get_nprocs_conf.3:48 build/C/man3/getopt.3:348
6852 msgid "These functions are GNU extensions."
6853 msgstr ""
6854
6855 #.  glibc 2.15
6856 #. type: Plain text
6857 #: build/C/man3/get_nprocs_conf.3:55
6858 msgid ""
6859 "The current implementation of these functions is rather expensive, since "
6860 "they open and parse files in the I</sys> file system each time they are "
6861 "called."
6862 msgstr ""
6863
6864 #. type: Plain text
6865 #: build/C/man3/get_nprocs_conf.3:60
6866 msgid ""
6867 "The following B<sysconf>(3)  calls make use of the functions documented on "
6868 "this page to return the same information."
6869 msgstr ""
6870
6871 #. type: Plain text
6872 #: build/C/man3/get_nprocs_conf.3:64
6873 #, no-wrap
6874 msgid ""
6875 "    np = sysconf(_SC_NPROCESSORS_CONF);     /* processors configured */\n"
6876 "    np = sysconf(_SC_NPROCESSORS_ONLN);     /* processors available */\n"
6877 msgstr ""
6878
6879 #. type: Plain text
6880 #: build/C/man3/get_nprocs_conf.3:71
6881 msgid ""
6882 "The following example shows how B<get_nprocs>()  and B<get_nprocs_conf>()  "
6883 "can be used."
6884 msgstr ""
6885
6886 #. type: Plain text
6887 #: build/C/man3/get_nprocs_conf.3:75
6888 #, no-wrap
6889 msgid ""
6890 "#include E<lt>stdio.hE<gt>\n"
6891 "#include E<lt>sys/sysinfo.hE<gt>\n"
6892 msgstr ""
6893
6894 #. type: Plain text
6895 #: build/C/man3/get_nprocs_conf.3:84
6896 #, no-wrap
6897 msgid ""
6898 "int\n"
6899 "main(int argc, char *argv[])\n"
6900 "{\n"
6901 "    printf(\"This system has %d processors configured and \"\n"
6902 "            \"%d processors available.\\en\",\n"
6903 "            get_nprocs_conf(), get_nprocs());\n"
6904 "    return 0;\n"
6905 "}\n"
6906 msgstr ""
6907
6908 #. type: TH
6909 #: build/C/man2/get_thread_area.2:6
6910 #, no-wrap
6911 msgid "GET_THREAD_AREA"
6912 msgstr ""
6913
6914 #. type: Plain text
6915 #: build/C/man2/get_thread_area.2:9
6916 msgid "get_thread_area - Get a Thread Local Storage (TLS) area"
6917 msgstr ""
6918
6919 #. type: Plain text
6920 #: build/C/man2/get_thread_area.2:13 build/C/man2/set_thread_area.2:14
6921 msgid "B<#include E<lt>asm/ldt.hE<gt>>"
6922 msgstr ""
6923
6924 #. type: Plain text
6925 #: build/C/man2/get_thread_area.2:15
6926 msgid "B<int get_thread_area(struct user_desc *>I<u_info>B<);>"
6927 msgstr ""
6928
6929 #. type: Plain text
6930 #: build/C/man2/get_thread_area.2:24
6931 msgid ""
6932 "B<get_thread_area>()  returns an entry in the current thread's Thread Local "
6933 "Storage (TLS) array.  The index of the entry corresponds to the value of "
6934 "I<u_info-E<gt>entry_number>, passed in by the user.  If the value is in "
6935 "bounds, B<get_thread_area>()  copies the corresponding TLS entry into the "
6936 "area pointed to by I<u_info>."
6937 msgstr ""
6938
6939 #. type: Plain text
6940 #: build/C/man2/get_thread_area.2:30
6941 msgid ""
6942 "B<get_thread_area>()  returns 0 on success.  Otherwise, it returns -1 and "
6943 "sets I<errno> appropriately."
6944 msgstr ""
6945
6946 #. type: Plain text
6947 #: build/C/man2/get_thread_area.2:34 build/C/man2/set_thread_area.2:52
6948 msgid "I<u_info> is an invalid pointer."
6949 msgstr ""
6950
6951 #. type: Plain text
6952 #: build/C/man2/get_thread_area.2:37 build/C/man2/set_thread_area.2:49
6953 msgid "I<u_info-E<gt>entry_number> is out of bounds."
6954 msgstr ""
6955
6956 #. type: Plain text
6957 #: build/C/man2/get_thread_area.2:41
6958 msgid "A version of B<get_thread_area>()  first appeared in Linux 2.5.32."
6959 msgstr ""
6960
6961 #. type: Plain text
6962 #: build/C/man2/get_thread_area.2:45
6963 msgid ""
6964 "B<get_thread_area>()  is Linux-specific and should not be used in programs "
6965 "that are intended to be portable."
6966 msgstr ""
6967
6968 #. type: Plain text
6969 #: build/C/man2/get_thread_area.2:49 build/C/man2/gettid.2:64 build/C/man2/set_thread_area.2:67 build/C/man2/sysctl.2:112
6970 msgid ""
6971 "Glibc does not provide a wrapper for this system call; call it using "
6972 "B<syscall>(2)."
6973 msgstr ""
6974
6975 #. type: Plain text
6976 #: build/C/man2/get_thread_area.2:52
6977 msgid "B<modify_ldt>(2), B<set_thread_area>(2)"
6978 msgstr ""
6979
6980 #. type: TH
6981 #: build/C/man3/getcwd.3:30
6982 #, no-wrap
6983 msgid "GETCWD"
6984 msgstr ""
6985
6986 #. type: Plain text
6987 #: build/C/man3/getcwd.3:33
6988 msgid "getcwd, getwd, get_current_dir_name - Get current working directory"
6989 msgstr ""
6990
6991 #. type: Plain text
6992 #: build/C/man3/getcwd.3:38
6993 #, no-wrap
6994 msgid "B<char *getcwd(char *>I<buf>B<, size_t >I<size>B<);>\n"
6995 msgstr ""
6996
6997 #. type: Plain text
6998 #: build/C/man3/getcwd.3:40
6999 #, no-wrap
7000 msgid "B<char *getwd(char *>I<buf>B<);>\n"
7001 msgstr ""
7002
7003 #. type: Plain text
7004 #: build/C/man3/getcwd.3:42
7005 #, no-wrap
7006 msgid "B<char *get_current_dir_name(void);>\n"
7007 msgstr ""
7008
7009 #. type: Plain text
7010 #: build/C/man3/getcwd.3:50
7011 msgid "B<get_current_dir_name>():"
7012 msgstr ""
7013
7014 #. type: Plain text
7015 #: build/C/man3/getcwd.3:55
7016 msgid "B<getwd>():"
7017 msgstr ""
7018
7019 #. type: Plain text
7020 #: build/C/man3/getcwd.3:65 build/C/man3/ualarm.3:49 build/C/man3/usleep.3:57 build/C/man2/vfork.2:52
7021 #, no-wrap
7022 msgid ""
7023 "_BSD_SOURCE ||\n"
7024 "    (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
7025 "        _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
7026 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)\n"
7027 msgstr ""
7028
7029 #. type: Plain text
7030 #: build/C/man3/getcwd.3:70 build/C/man2/getdtablesize.2:54 build/C/man2/getpagesize.2:50 build/C/man3/ualarm.3:54 build/C/man3/usleep.3:62 build/C/man2/vfork.2:57
7031 msgid ""
7032 "Before glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7033 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7034 msgstr ""
7035
7036 #. type: Plain text
7037 #: build/C/man3/getcwd.3:80
7038 msgid ""
7039 "These functions return a null-terminated string containing an absolute "
7040 "pathname that is the current working directory of the calling process.  The "
7041 "pathname is returned as the function result and via the argument I<buf>, if "
7042 "present."
7043 msgstr ""
7044
7045 #. type: Plain text
7046 #: build/C/man3/getcwd.3:88
7047 msgid ""
7048 "The B<getcwd>()  function copies an absolute pathname of the current working "
7049 "directory to the array pointed to by I<buf>, which is of length I<size>."
7050 msgstr ""
7051
7052 #. type: Plain text
7053 #: build/C/man3/getcwd.3:98
7054 msgid ""
7055 "If the length of the absolute pathname of the current working directory, "
7056 "including the terminating null byte, exceeds I<size> bytes, NULL is "
7057 "returned, and I<errno> is set to B<ERANGE>; an application should check for "
7058 "this error, and allocate a larger buffer if necessary."
7059 msgstr ""
7060
7061 #. type: Plain text
7062 #: build/C/man3/getcwd.3:116
7063 msgid ""
7064 "As an extension to the POSIX.1-2001 standard, Linux (libc4, libc5, glibc)  "
7065 "B<getcwd>()  allocates the buffer dynamically using B<malloc>(3)  if I<buf> "
7066 "is NULL.  In this case, the allocated buffer has the length I<size> unless "
7067 "I<size> is zero, when I<buf> is allocated as big as necessary.  The caller "
7068 "should B<free>(3)  the returned buffer."
7069 msgstr ""
7070
7071 #. type: Plain text
7072 #: build/C/man3/getcwd.3:129
7073 msgid ""
7074 "B<get_current_dir_name>()  will B<malloc>(3)  an array big enough to hold "
7075 "the absolute pathname of the current working directory.  If the environment "
7076 "variable B<PWD> is set, and its value is correct, then that value will be "
7077 "returned.  The caller should B<free>(3)  the returned buffer."
7078 msgstr ""
7079
7080 #. type: Plain text
7081 #: build/C/man3/getcwd.3:154
7082 msgid ""
7083 "B<getwd>()  does not B<malloc>(3)  any memory.  The I<buf> argument should "
7084 "be a pointer to an array at least B<PATH_MAX> bytes long.  If the length of "
7085 "the absolute pathname of the current working directory, including the "
7086 "terminating null byte, exceeds B<PATH_MAX> bytes, NULL is returned, and "
7087 "I<errno> is set to B<ENAMETOOLONG>.  (Note that on some systems, B<PATH_MAX> "
7088 "may not be a compile-time constant; furthermore, its value may depend on the "
7089 "file system, see B<pathconf>(3).)  For portability and security reasons, use "
7090 "of B<getwd>()  is deprecated."
7091 msgstr ""
7092
7093 #. type: Plain text
7094 #: build/C/man3/getcwd.3:163
7095 msgid ""
7096 "On success, these functions return a pointer to a string containing the "
7097 "pathname of the current working directory.  In the case B<getcwd>()  and "
7098 "B<getwd>()  this is the same value as I<buf>."
7099 msgstr ""
7100
7101 #. type: Plain text
7102 #: build/C/man3/getcwd.3:170
7103 msgid ""
7104 "On failure, these functions return NULL, and I<errno> is set to indicate the "
7105 "error.  The contents of the array pointed to by I<buf> are undefined on "
7106 "error."
7107 msgstr ""
7108
7109 #. type: Plain text
7110 #: build/C/man3/getcwd.3:174
7111 msgid "Permission to read or search a component of the filename was denied."
7112 msgstr ""
7113
7114 #. type: Plain text
7115 #: build/C/man3/getcwd.3:178
7116 msgid "I<buf> points to a bad address."
7117 msgstr ""
7118
7119 #. type: Plain text
7120 #: build/C/man3/getcwd.3:185
7121 msgid "The I<size> argument is zero and I<buf> is not a NULL pointer."
7122 msgstr ""
7123
7124 #. type: TP
7125 #: build/C/man3/getcwd.3:185
7126 #, no-wrap
7127 msgid "EINVAL"
7128 msgstr ""
7129
7130 #. type: Plain text
7131 #: build/C/man3/getcwd.3:190
7132 msgid "B<getwd>(): I<buf> is NULL."
7133 msgstr ""
7134
7135 #. type: TP
7136 #: build/C/man3/getcwd.3:190
7137 #, no-wrap
7138 msgid "ENAMETOOLONG"
7139 msgstr ""
7140
7141 #. type: Plain text
7142 #: build/C/man3/getcwd.3:196
7143 msgid ""
7144 "B<getwd>(): The size of the null-terminated absolute pathname string exceeds "
7145 "B<PATH_MAX> bytes."
7146 msgstr ""
7147
7148 #. type: Plain text
7149 #: build/C/man3/getcwd.3:199
7150 msgid "The current working directory has been unlinked."
7151 msgstr ""
7152
7153 #. type: TP
7154 #: build/C/man3/getcwd.3:199 build/C/man3/getlogin.3:112
7155 #, no-wrap
7156 msgid "B<ERANGE>"
7157 msgstr ""
7158
7159 #. type: Plain text
7160 #: build/C/man3/getcwd.3:206
7161 msgid ""
7162 "The I<size> argument is less than the length of the absolute pathname of the "
7163 "working directory, including the terminating null byte.  You need to "
7164 "allocate a bigger array and try again."
7165 msgstr ""
7166
7167 #. type: Plain text
7168 #: build/C/man3/getcwd.3:214
7169 msgid ""
7170 "B<getcwd>()  conforms to POSIX.1-2001.  Note however that POSIX.1-2001 "
7171 "leaves the behavior of B<getcwd>()  unspecified if I<buf> is NULL."
7172 msgstr ""
7173
7174 #. type: Plain text
7175 #: build/C/man3/getcwd.3:225
7176 msgid ""
7177 "B<getwd>()  is present in POSIX.1-2001, but marked LEGACY.  POSIX.1-2008 "
7178 "removes the specification of B<getwd>().  Use B<getcwd>()  instead.  "
7179 "POSIX.1-2001 does not define any errors for B<getwd>()."
7180 msgstr ""
7181
7182 #. type: Plain text
7183 #: build/C/man3/getcwd.3:228
7184 msgid "B<get_current_dir_name>()  is a GNU extension."
7185 msgstr ""
7186
7187 #. type: Plain text
7188 #: build/C/man3/getcwd.3:239
7189 msgid ""
7190 "Under Linux, the function B<getcwd>()  is a system call (since 2.1.92).  On "
7191 "older systems it would query I</proc/self/cwd>.  If both system call and "
7192 "proc file system are missing, a generic implementation is called.  Only in "
7193 "that case can these calls fail under Linux with B<EACCES>."
7194 msgstr ""
7195
7196 #. type: Plain text
7197 #: build/C/man3/getcwd.3:247
7198 msgid ""
7199 "These functions are often used to save the location of the current working "
7200 "directory for the purpose of returning to it later.  Opening the current "
7201 "directory (\".\") and calling B<fchdir>(2)  to return is usually a faster "
7202 "and more reliable alternative when sufficiently many file descriptors are "
7203 "available, especially on platforms other than Linux."
7204 msgstr ""
7205
7206 #. type: Plain text
7207 #: build/C/man3/getcwd.3:254
7208 msgid ""
7209 "B<chdir>(2), B<fchdir>(2), B<open>(2), B<unlink>(2), B<free>(3), "
7210 "B<malloc>(3)"
7211 msgstr ""
7212
7213 #. type: TH
7214 #: build/C/man2/getdomainname.2:29
7215 #, no-wrap
7216 msgid "GETDOMAINNAME"
7217 msgstr ""
7218
7219 #. type: TH
7220 #: build/C/man2/getdomainname.2:29
7221 #, no-wrap
7222 msgid "2009-09-27"
7223 msgstr ""
7224
7225 #. type: Plain text
7226 #: build/C/man2/getdomainname.2:32
7227 msgid "getdomainname, setdomainname - get/set domain name"
7228 msgstr ""
7229
7230 #. type: Plain text
7231 #: build/C/man2/getdomainname.2:36
7232 msgid "B<int getdomainname(char *>I<name>B<, size_t >I<len>B<);>"
7233 msgstr ""
7234
7235 #. type: Plain text
7236 #: build/C/man2/getdomainname.2:38
7237 msgid "B<int setdomainname(const char *>I<name>B<, size_t >I<len>B<);>"
7238 msgstr ""
7239
7240 #. type: Plain text
7241 #: build/C/man2/getdomainname.2:47
7242 msgid "B<getdomainname>(), B<setdomainname>():"
7243 msgstr ""
7244
7245 #. type: Plain text
7246 #: build/C/man2/getdomainname.2:49 build/C/man3/gethostid.3:54 build/C/man2/gethostname.2:60 build/C/man3/getusershell.3:53
7247 msgid "_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
7248 msgstr ""
7249
7250 #. type: Plain text
7251 #: build/C/man2/getdomainname.2:54
7252 msgid ""
7253 "These functions are used to access or to change the domain name of the host "
7254 "system."
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: build/C/man2/getdomainname.2:65
7259 msgid ""
7260 "B<setdomainname>()  sets the domain name to the value given in the character "
7261 "array I<name>.  The I<len> argument specifies the number of bytes in "
7262 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7263 msgstr ""
7264
7265 #. type: Plain text
7266 #: build/C/man2/getdomainname.2:75
7267 msgid ""
7268 "B<getdomainname>()  returns the null-terminated domain name in the character "
7269 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7270 "domain name requires more than I<len> bytes, B<getdomainname>()  returns the "
7271 "first I<len> bytes (glibc) or gives an error (libc)."
7272 msgstr ""
7273
7274 #. type: Plain text
7275 #: build/C/man2/getdomainname.2:83
7276 msgid "B<setdomainname>()  can fail with the following errors:"
7277 msgstr ""
7278
7279 #. type: Plain text
7280 #: build/C/man2/getdomainname.2:87
7281 msgid "I<name> pointed outside of user address space."
7282 msgstr ""
7283
7284 #. type: Plain text
7285 #: build/C/man2/getdomainname.2:91
7286 msgid "I<len> was negative or too large."
7287 msgstr ""
7288
7289 #. type: Plain text
7290 #: build/C/man2/getdomainname.2:96
7291 msgid ""
7292 "the caller is unprivileged (Linux: does not have the B<CAP_SYS_ADMIN> "
7293 "capability)."
7294 msgstr ""
7295
7296 #. type: Plain text
7297 #: build/C/man2/getdomainname.2:99
7298 msgid "B<getdomainname>()  can fail with the following errors:"
7299 msgstr ""
7300
7301 #. type: Plain text
7302 #: build/C/man2/getdomainname.2:110
7303 msgid ""
7304 "For B<getdomainname>()  under libc: I<name> is NULL or I<name> is longer "
7305 "than I<len> bytes."
7306 msgstr ""
7307
7308 #.  But they appear on most systems...
7309 #. type: Plain text
7310 #: build/C/man2/getdomainname.2:113
7311 msgid "POSIX does not specify these calls."
7312 msgstr ""
7313
7314 #. type: Plain text
7315 #: build/C/man2/getdomainname.2:117
7316 msgid ""
7317 "Since Linux 1.0, the limit on the length of a domain name, including the "
7318 "terminating null byte, is 64 bytes.  In older kernels, it was 8 bytes."
7319 msgstr ""
7320
7321 #. type: Plain text
7322 #: build/C/man2/getdomainname.2:127
7323 msgid ""
7324 "On most Linux architectures (including x86), there is no B<getdomainname>()  "
7325 "system call; instead, glibc implements B<getdomainname>()  as a library "
7326 "function that returns a copy of the I<domainname> field returned from a call "
7327 "to B<uname>(2)."
7328 msgstr ""
7329
7330 #. type: Plain text
7331 #: build/C/man2/getdomainname.2:131
7332 msgid "B<gethostname>(2), B<sethostname>(2), B<uname>(2)"
7333 msgstr ""
7334
7335 #. type: TH
7336 #: build/C/man2/getdtablesize.2:27
7337 #, no-wrap
7338 msgid "GETDTABLESIZE"
7339 msgstr ""
7340
7341 #. type: Plain text
7342 #: build/C/man2/getdtablesize.2:30
7343 msgid "getdtablesize - get descriptor table size"
7344 msgstr ""
7345
7346 #. type: Plain text
7347 #: build/C/man2/getdtablesize.2:34
7348 msgid "B<int getdtablesize(void);>"
7349 msgstr ""
7350
7351 #. type: Plain text
7352 #: build/C/man2/getdtablesize.2:41
7353 msgid "B<getdtablesize>():"
7354 msgstr ""
7355
7356 #. type: Plain text
7357 #: build/C/man2/getdtablesize.2:49 build/C/man2/getpagesize.2:45
7358 #, no-wrap
7359 msgid ""
7360 "_BSD_SOURCE ||\n"
7361 "    !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
7362 msgstr ""
7363
7364 #. type: Plain text
7365 #: build/C/man2/getdtablesize.2:61
7366 msgid ""
7367 "B<getdtablesize>()  returns the maximum number of files a process can have "
7368 "open, one more than the largest possible value for a file descriptor."
7369 msgstr ""
7370
7371 #. type: Plain text
7372 #: build/C/man2/getdtablesize.2:63
7373 msgid "The current limit on the number of open files per process."
7374 msgstr ""
7375
7376 #. type: Plain text
7377 #: build/C/man2/getdtablesize.2:69
7378 msgid ""
7379 "On Linux, B<getdtablesize>()  can return any of the errors described for "
7380 "B<getrlimit>(2); see NOTES below."
7381 msgstr ""
7382
7383 #. type: Plain text
7384 #: build/C/man2/getdtablesize.2:77
7385 msgid ""
7386 "SVr4, 4.4BSD (the B<getdtablesize>()  function first appeared in 4.2BSD).  "
7387 "It is not specified in POSIX.1-2001; portable applications should employ "
7388 "I<sysconf(_SC_OPEN_MAX)> instead of this call."
7389 msgstr ""
7390
7391 #. type: Plain text
7392 #: build/C/man2/getdtablesize.2:90
7393 msgid ""
7394 "B<getdtablesize>()  is implemented as a libc library function.  The glibc "
7395 "version calls B<getrlimit>(2)  and returns the current B<RLIMIT_NOFILE> "
7396 "limit, or B<OPEN_MAX> when that fails.  The libc4 and libc5 versions return "
7397 "B<OPEN_MAX> (set to 256 since Linux 0.98.4)."
7398 msgstr ""
7399
7400 #. type: Plain text
7401 #: build/C/man2/getdtablesize.2:95
7402 msgid "B<close>(2), B<dup>(2), B<getrlimit>(2), B<open>(2)"
7403 msgstr ""
7404
7405 #. type: TH
7406 #: build/C/man3/gethostid.3:29
7407 #, no-wrap
7408 msgid "GETHOSTID"
7409 msgstr ""
7410
7411 #. type: Plain text
7412 #: build/C/man3/gethostid.3:32
7413 msgid "gethostid, sethostid - get or set the unique identifier of the current host"
7414 msgstr ""
7415
7416 #. type: Plain text
7417 #: build/C/man3/gethostid.3:36
7418 msgid "B<long gethostid(void);>"
7419 msgstr ""
7420
7421 #. type: Plain text
7422 #: build/C/man3/gethostid.3:38
7423 msgid "B<int sethostid(long >I<hostid>B<);>"
7424 msgstr ""
7425
7426 #. type: Plain text
7427 #: build/C/man3/gethostid.3:47
7428 msgid "B<gethostid>():"
7429 msgstr ""
7430
7431 #. type: Plain text
7432 #: build/C/man3/gethostid.3:52
7433 msgid "B<sethostid>():"
7434 msgstr ""
7435
7436 #. type: Plain text
7437 #: build/C/man3/gethostid.3:67
7438 msgid ""
7439 "B<gethostid>()  and B<sethostid>()  respectively get or set a unique 32-bit "
7440 "identifier for the current machine.  The 32-bit identifier is intended to be "
7441 "unique among all UNIX systems in existence.  This normally resembles the "
7442 "Internet address for the local machine, as returned by B<gethostbyname>(3), "
7443 "and thus usually never needs to be set."
7444 msgstr ""
7445
7446 #. type: Plain text
7447 #: build/C/man3/gethostid.3:71
7448 msgid "The B<sethostid>()  call is restricted to the superuser."
7449 msgstr ""
7450
7451 #. type: Plain text
7452 #: build/C/man3/gethostid.3:75
7453 msgid ""
7454 "B<gethostid>()  returns the 32-bit identifier for the current host as set by "
7455 "B<sethostid>()."
7456 msgstr ""
7457
7458 #. type: Plain text
7459 #: build/C/man3/gethostid.3:81
7460 msgid ""
7461 "On success, B<sethostid>()  returns 0; on error, -1 is returned, and "
7462 "I<errno> is set to indicate the error."
7463 msgstr ""
7464
7465 #. type: Plain text
7466 #: build/C/man3/gethostid.3:84
7467 msgid "B<sethostid>()  can fail with the following errors:"
7468 msgstr ""
7469
7470 #. type: Plain text
7471 #: build/C/man3/gethostid.3:88
7472 msgid ""
7473 "The caller did not have permission to write to the file used to store the "
7474 "host ID."
7475 msgstr ""
7476
7477 #. type: Plain text
7478 #: build/C/man3/gethostid.3:92
7479 msgid ""
7480 "The calling process's effective user or group ID is not the same as its "
7481 "corresponding real ID."
7482 msgstr ""
7483
7484 #. type: Plain text
7485 #: build/C/man3/gethostid.3:102
7486 msgid ""
7487 "4.2BSD; these functions were dropped in 4.4BSD.  SVr4 includes "
7488 "B<gethostid>()  but not B<sethostid>().  POSIX.1-2001 specifies "
7489 "B<gethostid>()  but not B<sethostid>()."
7490 msgstr ""
7491
7492 #.  libc5 used /etc/hostid; libc4 didn't have these functions
7493 #. type: Plain text
7494 #: build/C/man3/gethostid.3:111
7495 msgid ""
7496 "In the glibc implementation, the I<hostid> is stored in the file "
7497 "I</etc/hostid>.  (In glibc versions before 2.2, the file I</var/adm/hostid> "
7498 "was used.)"
7499 msgstr ""
7500
7501 #. type: Plain text
7502 #: build/C/man3/gethostid.3:122
7503 msgid ""
7504 "In the glibc implementation, if B<gethostid>()  cannot open the file "
7505 "containing the host ID, then it obtains the hostname using "
7506 "B<gethostname>(2), passes that hostname to B<gethostbyname_r>(3)  in order "
7507 "to obtain the host's IPv4 address, and returns a value obtained by "
7508 "bit-twiddling the IPv4 address.  (This value may not be unique.)"
7509 msgstr ""
7510
7511 #. type: Plain text
7512 #: build/C/man3/gethostid.3:124
7513 msgid "It is impossible to ensure that the identifier is globally unique."
7514 msgstr ""
7515
7516 #. type: Plain text
7517 #: build/C/man3/gethostid.3:127
7518 msgid "B<hostid>(1), B<gethostbyname>(3)"
7519 msgstr ""
7520
7521 #. type: TH
7522 #: build/C/man2/gethostname.2:32
7523 #, no-wrap
7524 msgid "GETHOSTNAME"
7525 msgstr ""
7526
7527 #. type: Plain text
7528 #: build/C/man2/gethostname.2:35
7529 msgid "gethostname, sethostname - get/set hostname"
7530 msgstr ""
7531
7532 #. type: Plain text
7533 #: build/C/man2/gethostname.2:39
7534 msgid "B<int gethostname(char *>I<name>B<, size_t >I<len>B<);>"
7535 msgstr ""
7536
7537 #. type: Plain text
7538 #: build/C/man2/gethostname.2:41
7539 msgid "B<int sethostname(const char *>I<name>B<, size_t >I<len>B<);>"
7540 msgstr ""
7541
7542 #. type: Plain text
7543 #: build/C/man2/gethostname.2:50
7544 msgid "B<gethostname>():"
7545 msgstr ""
7546
7547 #. type: Plain text
7548 #: build/C/man2/gethostname.2:53
7549 msgid "Since glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500"
7550 msgstr ""
7551
7552 #. type: Plain text
7553 #: build/C/man2/gethostname.2:55
7554 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
7555 msgstr ""
7556
7557 #. type: Plain text
7558 #: build/C/man2/gethostname.2:58
7559 msgid "B<sethostname>():"
7560 msgstr ""
7561
7562 #. type: Plain text
7563 #: build/C/man2/gethostname.2:66
7564 msgid ""
7565 "These system calls are used to access or to change the hostname of the "
7566 "current processor."
7567 msgstr ""
7568
7569 #. type: Plain text
7570 #: build/C/man2/gethostname.2:77
7571 msgid ""
7572 "B<sethostname>()  sets the hostname to the value given in the character "
7573 "array I<name>.  The I<len> argument specifies the number of bytes in "
7574 "I<name>.  (Thus, I<name> does not require a terminating null byte.)"
7575 msgstr ""
7576
7577 #. type: Plain text
7578 #: build/C/man2/gethostname.2:89
7579 msgid ""
7580 "B<gethostname>()  returns the null-terminated hostname in the character "
7581 "array I<name>, which has a length of I<len> bytes.  If the null-terminated "
7582 "hostname is too large to fit, then the name is truncated, and no error is "
7583 "returned (but see NOTES below).  POSIX.1-2001 says that if such truncation "
7584 "occurs, then it is unspecified whether the returned buffer includes a "
7585 "terminating null byte."
7586 msgstr ""
7587
7588 #. type: Plain text
7589 #: build/C/man2/gethostname.2:99
7590 msgid "I<name> is an invalid address."
7591 msgstr ""
7592
7593 #.  Can't occur for gethostbyname() wrapper, since 'len' has an
7594 #.  unsigned type; can occur for the underlying system call.
7595 #. type: Plain text
7596 #: build/C/man2/gethostname.2:109
7597 msgid ""
7598 "I<len> is negative or, for B<sethostname>(), I<len> is larger than the "
7599 "maximum allowed size."
7600 msgstr ""
7601
7602 #. type: Plain text
7603 #: build/C/man2/gethostname.2:117
7604 msgid ""
7605 "(glibc B<gethostname>())  I<len> is smaller than the actual size.  (Before "
7606 "version 2.1, glibc uses B<EINVAL> for this case.)"
7607 msgstr ""
7608
7609 #. type: Plain text
7610 #: build/C/man2/gethostname.2:124
7611 msgid ""
7612 "For B<sethostname>(), the caller did not have the B<CAP_SYS_ADMIN> "
7613 "capability."
7614 msgstr ""
7615
7616 #. type: Plain text
7617 #: build/C/man2/gethostname.2:130
7618 msgid ""
7619 "SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD).  POSIX.1-2001 "
7620 "specifies B<gethostname>()  but not B<sethostname>()."
7621 msgstr ""
7622
7623 #. type: Plain text
7624 #: build/C/man2/gethostname.2:140
7625 msgid ""
7626 "SUSv2 guarantees that \"Host names are limited to 255 bytes\".  POSIX.1-2001 "
7627 "guarantees that \"Host names (not including the terminating null byte) are "
7628 "limited to B<HOST_NAME_MAX> bytes\".  On Linux, B<HOST_NAME_MAX> is defined "
7629 "with the value 64, which has been the limit since Linux 1.0 (earlier kernels "
7630 "imposed a limit of 8 bytes)."
7631 msgstr ""
7632
7633 #. type: Plain text
7634 #: build/C/man2/gethostname.2:163
7635 msgid ""
7636 "The GNU C library does not employ the B<gethostname>()  system call; "
7637 "instead, it implements B<gethostname>()  as a library function that calls "
7638 "B<uname>(2)  and copies up to I<len> bytes from the returned I<nodename> "
7639 "field into I<name>.  Having performed the copy, the function then checks if "
7640 "the length of the I<nodename> was greater than or equal to I<len>, and if it "
7641 "is, then the function returns -1 with I<errno> set to B<ENAMETOOLONG>; in "
7642 "this case, a terminating null byte is not included in the returned I<name>."
7643 msgstr ""
7644
7645 #.  At least glibc 2.0 and 2.1, older versions not checked
7646 #. type: Plain text
7647 #: build/C/man2/gethostname.2:176
7648 msgid ""
7649 "Versions of glibc before 2.2 handle the case where the length of the "
7650 "I<nodename> was greater than or equal to I<len> differently: nothing is "
7651 "copied into I<name> and the function returns -1 with I<errno> set to "
7652 "B<ENAMETOOLONG>."
7653 msgstr ""
7654
7655 #. type: Plain text
7656 #: build/C/man2/gethostname.2:180
7657 msgid "B<getdomainname>(2), B<setdomainname>(2), B<uname>(2)"
7658 msgstr ""
7659
7660 #. type: TH
7661 #: build/C/man3/getlogin.3:28
7662 #, no-wrap
7663 msgid "GETLOGIN"
7664 msgstr ""
7665
7666 #. type: TH
7667 #: build/C/man3/getlogin.3:28
7668 #, no-wrap
7669 msgid "2008-06-29"
7670 msgstr ""
7671
7672 #. type: Plain text
7673 #: build/C/man3/getlogin.3:31
7674 msgid "getlogin, getlogin_r, cuserid - get username"
7675 msgstr ""
7676
7677 #. type: Plain text
7678 #: build/C/man3/getlogin.3:35
7679 msgid "B<char *getlogin(void);>"
7680 msgstr ""
7681
7682 #. type: Plain text
7683 #: build/C/man3/getlogin.3:37
7684 msgid "B<int getlogin_r(char *>I<buf>B<, size_t >I<bufsize>B<);>"
7685 msgstr ""
7686
7687 #. type: Plain text
7688 #: build/C/man3/getlogin.3:39
7689 msgid "B<#include E<lt>stdio.hE<gt>>"
7690 msgstr ""
7691
7692 #. type: Plain text
7693 #: build/C/man3/getlogin.3:41
7694 msgid "B<char *cuserid(char *>I<string>B<);>"
7695 msgstr ""
7696
7697 #. type: Plain text
7698 #: build/C/man3/getlogin.3:49
7699 msgid "B<getlogin_r>(): _REENTRANT || _POSIX_C_SOURCE\\ E<gt>=\\ 199506L"
7700 msgstr ""
7701
7702 #. type: Plain text
7703 #: build/C/man3/getlogin.3:52
7704 msgid "B<cuserid>(): _XOPEN_SOURCE"
7705 msgstr ""
7706
7707 #. type: Plain text
7708 #: build/C/man3/getlogin.3:61
7709 msgid ""
7710 "B<getlogin>()  returns a pointer to a string containing the name of the user "
7711 "logged in on the controlling terminal of the process, or a NULL pointer if "
7712 "this information cannot be determined.  The string is statically allocated "
7713 "and might be overwritten on subsequent calls to this function or to "
7714 "B<cuserid>()."
7715 msgstr ""
7716
7717 #. type: Plain text
7718 #: build/C/man3/getlogin.3:67
7719 msgid ""
7720 "B<getlogin_r>()  returns this same username in the array I<buf> of size "
7721 "I<bufsize>."
7722 msgstr ""
7723
7724 #. type: Plain text
7725 #: build/C/man3/getlogin.3:79
7726 msgid ""
7727 "B<cuserid>()  returns a pointer to a string containing a username associated "
7728 "with the effective user ID of the process.  If I<string> is not a NULL "
7729 "pointer, it should be an array that can hold at least B<L_cuserid> "
7730 "characters; the string is returned in this array.  Otherwise, a pointer to a "
7731 "string in a static area is returned.  This string is statically allocated "
7732 "and might be overwritten on subsequent calls to this function or to "
7733 "B<getlogin>()."
7734 msgstr ""
7735
7736 #. type: Plain text
7737 #: build/C/man3/getlogin.3:83
7738 msgid ""
7739 "The macro B<L_cuserid> is an integer constant that indicates how long an "
7740 "array you might need to store a username.  B<L_cuserid> is declared in "
7741 "I<E<lt>stdio.hE<gt>>."
7742 msgstr ""
7743
7744 #. type: Plain text
7745 #: build/C/man3/getlogin.3:90
7746 msgid ""
7747 "These functions let your program identify positively the user who is running "
7748 "(B<cuserid>())  or the user who logged in this session (B<getlogin>()).  "
7749 "(These can differ when set-user-ID programs are involved.)"
7750 msgstr ""
7751
7752 #. type: Plain text
7753 #: build/C/man3/getlogin.3:95
7754 msgid ""
7755 "For most purposes, it is more useful to use the environment variable "
7756 "B<LOGNAME> to find out who the user is.  This is more flexible precisely "
7757 "because the user can set B<LOGNAME> arbitrarily."
7758 msgstr ""
7759
7760 #. type: Plain text
7761 #: build/C/man3/getlogin.3:101
7762 msgid ""
7763 "B<getlogin>()  returns a pointer to the username when successful, and NULL "
7764 "on failure.  B<getlogin_r>()  returns 0 when successful, and nonzero on "
7765 "failure."
7766 msgstr ""
7767
7768 #. type: Plain text
7769 #: build/C/man3/getlogin.3:103
7770 msgid "POSIX specifies"
7771 msgstr ""
7772
7773 #. type: Plain text
7774 #: build/C/man3/getlogin.3:106
7775 msgid "The calling process already has the maximum allowed number of open files."
7776 msgstr ""
7777
7778 #. type: Plain text
7779 #: build/C/man3/getlogin.3:109
7780 msgid "The system already has the maximum allowed number of open files."
7781 msgstr ""
7782
7783 #. type: TP
7784 #: build/C/man3/getlogin.3:109
7785 #, no-wrap
7786 msgid "B<ENXIO>"
7787 msgstr ""
7788
7789 #. type: Plain text
7790 #: build/C/man3/getlogin.3:112
7791 msgid "The calling process has no controlling tty."
7792 msgstr ""
7793
7794 #. type: Plain text
7795 #: build/C/man3/getlogin.3:118
7796 msgid ""
7797 "(getlogin_r)  The length of the username, including the terminating null "
7798 "byte, is larger than I<bufsize>."
7799 msgstr ""
7800
7801 #. type: Plain text
7802 #: build/C/man3/getlogin.3:120
7803 msgid "Linux/glibc also has"
7804 msgstr ""
7805
7806 #. type: Plain text
7807 #: build/C/man3/getlogin.3:123
7808 msgid "There was no corresponding entry in the utmp-file."
7809 msgstr ""
7810
7811 #. type: Plain text
7812 #: build/C/man3/getlogin.3:126
7813 msgid "Insufficient memory to allocate passwd structure."
7814 msgstr ""
7815
7816 #. type: TP
7817 #: build/C/man3/getlogin.3:126 build/C/man2/ioctl.2:105 build/C/man2/ioctl.2:109 build/C/man3/tcgetpgrp.3:90
7818 #, no-wrap
7819 msgid "B<ENOTTY>"
7820 msgstr ""
7821
7822 #. type: Plain text
7823 #: build/C/man3/getlogin.3:130
7824 msgid "Standard input didn't refer to a terminal.  (See BUGS.)"
7825 msgstr ""
7826
7827 #. type: TP
7828 #: build/C/man3/getlogin.3:131
7829 #, no-wrap
7830 msgid "I</etc/passwd>"
7831 msgstr ""
7832
7833 #. type: Plain text
7834 #: build/C/man3/getlogin.3:134
7835 msgid "password database file"
7836 msgstr ""
7837
7838 #. type: TP
7839 #: build/C/man3/getlogin.3:134
7840 #, no-wrap
7841 msgid "I</var/run/utmp>"
7842 msgstr ""
7843
7844 #. type: Plain text
7845 #: build/C/man3/getlogin.3:138
7846 msgid "(traditionally I</etc/utmp>; some libc versions used I</var/adm/utmp>)"
7847 msgstr ""
7848
7849 #. type: Plain text
7850 #: build/C/man3/getlogin.3:143
7851 msgid "B<getlogin>()  and B<getlogin_r>()  specified in POSIX.1-2001."
7852 msgstr ""
7853
7854 #. type: Plain text
7855 #: build/C/man3/getlogin.3:154
7856 msgid ""
7857 "System V has a B<cuserid>()  function which uses the real user ID rather "
7858 "than the effective user ID.  The B<cuserid>()  function was included in the "
7859 "1988 version of POSIX, but removed from the 1990 version.  It was present in "
7860 "SUSv2, but removed in POSIX.1-2001."
7861 msgstr ""
7862
7863 #. type: Plain text
7864 #: build/C/man3/getlogin.3:161
7865 msgid ""
7866 "OpenBSD has B<getlogin>()  and B<setlogin>(), and a username associated with "
7867 "a session, even if it has no controlling tty."
7868 msgstr ""
7869
7870 #. type: Plain text
7871 #: build/C/man3/getlogin.3:173
7872 msgid ""
7873 "Unfortunately, it is often rather easy to fool B<getlogin>().  Sometimes it "
7874 "does not work at all, because some program messed up the utmp file.  Often, "
7875 "it gives only the first 8 characters of the login name.  The user currently "
7876 "logged in on the controlling tty of our program need not be the user who "
7877 "started it.  Avoid B<getlogin>()  for security-related purposes."
7878 msgstr ""
7879
7880 #. type: Plain text
7881 #: build/C/man3/getlogin.3:183
7882 msgid ""
7883 "Note that glibc does not follow the POSIX specification and uses I<stdin> "
7884 "instead of I</dev/tty>.  A bug.  (Other recent systems, like SunOS 5.8 and "
7885 "HP-UX 11.11 and FreeBSD 4.8 all return the login name also when I<stdin> is "
7886 "redirected.)"
7887 msgstr ""
7888
7889 #. type: Plain text
7890 #: build/C/man3/getlogin.3:193
7891 msgid ""
7892 "Nobody knows precisely what B<cuserid>()  does; avoid it in portable "
7893 "programs.  Or avoid it altogether: use I<getpwuid(geteuid())> instead, if "
7894 "that is what you meant.  B<Do not use> B<cuserid>()."
7895 msgstr ""
7896
7897 #. type: Plain text
7898 #: build/C/man3/getlogin.3:197
7899 msgid "B<geteuid>(2), B<getuid>(2), B<utmp>(5)"
7900 msgstr ""
7901
7902 #. type: TH
7903 #: build/C/man3/getopt.3:39
7904 #, no-wrap
7905 msgid "GETOPT"
7906 msgstr ""
7907
7908 #. type: Plain text
7909 #: build/C/man3/getopt.3:43
7910 msgid ""
7911 "getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - "
7912 "Parse command-line options"
7913 msgstr ""
7914
7915 #. type: Plain text
7916 #: build/C/man3/getopt.3:49
7917 #, no-wrap
7918 msgid ""
7919 "B<int getopt(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7920 "B<           const char *>I<optstring>B<);>\n"
7921 msgstr ""
7922
7923 #. type: Plain text
7924 #: build/C/man3/getopt.3:52
7925 #, no-wrap
7926 msgid ""
7927 "B<extern char *>I<optarg>B<;>\n"
7928 "B<extern int >I<optind>B<, >I<opterr>B<, >I<optopt>B<;>\n"
7929 msgstr ""
7930
7931 #. type: Plain text
7932 #: build/C/man3/getopt.3:54
7933 #, no-wrap
7934 msgid "B<#include E<lt>getopt.hE<gt>>\n"
7935 msgstr ""
7936
7937 #. type: Plain text
7938 #: build/C/man3/getopt.3:58
7939 #, no-wrap
7940 msgid ""
7941 "B<int getopt_long(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7942 "B<           const char *>I<optstring>B<,>\n"
7943 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
7944 msgstr ""
7945
7946 #. type: Plain text
7947 #: build/C/man3/getopt.3:62
7948 #, no-wrap
7949 msgid ""
7950 "B<int getopt_long_only(int >I<argc>B<, char * const >I<argv[]>B<,>\n"
7951 "B<           const char *>I<optstring>B<,>\n"
7952 "B<           const struct option *>I<longopts>B<, int *>I<longindex>B<);>\n"
7953 msgstr ""
7954
7955 #. type: Plain text
7956 #: build/C/man3/getopt.3:72
7957 msgid "B<getopt>(): _POSIX_C_SOURCE\\ E<gt>=\\ 2 || _XOPEN_SOURCE"
7958 msgstr ""
7959
7960 #. type: Plain text
7961 #: build/C/man3/getopt.3:76
7962 msgid "B<getopt_long>(), B<getopt_long_only>(): _GNU_SOURCE"
7963 msgstr ""
7964
7965 #. type: Plain text
7966 #: build/C/man3/getopt.3:97
7967 msgid ""
7968 "The B<getopt>()  function parses the command-line arguments.  Its arguments "
7969 "I<argc> and I<argv> are the argument count and array as passed to the "
7970 "I<main>()  function on program invocation.  An element of I<argv> that "
7971 "starts with \\(aq-\\(aq (and is not exactly \"-\" or \"--\")  is an option "
7972 "element.  The characters of this element (aside from the initial "
7973 "\\(aq-\\(aq) are option characters.  If B<getopt>()  is called repeatedly, "
7974 "it returns successively each of the option characters from each of the "
7975 "option elements."
7976 msgstr ""
7977
7978 #. type: Plain text
7979 #: build/C/man3/getopt.3:106
7980 msgid ""
7981 "The variable I<optind> is the index of the next element to be processed in "
7982 "I<argv>.  The system initializes this value to 1.  The caller can reset it "
7983 "to 1 to restart scanning of the same I<argv>, or when scanning a new "
7984 "argument vector."
7985 msgstr ""
7986
7987 #. type: Plain text
7988 #: build/C/man3/getopt.3:116
7989 msgid ""
7990 "If B<getopt>()  finds another option character, it returns that character, "
7991 "updating the external variable I<optind> and a static variable I<nextchar> "
7992 "so that the next call to B<getopt>()  can resume the scan with the following "
7993 "option character or I<argv>-element."
7994 msgstr ""
7995
7996 #. type: Plain text
7997 #: build/C/man3/getopt.3:122
7998 msgid ""
7999 "If there are no more option characters, B<getopt>()  returns -1.  Then "
8000 "I<optind> is the index in I<argv> of the first I<argv>-element that is not "
8001 "an option."
8002 msgstr ""
8003
8004 #. type: Plain text
8005 #: build/C/man3/getopt.3:149
8006 msgid ""
8007 "I<optstring> is a string containing the legitimate option characters.  If "
8008 "such a character is followed by a colon, the option requires an argument, so "
8009 "B<getopt>()  places a pointer to the following text in the same "
8010 "I<argv>-element, or the text of the following I<argv>-element, in "
8011 "I<optarg>.  Two colons mean an option takes an optional arg; if there is "
8012 "text in the current I<argv>-element (i.e., in the same word as the option "
8013 "name itself, for example, \"-oarg\"), then it is returned in I<optarg>, "
8014 "otherwise I<optarg> is set to zero.  This is a GNU extension.  If "
8015 "I<optstring> contains B<W> followed by a semicolon, then B<-W foo> is "
8016 "treated as the long option B<--foo>.  (The B<-W> option is reserved by "
8017 "POSIX.2 for implementation extensions.)  This behavior is a GNU extension, "
8018 "not available with libraries before glibc 2."
8019 msgstr ""
8020
8021 #. type: Plain text
8022 #: build/C/man3/getopt.3:167
8023 msgid ""
8024 "By default, B<getopt>()  permutes the contents of I<argv> as it scans, so "
8025 "that eventually all the nonoptions are at the end.  Two other modes are also "
8026 "implemented.  If the first character of I<optstring> is \\(aq+\\(aq or the "
8027 "environment variable B<POSIXLY_CORRECT> is set, then option processing stops "
8028 "as soon as a nonoption argument is encountered.  If the first character of "
8029 "I<optstring> is \\(aq-\\(aq, then each nonoption I<argv>-element is handled "
8030 "as if it were the argument of an option with character code 1.  (This is "
8031 "used by programs that were written to expect options and other "
8032 "I<argv>-elements in any order and that care about the ordering of the two.)  "
8033 "The special argument \"--\" forces an end of option-scanning regardless of "
8034 "the scanning mode."
8035 msgstr ""
8036
8037 #. type: Plain text
8038 #: build/C/man3/getopt.3:175
8039 msgid ""
8040 "If B<getopt>()  does not recognize an option character, it prints an error "
8041 "message to I<stderr>, stores the character in I<optopt>, and returns "
8042 "\\(aq?\\(aq.  The calling program may prevent the error message by setting "
8043 "I<opterr> to 0."
8044 msgstr ""
8045
8046 #. type: Plain text
8047 #: build/C/man3/getopt.3:194
8048 msgid ""
8049 "If B<getopt>()  finds an option character in I<argv> that was not included "
8050 "in I<optstring>, or if it detects a missing option argument, it returns "
8051 "\\(aq?\\(aq and sets the external variable I<optopt> to the actual option "
8052 "character.  If the first character (following any optional \\(aq+\\(aq or "
8053 "\\(aq-\\(aq described above)  of I<optstring> is a colon (\\(aq:\\(aq), then "
8054 "B<getopt>()  returns \\(aq:\\(aq instead of \\(aq?\\(aq to indicate a "
8055 "missing option argument.  If an error was detected, and the first character "
8056 "of I<optstring> is not a colon, and the external variable I<opterr> is "
8057 "nonzero (which is the default), B<getopt>()  prints an error message."
8058 msgstr ""
8059
8060 #. type: SS
8061 #: build/C/man3/getopt.3:194
8062 #, no-wrap
8063 msgid "getopt_long() and getopt_long_only()"
8064 msgstr ""
8065
8066 #. type: Plain text
8067 #: build/C/man3/getopt.3:210
8068 msgid ""
8069 "The B<getopt_long>()  function works like B<getopt>()  except that it also "
8070 "accepts long options, started with two dashes.  (If the program accepts only "
8071 "long options, then I<optstring> should be specified as an empty string "
8072 "(\"\"), not NULL.)  Long option names may be abbreviated if the abbreviation "
8073 "is unique or is an exact match for some defined option.  A long option may "
8074 "take a parameter, of the form B<--arg=param> or B<--arg param>."
8075 msgstr ""
8076
8077 #. type: Plain text
8078 #: build/C/man3/getopt.3:217
8079 msgid ""
8080 "I<longopts> is a pointer to the first element of an array of I<struct "
8081 "option> declared in I<E<lt>getopt.hE<gt>> as"
8082 msgstr ""
8083
8084 #. type: Plain text
8085 #: build/C/man3/getopt.3:226
8086 #, no-wrap
8087 msgid ""
8088 "struct option {\n"
8089 "    const char *name;\n"
8090 "    int         has_arg;\n"
8091 "    int        *flag;\n"
8092 "    int         val;\n"
8093 "};\n"
8094 msgstr ""
8095
8096 #. type: Plain text
8097 #: build/C/man3/getopt.3:230
8098 msgid "The meanings of the different fields are:"
8099 msgstr ""
8100
8101 #. type: TP
8102 #: build/C/man3/getopt.3:230
8103 #, no-wrap
8104 msgid "I<name>"
8105 msgstr ""
8106
8107 #. type: Plain text
8108 #: build/C/man3/getopt.3:233
8109 msgid "is the name of the long option."
8110 msgstr ""
8111
8112 #. type: TP
8113 #: build/C/man3/getopt.3:233
8114 #, no-wrap
8115 msgid "I<has_arg>"
8116 msgstr ""
8117
8118 #. type: Plain text
8119 #: build/C/man3/getopt.3:239
8120 msgid ""
8121 "is: B<no_argument> (or 0) if the option does not take an argument; "
8122 "B<required_argument> (or 1) if the option requires an argument; or "
8123 "B<optional_argument> (or 2) if the option takes an optional argument."
8124 msgstr ""
8125
8126 #. type: TP
8127 #: build/C/man3/getopt.3:239
8128 #, no-wrap
8129 msgid "I<flag>"
8130 msgstr ""
8131
8132 #. type: Plain text
8133 #: build/C/man3/getopt.3:253
8134 msgid ""
8135 "specifies how results are returned for a long option.  If I<flag> is NULL, "
8136 "then B<getopt_long>()  returns I<val>.  (For example, the calling program "
8137 "may set I<val> to the equivalent short option character.)  Otherwise, "
8138 "B<getopt_long>()  returns 0, and I<flag> points to a variable which is set "
8139 "to I<val> if the option is found, but left unchanged if the option is not "
8140 "found."
8141 msgstr ""
8142
8143 #. type: TP
8144 #: build/C/man3/getopt.3:253
8145 #, no-wrap
8146 msgid "I<val>"
8147 msgstr ""
8148
8149 #. type: Plain text
8150 #: build/C/man3/getopt.3:257
8151 msgid "is the value to return, or to load into the variable pointed to by I<flag>."
8152 msgstr ""
8153
8154 #. type: Plain text
8155 #: build/C/man3/getopt.3:259
8156 msgid "The last element of the array has to be filled with zeros."
8157 msgstr ""
8158
8159 #. type: Plain text
8160 #: build/C/man3/getopt.3:263
8161 msgid ""
8162 "If I<longindex> is not NULL, it points to a variable which is set to the "
8163 "index of the long option relative to I<longopts>."
8164 msgstr ""
8165
8166 #. type: Plain text
8167 #: build/C/man3/getopt.3:272
8168 msgid ""
8169 "B<getopt_long_only>()  is like B<getopt_long>(), but \\(aq-\\(aq as well as "
8170 "\"--\" can indicate a long option.  If an option that starts with "
8171 "\\(aq-\\(aq (not \"--\") doesn't match a long option, but does match a short "
8172 "option, it is parsed as a short option instead."
8173 msgstr ""
8174
8175 #. type: Plain text
8176 #: build/C/man3/getopt.3:290
8177 msgid ""
8178 "If an option was successfully found, then B<getopt>()  returns the option "
8179 "character.  If all command-line options have been parsed, then B<getopt>()  "
8180 "returns -1.  If B<getopt>()  encounters an option character that was not in "
8181 "I<optstring>, then \\(aq?\\(aq is returned.  If B<getopt>()  encounters an "
8182 "option with a missing argument, then the return value depends on the first "
8183 "character in I<optstring>: if it is \\(aq:\\(aq, then \\(aq:\\(aq is "
8184 "returned; otherwise \\(aq?\\(aq is returned."
8185 msgstr ""
8186
8187 #. type: Plain text
8188 #: build/C/man3/getopt.3:302
8189 msgid ""
8190 "B<getopt_long>()  and B<getopt_long_only>()  also return the option "
8191 "character when a short option is recognized.  For a long option, they return "
8192 "I<val> if I<flag> is NULL, and 0 otherwise.  Error and -1 returns are the "
8193 "same as for B<getopt>(), plus \\(aq?\\(aq for an ambiguous match or an "
8194 "extraneous parameter."
8195 msgstr ""
8196
8197 #. type: SH
8198 #: build/C/man3/getopt.3:302
8199 #, no-wrap
8200 msgid "ENVIRONMENT"
8201 msgstr ""
8202
8203 #. type: TP
8204 #: build/C/man3/getopt.3:303
8205 #, no-wrap
8206 msgid "B<POSIXLY_CORRECT>"
8207 msgstr ""
8208
8209 #. type: Plain text
8210 #: build/C/man3/getopt.3:307
8211 msgid ""
8212 "If this is set, then option processing stops as soon as a nonoption argument "
8213 "is encountered."
8214 msgstr ""
8215
8216 #. type: TP
8217 #: build/C/man3/getopt.3:307
8218 #, no-wrap
8219 msgid "B<_E<lt>PIDE<gt>_GNU_nonoption_argv_flags_>"
8220 msgstr ""
8221
8222 #. type: Plain text
8223 #: build/C/man3/getopt.3:316
8224 msgid ""
8225 "This variable was used by B<bash>(1)  2.0 to communicate to glibc which "
8226 "arguments are the results of wildcard expansion and so should not be "
8227 "considered as options.  This behavior was removed in B<bash>(1)  version "
8228 "2.01, but the support remains in glibc."
8229 msgstr ""
8230
8231 #. type: TP
8232 #: build/C/man3/getopt.3:317
8233 #, no-wrap
8234 msgid "B<getopt>():"
8235 msgstr ""
8236
8237 #. type: Plain text
8238 #: build/C/man3/getopt.3:327
8239 msgid ""
8240 "POSIX.2 and POSIX.1-2001, provided the environment variable "
8241 "B<POSIXLY_CORRECT> is set.  Otherwise, the elements of I<argv> aren't really "
8242 "const, because we permute them.  We pretend they're const in the prototype "
8243 "to be compatible with other systems."
8244 msgstr ""
8245
8246 #. type: Plain text
8247 #: build/C/man3/getopt.3:331
8248 msgid "The use of \\(aq+\\(aq and \\(aq-\\(aq in I<optstring> is a GNU extension."
8249 msgstr ""
8250
8251 #. type: Plain text
8252 #: build/C/man3/getopt.3:345
8253 msgid ""
8254 "On some older implementations, B<getopt>()  was declared in "
8255 "I<E<lt>stdio.hE<gt>>.  SUSv1 permitted the declaration to appear in either "
8256 "I<E<lt>unistd.hE<gt>> or I<E<lt>stdio.hE<gt>>.  POSIX.1-2001 marked the use "
8257 "of I<E<lt>stdio.hE<gt>> for this purpose as LEGACY.  POSIX.1-2001 does not "
8258 "allow the declaration to appear in I<E<lt>stdio.hE<gt>>."
8259 msgstr ""
8260
8261 #. type: TP
8262 #: build/C/man3/getopt.3:345
8263 #, no-wrap
8264 msgid "B<getopt_long>() and B<getopt_long_only>():"
8265 msgstr ""
8266
8267 #. type: Plain text
8268 #: build/C/man3/getopt.3:367
8269 msgid ""
8270 "A program that scans multiple argument vectors, or rescans the same vector "
8271 "more than once, and wants to make use of GNU extensions such as \\(aq+\\(aq "
8272 "and \\(aq-\\(aq at the start of I<optstring>, or changes the value of "
8273 "B<POSIXLY_CORRECT> between scans, must reinitialize B<getopt>()  by "
8274 "resetting I<optind> to 0, rather than the traditional value of 1.  "
8275 "(Resetting to 0 forces the invocation of an internal initialization routine "
8276 "that rechecks B<POSIXLY_CORRECT> and checks for GNU extensions in "
8277 "I<optstring>.)"
8278 msgstr ""
8279
8280 #. type: Plain text
8281 #: build/C/man3/getopt.3:374
8282 msgid ""
8283 "The POSIX.2 specification of B<getopt>()  has a technical error described in "
8284 "POSIX.2 Interpretation 150.  The GNU implementation (and probably all other "
8285 "implementations) implements the correct behavior rather than that specified."
8286 msgstr ""
8287
8288 #. type: Plain text
8289 #: build/C/man3/getopt.3:382
8290 msgid ""
8291 "The following trivial example program uses B<getopt>()  to handle two "
8292 "program options: I<-n>, with no associated value; and I<-t val>, which "
8293 "expects an associated value."
8294 msgstr ""
8295
8296 #. type: Plain text
8297 #: build/C/man3/getopt.3:387
8298 #, no-wrap
8299 msgid ""
8300 "#include E<lt>unistd.hE<gt>\n"
8301 "#include E<lt>stdlib.hE<gt>\n"
8302 "#include E<lt>stdio.hE<gt>\n"
8303 msgstr ""
8304
8305 #. type: Plain text
8306 #: build/C/man3/getopt.3:393
8307 #, no-wrap
8308 msgid ""
8309 "int\n"
8310 "main(int argc, char *argv[])\n"
8311 "{\n"
8312 "    int flags, opt;\n"
8313 "    int nsecs, tfnd;\n"
8314 msgstr ""
8315
8316 #. type: Plain text
8317 #: build/C/man3/getopt.3:412
8318 #, no-wrap
8319 msgid ""
8320 "    nsecs = 0;\n"
8321 "    tfnd = 0;\n"
8322 "    flags = 0;\n"
8323 "    while ((opt = getopt(argc, argv, \"nt:\")) != -1) {\n"
8324 "        switch (opt) {\n"
8325 "        case \\(aqn\\(aq:\n"
8326 "            flags = 1;\n"
8327 "            break;\n"
8328 "        case \\(aqt\\(aq:\n"
8329 "            nsecs = atoi(optarg);\n"
8330 "            tfnd = 1;\n"
8331 "            break;\n"
8332 "        default: /* \\(aq?\\(aq */\n"
8333 "            fprintf(stderr, \"Usage: %s [-t nsecs] [-n] name\\en\",\n"
8334 "                    argv[0]);\n"
8335 "            exit(EXIT_FAILURE);\n"
8336 "        }\n"
8337 "    }\n"
8338 msgstr ""
8339
8340 #. type: Plain text
8341 #: build/C/man3/getopt.3:414
8342 #, no-wrap
8343 msgid "    printf(\"flags=%d; tfnd=%d; optind=%d\\en\", flags, tfnd, optind);\n"
8344 msgstr ""
8345
8346 #. type: Plain text
8347 #: build/C/man3/getopt.3:419
8348 #, no-wrap
8349 msgid ""
8350 "    if (optind E<gt>= argc) {\n"
8351 "        fprintf(stderr, \"Expected argument after options\\en\");\n"
8352 "        exit(EXIT_FAILURE);\n"
8353 "    }\n"
8354 msgstr ""
8355
8356 #. type: Plain text
8357 #: build/C/man3/getopt.3:421
8358 #, no-wrap
8359 msgid "    printf(\"name argument = %s\\en\", argv[optind]);\n"
8360 msgstr ""
8361
8362 #. type: Plain text
8363 #: build/C/man3/getopt.3:423
8364 #, no-wrap
8365 msgid "    /* Other code omitted */\n"
8366 msgstr ""
8367
8368 #. type: Plain text
8369 #: build/C/man3/getopt.3:431
8370 msgid ""
8371 "The following example program illustrates the use of B<getopt_long>()  with "
8372 "most of its features."
8373 msgstr ""
8374
8375 #. type: Plain text
8376 #: build/C/man3/getopt.3:436
8377 #, no-wrap
8378 msgid ""
8379 "#include E<lt>stdio.hE<gt>     /* for printf */\n"
8380 "#include E<lt>stdlib.hE<gt>    /* for exit */\n"
8381 "#include E<lt>getopt.hE<gt>\n"
8382 msgstr ""
8383
8384 #. type: Plain text
8385 #: build/C/man3/getopt.3:442
8386 #, no-wrap
8387 msgid ""
8388 "int\n"
8389 "main(int argc, char **argv)\n"
8390 "{\n"
8391 "    int c;\n"
8392 "    int digit_optind = 0;\n"
8393 msgstr ""
8394
8395 #. type: Plain text
8396 #: build/C/man3/getopt.3:455
8397 #, no-wrap
8398 msgid ""
8399 "    while (1) {\n"
8400 "        int this_option_optind = optind ? optind : 1;\n"
8401 "        int option_index = 0;\n"
8402 "        static struct option long_options[] = {\n"
8403 "            {\"add\",     required_argument, 0,  0 },\n"
8404 "            {\"append\",  no_argument,       0,  0 },\n"
8405 "            {\"delete\",  required_argument, 0,  0 },\n"
8406 "            {\"verbose\", no_argument,       0,  0 },\n"
8407 "            {\"create\",  required_argument, 0, \\(aqc\\(aq},\n"
8408 "            {\"file\",    required_argument, 0,  0 },\n"
8409 "            {0,         0,                 0,  0 }\n"
8410 "        };\n"
8411 msgstr ""
8412
8413 #. type: Plain text
8414 #: build/C/man3/getopt.3:460
8415 #, no-wrap
8416 msgid ""
8417 "        c = getopt_long(argc, argv, \"abc:d:012\",\n"
8418 "                 long_options, &option_index);\n"
8419 "        if (c == -1)\n"
8420 "            break;\n"
8421 msgstr ""
8422
8423 #. type: Plain text
8424 #: build/C/man3/getopt.3:468
8425 #, no-wrap
8426 msgid ""
8427 "        switch (c) {\n"
8428 "        case 0:\n"
8429 "            printf(\"option %s\", long_options[option_index].name);\n"
8430 "            if (optarg)\n"
8431 "                printf(\" with arg %s\", optarg);\n"
8432 "            printf(\"\\en\");\n"
8433 "            break;\n"
8434 msgstr ""
8435
8436 #. type: Plain text
8437 #: build/C/man3/getopt.3:477
8438 #, no-wrap
8439 msgid ""
8440 "        case \\(aq0\\(aq:\n"
8441 "        case \\(aq1\\(aq:\n"
8442 "        case \\(aq2\\(aq:\n"
8443 "            if (digit_optind != 0 && digit_optind != this_option_optind)\n"
8444 "              printf(\"digits occur in two different "
8445 "argv-elements.\\en\");\n"
8446 "            digit_optind = this_option_optind;\n"
8447 "            printf(\"option %c\\en\", c);\n"
8448 "            break;\n"
8449 msgstr ""
8450
8451 #. type: Plain text
8452 #: build/C/man3/getopt.3:481
8453 #, no-wrap
8454 msgid ""
8455 "        case \\(aqa\\(aq:\n"
8456 "            printf(\"option a\\en\");\n"
8457 "            break;\n"
8458 msgstr ""
8459
8460 #. type: Plain text
8461 #: build/C/man3/getopt.3:485
8462 #, no-wrap
8463 msgid ""
8464 "        case \\(aqb\\(aq:\n"
8465 "            printf(\"option b\\en\");\n"
8466 "            break;\n"
8467 msgstr ""
8468
8469 #. type: Plain text
8470 #: build/C/man3/getopt.3:489
8471 #, no-wrap
8472 msgid ""
8473 "        case \\(aqc\\(aq:\n"
8474 "            printf(\"option c with value \\(aq%s\\(aq\\en\", optarg);\n"
8475 "            break;\n"
8476 msgstr ""
8477
8478 #. type: Plain text
8479 #: build/C/man3/getopt.3:493
8480 #, no-wrap
8481 msgid ""
8482 "        case \\(aqd\\(aq:\n"
8483 "            printf(\"option d with value \\(aq%s\\(aq\\en\", optarg);\n"
8484 "            break;\n"
8485 msgstr ""
8486
8487 #. type: Plain text
8488 #: build/C/man3/getopt.3:496
8489 #, no-wrap
8490 msgid ""
8491 "        case \\(aq?\\(aq:\n"
8492 "            break;\n"
8493 msgstr ""
8494
8495 #. type: Plain text
8496 #: build/C/man3/getopt.3:501
8497 #, no-wrap
8498 msgid ""
8499 "        default:\n"
8500 "            printf(\"?? getopt returned character code 0%o ??\\en\", c);\n"
8501 "        }\n"
8502 "    }\n"
8503 msgstr ""
8504
8505 #. type: Plain text
8506 #: build/C/man3/getopt.3:508
8507 #, no-wrap
8508 msgid ""
8509 "    if (optind E<lt> argc) {\n"
8510 "        printf(\"non-option ARGV-elements: \");\n"
8511 "        while (optind E<lt> argc)\n"
8512 "            printf(\"%s \", argv[optind++]);\n"
8513 "        printf(\"\\en\");\n"
8514 "    }\n"
8515 msgstr ""
8516
8517 #. type: Plain text
8518 #: build/C/man3/getopt.3:514
8519 msgid "B<getsubopt>(3)"
8520 msgstr ""
8521
8522 #. type: TH
8523 #: build/C/man2/getpagesize.2:23
8524 #, no-wrap
8525 msgid "GETPAGESIZE"
8526 msgstr ""
8527
8528 #. type: TH
8529 #: build/C/man2/getpagesize.2:23
8530 #, no-wrap
8531 msgid "2010-11-16"
8532 msgstr ""
8533
8534 #. type: Plain text
8535 #: build/C/man2/getpagesize.2:26
8536 msgid "getpagesize - get memory page size"
8537 msgstr ""
8538
8539 #. type: Plain text
8540 #: build/C/man2/getpagesize.2:30
8541 msgid "B<int getpagesize(void);>"
8542 msgstr ""
8543
8544 #. type: Plain text
8545 #: build/C/man2/getpagesize.2:37
8546 msgid "B<getpagesize>():"
8547 msgstr ""
8548
8549 #.  .SH HISTORY
8550 #.  This call first appeared in 4.2BSD.
8551 #. type: Plain text
8552 #: build/C/man2/getpagesize.2:62
8553 msgid ""
8554 "The function B<getpagesize>()  returns the number of bytes in a memory page, "
8555 "where \"page\" is a fixed-length block, the unit for memory allocation and "
8556 "file mapping performed by B<mmap>(2)."
8557 msgstr ""
8558
8559 #. type: Plain text
8560 #: build/C/man2/getpagesize.2:69
8561 msgid ""
8562 "SVr4, 4.4BSD, SUSv2.  In SUSv2 the B<getpagesize>()  call is labeled LEGACY, "
8563 "and in POSIX.1-2001 it has been dropped; HP-UX does not have this call."
8564 msgstr ""
8565
8566 #. type: Plain text
8567 #: build/C/man2/getpagesize.2:74
8568 msgid ""
8569 "Portable applications should employ I<sysconf(_SC_PAGESIZE)> instead of "
8570 "B<getpagesize>():"
8571 msgstr ""
8572
8573 #. type: Plain text
8574 #: build/C/man2/getpagesize.2:79
8575 #, no-wrap
8576 msgid ""
8577 "#include E<lt>unistd.hE<gt>\n"
8578 "long sz = sysconf(_SC_PAGESIZE);\n"
8579 msgstr ""
8580
8581 #. type: Plain text
8582 #: build/C/man2/getpagesize.2:86
8583 msgid "(Most systems allow the synonym B<_SC_PAGE_SIZE> for B<_SC_PAGESIZE>.)"
8584 msgstr ""
8585
8586 #. type: Plain text
8587 #: build/C/man2/getpagesize.2:106
8588 msgid ""
8589 "Whether B<getpagesize>()  is present as a Linux system call depends on the "
8590 "architecture.  If it is, it returns the kernel symbol B<PAGE_SIZE>, whose "
8591 "value depends on the architecture and machine model.  Generally, one uses "
8592 "binaries that are dependent on the architecture but not on the machine "
8593 "model, in order to have a single binary distribution per architecture.  This "
8594 "means that a user program should not find B<PAGE_SIZE> at compile time from "
8595 "a header file, but use an actual system call, at least for those "
8596 "architectures (like sun4) where this dependency exists.  Here libc4, libc5, "
8597 "glibc 2.0 fail because their B<getpagesize>()  returns a statically derived "
8598 "value, and does not use a system call.  Things are OK in glibc 2.1."
8599 msgstr ""
8600
8601 #. type: Plain text
8602 #: build/C/man2/getpagesize.2:109
8603 msgid "B<mmap>(2), B<sysconf>(3)"
8604 msgstr ""
8605
8606 #. type: TH
8607 #: build/C/man2/gettid.2:26
8608 #, no-wrap
8609 msgid "GETTID"
8610 msgstr ""
8611
8612 #. type: TH
8613 #: build/C/man2/gettid.2:26
8614 #, no-wrap
8615 msgid "2008-04-14"
8616 msgstr ""
8617
8618 #. type: Plain text
8619 #: build/C/man2/gettid.2:29
8620 msgid "gettid - get thread identification"
8621 msgstr ""
8622
8623 #. type: Plain text
8624 #: build/C/man2/gettid.2:32
8625 #, no-wrap
8626 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
8627 msgstr ""
8628
8629 #. type: Plain text
8630 #: build/C/man2/gettid.2:34
8631 #, no-wrap
8632 msgid "B<pid_t gettid(void);>\n"
8633 msgstr ""
8634
8635 #. type: Plain text
8636 #: build/C/man2/gettid.2:47
8637 msgid ""
8638 "B<gettid>()  returns the caller's thread ID (TID).  In a single-threaded "
8639 "process, the thread ID is equal to the process ID (PID, as returned by "
8640 "B<getpid>(2)).  In a multithreaded process, all threads have the same PID, "
8641 "but each one has a unique TID.  For further details, see the discussion of "
8642 "B<CLONE_THREAD> in B<clone>(2)."
8643 msgstr ""
8644
8645 #. type: Plain text
8646 #: build/C/man2/gettid.2:49
8647 msgid "On success, returns the thread ID of the calling process."
8648 msgstr ""
8649
8650 #. type: Plain text
8651 #: build/C/man2/gettid.2:51
8652 msgid "This call is always successful."
8653 msgstr ""
8654
8655 #. type: Plain text
8656 #: build/C/man2/gettid.2:55
8657 msgid "The B<gettid>()  system call first appeared on Linux in kernel 2.4.11."
8658 msgstr ""
8659
8660 #. type: Plain text
8661 #: build/C/man2/gettid.2:59
8662 msgid ""
8663 "B<gettid>()  is Linux-specific and should not be used in programs that are "
8664 "intended to be portable."
8665 msgstr ""
8666
8667 #. type: Plain text
8668 #: build/C/man2/gettid.2:68
8669 msgid ""
8670 "The thread ID returned by this call is not the same thing as a POSIX thread "
8671 "ID (i.e., the opaque value returned by B<pthread_self>(3))."
8672 msgstr ""
8673
8674 #. type: Plain text
8675 #: build/C/man2/gettid.2:72
8676 msgid "B<clone>(2), B<fork>(2), B<getpid>(2)"
8677 msgstr ""
8678
8679 #. type: TH
8680 #: build/C/man3/getumask.3:26
8681 #, no-wrap
8682 msgid "GETUMASK"
8683 msgstr ""
8684
8685 #. type: TH
8686 #: build/C/man3/getumask.3:26
8687 #, no-wrap
8688 msgid "2010-09-10"
8689 msgstr ""
8690
8691 #. type: Plain text
8692 #: build/C/man3/getumask.3:29
8693 msgid "getumask - get file creation mask"
8694 msgstr ""
8695
8696 #. type: Plain text
8697 #: build/C/man3/getumask.3:33 build/C/man2/truncate.2:48 build/C/man2/umask.2:39 build/C/man2/vfork.2:31
8698 msgid "B<#include E<lt>sys/types.hE<gt>>"
8699 msgstr ""
8700
8701 #. type: Plain text
8702 #: build/C/man3/getumask.3:37
8703 msgid "B<mode_t getumask(void);>"
8704 msgstr ""
8705
8706 #. type: Plain text
8707 #: build/C/man3/getumask.3:40
8708 msgid "This function returns the current file creation mask.  It is equivalent to"
8709 msgstr ""
8710
8711 #. type: Plain text
8712 #: build/C/man3/getumask.3:49
8713 #, no-wrap
8714 msgid ""
8715 "mode_t getumask(void)\n"
8716 "{\n"
8717 "    mode_t mask = umask( 0 );\n"
8718 "    umask(mask);\n"
8719 "    return mask;\n"
8720 "}\n"
8721 msgstr ""
8722
8723 #. type: Plain text
8724 #: build/C/man3/getumask.3:56
8725 msgid ""
8726 "except that it is documented to be thread-safe (that is, shares a lock with "
8727 "the B<umask>(2)  library call)."
8728 msgstr ""
8729
8730 #. type: Plain text
8731 #: build/C/man3/getumask.3:58
8732 msgid "This is a vaporware GNU extension."
8733 msgstr ""
8734
8735 #. type: Plain text
8736 #: build/C/man3/getumask.3:61
8737 msgid ""
8738 "This function is documented but not implemented yet in glibc, as at version "
8739 "2.9."
8740 msgstr ""
8741
8742 #. type: Plain text
8743 #: build/C/man3/getumask.3:63
8744 msgid "B<umask>(2)"
8745 msgstr ""
8746
8747 #. type: TH
8748 #: build/C/man3/getusershell.3:28
8749 #, no-wrap
8750 msgid "GETUSERSHELL"
8751 msgstr ""
8752
8753 #. type: TH
8754 #: build/C/man3/getusershell.3:28 build/C/man2/nice.2:31 build/C/man2/syscall.2:38 build/C/man2/vhangup.2:27
8755 #, no-wrap
8756 msgid "2007-07-26"
8757 msgstr ""
8758
8759 #. type: Plain text
8760 #: build/C/man3/getusershell.3:31
8761 msgid "getusershell, setusershell, endusershell - get permitted user shells"
8762 msgstr ""
8763
8764 #. type: Plain text
8765 #: build/C/man3/getusershell.3:36
8766 #, no-wrap
8767 msgid "B<char *getusershell(void);>\n"
8768 msgstr ""
8769
8770 #. type: Plain text
8771 #: build/C/man3/getusershell.3:38
8772 #, no-wrap
8773 msgid "B<void setusershell(void);>\n"
8774 msgstr ""
8775
8776 #. type: Plain text
8777 #: build/C/man3/getusershell.3:40
8778 #, no-wrap
8779 msgid "B<void endusershell(void);>\n"
8780 msgstr ""
8781
8782 #. type: Plain text
8783 #: build/C/man3/getusershell.3:51
8784 msgid "B<getusershell>(), B<setusershell>(), B<endusershell>():"
8785 msgstr ""
8786
8787 #. type: Plain text
8788 #: build/C/man3/getusershell.3:67
8789 msgid ""
8790 "The B<getusershell>()  function returns the next line from the file "
8791 "I</etc/shells>, opening the file if necessary.  The line should contain the "
8792 "pathname of a valid user shell.  If I</etc/shells> does not exist or is "
8793 "unreadable, B<getusershell>()  behaves as if I</bin/sh> and I</bin/csh> were "
8794 "listed in the file."
8795 msgstr ""
8796
8797 #. type: Plain text
8798 #: build/C/man3/getusershell.3:71
8799 msgid "The B<setusershell>()  function rewinds I</etc/shells>."
8800 msgstr ""
8801
8802 #. type: Plain text
8803 #: build/C/man3/getusershell.3:75
8804 msgid "The B<endusershell>()  function closes I</etc/shells>."
8805 msgstr ""
8806
8807 #. type: Plain text
8808 #: build/C/man3/getusershell.3:79
8809 msgid "The B<getusershell>()  function returns a NULL pointer on end-of-file."
8810 msgstr ""
8811
8812 #. type: Plain text
8813 #: build/C/man3/getusershell.3:82
8814 #, no-wrap
8815 msgid "/etc/shells\n"
8816 msgstr ""
8817
8818 #. type: Plain text
8819 #: build/C/man3/getusershell.3:85
8820 msgid "4.3BSD."
8821 msgstr ""
8822
8823 #. type: Plain text
8824 #: build/C/man3/getusershell.3:87
8825 msgid "B<shells>(5)"
8826 msgstr ""
8827
8828 #. type: TH
8829 #: build/C/man2/idle.2:32
8830 #, no-wrap
8831 msgid "IDLE"
8832 msgstr ""
8833
8834 #. type: TH
8835 #: build/C/man2/idle.2:32
8836 #, no-wrap
8837 msgid "1994-08-21"
8838 msgstr ""
8839
8840 #. type: Plain text
8841 #: build/C/man2/idle.2:35
8842 msgid "idle - make process 0 idle"
8843 msgstr ""
8844
8845 #. type: Plain text
8846 #: build/C/man2/idle.2:39
8847 msgid "B<int idle(void);>"
8848 msgstr ""
8849
8850 #. type: Plain text
8851 #: build/C/man2/idle.2:46
8852 msgid ""
8853 "B<idle>()  is an internal system call used during bootstrap.  It marks the "
8854 "process's pages as swappable, lowers its priority, and enters the main "
8855 "scheduling loop.  B<idle>()  never returns."
8856 msgstr ""
8857
8858 #. type: Plain text
8859 #: build/C/man2/idle.2:52
8860 msgid ""
8861 "Only process 0 may call B<idle>().  Any user process, even a process with "
8862 "superuser permission, will receive B<EPERM>."
8863 msgstr ""
8864
8865 #. type: Plain text
8866 #: build/C/man2/idle.2:55
8867 msgid ""
8868 "B<idle>()  never returns for process 0, and always returns -1 for a user "
8869 "process."
8870 msgstr ""
8871
8872 #. type: Plain text
8873 #: build/C/man2/idle.2:59 build/C/man2/setup.2:60
8874 msgid "Always, for a user process."
8875 msgstr ""
8876
8877 #. type: Plain text
8878 #: build/C/man2/idle.2:61
8879 msgid "Since 2.3.13 this system call does not exist anymore."
8880 msgstr ""
8881
8882 #. type: Plain text
8883 #: build/C/man2/idle.2:64 build/C/man2/sysinfo.2:86
8884 msgid ""
8885 "This function is Linux-specific, and should not be used in programs intended "
8886 "to be portable."
8887 msgstr ""
8888
8889 #. type: TH
8890 #: build/C/man2/ioctl.2:39
8891 #, no-wrap
8892 msgid "IOCTL"
8893 msgstr ""
8894
8895 #. type: TH
8896 #: build/C/man2/ioctl.2:39
8897 #, no-wrap
8898 msgid "2000-09-21"
8899 msgstr ""
8900
8901 #. type: Plain text
8902 #: build/C/man2/ioctl.2:42
8903 msgid "ioctl - control device"
8904 msgstr ""
8905
8906 #. type: Plain text
8907 #: build/C/man2/ioctl.2:44
8908 msgid "B<#include E<lt>sys/ioctl.hE<gt>>"
8909 msgstr ""
8910
8911 #. type: Plain text
8912 #: build/C/man2/ioctl.2:46
8913 msgid "B<int ioctl(int >I<d>B<, int >I<request>B<, ...);>"
8914 msgstr ""
8915
8916 #. type: Plain text
8917 #: build/C/man2/ioctl.2:57
8918 msgid ""
8919 "The B<ioctl>()  function manipulates the underlying device parameters of "
8920 "special files.  In particular, many operating characteristics of character "
8921 "special files (e.g., terminals) may be controlled with B<ioctl>()  "
8922 "requests.  The argument I<d> must be an open file descriptor."
8923 msgstr ""
8924
8925 #. type: Plain text
8926 #: build/C/man2/ioctl.2:65
8927 msgid ""
8928 "The second argument is a device-dependent request code.  The third argument "
8929 "is an untyped pointer to memory.  It's traditionally B<char *>I<argp> (from "
8930 "the days before B<void *> was valid C), and will be so named for this "
8931 "discussion."
8932 msgstr ""
8933
8934 #. type: Plain text
8935 #: build/C/man2/ioctl.2:81
8936 msgid ""
8937 "An B<ioctl>()  I<request> has encoded in it whether the argument is an I<in> "
8938 "parameter or I<out> parameter, and the size of the argument I<argp> in "
8939 "bytes.  Macros and defines used in specifying an B<ioctl>()  I<request> are "
8940 "located in the file I<E<lt>sys/ioctl.hE<gt>>."
8941 msgstr ""
8942
8943 #. type: Plain text
8944 #: build/C/man2/ioctl.2:90
8945 msgid ""
8946 "Usually, on success zero is returned.  A few B<ioctl>()  requests use the "
8947 "return value as an output parameter and return a nonnegative value on "
8948 "success.  On error, -1 is returned, and I<errno> is set appropriately."
8949 msgstr ""
8950
8951 #. type: Plain text
8952 #: build/C/man2/ioctl.2:95
8953 msgid "I<d> is not a valid descriptor."
8954 msgstr ""
8955
8956 #. type: Plain text
8957 #: build/C/man2/ioctl.2:99
8958 msgid "I<argp> references an inaccessible memory area."
8959 msgstr ""
8960
8961 #. type: Plain text
8962 #: build/C/man2/ioctl.2:105
8963 msgid "I<Request> or I<argp> is not valid."
8964 msgstr ""
8965
8966 #. type: Plain text
8967 #: build/C/man2/ioctl.2:109
8968 msgid "I<d> is not associated with a character special device."
8969 msgstr ""
8970
8971 #. type: Plain text
8972 #: build/C/man2/ioctl.2:115
8973 msgid ""
8974 "The specified request does not apply to the kind of object that the "
8975 "descriptor I<d> references."
8976 msgstr ""
8977
8978 #. type: Plain text
8979 #: build/C/man2/ioctl.2:130
8980 msgid ""
8981 "No single standard.  Arguments, returns, and semantics of B<ioctl>()  vary "
8982 "according to the device driver in question (the call is used as a catch-all "
8983 "for operations that don't cleanly fit the UNIX stream I/O model).  See "
8984 "B<ioctl_list>(2)  for a list of many of the known B<ioctl>()  calls.  The "
8985 "B<ioctl>()  function call appeared in Version 7 AT&T UNIX."
8986 msgstr ""
8987
8988 #. type: Plain text
8989 #: build/C/man2/ioctl.2:138
8990 msgid ""
8991 "In order to use this call, one needs an open file descriptor.  Often the "
8992 "B<open>(2)  call has unwanted side effects, that can be avoided under Linux "
8993 "by giving it the B<O_NONBLOCK> flag."
8994 msgstr ""
8995
8996 #.  .BR mt (4),
8997 #. type: Plain text
8998 #: build/C/man2/ioctl.2:146
8999 msgid "B<execve>(2), B<fcntl>(2), B<ioctl_list>(2), B<open>(2), B<sd>(4), B<tty>(4)"
9000 msgstr ""
9001
9002 #. type: TH
9003 #: build/C/man2/ioctl_list.2:27
9004 #, no-wrap
9005 msgid "IOCTL_LIST"
9006 msgstr ""
9007
9008 #. type: TH
9009 #: build/C/man2/ioctl_list.2:27
9010 #, no-wrap
9011 msgid "2007-12-29"
9012 msgstr ""
9013
9014 #. type: Plain text
9015 #: build/C/man2/ioctl_list.2:30
9016 msgid "ioctl_list - list of ioctl calls in Linux/i386 kernel"
9017 msgstr ""
9018
9019 #. type: Plain text
9020 #: build/C/man2/ioctl_list.2:37
9021 msgid ""
9022 "This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel "
9023 "1.3.27.  It contains 421 ioctls from "
9024 "I<E<lt>/usr/include/{asm,linux}/*.hE<gt>>.  For each ioctl, its numerical "
9025 "value, its name, and its argument type are given."
9026 msgstr ""
9027
9028 #. type: Plain text
9029 #: build/C/man2/ioctl_list.2:45
9030 msgid ""
9031 "An argument type of I<const struct foo *> means the argument is input to the "
9032 "kernel.  I<struct foo *> means the kernel outputs the argument.  If the "
9033 "kernel uses the argument for both input and output, this is marked with "
9034 "I<//\\ I-O>."
9035 msgstr ""
9036
9037 #. type: Plain text
9038 #: build/C/man2/ioctl_list.2:50
9039 msgid ""
9040 "Some ioctls take more arguments or return more values than a single "
9041 "structure.  These are marked I<//\\ MORE> and documented further in a "
9042 "separate section."
9043 msgstr ""
9044
9045 #. type: Plain text
9046 #: build/C/man2/ioctl_list.2:52
9047 msgid "This list is very incomplete."
9048 msgstr ""
9049
9050 #. type: SS
9051 #: build/C/man2/ioctl_list.2:52
9052 #, no-wrap
9053 msgid "ioctl structure"
9054 msgstr ""
9055
9056 #.  added two sections - aeb
9057 #. type: Plain text
9058 #: build/C/man2/ioctl_list.2:57
9059 msgid ""
9060 "Ioctl command values are 32-bit constants.  In principle these constants are "
9061 "completely arbitrary, but people have tried to build some structure into "
9062 "them."
9063 msgstr ""
9064
9065 #. type: Plain text
9066 #: build/C/man2/ioctl_list.2:76
9067 msgid ""
9068 "The old Linux situation was that of mostly 16-bit constants, where the last "
9069 "byte is a serial number, and the preceding byte(s) give a type indicating "
9070 "the driver.  Sometimes the major number was used: 0x03 for the B<HDIO_*> "
9071 "ioctls, 0x06 for the B<LP*> ioctls.  And sometimes one or more ASCII letters "
9072 "were used.  For example, B<TCGETS> has value 0x00005401, with 0x54 = "
9073 "\\(aqT\\(aq indicating the terminal driver, and B<CYGETTIMEOUT> has value "
9074 "0x00435906, with 0x43 0x59 = \\(aqC\\(aq \\(aqY\\(aq indicating the cyclades "
9075 "driver."
9076 msgstr ""
9077
9078 #. type: Plain text
9079 #: build/C/man2/ioctl_list.2:84
9080 msgid ""
9081 "Later (0.98p5) some more information was built into the number.  One has 2 "
9082 "direction bits (00: none, 01: write, 10: read, 11: read/write)  followed by "
9083 "14 size bits (giving the size of the argument), followed by an 8-bit type "
9084 "(collecting the ioctls in groups for a common purpose or a common driver), "
9085 "and an 8-bit serial number."
9086 msgstr ""
9087
9088 #. type: Plain text
9089 #: build/C/man2/ioctl_list.2:94
9090 msgid ""
9091 "The macros describing this structure live in I<E<lt>asm/ioctl.hE<gt>> and "
9092 "are B<_IO(type,nr)> and B<{_IOR,_IOW,_IOWR}(type,nr,size)>.  They use "
9093 "I<sizeof(size)> so that size is a misnomer here: this third argument is a "
9094 "data type."
9095 msgstr ""
9096
9097 #. type: Plain text
9098 #: build/C/man2/ioctl_list.2:99
9099 msgid ""
9100 "Note that the size bits are very unreliable: in lots of cases they are "
9101 "wrong, either because of buggy macros using I<sizeof(sizeof(struct))>, or "
9102 "because of legacy values."
9103 msgstr ""
9104
9105 #. type: Plain text
9106 #: build/C/man2/ioctl_list.2:103
9107 msgid ""
9108 "Thus, it seems that the new structure only gave disadvantages: it does not "
9109 "help in checking, but it causes varying values for the various "
9110 "architectures."
9111 msgstr ""
9112
9113 #. type: Plain text
9114 #: build/C/man2/ioctl_list.2:109
9115 msgid ""
9116 "Decent ioctls return 0 on success and -1 on error, while any output value is "
9117 "stored via the argument.  However, quite a few ioctls in fact return an "
9118 "output value.  This is not yet indicated below."
9119 msgstr ""
9120
9121 #. type: Plain text
9122 #: build/C/man2/ioctl_list.2:111
9123 msgid "// Main table."
9124 msgstr ""
9125
9126 #. type: Plain text
9127 #: build/C/man2/ioctl_list.2:113
9128 msgid "// E<lt>include/asm-i386/socket.hE<gt>"
9129 msgstr ""
9130
9131 #. type: tbl table
9132 #: build/C/man2/ioctl_list.2:115
9133 #, no-wrap
9134 msgid "0x00008901\tFIOSETOWN\tconst int *\n"
9135 msgstr ""
9136
9137 #. type: tbl table
9138 #: build/C/man2/ioctl_list.2:116
9139 #, no-wrap
9140 msgid "0x00008902\tSIOCSPGRP\tconst int *\n"
9141 msgstr ""
9142
9143 #. type: tbl table
9144 #: build/C/man2/ioctl_list.2:117
9145 #, no-wrap
9146 msgid "0x00008903\tFIOGETOWN\tint *\n"
9147 msgstr ""
9148
9149 #. type: tbl table
9150 #: build/C/man2/ioctl_list.2:118
9151 #, no-wrap
9152 msgid "0x00008904\tSIOCGPGRP\tint *\n"
9153 msgstr ""
9154
9155 #. type: tbl table
9156 #: build/C/man2/ioctl_list.2:119
9157 #, no-wrap
9158 msgid "0x00008905\tSIOCATMAR\tint *\n"
9159 msgstr ""
9160
9161 #. type: tbl table
9162 #: build/C/man2/ioctl_list.2:120
9163 #, no-wrap
9164 msgid "0x00008906\tSIOCGSTAMP\ttimeval *\n"
9165 msgstr ""
9166
9167 #. type: Plain text
9168 #: build/C/man2/ioctl_list.2:124
9169 msgid "// E<lt>include/asm-i386/termios.hE<gt>"
9170 msgstr ""
9171
9172 #. type: tbl table
9173 #: build/C/man2/ioctl_list.2:126
9174 #, no-wrap
9175 msgid "0x00005401\tTCGETS\tstruct termios *\n"
9176 msgstr ""
9177
9178 #. type: tbl table
9179 #: build/C/man2/ioctl_list.2:127
9180 #, no-wrap
9181 msgid "0x00005402\tTCSETS\tconst struct termios *\n"
9182 msgstr ""
9183
9184 #. type: tbl table
9185 #: build/C/man2/ioctl_list.2:128
9186 #, no-wrap
9187 msgid "0x00005403\tTCSETSW\tconst struct termios *\n"
9188 msgstr ""
9189
9190 #. type: tbl table
9191 #: build/C/man2/ioctl_list.2:129
9192 #, no-wrap
9193 msgid "0x00005404\tTCSETSF\tconst struct termios *\n"
9194 msgstr ""
9195
9196 #. type: tbl table
9197 #: build/C/man2/ioctl_list.2:130
9198 #, no-wrap
9199 msgid "0x00005405\tTCGETA\tstruct termio *\n"
9200 msgstr ""
9201
9202 #. type: tbl table
9203 #: build/C/man2/ioctl_list.2:131
9204 #, no-wrap
9205 msgid "0x00005406\tTCSETA\tconst struct termio *\n"
9206 msgstr ""
9207
9208 #. type: tbl table
9209 #: build/C/man2/ioctl_list.2:132
9210 #, no-wrap
9211 msgid "0x00005407\tTCSETAW\tconst struct termio *\n"
9212 msgstr ""
9213
9214 #. type: tbl table
9215 #: build/C/man2/ioctl_list.2:133
9216 #, no-wrap
9217 msgid "0x00005408\tTCSETAF\tconst struct termio *\n"
9218 msgstr ""
9219
9220 #. type: tbl table
9221 #: build/C/man2/ioctl_list.2:134
9222 #, no-wrap
9223 msgid "0x00005409\tTCSBRK\tint\n"
9224 msgstr ""
9225
9226 #. type: tbl table
9227 #: build/C/man2/ioctl_list.2:135
9228 #, no-wrap
9229 msgid "0x0000540A\tTCXONC\tint\n"
9230 msgstr ""
9231
9232 #. type: tbl table
9233 #: build/C/man2/ioctl_list.2:136
9234 #, no-wrap
9235 msgid "0x0000540B\tTCFLSH\tint\n"
9236 msgstr ""
9237
9238 #. type: tbl table
9239 #: build/C/man2/ioctl_list.2:137
9240 #, no-wrap
9241 msgid "0x0000540C\tTIOCEXCL\tvoid\n"
9242 msgstr ""
9243
9244 #. type: tbl table
9245 #: build/C/man2/ioctl_list.2:138
9246 #, no-wrap
9247 msgid "0x0000540D\tTIOCNXCL\tvoid\n"
9248 msgstr ""
9249
9250 #. type: tbl table
9251 #: build/C/man2/ioctl_list.2:139
9252 #, no-wrap
9253 msgid "0x0000540E\tTIOCSCTTY\tint\n"
9254 msgstr ""
9255
9256 #. type: tbl table
9257 #: build/C/man2/ioctl_list.2:140
9258 #, no-wrap
9259 msgid "0x0000540F\tTIOCGPGRP\tpid_t *\n"
9260 msgstr ""
9261
9262 #. type: tbl table
9263 #: build/C/man2/ioctl_list.2:141
9264 #, no-wrap
9265 msgid "0x00005410\tTIOCSPGRP\tconst pid_t *\n"
9266 msgstr ""
9267
9268 #. type: tbl table
9269 #: build/C/man2/ioctl_list.2:142
9270 #, no-wrap
9271 msgid "0x00005411\tTIOCOUTQ\tint *\n"
9272 msgstr ""
9273
9274 #. type: tbl table
9275 #: build/C/man2/ioctl_list.2:143
9276 #, no-wrap
9277 msgid "0x00005412\tTIOCSTI\tconst char *\n"
9278 msgstr ""
9279
9280 #. type: tbl table
9281 #: build/C/man2/ioctl_list.2:144
9282 #, no-wrap
9283 msgid "0x00005413\tTIOCGWINSZ\tstruct winsize *\n"
9284 msgstr ""
9285
9286 #. type: tbl table
9287 #: build/C/man2/ioctl_list.2:145
9288 #, no-wrap
9289 msgid "0x00005414\tTIOCSWINSZ\tconst struct winsize *\n"
9290 msgstr ""
9291
9292 #. type: tbl table
9293 #: build/C/man2/ioctl_list.2:146
9294 #, no-wrap
9295 msgid "0x00005415\tTIOCMGET\tint *\n"
9296 msgstr ""
9297
9298 #. type: tbl table
9299 #: build/C/man2/ioctl_list.2:147
9300 #, no-wrap
9301 msgid "0x00005416\tTIOCMBIS\tconst int *\n"
9302 msgstr ""
9303
9304 #. type: tbl table
9305 #: build/C/man2/ioctl_list.2:148
9306 #, no-wrap
9307 msgid "0x00005417\tTIOCMBIC\tconst int *\n"
9308 msgstr ""
9309
9310 #. type: tbl table
9311 #: build/C/man2/ioctl_list.2:149
9312 #, no-wrap
9313 msgid "0x00005418\tTIOCMSET\tconst int *\n"
9314 msgstr ""
9315
9316 #. type: tbl table
9317 #: build/C/man2/ioctl_list.2:150
9318 #, no-wrap
9319 msgid "0x00005419\tTIOCGSOFTCAR\tint *\n"
9320 msgstr ""
9321
9322 #. type: tbl table
9323 #: build/C/man2/ioctl_list.2:151
9324 #, no-wrap
9325 msgid "0x0000541A\tTIOCSSOFTCAR\tconst int *\n"
9326 msgstr ""
9327
9328 #. type: tbl table
9329 #: build/C/man2/ioctl_list.2:152
9330 #, no-wrap
9331 msgid "0x0000541B\tFIONREAD\tint *\n"
9332 msgstr ""
9333
9334 #. type: tbl table
9335 #: build/C/man2/ioctl_list.2:153
9336 #, no-wrap
9337 msgid "0x0000541B\tTIOCINQ\tint *\n"
9338 msgstr ""
9339
9340 #. type: tbl table
9341 #: build/C/man2/ioctl_list.2:154
9342 #, no-wrap
9343 msgid "0x0000541C\tTIOCLINUX\tconst char *\t// MORE\n"
9344 msgstr ""
9345
9346 #. type: tbl table
9347 #: build/C/man2/ioctl_list.2:155
9348 #, no-wrap
9349 msgid "0x0000541D\tTIOCCONS\tvoid\n"
9350 msgstr ""
9351
9352 #. type: tbl table
9353 #: build/C/man2/ioctl_list.2:156
9354 #, no-wrap
9355 msgid "0x0000541E\tTIOCGSERIAL\tstruct serial_struct *\n"
9356 msgstr ""
9357
9358 #. type: tbl table
9359 #: build/C/man2/ioctl_list.2:157
9360 #, no-wrap
9361 msgid "0x0000541F\tTIOCSSERIAL\tconst struct serial_struct *\n"
9362 msgstr ""
9363
9364 #. type: tbl table
9365 #: build/C/man2/ioctl_list.2:158
9366 #, no-wrap
9367 msgid "0x00005420\tTIOCPKT\tconst int *\n"
9368 msgstr ""
9369
9370 #. type: tbl table
9371 #: build/C/man2/ioctl_list.2:159
9372 #, no-wrap
9373 msgid "0x00005421\tFIONBIO\tconst int *\n"
9374 msgstr ""
9375
9376 #. type: tbl table
9377 #: build/C/man2/ioctl_list.2:160
9378 #, no-wrap
9379 msgid "0x00005422\tTIOCNOTTY\tvoid\n"
9380 msgstr ""
9381
9382 #. type: tbl table
9383 #: build/C/man2/ioctl_list.2:161
9384 #, no-wrap
9385 msgid "0x00005423\tTIOCSETD\tconst int *\n"
9386 msgstr ""
9387
9388 #. type: tbl table
9389 #: build/C/man2/ioctl_list.2:162
9390 #, no-wrap
9391 msgid "0x00005424\tTIOCGETD\tint *\n"
9392 msgstr ""
9393
9394 #. type: tbl table
9395 #: build/C/man2/ioctl_list.2:163
9396 #, no-wrap
9397 msgid "0x00005425\tTCSBRKP\tint\n"
9398 msgstr ""
9399
9400 #. type: tbl table
9401 #: build/C/man2/ioctl_list.2:164
9402 #, no-wrap
9403 msgid "0x00005426\tTIOCTTYGSTRUCT\tstruct tty_struct *\n"
9404 msgstr ""
9405
9406 #. type: tbl table
9407 #: build/C/man2/ioctl_list.2:165
9408 #, no-wrap
9409 msgid "0x00005450\tFIONCLEX\tvoid\n"
9410 msgstr ""
9411
9412 #. type: tbl table
9413 #: build/C/man2/ioctl_list.2:166
9414 #, no-wrap
9415 msgid "0x00005451\tFIOCLEX\tvoid\n"
9416 msgstr ""
9417
9418 #. type: tbl table
9419 #: build/C/man2/ioctl_list.2:167
9420 #, no-wrap
9421 msgid "0x00005452\tFIOASYNC\tconst int *\n"
9422 msgstr ""
9423
9424 #. type: tbl table
9425 #: build/C/man2/ioctl_list.2:168
9426 #, no-wrap
9427 msgid "0x00005453\tTIOCSERCONFIG\tvoid\n"
9428 msgstr ""
9429
9430 #. type: tbl table
9431 #: build/C/man2/ioctl_list.2:169
9432 #, no-wrap
9433 msgid "0x00005454\tTIOCSERGWILD\tint *\n"
9434 msgstr ""
9435
9436 #. type: tbl table
9437 #: build/C/man2/ioctl_list.2:170
9438 #, no-wrap
9439 msgid "0x00005455\tTIOCSERSWILD\tconst int *\n"
9440 msgstr ""
9441
9442 #. type: tbl table
9443 #: build/C/man2/ioctl_list.2:171
9444 #, no-wrap
9445 msgid "0x00005456\tTIOCGLCKTRMIOS\tstruct termios *\n"
9446 msgstr ""
9447
9448 #. type: tbl table
9449 #: build/C/man2/ioctl_list.2:172
9450 #, no-wrap
9451 msgid "0x00005457\tTIOCSLCKTRMIOS\tconst struct termios *\n"
9452 msgstr ""
9453
9454 #. type: tbl table
9455 #: build/C/man2/ioctl_list.2:173
9456 #, no-wrap
9457 msgid "0x00005458\tTIOCSERGSTRUCT\tstruct async_struct *\n"
9458 msgstr ""
9459
9460 #. type: tbl table
9461 #: build/C/man2/ioctl_list.2:174
9462 #, no-wrap
9463 msgid "0x00005459\tTIOCSERGETLSR\tint *\n"
9464 msgstr ""
9465
9466 #. type: tbl table
9467 #: build/C/man2/ioctl_list.2:175
9468 #, no-wrap
9469 msgid "0x0000545A\tTIOCSERGETMULTI\tstruct serial_multiport_struct *\n"
9470 msgstr ""
9471
9472 #. type: tbl table
9473 #: build/C/man2/ioctl_list.2:176
9474 #, no-wrap
9475 msgid "0x0000545B\tTIOCSERSETMULTI\tconst struct serial_multiport_struct *\n"
9476 msgstr ""
9477
9478 #. type: Plain text
9479 #: build/C/man2/ioctl_list.2:180
9480 msgid "// E<lt>include/linux/ax25.hE<gt>"
9481 msgstr ""
9482
9483 #. type: tbl table
9484 #: build/C/man2/ioctl_list.2:182
9485 #, no-wrap
9486 msgid "0x000089E0\tSIOCAX25GETUID\tconst struct sockaddr_ax25 *\n"
9487 msgstr ""
9488
9489 #. type: tbl table
9490 #: build/C/man2/ioctl_list.2:183
9491 #, no-wrap
9492 msgid "0x000089E1\tSIOCAX25ADDUID\tconst struct sockaddr_ax25 *\n"
9493 msgstr ""
9494
9495 #. type: tbl table
9496 #: build/C/man2/ioctl_list.2:184
9497 #, no-wrap
9498 msgid "0x000089E2\tSIOCAX25DELUID\tconst struct sockaddr_ax25 *\n"
9499 msgstr ""
9500
9501 #. type: tbl table
9502 #: build/C/man2/ioctl_list.2:185
9503 #, no-wrap
9504 msgid "0x000089E3\tSIOCAX25NOUID\tconst int *\n"
9505 msgstr ""
9506
9507 #. type: tbl table
9508 #: build/C/man2/ioctl_list.2:186
9509 #, no-wrap
9510 msgid "0x000089E4\tSIOCAX25DIGCTL\tconst int *\n"
9511 msgstr ""
9512
9513 #. type: tbl table
9514 #: build/C/man2/ioctl_list.2:187
9515 #, no-wrap
9516 msgid "0x000089E5\tSIOCAX25GETPARMS\tstruct ax25_parms_struct *\t// I-O\n"
9517 msgstr ""
9518
9519 #. type: tbl table
9520 #: build/C/man2/ioctl_list.2:188
9521 #, no-wrap
9522 msgid "0x000089E6\tSIOCAX25SETPARMS\tconst struct ax25_parms_struct *\n"
9523 msgstr ""
9524
9525 #. type: Plain text
9526 #: build/C/man2/ioctl_list.2:192
9527 msgid "// E<lt>include/linux/cdk.hE<gt>"
9528 msgstr ""
9529
9530 #. type: tbl table
9531 #: build/C/man2/ioctl_list.2:194
9532 #, no-wrap
9533 msgid "0x00007314\tSTL_BINTR\tvoid\n"
9534 msgstr ""
9535
9536 #. type: tbl table
9537 #: build/C/man2/ioctl_list.2:195
9538 #, no-wrap
9539 msgid "0x00007315\tSTL_BSTART\tvoid\n"
9540 msgstr ""
9541
9542 #. type: tbl table
9543 #: build/C/man2/ioctl_list.2:196
9544 #, no-wrap
9545 msgid "0x00007316\tSTL_BSTOP\tvoid\n"
9546 msgstr ""
9547
9548 #. type: tbl table
9549 #: build/C/man2/ioctl_list.2:197
9550 #, no-wrap
9551 msgid "0x00007317\tSTL_BRESET\tvoid\n"
9552 msgstr ""
9553
9554 #. type: Plain text
9555 #: build/C/man2/ioctl_list.2:201
9556 msgid "// E<lt>include/linux/cdrom.hE<gt>"
9557 msgstr ""
9558
9559 #. type: tbl table
9560 #: build/C/man2/ioctl_list.2:203
9561 #, no-wrap
9562 msgid "0x00005301\tCDROMPAUSE\tvoid\n"
9563 msgstr ""
9564
9565 #. type: tbl table
9566 #: build/C/man2/ioctl_list.2:204
9567 #, no-wrap
9568 msgid "0x00005302\tCDROMRESUME\tvoid\n"
9569 msgstr ""
9570
9571 #. type: tbl table
9572 #: build/C/man2/ioctl_list.2:205
9573 #, no-wrap
9574 msgid "0x00005303\tCDROMPLAYMSF\tconst struct cdrom_msf *\n"
9575 msgstr ""
9576
9577 #. type: tbl table
9578 #: build/C/man2/ioctl_list.2:206
9579 #, no-wrap
9580 msgid "0x00005304\tCDROMPLAYTRKIND\tconst struct cdrom_ti *\n"
9581 msgstr ""
9582
9583 #. type: tbl table
9584 #: build/C/man2/ioctl_list.2:207
9585 #, no-wrap
9586 msgid "0x00005305\tCDROMREADTOCHDR\tstruct cdrom_tochdr *\n"
9587 msgstr ""
9588
9589 #. type: tbl table
9590 #: build/C/man2/ioctl_list.2:208
9591 #, no-wrap
9592 msgid "0x00005306\tCDROMREADTOCENTRY\tstruct cdrom_tocentry *\t// I-O\n"
9593 msgstr ""
9594
9595 #. type: tbl table
9596 #: build/C/man2/ioctl_list.2:209
9597 #, no-wrap
9598 msgid "0x00005307\tCDROMSTOP\tvoid\n"
9599 msgstr ""
9600
9601 #. type: tbl table
9602 #: build/C/man2/ioctl_list.2:210
9603 #, no-wrap
9604 msgid "0x00005308\tCDROMSTART\tvoid\n"
9605 msgstr ""
9606
9607 #. type: tbl table
9608 #: build/C/man2/ioctl_list.2:211
9609 #, no-wrap
9610 msgid "0x00005309\tCDROMEJECT\tvoid\n"
9611 msgstr ""
9612
9613 #. type: tbl table
9614 #: build/C/man2/ioctl_list.2:212
9615 #, no-wrap
9616 msgid "0x0000530A\tCDROMVOLCTRL\tconst struct cdrom_volctrl *\n"
9617 msgstr ""
9618
9619 #. type: tbl table
9620 #: build/C/man2/ioctl_list.2:213
9621 #, no-wrap
9622 msgid "0x0000530B\tCDROMSUBCHNL\tstruct cdrom_subchnl *\t// I-O\n"
9623 msgstr ""
9624
9625 #. type: tbl table
9626 #: build/C/man2/ioctl_list.2:214
9627 #, no-wrap
9628 msgid "0x0000530C\tCDROMREADMODE2\tconst struct cdrom_msf *\t// MORE\n"
9629 msgstr ""
9630
9631 #. type: tbl table
9632 #: build/C/man2/ioctl_list.2:215
9633 #, no-wrap
9634 msgid "0x0000530D\tCDROMREADMODE1\tconst struct cdrom_msf *\t// MORE\n"
9635 msgstr ""
9636
9637 #. type: tbl table
9638 #: build/C/man2/ioctl_list.2:216
9639 #, no-wrap
9640 msgid "0x0000530E\tCDROMREADAUDIO\tconst struct cdrom_read_audio *\t// MORE\n"
9641 msgstr ""
9642
9643 #. type: tbl table
9644 #: build/C/man2/ioctl_list.2:217
9645 #, no-wrap
9646 msgid "0x0000530F\tCDROMEJECT_SW\tint\n"
9647 msgstr ""
9648
9649 #. type: tbl table
9650 #: build/C/man2/ioctl_list.2:218
9651 #, no-wrap
9652 msgid "0x00005310\tCDROMMULTISESSION\tstruct cdrom_multisession *\t// I-O\n"
9653 msgstr ""
9654
9655 #. type: tbl table
9656 #: build/C/man2/ioctl_list.2:219
9657 #, no-wrap
9658 msgid "0x00005311\tCDROM_GET_UPC\tstruct { char [8]; } *\n"
9659 msgstr ""
9660
9661 #. type: tbl table
9662 #: build/C/man2/ioctl_list.2:220
9663 #, no-wrap
9664 msgid "0x00005312\tCDROMRESET\tvoid\n"
9665 msgstr ""
9666
9667 #. type: tbl table
9668 #: build/C/man2/ioctl_list.2:221
9669 #, no-wrap
9670 msgid "0x00005313\tCDROMVOLREAD\tstruct cdrom_volctrl *\n"
9671 msgstr ""
9672
9673 #. type: tbl table
9674 #: build/C/man2/ioctl_list.2:222
9675 #, no-wrap
9676 msgid "0x00005314\tCDROMREADRAW\tconst struct cdrom_msf *\t// MORE\n"
9677 msgstr ""
9678
9679 #. type: tbl table
9680 #: build/C/man2/ioctl_list.2:223
9681 #, no-wrap
9682 msgid "0x00005315\tCDROMREADCOOKED\tconst struct cdrom_msf *\t// MORE\n"
9683 msgstr ""
9684
9685 #. type: tbl table
9686 #: build/C/man2/ioctl_list.2:224
9687 #, no-wrap
9688 msgid "0x00005316\tCDROMSEEK\tconst struct cdrom_msf *\n"
9689 msgstr ""
9690
9691 #. type: Plain text
9692 #: build/C/man2/ioctl_list.2:228
9693 msgid "// E<lt>include/linux/cm206.hE<gt>"
9694 msgstr ""
9695
9696 #. type: tbl table
9697 #: build/C/man2/ioctl_list.2:230
9698 #, no-wrap
9699 msgid "0x00002000\tCM206CTL_GET_STAT\tint\n"
9700 msgstr ""
9701
9702 #. type: tbl table
9703 #: build/C/man2/ioctl_list.2:231
9704 #, no-wrap
9705 msgid "0x00002001\tCM206CTL_GET_LAST_STAT\tint\n"
9706 msgstr ""
9707
9708 #. type: Plain text
9709 #: build/C/man2/ioctl_list.2:235
9710 msgid "// E<lt>include/linux/cyclades.hE<gt>"
9711 msgstr ""
9712
9713 #. type: tbl table
9714 #: build/C/man2/ioctl_list.2:237
9715 #, no-wrap
9716 msgid "0x00435901\tCYGETMON\tstruct cyclades_monitor *\n"
9717 msgstr ""
9718
9719 #. type: tbl table
9720 #: build/C/man2/ioctl_list.2:238
9721 #, no-wrap
9722 msgid "0x00435902\tCYGETTHRESH\tint *\n"
9723 msgstr ""
9724
9725 #. type: tbl table
9726 #: build/C/man2/ioctl_list.2:239
9727 #, no-wrap
9728 msgid "0x00435903\tCYSETTHRESH\tint\n"
9729 msgstr ""
9730
9731 #. type: tbl table
9732 #: build/C/man2/ioctl_list.2:240
9733 #, no-wrap
9734 msgid "0x00435904\tCYGETDEFTHRESH\tint *\n"
9735 msgstr ""
9736
9737 #. type: tbl table
9738 #: build/C/man2/ioctl_list.2:241
9739 #, no-wrap
9740 msgid "0x00435905\tCYSETDEFTHRESH\tint\n"
9741 msgstr ""
9742
9743 #. type: tbl table
9744 #: build/C/man2/ioctl_list.2:242
9745 #, no-wrap
9746 msgid "0x00435906\tCYGETTIMEOUT\tint *\n"
9747 msgstr ""
9748
9749 #. type: tbl table
9750 #: build/C/man2/ioctl_list.2:243
9751 #, no-wrap
9752 msgid "0x00435907\tCYSETTIMEOUT\tint\n"
9753 msgstr ""
9754
9755 #. type: tbl table
9756 #: build/C/man2/ioctl_list.2:244
9757 #, no-wrap
9758 msgid "0x00435908\tCYGETDEFTIMEOUT\tint *\n"
9759 msgstr ""
9760
9761 #. type: tbl table
9762 #: build/C/man2/ioctl_list.2:245
9763 #, no-wrap
9764 msgid "0x00435909\tCYSETDEFTIMEOUT\tint\n"
9765 msgstr ""
9766
9767 #. type: Plain text
9768 #: build/C/man2/ioctl_list.2:249
9769 msgid "// E<lt>include/linux/ext2_fs.hE<gt>"
9770 msgstr ""
9771
9772 #. type: tbl table
9773 #: build/C/man2/ioctl_list.2:251
9774 #, no-wrap
9775 msgid "0x80046601\tEXT2_IOC_GETFLAGS\tint *\n"
9776 msgstr ""
9777
9778 #. type: tbl table
9779 #: build/C/man2/ioctl_list.2:252
9780 #, no-wrap
9781 msgid "0x40046602\tEXT2_IOC_SETFLAGS\tconst int *\n"
9782 msgstr ""
9783
9784 #. type: tbl table
9785 #: build/C/man2/ioctl_list.2:253
9786 #, no-wrap
9787 msgid "0x80047601\tEXT2_IOC_GETVERSION\tint *\n"
9788 msgstr ""
9789
9790 #. type: tbl table
9791 #: build/C/man2/ioctl_list.2:254
9792 #, no-wrap
9793 msgid "0x40047602\tEXT2_IOC_SETVERSION\tconst int *\n"
9794 msgstr ""
9795
9796 #. type: Plain text
9797 #: build/C/man2/ioctl_list.2:258
9798 msgid "// E<lt>include/linux/fd.hE<gt>"
9799 msgstr ""
9800
9801 #. type: tbl table
9802 #: build/C/man2/ioctl_list.2:260
9803 #, no-wrap
9804 msgid "0x00000000\tFDCLRPRM\tvoid\n"
9805 msgstr ""
9806
9807 #. type: tbl table
9808 #: build/C/man2/ioctl_list.2:261
9809 #, no-wrap
9810 msgid "0x00000001\tFDSETPRM\tconst struct floppy_struct *\n"
9811 msgstr ""
9812
9813 #. type: tbl table
9814 #: build/C/man2/ioctl_list.2:262
9815 #, no-wrap
9816 msgid "0x00000002\tFDDEFPRM\tconst struct floppy_struct *\n"
9817 msgstr ""
9818
9819 #. type: tbl table
9820 #: build/C/man2/ioctl_list.2:263
9821 #, no-wrap
9822 msgid "0x00000003\tFDGETPRM\tstruct floppy_struct *\n"
9823 msgstr ""
9824
9825 #. type: tbl table
9826 #: build/C/man2/ioctl_list.2:264
9827 #, no-wrap
9828 msgid "0x00000004\tFDMSGON\tvoid\n"
9829 msgstr ""
9830
9831 #. type: tbl table
9832 #: build/C/man2/ioctl_list.2:265
9833 #, no-wrap
9834 msgid "0x00000005\tFDMSGOFF\tvoid\n"
9835 msgstr ""
9836
9837 #. type: tbl table
9838 #: build/C/man2/ioctl_list.2:266
9839 #, no-wrap
9840 msgid "0x00000006\tFDFMTBEG\tvoid\n"
9841 msgstr ""
9842
9843 #. type: tbl table
9844 #: build/C/man2/ioctl_list.2:267
9845 #, no-wrap
9846 msgid "0x00000007\tFDFMTTRK\tconst struct format_descr *\n"
9847 msgstr ""
9848
9849 #. type: tbl table
9850 #: build/C/man2/ioctl_list.2:268
9851 #, no-wrap
9852 msgid "0x00000008\tFDFMTEND\tvoid\n"
9853 msgstr ""
9854
9855 #. type: tbl table
9856 #: build/C/man2/ioctl_list.2:269
9857 #, no-wrap
9858 msgid "0x0000000A\tFDSETEMSGTRESH\tint\n"
9859 msgstr ""
9860
9861 #. type: tbl table
9862 #: build/C/man2/ioctl_list.2:270
9863 #, no-wrap
9864 msgid "0x0000000B\tFDFLUSH\tvoid\n"
9865 msgstr ""
9866
9867 #. type: tbl table
9868 #: build/C/man2/ioctl_list.2:271
9869 #, no-wrap
9870 msgid "0x0000000C\tFDSETMAXERRS\tconst struct floppy_max_errors *\n"
9871 msgstr ""
9872
9873 #. type: tbl table
9874 #: build/C/man2/ioctl_list.2:272
9875 #, no-wrap
9876 msgid "0x0000000E\tFDGETMAXERRS\tstruct floppy_max_errors *\n"
9877 msgstr ""
9878
9879 #. type: tbl table
9880 #: build/C/man2/ioctl_list.2:273
9881 #, no-wrap
9882 msgid "0x00000010\tFDGETDRVTYP\tstruct { char [16]; } *\n"
9883 msgstr ""
9884
9885 #. type: tbl table
9886 #: build/C/man2/ioctl_list.2:274
9887 #, no-wrap
9888 msgid "0x00000014\tFDSETDRVPRM\tconst struct floppy_drive_params *\n"
9889 msgstr ""
9890
9891 #. type: tbl table
9892 #: build/C/man2/ioctl_list.2:275
9893 #, no-wrap
9894 msgid "0x00000015\tFDGETDRVPRM\tstruct floppy_drive_params *\n"
9895 msgstr ""
9896
9897 #. type: tbl table
9898 #: build/C/man2/ioctl_list.2:276
9899 #, no-wrap
9900 msgid "0x00000016\tFDGETDRVSTAT\tstruct floppy_drive_struct *\n"
9901 msgstr ""
9902
9903 #. type: tbl table
9904 #: build/C/man2/ioctl_list.2:277
9905 #, no-wrap
9906 msgid "0x00000017\tFDPOLLDRVSTAT\tstruct floppy_drive_struct *\n"
9907 msgstr ""
9908
9909 #. type: tbl table
9910 #: build/C/man2/ioctl_list.2:278
9911 #, no-wrap
9912 msgid "0x00000018\tFDRESET\tint\n"
9913 msgstr ""
9914
9915 #. type: tbl table
9916 #: build/C/man2/ioctl_list.2:279
9917 #, no-wrap
9918 msgid "0x00000019\tFDGETFDCSTAT\tstruct floppy_fdc_state *\n"
9919 msgstr ""
9920
9921 #. type: tbl table
9922 #: build/C/man2/ioctl_list.2:280
9923 #, no-wrap
9924 msgid "0x0000001B\tFDWERRORCLR\tvoid\n"
9925 msgstr ""
9926
9927 #. type: tbl table
9928 #: build/C/man2/ioctl_list.2:281
9929 #, no-wrap
9930 msgid "0x0000001C\tFDWERRORGET\tstruct floppy_write_errors *\n"
9931 msgstr ""
9932
9933 #. type: tbl table
9934 #: build/C/man2/ioctl_list.2:282
9935 #, no-wrap
9936 msgid "0x0000001E\tFDRAWCMD\tstruct floppy_raw_cmd *\t// MORE // I-O\n"
9937 msgstr ""
9938
9939 #. type: tbl table
9940 #: build/C/man2/ioctl_list.2:283
9941 #, no-wrap
9942 msgid "0x00000028\tFDTWADDLE\tvoid\n"
9943 msgstr ""
9944
9945 #. type: Plain text
9946 #: build/C/man2/ioctl_list.2:287
9947 msgid "// E<lt>include/linux/fs.hE<gt>"
9948 msgstr ""
9949
9950 #. type: tbl table
9951 #: build/C/man2/ioctl_list.2:289
9952 #, no-wrap
9953 msgid "0x0000125D\tBLKROSET\tconst int *\n"
9954 msgstr ""
9955
9956 #. type: tbl table
9957 #: build/C/man2/ioctl_list.2:290
9958 #, no-wrap
9959 msgid "0x0000125E\tBLKROGET\tint *\n"
9960 msgstr ""
9961
9962 #. type: tbl table
9963 #: build/C/man2/ioctl_list.2:291
9964 #, no-wrap
9965 msgid "0x0000125F\tBLKRRPART\tvoid\n"
9966 msgstr ""
9967
9968 #. type: tbl table
9969 #: build/C/man2/ioctl_list.2:292
9970 #, no-wrap
9971 msgid "0x00001260\tBLKGETSIZE\tunsigned long *\n"
9972 msgstr ""
9973
9974 #. type: tbl table
9975 #: build/C/man2/ioctl_list.2:293
9976 #, no-wrap
9977 msgid "0x00001261\tBLKFLSBUF\tvoid\n"
9978 msgstr ""
9979
9980 #. type: tbl table
9981 #: build/C/man2/ioctl_list.2:294
9982 #, no-wrap
9983 msgid "0x00001262\tBLKRASET\tint\n"
9984 msgstr ""
9985
9986 #. type: tbl table
9987 #: build/C/man2/ioctl_list.2:295
9988 #, no-wrap
9989 msgid "0x00001263\tBLKRAGET\tint *\n"
9990 msgstr ""
9991
9992 #. type: tbl table
9993 #: build/C/man2/ioctl_list.2:296
9994 #, no-wrap
9995 msgid "0x00000001\tFIBMAP\tint *\t// I-O\n"
9996 msgstr ""
9997
9998 #. type: tbl table
9999 #: build/C/man2/ioctl_list.2:297
10000 #, no-wrap
10001 msgid "0x00000002\tFIGETBSZ\tint *\n"
10002 msgstr ""
10003
10004 #. type: Plain text
10005 #: build/C/man2/ioctl_list.2:301
10006 msgid "// E<lt>include/linux/hdreg.hE<gt>"
10007 msgstr ""
10008
10009 #. type: tbl table
10010 #: build/C/man2/ioctl_list.2:303
10011 #, no-wrap
10012 msgid "0x00000301\tHDIO_GETGEO\tstruct hd_geometry *\n"
10013 msgstr ""
10014
10015 #. type: tbl table
10016 #: build/C/man2/ioctl_list.2:304
10017 #, no-wrap
10018 msgid "0x00000302\tHDIO_GET_UNMASKINTR\tint *\n"
10019 msgstr ""
10020
10021 #. type: tbl table
10022 #: build/C/man2/ioctl_list.2:305
10023 #, no-wrap
10024 msgid "0x00000304\tHDIO_GET_MULTCOUNT\tint *\n"
10025 msgstr ""
10026
10027 #. type: tbl table
10028 #: build/C/man2/ioctl_list.2:306
10029 #, no-wrap
10030 msgid "0x00000307\tHDIO_GET_IDENTITY\tstruct hd_driveid *\n"
10031 msgstr ""
10032
10033 #. type: tbl table
10034 #: build/C/man2/ioctl_list.2:307
10035 #, no-wrap
10036 msgid "0x00000308\tHDIO_GET_KEEPSETTINGS\tint *\n"
10037 msgstr ""
10038
10039 #. type: tbl table
10040 #: build/C/man2/ioctl_list.2:308
10041 #, no-wrap
10042 msgid "0x00000309\tHDIO_GET_CHIPSET\tint *\n"
10043 msgstr ""
10044
10045 #. type: tbl table
10046 #: build/C/man2/ioctl_list.2:309
10047 #, no-wrap
10048 msgid "0x0000030A\tHDIO_GET_NOWERR\tint *\n"
10049 msgstr ""
10050
10051 #. type: tbl table
10052 #: build/C/man2/ioctl_list.2:310
10053 #, no-wrap
10054 msgid "0x0000030B\tHDIO_GET_DMA\tint *\n"
10055 msgstr ""
10056
10057 #. type: tbl table
10058 #: build/C/man2/ioctl_list.2:311
10059 #, no-wrap
10060 msgid "0x0000031F\tHDIO_DRIVE_CMD\tint *\t// I-O\n"
10061 msgstr ""
10062
10063 #. type: tbl table
10064 #: build/C/man2/ioctl_list.2:312
10065 #, no-wrap
10066 msgid "0x00000321\tHDIO_SET_MULTCOUNT\tint\n"
10067 msgstr ""
10068
10069 #. type: tbl table
10070 #: build/C/man2/ioctl_list.2:313
10071 #, no-wrap
10072 msgid "0x00000322\tHDIO_SET_UNMASKINTR\tint\n"
10073 msgstr ""
10074
10075 #. type: tbl table
10076 #: build/C/man2/ioctl_list.2:314
10077 #, no-wrap
10078 msgid "0x00000323\tHDIO_SET_KEEPSETTINGS\tint\n"
10079 msgstr ""
10080
10081 #. type: tbl table
10082 #: build/C/man2/ioctl_list.2:315
10083 #, no-wrap
10084 msgid "0x00000324\tHDIO_SET_CHIPSET\tint\n"
10085 msgstr ""
10086
10087 #. type: tbl table
10088 #: build/C/man2/ioctl_list.2:316
10089 #, no-wrap
10090 msgid "0x00000325\tHDIO_SET_NOWERR\tint\n"
10091 msgstr ""
10092
10093 #. type: tbl table
10094 #: build/C/man2/ioctl_list.2:317
10095 #, no-wrap
10096 msgid "0x00000326\tHDIO_SET_DMA\tint\n"
10097 msgstr ""
10098
10099 #. type: Plain text
10100 #: build/C/man2/ioctl_list.2:321
10101 msgid "// E<lt>include/linux/if_eql.hE<gt>"
10102 msgstr ""
10103
10104 #. type: tbl table
10105 #: build/C/man2/ioctl_list.2:323
10106 #, no-wrap
10107 msgid "0x000089F0\tEQL_ENSLAVE\tstruct ifreq *\t// MORE // I-O\n"
10108 msgstr ""
10109
10110 #. type: tbl table
10111 #: build/C/man2/ioctl_list.2:324
10112 #, no-wrap
10113 msgid "0x000089F1\tEQL_EMANCIPATE\tstruct ifreq *\t// MORE // I-O\n"
10114 msgstr ""
10115
10116 #. type: tbl table
10117 #: build/C/man2/ioctl_list.2:325
10118 #, no-wrap
10119 msgid "0x000089F2\tEQL_GETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10120 msgstr ""
10121
10122 #. type: tbl table
10123 #: build/C/man2/ioctl_list.2:326
10124 #, no-wrap
10125 msgid "0x000089F3\tEQL_SETSLAVECFG\tstruct ifreq *\t// MORE // I-O\n"
10126 msgstr ""
10127
10128 #. type: tbl table
10129 #: build/C/man2/ioctl_list.2:327
10130 #, no-wrap
10131 msgid "0x000089F4\tEQL_GETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10132 msgstr ""
10133
10134 #. type: tbl table
10135 #: build/C/man2/ioctl_list.2:328
10136 #, no-wrap
10137 msgid "0x000089F5\tEQL_SETMASTRCFG\tstruct ifreq *\t// MORE // I-O\n"
10138 msgstr ""
10139
10140 #. type: Plain text
10141 #: build/C/man2/ioctl_list.2:332
10142 msgid "// E<lt>include/linux/if_plip.hE<gt>"
10143 msgstr ""
10144
10145 #. type: tbl table
10146 #: build/C/man2/ioctl_list.2:334
10147 #, no-wrap
10148 msgid "0x000089F0\tSIOCDEVPLIP\tstruct ifreq *\t// I-O\n"
10149 msgstr ""
10150
10151 #. type: Plain text
10152 #: build/C/man2/ioctl_list.2:338
10153 msgid "// E<lt>include/linux/if_ppp.hE<gt>"
10154 msgstr ""
10155
10156 #. type: tbl table
10157 #: build/C/man2/ioctl_list.2:340
10158 #, no-wrap
10159 msgid "0x00005490\tPPPIOCGFLAGS\tint *\n"
10160 msgstr ""
10161
10162 #. type: tbl table
10163 #: build/C/man2/ioctl_list.2:341
10164 #, no-wrap
10165 msgid "0x00005491\tPPPIOCSFLAGS\tconst int *\n"
10166 msgstr ""
10167
10168 #. type: tbl table
10169 #: build/C/man2/ioctl_list.2:342
10170 #, no-wrap
10171 msgid "0x00005492\tPPPIOCGASYNCMAP\tint *\n"
10172 msgstr ""
10173
10174 #. type: tbl table
10175 #: build/C/man2/ioctl_list.2:343
10176 #, no-wrap
10177 msgid "0x00005493\tPPPIOCSASYNCMAP\tconst int *\n"
10178 msgstr ""
10179
10180 #. type: tbl table
10181 #: build/C/man2/ioctl_list.2:344
10182 #, no-wrap
10183 msgid "0x00005494\tPPPIOCGUNIT\tint *\n"
10184 msgstr ""
10185
10186 #. type: tbl table
10187 #: build/C/man2/ioctl_list.2:345
10188 #, no-wrap
10189 msgid "0x00005495\tPPPIOCSINPSIG\tconst int *\n"
10190 msgstr ""
10191
10192 #. type: tbl table
10193 #: build/C/man2/ioctl_list.2:346
10194 #, no-wrap
10195 msgid "0x00005497\tPPPIOCSDEBUG\tconst int *\n"
10196 msgstr ""
10197
10198 #. type: tbl table
10199 #: build/C/man2/ioctl_list.2:347
10200 #, no-wrap
10201 msgid "0x00005498\tPPPIOCGDEBUG\tint *\n"
10202 msgstr ""
10203
10204 #. type: tbl table
10205 #: build/C/man2/ioctl_list.2:348
10206 #, no-wrap
10207 msgid "0x00005499\tPPPIOCGSTAT\tstruct ppp_stats *\n"
10208 msgstr ""
10209
10210 #. type: tbl table
10211 #: build/C/man2/ioctl_list.2:349
10212 #, no-wrap
10213 msgid "0x0000549A\tPPPIOCGTIME\tstruct ppp_ddinfo *\n"
10214 msgstr ""
10215
10216 #. type: tbl table
10217 #: build/C/man2/ioctl_list.2:350
10218 #, no-wrap
10219 msgid "0x0000549B\tPPPIOCGXASYNCMAP\tstruct { int [8]; } *\n"
10220 msgstr ""
10221
10222 #. type: tbl table
10223 #: build/C/man2/ioctl_list.2:351
10224 #, no-wrap
10225 msgid "0x0000549C\tPPPIOCSXASYNCMAP\tconst struct { int [8]; } *\n"
10226 msgstr ""
10227
10228 #. type: tbl table
10229 #: build/C/man2/ioctl_list.2:352
10230 #, no-wrap
10231 msgid "0x0000549D\tPPPIOCSMRU\tconst int *\n"
10232 msgstr ""
10233
10234 #. type: tbl table
10235 #: build/C/man2/ioctl_list.2:353
10236 #, no-wrap
10237 msgid "0x0000549E\tPPPIOCRASYNCMAP\tconst int *\n"
10238 msgstr ""
10239
10240 #. type: tbl table
10241 #: build/C/man2/ioctl_list.2:354
10242 #, no-wrap
10243 msgid "0x0000549F\tPPPIOCSMAXCID\tconst int *\n"
10244 msgstr ""
10245
10246 #. type: Plain text
10247 #: build/C/man2/ioctl_list.2:358
10248 msgid "// E<lt>include/linux/ipx.hE<gt>"
10249 msgstr ""
10250
10251 #. type: tbl table
10252 #: build/C/man2/ioctl_list.2:360
10253 #, no-wrap
10254 msgid "0x000089E0\tSIOCAIPXITFCRT\tconst char *\n"
10255 msgstr ""
10256
10257 #. type: tbl table
10258 #: build/C/man2/ioctl_list.2:361
10259 #, no-wrap
10260 msgid "0x000089E1\tSIOCAIPXPRISLT\tconst char *\n"
10261 msgstr ""
10262
10263 #. type: tbl table
10264 #: build/C/man2/ioctl_list.2:362
10265 #, no-wrap
10266 msgid "0x000089E2\tSIOCIPXCFGDATA\tstruct ipx_config_data *\n"
10267 msgstr ""
10268
10269 #. type: Plain text
10270 #: build/C/man2/ioctl_list.2:366
10271 msgid "// E<lt>include/linux/kd.hE<gt>"
10272 msgstr ""
10273
10274 #. type: tbl table
10275 #: build/C/man2/ioctl_list.2:368
10276 #, no-wrap
10277 msgid "0x00004B60\tGIO_FONT\tstruct { char [8192]; } *\n"
10278 msgstr ""
10279
10280 #. type: tbl table
10281 #: build/C/man2/ioctl_list.2:369
10282 #, no-wrap
10283 msgid "0x00004B61\tPIO_FONT\tconst struct { char [8192]; } *\n"
10284 msgstr ""
10285
10286 #. type: tbl table
10287 #: build/C/man2/ioctl_list.2:370
10288 #, no-wrap
10289 msgid "0x00004B6B\tGIO_FONTX\tstruct console_font_desc *\t// MORE // I-O\n"
10290 msgstr ""
10291
10292 #. type: tbl table
10293 #: build/C/man2/ioctl_list.2:371
10294 #, no-wrap
10295 msgid "0x00004B6C\tPIO_FONTX\tconst struct console_font_desc *\t//MORE\n"
10296 msgstr ""
10297
10298 #. type: tbl table
10299 #: build/C/man2/ioctl_list.2:372
10300 #, no-wrap
10301 msgid "0x00004B70\tGIO_CMAP\tstruct { char [48]; } *\n"
10302 msgstr ""
10303
10304 #. type: tbl table
10305 #: build/C/man2/ioctl_list.2:373
10306 #, no-wrap
10307 msgid "0x00004B71\tPIO_CMAP\tconst struct { char [48]; }\n"
10308 msgstr ""
10309
10310 #. type: tbl table
10311 #: build/C/man2/ioctl_list.2:374
10312 #, no-wrap
10313 msgid "0x00004B2F\tKIOCSOUND\tint\n"
10314 msgstr ""
10315
10316 #. type: tbl table
10317 #: build/C/man2/ioctl_list.2:375
10318 #, no-wrap
10319 msgid "0x00004B30\tKDMKTONE\tint\n"
10320 msgstr ""
10321
10322 #. type: tbl table
10323 #: build/C/man2/ioctl_list.2:376
10324 #, no-wrap
10325 msgid "0x00004B31\tKDGETLED\tchar *\n"
10326 msgstr ""
10327
10328 #. type: tbl table
10329 #: build/C/man2/ioctl_list.2:377
10330 #, no-wrap
10331 msgid "0x00004B32\tKDSETLED\tint\n"
10332 msgstr ""
10333
10334 #. type: tbl table
10335 #: build/C/man2/ioctl_list.2:378
10336 #, no-wrap
10337 msgid "0x00004B33\tKDGKBTYPE\tchar *\n"
10338 msgstr ""
10339
10340 #. type: tbl table
10341 #: build/C/man2/ioctl_list.2:379
10342 #, no-wrap
10343 msgid "0x00004B34\tKDADDIO\tint\t// MORE\n"
10344 msgstr ""
10345
10346 #. type: tbl table
10347 #: build/C/man2/ioctl_list.2:380
10348 #, no-wrap
10349 msgid "0x00004B35\tKDDELIO\tint\t// MORE\n"
10350 msgstr ""
10351
10352 #. type: tbl table
10353 #: build/C/man2/ioctl_list.2:381
10354 #, no-wrap
10355 msgid "0x00004B36\tKDENABIO\tvoid\t// MORE\n"
10356 msgstr ""
10357
10358 #. type: tbl table
10359 #: build/C/man2/ioctl_list.2:382
10360 #, no-wrap
10361 msgid "0x00004B37\tKDDISABIO\tvoid\t// MORE\n"
10362 msgstr ""
10363
10364 #. type: tbl table
10365 #: build/C/man2/ioctl_list.2:383
10366 #, no-wrap
10367 msgid "0x00004B3A\tKDSETMODE\tint\n"
10368 msgstr ""
10369
10370 #. type: tbl table
10371 #: build/C/man2/ioctl_list.2:384
10372 #, no-wrap
10373 msgid "0x00004B3B\tKDGETMODE\tint *\n"
10374 msgstr ""
10375
10376 #. type: tbl table
10377 #: build/C/man2/ioctl_list.2:385
10378 #, no-wrap
10379 msgid "0x00004B3C\tKDMAPDISP\tvoid\t// MORE\n"
10380 msgstr ""
10381
10382 #. type: tbl table
10383 #: build/C/man2/ioctl_list.2:386
10384 #, no-wrap
10385 msgid "0x00004B3D\tKDUNMAPDISP\tvoid\t// MORE\n"
10386 msgstr ""
10387
10388 #. type: tbl table
10389 #: build/C/man2/ioctl_list.2:387
10390 #, no-wrap
10391 msgid "0x00004B40\tGIO_SCRNMAP\tstruct { char [E_TABSZ]; } *\n"
10392 msgstr ""
10393
10394 #. type: tbl table
10395 #: build/C/man2/ioctl_list.2:388
10396 #, no-wrap
10397 msgid "0x00004B41\tPIO_SCRNMAP\tconst struct { char [E_TABSZ]; } *\n"
10398 msgstr ""
10399
10400 #. type: tbl table
10401 #: build/C/man2/ioctl_list.2:389
10402 #, no-wrap
10403 msgid "0x00004B69\tGIO_UNISCRNMAP\tstruct { short [E_TABSZ]; } *\n"
10404 msgstr ""
10405
10406 #. type: tbl table
10407 #: build/C/man2/ioctl_list.2:390
10408 #, no-wrap
10409 msgid "0x00004B6A\tPIO_UNISCRNMAP\tconst struct { short [E_TABSZ]; } *\n"
10410 msgstr ""
10411
10412 #. type: tbl table
10413 #: build/C/man2/ioctl_list.2:391
10414 #, no-wrap
10415 msgid "0x00004B66\tGIO_UNIMAP\tstruct unimapdesc *\t// MORE // I-O\n"
10416 msgstr ""
10417
10418 #. type: tbl table
10419 #: build/C/man2/ioctl_list.2:392
10420 #, no-wrap
10421 msgid "0x00004B67\tPIO_UNIMAP\tconst struct unimapdesc *\t// MORE\n"
10422 msgstr ""
10423
10424 #. type: tbl table
10425 #: build/C/man2/ioctl_list.2:393
10426 #, no-wrap
10427 msgid "0x00004B68\tPIO_UNIMAPCLR\tconst struct unimapinit *\n"
10428 msgstr ""
10429
10430 #. type: tbl table
10431 #: build/C/man2/ioctl_list.2:394
10432 #, no-wrap
10433 msgid "0x00004B44\tKDGKBMODE\tint *\n"
10434 msgstr ""
10435
10436 #. type: tbl table
10437 #: build/C/man2/ioctl_list.2:395
10438 #, no-wrap
10439 msgid "0x00004B45\tKDSKBMODE\tint\n"
10440 msgstr ""
10441
10442 #. type: tbl table
10443 #: build/C/man2/ioctl_list.2:396
10444 #, no-wrap
10445 msgid "0x00004B62\tKDGKBMETA\tint *\n"
10446 msgstr ""
10447
10448 #. type: tbl table
10449 #: build/C/man2/ioctl_list.2:397
10450 #, no-wrap
10451 msgid "0x00004B63\tKDSKBMETA\tint\n"
10452 msgstr ""
10453
10454 #. type: tbl table
10455 #: build/C/man2/ioctl_list.2:398
10456 #, no-wrap
10457 msgid "0x00004B64\tKDGKBLED\tint *\n"
10458 msgstr ""
10459
10460 #. type: tbl table
10461 #: build/C/man2/ioctl_list.2:399
10462 #, no-wrap
10463 msgid "0x00004B65\tKDSKBLED\tint\n"
10464 msgstr ""
10465
10466 #. type: tbl table
10467 #: build/C/man2/ioctl_list.2:400
10468 #, no-wrap
10469 msgid "0x00004B46\tKDGKBENT\tstruct kbentry *\t// I-O\n"
10470 msgstr ""
10471
10472 #. type: tbl table
10473 #: build/C/man2/ioctl_list.2:401
10474 #, no-wrap
10475 msgid "0x00004B47\tKDSKBENT\tconst struct kbentry *\n"
10476 msgstr ""
10477
10478 #. type: tbl table
10479 #: build/C/man2/ioctl_list.2:402
10480 #, no-wrap
10481 msgid "0x00004B48\tKDGKBSENT\tstruct kbsentry *\t// I-O\n"
10482 msgstr ""
10483
10484 #. type: tbl table
10485 #: build/C/man2/ioctl_list.2:403
10486 #, no-wrap
10487 msgid "0x00004B49\tKDSKBSENT\tconst struct kbsentry *\n"
10488 msgstr ""
10489
10490 #. type: tbl table
10491 #: build/C/man2/ioctl_list.2:404
10492 #, no-wrap
10493 msgid "0x00004B4A\tKDGKBDIACR\tstruct kbdiacrs *\n"
10494 msgstr ""
10495
10496 #. type: tbl table
10497 #: build/C/man2/ioctl_list.2:405
10498 #, no-wrap
10499 msgid "0x00004B4B\tKDSKBDIACR\tconst struct kbdiacrs *\n"
10500 msgstr ""
10501
10502 #. type: tbl table
10503 #: build/C/man2/ioctl_list.2:406
10504 #, no-wrap
10505 msgid "0x00004B4C\tKDGETKEYCODE\tstruct kbkeycode *\t// I-O\n"
10506 msgstr ""
10507
10508 #. type: tbl table
10509 #: build/C/man2/ioctl_list.2:407
10510 #, no-wrap
10511 msgid "0x00004B4D\tKDSETKEYCODE\tconst struct kbkeycode *\n"
10512 msgstr ""
10513
10514 #. type: tbl table
10515 #: build/C/man2/ioctl_list.2:408
10516 #, no-wrap
10517 msgid "0x00004B4E\tKDSIGACCEPT\tint\n"
10518 msgstr ""
10519
10520 #. type: Plain text
10521 #: build/C/man2/ioctl_list.2:412
10522 msgid "// E<lt>include/linux/lp.hE<gt>"
10523 msgstr ""
10524
10525 #. type: tbl table
10526 #: build/C/man2/ioctl_list.2:414
10527 #, no-wrap
10528 msgid "0x00000601\tLPCHAR\tint\n"
10529 msgstr ""
10530
10531 #. type: tbl table
10532 #: build/C/man2/ioctl_list.2:415
10533 #, no-wrap
10534 msgid "0x00000602\tLPTIME\tint\n"
10535 msgstr ""
10536
10537 #. type: tbl table
10538 #: build/C/man2/ioctl_list.2:416
10539 #, no-wrap
10540 msgid "0x00000604\tLPABORT\tint\n"
10541 msgstr ""
10542
10543 #. type: tbl table
10544 #: build/C/man2/ioctl_list.2:417
10545 #, no-wrap
10546 msgid "0x00000605\tLPSETIRQ\tint\n"
10547 msgstr ""
10548
10549 #. type: tbl table
10550 #: build/C/man2/ioctl_list.2:418
10551 #, no-wrap
10552 msgid "0x00000606\tLPGETIRQ\tint *\n"
10553 msgstr ""
10554
10555 #. type: tbl table
10556 #: build/C/man2/ioctl_list.2:419
10557 #, no-wrap
10558 msgid "0x00000608\tLPWAIT\tint\n"
10559 msgstr ""
10560
10561 #. type: tbl table
10562 #: build/C/man2/ioctl_list.2:420
10563 #, no-wrap
10564 msgid "0x00000609\tLPCAREFUL\tint\n"
10565 msgstr ""
10566
10567 #. type: tbl table
10568 #: build/C/man2/ioctl_list.2:421
10569 #, no-wrap
10570 msgid "0x0000060A\tLPABORTOPEN\tint\n"
10571 msgstr ""
10572
10573 #. type: tbl table
10574 #: build/C/man2/ioctl_list.2:422
10575 #, no-wrap
10576 msgid "0x0000060B\tLPGETSTATUS\tint *\n"
10577 msgstr ""
10578
10579 #. type: tbl table
10580 #: build/C/man2/ioctl_list.2:423
10581 #, no-wrap
10582 msgid "0x0000060C\tLPRESET\tvoid\n"
10583 msgstr ""
10584
10585 #. type: tbl table
10586 #: build/C/man2/ioctl_list.2:424
10587 #, no-wrap
10588 msgid "0x0000060D\tLPGETSTATS\tstruct lp_stats *\n"
10589 msgstr ""
10590
10591 #. type: Plain text
10592 #: build/C/man2/ioctl_list.2:428
10593 msgid "// E<lt>include/linux/mroute.hE<gt>"
10594 msgstr ""
10595
10596 #. type: tbl table
10597 #: build/C/man2/ioctl_list.2:430
10598 #, no-wrap
10599 msgid "0x000089E0\tSIOCGETVIFCNT\tstruct sioc_vif_req *\t// I-O\n"
10600 msgstr ""
10601
10602 #. type: tbl table
10603 #: build/C/man2/ioctl_list.2:431
10604 #, no-wrap
10605 msgid "0x000089E1\tSIOCGETSGCNT\tstruct sioc_sg_req *\t// I-O\n"
10606 msgstr ""
10607
10608 #. type: Plain text
10609 #: build/C/man2/ioctl_list.2:435
10610 msgid "// E<lt>include/linux/mtio.hE<gt>"
10611 msgstr ""
10612
10613 #. type: tbl table
10614 #: build/C/man2/ioctl_list.2:437
10615 #, no-wrap
10616 msgid "0x40086D01\tMTIOCTOP\tconst struct mtop *\n"
10617 msgstr ""
10618
10619 #. type: tbl table
10620 #: build/C/man2/ioctl_list.2:438
10621 #, no-wrap
10622 msgid "0x801C6D02\tMTIOCGET\tstruct mtget *\n"
10623 msgstr ""
10624
10625 #. type: tbl table
10626 #: build/C/man2/ioctl_list.2:439
10627 #, no-wrap
10628 msgid "0x80046D03\tMTIOCPOS\tstruct mtpos *\n"
10629 msgstr ""
10630
10631 #. type: tbl table
10632 #: build/C/man2/ioctl_list.2:440
10633 #, no-wrap
10634 msgid "0x80206D04\tMTIOCGETCONFIG\tstruct mtconfiginfo *\n"
10635 msgstr ""
10636
10637 #. type: tbl table
10638 #: build/C/man2/ioctl_list.2:441
10639 #, no-wrap
10640 msgid "0x40206D05\tMTIOCSETCONFIG\tconst struct mtconfiginfo *\n"
10641 msgstr ""
10642
10643 #. type: Plain text
10644 #: build/C/man2/ioctl_list.2:445
10645 msgid "// E<lt>include/linux/netrom.hE<gt>"
10646 msgstr ""
10647
10648 #. type: tbl table
10649 #: build/C/man2/ioctl_list.2:447
10650 #, no-wrap
10651 msgid "0x000089E0\tSIOCNRGETPARMS\tstruct nr_parms_struct *\t// I-O\n"
10652 msgstr ""
10653
10654 #. type: tbl table
10655 #: build/C/man2/ioctl_list.2:448
10656 #, no-wrap
10657 msgid "0x000089E1\tSIOCNRSETPARMS\tconst struct nr_parms_struct *\n"
10658 msgstr ""
10659
10660 #. type: tbl table
10661 #: build/C/man2/ioctl_list.2:449
10662 #, no-wrap
10663 msgid "0x000089E2\tSIOCNRDECOBS\tvoid\n"
10664 msgstr ""
10665
10666 #. type: tbl table
10667 #: build/C/man2/ioctl_list.2:450
10668 #, no-wrap
10669 msgid "0x000089E3\tSIOCNRRTCTL\tconst int *\n"
10670 msgstr ""
10671
10672 #. type: Plain text
10673 #: build/C/man2/ioctl_list.2:454
10674 msgid "// E<lt>include/linux/sbpcd.hE<gt>"
10675 msgstr ""
10676
10677 #. type: tbl table
10678 #: build/C/man2/ioctl_list.2:456
10679 #, no-wrap
10680 msgid "0x00009000\tDDIOCSDBG\tconst int *\n"
10681 msgstr ""
10682
10683 #. type: tbl table
10684 #: build/C/man2/ioctl_list.2:457
10685 #, no-wrap
10686 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tint\n"
10687 msgstr ""
10688
10689 #. type: Plain text
10690 #: build/C/man2/ioctl_list.2:461
10691 msgid "// E<lt>include/linux/scc.hE<gt>"
10692 msgstr ""
10693
10694 #. type: tbl table
10695 #: build/C/man2/ioctl_list.2:463
10696 #, no-wrap
10697 msgid "0x00005470\tTIOCSCCINI\tvoid\n"
10698 msgstr ""
10699
10700 #. type: tbl table
10701 #: build/C/man2/ioctl_list.2:464
10702 #, no-wrap
10703 msgid "0x00005471\tTIOCCHANINI\tconst struct scc_modem *\n"
10704 msgstr ""
10705
10706 #. type: tbl table
10707 #: build/C/man2/ioctl_list.2:465
10708 #, no-wrap
10709 msgid "0x00005472\tTIOCGKISS\tstruct ioctl_command *\t// I-O\n"
10710 msgstr ""
10711
10712 #. type: tbl table
10713 #: build/C/man2/ioctl_list.2:466
10714 #, no-wrap
10715 msgid "0x00005473\tTIOCSKISS\tconst struct ioctl_command *\n"
10716 msgstr ""
10717
10718 #. type: tbl table
10719 #: build/C/man2/ioctl_list.2:467
10720 #, no-wrap
10721 msgid "0x00005474\tTIOCSCCSTAT\tstruct scc_stat *\n"
10722 msgstr ""
10723
10724 #. type: Plain text
10725 #: build/C/man2/ioctl_list.2:471
10726 msgid "// E<lt>include/linux/scsi.hE<gt>"
10727 msgstr ""
10728
10729 #. type: tbl table
10730 #: build/C/man2/ioctl_list.2:473
10731 #, no-wrap
10732 msgid "0x00005382\tSCSI_IOCTL_GET_IDLUN\tstruct { int [2]; } *\n"
10733 msgstr ""
10734
10735 #. type: tbl table
10736 #: build/C/man2/ioctl_list.2:474
10737 #, no-wrap
10738 msgid "0x00005383\tSCSI_IOCTL_TAGGED_ENABLE\tvoid\n"
10739 msgstr ""
10740
10741 #. type: tbl table
10742 #: build/C/man2/ioctl_list.2:475
10743 #, no-wrap
10744 msgid "0x00005384\tSCSI_IOCTL_TAGGED_DISABLE\tvoid\n"
10745 msgstr ""
10746
10747 #. type: tbl table
10748 #: build/C/man2/ioctl_list.2:476
10749 #, no-wrap
10750 msgid "0x00005385\tSCSI_IOCTL_PROBE_HOST\tconst int *\t// MORE\n"
10751 msgstr ""
10752
10753 #. type: Plain text
10754 #: build/C/man2/ioctl_list.2:480
10755 msgid "// E<lt>include/linux/smb_fs.hE<gt>"
10756 msgstr ""
10757
10758 #. type: tbl table
10759 #: build/C/man2/ioctl_list.2:482
10760 #, no-wrap
10761 msgid "0x80027501\tSMB_IOC_GETMOUNTUID\tuid_t *\n"
10762 msgstr ""
10763
10764 #. type: Plain text
10765 #: build/C/man2/ioctl_list.2:486
10766 msgid "// E<lt>include/linux/sockios.hE<gt>"
10767 msgstr ""
10768
10769 #. type: tbl table
10770 #: build/C/man2/ioctl_list.2:488
10771 #, no-wrap
10772 msgid "0x0000890B\tSIOCADDRT\tconst struct rtentry *\t// MORE\n"
10773 msgstr ""
10774
10775 #. type: tbl table
10776 #: build/C/man2/ioctl_list.2:489
10777 #, no-wrap
10778 msgid "0x0000890C\tSIOCDELRT\tconst struct rtentry *\t// MORE\n"
10779 msgstr ""
10780
10781 #. type: tbl table
10782 #: build/C/man2/ioctl_list.2:490
10783 #, no-wrap
10784 msgid "0x00008910\tSIOCGIFNAME\tchar []\n"
10785 msgstr ""
10786
10787 #. type: tbl table
10788 #: build/C/man2/ioctl_list.2:491
10789 #, no-wrap
10790 msgid "0x00008911\tSIOCSIFLINK\tvoid\n"
10791 msgstr ""
10792
10793 #. type: tbl table
10794 #: build/C/man2/ioctl_list.2:492
10795 #, no-wrap
10796 msgid "0x00008912\tSIOCGIFCONF\tstruct ifconf *\t// MORE // I-O\n"
10797 msgstr ""
10798
10799 #. type: tbl table
10800 #: build/C/man2/ioctl_list.2:493
10801 #, no-wrap
10802 msgid "0x00008913\tSIOCGIFFLAGS\tstruct ifreq *\t// I-O\n"
10803 msgstr ""
10804
10805 #. type: tbl table
10806 #: build/C/man2/ioctl_list.2:494
10807 #, no-wrap
10808 msgid "0x00008914\tSIOCSIFFLAGS\tconst struct ifreq *\n"
10809 msgstr ""
10810
10811 #. type: tbl table
10812 #: build/C/man2/ioctl_list.2:495
10813 #, no-wrap
10814 msgid "0x00008915\tSIOCGIFADDR\tstruct ifreq *\t// I-O\n"
10815 msgstr ""
10816
10817 #. type: tbl table
10818 #: build/C/man2/ioctl_list.2:496
10819 #, no-wrap
10820 msgid "0x00008916\tSIOCSIFADDR\tconst struct ifreq *\n"
10821 msgstr ""
10822
10823 #. type: tbl table
10824 #: build/C/man2/ioctl_list.2:497
10825 #, no-wrap
10826 msgid "0x00008917\tSIOCGIFDSTADDR\tstruct ifreq *\t// I-O\n"
10827 msgstr ""
10828
10829 #. type: tbl table
10830 #: build/C/man2/ioctl_list.2:498
10831 #, no-wrap
10832 msgid "0x00008918\tSIOCSIFDSTADDR\tconst struct ifreq *\n"
10833 msgstr ""
10834
10835 #. type: tbl table
10836 #: build/C/man2/ioctl_list.2:499
10837 #, no-wrap
10838 msgid "0x00008919\tSIOCGIFBRDADDR\tstruct ifreq *\t// I-O\n"
10839 msgstr ""
10840
10841 #. type: tbl table
10842 #: build/C/man2/ioctl_list.2:500
10843 #, no-wrap
10844 msgid "0x0000891A\tSIOCSIFBRDADDR\tconst struct ifreq *\n"
10845 msgstr ""
10846
10847 #. type: tbl table
10848 #: build/C/man2/ioctl_list.2:501
10849 #, no-wrap
10850 msgid "0x0000891B\tSIOCGIFNETMASK\tstruct ifreq *\t// I-O\n"
10851 msgstr ""
10852
10853 #. type: tbl table
10854 #: build/C/man2/ioctl_list.2:502
10855 #, no-wrap
10856 msgid "0x0000891C\tSIOCSIFNETMASK\tconst struct ifreq *\n"
10857 msgstr ""
10858
10859 #. type: tbl table
10860 #: build/C/man2/ioctl_list.2:503
10861 #, no-wrap
10862 msgid "0x0000891D\tSIOCGIFMETRIC\tstruct ifreq *\t// I-O\n"
10863 msgstr ""
10864
10865 #. type: tbl table
10866 #: build/C/man2/ioctl_list.2:504
10867 #, no-wrap
10868 msgid "0x0000891E\tSIOCSIFMETRIC\tconst struct ifreq *\n"
10869 msgstr ""
10870
10871 #. type: tbl table
10872 #: build/C/man2/ioctl_list.2:505
10873 #, no-wrap
10874 msgid "0x0000891F\tSIOCGIFMEM\tstruct ifreq *\t// I-O\n"
10875 msgstr ""
10876
10877 #. type: tbl table
10878 #: build/C/man2/ioctl_list.2:506
10879 #, no-wrap
10880 msgid "0x00008920\tSIOCSIFMEM\tconst struct ifreq *\n"
10881 msgstr ""
10882
10883 #. type: tbl table
10884 #: build/C/man2/ioctl_list.2:507
10885 #, no-wrap
10886 msgid "0x00008921\tSIOCGIFMTU\tstruct ifreq *\t// I-O\n"
10887 msgstr ""
10888
10889 #. type: tbl table
10890 #: build/C/man2/ioctl_list.2:508
10891 #, no-wrap
10892 msgid "0x00008922\tSIOCSIFMTU\tconst struct ifreq *\n"
10893 msgstr ""
10894
10895 #. type: tbl table
10896 #: build/C/man2/ioctl_list.2:509
10897 #, no-wrap
10898 msgid "0x00008923\tOLD_SIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
10899 msgstr ""
10900
10901 #. type: tbl table
10902 #: build/C/man2/ioctl_list.2:510
10903 #, no-wrap
10904 msgid "0x00008924\tSIOCSIFHWADDR\tconst struct ifreq *\t// MORE\n"
10905 msgstr ""
10906
10907 #. type: tbl table
10908 #: build/C/man2/ioctl_list.2:511
10909 #, no-wrap
10910 msgid "0x00008925\tSIOCGIFENCAP\tint *\n"
10911 msgstr ""
10912
10913 #. type: tbl table
10914 #: build/C/man2/ioctl_list.2:512
10915 #, no-wrap
10916 msgid "0x00008926\tSIOCSIFENCAP\tconst int *\n"
10917 msgstr ""
10918
10919 #. type: tbl table
10920 #: build/C/man2/ioctl_list.2:513
10921 #, no-wrap
10922 msgid "0x00008927\tSIOCGIFHWADDR\tstruct ifreq *\t// I-O\n"
10923 msgstr ""
10924
10925 #. type: tbl table
10926 #: build/C/man2/ioctl_list.2:514
10927 #, no-wrap
10928 msgid "0x00008929\tSIOCGIFSLAVE\tvoid\n"
10929 msgstr ""
10930
10931 #. type: tbl table
10932 #: build/C/man2/ioctl_list.2:515
10933 #, no-wrap
10934 msgid "0x00008930\tSIOCSIFSLAVE\tvoid\n"
10935 msgstr ""
10936
10937 #. type: tbl table
10938 #: build/C/man2/ioctl_list.2:516
10939 #, no-wrap
10940 msgid "0x00008931\tSIOCADDMULTI\tconst struct ifreq *\n"
10941 msgstr ""
10942
10943 #. type: tbl table
10944 #: build/C/man2/ioctl_list.2:517
10945 #, no-wrap
10946 msgid "0x00008932\tSIOCDELMULTI\tconst struct ifreq *\n"
10947 msgstr ""
10948
10949 #. type: tbl table
10950 #: build/C/man2/ioctl_list.2:518
10951 #, no-wrap
10952 msgid "0x00008940\tSIOCADDRTOLD\tvoid\n"
10953 msgstr ""
10954
10955 #. type: tbl table
10956 #: build/C/man2/ioctl_list.2:519
10957 #, no-wrap
10958 msgid "0x00008941\tSIOCDELRTOLD\tvoid\n"
10959 msgstr ""
10960
10961 #. type: tbl table
10962 #: build/C/man2/ioctl_list.2:520
10963 #, no-wrap
10964 msgid "0x00008950\tSIOCDARP\tconst struct arpreq *\n"
10965 msgstr ""
10966
10967 #. type: tbl table
10968 #: build/C/man2/ioctl_list.2:521
10969 #, no-wrap
10970 msgid "0x00008951\tSIOCGARP\tstruct arpreq *\t// I-O\n"
10971 msgstr ""
10972
10973 #. type: tbl table
10974 #: build/C/man2/ioctl_list.2:522
10975 #, no-wrap
10976 msgid "0x00008952\tSIOCSARP\tconst struct arpreq *\n"
10977 msgstr ""
10978
10979 #. type: tbl table
10980 #: build/C/man2/ioctl_list.2:523
10981 #, no-wrap
10982 msgid "0x00008960\tSIOCDRARP\tconst struct arpreq *\n"
10983 msgstr ""
10984
10985 #. type: tbl table
10986 #: build/C/man2/ioctl_list.2:524
10987 #, no-wrap
10988 msgid "0x00008961\tSIOCGRARP\tstruct arpreq *\t// I-O\n"
10989 msgstr ""
10990
10991 #. type: tbl table
10992 #: build/C/man2/ioctl_list.2:525
10993 #, no-wrap
10994 msgid "0x00008962\tSIOCSRARP\tconst struct arpreq *\n"
10995 msgstr ""
10996
10997 #. type: tbl table
10998 #: build/C/man2/ioctl_list.2:526
10999 #, no-wrap
11000 msgid "0x00008970\tSIOCGIFMAP\tstruct ifreq *\t// I-O\n"
11001 msgstr ""
11002
11003 #. type: tbl table
11004 #: build/C/man2/ioctl_list.2:527
11005 #, no-wrap
11006 msgid "0x00008971\tSIOCSIFMAP\tconst struct ifreq *\n"
11007 msgstr ""
11008
11009 #. type: Plain text
11010 #: build/C/man2/ioctl_list.2:531
11011 msgid "// E<lt>include/linux/soundcard.hE<gt>"
11012 msgstr ""
11013
11014 #. type: tbl table
11015 #: build/C/man2/ioctl_list.2:533
11016 #, no-wrap
11017 msgid "0x00005100\tSNDCTL_SEQ_RESET\tvoid\n"
11018 msgstr ""
11019
11020 #. type: tbl table
11021 #: build/C/man2/ioctl_list.2:534
11022 #, no-wrap
11023 msgid "0x00005101\tSNDCTL_SEQ_SYNC\tvoid\n"
11024 msgstr ""
11025
11026 #. type: tbl table
11027 #: build/C/man2/ioctl_list.2:535
11028 #, no-wrap
11029 msgid "0xC08C5102\tSNDCTL_SYNTH_INFO\tstruct synth_info *\t// I-O\n"
11030 msgstr ""
11031
11032 #. type: tbl table
11033 #: build/C/man2/ioctl_list.2:536
11034 #, no-wrap
11035 msgid "0xC0045103\tSNDCTL_SEQ_CTRLRATE\tint *\t// I-O\n"
11036 msgstr ""
11037
11038 #. type: tbl table
11039 #: build/C/man2/ioctl_list.2:537
11040 #, no-wrap
11041 msgid "0x80045104\tSNDCTL_SEQ_GETOUTCOUNT\tint *\n"
11042 msgstr ""
11043
11044 #. type: tbl table
11045 #: build/C/man2/ioctl_list.2:538
11046 #, no-wrap
11047 msgid "0x80045105\tSNDCTL_SEQ_GETINCOUNT\tint *\n"
11048 msgstr ""
11049
11050 #. type: tbl table
11051 #: build/C/man2/ioctl_list.2:539
11052 #, no-wrap
11053 msgid "0x40045106\tSNDCTL_SEQ_PERCMODE\tvoid\n"
11054 msgstr ""
11055
11056 #. type: tbl table
11057 #: build/C/man2/ioctl_list.2:540
11058 #, no-wrap
11059 msgid "0x40285107\tSNDCTL_FM_LOAD_INSTR\tconst struct sbi_instrument *\n"
11060 msgstr ""
11061
11062 #. type: tbl table
11063 #: build/C/man2/ioctl_list.2:541
11064 #, no-wrap
11065 msgid "0x40045108\tSNDCTL_SEQ_TESTMIDI\tconst int *\n"
11066 msgstr ""
11067
11068 #. type: tbl table
11069 #: build/C/man2/ioctl_list.2:542
11070 #, no-wrap
11071 msgid "0x40045109\tSNDCTL_SEQ_RESETSAMPLES\tconst int *\n"
11072 msgstr ""
11073
11074 #. type: tbl table
11075 #: build/C/man2/ioctl_list.2:543
11076 #, no-wrap
11077 msgid "0x8004510A\tSNDCTL_SEQ_NRSYNTHS\tint *\n"
11078 msgstr ""
11079
11080 #. type: tbl table
11081 #: build/C/man2/ioctl_list.2:544
11082 #, no-wrap
11083 msgid "0x8004510B\tSNDCTL_SEQ_NRMIDIS\tint *\n"
11084 msgstr ""
11085
11086 #. type: tbl table
11087 #: build/C/man2/ioctl_list.2:545
11088 #, no-wrap
11089 msgid "0xC074510C\tSNDCTL_MIDI_INFO\tstruct midi_info *\t// I-O\n"
11090 msgstr ""
11091
11092 #. type: tbl table
11093 #: build/C/man2/ioctl_list.2:546
11094 #, no-wrap
11095 msgid "0x4004510D\tSNDCTL_SEQ_THRESHOLD\tconst int *\n"
11096 msgstr ""
11097
11098 #. type: tbl table
11099 #: build/C/man2/ioctl_list.2:547
11100 #, no-wrap
11101 msgid "0xC004510E\tSNDCTL_SYNTH_MEMAVL\tint *\t// I-O\n"
11102 msgstr ""
11103
11104 #. type: tbl table
11105 #: build/C/man2/ioctl_list.2:548
11106 #, no-wrap
11107 msgid "0x4004510F\tSNDCTL_FM_4OP_ENABLE\tconst int *\n"
11108 msgstr ""
11109
11110 #. type: tbl table
11111 #: build/C/man2/ioctl_list.2:549
11112 #, no-wrap
11113 msgid "0xCFB85110\tSNDCTL_PMGR_ACCESS\tstruct patmgr_info *\t// I-O\n"
11114 msgstr ""
11115
11116 #. type: tbl table
11117 #: build/C/man2/ioctl_list.2:550
11118 #, no-wrap
11119 msgid "0x00005111\tSNDCTL_SEQ_PANIC\tvoid\n"
11120 msgstr ""
11121
11122 #. type: tbl table
11123 #: build/C/man2/ioctl_list.2:551
11124 #, no-wrap
11125 msgid "0x40085112\tSNDCTL_SEQ_OUTOFBAND\tconst struct seq_event_rec *\n"
11126 msgstr ""
11127
11128 #. type: tbl table
11129 #: build/C/man2/ioctl_list.2:552
11130 #, no-wrap
11131 msgid "0xC0045401\tSNDCTL_TMR_TIMEBASE\tint *\t// I-O\n"
11132 msgstr ""
11133
11134 #. type: tbl table
11135 #: build/C/man2/ioctl_list.2:553
11136 #, no-wrap
11137 msgid "0x00005402\tSNDCTL_TMR_START\tvoid\n"
11138 msgstr ""
11139
11140 #. type: tbl table
11141 #: build/C/man2/ioctl_list.2:554
11142 #, no-wrap
11143 msgid "0x00005403\tSNDCTL_TMR_STOP\tvoid\n"
11144 msgstr ""
11145
11146 #. type: tbl table
11147 #: build/C/man2/ioctl_list.2:555
11148 #, no-wrap
11149 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tvoid\n"
11150 msgstr ""
11151
11152 #. type: tbl table
11153 #: build/C/man2/ioctl_list.2:556
11154 #, no-wrap
11155 msgid "0xC0045405\tSNDCTL_TMR_TEMPO\tint *\t// I-O\n"
11156 msgstr ""
11157
11158 #. type: tbl table
11159 #: build/C/man2/ioctl_list.2:557
11160 #, no-wrap
11161 msgid "0xC0045406\tSNDCTL_TMR_SOURCE\tint *\t// I-O\n"
11162 msgstr ""
11163
11164 #. type: tbl table
11165 #: build/C/man2/ioctl_list.2:558
11166 #, no-wrap
11167 msgid "0x40045407\tSNDCTL_TMR_METRONOME\tconst int *\n"
11168 msgstr ""
11169
11170 #. type: tbl table
11171 #: build/C/man2/ioctl_list.2:559
11172 #, no-wrap
11173 msgid "0x40045408\tSNDCTL_TMR_SELECT\tint *\t// I-O\n"
11174 msgstr ""
11175
11176 #. type: tbl table
11177 #: build/C/man2/ioctl_list.2:560
11178 #, no-wrap
11179 msgid "0xCFB85001\tSNDCTL_PMGR_IFACE\tstruct patmgr_info *\t// I-O\n"
11180 msgstr ""
11181
11182 #. type: tbl table
11183 #: build/C/man2/ioctl_list.2:561
11184 #, no-wrap
11185 msgid "0xC0046D00\tSNDCTL_MIDI_PRETIME\tint *\t// I-O\n"
11186 msgstr ""
11187
11188 #. type: tbl table
11189 #: build/C/man2/ioctl_list.2:562
11190 #, no-wrap
11191 msgid "0xC0046D01\tSNDCTL_MIDI_MPUMODE\tconst int *\n"
11192 msgstr ""
11193
11194 #. type: tbl table
11195 #: build/C/man2/ioctl_list.2:563
11196 #, no-wrap
11197 msgid "0xC0216D02\tSNDCTL_MIDI_MPUCMD\tstruct mpu_command_rec *\t// I-O\n"
11198 msgstr ""
11199
11200 #. type: tbl table
11201 #: build/C/man2/ioctl_list.2:564
11202 #, no-wrap
11203 msgid "0x00005000\tSNDCTL_DSP_RESET\tvoid\n"
11204 msgstr ""
11205
11206 #. type: tbl table
11207 #: build/C/man2/ioctl_list.2:565
11208 #, no-wrap
11209 msgid "0x00005001\tSNDCTL_DSP_SYNC\tvoid\n"
11210 msgstr ""
11211
11212 #. type: tbl table
11213 #: build/C/man2/ioctl_list.2:566
11214 #, no-wrap
11215 msgid "0xC0045002\tSNDCTL_DSP_SPEED\tint *\t// I-O\n"
11216 msgstr ""
11217
11218 #. type: tbl table
11219 #: build/C/man2/ioctl_list.2:567
11220 #, no-wrap
11221 msgid "0xC0045003\tSNDCTL_DSP_STEREO\tint *\t// I-O\n"
11222 msgstr ""
11223
11224 #. type: tbl table
11225 #: build/C/man2/ioctl_list.2:568
11226 #, no-wrap
11227 msgid "0xC0045004\tSNDCTL_DSP_GETBLKSIZE\tint *\t// I-O\n"
11228 msgstr ""
11229
11230 #. type: tbl table
11231 #: build/C/man2/ioctl_list.2:569
11232 #, no-wrap
11233 msgid "0xC0045006\tSOUND_PCM_WRITE_CHANNELS\tint *\t// I-O\n"
11234 msgstr ""
11235
11236 #. type: tbl table
11237 #: build/C/man2/ioctl_list.2:570
11238 #, no-wrap
11239 msgid "0xC0045007\tSOUND_PCM_WRITE_FILTER\tint *\t// I-O\n"
11240 msgstr ""
11241
11242 #. type: tbl table
11243 #: build/C/man2/ioctl_list.2:571
11244 #, no-wrap
11245 msgid "0x00005008\tSNDCTL_DSP_POST\tvoid\n"
11246 msgstr ""
11247
11248 #. type: tbl table
11249 #: build/C/man2/ioctl_list.2:572
11250 #, no-wrap
11251 msgid "0xC0045009\tSNDCTL_DSP_SUBDIVIDE\tint *\t// I-O\n"
11252 msgstr ""
11253
11254 #. type: tbl table
11255 #: build/C/man2/ioctl_list.2:573
11256 #, no-wrap
11257 msgid "0xC004500A\tSNDCTL_DSP_SETFRAGMENT\tint *\t// I-O\n"
11258 msgstr ""
11259
11260 #. type: tbl table
11261 #: build/C/man2/ioctl_list.2:574
11262 #, no-wrap
11263 msgid "0x8004500B\tSNDCTL_DSP_GETFMTS\tint *\n"
11264 msgstr ""
11265
11266 #. type: tbl table
11267 #: build/C/man2/ioctl_list.2:575
11268 #, no-wrap
11269 msgid "0xC0045005\tSNDCTL_DSP_SETFMT\tint *\t// I-O\n"
11270 msgstr ""
11271
11272 #. type: tbl table
11273 #: build/C/man2/ioctl_list.2:576
11274 #, no-wrap
11275 msgid "0x800C500C\tSNDCTL_DSP_GETOSPACE\tstruct audio_buf_info *\n"
11276 msgstr ""
11277
11278 #. type: tbl table
11279 #: build/C/man2/ioctl_list.2:577
11280 #, no-wrap
11281 msgid "0x800C500D\tSNDCTL_DSP_GETISPACE\tstruct audio_buf_info *\n"
11282 msgstr ""
11283
11284 #. type: tbl table
11285 #: build/C/man2/ioctl_list.2:578
11286 #, no-wrap
11287 msgid "0x0000500E\tSNDCTL_DSP_NONBLOCK\tvoid\n"
11288 msgstr ""
11289
11290 #. type: tbl table
11291 #: build/C/man2/ioctl_list.2:579
11292 #, no-wrap
11293 msgid "0x80045002\tSOUND_PCM_READ_RATE\tint *\n"
11294 msgstr ""
11295
11296 #. type: tbl table
11297 #: build/C/man2/ioctl_list.2:580
11298 #, no-wrap
11299 msgid "0x80045006\tSOUND_PCM_READ_CHANNELS\tint *\n"
11300 msgstr ""
11301
11302 #. type: tbl table
11303 #: build/C/man2/ioctl_list.2:581
11304 #, no-wrap
11305 msgid "0x80045005\tSOUND_PCM_READ_BITS\tint *\n"
11306 msgstr ""
11307
11308 #. type: tbl table
11309 #: build/C/man2/ioctl_list.2:582
11310 #, no-wrap
11311 msgid "0x80045007\tSOUND_PCM_READ_FILTER\tint *\n"
11312 msgstr ""
11313
11314 #. type: tbl table
11315 #: build/C/man2/ioctl_list.2:583
11316 #, no-wrap
11317 msgid "0x00004300\tSNDCTL_COPR_RESET\tvoid\n"
11318 msgstr ""
11319
11320 #. type: tbl table
11321 #: build/C/man2/ioctl_list.2:584
11322 #, no-wrap
11323 msgid "0xCFB04301\tSNDCTL_COPR_LOAD\tconst struct copr_buffer *\n"
11324 msgstr ""
11325
11326 #. type: tbl table
11327 #: build/C/man2/ioctl_list.2:585
11328 #, no-wrap
11329 msgid "0xC0144302\tSNDCTL_COPR_RDATA\tstruct copr_debug_buf *\t// I-O\n"
11330 msgstr ""
11331
11332 #. type: tbl table
11333 #: build/C/man2/ioctl_list.2:586
11334 #, no-wrap
11335 msgid "0xC0144303\tSNDCTL_COPR_RCODE\tstruct copr_debug_buf *\t// I-O\n"
11336 msgstr ""
11337
11338 #. type: tbl table
11339 #: build/C/man2/ioctl_list.2:587
11340 #, no-wrap
11341 msgid "0x40144304\tSNDCTL_COPR_WDATA\tconst struct copr_debug_buf *\n"
11342 msgstr ""
11343
11344 #. type: tbl table
11345 #: build/C/man2/ioctl_list.2:588
11346 #, no-wrap
11347 msgid "0x40144305\tSNDCTL_COPR_WCODE\tconst struct copr_debug_buf *\n"
11348 msgstr ""
11349
11350 #. type: tbl table
11351 #: build/C/man2/ioctl_list.2:589
11352 #, no-wrap
11353 msgid "0xC0144306\tSNDCTL_COPR_RUN\tstruct copr_debug_buf *\t// I-O\n"
11354 msgstr ""
11355
11356 #. type: tbl table
11357 #: build/C/man2/ioctl_list.2:590
11358 #, no-wrap
11359 msgid "0xC0144307\tSNDCTL_COPR_HALT\tstruct copr_debug_buf *\t// I-O\n"
11360 msgstr ""
11361
11362 #. type: tbl table
11363 #: build/C/man2/ioctl_list.2:591
11364 #, no-wrap
11365 msgid "0x4FA44308\tSNDCTL_COPR_SENDMSG\tconst struct copr_msg *\n"
11366 msgstr ""
11367
11368 #. type: tbl table
11369 #: build/C/man2/ioctl_list.2:592
11370 #, no-wrap
11371 msgid "0x8FA44309\tSNDCTL_COPR_RCVMSG\tstruct copr_msg *\n"
11372 msgstr ""
11373
11374 #. type: tbl table
11375 #: build/C/man2/ioctl_list.2:593
11376 #, no-wrap
11377 msgid "0x80044D00\tSOUND_MIXER_READ_VOLUME\tint *\n"
11378 msgstr ""
11379
11380 #. type: tbl table
11381 #: build/C/man2/ioctl_list.2:594
11382 #, no-wrap
11383 msgid "0x80044D01\tSOUND_MIXER_READ_BASS\tint *\n"
11384 msgstr ""
11385
11386 #. type: tbl table
11387 #: build/C/man2/ioctl_list.2:595
11388 #, no-wrap
11389 msgid "0x80044D02\tSOUND_MIXER_READ_TREBLE\tint *\n"
11390 msgstr ""
11391
11392 #. type: tbl table
11393 #: build/C/man2/ioctl_list.2:596
11394 #, no-wrap
11395 msgid "0x80044D03\tSOUND_MIXER_READ_SYNTH\tint *\n"
11396 msgstr ""
11397
11398 #. type: tbl table
11399 #: build/C/man2/ioctl_list.2:597
11400 #, no-wrap
11401 msgid "0x80044D04\tSOUND_MIXER_READ_PCM\tint *\n"
11402 msgstr ""
11403
11404 #. type: tbl table
11405 #: build/C/man2/ioctl_list.2:598
11406 #, no-wrap
11407 msgid "0x80044D05\tSOUND_MIXER_READ_SPEAKER\tint *\n"
11408 msgstr ""
11409
11410 #. type: tbl table
11411 #: build/C/man2/ioctl_list.2:599
11412 #, no-wrap
11413 msgid "0x80044D06\tSOUND_MIXER_READ_LINE\tint *\n"
11414 msgstr ""
11415
11416 #. type: tbl table
11417 #: build/C/man2/ioctl_list.2:600
11418 #, no-wrap
11419 msgid "0x80044D07\tSOUND_MIXER_READ_MIC\tint *\n"
11420 msgstr ""
11421
11422 #. type: tbl table
11423 #: build/C/man2/ioctl_list.2:601
11424 #, no-wrap
11425 msgid "0x80044D08\tSOUND_MIXER_READ_CD\tint *\n"
11426 msgstr ""
11427
11428 #. type: tbl table
11429 #: build/C/man2/ioctl_list.2:602
11430 #, no-wrap
11431 msgid "0x80044D09\tSOUND_MIXER_READ_IMIX\tint *\n"
11432 msgstr ""
11433
11434 #. type: tbl table
11435 #: build/C/man2/ioctl_list.2:603
11436 #, no-wrap
11437 msgid "0x80044D0A\tSOUND_MIXER_READ_ALTPCM\tint *\n"
11438 msgstr ""
11439
11440 #. type: tbl table
11441 #: build/C/man2/ioctl_list.2:604
11442 #, no-wrap
11443 msgid "0x80044D0B\tSOUND_MIXER_READ_RECLEV\tint *\n"
11444 msgstr ""
11445
11446 #. type: tbl table
11447 #: build/C/man2/ioctl_list.2:605
11448 #, no-wrap
11449 msgid "0x80044D0C\tSOUND_MIXER_READ_IGAIN\tint *\n"
11450 msgstr ""
11451
11452 #. type: tbl table
11453 #: build/C/man2/ioctl_list.2:606
11454 #, no-wrap
11455 msgid "0x80044D0D\tSOUND_MIXER_READ_OGAIN\tint *\n"
11456 msgstr ""
11457
11458 #. type: tbl table
11459 #: build/C/man2/ioctl_list.2:607
11460 #, no-wrap
11461 msgid "0x80044D0E\tSOUND_MIXER_READ_LINE1\tint *\n"
11462 msgstr ""
11463
11464 #. type: tbl table
11465 #: build/C/man2/ioctl_list.2:608
11466 #, no-wrap
11467 msgid "0x80044D0F\tSOUND_MIXER_READ_LINE2\tint *\n"
11468 msgstr ""
11469
11470 #. type: tbl table
11471 #: build/C/man2/ioctl_list.2:609
11472 #, no-wrap
11473 msgid "0x80044D10\tSOUND_MIXER_READ_LINE3\tint *\n"
11474 msgstr ""
11475
11476 #. type: tbl table
11477 #: build/C/man2/ioctl_list.2:610
11478 #, no-wrap
11479 msgid "0x80044D1C\tSOUND_MIXER_READ_MUTE\tint *\n"
11480 msgstr ""
11481
11482 #. type: tbl table
11483 #: build/C/man2/ioctl_list.2:611
11484 #, no-wrap
11485 msgid "0x80044D1D\tSOUND_MIXER_READ_ENHANCE\tint *\n"
11486 msgstr ""
11487
11488 #. type: tbl table
11489 #: build/C/man2/ioctl_list.2:612
11490 #, no-wrap
11491 msgid "0x80044D1E\tSOUND_MIXER_READ_LOUD\tint *\n"
11492 msgstr ""
11493
11494 #. type: tbl table
11495 #: build/C/man2/ioctl_list.2:613
11496 #, no-wrap
11497 msgid "0x80044DFF\tSOUND_MIXER_READ_RECSRC\tint *\n"
11498 msgstr ""
11499
11500 #. type: tbl table
11501 #: build/C/man2/ioctl_list.2:614
11502 #, no-wrap
11503 msgid "0x80044DFE\tSOUND_MIXER_READ_DEVMASK\tint *\n"
11504 msgstr ""
11505
11506 #. type: tbl table
11507 #: build/C/man2/ioctl_list.2:615
11508 #, no-wrap
11509 msgid "0x80044DFD\tSOUND_MIXER_READ_RECMASK\tint *\n"
11510 msgstr ""
11511
11512 #. type: tbl table
11513 #: build/C/man2/ioctl_list.2:616
11514 #, no-wrap
11515 msgid "0x80044DFB\tSOUND_MIXER_READ_STEREODEVS\tint *\n"
11516 msgstr ""
11517
11518 #. type: tbl table
11519 #: build/C/man2/ioctl_list.2:617
11520 #, no-wrap
11521 msgid "0x80044DFC\tSOUND_MIXER_READ_CAPS\tint *\n"
11522 msgstr ""
11523
11524 #. type: tbl table
11525 #: build/C/man2/ioctl_list.2:618
11526 #, no-wrap
11527 msgid "0xC0044D00\tSOUND_MIXER_WRITE_VOLUME\tint *\t// I-O\n"
11528 msgstr ""
11529
11530 #. type: tbl table
11531 #: build/C/man2/ioctl_list.2:619
11532 #, no-wrap
11533 msgid "0xC0044D01\tSOUND_MIXER_WRITE_BASS\tint *\t// I-O\n"
11534 msgstr ""
11535
11536 #. type: tbl table
11537 #: build/C/man2/ioctl_list.2:620
11538 #, no-wrap
11539 msgid "0xC0044D02\tSOUND_MIXER_WRITE_TREBLE\tint *\t// I-O\n"
11540 msgstr ""
11541
11542 #. type: tbl table
11543 #: build/C/man2/ioctl_list.2:621
11544 #, no-wrap
11545 msgid "0xC0044D03\tSOUND_MIXER_WRITE_SYNTH\tint *\t// I-O\n"
11546 msgstr ""
11547
11548 #. type: tbl table
11549 #: build/C/man2/ioctl_list.2:622
11550 #, no-wrap
11551 msgid "0xC0044D04\tSOUND_MIXER_WRITE_PCM\tint *\t// I-O\n"
11552 msgstr ""
11553
11554 #. type: tbl table
11555 #: build/C/man2/ioctl_list.2:623
11556 #, no-wrap
11557 msgid "0xC0044D05\tSOUND_MIXER_WRITE_SPEAKER\tint *\t// I-O\n"
11558 msgstr ""
11559
11560 #. type: tbl table
11561 #: build/C/man2/ioctl_list.2:624
11562 #, no-wrap
11563 msgid "0xC0044D06\tSOUND_MIXER_WRITE_LINE\tint *\t// I-O\n"
11564 msgstr ""
11565
11566 #. type: tbl table
11567 #: build/C/man2/ioctl_list.2:625
11568 #, no-wrap
11569 msgid "0xC0044D07\tSOUND_MIXER_WRITE_MIC\tint *\t// I-O\n"
11570 msgstr ""
11571
11572 #. type: tbl table
11573 #: build/C/man2/ioctl_list.2:626
11574 #, no-wrap
11575 msgid "0xC0044D08\tSOUND_MIXER_WRITE_CD\tint *\t// I-O\n"
11576 msgstr ""
11577
11578 #. type: tbl table
11579 #: build/C/man2/ioctl_list.2:627
11580 #, no-wrap
11581 msgid "0xC0044D09\tSOUND_MIXER_WRITE_IMIX\tint *\t// I-O\n"
11582 msgstr ""
11583
11584 #. type: tbl table
11585 #: build/C/man2/ioctl_list.2:628
11586 #, no-wrap
11587 msgid "0xC0044D0A\tSOUND_MIXER_WRITE_ALTPCM\tint *\t// I-O\n"
11588 msgstr ""
11589
11590 #. type: tbl table
11591 #: build/C/man2/ioctl_list.2:629
11592 #, no-wrap
11593 msgid "0xC0044D0B\tSOUND_MIXER_WRITE_RECLEV\tint *\t// I-O\n"
11594 msgstr ""
11595
11596 #. type: tbl table
11597 #: build/C/man2/ioctl_list.2:630
11598 #, no-wrap
11599 msgid "0xC0044D0C\tSOUND_MIXER_WRITE_IGAIN\tint *\t// I-O\n"
11600 msgstr ""
11601
11602 #. type: tbl table
11603 #: build/C/man2/ioctl_list.2:631
11604 #, no-wrap
11605 msgid "0xC0044D0D\tSOUND_MIXER_WRITE_OGAIN\tint *\t// I-O\n"
11606 msgstr ""
11607
11608 #. type: tbl table
11609 #: build/C/man2/ioctl_list.2:632
11610 #, no-wrap
11611 msgid "0xC0044D0E\tSOUND_MIXER_WRITE_LINE1\tint *\t// I-O\n"
11612 msgstr ""
11613
11614 #. type: tbl table
11615 #: build/C/man2/ioctl_list.2:633
11616 #, no-wrap
11617 msgid "0xC0044D0F\tSOUND_MIXER_WRITE_LINE2\tint *\t// I-O\n"
11618 msgstr ""
11619
11620 #. type: tbl table
11621 #: build/C/man2/ioctl_list.2:634
11622 #, no-wrap
11623 msgid "0xC0044D10\tSOUND_MIXER_WRITE_LINE3\tint *\t// I-O\n"
11624 msgstr ""
11625
11626 #. type: tbl table
11627 #: build/C/man2/ioctl_list.2:635
11628 #, no-wrap
11629 msgid "0xC0044D1C\tSOUND_MIXER_WRITE_MUTE\tint *\t// I-O\n"
11630 msgstr ""
11631
11632 #. type: tbl table
11633 #: build/C/man2/ioctl_list.2:636
11634 #, no-wrap
11635 msgid "0xC0044D1D\tSOUND_MIXER_WRITE_ENHANCE\tint *\t// I-O\n"
11636 msgstr ""
11637
11638 #. type: tbl table
11639 #: build/C/man2/ioctl_list.2:637
11640 #, no-wrap
11641 msgid "0xC0044D1E\tSOUND_MIXER_WRITE_LOUD\tint *\t// I-O\n"
11642 msgstr ""
11643
11644 #. type: tbl table
11645 #: build/C/man2/ioctl_list.2:638
11646 #, no-wrap
11647 msgid "0xC0044DFF\tSOUND_MIXER_WRITE_RECSRC\tint *\t// I-O\n"
11648 msgstr ""
11649
11650 #. type: Plain text
11651 #: build/C/man2/ioctl_list.2:642
11652 msgid "// E<lt>include/linux/umsdos_fs.hE<gt>"
11653 msgstr ""
11654
11655 #. type: tbl table
11656 #: build/C/man2/ioctl_list.2:644
11657 #, no-wrap
11658 msgid "0x000004D2\tUMSDOS_READDIR_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11659 msgstr ""
11660
11661 #. type: tbl table
11662 #: build/C/man2/ioctl_list.2:645
11663 #, no-wrap
11664 msgid "0x000004D3\tUMSDOS_UNLINK_DOS\tconst struct umsdos_ioctl *\n"
11665 msgstr ""
11666
11667 #. type: tbl table
11668 #: build/C/man2/ioctl_list.2:646
11669 #, no-wrap
11670 msgid "0x000004D4\tUMSDOS_RMDIR_DOS\tconst struct umsdos_ioctl *\n"
11671 msgstr ""
11672
11673 #. type: tbl table
11674 #: build/C/man2/ioctl_list.2:647
11675 #, no-wrap
11676 msgid "0x000004D5\tUMSDOS_STAT_DOS\tstruct umsdos_ioctl *\t// I-O\n"
11677 msgstr ""
11678
11679 #. type: tbl table
11680 #: build/C/man2/ioctl_list.2:648
11681 #, no-wrap
11682 msgid "0x000004D6\tUMSDOS_CREAT_EMD\tconst struct umsdos_ioctl *\n"
11683 msgstr ""
11684
11685 #. type: tbl table
11686 #: build/C/man2/ioctl_list.2:649
11687 #, no-wrap
11688 msgid "0x000004D7\tUMSDOS_UNLINK_EMD\tconst struct umsdos_ioctl *\n"
11689 msgstr ""
11690
11691 #. type: tbl table
11692 #: build/C/man2/ioctl_list.2:650
11693 #, no-wrap
11694 msgid "0x000004D8\tUMSDOS_READDIR_EMD\tstruct umsdos_ioctl *\t// I-O\n"
11695 msgstr ""
11696
11697 #. type: tbl table
11698 #: build/C/man2/ioctl_list.2:651
11699 #, no-wrap
11700 msgid "0x000004D9\tUMSDOS_GETVERSION\tstruct umsdos_ioctl *\n"
11701 msgstr ""
11702
11703 #. type: tbl table
11704 #: build/C/man2/ioctl_list.2:652
11705 #, no-wrap
11706 msgid "0x000004DA\tUMSDOS_INIT_EMD\tvoid\n"
11707 msgstr ""
11708
11709 #. type: tbl table
11710 #: build/C/man2/ioctl_list.2:653
11711 #, no-wrap
11712 msgid "0x000004DB\tUMSDOS_DOS_SETUP\tconst struct umsdos_ioctl *\n"
11713 msgstr ""
11714
11715 #. type: tbl table
11716 #: build/C/man2/ioctl_list.2:654
11717 #, no-wrap
11718 msgid "0x000004DC\tUMSDOS_RENAME_DOS\tconst struct umsdos_ioctl *\n"
11719 msgstr ""
11720
11721 #. type: Plain text
11722 #: build/C/man2/ioctl_list.2:658
11723 msgid "// E<lt>include/linux/vt.hE<gt>"
11724 msgstr ""
11725
11726 #. type: tbl table
11727 #: build/C/man2/ioctl_list.2:660
11728 #, no-wrap
11729 msgid "0x00005600\tVT_OPENQRY\tint *\n"
11730 msgstr ""
11731
11732 #. type: tbl table
11733 #: build/C/man2/ioctl_list.2:661
11734 #, no-wrap
11735 msgid "0x00005601\tVT_GETMODE\tstruct vt_mode *\n"
11736 msgstr ""
11737
11738 #. type: tbl table
11739 #: build/C/man2/ioctl_list.2:662
11740 #, no-wrap
11741 msgid "0x00005602\tVT_SETMODE\tconst struct vt_mode *\n"
11742 msgstr ""
11743
11744 #. type: tbl table
11745 #: build/C/man2/ioctl_list.2:663
11746 #, no-wrap
11747 msgid "0x00005603\tVT_GETSTATE\tstruct vt_stat *\n"
11748 msgstr ""
11749
11750 #. type: tbl table
11751 #: build/C/man2/ioctl_list.2:664
11752 #, no-wrap
11753 msgid "0x00005604\tVT_SENDSIG\tvoid\n"
11754 msgstr ""
11755
11756 #. type: tbl table
11757 #: build/C/man2/ioctl_list.2:665
11758 #, no-wrap
11759 msgid "0x00005605\tVT_RELDISP\tint\n"
11760 msgstr ""
11761
11762 #. type: tbl table
11763 #: build/C/man2/ioctl_list.2:666
11764 #, no-wrap
11765 msgid "0x00005606\tVT_ACTIVATE\tint\n"
11766 msgstr ""
11767
11768 #. type: tbl table
11769 #: build/C/man2/ioctl_list.2:667
11770 #, no-wrap
11771 msgid "0x00005607\tVT_WAITACTIVE\tint\n"
11772 msgstr ""
11773
11774 #. type: tbl table
11775 #: build/C/man2/ioctl_list.2:668
11776 #, no-wrap
11777 msgid "0x00005608\tVT_DISALLOCATE\tint\n"
11778 msgstr ""
11779
11780 #. type: tbl table
11781 #: build/C/man2/ioctl_list.2:669
11782 #, no-wrap
11783 msgid "0x00005609\tVT_RESIZE\tconst struct vt_sizes *\n"
11784 msgstr ""
11785
11786 #. type: tbl table
11787 #: build/C/man2/ioctl_list.2:670
11788 #, no-wrap
11789 msgid "0x0000560A\tVT_RESIZEX\tconst struct vt_consize *\n"
11790 msgstr ""
11791
11792 #. type: Plain text
11793 #: build/C/man2/ioctl_list.2:677
11794 msgid ""
11795 "// More arguments.  Some ioctl's take a pointer to a structure which "
11796 "contains additional pointers.  These are documented here in alphabetical "
11797 "order."
11798 msgstr ""
11799
11800 #. type: Plain text
11801 #: build/C/man2/ioctl_list.2:685
11802 msgid ""
11803 "B<CDROMREADAUDIO> takes an input pointer I<const struct cdrom_read_audio "
11804 "*>.  The I<buf> field points to an output buffer of length I<nframes * "
11805 "CD_FRAMESIZE_RAW>."
11806 msgstr ""
11807
11808 #. type: Plain text
11809 #: build/C/man2/ioctl_list.2:701
11810 msgid ""
11811 "B<CDROMREADCOOKED>, B<CDROMREADMODE1>, B<CDROMREADMODE2>, and "
11812 "B<CDROMREADRAW> take an input pointer I<const struct cdrom_msf *>.  They use "
11813 "the same pointer as an output pointer to I<char []>.  The length varies by "
11814 "request.  For B<CDROMREADMODE1>, most drivers use CD_FRAMESIZE, but the "
11815 "Optics Storage driver uses OPT_BLOCKSIZE instead (both have the numerical "
11816 "value 2048)."
11817 msgstr ""
11818
11819 #. type: Plain text
11820 #: build/C/man2/ioctl_list.2:707
11821 #, no-wrap
11822 msgid ""
11823 "    CDROMREADCOOKED    char [CD_FRAMESIZE]\n"
11824 "    CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]\n"
11825 "    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]\n"
11826 "    CDROMREADRAW       char [CD_FRAMESIZE_RAW]\n"
11827 msgstr ""
11828
11829 #. type: Plain text
11830 #: build/C/man2/ioctl_list.2:721
11831 msgid ""
11832 "B<EQL_ENSLAVE>, B<EQL_EMANCIPATE>, B<EQL_GETSLAVECFG>, B<EQL_SETSLAVECFG>, "
11833 "B<EQL_GETMASTERCFG>, and B<EQL_SETMASTERCFG> take a I<struct ifreq *>.  The "
11834 "I<ifr_data> field is a pointer to another structure as follows:"
11835 msgstr ""
11836
11837 #. type: Plain text
11838 #: build/C/man2/ioctl_list.2:729
11839 #, no-wrap
11840 msgid ""
11841 "    EQL_ENSLAVE         const struct slaving_request *\n"
11842 "    EQL_EMANCIPATE      const struct slaving_request *\n"
11843 "    EQL_GETSLAVECFG     struct slave_config *           // I-O\n"
11844 "    EQL_SETSLAVECFG     const struct slave_config *\n"
11845 "    EQL_GETMASTERCFG    struct master_config *\n"
11846 "    EQL_SETMASTERCFG    const struct master_config *\n"
11847 msgstr ""
11848
11849 #. type: Plain text
11850 #: build/C/man2/ioctl_list.2:746
11851 msgid ""
11852 "B<FDRAWCMD> takes a I<struct floppy raw_cmd *>.  If I<flags & FD_RAW_WRITE> "
11853 "is nonzero, then I<data> points to an input buffer of length I<length>.  If "
11854 "I<flags & FD_RAW_READ> is nonzero, then I<data> points to an output buffer "
11855 "of length I<length>."
11856 msgstr ""
11857
11858 #. type: Plain text
11859 #: build/C/man2/ioctl_list.2:762
11860 msgid ""
11861 "B<GIO_FONTX> and B<PIO_FONTX> take a I<struct console_font_desc *> or a "
11862 "I<const struct console_font_desc *>, respectively.  I<chardata> points to a "
11863 "buffer of I<char [charcount]>.  This is an output buffer for B<GIO_FONTX> "
11864 "and an input buffer for B<PIO_FONTX>."
11865 msgstr ""
11866
11867 #. type: Plain text
11868 #: build/C/man2/ioctl_list.2:778
11869 msgid ""
11870 "B<GIO_UNIMAP> and B<PIO_UNIMAP> take a I<struct unimapdesc *> or a I<const "
11871 "struct unimapdesc *>, respectively.  I<entries> points to a buffer of "
11872 "I<struct unipair [entry_ct]>.  This is an output buffer for B<GIO_UNIMAP> "
11873 "and an input buffer for B<PIO_UNIMAP>."
11874 msgstr ""
11875
11876 #. type: Plain text
11877 #: build/C/man2/ioctl_list.2:782
11878 msgid ""
11879 "KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to I/O "
11880 "ports.  They are essentially alternate interfaces to 'ioperm'."
11881 msgstr ""
11882
11883 #. type: Plain text
11884 #: build/C/man2/ioctl_list.2:788
11885 msgid ""
11886 "B<KDMAPDISP> and B<KDUNMAPDISP> enable or disable memory mappings or I/O "
11887 "port access.  They are not implemented in the kernel."
11888 msgstr ""
11889
11890 #. type: Plain text
11891 #: build/C/man2/ioctl_list.2:796
11892 msgid ""
11893 "B<SCSI_IOCTL_PROBE_HOST> takes an input pointer I<const int *>, which is a "
11894 "length.  It uses the same pointer as an output pointer to a I<char []> "
11895 "buffer of this length."
11896 msgstr ""
11897
11898 #. type: Plain text
11899 #: build/C/man2/ioctl_list.2:802
11900 msgid ""
11901 "B<SIOCADDRT> and B<SIOCDELRT> take an input pointer whose type depends on "
11902 "the protocol:"
11903 msgstr ""
11904
11905 #. type: Plain text
11906 #: build/C/man2/ioctl_list.2:807
11907 #, no-wrap
11908 msgid ""
11909 "    Most protocols      const struct rtentry *\n"
11910 "    AX.25               const struct ax25_route *\n"
11911 "    NET/ROM             const struct nr_route_struct *\n"
11912 msgstr ""
11913
11914 #. type: Plain text
11915 #: build/C/man2/ioctl_list.2:818
11916 msgid ""
11917 "B<SIOCGIFCONF> takes a I<struct ifconf *>.  The I<ifc_buf> field points to a "
11918 "buffer of length I<ifc_len> bytes, into which the kernel writes a list of "
11919 "type I<struct ifreq []>."
11920 msgstr ""
11921
11922 #. type: Plain text
11923 #: build/C/man2/ioctl_list.2:821
11924 msgid "B<SIOCSIFHWADDR> takes an input pointer whose type depends on the protocol:"
11925 msgstr ""
11926
11927 #. type: Plain text
11928 #: build/C/man2/ioctl_list.2:825
11929 #, no-wrap
11930 msgid ""
11931 "    Most protocols      const struct ifreq *\n"
11932 "    AX.25               const char [AX25_ADDR_LEN]\n"
11933 msgstr ""
11934
11935 #. type: Plain text
11936 #: build/C/man2/ioctl_list.2:840
11937 msgid ""
11938 "B<TIOCLINUX> takes a I<const char *>.  It uses this to distinguish several "
11939 "independent subcases.  In the table below, I<N + foo> means I<foo> after an "
11940 "N-byte pad.  I<struct selection> is implicitly defined in "
11941 "I<drivers/char/selection.c>"
11942 msgstr ""
11943
11944 #. type: Plain text
11945 #: build/C/man2/ioctl_list.2:849
11946 #, no-wrap
11947 msgid ""
11948 "    TIOCLINUX-2         1 + const struct selection *\n"
11949 "    TIOCLINUX-3         void\n"
11950 "    TIOCLINUX-4         void\n"
11951 "    TIOCLINUX-5         4 + const struct { long [8]; } *\n"
11952 "    TIOCLINUX-6         char *\n"
11953 "    TIOCLINUX-7         char *\n"
11954 "    TIOCLINUX-10        1 + const char *\n"
11955 msgstr ""
11956
11957 #. type: Plain text
11958 #: build/C/man2/ioctl_list.2:852
11959 msgid "// Duplicate ioctls"
11960 msgstr ""
11961
11962 #. type: Plain text
11963 #: build/C/man2/ioctl_list.2:857
11964 msgid ""
11965 "This list does not include ioctls in the range B<SIOCDEVPRIVATE> and "
11966 "B<SIOCPROTOPRIVATE>."
11967 msgstr ""
11968
11969 #. type: tbl table
11970 #: build/C/man2/ioctl_list.2:859
11971 #, no-wrap
11972 msgid "0x00000001\tFDSETPRM\tFIBMAP\n"
11973 msgstr ""
11974
11975 #. type: tbl table
11976 #: build/C/man2/ioctl_list.2:860
11977 #, no-wrap
11978 msgid "0x00000002\tFDDEFPRM\tFIGETBSZ\n"
11979 msgstr ""
11980
11981 #. type: tbl table
11982 #: build/C/man2/ioctl_list.2:861
11983 #, no-wrap
11984 msgid "0x00005382\tCDROMAUDIOBUFSIZ\tSCSI_IOCTL_GET_IDLUN\n"
11985 msgstr ""
11986
11987 #. type: tbl table
11988 #: build/C/man2/ioctl_list.2:862
11989 #, no-wrap
11990 msgid "0x00005402\tSNDCTL_TMR_START\tTCSETS\n"
11991 msgstr ""
11992
11993 #. type: tbl table
11994 #: build/C/man2/ioctl_list.2:863
11995 #, no-wrap
11996 msgid "0x00005403\tSNDCTL_TMR_STOP\tTCSETSW\n"
11997 msgstr ""
11998
11999 #. type: tbl table
12000 #: build/C/man2/ioctl_list.2:864
12001 #, no-wrap
12002 msgid "0x00005404\tSNDCTL_TMR_CONTINUE\tTCSETSF\n"
12003 msgstr ""
12004
12005 #. type: Plain text
12006 #: build/C/man2/ioctl_list.2:868
12007 msgid "B<ioctl>(2)"
12008 msgstr ""
12009
12010 #. type: TH
12011 #: build/C/man2/ioperm.2:35
12012 #, no-wrap
12013 msgid "IOPERM"
12014 msgstr ""
12015
12016 #. type: TH
12017 #: build/C/man2/ioperm.2:35
12018 #, no-wrap
12019 msgid "2007-06-15"
12020 msgstr ""
12021
12022 #. type: Plain text
12023 #: build/C/man2/ioperm.2:38
12024 msgid "ioperm - set port input/output permissions"
12025 msgstr ""
12026
12027 #. type: Plain text
12028 #: build/C/man2/ioperm.2:41
12029 msgid "B<#include E<lt>unistd.hE<gt>> /* for libc5 */"
12030 msgstr ""
12031
12032 #. type: Plain text
12033 #: build/C/man2/ioperm.2:44
12034 msgid "B<#include E<lt>sys/io.hE<gt>> /* for glibc */"
12035 msgstr ""
12036
12037 #. type: Plain text
12038 #: build/C/man2/ioperm.2:46
12039 msgid ""
12040 "B<int ioperm(unsigned long >I<from>B<, unsigned long >I<num>B<, int "
12041 ">I<turn_on>B<);>"
12042 msgstr ""
12043
12044 #. type: Plain text
12045 #: build/C/man2/ioperm.2:53
12046 msgid ""
12047 "B<ioperm>()  sets the port access permission bits for the calling process "
12048 "for I<num> bytes starting from port address I<from> to the value "
12049 "I<turn_on>.  If I<turn_on> is nonzero, the calling process must be "
12050 "privileged (B<CAP_SYS_RAWIO>)."
12051 msgstr ""
12052
12053 #.  FIXME is the following ("Only the first 0x3ff I/O ports can be
12054 #.  specified in this manner") still true?  Looking at changes in
12055 #.  include/asm-i386/processor.h between 2.4 and 2.6 suggests
12056 #.  that the limit is different in 2.6.
12057 #. type: Plain text
12058 #: build/C/man2/ioperm.2:62
12059 msgid ""
12060 "Only the first 0x3ff I/O ports can be specified in this manner.  For more "
12061 "ports, the B<iopl>(2)  system call must be used."
12062 msgstr ""
12063
12064 #. type: Plain text
12065 #: build/C/man2/ioperm.2:69
12066 msgid ""
12067 "Permissions are not inherited by the child created by B<fork>(2).  "
12068 "Permissions are preserved across B<execve>(2); this is useful for giving "
12069 "port access permissions to unprivileged programs."
12070 msgstr ""
12071
12072 #. type: Plain text
12073 #: build/C/man2/ioperm.2:73
12074 msgid ""
12075 "This call is mostly for the i386 architecture.  On many other architectures "
12076 "it does not exist or will always return an error."
12077 msgstr ""
12078
12079 #. type: Plain text
12080 #: build/C/man2/ioperm.2:85
12081 msgid "Invalid values for I<from> or I<num>."
12082 msgstr ""
12083
12084 #. type: Plain text
12085 #: build/C/man2/ioperm.2:88
12086 msgid "(on PowerPC) This call is not supported."
12087 msgstr ""
12088
12089 #.  Could not allocate I/O bitmap.
12090 #. type: Plain text
12091 #: build/C/man2/ioperm.2:92
12092 msgid "Out of memory."
12093 msgstr ""
12094
12095 #. type: Plain text
12096 #: build/C/man2/ioperm.2:95
12097 msgid "The calling process has insufficient privilege."
12098 msgstr ""
12099
12100 #. type: Plain text
12101 #: build/C/man2/ioperm.2:99
12102 msgid ""
12103 "B<ioperm>()  is Linux-specific and should not be used in programs intended "
12104 "to be portable."
12105 msgstr ""
12106
12107 #. type: Plain text
12108 #: build/C/man2/ioperm.2:108
12109 msgid ""
12110 "Libc5 treats it as a system call and has a prototype in "
12111 "I<E<lt>unistd.hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a "
12112 "prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  "
12113 "Avoid the latter, it is available on i386 only."
12114 msgstr ""
12115
12116 #. type: Plain text
12117 #: build/C/man2/ioperm.2:111
12118 msgid "B<iopl>(2), B<capabilities>(7)"
12119 msgstr ""
12120
12121 #. type: TH
12122 #: build/C/man3/lockf.3:22
12123 #, no-wrap
12124 msgid "LOCKF"
12125 msgstr ""
12126
12127 #. type: TH
12128 #: build/C/man3/lockf.3:22
12129 #, no-wrap
12130 msgid "2011-09-11"
12131 msgstr ""
12132
12133 #. type: Plain text
12134 #: build/C/man3/lockf.3:25
12135 msgid "lockf - apply, test or remove a POSIX lock on an open file"
12136 msgstr ""
12137
12138 #. type: Plain text
12139 #: build/C/man3/lockf.3:29
12140 msgid "B<int lockf(int >I<fd>B<, int >I<cmd>B<, off_t >I<len>B<);>"
12141 msgstr ""
12142
12143 #. type: Plain text
12144 #: build/C/man3/lockf.3:36
12145 msgid "B<lockf>():"
12146 msgstr ""
12147
12148 #. type: Plain text
12149 #: build/C/man3/lockf.3:40
12150 msgid ""
12151 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
12152 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
12153 msgstr ""
12154
12155 #. type: Plain text
12156 #: build/C/man3/lockf.3:63
12157 msgid ""
12158 "Apply, test or remove a POSIX lock on a section of an open file.  The file "
12159 "is specified by I<fd>, a file descriptor open for writing, the action by "
12160 "I<cmd>, and the section consists of byte positions I<pos>..I<pos>+I<len>-1 "
12161 "if I<len> is positive, and I<pos>-I<len>..I<pos>-1 if I<len> is negative, "
12162 "where I<pos> is the current file position, and if I<len> is zero, the "
12163 "section extends from the current file position to infinity, encompassing the "
12164 "present and future end-of-file positions.  In all cases, the section may "
12165 "extend past current end-of-file."
12166 msgstr ""
12167
12168 #. type: Plain text
12169 #: build/C/man3/lockf.3:78
12170 msgid ""
12171 "On Linux, B<lockf>()  is just an interface on top of B<fcntl>(2)  locking.  "
12172 "Many other systems implement B<lockf>()  in this way, but note that "
12173 "POSIX.1-2001 leaves the relationship between B<lockf>()  and B<fcntl>(2)  "
12174 "locks unspecified.  A portable application should probably avoid mixing "
12175 "calls to these interfaces."
12176 msgstr ""
12177
12178 #. type: Plain text
12179 #: build/C/man3/lockf.3:80
12180 msgid "Valid operations are given below:"
12181 msgstr ""
12182
12183 #. type: TP
12184 #: build/C/man3/lockf.3:80
12185 #, no-wrap
12186 msgid "B<F_LOCK>"
12187 msgstr ""
12188
12189 #. type: Plain text
12190 #: build/C/man3/lockf.3:90
12191 msgid ""
12192 "Set an exclusive lock on the specified section of the file.  If (part of) "
12193 "this section is already locked, the call blocks until the previous lock is "
12194 "released.  If this section overlaps an earlier locked section, both are "
12195 "merged.  File locks are released as soon as the process holding the locks "
12196 "closes some file descriptor for the file.  A child process does not inherit "
12197 "these locks."
12198 msgstr ""
12199
12200 #. type: TP
12201 #: build/C/man3/lockf.3:90
12202 #, no-wrap
12203 msgid "B<F_TLOCK>"
12204 msgstr ""
12205
12206 #. type: Plain text
12207 #: build/C/man3/lockf.3:96
12208 msgid ""
12209 "Same as B<F_LOCK> but the call never blocks and returns an error instead if "
12210 "the file is already locked."
12211 msgstr ""
12212
12213 #. type: TP
12214 #: build/C/man3/lockf.3:96
12215 #, no-wrap
12216 msgid "B<F_ULOCK>"
12217 msgstr ""
12218
12219 #. type: Plain text
12220 #: build/C/man3/lockf.3:100
12221 msgid ""
12222 "Unlock the indicated section of the file.  This may cause a locked section "
12223 "to be split into two locked sections."
12224 msgstr ""
12225
12226 #. type: TP
12227 #: build/C/man3/lockf.3:100
12228 #, no-wrap
12229 msgid "B<F_TEST>"
12230 msgstr ""
12231
12232 #. type: Plain text
12233 #: build/C/man3/lockf.3:110
12234 msgid ""
12235 "Test the lock: return 0 if the specified section is unlocked or locked by "
12236 "this process; return -1, set I<errno> to B<EAGAIN> (B<EACCES> on some other "
12237 "systems), if another process holds a lock."
12238 msgstr ""
12239
12240 #. type: Plain text
12241 #: build/C/man3/lockf.3:124
12242 msgid ""
12243 "The file is locked and B<F_TLOCK> or B<F_TEST> was specified, or the "
12244 "operation is prohibited because the file has been memory-mapped by another "
12245 "process."
12246 msgstr ""
12247
12248 #. type: Plain text
12249 #: build/C/man3/lockf.3:136
12250 msgid ""
12251 "I<fd> is not an open file descriptor; or I<cmd> is B<F_LOCK> or B<F_TLOCK> "
12252 "and I<fd> is not a writable file descriptor."
12253 msgstr ""
12254
12255 #. type: Plain text
12256 #: build/C/man3/lockf.3:141
12257 msgid "The command was B<T_LOCK> and this lock operation would cause a deadlock."
12258 msgstr ""
12259
12260 #. type: Plain text
12261 #: build/C/man3/lockf.3:145
12262 msgid "An invalid operation was specified in I<fd>."
12263 msgstr ""
12264
12265 #. type: Plain text
12266 #: build/C/man3/lockf.3:148
12267 msgid "Too many segment locks open, lock table is full."
12268 msgstr ""
12269
12270 #. type: Plain text
12271 #: build/C/man3/lockf.3:150
12272 msgid "SVr4, POSIX.1-2001."
12273 msgstr ""
12274
12275 #. type: Plain text
12276 #: build/C/man3/lockf.3:153
12277 msgid "B<fcntl>(2), B<flock>(2)"
12278 msgstr ""
12279
12280 #. type: Plain text
12281 #: build/C/man3/lockf.3:166
12282 msgid ""
12283 "There are also I<locks.txt> and I<mandatory-locking.txt> in the kernel "
12284 "source directory I<Documentation/filesystems>.  (On older kernels, these "
12285 "files are directly under the I<Documentation/> directory, and "
12286 "I<mandatory-locking.txt> is called I<mandatory.txt>.)"
12287 msgstr ""
12288
12289 #. type: TH
12290 #: build/C/man2/mincore.2:34
12291 #, no-wrap
12292 msgid "MINCORE"
12293 msgstr ""
12294
12295 #. type: TH
12296 #: build/C/man2/mincore.2:34
12297 #, no-wrap
12298 msgid "2008-04-22"
12299 msgstr ""
12300
12301 #. type: Plain text
12302 #: build/C/man2/mincore.2:37
12303 msgid "mincore - determine whether pages are resident in memory"
12304 msgstr ""
12305
12306 #. type: Plain text
12307 #: build/C/man2/mincore.2:41
12308 msgid "B<#include E<lt>sys/mman.hE<gt>>"
12309 msgstr ""
12310
12311 #. type: Plain text
12312 #: build/C/man2/mincore.2:43
12313 msgid ""
12314 "B<int mincore(void *>I<addr>B<, size_t >I<length>B<, unsigned char "
12315 "*>I<vec>B<);>"
12316 msgstr ""
12317
12318 #. type: Plain text
12319 #: build/C/man2/mincore.2:51
12320 msgid "B<mincore>(): _BSD_SOURCE || _SVID_SOURCE"
12321 msgstr ""
12322
12323 #. type: Plain text
12324 #: build/C/man2/mincore.2:62
12325 msgid ""
12326 "B<mincore>()  returns a vector that indicates whether pages of the calling "
12327 "process's virtual memory are resident in core (RAM), and so will not cause a "
12328 "disk access (page fault) if referenced.  The kernel returns residency "
12329 "information about the pages starting at the address I<addr>, and continuing "
12330 "for I<length> bytes."
12331 msgstr ""
12332
12333 #. type: Plain text
12334 #: build/C/man2/mincore.2:76
12335 msgid ""
12336 "The I<addr> argument must be a multiple of the system page size.  The "
12337 "I<length> argument need not be a multiple of the page size, but since "
12338 "residency information is returned for whole pages, I<length> is effectively "
12339 "rounded up to the next multiple of the page size.  One may obtain the page "
12340 "size (B<PAGE_SIZE>)  using I<sysconf(_SC_PAGESIZE)>."
12341 msgstr ""
12342
12343 #. type: Plain text
12344 #: build/C/man2/mincore.2:94
12345 msgid ""
12346 "The I<vec> argument must point to an array containing at least "
12347 "I<(length+PAGE_SIZE-1) / PAGE_SIZE> bytes.  On return, the least significant "
12348 "bit of each byte will be set if the corresponding page is currently resident "
12349 "in memory, and be clear otherwise.  (The settings of the other bits in each "
12350 "byte are undefined; these bits are reserved for possible later use.)  Of "
12351 "course the information returned in I<vec> is only a snapshot: pages that are "
12352 "not locked in memory can come and go at any moment, and the contents of "
12353 "I<vec> may already be stale by the time this call returns."
12354 msgstr ""
12355
12356 #. type: Plain text
12357 #: build/C/man2/mincore.2:101
12358 msgid ""
12359 "On success, B<mincore>()  returns zero.  On error, -1 is returned, and "
12360 "I<errno> is set appropriately."
12361 msgstr ""
12362
12363 #. type: Plain text
12364 #: build/C/man2/mincore.2:104
12365 msgid "B<EAGAIN> kernel is temporarily out of resources."
12366 msgstr ""
12367
12368 #. type: Plain text
12369 #: build/C/man2/mincore.2:108
12370 msgid "I<vec> points to an invalid address."
12371 msgstr ""
12372
12373 #. type: Plain text
12374 #: build/C/man2/mincore.2:112
12375 msgid "I<addr> is not a multiple of the page size."
12376 msgstr ""
12377
12378 #. type: Plain text
12379 #: build/C/man2/mincore.2:124
12380 msgid ""
12381 "I<length> is greater than (I<TASK_SIZE> - I<addr>).  (This could occur if a "
12382 "negative value is specified for I<length>, since that value will be "
12383 "interpreted as a large unsigned integer.)  In Linux 2.6.11 and earlier, the "
12384 "error B<EINVAL> was returned for this condition."
12385 msgstr ""
12386
12387 #. type: Plain text
12388 #: build/C/man2/mincore.2:132
12389 msgid "I<addr> to I<addr> + I<length> contained unmapped memory."
12390 msgstr ""
12391
12392 #. type: Plain text
12393 #: build/C/man2/mincore.2:134
12394 msgid "Available since Linux 2.3.99pre1 and glibc 2.2."
12395 msgstr ""
12396
12397 #.  It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8,
12398 #.  AIX 5.1, SunOS 4.1
12399 #.  .SH HISTORY
12400 #.  The
12401 #.  .BR mincore ()
12402 #.  function first appeared in 4.4BSD.
12403 #. type: Plain text
12404 #: build/C/man2/mincore.2:144
12405 msgid ""
12406 "B<mincore>()  is not specified in POSIX.1-2001, and it is not available on "
12407 "all UNIX implementations."
12408 msgstr ""
12409
12410 #.  Linux (up to now, 2.6.5),
12411 #.  .B mincore
12412 #.  does not return correct information for MAP_PRIVATE mappings:
12413 #.  for a MAP_PRIVATE file mapping,
12414 #.  .B mincore
12415 #.  returns the residency of the file pages, rather than any
12416 #.  modified process-private pages that have been copied on write;
12417 #.  for a MAP_PRIVATE mapping of
12418 #.  .IR /dev/zero ,
12419 #.  .B mincore
12420 #.  always reports pages as nonresident;
12421 #.  and for a MAP_PRIVATE, MAP_ANONYMOUS mapping,
12422 #.  .B mincore
12423 #.  always fails with the error
12424 #.  .BR ENOMEM .
12425 #. type: Plain text
12426 #: build/C/man2/mincore.2:166
12427 msgid ""
12428 "Before kernel 2.6.21, B<mincore>()  did not return correct information for "
12429 "B<MAP_PRIVATE> mappings, or for nonlinear mappings (established using "
12430 "B<remap_file_pages>(2))."
12431 msgstr ""
12432
12433 #. type: Plain text
12434 #: build/C/man2/mincore.2:169
12435 msgid "B<mlock>(2), B<mmap>(2)"
12436 msgstr ""
12437
12438 #. type: TH
12439 #: build/C/man2/mkdir.2:9
12440 #, no-wrap
12441 msgid "MKDIR"
12442 msgstr ""
12443
12444 #. type: TH
12445 #: build/C/man2/mkdir.2:9
12446 #, no-wrap
12447 msgid "2010-06-26"
12448 msgstr ""
12449
12450 #. type: Plain text
12451 #: build/C/man2/mkdir.2:12
12452 msgid "mkdir - create a directory"
12453 msgstr ""
12454
12455 #.  .B #include <unistd.h>
12456 #. type: Plain text
12457 #: build/C/man2/mkdir.2:17
12458 #, no-wrap
12459 msgid ""
12460 "B<#include E<lt>sys/stat.hE<gt>>\n"
12461 "B<#include E<lt>sys/types.hE<gt>>\n"
12462 msgstr ""
12463
12464 #. type: Plain text
12465 #: build/C/man2/mkdir.2:19
12466 #, no-wrap
12467 msgid "B<int mkdir(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
12468 msgstr ""
12469
12470 #. type: Plain text
12471 #: build/C/man2/mkdir.2:24
12472 msgid "B<mkdir>()  attempts to create a directory named I<pathname>."
12473 msgstr ""
12474
12475 #. type: Plain text
12476 #: build/C/man2/mkdir.2:34
12477 msgid ""
12478 "The argument I<mode> specifies the permissions to use.  It is modified by "
12479 "the process's I<umask> in the usual way: the permissions of the created "
12480 "directory are (I<mode> & ~I<umask> & 0777).  Other mode bits of the created "
12481 "directory depend on the operating system.  For Linux, see below."
12482 msgstr ""
12483
12484 #. type: Plain text
12485 #: build/C/man2/mkdir.2:44
12486 msgid ""
12487 "The newly created directory will be owned by the effective user ID of the "
12488 "process.  If the directory containing the file has the set-group-ID bit set, "
12489 "or if the file system is mounted with BSD group semantics (I<mount -o "
12490 "bsdgroups> or, synonymously I<mount -o grpid>), the new directory will "
12491 "inherit the group ownership from its parent; otherwise it will be owned by "
12492 "the effective group ID of the process."
12493 msgstr ""
12494
12495 #. type: Plain text
12496 #: build/C/man2/mkdir.2:47
12497 msgid ""
12498 "If the parent directory has the set-group-ID bit set then so will the newly "
12499 "created directory."
12500 msgstr ""
12501
12502 #. type: Plain text
12503 #: build/C/man2/mkdir.2:52
12504 msgid ""
12505 "B<mkdir>()  returns zero on success, or -1 if an error occurred (in which "
12506 "case, I<errno> is set appropriately)."
12507 msgstr ""
12508
12509 #. type: Plain text
12510 #: build/C/man2/mkdir.2:61
12511 msgid ""
12512 "The parent directory does not allow write permission to the process, or one "
12513 "of the directories in I<pathname> did not allow search permission.  (See "
12514 "also B<path_resolution>(7).)"
12515 msgstr ""
12516
12517 #. type: TP
12518 #: build/C/man2/mkdir.2:61
12519 #, no-wrap
12520 msgid "B<EEXIST>"
12521 msgstr ""
12522
12523 #. type: Plain text
12524 #: build/C/man2/mkdir.2:68
12525 msgid ""
12526 "I<pathname> already exists (not necessarily as a directory).  This includes "
12527 "the case where I<pathname> is a symbolic link, dangling or not."
12528 msgstr ""
12529
12530 #. type: TP
12531 #: build/C/man2/mkdir.2:75
12532 #, no-wrap
12533 msgid "B<EMLINK>"
12534 msgstr ""
12535
12536 #. type: Plain text
12537 #: build/C/man2/mkdir.2:79
12538 msgid "The number of links to the parent directory would exceed B<LINK_MAX>."
12539 msgstr ""
12540
12541 #. type: Plain text
12542 #: build/C/man2/mkdir.2:82
12543 msgid "I<pathname> was too long."
12544 msgstr ""
12545
12546 #. type: Plain text
12547 #: build/C/man2/mkdir.2:87
12548 msgid ""
12549 "A directory component in I<pathname> does not exist or is a dangling "
12550 "symbolic link."
12551 msgstr ""
12552
12553 #. type: TP
12554 #: build/C/man2/mkdir.2:90 build/C/man2/mkdir.2:95
12555 #, no-wrap
12556 msgid "B<ENOSPC>"
12557 msgstr ""
12558
12559 #. type: Plain text
12560 #: build/C/man2/mkdir.2:95
12561 msgid "The device containing I<pathname> has no room for the new directory."
12562 msgstr ""
12563
12564 #. type: Plain text
12565 #: build/C/man2/mkdir.2:99
12566 msgid ""
12567 "The new directory cannot be created because the user's disk quota is "
12568 "exhausted."
12569 msgstr ""
12570
12571 #. type: Plain text
12572 #: build/C/man2/mkdir.2:109
12573 msgid ""
12574 "The file system containing I<pathname> does not support the creation of "
12575 "directories."
12576 msgstr ""
12577
12578 #. type: Plain text
12579 #: build/C/man2/mkdir.2:113
12580 msgid "I<pathname> refers to a file on a read-only file system."
12581 msgstr ""
12582
12583 #.  SVr4 documents additional EIO, EMULTIHOP
12584 #. type: Plain text
12585 #: build/C/man2/mkdir.2:116
12586 msgid "SVr4, BSD, POSIX.1-2001."
12587 msgstr ""
12588
12589 #. type: Plain text
12590 #: build/C/man2/mkdir.2:124
12591 msgid ""
12592 "Under Linux apart from the permission bits, only the B<S_ISVTX> mode bit is "
12593 "honored.  That is, under Linux the created directory actually gets mode "
12594 "(I<mode> & ~I<umask> & 01777).  See also B<stat>(2)."
12595 msgstr ""
12596
12597 #. type: Plain text
12598 #: build/C/man2/mkdir.2:128
12599 msgid ""
12600 "There are many infelicities in the protocol underlying NFS.  Some of these "
12601 "affect B<mkdir>()."
12602 msgstr ""
12603
12604 #. type: Plain text
12605 #: build/C/man2/mkdir.2:140
12606 msgid ""
12607 "B<mkdir>(1), B<chmod>(2), B<chown>(2), B<mkdirat>(2), B<mknod>(2), "
12608 "B<mount>(2), B<rmdir>(2), B<stat>(2), B<umask>(2), B<unlink>(2), "
12609 "B<path_resolution>(7)"
12610 msgstr ""
12611
12612 #. type: TH
12613 #: build/C/man2/nice.2:31
12614 #, no-wrap
12615 msgid "NICE"
12616 msgstr ""
12617
12618 #. type: Plain text
12619 #: build/C/man2/nice.2:34
12620 msgid "nice - change process priority"
12621 msgstr ""
12622
12623 #. type: Plain text
12624 #: build/C/man2/nice.2:38
12625 msgid "B<int nice(int >I<inc>B<);>"
12626 msgstr ""
12627
12628 #. type: Plain text
12629 #: build/C/man2/nice.2:46
12630 msgid "B<nice>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
12631 msgstr ""
12632
12633 #. type: Plain text
12634 #: build/C/man2/nice.2:56
12635 msgid ""
12636 "B<nice>()  adds I<inc> to the nice value for the calling process.  (A higher "
12637 "nice value means a low priority.)  Only the super\\%user may specify a "
12638 "negative increment, or priority increase.  The range for nice values is "
12639 "described in B<getpriority>(2)."
12640 msgstr ""
12641
12642 #. type: Plain text
12643 #: build/C/man2/nice.2:61
12644 msgid ""
12645 "On success, the new nice value is returned (but see NOTES below).  On error, "
12646 "-1 is returned, and I<errno> is set appropriately."
12647 msgstr ""
12648
12649 #. type: Plain text
12650 #: build/C/man2/nice.2:75
12651 msgid ""
12652 "The calling process attempted to increase its priority by supplying a "
12653 "negative I<inc> but has insufficient privileges.  Under Linux the "
12654 "B<CAP_SYS_NICE> capability is required.  (But see the discussion of the "
12655 "B<RLIMIT_NICE> resource limit in B<setrlimit>(2).)"
12656 msgstr ""
12657
12658 #. type: Plain text
12659 #: build/C/man2/nice.2:82
12660 msgid ""
12661 "SVr4, 4.3BSD, POSIX.1-2001.  However, the Linux and (g)libc (earlier than "
12662 "glibc 2.2.4) return value is nonstandard, see below.  SVr4 documents an "
12663 "additional B<EINVAL> error code."
12664 msgstr ""
12665
12666 #. type: Plain text
12667 #: build/C/man2/nice.2:92
12668 msgid ""
12669 "SUSv2 and POSIX.1-2001 specify that B<nice>()  should return the new nice "
12670 "value.  However, the Linux syscall and the B<nice>()  library function "
12671 "provided in older versions of (g)libc (earlier than glibc 2.2.4) return 0 on "
12672 "success.  The new nice value can be found using B<getpriority>(2)."
12673 msgstr ""
12674
12675 #. type: Plain text
12676 #: build/C/man2/nice.2:105
12677 msgid ""
12678 "Since glibc 2.2.4, B<nice>()  is implemented as a library function that "
12679 "calls B<getpriority>(2)  to obtain the new nice value to be returned to the "
12680 "caller.  With this implementation, a successful call can legitimately return "
12681 "-1.  To reliably detect an error, set I<errno> to 0 before the call, and "
12682 "check its value when B<nice>()  returns -1."
12683 msgstr ""
12684
12685 #. type: Plain text
12686 #: build/C/man2/nice.2:112
12687 msgid ""
12688 "B<nice>(1), B<renice>(1), B<fork>(2), B<getpriority>(2), B<setpriority>(2), "
12689 "B<capabilities>(7)"
12690 msgstr ""
12691
12692 #. type: TH
12693 #: build/C/man2/pread.2:23
12694 #, no-wrap
12695 msgid "PREAD"
12696 msgstr ""
12697
12698 #. type: TH
12699 #: build/C/man2/pread.2:23
12700 #, no-wrap
12701 msgid "2010-11-21"
12702 msgstr ""
12703
12704 #. type: Plain text
12705 #: build/C/man2/pread.2:26
12706 msgid "pread, pwrite - read from or write to a file descriptor at a given offset"
12707 msgstr ""
12708
12709 #. type: Plain text
12710 #: build/C/man2/pread.2:31
12711 msgid ""
12712 "B<ssize_t pread(int >I<fd>B<, void *>I<buf>B<, size_t >I<count>B<, off_t "
12713 ">I<offset>B<);>"
12714 msgstr ""
12715
12716 #. type: Plain text
12717 #: build/C/man2/pread.2:34
12718 msgid ""
12719 "B<ssize_t pwrite(int >I<fd>B<, const void *>I<buf>B<, size_t >I<count>B<, "
12720 "off_t >I<offset>B<);>"
12721 msgstr ""
12722
12723 #. type: Plain text
12724 #: build/C/man2/pread.2:44
12725 msgid "B<pread>(), B<pwrite>():"
12726 msgstr ""
12727
12728 #. type: Plain text
12729 #: build/C/man2/pread.2:46
12730 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 500"
12731 msgstr ""
12732
12733 #. type: Plain text
12734 #: build/C/man2/pread.2:62
12735 msgid ""
12736 "B<pread>()  reads up to I<count> bytes from file descriptor I<fd> at offset "
12737 "I<offset> (from the start of the file) into the buffer starting at I<buf>.  "
12738 "The file offset is not changed."
12739 msgstr ""
12740
12741 #. type: Plain text
12742 #: build/C/man2/pread.2:73
12743 msgid ""
12744 "B<pwrite>()  writes up to I<count> bytes from the buffer starting at I<buf> "
12745 "to the file descriptor I<fd> at offset I<offset>.  The file offset is not "
12746 "changed."
12747 msgstr ""
12748
12749 #. type: Plain text
12750 #: build/C/man2/pread.2:77
12751 msgid "The file referenced by I<fd> must be capable of seeking."
12752 msgstr ""
12753
12754 #. type: Plain text
12755 #: build/C/man2/pread.2:87
12756 msgid ""
12757 "On success, the number of bytes read or written is returned (zero indicates "
12758 "that nothing was written, in the case of B<pwrite>(), or end of file, in the "
12759 "case of B<pread>()), or -1 on error, in which case I<errno> is set to "
12760 "indicate the error."
12761 msgstr ""
12762
12763 #. type: Plain text
12764 #: build/C/man2/pread.2:102
12765 msgid ""
12766 "B<pread>()  can fail and set I<errno> to any error specified for B<read>(2)  "
12767 "or B<lseek>(2).  B<pwrite>()  can fail and set I<errno> to any error "
12768 "specified for B<write>(2)  or B<lseek>(2)."
12769 msgstr ""
12770
12771 #. type: Plain text
12772 #: build/C/man2/pread.2:113
12773 msgid ""
12774 "The B<pread>()  and B<pwrite>()  system calls were added to Linux in version "
12775 "2.1.60; the entries in the i386 system call table were added in 2.1.69.  C "
12776 "library support (including emulation using B<lseek>(2)  on older kernels "
12777 "without the system calls) was added in glibc 2.1."
12778 msgstr ""
12779
12780 #. type: Plain text
12781 #: build/C/man2/pread.2:131
12782 msgid ""
12783 "On Linux, the underlying system calls were renamed in kernel 2.6: B<pread>()  "
12784 "became B<pread64>(), and B<pwrite>()  became B<pwrite64>().  The system call "
12785 "numbers remained the same.  The glibc B<pread>()  and B<pwrite>()  wrapper "
12786 "functions transparently deal with the change."
12787 msgstr ""
12788
12789 #. type: Plain text
12790 #: build/C/man2/pread.2:136
12791 msgid "B<lseek>(2), B<read>(2), B<readv>(2), B<write>(2)"
12792 msgstr ""
12793
12794 #. type: TH
12795 #: build/C/man2/set_thread_area.2:7
12796 #, no-wrap
12797 msgid "SET_THREAD_AREA"
12798 msgstr ""
12799
12800 #. type: Plain text
12801 #: build/C/man2/set_thread_area.2:10
12802 msgid "set_thread_area - Set a Thread Local Storage (TLS) area"
12803 msgstr ""
12804
12805 #. type: Plain text
12806 #: build/C/man2/set_thread_area.2:16
12807 msgid "B<int set_thread_area(struct user_desc *>I<u_info>B<);>"
12808 msgstr ""
12809
12810 #. type: Plain text
12811 #: build/C/man2/set_thread_area.2:29
12812 msgid ""
12813 "B<set_thread_area>()  sets an entry in the current thread's Thread Local "
12814 "Storage (TLS) array.  The TLS array entry set by B<set_thread_area>()  "
12815 "corresponds to the value of I<u_info-E<gt>entry_number> passed in by the "
12816 "user.  If this value is in bounds, B<set_thread_area>()  copies the TLS "
12817 "descriptor pointed to by I<u_info> into the thread's TLS array."
12818 msgstr ""
12819
12820 #. type: Plain text
12821 #: build/C/man2/set_thread_area.2:40
12822 msgid ""
12823 "When B<set_thread_area>()  is passed an I<entry_number> of -1, it uses a "
12824 "free TLS entry.  If B<set_thread_area>()  finds a free TLS entry, the value "
12825 "of I<u_info-E<gt>entry_number> is set upon return to show which entry was "
12826 "changed."
12827 msgstr ""
12828
12829 #. type: Plain text
12830 #: build/C/man2/set_thread_area.2:45
12831 msgid ""
12832 "B<set_thread_area>()  returns 0 on success, and -1 on failure, with I<errno> "
12833 "set appropriately."
12834 msgstr ""
12835
12836 #. type: TP
12837 #: build/C/man2/set_thread_area.2:52
12838 #, no-wrap
12839 msgid "B<ESRCH>"
12840 msgstr ""
12841
12842 #. type: Plain text
12843 #: build/C/man2/set_thread_area.2:55
12844 msgid "A free TLS entry could not be located."
12845 msgstr ""
12846
12847 #. type: Plain text
12848 #: build/C/man2/set_thread_area.2:59
12849 msgid "A version of B<set_thread_area>()  first appeared in Linux 2.5.29."
12850 msgstr ""
12851
12852 #. type: Plain text
12853 #: build/C/man2/set_thread_area.2:63
12854 msgid ""
12855 "B<set_thread_area>()  is Linux-specific and should not be used in programs "
12856 "that are intended to be portable."
12857 msgstr ""
12858
12859 #. type: Plain text
12860 #: build/C/man2/set_thread_area.2:69
12861 msgid "B<get_thread_area>(2)"
12862 msgstr ""
12863
12864 #. type: TH
12865 #: build/C/man2/setup.2:34
12866 #, no-wrap
12867 msgid "SETUP"
12868 msgstr ""
12869
12870 #. type: TH
12871 #: build/C/man2/setup.2:34 build/C/man2/uname.2:25
12872 #, no-wrap
12873 msgid "2008-12-03"
12874 msgstr ""
12875
12876 #. type: Plain text
12877 #: build/C/man2/setup.2:37
12878 msgid "setup - setup devices and file systems, mount root file system"
12879 msgstr ""
12880
12881 #. type: Plain text
12882 #: build/C/man2/setup.2:41
12883 msgid "B<int setup(void);>"
12884 msgstr ""
12885
12886 #. type: Plain text
12887 #: build/C/man2/setup.2:47
12888 msgid ""
12889 "B<setup>()  is called once from within I<linux/init/main.c>.  It calls "
12890 "initialization functions for devices and file systems configured into the "
12891 "kernel and then mounts the root file system."
12892 msgstr ""
12893
12894 #. type: Plain text
12895 #: build/C/man2/setup.2:53
12896 msgid ""
12897 "No user process may call B<setup>().  Any user process, even a process with "
12898 "superuser permission, will receive B<EPERM>."
12899 msgstr ""
12900
12901 #. type: Plain text
12902 #: build/C/man2/setup.2:56
12903 msgid "B<setup>()  always returns -1 for a user process."
12904 msgstr ""
12905
12906 #. type: Plain text
12907 #: build/C/man2/setup.2:62
12908 msgid "Since Linux 2.1.121, no such function exists anymore."
12909 msgstr ""
12910
12911 #. type: Plain text
12912 #: build/C/man2/setup.2:65
12913 msgid ""
12914 "This function is Linux-specific, and should not be used in programs intended "
12915 "to be portable, or indeed in any programs at all."
12916 msgstr ""
12917
12918 #. type: Plain text
12919 #: build/C/man2/setup.2:72
12920 msgid ""
12921 "The calling sequence varied: at some times I<setup ()> has had a single "
12922 "argument I<void *BIOS> and at other times a single argument I<int magic>."
12923 msgstr ""
12924
12925 #. type: TH
12926 #: build/C/man5/shells.5:27
12927 #, no-wrap
12928 msgid "SHELLS"
12929 msgstr ""
12930
12931 #. type: TH
12932 #: build/C/man5/shells.5:27
12933 #, no-wrap
12934 msgid "1993-11-21"
12935 msgstr ""
12936
12937 #. type: Plain text
12938 #: build/C/man5/shells.5:30
12939 msgid "shells - pathnames of valid login shells"
12940 msgstr ""
12941
12942 #. type: Plain text
12943 #: build/C/man5/shells.5:36
12944 msgid ""
12945 "I</etc/shells> is a text file which contains the full pathnames of valid "
12946 "login shells.  This file is consulted by B<chsh>(1)  and available to be "
12947 "queried by other programs."
12948 msgstr ""
12949
12950 #. type: Plain text
12951 #: build/C/man5/shells.5:41
12952 msgid ""
12953 "Be aware that there are programs which consult this file to find out if a "
12954 "user is a normal user.  E.g.: ftp daemons traditionally disallow access to "
12955 "users with shells not included in this file."
12956 msgstr ""
12957
12958 #. type: Plain text
12959 #: build/C/man5/shells.5:43
12960 msgid "I</etc/shells>"
12961 msgstr ""
12962
12963 #. type: Plain text
12964 #: build/C/man5/shells.5:46
12965 msgid "I</etc/shells> may contain the following paths:"
12966 msgstr ""
12967
12968 #. type: Plain text
12969 #: build/C/man5/shells.5:49
12970 msgid "I</bin/sh>"
12971 msgstr ""
12972
12973 #. type: Plain text
12974 #: build/C/man5/shells.5:51
12975 msgid "I</bin/csh>"
12976 msgstr ""
12977
12978 #. type: Plain text
12979 #: build/C/man5/shells.5:55
12980 msgid "B<chsh>(1), B<getusershell>(3)"
12981 msgstr ""
12982
12983 #. type: TH
12984 #: build/C/man3/sleep.3:24
12985 #, no-wrap
12986 msgid "SLEEP"
12987 msgstr ""
12988
12989 #. type: Plain text
12990 #: build/C/man3/sleep.3:27
12991 msgid "sleep - Sleep for the specified number of seconds"
12992 msgstr ""
12993
12994 #. type: Plain text
12995 #: build/C/man3/sleep.3:32
12996 #, no-wrap
12997 msgid "B<unsigned int sleep(unsigned int >I<seconds>B<);>\n"
12998 msgstr ""
12999
13000 #. type: Plain text
13001 #: build/C/man3/sleep.3:38
13002 msgid ""
13003 "B<sleep>()  makes the calling thread sleep until I<seconds> seconds have "
13004 "elapsed or a signal arrives which is not ignored."
13005 msgstr ""
13006
13007 #. type: Plain text
13008 #: build/C/man3/sleep.3:42
13009 msgid ""
13010 "Zero if the requested time has elapsed, or the number of seconds left to "
13011 "sleep, if the call was interrupted by a signal handler."
13012 msgstr ""
13013
13014 #. type: Plain text
13015 #: build/C/man3/sleep.3:53
13016 msgid ""
13017 "B<sleep>()  may be implemented using B<SIGALRM>; mixing calls to B<alarm>(2)  "
13018 "and B<sleep>()  is a bad idea."
13019 msgstr ""
13020
13021 #. type: Plain text
13022 #: build/C/man3/sleep.3:59
13023 msgid ""
13024 "Using B<longjmp>(3)  from a signal handler or modifying the handling of "
13025 "B<SIGALRM> while sleeping will cause undefined results."
13026 msgstr ""
13027
13028 #. type: Plain text
13029 #: build/C/man3/sleep.3:64
13030 msgid "B<alarm>(2), B<nanosleep>(2), B<signal>(2), B<signal>(7)"
13031 msgstr ""
13032
13033 #. type: TH
13034 #: build/C/man3/swab.3:29
13035 #, no-wrap
13036 msgid "SWAB"
13037 msgstr ""
13038
13039 #. type: TH
13040 #: build/C/man3/swab.3:29
13041 #, no-wrap
13042 msgid "2001-12-15"
13043 msgstr ""
13044
13045 #. type: Plain text
13046 #: build/C/man3/swab.3:32
13047 msgid "swab - swap adjacent bytes"
13048 msgstr ""
13049
13050 #. type: Plain text
13051 #: build/C/man3/swab.3:36
13052 #, no-wrap
13053 msgid ""
13054 "B<#define _XOPEN_SOURCE>       /* See feature_test_macros(7) */\n"
13055 "B<#include E<lt>unistd.hE<gt>>\n"
13056 msgstr ""
13057
13058 #. type: Plain text
13059 #: build/C/man3/swab.3:38
13060 #, no-wrap
13061 msgid "B<void swab(const void *>I<from>B<, void *>I<to>B<, ssize_t >I<n>B<);>\n"
13062 msgstr ""
13063
13064 #. type: Plain text
13065 #: build/C/man3/swab.3:47
13066 msgid ""
13067 "The B<swab>()  function copies I<n> bytes from the array pointed to by "
13068 "I<from> to the array pointed to by I<to>, exchanging adjacent even and odd "
13069 "bytes.  This function is used to exchange data between machines that have "
13070 "different low/high byte ordering."
13071 msgstr ""
13072
13073 #. type: Plain text
13074 #: build/C/man3/swab.3:52
13075 msgid ""
13076 "This function does nothing when I<n> is negative.  When I<n> is positive and "
13077 "odd, it handles I<n-1> bytes as above, and does something unspecified with "
13078 "the last byte.  (In other words, I<n> should be even.)"
13079 msgstr ""
13080
13081 #. type: Plain text
13082 #: build/C/man3/swab.3:56
13083 msgid "The B<swab>()  function returns no value."
13084 msgstr ""
13085
13086 #. type: Plain text
13087 #: build/C/man3/swab.3:60
13088 msgid "B<bstring>(3)"
13089 msgstr ""
13090
13091 #. type: TH
13092 #: build/C/man2/swapon.2:37
13093 #, no-wrap
13094 msgid "SWAPON"
13095 msgstr ""
13096
13097 #. type: TH
13098 #: build/C/man2/swapon.2:37
13099 #, no-wrap
13100 msgid "2010-11-15"
13101 msgstr ""
13102
13103 #. type: Plain text
13104 #: build/C/man2/swapon.2:40
13105 msgid "swapon, swapoff - start/stop swapping to file/device"
13106 msgstr ""
13107
13108 #. type: Plain text
13109 #: build/C/man2/swapon.2:44
13110 msgid "B<#include E<lt>asm/page.hE<gt> /* to find PAGE_SIZE */>"
13111 msgstr ""
13112
13113 #. type: Plain text
13114 #: build/C/man2/swapon.2:46
13115 msgid "B<#include E<lt>sys/swap.hE<gt>>"
13116 msgstr ""
13117
13118 #. type: Plain text
13119 #: build/C/man2/swapon.2:48
13120 msgid "B<int swapon(const char *>I<path>B<, int >I<swapflags>B<);>"
13121 msgstr ""
13122
13123 #. type: Plain text
13124 #: build/C/man2/swapon.2:50
13125 msgid "B<int swapoff(const char *>I<path>B<);>"
13126 msgstr ""
13127
13128 #. type: Plain text
13129 #: build/C/man2/swapon.2:57
13130 msgid ""
13131 "B<swapon>()  sets the swap area to the file or block device specified by "
13132 "I<path>.  B<swapoff>()  stops swapping to the file or block device specified "
13133 "by I<path>."
13134 msgstr ""
13135
13136 #. type: Plain text
13137 #: build/C/man2/swapon.2:67
13138 msgid ""
13139 "If the B<SWAP_FLAG_PREFER> flag is specified in the B<swapon>()  "
13140 "I<swapflags> argument, the new swap area will have a higher priority than "
13141 "default.  The priority is encoded within I<swapflags> as:"
13142 msgstr ""
13143
13144 #. type: Plain text
13145 #: build/C/man2/swapon.2:70
13146 msgid "I<(prio E<lt>E<lt> SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK>"
13147 msgstr ""
13148
13149 #. type: Plain text
13150 #: build/C/man2/swapon.2:82
13151 msgid ""
13152 "If the B<SWAP_FLAG_DISCARD> flag is specified in the B<swapon>()  "
13153 "I<swapflags> argument, freed swap pages will be discarded before they are "
13154 "reused, if the swap device supports the discard or trim operation.  (This "
13155 "may improve performance on some Solid State Devices, but often it does not.)  "
13156 "See also NOTES."
13157 msgstr ""
13158
13159 #. type: Plain text
13160 #: build/C/man2/swapon.2:86
13161 msgid ""
13162 "These functions may only be used by a privileged process (one having the "
13163 "B<CAP_SYS_ADMIN> capability)."
13164 msgstr ""
13165
13166 #. type: SS
13167 #: build/C/man2/swapon.2:86
13168 #, no-wrap
13169 msgid "Priority"
13170 msgstr ""
13171
13172 #. type: Plain text
13173 #: build/C/man2/swapon.2:91
13174 msgid ""
13175 "Each swap area has a priority, either high or low.  The default priority is "
13176 "low.  Within the low-priority areas, newer areas are even lower priority "
13177 "than older areas."
13178 msgstr ""
13179
13180 #. type: Plain text
13181 #: build/C/man2/swapon.2:97
13182 msgid ""
13183 "All priorities set with I<swapflags> are high-priority, higher than "
13184 "default.  They may have any nonnegative value chosen by the caller.  Higher "
13185 "numbers mean higher priority."
13186 msgstr ""
13187
13188 #. type: Plain text
13189 #: build/C/man2/swapon.2:105
13190 msgid ""
13191 "Swap pages are allocated from areas in priority order, highest priority "
13192 "first.  For areas with different priorities, a higher-priority area is "
13193 "exhausted before using a lower-priority area.  If two or more areas have the "
13194 "same priority, and it is the highest priority available, pages are allocated "
13195 "on a round-robin basis between them."
13196 msgstr ""
13197
13198 #. type: Plain text
13199 #: build/C/man2/swapon.2:108
13200 msgid ""
13201 "As of Linux 1.3.6, the kernel usually follows these rules, but there are "
13202 "exceptions."
13203 msgstr ""
13204
13205 #. type: Plain text
13206 #: build/C/man2/swapon.2:121
13207 msgid ""
13208 "(for B<swapon>())  The specified I<path> is already being used as a swap "
13209 "area."
13210 msgstr ""
13211
13212 #. type: Plain text
13213 #: build/C/man2/swapon.2:133
13214 msgid ""
13215 "The file I<path> exists, but refers neither to a regular file nor to a block "
13216 "device; or, for B<swapon>(), the indicated path does not contain a valid "
13217 "swap signature or resides on an in-memory file system like tmpfs; or, for "
13218 "B<swapoff>(), I<path> is not currently a swap area."
13219 msgstr ""
13220
13221 #. type: Plain text
13222 #: build/C/man2/swapon.2:141
13223 msgid "The file I<path> does not exist."
13224 msgstr ""
13225
13226 #. type: Plain text
13227 #: build/C/man2/swapon.2:144
13228 msgid "The system has insufficient memory to start swapping."
13229 msgstr ""
13230
13231 #. type: Plain text
13232 #: build/C/man2/swapon.2:151
13233 msgid ""
13234 "The caller does not have the B<CAP_SYS_ADMIN> capability.  Alternatively, "
13235 "the maximum number of swap files are already in use; see NOTES below."
13236 msgstr ""
13237
13238 #. type: Plain text
13239 #: build/C/man2/swapon.2:157
13240 msgid ""
13241 "These functions are Linux-specific and should not be used in programs "
13242 "intended to be portable.  The second I<swapflags> argument was introduced in "
13243 "Linux 1.3.2."
13244 msgstr ""
13245
13246 #. type: Plain text
13247 #: build/C/man2/swapon.2:160
13248 msgid "The partition or path must be prepared with B<mkswap>(8)."
13249 msgstr ""
13250
13251 #. type: Plain text
13252 #: build/C/man2/swapon.2:180
13253 msgid ""
13254 "There is an upper limit on the number of swap files that may be used, "
13255 "defined by the kernel constant B<MAX_SWAPFILES>.  Before kernel 2.4.10, "
13256 "B<MAX_SWAPFILES> has the value 8; since kernel 2.4.10, it has the value 32.  "
13257 "Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)  if the kernel "
13258 "is built with the B<CONFIG_MIGRATION> option (which reserves two swap table "
13259 "entries for the page migration features of B<mbind>(2)  and "
13260 "B<migrate_pages>(2)).  Since kernel 2.6.32, the limit is further decreased "
13261 "by 1 if the kernel is built with the B<CONFIG_MEMORY_FAILURE> option."
13262 msgstr ""
13263
13264 #.  To be precise: 2.6.35.5
13265 #. type: Plain text
13266 #: build/C/man2/swapon.2:191
13267 msgid ""
13268 "Discard of swap pages was introduced in kernel 2.6.29, then made conditional "
13269 "on the B<SWAP_FLAG_DISCARD> flag in kernel 2.6.36, which still discards the "
13270 "entire swap area when B<swapon>()  is called, even if that flag bit is not "
13271 "set."
13272 msgstr ""
13273
13274 #. type: Plain text
13275 #: build/C/man2/swapon.2:195
13276 msgid "B<mkswap>(8), B<swapoff>(8), B<swapon>(8)"
13277 msgstr ""
13278
13279 #. type: TH
13280 #: build/C/man2/syscall.2:38
13281 #, no-wrap
13282 msgid "SYSCALL"
13283 msgstr ""
13284
13285 #. type: Plain text
13286 #: build/C/man2/syscall.2:41
13287 msgid "syscall - indirect system call"
13288 msgstr ""
13289
13290 #. type: Plain text
13291 #: build/C/man2/syscall.2:46
13292 #, no-wrap
13293 msgid ""
13294 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
13295 "B<#include E<lt>unistd.hE<gt>>\n"
13296 "B<#include E<lt>sys/syscall.hE<gt>   >/* For SYS_xxx definitions */\n"
13297 msgstr ""
13298
13299 #. type: Plain text
13300 #: build/C/man2/syscall.2:48
13301 #, no-wrap
13302 msgid "B<int syscall(int >I<number>B<, ...);>\n"
13303 msgstr ""
13304
13305 #. type: Plain text
13306 #: build/C/man2/syscall.2:57
13307 msgid ""
13308 "B<syscall>()  performs the system call whose assembly language interface has "
13309 "the specified I<number> with the specified arguments.  Symbolic constants "
13310 "for system calls can be found in the header file I<E<lt>sys/syscall.hE<gt>>."
13311 msgstr ""
13312
13313 #. type: Plain text
13314 #: build/C/man2/syscall.2:63
13315 msgid ""
13316 "The return value is defined by the system call being invoked.  In general, a "
13317 "0 return value indicates success.  A -1 return value indicates an error, and "
13318 "an error code is stored in I<errno>."
13319 msgstr ""
13320
13321 #. type: Plain text
13322 #: build/C/man2/syscall.2:67
13323 msgid "B<syscall>()  first appeared in 4BSD."
13324 msgstr ""
13325
13326 #. type: Plain text
13327 #: build/C/man2/syscall.2:73
13328 #, no-wrap
13329 msgid ""
13330 "#define _GNU_SOURCE\n"
13331 "#include E<lt>unistd.hE<gt>\n"
13332 "#include E<lt>sys/syscall.hE<gt>\n"
13333 "#include E<lt>sys/types.hE<gt>\n"
13334 msgstr ""
13335
13336 #. type: Plain text
13337 #: build/C/man2/syscall.2:78
13338 #, no-wrap
13339 msgid ""
13340 "int\n"
13341 "main(int argc, char *argv[])\n"
13342 "{\n"
13343 "    pid_t tid;\n"
13344 msgstr ""
13345
13346 #. type: Plain text
13347 #: build/C/man2/syscall.2:81
13348 #, no-wrap
13349 msgid ""
13350 "    tid = syscall(SYS_gettid);\n"
13351 "}\n"
13352 msgstr ""
13353
13354 #. type: Plain text
13355 #: build/C/man2/syscall.2:86
13356 msgid "B<_syscall>(2), B<intro>(2), B<syscalls>(2)"
13357 msgstr ""
13358
13359 #. type: TH
13360 #: build/C/man2/syscalls.2:29
13361 #, no-wrap
13362 msgid "SYSCALLS"
13363 msgstr ""
13364
13365 #. type: TH
13366 #: build/C/man2/syscalls.2:29
13367 #, no-wrap
13368 msgid "2012-03-23"
13369 msgstr ""
13370
13371 #. type: Plain text
13372 #: build/C/man2/syscalls.2:32
13373 msgid "syscalls - Linux system calls"
13374 msgstr ""
13375
13376 #. type: Plain text
13377 #: build/C/man2/syscalls.2:34
13378 msgid "Linux system calls."
13379 msgstr ""
13380
13381 #. type: Plain text
13382 #: build/C/man2/syscalls.2:37
13383 msgid ""
13384 "The system call is the fundamental interface between an application and the "
13385 "Linux kernel."
13386 msgstr ""
13387
13388 #. type: SS
13389 #: build/C/man2/syscalls.2:37
13390 #, no-wrap
13391 msgid "System calls and library wrapper functions"
13392 msgstr ""
13393
13394 #. type: Plain text
13395 #: build/C/man2/syscalls.2:47
13396 msgid ""
13397 "System calls are generally not invoked directly, but rather via wrapper "
13398 "functions in glibc (or perhaps some other library).  For details of direct "
13399 "invocation of a system call, see B<intro>(2).  Often, but not always, the "
13400 "name of the wrapper function is the same as the name of the system call that "
13401 "it invokes.  For example, glibc contains a function B<truncate>()  which "
13402 "invokes the underlying \"truncate\" system call."
13403 msgstr ""
13404
13405 #. type: Plain text
13406 #: build/C/man2/syscalls.2:65
13407 msgid ""
13408 "Often the glibc wrapper function is quite thin, doing little work other than "
13409 "copying arguments to the right registers before invoking the system call, "
13410 "and then setting I<errno> appropriately after the system call has returned.  "
13411 "(These are the same steps that are performed by B<syscall>(2), which can be "
13412 "used to invoke system calls for which no wrapper function is provided.)  "
13413 "Note: system calls indicate a failure by returning a negative error number "
13414 "to the caller; when this happens, the wrapper function negates the returned "
13415 "error number (to make it positive), copies it to I<errno>, and returns -1 to "
13416 "the caller of the wrapper."
13417 msgstr ""
13418
13419 #. type: Plain text
13420 #: build/C/man2/syscalls.2:77
13421 msgid ""
13422 "Sometimes, however, the wrapper function does some extra work before "
13423 "invoking the system call.  For example, nowadays there are (for reasons "
13424 "described below) two related system calls, B<truncate>(2)  and "
13425 "B<truncate64>(2), and the glibc B<truncate>()  wrapper function checks which "
13426 "of those system calls are provided by the kernel and determines which should "
13427 "be employed."
13428 msgstr ""
13429
13430 #. type: SS
13431 #: build/C/man2/syscalls.2:77
13432 #, no-wrap
13433 msgid "System call list"
13434 msgstr ""
13435
13436 #. type: Plain text
13437 #: build/C/man2/syscalls.2:85
13438 msgid ""
13439 "Below is a list of those system calls that are common to most platforms.  In "
13440 "the list, the I<Kernel> column indicates the kernel version for those system "
13441 "calls that were new in Linux 2.2, or have appeared since that kernel "
13442 "version.  Note the following points:"
13443 msgstr ""
13444
13445 #. type: Plain text
13446 #: build/C/man2/syscalls.2:88
13447 msgid ""
13448 "Where no kernel version is indicated, the system call appeared in kernel 1.0 "
13449 "or earlier."
13450 msgstr ""
13451
13452 #. type: Plain text
13453 #: build/C/man2/syscalls.2:94
13454 msgid ""
13455 "Where a system call is marked \"1.2\" this means the system call probably "
13456 "appeared in a 1.1.x kernel version, and first appeared in a stable kernel "
13457 "with 1.2.  (Development of the 1.2 kernel was initiated from a branch of "
13458 "kernel 1.0.6 via the 1.1.x unstable kernel series.)"
13459 msgstr ""
13460
13461 #.  Was kernel 2.0 started from a branch of 1.2.10?
13462 #.  At least from the timestamps of the tarballs of
13463 #.  of 1.2.10 and 1.3.0, that's how it looks, but in
13464 #.  fact the diff doesn't seem very clear, the
13465 #.  1.3.0 .tar.bz is much bigger (2.0 MB) than the
13466 #.  1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
13467 #.  timestamps of some files in 1.3.0 seem to be older
13468 #.  than those in 1.2.10.  All of this suggests
13469 #.  that there might not have been a clean branch point.
13470 #. type: Plain text
13471 #: build/C/man2/syscalls.2:110
13472 msgid ""
13473 "Where a system call is marked \"2.0\" this means the system call probably "
13474 "appeared in a 1.3.x kernel version, and first appeared in a stable kernel "
13475 "with 2.0.  (Development of the 2.0 kernel was initiated from a branch of "
13476 "kernel 1.2.x, somewhere around 1.2.10, via the 1.3.x unstable kernel "
13477 "series.)"
13478 msgstr ""
13479
13480 #. type: Plain text
13481 #: build/C/man2/syscalls.2:116
13482 msgid ""
13483 "Where a system call is marked \"2.2\" this means the system call probably "
13484 "appeared in a 2.1.x kernel version, and first appeared in a stable kernel "
13485 "with 2.2.0.  (Development of the 2.2 kernel was initiated from a branch of "
13486 "kernel 2.0.21 via the 2.1.x unstable kernel series.)"
13487 msgstr ""
13488
13489 #. type: Plain text
13490 #: build/C/man2/syscalls.2:122
13491 msgid ""
13492 "Where a system call is marked \"2.4\" this means the system call probably "
13493 "appeared in a 2.3.x kernel version, and first appeared in a stable kernel "
13494 "with 2.4.0.  (Development of the 2.4 kernel was initiated from a branch of "
13495 "kernel 2.2.8 via the 2.3.x unstable kernel series.)"
13496 msgstr ""
13497
13498 #. type: Plain text
13499 #: build/C/man2/syscalls.2:128
13500 msgid ""
13501 "Where a system call is marked \"2.6\" this means the system call probably "
13502 "appeared in a 2.5.x kernel version, and first appeared in a stable kernel "
13503 "with 2.6.0.  (Development of kernel 2.6 was initiated from a branch of "
13504 "kernel 2.4.15 via the 2.5.x unstable kernel series.)"
13505 msgstr ""
13506
13507 #. type: Plain text
13508 #: build/C/man2/syscalls.2:135
13509 msgid ""
13510 "Starting with kernel 2.6.0, the development model changed, and new system "
13511 "calls may appear in each 2.6.x release.  In this case, the exact version "
13512 "number where the system call appeared is shown.  This convention continues "
13513 "with the 3.x kernel series, which followed on from kernel 2.6.39."
13514 msgstr ""
13515
13516 #. type: Plain text
13517 #: build/C/man2/syscalls.2:143
13518 msgid ""
13519 "In some cases, a system call was added to a stable kernel series after it "
13520 "branched from the previous stable kernel series, and then backported into "
13521 "the earlier stable kernel series.  For example some system calls that "
13522 "appeared in 2.6.x were also backported into a 2.4.x release after 2.4.15.  "
13523 "When this is so, the version where the system call appeared in both of the "
13524 "major kernel series is listed."
13525 msgstr ""
13526
13527 #
13528 #.  Looking at scripts/checksyscalls.sh in the kernel source is
13529 #.  instructive about i386 specifics.
13530 #. type: Plain text
13531 #: build/C/man2/syscalls.2:150
13532 msgid ""
13533 "The list of system calls that are available as at kernel 3.1 (or in a few "
13534 "cases only on older kernels) is as follows:"
13535 msgstr ""
13536
13537 #. type: tbl table
13538 #: build/C/man2/syscalls.2:154
13539 #, no-wrap
13540 msgid "B<System call>\tB<Kernel>\tB<Notes>\n"
13541 msgstr ""
13542
13543 #. type: tbl table
13544 #: build/C/man2/syscalls.2:156
13545 #, no-wrap
13546 msgid "B<_llseek>(2)\t1.2\n"
13547 msgstr ""
13548
13549 #. type: tbl table
13550 #: build/C/man2/syscalls.2:157
13551 #, no-wrap
13552 msgid "B<_newselect>(2)\n"
13553 msgstr ""
13554
13555 #. type: tbl table
13556 #: build/C/man2/syscalls.2:158
13557 #, no-wrap
13558 msgid "B<_sysctl>(2)\n"
13559 msgstr ""
13560
13561 #. type: tbl table
13562 #: build/C/man2/syscalls.2:159
13563 #, no-wrap
13564 msgid "B<accept>(2)\n"
13565 msgstr ""
13566
13567 #. type: tbl table
13568 #: build/C/man2/syscalls.2:160
13569 #, no-wrap
13570 msgid "B<accept4>(2)\t2.6.28\n"
13571 msgstr ""
13572
13573 #. type: tbl table
13574 #: build/C/man2/syscalls.2:161
13575 #, no-wrap
13576 msgid "B<access>(2)\n"
13577 msgstr ""
13578
13579 #. type: tbl table
13580 #: build/C/man2/syscalls.2:162
13581 #, no-wrap
13582 msgid "B<acct>(2)\n"
13583 msgstr ""
13584
13585 #. type: tbl table
13586 #: build/C/man2/syscalls.2:163
13587 #, no-wrap
13588 msgid "B<add_key>(2)\t2.6.11\n"
13589 msgstr ""
13590
13591 #. type: tbl table
13592 #: build/C/man2/syscalls.2:164
13593 #, no-wrap
13594 msgid "B<adjtimex>(2)\n"
13595 msgstr ""
13596
13597 #. type: tbl table
13598 #: build/C/man2/syscalls.2:165
13599 #, no-wrap
13600 msgid "B<alarm>(2)\n"
13601 msgstr ""
13602
13603 #. type: tbl table
13604 #: build/C/man2/syscalls.2:166
13605 #, no-wrap
13606 msgid "B<alloc_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13607 msgstr ""
13608
13609 #. type: tbl table
13610 #: build/C/man2/syscalls.2:167
13611 #, no-wrap
13612 msgid "B<bdflush>(2)\t\tDeprecated (does nothing)\n"
13613 msgstr ""
13614
13615 #. type: tbl table
13616 #: build/C/man2/syscalls.2:168
13617 #, no-wrap
13618 msgid "\t\tsince 2.6\n"
13619 msgstr ""
13620
13621 #. type: tbl table
13622 #: build/C/man2/syscalls.2:169
13623 #, no-wrap
13624 msgid "B<bind>(2)\n"
13625 msgstr ""
13626
13627 #. type: tbl table
13628 #: build/C/man2/syscalls.2:170
13629 #, no-wrap
13630 msgid "B<brk>(2)\n"
13631 msgstr ""
13632
13633 #. type: tbl table
13634 #: build/C/man2/syscalls.2:171
13635 #, no-wrap
13636 msgid "B<cacheflush>(2)\t1.2\tNot on i386\n"
13637 msgstr ""
13638
13639 #. type: tbl table
13640 #: build/C/man2/syscalls.2:172
13641 #, no-wrap
13642 msgid "B<capget>(2)\t2.2\n"
13643 msgstr ""
13644
13645 #. type: tbl table
13646 #: build/C/man2/syscalls.2:173
13647 #, no-wrap
13648 msgid "B<capset>(2)\t2.2\n"
13649 msgstr ""
13650
13651 #. type: tbl table
13652 #: build/C/man2/syscalls.2:174
13653 #, no-wrap
13654 msgid "B<chdir>(2)\n"
13655 msgstr ""
13656
13657 #. type: tbl table
13658 #: build/C/man2/syscalls.2:175
13659 #, no-wrap
13660 msgid "B<chmod>(2)\n"
13661 msgstr ""
13662
13663 #. type: tbl table
13664 #: build/C/man2/syscalls.2:176
13665 #, no-wrap
13666 msgid "B<chown>(2)\n"
13667 msgstr ""
13668
13669 #. type: tbl table
13670 #: build/C/man2/syscalls.2:177
13671 #, no-wrap
13672 msgid "B<chown32>(2)\t2.4\n"
13673 msgstr ""
13674
13675 #. type: tbl table
13676 #: build/C/man2/syscalls.2:178
13677 #, no-wrap
13678 msgid "B<chroot>(2)\n"
13679 msgstr ""
13680
13681 #. type: tbl table
13682 #: build/C/man2/syscalls.2:179
13683 #, no-wrap
13684 msgid "B<clock_adjtime>(2)\t2.6.39\n"
13685 msgstr ""
13686
13687 #. type: tbl table
13688 #: build/C/man2/syscalls.2:180
13689 #, no-wrap
13690 msgid "B<clock_getres>(2)\t2.6\n"
13691 msgstr ""
13692
13693 #. type: tbl table
13694 #: build/C/man2/syscalls.2:181
13695 #, no-wrap
13696 msgid "B<clock_gettime>(2)\t2.6\n"
13697 msgstr ""
13698
13699 #. type: tbl table
13700 #: build/C/man2/syscalls.2:182
13701 #, no-wrap
13702 msgid "B<clock_nanosleep>(2)\t2.6\n"
13703 msgstr ""
13704
13705 #. type: tbl table
13706 #: build/C/man2/syscalls.2:183
13707 #, no-wrap
13708 msgid "B<clock_settime>(2)\t2.6\n"
13709 msgstr ""
13710
13711 #. type: tbl table
13712 #: build/C/man2/syscalls.2:184
13713 #, no-wrap
13714 msgid "B<clone>(2)\n"
13715 msgstr ""
13716
13717 #. type: tbl table
13718 #: build/C/man2/syscalls.2:185
13719 #, no-wrap
13720 msgid "B<close>(2)\n"
13721 msgstr ""
13722
13723 #. type: tbl table
13724 #: build/C/man2/syscalls.2:186
13725 #, no-wrap
13726 msgid "B<connect>(2)\n"
13727 msgstr ""
13728
13729 #. type: tbl table
13730 #: build/C/man2/syscalls.2:187
13731 #, no-wrap
13732 msgid "B<creat>(2)\n"
13733 msgstr ""
13734
13735 #. type: tbl table
13736 #: build/C/man2/syscalls.2:188
13737 #, no-wrap
13738 msgid "B<create_module>(2)\tRemoved in 2.6\n"
13739 msgstr ""
13740
13741 #. type: tbl table
13742 #: build/C/man2/syscalls.2:189
13743 #, no-wrap
13744 msgid "B<delete_module>(2)\n"
13745 msgstr ""
13746
13747 #. type: tbl table
13748 #: build/C/man2/syscalls.2:190
13749 #, no-wrap
13750 msgid "B<dup>(2)\n"
13751 msgstr ""
13752
13753 #. type: tbl table
13754 #: build/C/man2/syscalls.2:191
13755 #, no-wrap
13756 msgid "B<dup2>(2)\n"
13757 msgstr ""
13758
13759 #. type: tbl table
13760 #: build/C/man2/syscalls.2:192
13761 #, no-wrap
13762 msgid "B<dup3>(2)\t2.6.27\n"
13763 msgstr ""
13764
13765 #. type: tbl table
13766 #: build/C/man2/syscalls.2:193
13767 #, no-wrap
13768 msgid "B<epoll_create>(2)\t2.6\n"
13769 msgstr ""
13770
13771 #. type: tbl table
13772 #: build/C/man2/syscalls.2:194
13773 #, no-wrap
13774 msgid "B<epoll_create1>(2)\t2.6.27\n"
13775 msgstr ""
13776
13777 #. type: tbl table
13778 #: build/C/man2/syscalls.2:195
13779 #, no-wrap
13780 msgid "B<epoll_ctl>(2)\t2.6\n"
13781 msgstr ""
13782
13783 #. type: tbl table
13784 #: build/C/man2/syscalls.2:196
13785 #, no-wrap
13786 msgid "B<epoll_pwait>(2)\t2.6.19\n"
13787 msgstr ""
13788
13789 #. type: tbl table
13790 #: build/C/man2/syscalls.2:197
13791 #, no-wrap
13792 msgid "B<epoll_wait>(2)\t2.6\n"
13793 msgstr ""
13794
13795 #. type: tbl table
13796 #: build/C/man2/syscalls.2:198
13797 #, no-wrap
13798 msgid "B<eventfd>(2)\t2.6.22\n"
13799 msgstr ""
13800
13801 #. type: tbl table
13802 #: build/C/man2/syscalls.2:199
13803 #, no-wrap
13804 msgid "B<eventfd2>(2)\t2.6.27\n"
13805 msgstr ""
13806
13807 #. type: tbl table
13808 #: build/C/man2/syscalls.2:200
13809 #, no-wrap
13810 msgid "B<execve>(2)\n"
13811 msgstr ""
13812
13813 #. type: tbl table
13814 #: build/C/man2/syscalls.2:201
13815 #, no-wrap
13816 msgid "B<exit>(2)\n"
13817 msgstr ""
13818
13819 #. type: tbl table
13820 #: build/C/man2/syscalls.2:202
13821 #, no-wrap
13822 msgid "B<exit_group>(2)\t2.6\n"
13823 msgstr ""
13824
13825 #. type: tbl table
13826 #: build/C/man2/syscalls.2:203
13827 #, no-wrap
13828 msgid "B<faccessat>(2)\t2.6.16\n"
13829 msgstr ""
13830
13831 #. type: tbl table
13832 #: build/C/man2/syscalls.2:204
13833 #, no-wrap
13834 msgid "B<fadvise64>(2)\t2.6\n"
13835 msgstr ""
13836
13837 #.  Implements \fBposix_fadvise\fP(2)
13838 #. type: tbl table
13839 #: build/C/man2/syscalls.2:206
13840 #, no-wrap
13841 msgid "B<fadvise64_64>(2)\t2.6\n"
13842 msgstr ""
13843
13844 #. type: tbl table
13845 #: build/C/man2/syscalls.2:207
13846 #, no-wrap
13847 msgid "B<fallocate>(2)\t2.6.23\n"
13848 msgstr ""
13849
13850 #. type: tbl table
13851 #: build/C/man2/syscalls.2:208
13852 #, no-wrap
13853 msgid "B<fanotify_init>(2)\t2.6.37\n"
13854 msgstr ""
13855
13856 #. type: tbl table
13857 #: build/C/man2/syscalls.2:209
13858 #, no-wrap
13859 msgid "B<fanotify_mark>(2)\t2.6.37\n"
13860 msgstr ""
13861
13862 #.  The fanotify calls were added in Linux 2.6.36,
13863 #.  but disabled while the API was finalized.
13864 #. type: tbl table
13865 #: build/C/man2/syscalls.2:212
13866 #, no-wrap
13867 msgid "B<fchdir>(2)\n"
13868 msgstr ""
13869
13870 #. type: tbl table
13871 #: build/C/man2/syscalls.2:213
13872 #, no-wrap
13873 msgid "B<fchmod>(2)\n"
13874 msgstr ""
13875
13876 #. type: tbl table
13877 #: build/C/man2/syscalls.2:214
13878 #, no-wrap
13879 msgid "B<fchmodat>(2)\t2.6.16\n"
13880 msgstr ""
13881
13882 #. type: tbl table
13883 #: build/C/man2/syscalls.2:215
13884 #, no-wrap
13885 msgid "B<fchown>(2)\n"
13886 msgstr ""
13887
13888 #. type: tbl table
13889 #: build/C/man2/syscalls.2:216
13890 #, no-wrap
13891 msgid "B<fchown32>(2)\t2.4\n"
13892 msgstr ""
13893
13894 #. type: tbl table
13895 #: build/C/man2/syscalls.2:217
13896 #, no-wrap
13897 msgid "B<fchownat>(2)\t2.6.16\n"
13898 msgstr ""
13899
13900 #. type: tbl table
13901 #: build/C/man2/syscalls.2:218
13902 #, no-wrap
13903 msgid "B<fcntl>(2)\n"
13904 msgstr ""
13905
13906 #. type: tbl table
13907 #: build/C/man2/syscalls.2:219
13908 #, no-wrap
13909 msgid "B<fcntl64>(2)\t2.4\n"
13910 msgstr ""
13911
13912 #. type: tbl table
13913 #: build/C/man2/syscalls.2:220
13914 #, no-wrap
13915 msgid "B<fdatasync>(2)\n"
13916 msgstr ""
13917
13918 #. type: tbl table
13919 #: build/C/man2/syscalls.2:221
13920 #, no-wrap
13921 msgid "B<fgetxattr>(2)\t2.6; 2.4.18\n"
13922 msgstr ""
13923
13924 #. type: tbl table
13925 #: build/C/man2/syscalls.2:222
13926 #, no-wrap
13927 msgid "B<flistxattr>(2)\t2.6; 2.4.18\n"
13928 msgstr ""
13929
13930 #. type: tbl table
13931 #: build/C/man2/syscalls.2:223
13932 #, no-wrap
13933 msgid "B<flock>(2)\t2.0\n"
13934 msgstr ""
13935
13936 #. type: tbl table
13937 #: build/C/man2/syscalls.2:224
13938 #, no-wrap
13939 msgid "B<fork>(2)\n"
13940 msgstr ""
13941
13942 #. type: tbl table
13943 #: build/C/man2/syscalls.2:225
13944 #, no-wrap
13945 msgid "B<free_hugepages>(2)\t2.5.36\tRemoved in 2.5.44\n"
13946 msgstr ""
13947
13948 #. type: tbl table
13949 #: build/C/man2/syscalls.2:226
13950 #, no-wrap
13951 msgid "B<fremovexattr>(2)\t2.6; 2.4.18\n"
13952 msgstr ""
13953
13954 #. type: tbl table
13955 #: build/C/man2/syscalls.2:227
13956 #, no-wrap
13957 msgid "B<fsetxattr>(2)\t2.6; 2.4.18\n"
13958 msgstr ""
13959
13960 #. type: tbl table
13961 #: build/C/man2/syscalls.2:228
13962 #, no-wrap
13963 msgid "B<fstat>(2)\n"
13964 msgstr ""
13965
13966 #. type: tbl table
13967 #: build/C/man2/syscalls.2:229
13968 #, no-wrap
13969 msgid "B<fstat64>(2)\t2.4\n"
13970 msgstr ""
13971
13972 #. type: tbl table
13973 #: build/C/man2/syscalls.2:230
13974 #, no-wrap
13975 msgid "B<fstatat64>(2)\t2.6.16\n"
13976 msgstr ""
13977
13978 #. type: tbl table
13979 #: build/C/man2/syscalls.2:231
13980 #, no-wrap
13981 msgid "B<fstatfs>(2)\n"
13982 msgstr ""
13983
13984 #. type: tbl table
13985 #: build/C/man2/syscalls.2:232
13986 #, no-wrap
13987 msgid "B<fstatfs64>(2)\t2.6\n"
13988 msgstr ""
13989
13990 #. type: tbl table
13991 #: build/C/man2/syscalls.2:233
13992 #, no-wrap
13993 msgid "B<fsync>(2)\n"
13994 msgstr ""
13995
13996 #. type: tbl table
13997 #: build/C/man2/syscalls.2:234
13998 #, no-wrap
13999 msgid "B<ftruncate>(2)\n"
14000 msgstr ""
14001
14002 #. type: tbl table
14003 #: build/C/man2/syscalls.2:235
14004 #, no-wrap
14005 msgid "B<ftruncate64>(2)\t2.4\n"
14006 msgstr ""
14007
14008 #. type: tbl table
14009 #: build/C/man2/syscalls.2:236
14010 #, no-wrap
14011 msgid "B<futex>(2)\t2.6\n"
14012 msgstr ""
14013
14014 #. type: tbl table
14015 #: build/C/man2/syscalls.2:237
14016 #, no-wrap
14017 msgid "B<futimesat>(2)\t2.6.16\n"
14018 msgstr ""
14019
14020 #. type: tbl table
14021 #: build/C/man2/syscalls.2:238
14022 #, no-wrap
14023 msgid "B<get_kernel_syms>(2)\tRemoved in 2.6\n"
14024 msgstr ""
14025
14026 #. type: tbl table
14027 #: build/C/man2/syscalls.2:239
14028 #, no-wrap
14029 msgid "B<get_mempolicy>(2)\t2.6.6\n"
14030 msgstr ""
14031
14032 #. type: tbl table
14033 #: build/C/man2/syscalls.2:240
14034 #, no-wrap
14035 msgid "B<get_robust_list>(2)\t2.6.17\n"
14036 msgstr ""
14037
14038 #. type: tbl table
14039 #: build/C/man2/syscalls.2:241
14040 #, no-wrap
14041 msgid "B<get_thread_area>(2)\t2.6\n"
14042 msgstr ""
14043
14044 #. type: tbl table
14045 #: build/C/man2/syscalls.2:242
14046 #, no-wrap
14047 msgid "B<getcpu>(2)\t2.6.19\n"
14048 msgstr ""
14049
14050 #. type: tbl table
14051 #: build/C/man2/syscalls.2:243
14052 #, no-wrap
14053 msgid "B<getcwd>(2)\t2.2\n"
14054 msgstr ""
14055
14056 #. type: tbl table
14057 #: build/C/man2/syscalls.2:244
14058 #, no-wrap
14059 msgid "B<getdents>(2)\t2.0\n"
14060 msgstr ""
14061
14062 #. type: tbl table
14063 #: build/C/man2/syscalls.2:245
14064 #, no-wrap
14065 msgid "B<getdents64>(2)\t2.4\n"
14066 msgstr ""
14067
14068 #. type: tbl table
14069 #: build/C/man2/syscalls.2:246
14070 #, no-wrap
14071 msgid "B<getegid>(2)\n"
14072 msgstr ""
14073
14074 #. type: tbl table
14075 #: build/C/man2/syscalls.2:247
14076 #, no-wrap
14077 msgid "B<getegid32>(2)\t2.4\n"
14078 msgstr ""
14079
14080 #. type: tbl table
14081 #: build/C/man2/syscalls.2:248
14082 #, no-wrap
14083 msgid "B<geteuid>(2)\n"
14084 msgstr ""
14085
14086 #. type: tbl table
14087 #: build/C/man2/syscalls.2:249
14088 #, no-wrap
14089 msgid "B<geteuid32>(2)\t2.4\n"
14090 msgstr ""
14091
14092 #. type: tbl table
14093 #: build/C/man2/syscalls.2:250
14094 #, no-wrap
14095 msgid "B<getgid>(2)\n"
14096 msgstr ""
14097
14098 #. type: tbl table
14099 #: build/C/man2/syscalls.2:251
14100 #, no-wrap
14101 msgid "B<getgid32>(2)\t2.4\n"
14102 msgstr ""
14103
14104 #. type: tbl table
14105 #: build/C/man2/syscalls.2:252
14106 #, no-wrap
14107 msgid "B<getgroups>(2)\n"
14108 msgstr ""
14109
14110 #. type: tbl table
14111 #: build/C/man2/syscalls.2:253
14112 #, no-wrap
14113 msgid "B<getgroups32>(2)\t2.4\n"
14114 msgstr ""
14115
14116 #. type: tbl table
14117 #: build/C/man2/syscalls.2:254
14118 #, no-wrap
14119 msgid "B<getitimer>(2)\n"
14120 msgstr ""
14121
14122 #. type: tbl table
14123 #: build/C/man2/syscalls.2:255
14124 #, no-wrap
14125 msgid "B<getpeername>(2)\n"
14126 msgstr ""
14127
14128 #. type: tbl table
14129 #: build/C/man2/syscalls.2:256
14130 #, no-wrap
14131 msgid "B<getpagesize>(2)\t2.0\tNot on i386\n"
14132 msgstr ""
14133
14134 #. type: tbl table
14135 #: build/C/man2/syscalls.2:257
14136 #, no-wrap
14137 msgid "B<getpgid>(2)\n"
14138 msgstr ""
14139
14140 #. type: tbl table
14141 #: build/C/man2/syscalls.2:258
14142 #, no-wrap
14143 msgid "B<getpgrp>(2)\n"
14144 msgstr ""
14145
14146 #. type: tbl table
14147 #: build/C/man2/syscalls.2:259
14148 #, no-wrap
14149 msgid "B<getpid>(2)\n"
14150 msgstr ""
14151
14152 #. type: tbl table
14153 #: build/C/man2/syscalls.2:260
14154 #, no-wrap
14155 msgid "B<getppid>(2)\n"
14156 msgstr ""
14157
14158 #. type: tbl table
14159 #: build/C/man2/syscalls.2:261
14160 #, no-wrap
14161 msgid "B<getpriority>(2)\n"
14162 msgstr ""
14163
14164 #. type: tbl table
14165 #: build/C/man2/syscalls.2:262
14166 #, no-wrap
14167 msgid "B<getresgid>(2)\t2.2\n"
14168 msgstr ""
14169
14170 #. type: tbl table
14171 #: build/C/man2/syscalls.2:263
14172 #, no-wrap
14173 msgid "B<getresgid32>(2)\t2.4\n"
14174 msgstr ""
14175
14176 #. type: tbl table
14177 #: build/C/man2/syscalls.2:264
14178 #, no-wrap
14179 msgid "B<getresuid>(2)\t2.2\n"
14180 msgstr ""
14181
14182 #. type: tbl table
14183 #: build/C/man2/syscalls.2:265
14184 #, no-wrap
14185 msgid "B<getresuid32>(2)\t2.4\n"
14186 msgstr ""
14187
14188 #. type: tbl table
14189 #: build/C/man2/syscalls.2:266
14190 #, no-wrap
14191 msgid "B<getrlimit>(2)\n"
14192 msgstr ""
14193
14194 #. type: tbl table
14195 #: build/C/man2/syscalls.2:267
14196 #, no-wrap
14197 msgid "B<getrusage>(2)\n"
14198 msgstr ""
14199
14200 #. type: tbl table
14201 #: build/C/man2/syscalls.2:268
14202 #, no-wrap
14203 msgid "B<getsid>(2)\t2.0\n"
14204 msgstr ""
14205
14206 #. type: tbl table
14207 #: build/C/man2/syscalls.2:269
14208 #, no-wrap
14209 msgid "B<getsockname>(2)\n"
14210 msgstr ""
14211
14212 #. type: tbl table
14213 #: build/C/man2/syscalls.2:270
14214 #, no-wrap
14215 msgid "B<getsockopt>(2)\n"
14216 msgstr ""
14217
14218 #. type: tbl table
14219 #: build/C/man2/syscalls.2:271
14220 #, no-wrap
14221 msgid "B<gettid>(2)\t2.4.11\n"
14222 msgstr ""
14223
14224 #. type: tbl table
14225 #: build/C/man2/syscalls.2:272
14226 #, no-wrap
14227 msgid "B<gettimeofday>(2)\n"
14228 msgstr ""
14229
14230 #. type: tbl table
14231 #: build/C/man2/syscalls.2:273
14232 #, no-wrap
14233 msgid "B<getuid>(2)\n"
14234 msgstr ""
14235
14236 #. type: tbl table
14237 #: build/C/man2/syscalls.2:274
14238 #, no-wrap
14239 msgid "B<getuid32>(2)\t2.4\n"
14240 msgstr ""
14241
14242 #.  \fBgetunwind\fP(2)  2.4.8   ia64; DEPRECATED
14243 #. type: tbl table
14244 #: build/C/man2/syscalls.2:276
14245 #, no-wrap
14246 msgid "B<getxattr>(2)\t2.6; 2.4.18\n"
14247 msgstr ""
14248
14249 #. type: tbl table
14250 #: build/C/man2/syscalls.2:277
14251 #, no-wrap
14252 msgid "B<init_module>(2)\n"
14253 msgstr ""
14254
14255 #. type: tbl table
14256 #: build/C/man2/syscalls.2:278
14257 #, no-wrap
14258 msgid "B<inotify_add_watch>(2)\t2.6.13\n"
14259 msgstr ""
14260
14261 #. type: tbl table
14262 #: build/C/man2/syscalls.2:279
14263 #, no-wrap
14264 msgid "B<inotify_init>(2)\t2.6.13\n"
14265 msgstr ""
14266
14267 #. type: tbl table
14268 #: build/C/man2/syscalls.2:280
14269 #, no-wrap
14270 msgid "B<inotify_init1>(2)\t2.6.27\n"
14271 msgstr ""
14272
14273 #. type: tbl table
14274 #: build/C/man2/syscalls.2:281
14275 #, no-wrap
14276 msgid "B<inotify_rm_watch>(2)\t2.6.13\n"
14277 msgstr ""
14278
14279 #. type: tbl table
14280 #: build/C/man2/syscalls.2:282
14281 #, no-wrap
14282 msgid "B<io_cancel>(2)\t2.6\n"
14283 msgstr ""
14284
14285 #. type: tbl table
14286 #: build/C/man2/syscalls.2:283
14287 #, no-wrap
14288 msgid "B<io_destroy>(2)\t2.6\n"
14289 msgstr ""
14290
14291 #. type: tbl table
14292 #: build/C/man2/syscalls.2:284
14293 #, no-wrap
14294 msgid "B<io_getevents>(2)\t2.6\n"
14295 msgstr ""
14296
14297 #. type: tbl table
14298 #: build/C/man2/syscalls.2:285
14299 #, no-wrap
14300 msgid "B<io_setup>(2)\t2.6\n"
14301 msgstr ""
14302
14303 #. type: tbl table
14304 #: build/C/man2/syscalls.2:286
14305 #, no-wrap
14306 msgid "B<io_submit>(2)\t2.6\n"
14307 msgstr ""
14308
14309 #. type: tbl table
14310 #: build/C/man2/syscalls.2:287
14311 #, no-wrap
14312 msgid "B<ioctl>(2)\n"
14313 msgstr ""
14314
14315 #. type: tbl table
14316 #: build/C/man2/syscalls.2:288
14317 #, no-wrap
14318 msgid "B<ioperm>(2)\n"
14319 msgstr ""
14320
14321 #. type: tbl table
14322 #: build/C/man2/syscalls.2:289
14323 #, no-wrap
14324 msgid "B<iopl>(2)\n"
14325 msgstr ""
14326
14327 #. type: tbl table
14328 #: build/C/man2/syscalls.2:290
14329 #, no-wrap
14330 msgid "B<ioprio_get>(2)\t2.6.13\n"
14331 msgstr ""
14332
14333 #. type: tbl table
14334 #: build/C/man2/syscalls.2:291
14335 #, no-wrap
14336 msgid "B<ioprio_set>(2)\t2.6.13\n"
14337 msgstr ""
14338
14339 #. type: tbl table
14340 #: build/C/man2/syscalls.2:292
14341 #, no-wrap
14342 msgid "B<ipc>(2)\n"
14343 msgstr ""
14344
14345 #.  Implements System V IPC calls
14346 #. type: tbl table
14347 #: build/C/man2/syscalls.2:294
14348 #, no-wrap
14349 msgid "B<kexec_load>(2)\t2.6.13\n"
14350 msgstr ""
14351
14352 #.  The entry in the syscall table was reserved starting in 2.6.7
14353 #.  Was named sys_kexec_load() from 2.6.7 to 2.6.16
14354 #. type: tbl table
14355 #: build/C/man2/syscalls.2:297
14356 #, no-wrap
14357 msgid "B<keyctl>(2)\t2.6.11\n"
14358 msgstr ""
14359
14360 #. type: tbl table
14361 #: build/C/man2/syscalls.2:298
14362 #, no-wrap
14363 msgid "B<kill>(2)\n"
14364 msgstr ""
14365
14366 #. type: tbl table
14367 #: build/C/man2/syscalls.2:299
14368 #, no-wrap
14369 msgid "B<lchown>(2)\t2.2\n"
14370 msgstr ""
14371
14372 #. type: tbl table
14373 #: build/C/man2/syscalls.2:300
14374 #, no-wrap
14375 msgid "B<lchown32>(2)\t2.4\n"
14376 msgstr ""
14377
14378 #. type: tbl table
14379 #: build/C/man2/syscalls.2:301
14380 #, no-wrap
14381 msgid "B<lgetxattr>(2)\t2.6; 2.4.18\n"
14382 msgstr ""
14383
14384 #. type: tbl table
14385 #: build/C/man2/syscalls.2:302
14386 #, no-wrap
14387 msgid "B<link>(2)\n"
14388 msgstr ""
14389
14390 #. type: tbl table
14391 #: build/C/man2/syscalls.2:303
14392 #, no-wrap
14393 msgid "B<linkat>(2)\t2.6.16\n"
14394 msgstr ""
14395
14396 #. type: tbl table
14397 #: build/C/man2/syscalls.2:304
14398 #, no-wrap
14399 msgid "B<listen>(2)\n"
14400 msgstr ""
14401
14402 #. type: tbl table
14403 #: build/C/man2/syscalls.2:305
14404 #, no-wrap
14405 msgid "B<listxattr>(2)\t2.6; 2.4.18\n"
14406 msgstr ""
14407
14408 #. type: tbl table
14409 #: build/C/man2/syscalls.2:306
14410 #, no-wrap
14411 msgid "B<llistxattr>(2)\t2.6; 2.4.18\n"
14412 msgstr ""
14413
14414 #. type: tbl table
14415 #: build/C/man2/syscalls.2:307
14416 #, no-wrap
14417 msgid "B<lookup_dcookie>(2)\t2.6\n"
14418 msgstr ""
14419
14420 #. type: tbl table
14421 #: build/C/man2/syscalls.2:308
14422 #, no-wrap
14423 msgid "B<lremovexattr>(2)\t2.6; 2.4.18\n"
14424 msgstr ""
14425
14426 #. type: tbl table
14427 #: build/C/man2/syscalls.2:309
14428 #, no-wrap
14429 msgid "B<lseek>(2)\n"
14430 msgstr ""
14431
14432 #. type: tbl table
14433 #: build/C/man2/syscalls.2:310
14434 #, no-wrap
14435 msgid "B<lsetxattr>(2)\t2.6; 2.4.18\n"
14436 msgstr ""
14437
14438 #. type: tbl table
14439 #: build/C/man2/syscalls.2:311
14440 #, no-wrap
14441 msgid "B<lstat>(2)\n"
14442 msgstr ""
14443
14444 #. type: tbl table
14445 #: build/C/man2/syscalls.2:312
14446 #, no-wrap
14447 msgid "B<lstat64>(2)\t2.4\n"
14448 msgstr ""
14449
14450 #. type: tbl table
14451 #: build/C/man2/syscalls.2:313
14452 #, no-wrap
14453 msgid "B<madvise>(2)\t2.4\n"
14454 msgstr ""
14455
14456 #. type: tbl table
14457 #: build/C/man2/syscalls.2:314
14458 #, no-wrap
14459 msgid "B<madvise1>(2)\t2.4\n"
14460 msgstr ""
14461
14462 #. type: tbl table
14463 #: build/C/man2/syscalls.2:315
14464 #, no-wrap
14465 msgid "B<mbind>(2)\t2.6.6\n"
14466 msgstr ""
14467
14468 #.  \fBmemory_ordering\fP(2)    ???     Sparc64
14469 #. type: tbl table
14470 #: build/C/man2/syscalls.2:317
14471 #, no-wrap
14472 msgid "B<migrate_pages>(2)\t2.6.16\n"
14473 msgstr ""
14474
14475 #. type: tbl table
14476 #: build/C/man2/syscalls.2:318
14477 #, no-wrap
14478 msgid "B<mincore>(2)\t2.4\n"
14479 msgstr ""
14480
14481 #. type: tbl table
14482 #: build/C/man2/syscalls.2:319
14483 #, no-wrap
14484 msgid "B<mkdir>(2)\n"
14485 msgstr ""
14486
14487 #. type: tbl table
14488 #: build/C/man2/syscalls.2:320
14489 #, no-wrap
14490 msgid "B<mkdirat>(2)\t2.6.16\n"
14491 msgstr ""
14492
14493 #. type: tbl table
14494 #: build/C/man2/syscalls.2:321
14495 #, no-wrap
14496 msgid "B<mknod>(2)\n"
14497 msgstr ""
14498
14499 #. type: tbl table
14500 #: build/C/man2/syscalls.2:322
14501 #, no-wrap
14502 msgid "B<mknodat>(2)\t2.6.16\n"
14503 msgstr ""
14504
14505 #. type: tbl table
14506 #: build/C/man2/syscalls.2:323
14507 #, no-wrap
14508 msgid "B<mlock>(2)\n"
14509 msgstr ""
14510
14511 #. type: tbl table
14512 #: build/C/man2/syscalls.2:324
14513 #, no-wrap
14514 msgid "B<mlockall>(2)\n"
14515 msgstr ""
14516
14517 #. type: tbl table
14518 #: build/C/man2/syscalls.2:325
14519 #, no-wrap
14520 msgid "B<mmap>(2)\n"
14521 msgstr ""
14522
14523 #. type: tbl table
14524 #: build/C/man2/syscalls.2:326
14525 #, no-wrap
14526 msgid "B<mmap2>(2)\t2.4\n"
14527 msgstr ""
14528
14529 #. type: tbl table
14530 #: build/C/man2/syscalls.2:327
14531 #, no-wrap
14532 msgid "B<modify_ldt>(2)\n"
14533 msgstr ""
14534
14535 #. type: tbl table
14536 #: build/C/man2/syscalls.2:328
14537 #, no-wrap
14538 msgid "B<mount>(2)\n"
14539 msgstr ""
14540
14541 #. type: tbl table
14542 #: build/C/man2/syscalls.2:329
14543 #, no-wrap
14544 msgid "B<move_pages>(2)\t2.6.18\n"
14545 msgstr ""
14546
14547 #. type: tbl table
14548 #: build/C/man2/syscalls.2:330
14549 #, no-wrap
14550 msgid "B<mprotect>(2)\n"
14551 msgstr ""
14552
14553 #. type: tbl table
14554 #: build/C/man2/syscalls.2:331
14555 #, no-wrap
14556 msgid "B<mq_getsetattr>(2)\t2.6.6\n"
14557 msgstr ""
14558
14559 #.  Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3)
14560 #. type: tbl table
14561 #: build/C/man2/syscalls.2:333
14562 #, no-wrap
14563 msgid "B<mq_notify>(2)\t2.6.6\n"
14564 msgstr ""
14565
14566 #. type: tbl table
14567 #: build/C/man2/syscalls.2:334
14568 #, no-wrap
14569 msgid "B<mq_open>(2)\t2.6.6\n"
14570 msgstr ""
14571
14572 #. type: tbl table
14573 #: build/C/man2/syscalls.2:335
14574 #, no-wrap
14575 msgid "B<mq_timedreceive>(2)\t2.6.6\n"
14576 msgstr ""
14577
14578 #. type: tbl table
14579 #: build/C/man2/syscalls.2:336
14580 #, no-wrap
14581 msgid "B<mq_timedsend>(2)\t2.6.6\n"
14582 msgstr ""
14583
14584 #. type: tbl table
14585 #: build/C/man2/syscalls.2:337
14586 #, no-wrap
14587 msgid "B<mq_unlink>(2)\n"
14588 msgstr ""
14589
14590 #. type: tbl table
14591 #: build/C/man2/syscalls.2:338
14592 #, no-wrap
14593 msgid "B<mremap>(2)\t2.0\n"
14594 msgstr ""
14595
14596 #. type: tbl table
14597 #: build/C/man2/syscalls.2:339
14598 #, no-wrap
14599 msgid "B<msgctl>(2)\n"
14600 msgstr ""
14601
14602 #. type: tbl table
14603 #: build/C/man2/syscalls.2:340
14604 #, no-wrap
14605 msgid "B<msgget>(2)\n"
14606 msgstr ""
14607
14608 #. type: tbl table
14609 #: build/C/man2/syscalls.2:341
14610 #, no-wrap
14611 msgid "B<msgrcv>(2)\n"
14612 msgstr ""
14613
14614 #. type: tbl table
14615 #: build/C/man2/syscalls.2:342
14616 #, no-wrap
14617 msgid "B<msgsnd>(2)\n"
14618 msgstr ""
14619
14620 #. type: tbl table
14621 #: build/C/man2/syscalls.2:343
14622 #, no-wrap
14623 msgid "B<msync>(2)\t2.0\n"
14624 msgstr ""
14625
14626 #.  \fBmultiplexer\fP(2)        ??      __NR_multiplexer reserved on
14627 #.              PowerPC, but unimplemented?
14628 #. type: tbl table
14629 #: build/C/man2/syscalls.2:346
14630 #, no-wrap
14631 msgid "B<munlock>(2)\n"
14632 msgstr ""
14633
14634 #. type: tbl table
14635 #: build/C/man2/syscalls.2:347
14636 #, no-wrap
14637 msgid "B<munlockall>(2)\n"
14638 msgstr ""
14639
14640 #. type: tbl table
14641 #: build/C/man2/syscalls.2:348
14642 #, no-wrap
14643 msgid "B<munmap>(2)\n"
14644 msgstr ""
14645
14646 #. type: tbl table
14647 #: build/C/man2/syscalls.2:349
14648 #, no-wrap
14649 msgid "B<name_to_handle_at>(2)\t2.6.39\n"
14650 msgstr ""
14651
14652 #. type: tbl table
14653 #: build/C/man2/syscalls.2:350
14654 #, no-wrap
14655 msgid "B<nanosleep>(2)\t2.0\n"
14656 msgstr ""
14657
14658 #. type: tbl table
14659 #: build/C/man2/syscalls.2:351
14660 #, no-wrap
14661 msgid "B<nfsservctl>(2)\t2.2\tRemoved in 3.1\n"
14662 msgstr ""
14663
14664 #. type: tbl table
14665 #: build/C/man2/syscalls.2:352
14666 #, no-wrap
14667 msgid "B<nice>(2)\n"
14668 msgstr ""
14669
14670 #. type: tbl table
14671 #: build/C/man2/syscalls.2:353
14672 #, no-wrap
14673 msgid "B<oldfstat>(2)\n"
14674 msgstr ""
14675
14676 #. type: tbl table
14677 #: build/C/man2/syscalls.2:354
14678 #, no-wrap
14679 msgid "B<oldlstat>(2)\n"
14680 msgstr ""
14681
14682 #. type: tbl table
14683 #: build/C/man2/syscalls.2:355
14684 #, no-wrap
14685 msgid "B<oldolduname>(2)\n"
14686 msgstr ""
14687
14688 #. type: tbl table
14689 #: build/C/man2/syscalls.2:356
14690 #, no-wrap
14691 msgid "B<oldstat>(2)\n"
14692 msgstr ""
14693
14694 #. type: tbl table
14695 #: build/C/man2/syscalls.2:357
14696 #, no-wrap
14697 msgid "B<olduname>(2)\n"
14698 msgstr ""
14699
14700 #. type: tbl table
14701 #: build/C/man2/syscalls.2:358
14702 #, no-wrap
14703 msgid "B<open>(2)\n"
14704 msgstr ""
14705
14706 #. type: tbl table
14707 #: build/C/man2/syscalls.2:359
14708 #, no-wrap
14709 msgid "B<open_by_handle_at>(2)\t2.6.39\n"
14710 msgstr ""
14711
14712 #. type: tbl table
14713 #: build/C/man2/syscalls.2:360
14714 #, no-wrap
14715 msgid "B<openat>(2)\t2.6.16\n"
14716 msgstr ""
14717
14718 #. type: tbl table
14719 #: build/C/man2/syscalls.2:361
14720 #, no-wrap
14721 msgid "B<pause>(2)\n"
14722 msgstr ""
14723
14724 #. type: tbl table
14725 #: build/C/man2/syscalls.2:362
14726 #, no-wrap
14727 msgid "B<pciconfig_iobase>(2)\t2.2.15; 2.4\tNot on i386\n"
14728 msgstr ""
14729
14730 #.  Alpha, PowerPC, ARM; not i386
14731 #. type: tbl table
14732 #: build/C/man2/syscalls.2:364
14733 #, no-wrap
14734 msgid "B<pciconfig_read>(2)\t2.0.26; 2.2\tNot on i386\n"
14735 msgstr ""
14736
14737 #.  , PowerPC, ARM; not i386
14738 #. type: tbl table
14739 #: build/C/man2/syscalls.2:366
14740 #, no-wrap
14741 msgid "B<pciconfig_write>(2)\t2.0.26; 2.2\tNot on i386\n"
14742 msgstr ""
14743
14744 #.  , PowerPC, ARM; not i386
14745 #. type: tbl table
14746 #: build/C/man2/syscalls.2:368
14747 #, no-wrap
14748 msgid "B<perf_event_open>(2)\t2.6.31\tWas called perf_counter_open()\n"
14749 msgstr ""
14750
14751 #. type: tbl table
14752 #: build/C/man2/syscalls.2:369
14753 #, no-wrap
14754 msgid "\t\tin 2.6.31; renamed in 2.6.32\n"
14755 msgstr ""
14756
14757 #. type: tbl table
14758 #: build/C/man2/syscalls.2:370
14759 #, no-wrap
14760 msgid "B<personality>(2)\t1.2\n"
14761 msgstr ""
14762
14763 #.  \fBperfctr\fP(2)    ???     Sparc32, Sparc64
14764 #.  \fBperfmonctl\fP(2) ???     ia64
14765 #. type: tbl table
14766 #: build/C/man2/syscalls.2:373
14767 #, no-wrap
14768 msgid "B<pipe>(2)\n"
14769 msgstr ""
14770
14771 #. type: tbl table
14772 #: build/C/man2/syscalls.2:374
14773 #, no-wrap
14774 msgid "B<pipe2>(2)\t2.6.27\n"
14775 msgstr ""
14776
14777 #. type: tbl table
14778 #: build/C/man2/syscalls.2:375
14779 #, no-wrap
14780 msgid "B<pivot_root>(2)\t2.4\n"
14781 msgstr ""
14782
14783 #. type: tbl table
14784 #: build/C/man2/syscalls.2:376
14785 #, no-wrap
14786 msgid "B<poll>(2)\t2.2\n"
14787 msgstr ""
14788
14789 #. type: tbl table
14790 #: build/C/man2/syscalls.2:377
14791 #, no-wrap
14792 msgid "B<ppoll>(2)\t2.6.16\n"
14793 msgstr ""
14794
14795 #. type: tbl table
14796 #: build/C/man2/syscalls.2:378
14797 #, no-wrap
14798 msgid "B<prctl>(2)\t2.2\n"
14799 msgstr ""
14800
14801 #. type: tbl table
14802 #: build/C/man2/syscalls.2:379
14803 #, no-wrap
14804 msgid "B<pread64>(2)\t\tAdded as \"pread\" in 2.2;\n"
14805 msgstr ""
14806
14807 #. type: tbl table
14808 #: build/C/man2/syscalls.2:380
14809 #, no-wrap
14810 msgid "\t\trenamed \"pread64\" in 2.6\n"
14811 msgstr ""
14812
14813 #. type: tbl table
14814 #: build/C/man2/syscalls.2:381
14815 #, no-wrap
14816 msgid "B<preadv>(2)\t2.6.30\n"
14817 msgstr ""
14818
14819 #. type: tbl table
14820 #: build/C/man2/syscalls.2:382
14821 #, no-wrap
14822 msgid "B<prlimit>(2)\t2.6.36\n"
14823 msgstr ""
14824
14825 #. type: tbl table
14826 #: build/C/man2/syscalls.2:383
14827 #, no-wrap
14828 msgid "B<process_vm_readv(2)>\t3.2\n"
14829 msgstr ""
14830
14831 #. type: tbl table
14832 #: build/C/man2/syscalls.2:384
14833 #, no-wrap
14834 msgid "B<process_vm_writev(2)>\t3.2\n"
14835 msgstr ""
14836
14837 #. type: tbl table
14838 #: build/C/man2/syscalls.2:385
14839 #, no-wrap
14840 msgid "B<pselect6>(2)\t2.6.16\n"
14841 msgstr ""
14842
14843 #.  Implements \fBpselect\fP(2)
14844 #. type: tbl table
14845 #: build/C/man2/syscalls.2:387
14846 #, no-wrap
14847 msgid "B<ptrace>(2)\n"
14848 msgstr ""
14849
14850 #. type: tbl table
14851 #: build/C/man2/syscalls.2:388
14852 #, no-wrap
14853 msgid "B<pwrite64>(2)\t\tAdded as \"pwrite\" in 2.2;\n"
14854 msgstr ""
14855
14856 #. type: tbl table
14857 #: build/C/man2/syscalls.2:389
14858 #, no-wrap
14859 msgid "\t\trenamed \"pwrite64\" in 2.6\n"
14860 msgstr ""
14861
14862 #. type: tbl table
14863 #: build/C/man2/syscalls.2:390
14864 #, no-wrap
14865 msgid "B<pwritev>(2)\t2.6.30\n"
14866 msgstr ""
14867
14868 #. type: tbl table
14869 #: build/C/man2/syscalls.2:391
14870 #, no-wrap
14871 msgid "B<query_module>(2)\t2.2\tRemoved in 2.6\n"
14872 msgstr ""
14873
14874 #. type: tbl table
14875 #: build/C/man2/syscalls.2:392
14876 #, no-wrap
14877 msgid "B<quotactl>(2)\n"
14878 msgstr ""
14879
14880 #. type: tbl table
14881 #: build/C/man2/syscalls.2:393
14882 #, no-wrap
14883 msgid "B<read>(2)\n"
14884 msgstr ""
14885
14886 #. type: tbl table
14887 #: build/C/man2/syscalls.2:394
14888 #, no-wrap
14889 msgid "B<readahead>(2)\t2.4.13\n"
14890 msgstr ""
14891
14892 #. type: tbl table
14893 #: build/C/man2/syscalls.2:395
14894 #, no-wrap
14895 msgid "B<readdir>(2)\n"
14896 msgstr ""
14897
14898 #.  Supersedes \fBgetdents\fP(2)
14899 #. type: tbl table
14900 #: build/C/man2/syscalls.2:397
14901 #, no-wrap
14902 msgid "B<readlink>(2)\n"
14903 msgstr ""
14904
14905 #. type: tbl table
14906 #: build/C/man2/syscalls.2:398
14907 #, no-wrap
14908 msgid "B<readlinkat>(2)\t2.6.16\n"
14909 msgstr ""
14910
14911 #. type: tbl table
14912 #: build/C/man2/syscalls.2:399
14913 #, no-wrap
14914 msgid "B<readv>(2)\t2.0\n"
14915 msgstr ""
14916
14917 #. type: tbl table
14918 #: build/C/man2/syscalls.2:400
14919 #, no-wrap
14920 msgid "B<reboot>(2)\n"
14921 msgstr ""
14922
14923 #. type: tbl table
14924 #: build/C/man2/syscalls.2:401
14925 #, no-wrap
14926 msgid "B<recv>(2)\n"
14927 msgstr ""
14928
14929 #. type: tbl table
14930 #: build/C/man2/syscalls.2:402
14931 #, no-wrap
14932 msgid "B<recvfrom>(2)\n"
14933 msgstr ""
14934
14935 #. type: tbl table
14936 #: build/C/man2/syscalls.2:403
14937 #, no-wrap
14938 msgid "B<recvmsg>(2)\n"
14939 msgstr ""
14940
14941 #. type: tbl table
14942 #: build/C/man2/syscalls.2:404
14943 #, no-wrap
14944 msgid "B<recvmmsg>(2)\t2.6.33\n"
14945 msgstr ""
14946
14947 #. type: tbl table
14948 #: build/C/man2/syscalls.2:405
14949 #, no-wrap
14950 msgid "B<remap_file_pages>(2)\t2.6\n"
14951 msgstr ""
14952
14953 #. type: tbl table
14954 #: build/C/man2/syscalls.2:406
14955 #, no-wrap
14956 msgid "B<removexattr>(2)\t2.6; 2.4.18\n"
14957 msgstr ""
14958
14959 #. type: tbl table
14960 #: build/C/man2/syscalls.2:407
14961 #, no-wrap
14962 msgid "B<rename>(2)\n"
14963 msgstr ""
14964
14965 #. type: tbl table
14966 #: build/C/man2/syscalls.2:408
14967 #, no-wrap
14968 msgid "B<renameat>(2)\t2.6.16\n"
14969 msgstr ""
14970
14971 #. type: tbl table
14972 #: build/C/man2/syscalls.2:409
14973 #, no-wrap
14974 msgid "B<request_key>(2)\t2.6.11\n"
14975 msgstr ""
14976
14977 #. type: tbl table
14978 #: build/C/man2/syscalls.2:410
14979 #, no-wrap
14980 msgid "B<restart_syscall>(2)\t2.6\n"
14981 msgstr ""
14982
14983 #. type: tbl table
14984 #: build/C/man2/syscalls.2:411
14985 #, no-wrap
14986 msgid "B<rmdir>(2)\n"
14987 msgstr ""
14988
14989 #. type: tbl table
14990 #: build/C/man2/syscalls.2:412
14991 #, no-wrap
14992 msgid "B<rt_sigaction>(2)\t2.2\n"
14993 msgstr ""
14994
14995 #. type: tbl table
14996 #: build/C/man2/syscalls.2:413
14997 #, no-wrap
14998 msgid "B<rt_sigpending>(2)\t2.2\n"
14999 msgstr ""
15000
15001 #. type: tbl table
15002 #: build/C/man2/syscalls.2:414
15003 #, no-wrap
15004 msgid "B<rt_sigprocmask>(2)\t2.2\n"
15005 msgstr ""
15006
15007 #. type: tbl table
15008 #: build/C/man2/syscalls.2:415
15009 #, no-wrap
15010 msgid "B<rt_sigqueueinfo>(2)\t2.2\n"
15011 msgstr ""
15012
15013 #. type: tbl table
15014 #: build/C/man2/syscalls.2:416
15015 #, no-wrap
15016 msgid "B<rt_sigreturn>(2)\t2.2\n"
15017 msgstr ""
15018
15019 #. type: tbl table
15020 #: build/C/man2/syscalls.2:417
15021 #, no-wrap
15022 msgid "B<rt_sigsuspend>(2)\t2.2\n"
15023 msgstr ""
15024
15025 #. type: tbl table
15026 #: build/C/man2/syscalls.2:418
15027 #, no-wrap
15028 msgid "B<rt_sigtimedwait>(2)\t2.2\n"
15029 msgstr ""
15030
15031 #. type: tbl table
15032 #: build/C/man2/syscalls.2:419
15033 #, no-wrap
15034 msgid "B<rt_tgsigqueueinfo>(2)\t2.6.31\n"
15035 msgstr ""
15036
15037 #. type: tbl table
15038 #: build/C/man2/syscalls.2:420
15039 #, no-wrap
15040 msgid "B<sched_get_priority_max>(2)\t2.0\n"
15041 msgstr ""
15042
15043 #. type: tbl table
15044 #: build/C/man2/syscalls.2:421
15045 #, no-wrap
15046 msgid "B<sched_get_priority_min>(2)\t2.0\n"
15047 msgstr ""
15048
15049 #. type: tbl table
15050 #: build/C/man2/syscalls.2:422
15051 #, no-wrap
15052 msgid "B<sched_getaffinity>(2)\t2.6\n"
15053 msgstr ""
15054
15055 #. type: tbl table
15056 #: build/C/man2/syscalls.2:423
15057 #, no-wrap
15058 msgid "B<sched_getparam>(2)\t2.0\n"
15059 msgstr ""
15060
15061 #. type: tbl table
15062 #: build/C/man2/syscalls.2:424
15063 #, no-wrap
15064 msgid "B<sched_getscheduler>(2)\t2.0\n"
15065 msgstr ""
15066
15067 #. type: tbl table
15068 #: build/C/man2/syscalls.2:425
15069 #, no-wrap
15070 msgid "B<sched_rr_get_interval>(2)\t2.0\n"
15071 msgstr ""
15072
15073 #. type: tbl table
15074 #: build/C/man2/syscalls.2:426
15075 #, no-wrap
15076 msgid "B<sched_setaffinity>(2)\t2.6\n"
15077 msgstr ""
15078
15079 #. type: tbl table
15080 #: build/C/man2/syscalls.2:427
15081 #, no-wrap
15082 msgid "B<sched_setparam>(2)\t2.0\n"
15083 msgstr ""
15084
15085 #. type: tbl table
15086 #: build/C/man2/syscalls.2:428
15087 #, no-wrap
15088 msgid "B<sched_setscheduler>(2)\t2.0\n"
15089 msgstr ""
15090
15091 #. type: tbl table
15092 #: build/C/man2/syscalls.2:429
15093 #, no-wrap
15094 msgid "B<sched_yield>(2)\t2.0\n"
15095 msgstr ""
15096
15097 #. type: tbl table
15098 #: build/C/man2/syscalls.2:430
15099 #, no-wrap
15100 msgid "B<select>(2)\n"
15101 msgstr ""
15102
15103 #. type: tbl table
15104 #: build/C/man2/syscalls.2:431
15105 #, no-wrap
15106 msgid "B<semctl>(2)\n"
15107 msgstr ""
15108
15109 #. type: tbl table
15110 #: build/C/man2/syscalls.2:432
15111 #, no-wrap
15112 msgid "B<semget>(2)\n"
15113 msgstr ""
15114
15115 #. type: tbl table
15116 #: build/C/man2/syscalls.2:433
15117 #, no-wrap
15118 msgid "B<semop>(2)\n"
15119 msgstr ""
15120
15121 #. type: tbl table
15122 #: build/C/man2/syscalls.2:434
15123 #, no-wrap
15124 msgid "B<semtimedop>(2)\t2.6; 2.4.22\n"
15125 msgstr ""
15126
15127 #. type: tbl table
15128 #: build/C/man2/syscalls.2:435
15129 #, no-wrap
15130 msgid "B<send>(2)\n"
15131 msgstr ""
15132
15133 #. type: tbl table
15134 #: build/C/man2/syscalls.2:436
15135 #, no-wrap
15136 msgid "B<sendfile>(2)\t2.2\n"
15137 msgstr ""
15138
15139 #. type: tbl table
15140 #: build/C/man2/syscalls.2:437
15141 #, no-wrap
15142 msgid "B<sendfile64>(2)\t2.6; 2.4.19\n"
15143 msgstr ""
15144
15145 #. type: tbl table
15146 #: build/C/man2/syscalls.2:438
15147 #, no-wrap
15148 msgid "B<sendmmsg>(2)\t3.0\n"
15149 msgstr ""
15150
15151 #. type: tbl table
15152 #: build/C/man2/syscalls.2:439
15153 #, no-wrap
15154 msgid "B<sendmsg>(2)\n"
15155 msgstr ""
15156
15157 #. type: tbl table
15158 #: build/C/man2/syscalls.2:440
15159 #, no-wrap
15160 msgid "B<sendto>(2)\n"
15161 msgstr ""
15162
15163 #. type: tbl table
15164 #: build/C/man2/syscalls.2:441
15165 #, no-wrap
15166 msgid "B<set_mempolicy>(2)\t2.6.6\n"
15167 msgstr ""
15168
15169 #. type: tbl table
15170 #: build/C/man2/syscalls.2:442
15171 #, no-wrap
15172 msgid "B<set_robust_list>(2)\t2.6.17\n"
15173 msgstr ""
15174
15175 #. type: tbl table
15176 #: build/C/man2/syscalls.2:443
15177 #, no-wrap
15178 msgid "B<set_thread_area>(2)\t2.6\n"
15179 msgstr ""
15180
15181 #. type: tbl table
15182 #: build/C/man2/syscalls.2:444
15183 #, no-wrap
15184 msgid "B<set_tid_address>(2)\t2.6\n"
15185 msgstr ""
15186
15187 #. type: tbl table
15188 #: build/C/man2/syscalls.2:445
15189 #, no-wrap
15190 msgid "B<set_zone_reclaim>(2)\t2.6.13\tRemoved in 2.6.16 (was never\n"
15191 msgstr ""
15192
15193 #. type: tbl table
15194 #: build/C/man2/syscalls.2:446
15195 #, no-wrap
15196 msgid "\t\tavailable to userspace)\n"
15197 msgstr ""
15198
15199 #.  See http://lkml.org/lkml/2005/8/1/83
15200 #.  "[PATCH] remove sys_set_zone_reclaim()"
15201 #. type: tbl table
15202 #: build/C/man2/syscalls.2:449
15203 #, no-wrap
15204 msgid "B<setdomainname>(2)\n"
15205 msgstr ""
15206
15207 #. type: tbl table
15208 #: build/C/man2/syscalls.2:450
15209 #, no-wrap
15210 msgid "B<setfsgid>(2)\t1.2\n"
15211 msgstr ""
15212
15213 #. type: tbl table
15214 #: build/C/man2/syscalls.2:451
15215 #, no-wrap
15216 msgid "B<setfsgid32>(2)\t2.4\n"
15217 msgstr ""
15218
15219 #. type: tbl table
15220 #: build/C/man2/syscalls.2:452
15221 #, no-wrap
15222 msgid "B<setfsuid>(2)\t1.2\n"
15223 msgstr ""
15224
15225 #. type: tbl table
15226 #: build/C/man2/syscalls.2:453
15227 #, no-wrap
15228 msgid "B<setfsuid32>(2)\t2.4\n"
15229 msgstr ""
15230
15231 #. type: tbl table
15232 #: build/C/man2/syscalls.2:454
15233 #, no-wrap
15234 msgid "B<setgid>(2)\n"
15235 msgstr ""
15236
15237 #. type: tbl table
15238 #: build/C/man2/syscalls.2:455
15239 #, no-wrap
15240 msgid "B<setgid32>(2)\t2.4\n"
15241 msgstr ""
15242
15243 #. type: tbl table
15244 #: build/C/man2/syscalls.2:456
15245 #, no-wrap
15246 msgid "B<setgroups>(2)\n"
15247 msgstr ""
15248
15249 #. type: tbl table
15250 #: build/C/man2/syscalls.2:457
15251 #, no-wrap
15252 msgid "B<setgroups32>(2)\t2.4\n"
15253 msgstr ""
15254
15255 #. type: tbl table
15256 #: build/C/man2/syscalls.2:458
15257 #, no-wrap
15258 msgid "B<sethostname>(2)\n"
15259 msgstr ""
15260
15261 #. type: tbl table
15262 #: build/C/man2/syscalls.2:459
15263 #, no-wrap
15264 msgid "B<setitimer>(2)\n"
15265 msgstr ""
15266
15267 #. type: tbl table
15268 #: build/C/man2/syscalls.2:460
15269 #, no-wrap
15270 msgid "B<setns>(2)\t3.0\n"
15271 msgstr ""
15272
15273 #. type: tbl table
15274 #: build/C/man2/syscalls.2:461
15275 #, no-wrap
15276 msgid "B<setpgid>(2)\n"
15277 msgstr ""
15278
15279 #. type: tbl table
15280 #: build/C/man2/syscalls.2:462
15281 #, no-wrap
15282 msgid "B<setpriority>(2)\n"
15283 msgstr ""
15284
15285 #. type: tbl table
15286 #: build/C/man2/syscalls.2:463
15287 #, no-wrap
15288 msgid "B<setregid>(2)\n"
15289 msgstr ""
15290
15291 #. type: tbl table
15292 #: build/C/man2/syscalls.2:464
15293 #, no-wrap
15294 msgid "B<setregid32>(2)\t2.4\n"
15295 msgstr ""
15296
15297 #. type: tbl table
15298 #: build/C/man2/syscalls.2:465
15299 #, no-wrap
15300 msgid "B<setresgid>(2)\t2.2\n"
15301 msgstr ""
15302
15303 #. type: tbl table
15304 #: build/C/man2/syscalls.2:466
15305 #, no-wrap
15306 msgid "B<setresgid32>(2)\t2.4\n"
15307 msgstr ""
15308
15309 #. type: tbl table
15310 #: build/C/man2/syscalls.2:467
15311 #, no-wrap
15312 msgid "B<setresuid>(2)\t2.2\n"
15313 msgstr ""
15314
15315 #. type: tbl table
15316 #: build/C/man2/syscalls.2:468
15317 #, no-wrap
15318 msgid "B<setresuid32>(2)\t2.4\n"
15319 msgstr ""
15320
15321 #. type: tbl table
15322 #: build/C/man2/syscalls.2:469
15323 #, no-wrap
15324 msgid "B<setreuid>(2)\n"
15325 msgstr ""
15326
15327 #. type: tbl table
15328 #: build/C/man2/syscalls.2:470
15329 #, no-wrap
15330 msgid "B<setreuid32>(2)\t2.4\n"
15331 msgstr ""
15332
15333 #. type: tbl table
15334 #: build/C/man2/syscalls.2:471
15335 #, no-wrap
15336 msgid "B<setrlimit>(2)\n"
15337 msgstr ""
15338
15339 #. type: tbl table
15340 #: build/C/man2/syscalls.2:472
15341 #, no-wrap
15342 msgid "B<setsid>(2)\n"
15343 msgstr ""
15344
15345 #. type: tbl table
15346 #: build/C/man2/syscalls.2:473
15347 #, no-wrap
15348 msgid "B<setsockopt>(2)\n"
15349 msgstr ""
15350
15351 #. type: tbl table
15352 #: build/C/man2/syscalls.2:474
15353 #, no-wrap
15354 msgid "B<settimeofday>(2)\n"
15355 msgstr ""
15356
15357 #. type: tbl table
15358 #: build/C/man2/syscalls.2:475
15359 #, no-wrap
15360 msgid "B<setuid>(2)\n"
15361 msgstr ""
15362
15363 #. type: tbl table
15364 #: build/C/man2/syscalls.2:476
15365 #, no-wrap
15366 msgid "B<setuid32>(2)\t2.4\n"
15367 msgstr ""
15368
15369 #. type: tbl table
15370 #: build/C/man2/syscalls.2:477
15371 #, no-wrap
15372 msgid "B<setup>(2)\t\tRemoved in 2.2\n"
15373 msgstr ""
15374
15375 #. type: tbl table
15376 #: build/C/man2/syscalls.2:478
15377 #, no-wrap
15378 msgid "B<setxattr>(2)\t2.6; 2.4.18\n"
15379 msgstr ""
15380
15381 #. type: tbl table
15382 #: build/C/man2/syscalls.2:479
15383 #, no-wrap
15384 msgid "B<sgetmask>(2)\n"
15385 msgstr ""
15386
15387 #. type: tbl table
15388 #: build/C/man2/syscalls.2:480
15389 #, no-wrap
15390 msgid "B<shmat>(2)\n"
15391 msgstr ""
15392
15393 #. type: tbl table
15394 #: build/C/man2/syscalls.2:481
15395 #, no-wrap
15396 msgid "B<shmctl>(2)\n"
15397 msgstr ""
15398
15399 #. type: tbl table
15400 #: build/C/man2/syscalls.2:482
15401 #, no-wrap
15402 msgid "B<shmdt>(2)\n"
15403 msgstr ""
15404
15405 #. type: tbl table
15406 #: build/C/man2/syscalls.2:483
15407 #, no-wrap
15408 msgid "B<shmget>(2)\n"
15409 msgstr ""
15410
15411 #. type: tbl table
15412 #: build/C/man2/syscalls.2:484
15413 #, no-wrap
15414 msgid "B<shutdown>(2)\n"
15415 msgstr ""
15416
15417 #. type: tbl table
15418 #: build/C/man2/syscalls.2:485
15419 #, no-wrap
15420 msgid "B<sigaction>(2)\n"
15421 msgstr ""
15422
15423 #. type: tbl table
15424 #: build/C/man2/syscalls.2:486
15425 #, no-wrap
15426 msgid "B<sigaltstack>(2)\t2.2\n"
15427 msgstr ""
15428
15429 #. type: tbl table
15430 #: build/C/man2/syscalls.2:487
15431 #, no-wrap
15432 msgid "B<signal>(2)\n"
15433 msgstr ""
15434
15435 #. type: tbl table
15436 #: build/C/man2/syscalls.2:488
15437 #, no-wrap
15438 msgid "B<signalfd>(2)\t2.6.22\n"
15439 msgstr ""
15440
15441 #. type: tbl table
15442 #: build/C/man2/syscalls.2:489
15443 #, no-wrap
15444 msgid "B<signalfd4>(2)\t2.6.27\n"
15445 msgstr ""
15446
15447 #. type: tbl table
15448 #: build/C/man2/syscalls.2:490
15449 #, no-wrap
15450 msgid "B<sigpending>(2)\n"
15451 msgstr ""
15452
15453 #. type: tbl table
15454 #: build/C/man2/syscalls.2:491
15455 #, no-wrap
15456 msgid "B<sigprocmask>(2)\n"
15457 msgstr ""
15458
15459 #. type: tbl table
15460 #: build/C/man2/syscalls.2:492
15461 #, no-wrap
15462 msgid "B<sigreturn>(2)\n"
15463 msgstr ""
15464
15465 #. type: tbl table
15466 #: build/C/man2/syscalls.2:493
15467 #, no-wrap
15468 msgid "B<sigsuspend>(2)\n"
15469 msgstr ""
15470
15471 #. type: tbl table
15472 #: build/C/man2/syscalls.2:494
15473 #, no-wrap
15474 msgid "B<socket>(2)\n"
15475 msgstr ""
15476
15477 #. type: tbl table
15478 #: build/C/man2/syscalls.2:495
15479 #, no-wrap
15480 msgid "B<socketcall>(2)\n"
15481 msgstr ""
15482
15483 #.  Implements BSD socket calls
15484 #. type: tbl table
15485 #: build/C/man2/syscalls.2:497
15486 #, no-wrap
15487 msgid "B<socketpair>(2)\n"
15488 msgstr ""
15489
15490 #. type: tbl table
15491 #: build/C/man2/syscalls.2:498
15492 #, no-wrap
15493 msgid "B<splice>(2)\t2.6.17\n"
15494 msgstr ""
15495
15496 #. type: tbl table
15497 #: build/C/man2/syscalls.2:499
15498 #, no-wrap
15499 msgid "B<spu_create>(2)\t2.6.16\tPowerPC only\n"
15500 msgstr ""
15501
15502 #. type: tbl table
15503 #: build/C/man2/syscalls.2:500
15504 #, no-wrap
15505 msgid "B<spu_run>(2)\t2.6.16\tPowerPC only\n"
15506 msgstr ""
15507
15508 #. type: tbl table
15509 #: build/C/man2/syscalls.2:501
15510 #, no-wrap
15511 msgid "B<ssetmask>(2)\n"
15512 msgstr ""
15513
15514 #. type: tbl table
15515 #: build/C/man2/syscalls.2:502
15516 #, no-wrap
15517 msgid "B<stat>(2)\n"
15518 msgstr ""
15519
15520 #. type: tbl table
15521 #: build/C/man2/syscalls.2:503
15522 #, no-wrap
15523 msgid "B<stat64>(2)\t2.4\n"
15524 msgstr ""
15525
15526 #. type: tbl table
15527 #: build/C/man2/syscalls.2:504
15528 #, no-wrap
15529 msgid "B<statfs>(2)\n"
15530 msgstr ""
15531
15532 #. type: tbl table
15533 #: build/C/man2/syscalls.2:505
15534 #, no-wrap
15535 msgid "B<statfs64>(2)\t2.6\n"
15536 msgstr ""
15537
15538 #. type: tbl table
15539 #: build/C/man2/syscalls.2:506
15540 #, no-wrap
15541 msgid "B<stime>(2)\n"
15542 msgstr ""
15543
15544 #. type: tbl table
15545 #: build/C/man2/syscalls.2:507
15546 #, no-wrap
15547 msgid "B<subpage_prot>(2)\t2.6.25\tPowerPC if CONFIG_PPC_64K_PAGES\n"
15548 msgstr ""
15549
15550 #. type: tbl table
15551 #: build/C/man2/syscalls.2:508
15552 #, no-wrap
15553 msgid "B<swapoff>(2)\n"
15554 msgstr ""
15555
15556 #. type: tbl table
15557 #: build/C/man2/syscalls.2:509
15558 #, no-wrap
15559 msgid "B<swapon>(2)\n"
15560 msgstr ""
15561
15562 #. type: tbl table
15563 #: build/C/man2/syscalls.2:510
15564 #, no-wrap
15565 msgid "B<symlink>(2)\n"
15566 msgstr ""
15567
15568 #. type: tbl table
15569 #: build/C/man2/syscalls.2:511
15570 #, no-wrap
15571 msgid "B<symlinkat>(2)\t2.6.16\n"
15572 msgstr ""
15573
15574 #. type: tbl table
15575 #: build/C/man2/syscalls.2:512
15576 #, no-wrap
15577 msgid "B<sync>(2)\n"
15578 msgstr ""
15579
15580 #. type: tbl table
15581 #: build/C/man2/syscalls.2:513
15582 #, no-wrap
15583 msgid "B<sync_file_range>(2)\t2.6.17\n"
15584 msgstr ""
15585
15586 #. type: tbl table
15587 #: build/C/man2/syscalls.2:514
15588 #, no-wrap
15589 msgid "B<sync_file_range2>(2)\t2.6.22\tArchitecture-specific variant\n"
15590 msgstr ""
15591
15592 #.  PowerPC, ARM, tile
15593 #.  First appeared on ARM, as arm_sync_file_range(), but later renamed
15594 #. type: tbl table
15595 #: build/C/man2/syscalls.2:517
15596 #, no-wrap
15597 msgid "\t\tof B<sync_file_range>(2)\n"
15598 msgstr ""
15599
15600 #.  \fBsys_debug_setcontext\fP(2)       ???     PowerPC if CONFIG_PPC32
15601 #. type: tbl table
15602 #: build/C/man2/syscalls.2:519
15603 #, no-wrap
15604 msgid "B<syncfs>(2)\t2.6.39\n"
15605 msgstr ""
15606
15607 #. type: tbl table
15608 #: build/C/man2/syscalls.2:520
15609 #, no-wrap
15610 msgid "B<sysfs>(2)\t1.2\n"
15611 msgstr ""
15612
15613 #. type: tbl table
15614 #: build/C/man2/syscalls.2:521
15615 #, no-wrap
15616 msgid "B<sysinfo>(2)\n"
15617 msgstr ""
15618
15619 #. type: tbl table
15620 #: build/C/man2/syscalls.2:522
15621 #, no-wrap
15622 msgid "B<syslog>(2)\n"
15623 msgstr ""
15624
15625 #.  glibc interface is \fBklogctl\fP(3)
15626 #. type: tbl table
15627 #: build/C/man2/syscalls.2:524
15628 #, no-wrap
15629 msgid "B<tee>(2)\t2.6.17\n"
15630 msgstr ""
15631
15632 #. type: tbl table
15633 #: build/C/man2/syscalls.2:525
15634 #, no-wrap
15635 msgid "B<tgkill>(2)\t2.6\n"
15636 msgstr ""
15637
15638 #. type: tbl table
15639 #: build/C/man2/syscalls.2:526
15640 #, no-wrap
15641 msgid "B<time>(2)\n"
15642 msgstr ""
15643
15644 #. type: tbl table
15645 #: build/C/man2/syscalls.2:527
15646 #, no-wrap
15647 msgid "B<timer_create>(2)\t2.6\n"
15648 msgstr ""
15649
15650 #. type: tbl table
15651 #: build/C/man2/syscalls.2:528
15652 #, no-wrap
15653 msgid "B<timer_delete>(2)\t2.6\n"
15654 msgstr ""
15655
15656 #. type: tbl table
15657 #: build/C/man2/syscalls.2:529
15658 #, no-wrap
15659 msgid "B<timer_getoverrun>(2)\t2.6\n"
15660 msgstr ""
15661
15662 #. type: tbl table
15663 #: build/C/man2/syscalls.2:530
15664 #, no-wrap
15665 msgid "B<timer_gettime>(2)\t2.6\n"
15666 msgstr ""
15667
15668 #. type: tbl table
15669 #: build/C/man2/syscalls.2:531
15670 #, no-wrap
15671 msgid "B<timer_settime>(2)\t2.6\n"
15672 msgstr ""
15673
15674 #. type: tbl table
15675 #: build/C/man2/syscalls.2:532
15676 #, no-wrap
15677 msgid "B<timerfd_create>(2)\t2.6.25\n"
15678 msgstr ""
15679
15680 #. type: tbl table
15681 #: build/C/man2/syscalls.2:533
15682 #, no-wrap
15683 msgid "B<timerfd_gettime>(2)\t2.6.25\n"
15684 msgstr ""
15685
15686 #. type: tbl table
15687 #: build/C/man2/syscalls.2:534
15688 #, no-wrap
15689 msgid "B<timerfd_settime>(2)\t2.6.25\n"
15690 msgstr ""
15691
15692 #. type: tbl table
15693 #: build/C/man2/syscalls.2:535
15694 #, no-wrap
15695 msgid "B<times>(2)\n"
15696 msgstr ""
15697
15698 #. type: tbl table
15699 #: build/C/man2/syscalls.2:536
15700 #, no-wrap
15701 msgid "B<tkill>(2)\t2.6; 2.4.22\n"
15702 msgstr ""
15703
15704 #. type: tbl table
15705 #: build/C/man2/syscalls.2:537
15706 #, no-wrap
15707 msgid "B<truncate>(2)\n"
15708 msgstr ""
15709
15710 #. type: tbl table
15711 #: build/C/man2/syscalls.2:538
15712 #, no-wrap
15713 msgid "B<truncate64>(2)\t2.4\n"
15714 msgstr ""
15715
15716 #. type: tbl table
15717 #: build/C/man2/syscalls.2:539
15718 #, no-wrap
15719 msgid "B<ugetrlimit>(2)\t2.4\n"
15720 msgstr ""
15721
15722 #. type: tbl table
15723 #: build/C/man2/syscalls.2:540
15724 #, no-wrap
15725 msgid "B<umask>(2)\n"
15726 msgstr ""
15727
15728 #. type: tbl table
15729 #: build/C/man2/syscalls.2:541
15730 #, no-wrap
15731 msgid "B<umount>(2)\n"
15732 msgstr ""
15733
15734 #.  sys_oldumount() -- __NR_umount
15735 #. type: tbl table
15736 #: build/C/man2/syscalls.2:543
15737 #, no-wrap
15738 msgid "B<umount2>(2)\t2.2\n"
15739 msgstr ""
15740
15741 #.  sys_umount() -- __NR_umount2
15742 #. type: tbl table
15743 #: build/C/man2/syscalls.2:545
15744 #, no-wrap
15745 msgid "B<uname>(2)\n"
15746 msgstr ""
15747
15748 #. type: tbl table
15749 #: build/C/man2/syscalls.2:546
15750 #, no-wrap
15751 msgid "B<unlink>(2)\n"
15752 msgstr ""
15753
15754 #. type: tbl table
15755 #: build/C/man2/syscalls.2:547
15756 #, no-wrap
15757 msgid "B<unlinkat>(2)\t2.6.16\n"
15758 msgstr ""
15759
15760 #. type: tbl table
15761 #: build/C/man2/syscalls.2:548
15762 #, no-wrap
15763 msgid "B<unshare>(2)\t2.6.16\n"
15764 msgstr ""
15765
15766 #. type: tbl table
15767 #: build/C/man2/syscalls.2:549
15768 #, no-wrap
15769 msgid "B<uselib>(2)\n"
15770 msgstr ""
15771
15772 #. type: tbl table
15773 #: build/C/man2/syscalls.2:550
15774 #, no-wrap
15775 msgid "B<ustat>(2)\n"
15776 msgstr ""
15777
15778 #. type: tbl table
15779 #: build/C/man2/syscalls.2:551
15780 #, no-wrap
15781 msgid "B<utime>(2)\n"
15782 msgstr ""
15783
15784 #. type: tbl table
15785 #: build/C/man2/syscalls.2:552
15786 #, no-wrap
15787 msgid "B<utimensat>(2)\t2.6.22\n"
15788 msgstr ""
15789
15790 #. type: tbl table
15791 #: build/C/man2/syscalls.2:553
15792 #, no-wrap
15793 msgid "B<utimes>(2)\t2.2\n"
15794 msgstr ""
15795
15796 #. type: tbl table
15797 #: build/C/man2/syscalls.2:554
15798 #, no-wrap
15799 msgid "B<vfork>(2)\n"
15800 msgstr ""
15801
15802 #. type: tbl table
15803 #: build/C/man2/syscalls.2:555
15804 #, no-wrap
15805 msgid "B<vhangup>(2)\n"
15806 msgstr ""
15807
15808 #. type: tbl table
15809 #: build/C/man2/syscalls.2:556
15810 #, no-wrap
15811 msgid "B<vm86old>(2)\n"
15812 msgstr ""
15813
15814 #.  Superseded by \fBvm86\fP(2)
15815 #. type: tbl table
15816 #: build/C/man2/syscalls.2:558
15817 #, no-wrap
15818 msgid "B<vmsplice>(2)\t2.6.17\n"
15819 msgstr ""
15820
15821 #. type: tbl table
15822 #: build/C/man2/syscalls.2:559
15823 #, no-wrap
15824 msgid "B<wait4>(2)\n"
15825 msgstr ""
15826
15827 #. type: tbl table
15828 #: build/C/man2/syscalls.2:560
15829 #, no-wrap
15830 msgid "B<waitid>(2)\t2.6.10\n"
15831 msgstr ""
15832
15833 #. type: tbl table
15834 #: build/C/man2/syscalls.2:561
15835 #, no-wrap
15836 msgid "B<waitpid>(2)\n"
15837 msgstr ""
15838
15839 #. type: tbl table
15840 #: build/C/man2/syscalls.2:562
15841 #, no-wrap
15842 msgid "B<write>(2)\n"
15843 msgstr ""
15844
15845 #. type: tbl table
15846 #: build/C/man2/syscalls.2:563
15847 #, no-wrap
15848 msgid "B<writev>(2)\t2.0\n"
15849 msgstr ""
15850
15851 #. type: Plain text
15852 #: build/C/man2/syscalls.2:571
15853 msgid ""
15854 "On many platforms, including i386, socket calls are all multiplexed (via "
15855 "glibc wrapper functions) through B<socketcall>(2)  and similarly System V "
15856 "IPC calls are multiplexed through B<ipc>(2)."
15857 msgstr ""
15858
15859 #.  __NR_afs_syscall is 53 on Linux 2.6.22/i386
15860 #.  __NR_break is 17 on Linux 2.6.22/i386
15861 #.  __NR_ftime is 35 on Linux 2.6.22/i386
15862 #.  __NR_getpmsg is 188 on Linux 2.6.22/i386
15863 #.  __NR_gtty is 32 on Linux 2.6.22/i386
15864 #.  __NR_idle is 112 on Linux 2.6.22/i386
15865 #.  __NR_lock is 53 on Linux 2.6.22/i386
15866 #.  __NR_madvise1 is 219 on Linux 2.6.22/i386
15867 #.  __NR_mpx is 66 on Linux 2.6.22/i386
15868 #.  Slot has been reused
15869 #.  __NR_prof is 44 on Linux 2.6.22/i386
15870 #.  __NR_profil is 98 on Linux 2.6.22/i386
15871 #.  __NR_putpmsg is 189 on Linux 2.6.22/i386
15872 #.  __NR_security is 223 on Linux 2.4/i386
15873 #.  __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
15874 #.  on a couple of 2.6 architectures
15875 #.  __NR_stty is 31 on Linux 2.6.22/i386
15876 #.  The security call is for future use.
15877 #.  __NR_tuxcall is 184 on x86_64, also on PPC and alpha
15878 #.  __NR_ulimit is 58 on Linux 2.6.22/i386
15879 #.  __NR_vserver is 273 on Linux 2.6.22/i386
15880 #. type: Plain text
15881 #: build/C/man2/syscalls.2:616
15882 msgid ""
15883 "Although slots are reserved for them in the system call table, the following "
15884 "system calls are not implemented in the standard kernel: B<afs_syscall>(2), "
15885 "B<break>(2), B<ftime>(2), B<getpmsg>(2), B<gtty>(2), B<idle>(2), B<lock>(2), "
15886 "B<madvise1>(2), B<mpx>(2), B<phys>(2), B<prof>(2), B<profil>(2), "
15887 "B<putpmsg>(2), B<security>(2), B<stty>(2), B<tuxcall>(2), B<ulimit>(2), and "
15888 "B<vserver>(2)  (see also B<unimplemented>(2)).  However, B<ftime>(3), "
15889 "B<profil>(3)  and B<ulimit>(3)  exist as library routines.  The slot for "
15890 "B<phys>(2)  is in use since kernel 2.1.116 for B<umount>(2); B<phys>(2)  "
15891 "will never be implemented.  The B<getpmsg>(2)  and B<putpmsg>(2)  calls are "
15892 "for kernels patched to support STREAMS, and may never be in the standard "
15893 "kernel."
15894 msgstr ""
15895
15896 #. type: Plain text
15897 #: build/C/man2/syscalls.2:632
15898 msgid ""
15899 "Roughly speaking, the code belonging to the system call with number __NR_xxx "
15900 "defined in I</usr/include/asm/unistd.h> can be found in the kernel source in "
15901 "the routine I<sys_xxx>().  (The dispatch table for i386 can be found in "
15902 "I</usr/src/linux/arch/i386/kernel/entry.S>.)  There are many exceptions, "
15903 "however, mostly because older system calls were superseded by newer ones, "
15904 "and this has been treated somewhat unsystematically.  On platforms with "
15905 "proprietary OS emulation, such as parisc, sparc, sparc64 and alpha, there "
15906 "are many additional system calls; mips64 also contains a full set of 32-bit "
15907 "system calls."
15908 msgstr ""
15909
15910 #. type: Plain text
15911 #: build/C/man2/syscalls.2:651
15912 msgid ""
15913 "Over time, changes to the interfaces of some system calls have been "
15914 "necessary.  One reason for such changes was the need to increase the size of "
15915 "structures or scalar values passed to the system call.  Because of these "
15916 "changes, there are now various groups of related system calls (e.g., "
15917 "B<truncate>(2)  and B<truncate64>(2))  which perform similar tasks, but "
15918 "which vary in details such as the size of their arguments.  (As noted "
15919 "earlier, applications are generally unaware of this: the glibc wrapper "
15920 "functions do some work to ensure that the right system call is invoked, and "
15921 "that ABI compatibility is preserved for old binaries.)  Examples of systems "
15922 "calls that exist in multiple versions are the following:"
15923 msgstr ""
15924
15925 #.  e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
15926 #.  The stat system calls deal with three different data structures,
15927 #.  defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
15928 #. type: Plain text
15929 #: build/C/man2/syscalls.2:672
15930 msgid ""
15931 "By now there are three different versions of B<stat>(2): I<sys_stat>()  "
15932 "(slot I<__NR_oldstat>), I<sys_newstat>()  (slot I<__NR_stat>), and "
15933 "I<sys_stat64>()  (slot I<__NR_stat64>), with the last being the most "
15934 "current.  A similar story applies for B<lstat>(2)  and B<fstat>(2)."
15935 msgstr ""
15936
15937 #. type: Plain text
15938 #: build/C/man2/syscalls.2:683
15939 msgid ""
15940 "Similarly, the defines I<__NR_oldolduname>, I<__NR_olduname>, and "
15941 "I<__NR_uname> refer to the routines I<sys_olduname>(), I<sys_uname>()  and "
15942 "I<sys_newuname>()."
15943 msgstr ""
15944
15945 #. type: Plain text
15946 #: build/C/man2/syscalls.2:690
15947 msgid ""
15948 "In Linux 2.0, a new version of B<vm86>(2)  appeared, with the old and the "
15949 "new kernel routines being named I<sys_vm86old>()  and I<sys_vm86>()."
15950 msgstr ""
15951
15952 #. type: Plain text
15953 #: build/C/man2/syscalls.2:701
15954 msgid ""
15955 "In Linux 2.4, a new version of B<getrlimit>(2)  appeared, with the old and "
15956 "the new kernel routines being named I<sys_old_getrlimit>()  (slot "
15957 "I<__NR_getrlimit>)  and I<sys_getrlimit>()  (slot I<__NR_ugetrlimit>)."
15958 msgstr ""
15959
15960 #.  64-bit off_t changes: ftruncate64, *stat64,
15961 #.  fcntl64 (because of the flock structure), getdents64, *statfs64
15962 #. type: Plain text
15963 #: build/C/man2/syscalls.2:713
15964 msgid ""
15965 "Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.  To "
15966 "support this change, a range of system calls were added (e.g., "
15967 "B<chown32>(2), B<getuid32>(2), B<getgroups32>(2), B<setresuid32>(2)), "
15968 "superseding earlier calls of the same name without the \"32\" suffix."
15969 msgstr ""
15970
15971 #. type: Plain text
15972 #: build/C/man2/syscalls.2:730
15973 msgid ""
15974 "Linux 2.4 added support for applications on 32-bit architectures to access "
15975 "large files (i.e., files for which the sizes and file offsets can't be "
15976 "represented in 32 bits.)  To support this change, replacements were required "
15977 "for system calls that deal with file offsets and sizes.  Thus the following "
15978 "system calls were added: B<fcntl64>(2), B<ftruncate64>(2), B<getdents64>(2), "
15979 "B<stat64>(2), B<statfs64>(2), and their analogs that work with file "
15980 "descriptors or symbolic links.  These system calls supersede the older "
15981 "system calls which, except in the case of the \"stat\" calls, have the same "
15982 "name without the \"64\" suffix."
15983 msgstr ""
15984
15985 #. type: Plain text
15986 #: build/C/man2/syscalls.2:734
15987 msgid ""
15988 "On newer platforms that only have 64-bit file access and 32-bit uids (e.g., "
15989 "alpha, ia64, s390x) there are no *64 or *32 calls.  Where the *64 and *32 "
15990 "calls exist, the other versions are obsolete."
15991 msgstr ""
15992
15993 #. type: Plain text
15994 #: build/C/man2/syscalls.2:742
15995 msgid ""
15996 "The I<rt_sig*> calls were added in kernel 2.2 to support the addition of "
15997 "real-time signals (see B<signal>(7)).  These system calls supersede the "
15998 "older system calls of the same name without the \"rt_\" prefix."
15999 msgstr ""
16000
16001 #.  (used by libc 6)
16002 #.  .PP
16003 #.  Two system call numbers,
16004 #.  .IR __NR__llseek
16005 #.  and
16006 #.  .IR __NR__sysctl
16007 #.  have an additional underscore absent in
16008 #.  .IR sys_llseek ()
16009 #.  and
16010 #.  .IR sys_sysctl ().
16011 #
16012 #.  In kernel 2.1.81,
16013 #.  .BR lchown (2)
16014 #.  and
16015 #.  .BR chown (2)
16016 #.  were swapped; that is,
16017 #.  .BR lchown (2)
16018 #.  was added with the semantics that were then current for
16019 #.  .BR chown (2),
16020 #.  and the semantics of the latter call were changed to what
16021 #.  they are today.
16022 #. type: Plain text
16023 #: build/C/man2/syscalls.2:792
16024 msgid ""
16025 "The B<select>(2)  and B<mmap>(2)  system calls use five or more arguments, "
16026 "which caused problems the way argument passing on the i386 used to be set "
16027 "up.  Thus, while other architectures have I<sys_select>()  and I<sys_mmap>()  "
16028 "corresponding to I<__NR_select> and I<__NR_mmap>, on i386 one finds "
16029 "I<old_select>()  and I<old_mmap>()  (routines that use a pointer to a "
16030 "argument block) instead.  These days passing five arguments is not a problem "
16031 "any more, and there is a I<__NR__newselect> that corresponds directly to "
16032 "I<sys_select>()  and similarly I<__NR_mmap2>."
16033 msgstr ""
16034
16035 #. type: Plain text
16036 #: build/C/man2/syscalls.2:796
16037 msgid "B<syscall>(2), B<unimplemented>(2), B<libc>(7)"
16038 msgstr ""
16039
16040 #. type: TH
16041 #: build/C/man3/sysconf.3:25
16042 #, no-wrap
16043 msgid "SYSCONF"
16044 msgstr ""
16045
16046 #. type: Plain text
16047 #: build/C/man3/sysconf.3:28
16048 msgid "sysconf - Get configuration information at runtime"
16049 msgstr ""
16050
16051 #. type: Plain text
16052 #: build/C/man3/sysconf.3:33
16053 #, no-wrap
16054 msgid "B<long sysconf(int >I<name>B<);>\n"
16055 msgstr ""
16056
16057 #. type: Plain text
16058 #: build/C/man3/sysconf.3:38
16059 msgid ""
16060 "POSIX allows an application to test at compile or run time whether certain "
16061 "options are supported, or what the value is of certain configurable "
16062 "constants or limits."
16063 msgstr ""
16064
16065 #. type: Plain text
16066 #: build/C/man3/sysconf.3:44
16067 msgid ""
16068 "At compile time this is done by including I<E<lt>unistd.hE<gt>> and/or "
16069 "I<E<lt>limits.hE<gt>> and testing the value of certain macros."
16070 msgstr ""
16071
16072 #. type: Plain text
16073 #: build/C/man3/sysconf.3:54
16074 msgid ""
16075 "At run time, one can ask for numerical values using the present function "
16076 "B<sysconf>().  One can ask for numerical values that may depend on the file "
16077 "system a file is in using the calls B<fpathconf>(3)  and B<pathconf>(3).  "
16078 "One can ask for string values using B<confstr>(3)."
16079 msgstr ""
16080
16081 #.  except that sysconf(_SC_OPEN_MAX) may change answer after a call
16082 #.  to setrlimit( ) which changes the RLIMIT_NOFILE soft limit
16083 #. type: Plain text
16084 #: build/C/man3/sysconf.3:59
16085 msgid ""
16086 "The values obtained from these functions are system configuration "
16087 "constants.  They do not change during the lifetime of a process."
16088 msgstr ""
16089
16090 #.  and 999 to indicate support for options no longer present in the latest
16091 #.  standard. (?)
16092 #. type: Plain text
16093 #: build/C/man3/sysconf.3:82
16094 msgid ""
16095 "For options, typically, there is a constant B<_POSIX_FOO> that may be "
16096 "defined in I<E<lt>unistd.hE<gt>>.  If it is undefined, one should ask at run "
16097 "time.  If it is defined to -1, then the option is not supported.  If it is "
16098 "defined to 0, then relevant functions and headers exist, but one has to ask "
16099 "at runtime what degree of support is available.  If it is defined to a value "
16100 "other than -1 or 0, then the option is supported.  Usually the value (such "
16101 "as 200112L) indicates the year and month of the POSIX revision describing "
16102 "the option.  Glibc uses the value 1 to indicate support as long as the POSIX "
16103 "revision has not been published yet.  The B<sysconf>()  argument will be "
16104 "B<_SC_FOO>.  For a list of options, see B<posixoptions>(7)."
16105 msgstr ""
16106
16107 #. type: Plain text
16108 #: build/C/man3/sysconf.3:102
16109 msgid ""
16110 "For variables or limits, typically, there is a constant B<_FOO>, maybe "
16111 "defined in I<E<lt>limits.hE<gt>>, or B<_POSIX_FOO>, maybe defined in "
16112 "I<E<lt>unistd.hE<gt>>.  The constant will not be defined if the limit is "
16113 "unspecified.  If the constant is defined, it gives a guaranteed value, and a "
16114 "greater value might actually be supported.  If an application wants to take "
16115 "advantage of values which may change between systems, a call to B<sysconf>()  "
16116 "can be made.  The B<sysconf>()  argument will be B<_SC_FOO>."
16117 msgstr ""
16118
16119 #. type: SS
16120 #: build/C/man3/sysconf.3:102
16121 #, no-wrap
16122 msgid "POSIX.1 Variables"
16123 msgstr ""
16124
16125 #. type: Plain text
16126 #: build/C/man3/sysconf.3:107
16127 msgid ""
16128 "We give the name of the variable, the name of the B<sysconf>()  argument "
16129 "used to inquire about its value, and a short description."
16130 msgstr ""
16131
16132 #.  [for the moment: only the things that are unconditionally present]
16133 #.  .TP
16134 #.  .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX
16135 #.  (if _POSIX_ASYNCHRONOUS_IO)
16136 #.  Maximum number of I/O operations in a single list I/O call.
16137 #.  Must not be less than _POSIX_AIO_LISTIO_MAX.
16138 #.  .TP
16139 #.  .BR AIO_MAX " - " _SC_AIO_MAX
16140 #.  (if _POSIX_ASYNCHRONOUS_IO)
16141 #.  Maximum number of outstanding asynchronous I/O operations.
16142 #.  Must not be less than _POSIX_AIO_MAX.
16143 #.  .TP
16144 #.  .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX
16145 #.  (if _POSIX_ASYNCHRONOUS_IO)
16146 #.  The maximum amount by which a process can decrease its
16147 #.  asynchronous I/O priority level from its own scheduling priority.
16148 #.  Must be nonnegative.
16149 #. type: Plain text
16150 #: build/C/man3/sysconf.3:126
16151 msgid "First, the POSIX.1 compatible values."
16152 msgstr ""
16153
16154 #. type: TP
16155 #: build/C/man3/sysconf.3:126
16156 #, no-wrap
16157 msgid "B<ARG_MAX> - B<_SC_ARG_MAX>"
16158 msgstr ""
16159
16160 #. type: Plain text
16161 #: build/C/man3/sysconf.3:134
16162 msgid ""
16163 "The maximum length of the arguments to the B<exec>(3)  family of functions.  "
16164 "Must not be less than B<_POSIX_ARG_MAX> (4096)."
16165 msgstr ""
16166
16167 #. type: TP
16168 #: build/C/man3/sysconf.3:134
16169 #, no-wrap
16170 msgid "B<CHILD_MAX> - B<_SC_CHILD_MAX>"
16171 msgstr ""
16172
16173 #. type: Plain text
16174 #: build/C/man3/sysconf.3:140
16175 msgid ""
16176 "The max number of simultaneous processes per user ID.  Must not be less than "
16177 "B<_POSIX_CHILD_MAX> (25)."
16178 msgstr ""
16179
16180 #. type: TP
16181 #: build/C/man3/sysconf.3:140
16182 #, no-wrap
16183 msgid "B<HOST_NAME_MAX> - B<_SC_HOST_NAME_MAX>"
16184 msgstr ""
16185
16186 #. type: Plain text
16187 #: build/C/man3/sysconf.3:148
16188 msgid ""
16189 "Max length of a hostname, not including the terminating null byte, as "
16190 "returned by B<gethostname>(2).  Must not be less than "
16191 "B<_POSIX_HOST_NAME_MAX> (255)."
16192 msgstr ""
16193
16194 #. type: TP
16195 #: build/C/man3/sysconf.3:148
16196 #, no-wrap
16197 msgid "B<LOGIN_NAME_MAX> - B<_SC_LOGIN_NAME_MAX>"
16198 msgstr ""
16199
16200 #. type: Plain text
16201 #: build/C/man3/sysconf.3:154
16202 msgid ""
16203 "Maximum length of a login name, including the terminating null byte.  Must "
16204 "not be less than B<_POSIX_LOGIN_NAME_MAX> (9)."
16205 msgstr ""
16206
16207 #. type: TP
16208 #: build/C/man3/sysconf.3:154
16209 #, no-wrap
16210 msgid "clock ticks - B<_SC_CLK_TCK>"
16211 msgstr ""
16212
16213 #. type: Plain text
16214 #: build/C/man3/sysconf.3:163
16215 msgid ""
16216 "The number of clock ticks per second.  The corresponding variable is "
16217 "obsolete.  It was of course called B<CLK_TCK>.  (Note: the macro "
16218 "B<CLOCKS_PER_SEC> does not give information: it must equal 1000000.)"
16219 msgstr ""
16220
16221 #. type: TP
16222 #: build/C/man3/sysconf.3:163
16223 #, no-wrap
16224 msgid "B<OPEN_MAX> - B<_SC_OPEN_MAX>"
16225 msgstr ""
16226
16227 #. type: Plain text
16228 #: build/C/man3/sysconf.3:169
16229 msgid ""
16230 "The maximum number of files that a process can have open at any time.  Must "
16231 "not be less than B<_POSIX_OPEN_MAX> (20)."
16232 msgstr ""
16233
16234 #. type: TP
16235 #: build/C/man3/sysconf.3:169
16236 #, no-wrap
16237 msgid "B<PAGESIZE> - B<_SC_PAGESIZE>"
16238 msgstr ""
16239
16240 #. type: Plain text
16241 #: build/C/man3/sysconf.3:174
16242 msgid ""
16243 "Size of a page in bytes.  Must not be less than 1.  (Some systems use "
16244 "PAGE_SIZE instead.)"
16245 msgstr ""
16246
16247 #. type: TP
16248 #: build/C/man3/sysconf.3:174 build/C/man3/sysconf.3:261
16249 #, no-wrap
16250 msgid "B<RE_DUP_MAX> - B<_SC_RE_DUP_MAX>"
16251 msgstr ""
16252
16253 #. type: Plain text
16254 #: build/C/man3/sysconf.3:183
16255 msgid ""
16256 "The number of repeated occurrences of a BRE permitted by B<regexec>(3)  and "
16257 "B<regcomp>(3).  Must not be less than B<_POSIX2_RE_DUP_MAX> (255)."
16258 msgstr ""
16259
16260 #. type: TP
16261 #: build/C/man3/sysconf.3:183
16262 #, no-wrap
16263 msgid "B<STREAM_MAX> - B<_SC_STREAM_MAX>"
16264 msgstr ""
16265
16266 #. type: Plain text
16267 #: build/C/man3/sysconf.3:192
16268 msgid ""
16269 "The maximum number of streams that a process can have open at any time.  If "
16270 "defined, it has the same value as the standard C macro B<FOPEN_MAX>.  Must "
16271 "not be less than B<_POSIX_STREAM_MAX> (8)."
16272 msgstr ""
16273
16274 #. type: TP
16275 #: build/C/man3/sysconf.3:192
16276 #, no-wrap
16277 msgid "B<SYMLOOP_MAX> - B<_SC_SYMLOOP_MAX>"
16278 msgstr ""
16279
16280 #. type: Plain text
16281 #: build/C/man3/sysconf.3:200
16282 msgid ""
16283 "The maximum number of symbolic links seen in a pathname before resolution "
16284 "returns B<ELOOP>.  Must not be less than B<_POSIX_SYMLOOP_MAX> (8)."
16285 msgstr ""
16286
16287 #. type: TP
16288 #: build/C/man3/sysconf.3:200
16289 #, no-wrap
16290 msgid "B<TTY_NAME_MAX> - B<_SC_TTY_NAME_MAX>"
16291 msgstr ""
16292
16293 #. type: Plain text
16294 #: build/C/man3/sysconf.3:207
16295 msgid ""
16296 "The maximum length of terminal device name, including the terminating null "
16297 "byte.  Must not be less than B<_POSIX_TTY_NAME_MAX> (9)."
16298 msgstr ""
16299
16300 #. type: TP
16301 #: build/C/man3/sysconf.3:207
16302 #, no-wrap
16303 msgid "B<TZNAME_MAX> - B<_SC_TZNAME_MAX>"
16304 msgstr ""
16305
16306 #. type: Plain text
16307 #: build/C/man3/sysconf.3:213
16308 msgid ""
16309 "The maximum number of bytes in a timezone name.  Must not be less than "
16310 "B<_POSIX_TZNAME_MAX> (6)."
16311 msgstr ""
16312
16313 #. type: TP
16314 #: build/C/man3/sysconf.3:213
16315 #, no-wrap
16316 msgid "B<_POSIX_VERSION> - B<_SC_VERSION>"
16317 msgstr ""
16318
16319 #. type: Plain text
16320 #: build/C/man3/sysconf.3:221
16321 msgid ""
16322 "indicates the year and month the POSIX.1 standard was approved in the format "
16323 "B<YYYYMML>; the value B<199009L> indicates the Sept. 1990 revision."
16324 msgstr ""
16325
16326 #. type: SS
16327 #: build/C/man3/sysconf.3:221
16328 #, no-wrap
16329 msgid "POSIX.2 Variables"
16330 msgstr ""
16331
16332 #. type: Plain text
16333 #: build/C/man3/sysconf.3:223
16334 msgid "Next, the POSIX.2 values, giving limits for utilities."
16335 msgstr ""
16336
16337 #. type: TP
16338 #: build/C/man3/sysconf.3:223
16339 #, no-wrap
16340 msgid "B<BC_BASE_MAX> - B<_SC_BC_BASE_MAX>"
16341 msgstr ""
16342
16343 #. type: Plain text
16344 #: build/C/man3/sysconf.3:230
16345 msgid "indicates the maximum I<obase> value accepted by the B<bc>(1)  utility."
16346 msgstr ""
16347
16348 #. type: TP
16349 #: build/C/man3/sysconf.3:230
16350 #, no-wrap
16351 msgid "B<BC_DIM_MAX> - B<_SC_BC_DIM_MAX>"
16352 msgstr ""
16353
16354 #. type: Plain text
16355 #: build/C/man3/sysconf.3:234
16356 msgid "indicates the maximum value of elements permitted in an array by B<bc>(1)."
16357 msgstr ""
16358
16359 #. type: TP
16360 #: build/C/man3/sysconf.3:234
16361 #, no-wrap
16362 msgid "B<BC_SCALE_MAX> - B<_SC_BC_SCALE_MAX>"
16363 msgstr ""
16364
16365 #. type: Plain text
16366 #: build/C/man3/sysconf.3:240
16367 msgid "indicates the maximum I<scale> value allowed by B<bc>(1)."
16368 msgstr ""
16369
16370 #. type: TP
16371 #: build/C/man3/sysconf.3:240
16372 #, no-wrap
16373 msgid "B<BC_STRING_MAX> - B<_SC_BC_STRING_MAX>"
16374 msgstr ""
16375
16376 #. type: Plain text
16377 #: build/C/man3/sysconf.3:244
16378 msgid "indicates the maximum length of a string accepted by B<bc>(1)."
16379 msgstr ""
16380
16381 #. type: TP
16382 #: build/C/man3/sysconf.3:244
16383 #, no-wrap
16384 msgid "B<COLL_WEIGHTS_MAX> - B<_SC_COLL_WEIGHTS_MAX>"
16385 msgstr ""
16386
16387 #. type: Plain text
16388 #: build/C/man3/sysconf.3:250
16389 msgid ""
16390 "indicates the maximum numbers of weights that can be assigned to an entry of "
16391 "the B<LC_COLLATE order> keyword in the locale definition file,"
16392 msgstr ""
16393
16394 #. type: TP
16395 #: build/C/man3/sysconf.3:250
16396 #, no-wrap
16397 msgid "B<EXPR_NEST_MAX> - B<_SC_EXPR_NEST_MAX>"
16398 msgstr ""
16399
16400 #. type: Plain text
16401 #: build/C/man3/sysconf.3:255
16402 msgid ""
16403 "is the maximum number of expressions which can be nested within parentheses "
16404 "by B<expr>(1)."
16405 msgstr ""
16406
16407 #. type: TP
16408 #: build/C/man3/sysconf.3:255
16409 #, no-wrap
16410 msgid "B<LINE_MAX> - B<_SC_LINE_MAX>"
16411 msgstr ""
16412
16413 #. type: Plain text
16414 #: build/C/man3/sysconf.3:261
16415 msgid ""
16416 "The maximum length of a utility's input line, either from standard input or "
16417 "from a file.  This includes space for a trailing newline."
16418 msgstr ""
16419
16420 #. type: Plain text
16421 #: build/C/man3/sysconf.3:267
16422 msgid ""
16423 "The maximum number of repeated occurrences of a regular expression when the "
16424 "interval notation B<\\e{m,n\\e}> is used."
16425 msgstr ""
16426
16427 #. type: TP
16428 #: build/C/man3/sysconf.3:267
16429 #, no-wrap
16430 msgid "B<POSIX2_VERSION> - B<_SC_2_VERSION>"
16431 msgstr ""
16432
16433 #. type: Plain text
16434 #: build/C/man3/sysconf.3:271
16435 msgid "indicates the version of the POSIX.2 standard in the format of YYYYMML."
16436 msgstr ""
16437
16438 #. type: TP
16439 #: build/C/man3/sysconf.3:271
16440 #, no-wrap
16441 msgid "B<POSIX2_C_DEV> - B<_SC_2_C_DEV>"
16442 msgstr ""
16443
16444 #. type: Plain text
16445 #: build/C/man3/sysconf.3:275
16446 msgid ""
16447 "indicates whether the POSIX.2 C language development facilities are "
16448 "supported."
16449 msgstr ""
16450
16451 #. type: TP
16452 #: build/C/man3/sysconf.3:275
16453 #, no-wrap
16454 msgid "B<POSIX2_FORT_DEV> - B<_SC_2_FORT_DEV>"
16455 msgstr ""
16456
16457 #. type: Plain text
16458 #: build/C/man3/sysconf.3:279
16459 msgid "indicates whether the POSIX.2 FORTRAN development utilities are supported."
16460 msgstr ""
16461
16462 #. type: TP
16463 #: build/C/man3/sysconf.3:279
16464 #, no-wrap
16465 msgid "B<POSIX2_FORT_RUN> - B<_SC_2_FORT_RUN>"
16466 msgstr ""
16467
16468 #. type: Plain text
16469 #: build/C/man3/sysconf.3:282
16470 msgid "indicates whether the POSIX.2 FORTRAN runtime utilities are supported."
16471 msgstr ""
16472
16473 #. type: TP
16474 #: build/C/man3/sysconf.3:282
16475 #, no-wrap
16476 msgid "B<_POSIX2_LOCALEDEF> - B<_SC_2_LOCALEDEF>"
16477 msgstr ""
16478
16479 #. type: Plain text
16480 #: build/C/man3/sysconf.3:287
16481 msgid ""
16482 "indicates whether the POSIX.2 creation of locates via B<localedef>(1)  is "
16483 "supported."
16484 msgstr ""
16485
16486 #. type: TP
16487 #: build/C/man3/sysconf.3:287
16488 #, no-wrap
16489 msgid "B<POSIX2_SW_DEV> - B<_SC_2_SW_DEV>"
16490 msgstr ""
16491
16492 #. type: Plain text
16493 #: build/C/man3/sysconf.3:291
16494 msgid ""
16495 "indicates whether the POSIX.2 software development utilities option is "
16496 "supported."
16497 msgstr ""
16498
16499 #. type: Plain text
16500 #: build/C/man3/sysconf.3:293
16501 msgid "These values also exist, but may not be standard."
16502 msgstr ""
16503
16504 #. type: TP
16505 #: build/C/man3/sysconf.3:293
16506 #, no-wrap
16507 msgid " - B<_SC_PHYS_PAGES>"
16508 msgstr ""
16509
16510 #. type: Plain text
16511 #: build/C/man3/sysconf.3:300
16512 msgid ""
16513 "The number of pages of physical memory.  Note that it is possible for the "
16514 "product of this value and the value of B<_SC_PAGE_SIZE> to overflow."
16515 msgstr ""
16516
16517 #. type: TP
16518 #: build/C/man3/sysconf.3:300
16519 #, no-wrap
16520 msgid " - B<_SC_AVPHYS_PAGES>"
16521 msgstr ""
16522
16523 #. type: Plain text
16524 #: build/C/man3/sysconf.3:303
16525 msgid "The number of currently available pages of physical memory."
16526 msgstr ""
16527
16528 #. type: TP
16529 #: build/C/man3/sysconf.3:303
16530 #, no-wrap
16531 msgid " - B<_SC_NPROCESSORS_CONF>"
16532 msgstr ""
16533
16534 #. type: Plain text
16535 #: build/C/man3/sysconf.3:306
16536 msgid "The number of processors configured."
16537 msgstr ""
16538
16539 #. type: TP
16540 #: build/C/man3/sysconf.3:306
16541 #, no-wrap
16542 msgid " - B<_SC_NPROCESSORS_ONLN>"
16543 msgstr ""
16544
16545 #. type: Plain text
16546 #: build/C/man3/sysconf.3:309
16547 msgid "The number of processors currently online (available)."
16548 msgstr ""
16549
16550 #. type: Plain text
16551 #: build/C/man3/sysconf.3:322
16552 msgid ""
16553 "If I<name> is invalid, -1 is returned, and I<errno> is set to B<EINVAL>.  "
16554 "Otherwise, the value returned is the value of the system resource and "
16555 "I<errno> is not changed.  In the case of options, a positive value is "
16556 "returned if a queried option is available, and -1 if it is not.  In the case "
16557 "of limits, -1 means that there is no definite limit."
16558 msgstr ""
16559
16560 #. type: Plain text
16561 #: build/C/man3/sysconf.3:330
16562 msgid ""
16563 "It is difficult to use B<ARG_MAX> because it is not specified how much of "
16564 "the argument space for B<exec>(3)  is consumed by the user's environment "
16565 "variables."
16566 msgstr ""
16567
16568 #. type: Plain text
16569 #: build/C/man3/sysconf.3:341
16570 msgid ""
16571 "B<bc>(1), B<expr>(1), B<getconf>(1), B<locale>(1), B<fpathconf>(3), "
16572 "B<pathconf>(3), B<posixoptions>(7)"
16573 msgstr ""
16574
16575 #. type: TH
16576 #: build/C/man2/sysctl.2:28
16577 #, no-wrap
16578 msgid "SYSCTL"
16579 msgstr ""
16580
16581 #. type: TH
16582 #: build/C/man2/sysctl.2:28
16583 #, no-wrap
16584 msgid "2008-11-20"
16585 msgstr ""
16586
16587 #. type: Plain text
16588 #: build/C/man2/sysctl.2:31
16589 msgid "sysctl - read/write system parameters"
16590 msgstr ""
16591
16592 #. type: Plain text
16593 #: build/C/man2/sysctl.2:36
16594 #, no-wrap
16595 msgid "B<#include E<lt>linux/sysctl.hE<gt>>\n"
16596 msgstr ""
16597
16598 #. type: Plain text
16599 #: build/C/man2/sysctl.2:38
16600 #, no-wrap
16601 msgid "B<int _sysctl(struct __sysctl_args *>I<args>B<);>\n"
16602 msgstr ""
16603
16604 #. type: Plain text
16605 #: build/C/man2/sysctl.2:42
16606 msgid "B<Do not use this system call!> See NOTES."
16607 msgstr ""
16608
16609 #. type: Plain text
16610 #: build/C/man2/sysctl.2:49
16611 msgid ""
16612 "The B<_sysctl>()  call reads and/or writes kernel parameters.  For example, "
16613 "the hostname, or the maximum number of open files.  The argument has the "
16614 "form"
16615 msgstr ""
16616
16617 #. type: Plain text
16618 #: build/C/man2/sysctl.2:61
16619 #, no-wrap
16620 msgid ""
16621 "struct __sysctl_args {\n"
16622 "    int    *name;    /* integer vector describing variable */\n"
16623 "    int     nlen;    /* length of this vector */\n"
16624 "    void   *oldval;  /* 0 or address where to store old value */\n"
16625 "    size_t *oldlenp; /* available room for old value,\n"
16626 "                        overwritten by actual size of old value */\n"
16627 "    void   *newval;  /* 0 or address of new value */\n"
16628 "    size_t  newlen;  /* size of new value */\n"
16629 "};\n"
16630 msgstr ""
16631
16632 #. type: Plain text
16633 #: build/C/man2/sysctl.2:69
16634 msgid ""
16635 "This call does a search in a tree structure, possibly resembling a directory "
16636 "tree under I</proc/sys>, and if the requested item is found calls some "
16637 "appropriate routine to read or modify the value."
16638 msgstr ""
16639
16640 #. type: Plain text
16641 #: build/C/man2/sysctl.2:76
16642 msgid ""
16643 "Upon successful completion, B<_sysctl>()  returns 0.  Otherwise, a value of "
16644 "-1 is returned and I<errno> is set to indicate the error."
16645 msgstr ""
16646
16647 #. type: Plain text
16648 #: build/C/man2/sysctl.2:83
16649 msgid ""
16650 "The invocation asked for the previous value by setting I<oldval> non-NULL, "
16651 "but allowed zero room in I<oldlenp>."
16652 msgstr ""
16653
16654 #. type: Plain text
16655 #: build/C/man2/sysctl.2:87
16656 msgid "I<name> was not found."
16657 msgstr ""
16658
16659 #. type: Plain text
16660 #: build/C/man2/sysctl.2:95
16661 msgid ""
16662 "No search permission for one of the encountered \"directories\", or no read "
16663 "permission where I<oldval> was nonzero, or no write permission where "
16664 "I<newval> was nonzero."
16665 msgstr ""
16666
16667 #. type: Plain text
16668 #: build/C/man2/sysctl.2:109
16669 msgid ""
16670 "This call is Linux-specific, and should not be used in programs intended to "
16671 "be portable.  A B<sysctl>()  call has been present in Linux since version "
16672 "1.3.57.  It originated in 4.4BSD.  Only Linux has the I</proc/sys> mirror, "
16673 "and the object naming schemes differ between Linux and 4.4BSD, but the "
16674 "declaration of the B<sysctl>()  function is the same in both."
16675 msgstr ""
16676
16677 #.  See http://lwn.net/Articles/247243/
16678 #. type: Plain text
16679 #: build/C/man2/sysctl.2:121
16680 msgid ""
16681 "Or rather... don't call it: use of this system call has long been "
16682 "discouraged, and it is so unloved that B<it is likely to disappear in a "
16683 "future kernel version>.  Remove it from your programs now; use the "
16684 "I</proc/sys> interface instead."
16685 msgstr ""
16686
16687 #. type: Plain text
16688 #: build/C/man2/sysctl.2:124
16689 msgid ""
16690 "The object names vary between kernel versions, making this system call "
16691 "worthless for applications."
16692 msgstr ""
16693
16694 #. type: Plain text
16695 #: build/C/man2/sysctl.2:126
16696 msgid "Not all available objects are properly documented."
16697 msgstr ""
16698
16699 #. type: Plain text
16700 #: build/C/man2/sysctl.2:129
16701 msgid ""
16702 "It is not yet possible to change operating system by writing to "
16703 "I</proc/sys/kernel/ostype>."
16704 msgstr ""
16705
16706 #. type: Plain text
16707 #: build/C/man2/sysctl.2:138
16708 #, no-wrap
16709 msgid ""
16710 "#define _GNU_SOURCE\n"
16711 "#include E<lt>unistd.hE<gt>\n"
16712 "#include E<lt>sys/syscall.hE<gt>\n"
16713 "#include E<lt>string.hE<gt>\n"
16714 "#include E<lt>stdio.hE<gt>\n"
16715 "#include E<lt>stdlib.hE<gt>\n"
16716 "#include E<lt>linux/sysctl.hE<gt>\n"
16717 msgstr ""
16718
16719 #. type: Plain text
16720 #: build/C/man2/sysctl.2:140
16721 #, no-wrap
16722 msgid "int _sysctl(struct __sysctl_args *args );\n"
16723 msgstr ""
16724
16725 #. type: Plain text
16726 #: build/C/man2/sysctl.2:142
16727 #, no-wrap
16728 msgid "#define OSNAMESZ 100\n"
16729 msgstr ""
16730
16731 #. type: Plain text
16732 #: build/C/man2/sysctl.2:150
16733 #, no-wrap
16734 msgid ""
16735 "int\n"
16736 "main(void)\n"
16737 "{\n"
16738 "    struct __sysctl_args args;\n"
16739 "    char osname[OSNAMESZ];\n"
16740 "    size_t osnamelth;\n"
16741 "    int name[] = { CTL_KERN, KERN_OSTYPE };\n"
16742 msgstr ""
16743
16744 #. type: Plain text
16745 #: build/C/man2/sysctl.2:156
16746 #, no-wrap
16747 msgid ""
16748 "    memset(&args, 0, sizeof(struct __sysctl_args));\n"
16749 "    args.name = name;\n"
16750 "    args.nlen = sizeof(name)/sizeof(name[0]);\n"
16751 "    args.oldval = osname;\n"
16752 "    args.oldlenp = &osnamelth;\n"
16753 msgstr ""
16754
16755 #. type: Plain text
16756 #: build/C/man2/sysctl.2:158
16757 #, no-wrap
16758 msgid "    osnamelth = sizeof(osname);\n"
16759 msgstr ""
16760
16761 #. type: Plain text
16762 #: build/C/man2/sysctl.2:166
16763 #, no-wrap
16764 msgid ""
16765 "    if (syscall(SYS__sysctl, &args) == -1) {\n"
16766 "        perror(\"_sysctl\");\n"
16767 "        exit(EXIT_FAILURE);\n"
16768 "    }\n"
16769 "    printf(\"This machine is running %*s\\en\", osnamelth, osname);\n"
16770 "    exit(EXIT_SUCCESS);\n"
16771 "}\n"
16772 msgstr ""
16773
16774 #. type: Plain text
16775 #: build/C/man2/sysctl.2:169 build/C/man2/sysinfo.2:96
16776 msgid "B<proc>(5)"
16777 msgstr ""
16778
16779 #. type: TH
16780 #: build/C/man2/sysinfo.2:14
16781 #, no-wrap
16782 msgid "SYSINFO"
16783 msgstr ""
16784
16785 #. type: TH
16786 #: build/C/man2/sysinfo.2:14
16787 #, no-wrap
16788 msgid "2007-11-15"
16789 msgstr ""
16790
16791 #. type: Plain text
16792 #: build/C/man2/sysinfo.2:17
16793 msgid "sysinfo - returns information on overall system statistics"
16794 msgstr ""
16795
16796 #. type: Plain text
16797 #: build/C/man2/sysinfo.2:21
16798 msgid "B<int sysinfo(struct sysinfo *>I<info>B<);>"
16799 msgstr ""
16800
16801 #. type: Plain text
16802 #: build/C/man2/sysinfo.2:25
16803 msgid ""
16804 "Until Linux 2.3.16, B<sysinfo>()  used to return information in the "
16805 "following structure:"
16806 msgstr ""
16807
16808 #. type: Plain text
16809 #: build/C/man2/sysinfo.2:40
16810 #, no-wrap
16811 msgid ""
16812 "struct sysinfo {\n"
16813 "    long uptime;             /* Seconds since boot */\n"
16814 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
16815 "    unsigned long totalram;  /* Total usable main memory size */\n"
16816 "    unsigned long freeram;   /* Available memory size */\n"
16817 "    unsigned long sharedram; /* Amount of shared memory */\n"
16818 "    unsigned long bufferram; /* Memory used by buffers */\n"
16819 "    unsigned long totalswap; /* Total swap space size */\n"
16820 "    unsigned long freeswap;  /* swap space still available */\n"
16821 "    unsigned short procs;    /* Number of current processes */\n"
16822 "    char _f[22];             /* Pads structure to 64 bytes */\n"
16823 "};\n"
16824 msgstr ""
16825
16826 #. type: Plain text
16827 #: build/C/man2/sysinfo.2:44
16828 msgid "and the sizes were given in bytes."
16829 msgstr ""
16830
16831 #. type: Plain text
16832 #: build/C/man2/sysinfo.2:47
16833 msgid "Since Linux 2.3.23 (i386), 2.3.48 (all architectures) the structure is:"
16834 msgstr ""
16835
16836 #. type: Plain text
16837 #: build/C/man2/sysinfo.2:65
16838 #, no-wrap
16839 msgid ""
16840 "struct sysinfo {\n"
16841 "    long uptime;             /* Seconds since boot */\n"
16842 "    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */\n"
16843 "    unsigned long totalram;  /* Total usable main memory size */\n"
16844 "    unsigned long freeram;   /* Available memory size */\n"
16845 "    unsigned long sharedram; /* Amount of shared memory */\n"
16846 "    unsigned long bufferram; /* Memory used by buffers */\n"
16847 "    unsigned long totalswap; /* Total swap space size */\n"
16848 "    unsigned long freeswap;  /* swap space still available */\n"
16849 "    unsigned short procs;    /* Number of current processes */\n"
16850 "    unsigned long totalhigh; /* Total high memory size */\n"
16851 "    unsigned long freehigh;  /* Available high memory size */\n"
16852 "    unsigned int mem_unit;   /* Memory unit size in bytes */\n"
16853 "    char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding for libc5 */\n"
16854 "};\n"
16855 msgstr ""
16856
16857 #. type: Plain text
16858 #: build/C/man2/sysinfo.2:69
16859 msgid "and the sizes are given as multiples of I<mem_unit> bytes."
16860 msgstr ""
16861
16862 #. type: Plain text
16863 #: build/C/man2/sysinfo.2:74
16864 msgid ""
16865 "B<sysinfo>()  provides a simple way of getting overall system statistics.  "
16866 "This is more portable than reading I</dev/kmem>."
16867 msgstr ""
16868
16869 #. type: Plain text
16870 #: build/C/man2/sysinfo.2:83
16871 msgid "pointer to I<struct\\ sysinfo> is invalid"
16872 msgstr ""
16873
16874 #. type: Plain text
16875 #: build/C/man2/sysinfo.2:94
16876 msgid ""
16877 "The Linux kernel has a B<sysinfo>()  system call since 0.98.pl6.  Linux libc "
16878 "contains a B<sysinfo>()  routine since 5.3.5, and glibc has one since 1.90."
16879 msgstr ""
16880
16881 #. type: TH
16882 #: build/C/man3/tcgetpgrp.3:23
16883 #, no-wrap
16884 msgid "TCGETPGRP"
16885 msgstr ""
16886
16887 #. type: TH
16888 #: build/C/man3/tcgetpgrp.3:23
16889 #, no-wrap
16890 msgid "2003-01-28"
16891 msgstr ""
16892
16893 #. type: Plain text
16894 #: build/C/man3/tcgetpgrp.3:26
16895 msgid "tcgetpgrp, tcsetpgrp - get and set terminal foreground process group"
16896 msgstr ""
16897
16898 #. type: Plain text
16899 #: build/C/man3/tcgetpgrp.3:30
16900 msgid "B<pid_t tcgetpgrp(int >I<fd>B<);>"
16901 msgstr ""
16902
16903 #. type: Plain text
16904 #: build/C/man3/tcgetpgrp.3:32
16905 msgid "B<int tcsetpgrp(int >I<fd>B<, pid_t >I<pgrp>B<);>"
16906 msgstr ""
16907
16908 #.  The process itself may be a background process.
16909 #. type: Plain text
16910 #: build/C/man3/tcgetpgrp.3:40
16911 msgid ""
16912 "The function B<tcgetpgrp>()  returns the process group ID of the foreground "
16913 "process group on the terminal associated to I<fd>, which must be the "
16914 "controlling terminal of the calling process."
16915 msgstr ""
16916
16917 #. type: Plain text
16918 #: build/C/man3/tcgetpgrp.3:50
16919 msgid ""
16920 "The function B<tcsetpgrp>()  makes the process group with process group ID "
16921 "I<pgrp> the foreground process group on the terminal associated to I<fd>, "
16922 "which must be the controlling terminal of the calling process, and still be "
16923 "associated with its session.  Moreover, I<pgrp> must be a (nonempty) process "
16924 "group belonging to the same session as the calling process."
16925 msgstr ""
16926
16927 #. type: Plain text
16928 #: build/C/man3/tcgetpgrp.3:59
16929 msgid ""
16930 "If B<tcsetpgrp>()  is called by a member of a background process group in "
16931 "its session, and the calling process is not blocking or ignoring B<SIGTTOU>, "
16932 "a B<SIGTTOU> signal is sent to all members of this background process group."
16933 msgstr ""
16934
16935 #. type: Plain text
16936 #: build/C/man3/tcgetpgrp.3:74
16937 msgid ""
16938 "When I<fd> refers to the controlling terminal of the calling process, the "
16939 "function B<tcgetpgrp>()  will return the foreground process group ID of that "
16940 "terminal if there is one, and some value larger than 1 that is not presently "
16941 "a process group ID otherwise.  When I<fd> does not refer to the controlling "
16942 "terminal of the calling process, -1 is returned, and I<errno> is set "
16943 "appropriately."
16944 msgstr ""
16945
16946 #. type: Plain text
16947 #: build/C/man3/tcgetpgrp.3:81
16948 msgid ""
16949 "When successful, B<tcsetpgrp>()  returns 0.  Otherwise, it returns -1, and "
16950 "I<errno> is set appropriately."
16951 msgstr ""
16952
16953 #. type: Plain text
16954 #: build/C/man3/tcgetpgrp.3:90
16955 msgid "I<pgrp> has an unsupported value."
16956 msgstr ""
16957
16958 #. type: Plain text
16959 #: build/C/man3/tcgetpgrp.3:99
16960 msgid ""
16961 "The calling process does not have a controlling terminal, or it has one but "
16962 "it is not described by I<fd>, or, for B<tcsetpgrp>(), this controlling "
16963 "terminal is no longer associated with the session of the calling process."
16964 msgstr ""
16965
16966 #. type: Plain text
16967 #: build/C/man3/tcgetpgrp.3:104
16968 msgid ""
16969 "I<pgrp> has a supported value, but is not the process group ID of a process "
16970 "in the same session as the calling process."
16971 msgstr ""
16972
16973 #. type: Plain text
16974 #: build/C/man3/tcgetpgrp.3:112
16975 msgid ""
16976 "These functions are implemented via the B<TIOCGPGRP> and B<TIOCSPGRP> "
16977 "ioctls."
16978 msgstr ""
16979
16980 #. type: SS
16981 #: build/C/man3/tcgetpgrp.3:112 build/C/man2/vfork.2:233
16982 #, no-wrap
16983 msgid "History"
16984 msgstr ""
16985
16986 #. type: Plain text
16987 #: build/C/man3/tcgetpgrp.3:115
16988 msgid "The ioctls appeared in 4.2BSD.  The functions are POSIX inventions."
16989 msgstr ""
16990
16991 #. type: Plain text
16992 #: build/C/man3/tcgetpgrp.3:119
16993 msgid "B<setpgid>(2), B<setsid>(2), B<credentials>(7)"
16994 msgstr ""
16995
16996 #. type: TH
16997 #: build/C/man2/truncate.2:41
16998 #, no-wrap
16999 msgid "TRUNCATE"
17000 msgstr ""
17001
17002 #. type: TH
17003 #: build/C/man2/truncate.2:41
17004 #, no-wrap
17005 msgid "2011-09-08"
17006 msgstr ""
17007
17008 #. type: Plain text
17009 #: build/C/man2/truncate.2:44
17010 msgid "truncate, ftruncate - truncate a file to a specified length"
17011 msgstr ""
17012
17013 #. type: Plain text
17014 #: build/C/man2/truncate.2:50
17015 msgid "B<int truncate(const char *>I<path>B<, off_t >I<length>B<);>"
17016 msgstr ""
17017
17018 #. type: Plain text
17019 #: build/C/man2/truncate.2:52
17020 msgid "B<int ftruncate(int >I<fd>B<, off_t >I<length>B<);>"
17021 msgstr ""
17022
17023 #. type: Plain text
17024 #: build/C/man2/truncate.2:61
17025 msgid "B<truncate>():"
17026 msgstr ""
17027
17028 #. type: Plain text
17029 #: build/C/man2/truncate.2:69
17030 msgid "B<ftruncate>():"
17031 msgstr ""
17032
17033 #. type: Plain text
17034 #: build/C/man2/truncate.2:74
17035 msgid "|| /* Since glibc 2.3.5: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
17036 msgstr ""
17037
17038 #. type: Plain text
17039 #: build/C/man2/truncate.2:89
17040 msgid ""
17041 "The B<truncate>()  and B<ftruncate>()  functions cause the regular file "
17042 "named by I<path> or referenced by I<fd> to be truncated to a size of "
17043 "precisely I<length> bytes."
17044 msgstr ""
17045
17046 #. type: Plain text
17047 #: build/C/man2/truncate.2:93
17048 msgid ""
17049 "If the file previously was larger than this size, the extra data is lost.  "
17050 "If the file previously was shorter, it is extended, and the extended part "
17051 "reads as null bytes (\\(aq\\e0\\(aq)."
17052 msgstr ""
17053
17054 #. type: Plain text
17055 #: build/C/man2/truncate.2:95
17056 msgid "The file offset is not changed."
17057 msgstr ""
17058
17059 #. type: Plain text
17060 #: build/C/man2/truncate.2:102
17061 msgid ""
17062 "If the size changed, then the st_ctime and st_mtime fields (respectively, "
17063 "time of last status change and time of last modification; see B<stat>(2))  "
17064 "for the file are updated, and the set-user-ID and set-group-ID permission "
17065 "bits may be cleared."
17066 msgstr ""
17067
17068 #. type: Plain text
17069 #: build/C/man2/truncate.2:108
17070 msgid ""
17071 "With B<ftruncate>(), the file must be open for writing; with B<truncate>(), "
17072 "the file must be writable."
17073 msgstr ""
17074
17075 #. type: Plain text
17076 #: build/C/man2/truncate.2:116
17077 msgid "For B<truncate>():"
17078 msgstr ""
17079
17080 #. type: Plain text
17081 #: build/C/man2/truncate.2:122
17082 msgid ""
17083 "Search permission is denied for a component of the path prefix, or the named "
17084 "file is not writable by the user.  (See also B<path_resolution>(7).)"
17085 msgstr ""
17086
17087 #. type: Plain text
17088 #: build/C/man2/truncate.2:126
17089 msgid "I<Path> points outside the process's allocated address space."
17090 msgstr ""
17091
17092 #. type: TP
17093 #: build/C/man2/truncate.2:126
17094 #, no-wrap
17095 msgid "B<EFBIG>"
17096 msgstr ""
17097
17098 #. type: Plain text
17099 #: build/C/man2/truncate.2:131
17100 msgid "The argument I<length> is larger than the maximum file size. (XSI)"
17101 msgstr ""
17102
17103 #. type: Plain text
17104 #: build/C/man2/truncate.2:138
17105 msgid ""
17106 "While blocked waiting to complete, the call was interrupted by a signal "
17107 "handler; see B<fcntl>(2)  and B<signal>(7)."
17108 msgstr ""
17109
17110 #. type: Plain text
17111 #: build/C/man2/truncate.2:143
17112 msgid "The argument I<length> is negative or larger than the maximum file size."
17113 msgstr ""
17114
17115 #. type: Plain text
17116 #: build/C/man2/truncate.2:146
17117 msgid "An I/O error occurred updating the inode."
17118 msgstr ""
17119
17120 #. type: Plain text
17121 #: build/C/man2/truncate.2:149
17122 msgid "The named file is a directory."
17123 msgstr ""
17124
17125 #. type: Plain text
17126 #: build/C/man2/truncate.2:152
17127 msgid "Too many symbolic links were encountered in translating the pathname."
17128 msgstr ""
17129
17130 #. type: Plain text
17131 #: build/C/man2/truncate.2:156
17132 msgid ""
17133 "A component of a pathname exceeded 255 characters, or an entire pathname "
17134 "exceeded 1023 characters."
17135 msgstr ""
17136
17137 #. type: Plain text
17138 #: build/C/man2/truncate.2:159
17139 msgid "The named file does not exist."
17140 msgstr ""
17141
17142 #.  This happens for at least MSDOS and VFAT file systems
17143 #.  on kernel 2.6.13
17144 #. type: Plain text
17145 #: build/C/man2/truncate.2:168
17146 msgid ""
17147 "The underlying file system does not support extending a file beyond its "
17148 "current size."
17149 msgstr ""
17150
17151 #. type: Plain text
17152 #: build/C/man2/truncate.2:174
17153 msgid "The file is a pure procedure (shared text) file that is being executed."
17154 msgstr ""
17155
17156 #. type: Plain text
17157 #: build/C/man2/truncate.2:181
17158 msgid ""
17159 "For B<ftruncate>()  the same errors apply, but instead of things that can be "
17160 "wrong with I<path>, we now have things that can be wrong with the file "
17161 "descriptor, I<fd>:"
17162 msgstr ""
17163
17164 #. type: Plain text
17165 #: build/C/man2/truncate.2:185
17166 msgid "I<fd> is not a valid descriptor."
17167 msgstr ""
17168
17169 #. type: TP
17170 #: build/C/man2/truncate.2:185
17171 #, no-wrap
17172 msgid "B<EBADF> or B<EINVAL>"
17173 msgstr ""
17174
17175 #. type: Plain text
17176 #: build/C/man2/truncate.2:189
17177 msgid "I<fd> is not open for writing."
17178 msgstr ""
17179
17180 #. type: Plain text
17181 #: build/C/man2/truncate.2:193
17182 msgid "I<fd> does not reference a regular file."
17183 msgstr ""
17184
17185 #.  POSIX.1-1996 has
17186 #.  .BR ftruncate ().
17187 #.  POSIX.1-2001 also has
17188 #.  .BR truncate (),
17189 #.  as an XSI extension.
17190 #.  .LP
17191 #.  SVr4 documents additional
17192 #.  .BR truncate ()
17193 #.  error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documents for
17194 #.  .BR ftruncate ()
17195 #.  an additional EAGAIN error condition.
17196 #. type: Plain text
17197 #: build/C/man2/truncate.2:206
17198 msgid "4.4BSD, SVr4, POSIX.1-2001 (these calls first appeared in 4.2BSD)."
17199 msgstr ""
17200
17201 #.  At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002
17202 #. type: Plain text
17203 #: build/C/man2/truncate.2:227
17204 msgid ""
17205 "The details in DESCRIPTION are for XSI-compliant systems.  For "
17206 "non-XSI-compliant systems, the POSIX standard allows two behaviors for "
17207 "B<ftruncate>()  when I<length> exceeds the file length (note that "
17208 "B<truncate>()  is not specified at all in such an environment): either "
17209 "returning an error, or extending the file.  Like most UNIX implementations, "
17210 "Linux follows the XSI requirement when dealing with native file systems.  "
17211 "However, some nonnative file systems do not permit B<truncate>()  and "
17212 "B<ftruncate>()  to be used to extend a file beyond its current length: a "
17213 "notable example on Linux is VFAT."
17214 msgstr ""
17215
17216 #. type: Plain text
17217 #: build/C/man2/truncate.2:241
17218 msgid ""
17219 "The original Linux B<truncate>()  and B<ftruncate>()  system calls were not "
17220 "designed to handle large file offsets.  Consequently, Linux 2.4 added "
17221 "B<truncate64>()  and B<ftruncate64>()  system calls that handle large "
17222 "files.  However, these details can be ignored by applications using glibc, "
17223 "whose wrapper functions transparently employ the more recent system calls "
17224 "where they are available."
17225 msgstr ""
17226
17227 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12037
17228 #. type: Plain text
17229 #: build/C/man2/truncate.2:249
17230 msgid ""
17231 "A header file bug in glibc 2.12 meant that the minimum value of "
17232 "B<_POSIX_C_SOURCE> required to expose the declaration of B<ftruncate>()  was "
17233 "200809L instead of 200112L.  This has been fixed in later glibc versions."
17234 msgstr ""
17235
17236 #. type: Plain text
17237 #: build/C/man2/truncate.2:253
17238 msgid "B<open>(2), B<stat>(2), B<path_resolution>(7)"
17239 msgstr ""
17240
17241 #. type: TH
17242 #: build/C/man3/ualarm.3:23
17243 #, no-wrap
17244 msgid "UALARM"
17245 msgstr ""
17246
17247 #. type: Plain text
17248 #: build/C/man3/ualarm.3:26
17249 msgid "ualarm - schedule signal after given number of microseconds"
17250 msgstr ""
17251
17252 #. type: Plain text
17253 #: build/C/man3/ualarm.3:31
17254 #, no-wrap
17255 msgid "B<useconds_t ualarm(useconds_t >I<usecs>B<, useconds_t >I<interval>B<);>\n"
17256 msgstr ""
17257
17258 #. type: Plain text
17259 #: build/C/man3/ualarm.3:39
17260 msgid "B<ualarm>():"
17261 msgstr ""
17262
17263 #. type: Plain text
17264 #: build/C/man3/ualarm.3:68
17265 msgid ""
17266 "The B<ualarm>()  function causes the signal B<SIGALRM> to be sent to the "
17267 "invoking process after (not less than)  I<usecs> microseconds.  The delay "
17268 "may be lengthened slightly by any system activity or by the time spent "
17269 "processing the call or by the granularity of system timers."
17270 msgstr ""
17271
17272 #. type: Plain text
17273 #: build/C/man3/ualarm.3:72
17274 msgid "Unless caught or ignored, the B<SIGALRM> signal will terminate the process."
17275 msgstr ""
17276
17277 #. type: Plain text
17278 #: build/C/man3/ualarm.3:80
17279 msgid ""
17280 "If the I<interval> argument is nonzero, further B<SIGALRM> signals will be "
17281 "sent every I<interval> microseconds after the first."
17282 msgstr ""
17283
17284 #. type: Plain text
17285 #: build/C/man3/ualarm.3:83
17286 msgid ""
17287 "This function returns the number of microseconds remaining for any alarm "
17288 "that was previously set, or 0 if no alarm was pending."
17289 msgstr ""
17290
17291 #. type: Plain text
17292 #: build/C/man3/ualarm.3:87
17293 msgid "Interrupted by a signal."
17294 msgstr ""
17295
17296 #. type: Plain text
17297 #: build/C/man3/ualarm.3:91
17298 msgid ""
17299 "I<usecs> or I<interval> is not smaller than 1000000.  (On systems where that "
17300 "is considered an error.)"
17301 msgstr ""
17302
17303 #. type: Plain text
17304 #: build/C/man3/ualarm.3:99
17305 msgid ""
17306 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 marks B<ualarm>()  as obsolete.  "
17307 "POSIX.1-2008 removes the specification of B<ualarm>().  4.3BSD, SUSv2, and "
17308 "POSIX do not define any errors."
17309 msgstr ""
17310
17311 #. type: Plain text
17312 #: build/C/man3/ualarm.3:112
17313 msgid ""
17314 "The type I<useconds_t> is an unsigned integer type capable of holding "
17315 "integers in the range [0,1000000].  On the original BSD implementation, and "
17316 "in glibc before version 2.1, the arguments to B<ualarm>()  were instead "
17317 "typed as I<unsigned int>.  Programs will be more portable if they never "
17318 "mention I<useconds_t> explicitly."
17319 msgstr ""
17320
17321 #. type: Plain text
17322 #: build/C/man3/ualarm.3:126
17323 msgid ""
17324 "The interaction of this function with other timer functions such as "
17325 "B<alarm>(2), B<sleep>(3), B<nanosleep>(2), B<setitimer>(2), "
17326 "B<timer_create>(2), B<timer_delete>(2), B<timer_getoverrun>(2), "
17327 "B<timer_gettime>(2), B<timer_settime>(2), B<usleep>(3)  is unspecified."
17328 msgstr ""
17329
17330 #. type: Plain text
17331 #: build/C/man3/ualarm.3:134
17332 msgid ""
17333 "This function is obsolete.  Use B<setitimer>(2)  or POSIX interval timers "
17334 "(B<timer_create>(2), etc.)  instead."
17335 msgstr ""
17336
17337 #. type: Plain text
17338 #: build/C/man3/ualarm.3:142
17339 msgid ""
17340 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17341 "B<setitimer>(2), B<usleep>(3), B<time>(7)"
17342 msgstr ""
17343
17344 #. type: TH
17345 #: build/C/man2/umask.2:34
17346 #, no-wrap
17347 msgid "UMASK"
17348 msgstr ""
17349
17350 #. type: TH
17351 #: build/C/man2/umask.2:34
17352 #, no-wrap
17353 msgid "2008-01-09"
17354 msgstr ""
17355
17356 #. type: Plain text
17357 #: build/C/man2/umask.2:37
17358 msgid "umask - set file mode creation mask"
17359 msgstr ""
17360
17361 #. type: Plain text
17362 #: build/C/man2/umask.2:43
17363 msgid "B<mode_t umask(mode_t >I<mask>B<);>"
17364 msgstr ""
17365
17366 #. type: Plain text
17367 #: build/C/man2/umask.2:50
17368 msgid ""
17369 "B<umask>()  sets the calling process's file mode creation mask (umask) to "
17370 "I<mask> & 0777 (i.e., only the file permission bits of I<mask> are used), "
17371 "and returns the previous value of the mask."
17372 msgstr ""
17373
17374 #.  e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
17375 #.  but NOT the System V IPC *get() calls
17376 #. type: Plain text
17377 #: build/C/man2/umask.2:63
17378 msgid ""
17379 "The umask is used by B<open>(2), B<mkdir>(2), and other system calls that "
17380 "create files to modify the permissions placed on newly created files or "
17381 "directories.  Specifically, permissions in the umask are turned off from the "
17382 "I<mode> argument to B<open>(2)  and B<mkdir>(2)."
17383 msgstr ""
17384
17385 #. type: Plain text
17386 #: build/C/man2/umask.2:68
17387 msgid ""
17388 "The constants that should be used to specify I<mask> are described under "
17389 "B<stat>(2)."
17390 msgstr ""
17391
17392 #. type: Plain text
17393 #: build/C/man2/umask.2:77
17394 msgid ""
17395 "The typical default value for the process umask is I<S_IWGRP\\ |\\ S_IWOTH> "
17396 "(octal 022).  In the usual case where the I<mode> argument to B<open>(2)  is "
17397 "specified as:"
17398 msgstr ""
17399
17400 #. type: Plain text
17401 #: build/C/man2/umask.2:80
17402 #, no-wrap
17403 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH\n"
17404 msgstr ""
17405
17406 #. type: Plain text
17407 #: build/C/man2/umask.2:84
17408 msgid ""
17409 "(octal 0666) when creating a new file, the permissions on the resulting file "
17410 "will be:"
17411 msgstr ""
17412
17413 #. type: Plain text
17414 #: build/C/man2/umask.2:87
17415 #, no-wrap
17416 msgid "    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH\n"
17417 msgstr ""
17418
17419 #. type: Plain text
17420 #: build/C/man2/umask.2:90
17421 msgid "(because 0666 & ~022 = 0644; i.e., rw-r--r--)."
17422 msgstr ""
17423
17424 #. type: Plain text
17425 #: build/C/man2/umask.2:93
17426 msgid ""
17427 "This system call always succeeds and the previous value of the mask is "
17428 "returned."
17429 msgstr ""
17430
17431 #. type: Plain text
17432 #: build/C/man2/umask.2:101
17433 msgid ""
17434 "A child process created via B<fork>(2)  inherits its parent's umask.  The "
17435 "umask is left unchanged by B<execve>(2)."
17436 msgstr ""
17437
17438 #. type: Plain text
17439 #: build/C/man2/umask.2:116
17440 msgid ""
17441 "The umask setting also affects the permissions assigned to POSIX IPC objects "
17442 "(B<mq_open>(3), B<sem_open>(3), B<shm_open>(3)), FIFOs (B<mkfifo>(3)), and "
17443 "UNIX domain sockets (B<unix>(7))  created by the process.  The umask does "
17444 "not affect the permissions assigned to System V IPC objects created by the "
17445 "process (using B<msgget>(2), B<semget>(2), B<shmget>(2))."
17446 msgstr ""
17447
17448 #.  FIXME . eventually: .BR acl (5)
17449 #. type: Plain text
17450 #: build/C/man2/umask.2:122
17451 msgid "B<chmod>(2), B<mkdir>(2), B<open>(2), B<stat>(2)"
17452 msgstr ""
17453
17454 #. type: TH
17455 #: build/C/man2/uname.2:25
17456 #, no-wrap
17457 msgid "UNAME"
17458 msgstr ""
17459
17460 #. type: Plain text
17461 #: build/C/man2/uname.2:28
17462 msgid "uname - get name and information about current kernel"
17463 msgstr ""
17464
17465 #. type: Plain text
17466 #: build/C/man2/uname.2:30
17467 msgid "B<#include E<lt>sys/utsname.hE<gt>>"
17468 msgstr ""
17469
17470 #. type: Plain text
17471 #: build/C/man2/uname.2:32
17472 msgid "B<int uname(struct utsname *>I<buf>B<);>"
17473 msgstr ""
17474
17475 #. type: Plain text
17476 #: build/C/man2/uname.2:40
17477 msgid ""
17478 "B<uname>()  returns system information in the structure pointed to by "
17479 "I<buf>.  The I<utsname> struct is defined in I<E<lt>sys/utsname.hE<gt>>:"
17480 msgstr ""
17481
17482 #. type: Plain text
17483 #: build/C/man2/uname.2:54
17484 #, no-wrap
17485 msgid ""
17486 "struct utsname {\n"
17487 "    char sysname[];    /* Operating system name (e.g., \"Linux\") */\n"
17488 "    char nodename[];   /* Name within \"some implementation-defined\n"
17489 "                          network\" */\n"
17490 "    char release[];    /* OS release (e.g., \"2.6.28\") */\n"
17491 "    char version[];    /* OS version */\n"
17492 "    char machine[];    /* Hardware identifier */\n"
17493 "#ifdef _GNU_SOURCE\n"
17494 "    char domainname[]; /* NIS or YP domain name */\n"
17495 "#endif\n"
17496 "};\n"
17497 msgstr ""
17498
17499 #. type: Plain text
17500 #: build/C/man2/uname.2:61
17501 msgid ""
17502 "The length of the arrays in a I<struct utsname> is unspecified (see NOTES); "
17503 "the fields are terminated by a null byte (\\(aq\\e0\\(aq)."
17504 msgstr ""
17505
17506 #. type: Plain text
17507 #: build/C/man2/uname.2:71
17508 msgid "I<buf> is not valid."
17509 msgstr ""
17510
17511 #. type: Plain text
17512 #: build/C/man2/uname.2:76
17513 msgid "SVr4, POSIX.1-2001.  There is no B<uname>()  call in 4.3BSD."
17514 msgstr ""
17515
17516 #. type: Plain text
17517 #: build/C/man2/uname.2:80
17518 msgid "The I<domainname> member (the NIS or YP domain name) is a GNU extension."
17519 msgstr ""
17520
17521 #. type: Plain text
17522 #: build/C/man2/uname.2:92
17523 msgid ""
17524 "This is a system call, and the operating system presumably knows its name, "
17525 "release and version.  It also knows what hardware it runs on.  So, four of "
17526 "the fields of the struct are meaningful.  On the other hand, the field "
17527 "I<nodename> is meaningless: it gives the name of the present machine in some "
17528 "undefined network, but typically machines are in more than one network and "
17529 "have several names.  Moreover, the kernel has no way of knowing about such "
17530 "things, so it has to be told what to answer here.  The same holds for the "
17531 "additional I<domainname> field."
17532 msgstr ""
17533
17534 #. type: Plain text
17535 #: build/C/man2/uname.2:106
17536 msgid ""
17537 "To this end Linux uses the system calls B<sethostname>(2)  and "
17538 "B<setdomainname>(2).  Note that there is no standard that says that the "
17539 "hostname set by B<sethostname>(2)  is the same string as the I<nodename> "
17540 "field of the struct returned by B<uname>()  (indeed, some systems allow a "
17541 "256-byte hostname and an 8-byte nodename), but this is true on Linux.  The "
17542 "same holds for B<setdomainname>(2)  and the I<domainname> field."
17543 msgstr ""
17544
17545 #. type: Plain text
17546 #: build/C/man2/uname.2:121
17547 msgid ""
17548 "The length of the fields in the struct varies.  Some operating systems or "
17549 "libraries use a hardcoded 9 or 33 or 65 or 257.  Other systems use "
17550 "B<SYS_NMLN> or B<_SYS_NMLN> or B<UTSLEN> or B<_UTSNAME_LENGTH>.  Clearly, it "
17551 "is a bad idea to use any of these constants; just use sizeof(...).  Often "
17552 "257 is chosen in order to have room for an internet hostname."
17553 msgstr ""
17554
17555 #. type: Plain text
17556 #: build/C/man2/uname.2:128
17557 msgid ""
17558 "Part of the utsname information is also accessible via "
17559 "I</proc/sys/kernel/>{I<ostype>, I<hostname>, I<osrelease>, I<version>, "
17560 "I<domainname>}."
17561 msgstr ""
17562
17563 #. type: SS
17564 #: build/C/man2/uname.2:128
17565 #, no-wrap
17566 msgid "Underlying kernel interface"
17567 msgstr ""
17568
17569 #.  That was back before Linux 1.0
17570 #.  That was also back before Linux 1.0
17571 #. type: Plain text
17572 #: build/C/man2/uname.2:155
17573 msgid ""
17574 "Over time, increases in the size of the I<utsname> structure have led to "
17575 "three successive versions of B<uname>(): I<sys_olduname>()  (slot "
17576 "I<__NR_oldolduname>), I<sys_uname>()  (slot I<__NR_olduname>), and "
17577 "I<sys_newuname>()  (slot I<__NR_uname)>.  The first one used length 9 for "
17578 "all fields; the second used 65; the third also uses 65 but adds the "
17579 "I<domainname> field.  The glibc B<uname>()  wrapper function hides these "
17580 "details from applications, invoking the most recent version of the system "
17581 "call provided by the kernel."
17582 msgstr ""
17583
17584 #. type: Plain text
17585 #: build/C/man2/uname.2:159
17586 msgid "B<uname>(1), B<getdomainname>(2), B<gethostname>(2)"
17587 msgstr ""
17588
17589 #. type: TH
17590 #: build/C/man2/uselib.2:31
17591 #, no-wrap
17592 msgid "USELIB"
17593 msgstr ""
17594
17595 #. type: TH
17596 #: build/C/man2/uselib.2:31
17597 #, no-wrap
17598 msgid "2005-01-09"
17599 msgstr ""
17600
17601 #. type: Plain text
17602 #: build/C/man2/uselib.2:34
17603 msgid "uselib - load shared library"
17604 msgstr ""
17605
17606 #. type: Plain text
17607 #: build/C/man2/uselib.2:38
17608 msgid "B<int uselib(const char *>I<library>B<);>"
17609 msgstr ""
17610
17611 #. type: Plain text
17612 #: build/C/man2/uselib.2:48
17613 msgid ""
17614 "The system call B<uselib>()  serves to load a shared library to be used by "
17615 "the calling process.  It is given a pathname.  The address where to load is "
17616 "found in the library itself.  The library can have any recognized binary "
17617 "format."
17618 msgstr ""
17619
17620 #. type: Plain text
17621 #: build/C/man2/uselib.2:59
17622 msgid ""
17623 "In addition to all of the error codes returned by B<open>(2)  and "
17624 "B<mmap>(2), the following may also be returned:"
17625 msgstr ""
17626
17627 #. type: Plain text
17628 #: build/C/man2/uselib.2:67
17629 msgid ""
17630 "The library specified by I<library> does not have read or execute "
17631 "permission, or the caller does not have search permission for one of the "
17632 "directories in the path prefix.  (See also B<path_resolution>(7).)"
17633 msgstr ""
17634
17635 #. type: Plain text
17636 #: build/C/man2/uselib.2:76
17637 msgid ""
17638 "The file specified by I<library> is not an executable of known type, e.g., "
17639 "does not have the correct magic numbers."
17640 msgstr ""
17641
17642 #. type: Plain text
17643 #: build/C/man2/uselib.2:80
17644 msgid ""
17645 "B<uselib>()  is Linux-specific, and should not be used in programs intended "
17646 "to be portable."
17647 msgstr ""
17648
17649 #. type: Plain text
17650 #: build/C/man2/uselib.2:85
17651 msgid ""
17652 "B<uselib>()  was used by early libc startup code to load the shared "
17653 "libraries with names found in an array of names in the binary."
17654 msgstr ""
17655
17656 #.  libc 4.3.1f - changelog 1993-03-02
17657 #.  libc 4.3.4 - changelog 1993-04-21
17658 #. type: Plain text
17659 #: build/C/man2/uselib.2:95
17660 msgid ""
17661 "Since libc 4.3.2, startup code tries to prefix these names with "
17662 "\"/usr/lib\", \"/lib\" and \"\" before giving up.  In libc 4.3.4 and later "
17663 "these names are looked for in the directories found in B<LD_LIBRARY_PATH>, "
17664 "and if not found there, prefixes \"/usr/lib\", \"/lib\" and \"/\" are tried."
17665 msgstr ""
17666
17667 #. type: Plain text
17668 #: build/C/man2/uselib.2:100
17669 msgid ""
17670 "From libc 4.4.4 on only the library \"/lib/ld.so\" is loaded, so that this "
17671 "dynamic library can load the remaining libraries needed (again using this "
17672 "call).  This is also the state of affairs in libc5."
17673 msgstr ""
17674
17675 #. type: Plain text
17676 #: build/C/man2/uselib.2:102
17677 msgid "glibc2 does not use this call."
17678 msgstr ""
17679
17680 #. type: Plain text
17681 #: build/C/man2/uselib.2:112
17682 msgid ""
17683 "B<ar>(1), B<gcc>(1), B<ld>(1), B<ldd>(1), B<mmap>(2), B<open>(2), "
17684 "B<dlopen>(3), B<capabilities>(7), B<ld.so>(8)"
17685 msgstr ""
17686
17687 #. type: TH
17688 #: build/C/man3/usleep.3:31
17689 #, no-wrap
17690 msgid "USLEEP"
17691 msgstr ""
17692
17693 #. type: TH
17694 #: build/C/man3/usleep.3:31
17695 #, no-wrap
17696 msgid "2010-12-03"
17697 msgstr ""
17698
17699 #. type: Plain text
17700 #: build/C/man3/usleep.3:34
17701 msgid "usleep - suspend execution for microsecond intervals"
17702 msgstr ""
17703
17704 #. type: Plain text
17705 #: build/C/man3/usleep.3:39
17706 #, no-wrap
17707 msgid "B<int usleep(useconds_t >I<usec>B<);>\n"
17708 msgstr ""
17709
17710 #. type: Plain text
17711 #: build/C/man3/usleep.3:47
17712 msgid "B<usleep>():"
17713 msgstr ""
17714
17715 #. type: Plain text
17716 #: build/C/man3/usleep.3:73
17717 msgid ""
17718 "The B<usleep>()  function suspends execution of the calling thread for (at "
17719 "least) I<usec> microseconds.  The sleep may be lengthened slightly by any "
17720 "system activity or by the time spent processing the call or by the "
17721 "granularity of system timers."
17722 msgstr ""
17723
17724 #. type: Plain text
17725 #: build/C/man3/usleep.3:75
17726 msgid "0 on success, -1 on error."
17727 msgstr ""
17728
17729 #. type: Plain text
17730 #: build/C/man3/usleep.3:80
17731 msgid "Interrupted by a signal; see B<signal>(7)."
17732 msgstr ""
17733
17734 #. type: Plain text
17735 #: build/C/man3/usleep.3:84
17736 msgid ""
17737 "I<usec> is not smaller than 1000000.  (On systems where that is considered "
17738 "an error.)"
17739 msgstr ""
17740
17741 #. type: Plain text
17742 #: build/C/man3/usleep.3:91
17743 msgid ""
17744 "4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares this function obsolete; use "
17745 "B<nanosleep>(2)  instead.  POSIX.1-2008 removes the specification of "
17746 "B<usleep>()."
17747 msgstr ""
17748
17749 #. type: Plain text
17750 #: build/C/man3/usleep.3:98
17751 msgid ""
17752 "On the original BSD implementation, and in glibc before version 2.2.2, the "
17753 "return type of this function is I<void>.  The POSIX version returns I<int>, "
17754 "and this is also the prototype used since glibc 2.2.2."
17755 msgstr ""
17756
17757 #. type: Plain text
17758 #: build/C/man3/usleep.3:102
17759 msgid "Only the B<EINVAL> error return is documented by SUSv2 and POSIX.1-2001."
17760 msgstr ""
17761
17762 #. type: Plain text
17763 #: build/C/man3/usleep.3:110
17764 msgid ""
17765 "The type I<useconds_t> is an unsigned integer type capable of holding "
17766 "integers in the range [0,1000000].  Programs will be more portable if they "
17767 "never mention this type explicitly.  Use"
17768 msgstr ""
17769
17770 #. type: Plain text
17771 #: build/C/man3/usleep.3:118
17772 #, no-wrap
17773 msgid ""
17774 "#include E<lt>unistd.hE<gt>\n"
17775 "\\&...\n"
17776 "    unsigned int usecs;\n"
17777 "\\&...\n"
17778 "    usleep(usecs);\n"
17779 msgstr ""
17780
17781 #. type: Plain text
17782 #: build/C/man3/usleep.3:135
17783 msgid ""
17784 "The interaction of this function with the B<SIGALRM> signal, and with other "
17785 "timer functions such as B<alarm>(2), B<sleep>(3), B<nanosleep>(2), "
17786 "B<setitimer>(2), B<timer_create>(2), B<timer_delete>(2), "
17787 "B<timer_getoverrun>(2), B<timer_gettime>(2), B<timer_settime>(2), "
17788 "B<ualarm>(3)  is unspecified."
17789 msgstr ""
17790
17791 #. type: Plain text
17792 #: build/C/man3/usleep.3:144
17793 msgid ""
17794 "B<alarm>(2), B<getitimer>(2), B<nanosleep>(2), B<select>(2), "
17795 "B<setitimer>(2), B<sleep>(3), B<ualarm>(3), B<time>(7)"
17796 msgstr ""
17797
17798 #. type: TH
17799 #: build/C/man2/vfork.2:26
17800 #, no-wrap
17801 msgid "VFORK"
17802 msgstr ""
17803
17804 #. type: TH
17805 #: build/C/man2/vfork.2:26
17806 #, no-wrap
17807 msgid "2012-02-08"
17808 msgstr ""
17809
17810 #. type: Plain text
17811 #: build/C/man2/vfork.2:29
17812 msgid "vfork - create a child process and block parent"
17813 msgstr ""
17814
17815 #. type: Plain text
17816 #: build/C/man2/vfork.2:35
17817 msgid "B<pid_t vfork(void);>"
17818 msgstr ""
17819
17820 #. type: Plain text
17821 #: build/C/man2/vfork.2:42
17822 msgid "B<vfork>():"
17823 msgstr ""
17824
17825 #. type: SS
17826 #: build/C/man2/vfork.2:61
17827 #, no-wrap
17828 msgid "Standard Description"
17829 msgstr ""
17830
17831 #. type: Plain text
17832 #: build/C/man2/vfork.2:80
17833 msgid ""
17834 "(From POSIX.1)  The B<vfork>()  function has the same effect as B<fork>(2), "
17835 "except that the behavior is undefined if the process created by B<vfork>()  "
17836 "either modifies any data other than a variable of type I<pid_t> used to "
17837 "store the return value from B<vfork>(), or returns from the function in "
17838 "which B<vfork>()  was called, or calls any other function before "
17839 "successfully calling B<_exit>(2)  or one of the B<exec>(3)  family of "
17840 "functions."
17841 msgstr ""
17842
17843 #. type: SS
17844 #: build/C/man2/vfork.2:80
17845 #, no-wrap
17846 msgid "Linux Description"
17847 msgstr ""
17848
17849 #. type: Plain text
17850 #: build/C/man2/vfork.2:87
17851 msgid ""
17852 "B<vfork>(), just like B<fork>(2), creates a child process of the calling "
17853 "process.  For details and return value and errors, see B<fork>(2)."
17854 msgstr ""
17855
17856 #. type: Plain text
17857 #: build/C/man2/vfork.2:96
17858 msgid ""
17859 "B<vfork>()  is a special case of B<clone>(2).  It is used to create new "
17860 "processes without copying the page tables of the parent process.  It may be "
17861 "useful in performance-sensitive applications where a child is created which "
17862 "then immediately issues an B<execve>(2)."
17863 msgstr ""
17864
17865 #. type: Plain text
17866 #: build/C/man2/vfork.2:113
17867 msgid ""
17868 "B<vfork>()  differs from B<fork>(2)  in that the calling thread is suspended "
17869 "until the child terminates (either normally, by calling B<_exit>(2), or "
17870 "abnormally, after delivery of a fatal signal), or it makes a call to "
17871 "B<execve>(2).  Until that point, the child shares all memory with its "
17872 "parent, including the stack.  The child must not return from the current "
17873 "function or call B<exit>(3), but may call B<_exit>(2)."
17874 msgstr ""
17875
17876 #. type: Plain text
17877 #: build/C/man2/vfork.2:124
17878 msgid ""
17879 "As with B<fork>(2), the child process created by B<vfork>()  inherits copies "
17880 "of various of the caller's process attributes (e.g., file descriptors, "
17881 "signal dispositions, and current working directory); the B<vfork>()  call "
17882 "differs only in the treatment of the virtual address space, as described "
17883 "above."
17884 msgstr ""
17885
17886 #. type: Plain text
17887 #: build/C/man2/vfork.2:130
17888 msgid ""
17889 "Signals sent to the parent arrive after the child releases the parent's "
17890 "memory (i.e., after the child terminates or calls B<execve>(2))."
17891 msgstr ""
17892
17893 #. type: SS
17894 #: build/C/man2/vfork.2:130
17895 #, no-wrap
17896 msgid "Historic Description"
17897 msgstr ""
17898
17899 #. type: Plain text
17900 #: build/C/man2/vfork.2:157
17901 msgid ""
17902 "Under Linux, B<fork>(2)  is implemented using copy-on-write pages, so the "
17903 "only penalty incurred by B<fork>(2)  is the time and memory required to "
17904 "duplicate the parent's page tables, and to create a unique task structure "
17905 "for the child.  However, in the bad old days a B<fork>(2)  would require "
17906 "making a complete copy of the caller's data space, often needlessly, since "
17907 "usually immediately afterward an B<exec>(3)  is done.  Thus, for greater "
17908 "efficiency, BSD introduced the B<vfork>()  system call, which did not fully "
17909 "copy the address space of the parent process, but borrowed the parent's "
17910 "memory and thread of control until a call to B<execve>(2)  or an exit "
17911 "occurred.  The parent process was suspended while the child was using its "
17912 "resources.  The use of B<vfork>()  was tricky: for example, not modifying "
17913 "data in the parent process depended on knowing which variables were held in "
17914 "a register."
17915 msgstr ""
17916
17917 #. type: Plain text
17918 #: build/C/man2/vfork.2:161
17919 msgid ""
17920 "4.3BSD; POSIX.1-2001 (but marked OBSOLETE).  POSIX.1-2008 removes the "
17921 "specification of B<vfork>()."
17922 msgstr ""
17923
17924 #.  In AIXv3.1 vfork is equivalent to fork.
17925 #. type: Plain text
17926 #: build/C/man2/vfork.2:172
17927 msgid ""
17928 "The requirements put on B<vfork>()  by the standards are weaker than those "
17929 "put on B<fork>(2), so an implementation where the two are synonymous is "
17930 "compliant.  In particular, the programmer cannot rely on the parent "
17931 "remaining blocked until the child either terminates or calls B<execve>(2), "
17932 "and cannot rely on any specific behavior with respect to shared memory."
17933 msgstr ""
17934
17935 #. type: Plain text
17936 #: build/C/man2/vfork.2:191
17937 msgid ""
17938 "Some consider the semantics of B<vfork>()  to be an architectural blemish, "
17939 "and the 4.2BSD man page stated: \"This system call will be eliminated when "
17940 "proper system sharing mechanisms are implemented.  Users should not depend "
17941 "on the memory sharing semantics of B<vfork>()  as it will, in that case, be "
17942 "made synonymous to B<fork>(2).\" However, even though modern memory "
17943 "management hardware has decreased the performance difference between "
17944 "B<fork>(2)  and B<vfork>(), there are various reasons why Linux and other "
17945 "systems have retained B<vfork>():"
17946 msgstr ""
17947
17948 #. type: Plain text
17949 #: build/C/man2/vfork.2:195
17950 msgid ""
17951 "Some performance-critical applications require the small performance "
17952 "advantage conferred by B<vfork>()."
17953 msgstr ""
17954
17955 #.  http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
17956 #.  http://developers.sun.com/solaris/articles/subprocess/subprocess.html
17957 #.  http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
17958 #. type: Plain text
17959 #: build/C/man2/vfork.2:211
17960 msgid ""
17961 "B<vfork>()  can be implemented on systems that lack a memory-management unit "
17962 "(MMU), but B<fork>(2)  can't be implemented on such systems.  (POSIX.1-2008 "
17963 "removed B<vfork>()  from the standard; the POSIX rationale for the "
17964 "B<posix_spawn>(3)  function notes that that function, which provides "
17965 "functionality equivalent to B<fork>(2)+B<exec>(3), is designed to be "
17966 "implementable on systems that lack an MMU.)"
17967 msgstr ""
17968
17969 #. type: Plain text
17970 #: build/C/man2/vfork.2:222
17971 msgid ""
17972 "Fork handlers established using B<pthread_atfork>(3)  are not called when a "
17973 "multithreaded program employing the NPTL threading library calls "
17974 "B<vfork>().  Fork handlers are called in this case in a program using the "
17975 "LinuxThreads threading library.  (See B<pthreads>(7)  for a description of "
17976 "Linux threading libraries.)"
17977 msgstr ""
17978
17979 #. type: Plain text
17980 #: build/C/man2/vfork.2:230
17981 msgid ""
17982 "A call to B<vfork>()  is equivalent to calling B<clone>(2)  with I<flags> "
17983 "specified as:"
17984 msgstr ""
17985
17986 #. type: Plain text
17987 #: build/C/man2/vfork.2:232
17988 #, no-wrap
17989 msgid "     CLONE_VM | CLONE_VFORK | SIGCHLD\n"
17990 msgstr ""
17991
17992 #.  In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still
17993 #.  present, but definitely on its way out'.
17994 #. type: Plain text
17995 #: build/C/man2/vfork.2:249
17996 msgid ""
17997 "The B<vfork>()  system call appeared in 3.0BSD.  In 4.4BSD it was made "
17998 "synonymous to B<fork>(2)  but NetBSD introduced it again, "
17999 "cf. http://www.netbsd.org/Documentation/kernel/vfork.html .  In Linux, it "
18000 "has been equivalent to B<fork>(2)  until 2.2.0-pre6 or so.  Since 2.2.0-pre9 "
18001 "(on i386, somewhat later on other architectures) it is an independent system "
18002 "call.  Support was added in glibc 2.0.112."
18003 msgstr ""
18004
18005 #
18006 #.  As far as I can tell, the following is not true in 2.6.19:
18007 #.  Currently (Linux 2.3.25),
18008 #.  .BR strace (1)
18009 #.  cannot follow
18010 #.  .BR vfork ()
18011 #.  and requires a kernel patch.
18012 #. type: Plain text
18013 #: build/C/man2/vfork.2:270
18014 msgid ""
18015 "Details of the signal handling are obscure and differ between systems.  The "
18016 "BSD man page states: \"To avoid a possible deadlock situation, processes "
18017 "that are children in the middle of a B<vfork>()  are never sent B<SIGTTOU> "
18018 "or B<SIGTTIN> signals; rather, output or I<ioctl>s are allowed and input "
18019 "attempts result in an end-of-file indication.\""
18020 msgstr ""
18021
18022 #. type: Plain text
18023 #: build/C/man2/vfork.2:276
18024 msgid "B<clone>(2), B<execve>(2), B<fork>(2), B<unshare>(2), B<wait>(2)"
18025 msgstr ""
18026
18027 #. type: TH
18028 #: build/C/man2/vhangup.2:27
18029 #, no-wrap
18030 msgid "VHANGUP"
18031 msgstr ""
18032
18033 #. type: Plain text
18034 #: build/C/man2/vhangup.2:30
18035 msgid "vhangup - virtually hangup the current tty"
18036 msgstr ""
18037
18038 #. type: Plain text
18039 #: build/C/man2/vhangup.2:34
18040 msgid "B<int vhangup(void);>"
18041 msgstr ""
18042
18043 #. type: Plain text
18044 #: build/C/man2/vhangup.2:43
18045 msgid "B<vhangup>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
18046 msgstr ""
18047
18048 #. type: Plain text
18049 #: build/C/man2/vhangup.2:49
18050 msgid ""
18051 "B<vhangup>()  simulates a hangup on the current terminal.  This call "
18052 "arranges for other users to have a ``clean'' tty at login time."
18053 msgstr ""
18054
18055 #. type: Plain text
18056 #: build/C/man2/vhangup.2:62
18057 msgid ""
18058 "The calling process has insufficient privilege to call B<vhangup>(); the "
18059 "B<CAP_SYS_TTY_CONFIG> capability is required."
18060 msgstr ""
18061
18062 #. type: Plain text
18063 #: build/C/man2/vhangup.2:65
18064 msgid ""
18065 "This call is Linux-specific, and should not be used in programs intended to "
18066 "be portable."
18067 msgstr ""
18068
18069 #. type: Plain text
18070 #: build/C/man2/vhangup.2:68
18071 msgid "B<capabilities>(7), B<init>(8)"
18072 msgstr ""